:root{color-scheme:light;--page:#f5f5f7;--white:#fff;--ink:#1d1d1f;--secondary:#6e6e73;--blue:#0071e3;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--page);color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;min-width:320px;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
::selection{background:#b8dcff;color:var(--ink)}
.page{width:min(1120px,calc(100% - 64px));margin:0 auto;padding:66px 0 70px}
.section-intro{margin:0 0 37px}.section-intro h1{font-size:clamp(52px,6.7vw,88px);font-weight:700;line-height:1.04;letter-spacing:-.055em;margin:0}
.gallery-hint{display:none}
.works-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.work-card{display:flex;flex-direction:column;min-width:0;padding:12px 12px 19px;background:var(--white);border:1px solid #ededf0;border-radius:23px;box-shadow:0 12px 42px #1d1d1f06;transition:transform .2s,box-shadow .2s}
.work-card:hover{transform:translateY(-3px);box-shadow:0 17px 48px #1d1d1f12}
.work-image{width:100%;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border:1px solid #f0f0f2;border-radius:15px;background:#fff}
.work-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .3s}
.file-badge{position:absolute;left:12px;bottom:12px;padding:7px 10px;border:1px solid #ffffffb8;border-radius:8px;background:#fffffff0;box-shadow:0 2px 12px #1d1d1f1a;color:#1d1d1f;font-size:11px;font-weight:750;letter-spacing:.04em}
.work-card:hover .work-image img{transform:scale(1.025)}
.work-details{display:flex;flex-direction:column;flex:1;min-width:0;padding:18px 5px 2px}
.work-type{color:var(--blue);font-size:11px;font-weight:650;line-height:1.3;margin:0 0 9px}
.work-details h2{font-size:21px;font-weight:700;line-height:1.17;letter-spacing:-.027em;margin:0 0 17px;overflow-wrap:anywhere}
.work-action{align-self:flex-start;margin-top:auto;color:var(--blue);font-size:13px;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:3px}
.documents{margin-top:44px}
.documents>h2{font-size:clamp(28px,3vw,36px);font-weight:700;line-height:1.15;letter-spacing:-.035em;margin:0 0 19px}
.documents-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.document-card{display:flex;align-items:stretch;min-width:0;padding:12px;gap:18px;background:var(--white);border:1px solid #ededf0;border-radius:23px;box-shadow:0 12px 42px #1d1d1f06;transition:transform .2s,box-shadow .2s}
.document-card:hover{transform:translateY(-3px);box-shadow:0 17px 48px #1d1d1f12}
.document-cover{position:relative;flex:0 0 132px;height:132px;overflow:hidden;border-radius:14px;background:var(--page)}
.document-cover img{display:block;width:100%;height:100%;object-fit:cover}
.document-details{display:flex;flex-direction:column;min-width:0;padding:7px 4px 5px 0}
.document-details h3{font-size:22px;font-weight:700;line-height:1.18;letter-spacing:-.025em;margin:0 0 14px;overflow-wrap:anywhere}
.contact{display:grid;grid-template-columns:1fr .95fr;align-items:center;gap:42px;margin-top:24px;padding:45px 50px;background:var(--white);border:1px solid #ededf0;border-radius:32px;box-shadow:0 12px 42px #1d1d1f05}
.eyebrow{font-size:13px;font-weight:650;color:var(--blue);margin:0 0 19px}
.contact h2{font-size:clamp(37px,4.5vw,57px);font-weight:700;letter-spacing:-.04em;line-height:1.09;margin:0 0 17px}
.contact-copy>p:last-child{font-size:17px;line-height:1.4;color:var(--secondary);margin:0}
.contact-buttons{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.contact-button{display:flex;align-items:center;justify-content:center;text-align:center;gap:11px;min-height:67px;padding:11px 15px;border:1px solid transparent;border-radius:18px;background:var(--page);font-size:16px;font-weight:600;letter-spacing:-.02em;transition:background .2s,transform .2s}
.contact-button:hover{background:#e9f3ff;transform:translateY(-2px)}
.contact-button>span{white-space:nowrap}
.messenger{width:34px;height:34px;flex:0 0 34px}
.contact-button.phone{grid-column:1/-1}
.phone svg{width:27px;height:27px;flex:0 0 27px;color:#2874c8;margin:0 3px}
@media(max-width:1040px){.works-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.contact{grid-template-columns:1fr;gap:29px}.contact h2 br{display:none}}
@media(max-width:700px){.documents-grid{grid-template-columns:1fr}}
@media(max-width:800px){.page{width:calc(100% - 40px);padding:48px 0 50px}.gallery-hint{display:block;color:var(--secondary);font-size:13px;margin:-14px 0 15px}.works-grid{display:flex;overflow-x:auto;gap:14px;padding:0 0 16px;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-color:#bfc0c7 transparent;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.work-card{flex:0 0 clamp(240px,65vw,300px);scroll-snap-align:start}}
@media(max-width:560px){.page{width:calc(100% - 32px);padding:36px 0 32px}.section-intro{margin-bottom:27px}.section-intro h1{font-size:clamp(42px,11vw,60px);letter-spacing:-.035em}.gallery-hint{margin:-11px 0 14px}.work-card{flex-basis:min(78vw,300px);border-radius:20px}.work-image{border-radius:14px}.work-details h2{font-size:20px}.contact{margin-top:16px;padding:27px 22px 23px;border-radius:24px;gap:23px}.eyebrow{margin-bottom:14px}.contact h2{font-size:clamp(34px,9.5vw,39px);line-height:1.12;letter-spacing:-.03em;margin-bottom:11px}.contact-copy>p:last-child{font-size:15px}.contact-buttons{gap:9px}.contact-button{min-height:60px;font-size:14px;padding:9px 10px;gap:8px;border-radius:14px}.messenger{width:28px;height:28px;flex-basis:28px}.phone svg{width:23px;height:23px;flex-basis:23px;margin:0 2px}}
@media(max-width:480px){.contact-buttons{grid-template-columns:1fr}.contact-button.phone{grid-column:auto}}
@media(max-width:560px){.documents{margin-top:24px}.documents>h2{font-size:29px;margin-bottom:14px}.documents-grid{gap:10px}.document-card{gap:13px;padding:10px;border-radius:19px}.document-cover{flex-basis:108px;height:108px;border-radius:12px}.document-details{padding:3px 0}.document-details h3{font-size:19px;margin-bottom:9px}.document-details .work-type{font-size:10px;margin-bottom:5px}.document-details .work-action{font-size:12px}.document-cover .file-badge{left:7px;bottom:7px;padding:5px 6px;font-size:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
