@font-face{font-family:"Playfair Display";src:url("assets/playfair-cyrillic.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Playfair Display";src:url("assets/playfair-latin.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2122,U+2191,U+2193,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:Geologica;src:url("assets/geologica-cyrillic.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Geologica;src:url("assets/geologica-latin.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2122,U+2191,U+2193,U+2212,U+FEFF,U+FFFD}
:root{
 --bg:#0A0A0C;--fg:#EDEDED;--muted:#8A8A8A;--surface:#141416;--line:#343436;--focus:#EDEDED;
 --serif:"Playfair Display",Georgia,serif;--sans:Geologica,"Avenir Next","Helvetica Neue",Arial,sans-serif;--wordmark:"Avenir Next",Geologica,"Helvetica Neue",Arial,sans-serif;
 --shell:1280px;--gutter:clamp(24px,5.55vw,80px);--header-height:80px;--section-space:112px;--media-gap:32px;
 --radius:0px;--ease:cubic-bezier(.22,.61,.36,1);--slow:800ms;--fast:200ms;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:104px}
body{margin:0;background:var(--bg);color:var(--fg);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
body.menu-is-open{overflow:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;text-underline-offset:5px}
button{font:inherit;color:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:7px}
button{cursor:pointer}
::selection{background:var(--fg);color:var(--bg)}
h1,h2,h3,p,figure{margin:0}
h1,h2{font-family:var(--serif);font-weight:400}
h3{font-weight:400}
.shell{width:min(var(--shell),calc(100% - var(--gutter)*2));margin-inline:auto}
.section{padding-block:var(--section-space)}
.site-header{height:var(--header-height);position:relative;z-index:30;background:var(--bg)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:inline-flex;align-items:center;gap:16px;min-height:44px;flex-shrink:0}
.brand img{width:38px;height:38px;object-fit:contain}
.brand span{font:400 13px/1.3 var(--sans);color:var(--muted);letter-spacing:.02em;max-width:160px}
.primary-nav{display:flex;align-items:center;gap:34px;font-size:13px;line-height:1.4}
.primary-nav a{padding:12px 0;position:relative}
.primary-nav a::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--fast) var(--ease)}
.primary-nav a:hover::after,.primary-nav a[aria-current="page"]::after{transform:scaleX(1)}
.menu-toggle{display:none;border:0;background:none;padding:12px 0;min-height:44px;min-width:44px;font-size:13px}
.hero{padding-top:38px}
.wordmark{font:200 14px/1.5 var(--wordmark);letter-spacing:.34em;text-transform:uppercase;margin-bottom:38px}
.hero-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,290px);gap:60px;align-items:end;margin-bottom:46px}
.hero-title{font-size:clamp(64px,7.4vw,106px);line-height:1.03;letter-spacing:-.045em;max-width:950px;overflow-wrap:normal}
.hero-copy{color:var(--muted);font-size:14px;line-height:1.75;max-width:290px;padding-bottom:10px}
.hero-work{display:block}
.media-frame{overflow:hidden;background:var(--surface);border-radius:var(--radius);position:relative}
.media-frame img{width:100%;height:100%;object-fit:cover;transition:transform var(--slow) var(--ease)}
.hero-media{aspect-ratio:3/2;max-height:74vh}
.hero-media img{object-fit:cover;object-position:center}
.hero-work:hover .media-frame img,.work-card:hover .media-frame img{transform:scale(1.04)}
.work-meta{display:flex;justify-content:space-between;gap:24px;align-items:baseline;margin-top:18px;font-size:13px;line-height:1.5}
.work-meta .work-type,.work-meta small{color:var(--muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.work-caption{color:var(--muted);font-size:12px;line-height:1.7;margin-top:18px;max-width:720px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:48px}
.section-heading h2{font-size:clamp(44px,5.2vw,72px);line-height:1.06;letter-spacing:-.035em;max-width:820px}
.section-heading p{font-size:14px;line-height:1.75;color:var(--muted);max-width:340px}
.service-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 80px}
.service-group{min-width:0}
.service-group h3{font-family:var(--sans);font-size:12px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.service-links{display:flex;flex-direction:column}
.service-links a{font-size:23px;line-height:1.35;padding:17px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;align-items:center;min-height:65px;transition:padding var(--fast) var(--ease),color var(--fast) var(--ease)}
.service-links a span:last-child:not(:first-child){color:var(--muted);font-size:16px;transition:color var(--fast) var(--ease)}
.service-links a:hover{padding-left:9px}
.service-links a:hover span:last-child{color:var(--fg)}
.works-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:72px 32px;align-items:start}
.work-card{display:block;min-width:0}
.work-card:nth-child(2n){margin-top:120px}
.work-card .media-frame{aspect-ratio:3/2}
.work-card.tall .media-frame{aspect-ratio:4/5}
.work-card.tall .media-frame img{object-fit:cover}
.approach{display:grid;grid-template-columns:1.3fr 1fr;gap:100px;align-items:start}
.approach h2{font-size:clamp(42px,4.8vw,68px);line-height:1.13;letter-spacing:-.03em}
.approach p{font-size:17px;line-height:1.8;color:var(--muted);max-width:520px;padding-top:8px}
.site-footer{margin-top:50px;padding:80px 0 30px;border-top:1px solid var(--line)}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:100px;align-items:start}
.contact-layout h2{font-size:clamp(50px,6vw,86px);line-height:1.05;letter-spacing:-.04em;max-width:740px}
.contact-layout p{color:var(--muted);font-size:15px;line-height:1.8;max-width:440px;margin-top:8px}
.text-cta{display:inline-block;font-size:22px;line-height:1.5;border-bottom:1px solid currentColor;padding-bottom:7px;margin-top:30px;transition:opacity var(--fast)}
.text-cta:hover{opacity:.7}
.footer-bottom{display:flex;justify-content:space-between;gap:30px;align-items:baseline;padding-top:80px;color:var(--muted);font-size:13px;line-height:1.6}
.footer-bottom a{text-decoration:underline}
.prototype-note{font-size:11px;line-height:1.5;color:var(--muted)}
.service-hero{padding-top:62px}
.breadcrumb{font-size:12px;line-height:1.5;color:var(--muted);margin-bottom:40px}
.breadcrumb a{text-decoration:underline}
.service-heading{display:grid;grid-template-columns:1fr minmax(240px,360px);gap:70px;align-items:end;margin-bottom:52px}
.service-title{font-size:clamp(74px,9vw,128px);line-height:1.04;letter-spacing:-.05em}
.service-intro{font-size:16px;line-height:1.75;color:var(--muted);max-width:360px;padding-bottom:7px}
.service-main-media{aspect-ratio:3/2;max-height:none}
.calendar-spread{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.paper-frame{background:#18181A;padding:clamp(18px,2.7vw,40px);aspect-ratio:5/7}
.paper-frame img{height:100%;width:100%;object-fit:contain}
.calendar-spread figcaption{font-size:12px;color:var(--muted);line-height:1.7;margin-top:17px}
.scope-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:100px;align-items:start}
.scope-layout>h2,.faq-layout>h2{font-size:clamp(44px,5.1vw,72px);line-height:1.1;letter-spacing:-.035em}
.scope-list{margin:0;padding:0;list-style:none}
.scope-list li{display:grid;grid-template-columns:38px 1fr;gap:23px;border-top:1px solid var(--line);padding:27px 0 30px}
.scope-number{color:var(--muted);font-size:11px;padding-top:7px;letter-spacing:.08em}
.scope-list h3{font-size:25px;line-height:1.3;margin-bottom:13px}
.scope-list p{font-size:14px;line-height:1.8;color:var(--muted);max-width:560px}
.scope-note{font-size:12px;color:var(--muted);line-height:1.8;margin-top:22px}
.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:45px}
.process-grid>div{padding-top:26px;border-top:1px solid var(--line)}
.process-grid span{font-size:11px;letter-spacing:.12em;color:var(--muted);display:block;margin-bottom:27px}
.process-grid h3{font-size:23px;line-height:1.3;margin-bottom:18px}
.process-grid p{font-size:14px;line-height:1.8;color:var(--muted)}
.faq-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:100px;align-items:start}
.faq-list details{border-top:1px solid var(--line);padding-block:23px}
.faq-list summary{cursor:pointer;font-size:19px;line-height:1.5;padding-right:32px;position:relative;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;right:0;top:0;color:var(--muted);font-size:24px;font-weight:300}
.faq-list details[open] summary::after{content:"−"}
.faq-list details p{font-size:14px;line-height:1.8;color:var(--muted);margin-top:18px;max-width:560px}
@media(min-width:1700px){:root{--shell:1440px}.hero-title{font-size:116px}.service-title{font-size:140px}}
@media(max-width:1100px){:root{--gutter:40px;--section-space:88px}.hero-heading{grid-template-columns:minmax(0,1fr) 230px;gap:36px}.hero-title{font-size:clamp(62px,7.2vw,85px)}.service-heading{gap:40px}.service-index{gap:48px 44px}.approach,.scope-layout,.faq-layout,.contact-layout{gap:55px}.section-heading{gap:40px}.work-card:nth-child(2n){margin-top:80px}.process-grid{gap:28px}}
@media(max-width:760px){
 :root{--gutter:24px;--header-height:72px;--section-space:68px;--media-gap:22px}
 html{scroll-padding-top:88px}
 .header-inner{gap:18px}.brand{gap:10px}.brand img{width:32px;height:32px}.brand span{font-size:12px;max-width:145px;line-height:1.4}
 .menu-toggle{display:block}.primary-nav{display:none;position:absolute;left:0;right:0;top:72px;background:var(--bg);padding:20px 24px 28px;border-bottom:1px solid var(--line);align-items:stretch;gap:0;flex-direction:column}
 .menu-open .primary-nav{display:flex}.primary-nav a{font-size:22px;padding:15px 0}.primary-nav a::after{display:none}
 .hero{padding-top:28px}.wordmark{font-size:10px;letter-spacing:.3em;margin-bottom:30px}
 .hero-heading{grid-template-columns:1fr;gap:23px;margin-bottom:30px}.hero-title{font-size:clamp(47px,9.8vw,72px);line-height:1.06;letter-spacing:-.045em}.hero-copy{font-size:13px;line-height:1.8;max-width:340px;padding-bottom:0}
 .hero-media{aspect-ratio:3/2;max-height:none}.hero-media img{object-fit:cover}
 .work-meta{font-size:12px;gap:14px;margin-top:13px;align-items:start}.work-meta .work-type,.work-meta small{font-size:9px;line-height:1.6;letter-spacing:.08em;text-align:right;max-width:48%}
 .section-heading{display:block;margin-bottom:32px}.section-heading h2{font-size:44px;line-height:1.08;letter-spacing:-.04em}.section-heading p{font-size:13px;max-width:340px;margin-top:24px}
 .service-index{grid-template-columns:1fr;gap:36px}.service-group h3{font-size:10px;letter-spacing:.12em;margin-bottom:14px}.service-links a{font-size:20px;padding:17px 0;min-height:60px}.service-links a:hover{padding-left:0}
 .works-grid{grid-template-columns:1fr;gap:38px}.work-card:nth-child(2n){margin-top:0}.work-card.tall .media-frame{aspect-ratio:3/2}
 .approach{grid-template-columns:1fr;gap:27px}.approach h2{font-size:42px}.approach p{font-size:15px;line-height:1.8;padding:0}
 .site-footer{margin-top:12px;padding-top:52px}.contact-layout{grid-template-columns:1fr;gap:28px}.contact-layout h2{font-size:48px;line-height:1.07}.contact-layout p{font-size:14px;margin-top:0}.text-cta{font-size:19px;margin-top:24px}.footer-bottom{padding-top:54px;font-size:12px;display:block}.footer-bottom>*+*{display:block;margin-top:14px}
 .service-hero{padding-top:34px}.breadcrumb{font-size:11px;margin-bottom:28px}.service-heading{grid-template-columns:1fr;gap:23px;margin-bottom:30px}.service-title{font-size:clamp(58px,13vw,90px);line-height:1.07;letter-spacing:-.045em}.service-intro{font-size:14px;line-height:1.8;padding-bottom:0;max-width:340px}
 .work-caption{font-size:11px;line-height:1.8;margin-top:14px}.calendar-spread{grid-template-columns:1fr;gap:30px}.paper-frame{padding:18px;aspect-ratio:5/7}.calendar-spread figcaption{font-size:11px;line-height:1.8;margin-top:12px}
 .scope-layout,.faq-layout{grid-template-columns:1fr;gap:34px}.scope-layout>h2,.faq-layout>h2{font-size:44px;line-height:1.1}.scope-list li{grid-template-columns:25px 1fr;gap:14px;padding-block:23px}.scope-list h3{font-size:22px;margin-bottom:12px}.scope-list p{font-size:13px;line-height:1.8}.scope-number{font-size:10px;padding-top:5px}.scope-note{font-size:11px}
 .process-grid{grid-template-columns:1fr;gap:26px;margin-top:32px}.process-grid>div{padding-top:22px}.process-grid span{margin-bottom:15px;font-size:10px}.process-grid h3{font-size:22px;margin-bottom:13px}.process-grid p{font-size:13px}
 .faq-list summary{font-size:18px}.faq-list details p{font-size:13px}.prototype-note{font-size:10px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.hero-work:hover .media-frame img,.work-card:hover .media-frame img{transform:none}}
/* clip prevents wide media from creating a horizontal scroll container that displaces fixed UI in Safari. */
html,body{overflow-x:hidden;overflow-x:clip}
.skip-link{position:absolute;left:24px;top:-100px;background:var(--fg);color:var(--bg);padding:12px 18px;z-index:100}
.skip-link:focus{top:12px}
.hero-service-link{display:inline-flex;gap:25px;border-bottom:1px solid currentColor;padding:5px 0;margin-top:22px;color:var(--fg);font-size:14px}
@media(max-width:760px){.hero-service-link{font-size:13px;margin-top:15px}}
/* Print artwork must remain fully visible, including its typography and date grid. */
.hero-media{max-height:none}
.hero-media img,.service-main-media img{object-fit:contain}
.hero-work:hover .media-frame img,.work-card:hover .media-frame img{transform:none}
/* Each service can present its own proof proportions without clipping supplied artwork. */
.service-main-media img,.proof-frame img{object-fit:var(--proof-fit,contain)}
.proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 32px;align-items:start}
.proof-frame{aspect-ratio:3/2;background:#18181a;padding:24px}
.proof-portrait{aspect-ratio:5/7}.proof-square{aspect-ratio:1}
.proof-grid figcaption{font-size:12px;line-height:1.7;color:var(--muted);margin-top:17px}
.service-discuss{display:inline-block;color:var(--fg);font-size:13px;margin-top:20px;padding-bottom:5px;border-bottom:1px solid currentColor}
.service-title.long-title{font-size:clamp(58px,7vw,100px)}
.related-links{display:flex;flex-wrap:wrap;gap:18px 35px}
.related-links a{font-size:18px;border-bottom:1px solid var(--line);padding-bottom:9px}
@media(max-width:760px){.proof-grid{grid-template-columns:1fr;gap:30px}.proof-frame{padding:18px}.proof-grid figcaption{font-size:11px}.service-title.long-title{font-size:clamp(42px,11vw,70px)}.related-links{display:grid;gap:18px}.related-links a{font-size:17px}.service-discuss{font-size:12px;margin-top:15px}}
/* A grid's implicit min-content width must not push service text beyond narrow phone screens. */
.service-heading>*{min-width:0}
@media(max-width:760px){
 .hero-heading,.service-heading,.service-index,.works-grid,.calendar-spread,.proof-grid,.approach,.scope-layout,.faq-layout,.contact-layout,.process-grid{grid-template-columns:minmax(0,1fr)}
 .service-title{font-size:clamp(48px,15vw,90px)}
 .service-title.long-title{font-size:clamp(37px,11vw,70px)}
 .scope-list li{grid-template-columns:25px minmax(0,1fr)}
}
/* A separate full-image view keeps small type in portfolio proofs readable on phones. */
.proof-image-link{display:block;width:100%;height:100%;cursor:zoom-in}
.proof-open{display:inline-block;color:var(--fg);text-decoration:underline;text-underline-offset:4px;white-space:nowrap;margin-top:8px}
.proof-caption-label{margin-right:18px}
.proof-open:hover{opacity:.72}
.proof-project-link{display:inline-block;color:var(--fg);border-bottom:1px solid var(--line);padding-bottom:2px;margin:8px 0 0 22px}
.project-hero-media{aspect-ratio:auto;max-width:100%;margin-inline:auto}
.project-hero-media img{height:auto;object-fit:contain}
.project-hero-portrait{max-width:760px}
.project-note{max-width:900px}
.project-title{overflow-wrap:normal}
@media(max-width:760px){.proof-project-link{margin-left:18px}.project-title{font-size:clamp(48px,12.5vw,90px)}}

.proof-description{display:block;font-size:14px;line-height:1.75;color:var(--muted);margin-top:10px;max-width:650px}.proof-caption-label{font-size:16px;color:var(--fg)}
@media(max-width:760px){.proof-description{font-size:13px}.proof-caption-label{font-size:15px}}
/* A print example separates explanatory geometry from the clean downloadable artwork. */
.print-hero{padding-top:62px;max-width:var(--shell)}
.print-title{font-size:clamp(66px,7.5vw,112px);line-height:1.03;letter-spacing:-.045em;max-width:1040px}
.print-intro{font-size:18px;line-height:1.8;max-width:760px;margin-top:34px}
.print-demo-note{font-size:13px;line-height:1.8;color:var(--muted);max-width:740px;margin-top:24px;padding-left:20px;border-left:1px solid var(--line)}
.print-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.print-products figure{min-width:0}
.print-product-photo{aspect-ratio:4/3}
.print-product-photo img{object-fit:cover}
.print-products figcaption{font-size:13px;line-height:1.75;color:var(--muted);margin-top:18px}
.print-example-nav{display:flex;flex-wrap:wrap;gap:14px 28px;margin-bottom:60px}
.print-example-nav a{font-size:13px;text-decoration:underline;padding-block:8px}
.print-example{border-top:1px solid var(--line);padding-block:42px 72px;scroll-margin-top:35px}
.print-example-heading{display:grid;grid-template-columns:48px minmax(0,1fr);gap:20px;align-items:baseline;margin-bottom:32px}
.print-example-number{font-size:12px;color:var(--muted)}
.print-example-heading h3{font-family:var(--serif);font-size:clamp(32px,3.2vw,48px);line-height:1.15;letter-spacing:-.025em}
.print-example-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.8fr);gap:42px;align-items:start}
.print-scheme,.print-example-info{min-width:0}
.print-scheme-media{aspect-ratio:auto;background:#18181a}
.print-scheme-media img{height:auto;object-fit:contain}
.print-scheme-media .proof-image-link{height:auto}
.print-example-info>p{font-size:15px;line-height:1.85;color:var(--muted)}
.print-parameters{list-style:none;margin:26px 0 0;padding:0}
.print-parameters li{font-size:13px;line-height:1.7;padding-block:12px;border-top:1px solid var(--line)}
.print-file-links{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-top:24px}
.print-file-links a{font-size:14px;text-decoration:underline;min-height:44px;padding-block:10px}
.print-example-info .print-file-note{font-size:12px;line-height:1.85;margin-top:24px}
.print-handoff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}
.print-handoff-grid>div{border-top:1px solid var(--line);padding-top:24px}
.print-handoff-grid h3{font-size:20px;line-height:1.5;margin-bottom:18px}
.print-handoff-grid p{font-size:14px;line-height:1.85;color:var(--muted)}
.print-bottom-note{font-size:13px;line-height:1.85;color:var(--muted);max-width:950px;margin-top:48px}
.print-teaser{border-top:1px solid var(--line)}
.print-teaser-media{display:block;min-width:0}
.print-teaser-photo{aspect-ratio:4/3}
.print-teaser-photo img{object-fit:cover}
.print-teaser-with-media{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:64px;align-items:center}
.print-teaser-copy{max-width:760px;min-width:0}
.print-eyebrow{font-size:11px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:22px}
.print-teaser h2{font-size:clamp(44px,4.8vw,68px);line-height:1.08;letter-spacing:-.035em}
.print-teaser-copy>p:not(.print-eyebrow){font-size:15px;line-height:1.85;color:var(--muted);max-width:570px;margin-top:26px}
.print-teaser .text-cta{font-size:17px;line-height:1.7}
@media(max-width:1100px){.print-example-layout{grid-template-columns:minmax(0,1.3fr) minmax(220px,.9fr);gap:28px}.print-teaser-with-media{gap:38px}.print-products{gap:20px}}
@media(max-width:760px){
 /* Body is locked while navigation is open; the fourth link must remain reachable in landscape. */
 .primary-nav{max-height:calc(100vh - var(--header-height));max-height:calc(100dvh - var(--header-height));overflow-y:auto}
 .print-hero{padding-top:34px}.print-title{font-size:clamp(48px,12vw,72px)}.print-intro{font-size:15px;line-height:1.85;margin-top:28px}.print-demo-note{font-size:12px;padding-left:16px}
 .print-products{grid-template-columns:minmax(0,1fr);gap:34px}.print-product-photo{aspect-ratio:4/3}.print-products figcaption{font-size:12px;margin-top:12px}
 .print-example-nav{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin-bottom:36px}.print-example-nav a{font-size:13px;padding-block:12px}
 .print-example{padding-block:28px 48px}.print-example-heading{grid-template-columns:26px minmax(0,1fr);gap:12px;margin-bottom:24px}.print-example-heading h3{font-size:34px}.print-example-number{font-size:10px}
 .print-example-layout{grid-template-columns:minmax(0,1fr);gap:25px}.print-example-info>p{font-size:14px}.print-parameters{margin-top:20px}.print-parameters li{font-size:12px}
 .print-handoff-grid{grid-template-columns:minmax(0,1fr);gap:30px}.print-handoff-grid h3{font-size:19px;margin-bottom:14px}.print-handoff-grid p{font-size:13px}.print-bottom-note{font-size:12px;margin-top:34px}
 .print-teaser-with-media{grid-template-columns:minmax(0,1fr);gap:28px}.print-teaser h2{font-size:42px}.print-teaser-copy>p:not(.print-eyebrow){font-size:14px;margin-top:22px}.print-teaser .text-cta{font-size:16px}.print-eyebrow{font-size:10px;margin-bottom:18px}
}
/* A deck reads in sequence; full-width 16:9 frames keep its small type readable. */
.project-slides{display:grid;grid-template-columns:minmax(0,1fr);gap:64px}
.project-slides figure{min-width:0}
.project-slide-hero,.slide-frame{aspect-ratio:16/9;padding:0;background:var(--surface)}
.project-slide-hero img,.slide-frame img{width:100%;height:100%;object-fit:contain}
.project-slide-hero .proof-image-link,.slide-frame .proof-image-link{height:100%}
.project-slides figcaption{font-size:12px;line-height:1.75;color:var(--muted);margin-top:18px}
.slide-number{font-size:11px;letter-spacing:.1em;color:var(--muted);display:inline-block;margin-right:20px;white-space:nowrap}
@media(max-width:760px){.project-slides{gap:34px}.project-slides figcaption{font-size:11px;margin-top:14px}.slide-number{font-size:10px;margin-right:14px}}

/* Calendar products keep their actual proportions in the overview. */
.calendar-spread .paper-frame{padding:0}
.calendar-spread .paper-frame.proof-landscape{aspect-ratio:3/2}
.calendar-spread .paper-frame.proof-square{aspect-ratio:1}
.calendar-spread .paper-frame.proof-portrait{aspect-ratio:5/7}
/* A campaign preserves each placement's native canvas instead of cropping every format into one tile. */
.campaign-grid{gap:44px 32px}
.campaign-frame{aspect-ratio:auto;padding:0;background:var(--surface)}
.campaign-frame img{width:100%;height:auto;object-fit:contain}
.campaign-frame .proof-image-link{height:auto}
.campaign-banner-grid>figure:first-child{grid-column:1/-1}
.campaign-post-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.campaign-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.campaign-avatar-grid{grid-template-columns:minmax(0,1fr);max-width:420px}
@media(max-width:1100px){.campaign-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.campaign-grid,.campaign-post-grid,.campaign-story-grid{grid-template-columns:minmax(0,1fr);gap:32px}.campaign-avatar-grid{max-width:320px}.campaign-banner-grid>figure:first-child{grid-column:auto}}

/* Guide sheets retain their own proportions: technical diagrams must not be cropped. */
.project-guide-pages{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(36px,5vw,80px)}
.project-guide-pages figure{margin:0;min-width:0}
.guide-page-frame{padding:0;aspect-ratio:auto;background:transparent;overflow:hidden}
.guide-page-frame img{display:block;width:100%;height:auto;object-fit:contain}
.guide-page-frame .proof-image-link{height:auto}
.project-guide-pages figcaption{margin-top:16px;color:var(--muted);font-size:14px;line-height:1.6}
.guide-download{display:inline-flex;align-items:center;gap:12px;margin-top:24px;max-width:100%;white-space:normal}
.guide-download-section h2{margin:0}
.project-catalog-pages{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(40px,6vw,90px)}
.project-catalog-pages figure{margin:0;min-width:0}
.catalog-page-frame{width:100%;padding:0;aspect-ratio:auto;background:transparent;overflow:hidden;margin-inline:auto}
.catalog-page-frame.catalog-portrait{max-width:760px}
.catalog-page-frame.catalog-square{max-width:1000px}
.catalog-page-frame img{display:block;width:100%;height:auto;object-fit:contain}
.catalog-page-frame .proof-image-link{height:auto}
.project-catalog-pages figcaption{margin-top:16px;color:var(--muted);font-size:14px;line-height:1.6}

/* Business cards show both original sides at their own proportions. */
.project-card-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px;align-items:start}
.project-card-sides.card-portrait{max-width:950px;margin-inline:auto}
.project-card-sides figure{min-width:0}
.native-card-frame,.project-card-detail{aspect-ratio:auto;padding:0;background:transparent}
.native-card-frame img,.project-card-detail img{height:auto;object-fit:contain}
.native-card-frame .proof-image-link,.project-card-detail .proof-image-link{height:auto}
.project-card-sides figcaption{font-size:12px;line-height:1.7;color:var(--muted);margin-top:18px}
@media(max-width:760px){.project-card-sides{grid-template-columns:minmax(0,1fr);gap:34px}.project-card-sides.card-portrait{max-width:440px}.project-card-sides figcaption{font-size:11px}}

/* A proposal is a complete document; keep every native page intact and readable. */
.project-proposal-pages{display:grid;grid-template-columns:minmax(0,1fr);gap:64px}
.project-proposal-pages figure{min-width:0}
.proposal-page-frame{aspect-ratio:auto;padding:0;background:transparent;margin-inline:auto}
.proposal-page-frame img{height:auto;object-fit:contain}
.proposal-page-frame .proof-image-link{height:auto}
.proposal-page-frame.proposal-portrait{max-width:760px}
.proposal-page-frame.proposal-square,.project-proposal-hero.project-hero-square{max-width:1000px}
.project-proposal-pages figcaption{font-size:12px;line-height:1.75;color:var(--muted);margin:16px auto 0;max-width:1000px}
@media(max-width:760px){.project-proposal-pages{gap:32px}.project-proposal-pages figcaption{font-size:11px;margin-top:16px}}

.project-proposal-pages .proposal-figure{width:100%;margin-inline:auto}
.project-proposal-pages .proposal-figure.proposal-portrait{max-width:760px}
.project-proposal-pages .proposal-figure.proposal-square{max-width:1000px}

@media(max-width:760px){.project-proposal-pages .slide-number,.project-proposal-hero+.work-caption .slide-number{font-size:11px}}

/* Full designs and technical drawings keep their authored proportions. */
.project-artifact-pages{display:grid;grid-template-columns:minmax(0,1fr);gap:56px}
.artifact-page-frame{background:transparent;aspect-ratio:auto;margin-inline:auto;width:100%;max-width:1160px}
.artifact-page-frame.artifact-portrait{max-width:840px}
.artifact-page-frame img{width:100%;height:auto;object-fit:contain}
.project-artifact-pages figcaption{font-size:13px;color:var(--muted);line-height:1.7;margin-top:18px}
.project-file-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.project-file-links a{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;border-bottom:1px solid var(--line);padding-block:10px;font-size:16px;max-width:100%}
.project-file-links a:hover{color:var(--fg);border-color:currentColor}
@media(max-width:760px){.project-artifact-pages{gap:36px}.project-file-links a{font-size:14px}.project-artifact-pages figcaption{font-size:12px}}

/* Approved personal logo: Оттиск. */
.wordmark img{display:block;width:280px;max-width:100%;height:auto}
@media(max-width:760px){.wordmark img{width:224px}}

/* Email is a direct contact action alongside Telegram. */
.contact-email{display:block;width:fit-content;max-width:100%;min-height:44px;padding-block:8px;margin-top:12px;font-size:16px;line-height:1.5;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
