/* THE DAY AFTER — shared editorial composition. Brand fonts live in style.css. */
:root { --paper:#f6f4ef; --stone:#ece8e1; --muted:#84776f; --header-height:88px; --motion:cubic-bezier(.22,.61,.36,1); }
html { scroll-padding-top:calc(var(--header-height) + 24px); }
body { background:var(--paper); }
[hidden] { display:none!important; }
a,button,input,select,textarea { touch-action:manipulation; }
.skip-link { position:fixed; z-index:200; top:12px; left:12px; padding:12px 20px; background:var(--wine); color:var(--paper); transform:translateY(-180%); }
.skip-link:focus { transform:none; }
.header { position:sticky; top:0; z-index:100; height:var(--header-height); padding:18px 4.4%; background:var(--paper); gap:26px; border-bottom:1px solid #410c1612; }
.brand-small { font-size:22px; letter-spacing:-.05em; flex-shrink:0; }
.brand-small em { font-size:40px; }
.header nav { margin-left:auto; gap:clamp(18px,2.2vw,38px); font-size:11px; letter-spacing:.08em; }
.header nav a { position:relative; padding:14px 0; white-space:nowrap; }
.header nav a[aria-current]::after { content:''; position:absolute; bottom:5px; left:0; width:100%; height:1px; background:currentColor; }
.languages { margin-left:18px; gap:7px; font-size:11px; }
.languages button { min-height:44px; padding:8px 3px; font-size:11px; }
.menu-toggle { display:none; }
.archive-experience h2,.archive-experience h2 em { font-family:var(--sans); font-size:clamp(32px,4vw,60px); font-weight:400; font-style:normal; letter-spacing:-.045em; line-height:1.18; }
.archive-experience h2 em { font-size:1em; }
.archive-experience .eyebrow,.archive-experience h2.eyebrow { font:500 11px/1.7 var(--sans); letter-spacing:.15em; }
.editorial-link { display:inline-block; width:fit-content; border:0; border-bottom:1px solid currentColor; padding:11px 0; background:none; color:inherit; font-size:11px; letter-spacing:.1em; line-height:1.8; transition:opacity .3s; }
.editorial-link:hover { opacity:.6; }
/* Invitation. All movement belongs to the same physical object. */
.archive-intro { min-height:calc(100svh - var(--header-height)); overflow:clip; }
.intro-sticky { min-height:680px; height:calc(100svh - var(--header-height)); position:relative; display:flex; flex-direction:column; align-items:center; padding:44px 0 78px; }
#home-title { font:500 11px/1.8 var(--sans); letter-spacing:.19em; text-align:center; margin:0 24px; z-index:10; }
.envelope-stage { position:relative; flex-shrink:0; width:min(520px,72vw,66svh); aspect-ratio:1; margin:auto 0; isolation:isolate; animation:letter-breathe 8s ease-in-out infinite; }
.is-open .envelope-stage { animation-play-state:paused; }
.archive-envelope-trigger { position:absolute; inset:0; width:100%; height:100%; padding:0; border:0; color:var(--wine); background:none; cursor:pointer; }
.envelope-object { position:absolute; inset:0; pointer-events:none; }
.envelope-original { position:relative; }
.envelope-object::before { content:""; position:absolute; left:16.5%; top:13.2%; width:67%; height:32%; background:#99958f; clip-path:polygon(0 0,100% 0,50% 100%); opacity:0; }
.is-open .envelope-object::before { opacity:1; }
.envelope-original,.envelope-front-guard,.envelope-flap img { display:block; width:100%; height:auto; }
.envelope-flap { position:absolute; inset:0; transform-origin:50% 13.2%; clip-path:polygon(16.5% 13.2%,83.5% 13.2%,82% 19%,67% 34%,59% 39%,50% 41.5%,41% 39%,33% 34%,18% 19%); transition:transform .6s var(--motion); backface-visibility:hidden; }
.is-open .envelope-flap { transform:rotateX(178deg); }
.is-open .envelope-original { clip-path:polygon(0 0,16.5% 0,16.5% 13.2%,50% 45%,83.5% 13.2%,83.5% 0,100% 0,100% 100%,0 100%); }
/* The front artwork does not crop the photographs into the flap's curved shape. */
.envelope-front-guard { position:absolute; inset:0; pointer-events:none; z-index:2; clip-path:url(#hand-grip); }
.open-instruction { position:absolute; top:28%; left:0; width:100%; font:400 13px/1.6 var(--sans); letter-spacing:.09em; transition:opacity .35s; text-align:center; }
.is-open .open-instruction { opacity:0; }
.emerging-prints { position:absolute; inset:0; z-index:3; pointer-events:none; clip-path:polygon(-30% -100%,130% -100%,130% 13.2%,-30% 13.2%); }
.emerging-print { position:absolute; display:block; left:35%; top:14%; width:29%; height:28%; opacity:1; transform:translateY(0); overflow:hidden; pointer-events:none; transition:transform 1.7s var(--motion),opacity .65s; }
.is-open .emerging-print { opacity:1; pointer-events:auto; transition-delay:.6s; }
.emerging-print--0 { z-index:4; }
.emerging-print--1 { z-index:3; }
.is-open .emerging-print--1 { transition-delay:.82s; }
.emerging-print--2 { z-index:2; }
.is-open .emerging-print--2 { transition-delay:1.02s; }
.emerging-print--3 { z-index:1; }
.is-open .emerging-print--3 { transition-delay:1.18s; }
.is-open .emerging-print--0 { transform:translate(-2%,-86%) rotate(-3deg); }
.is-open .emerging-print--1 { transform:translate(-50%,-96%) rotate(-12deg); }
.is-open .emerging-print--2 { transform:translate(48%,-91%) rotate(9deg); }
.is-open .emerging-print--3 { transform:translate(2%,-112%) rotate(4deg); }
.emerging-print:hover { filter:brightness(.95); }
.print-image { display:block; position:relative; overflow:hidden; width:100%; height:100%; }
.print-image img { display:block; width:100%; height:100%; object-fit:cover; }
.photo-invitation img { width:126%; max-width:none; height:auto; position:absolute; left:-16.5%; top:-25%; }
.photo-calendar img { width:149%; max-width:none; height:auto; position:absolute; left:-25%; top:-32%; }
.photo-envelope img { width:132%; max-width:none; height:auto; position:absolute; left:-16%; top:-15%; }
.intro-bottom { position:absolute; bottom:26px; left:4.4%; right:4.4%; display:flex; justify-content:space-between; align-items:center; font-size:10px; letter-spacing:.07em; }
.intro-bottom a { padding:12px; }
@keyframes letter-breathe { 0%,100% { transform:translateY(0) rotate(-.25deg); } 50% { transform:translateY(-4px) rotate(.25deg); } }
/* Blank archival paper, waiting for the owner's photographs. */
.portfolio-section { padding:88px 8% 110px; }
.editorial-heading { margin:0; border-top:1px solid #410c1620; padding-top:22px; }
#portfolio-title { margin:0; }
.archive-note:empty { display:none; }
.paper-archive { max-width:860px; margin:65px auto 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:58px 70px; padding:0 24px; }
.paper-note { aspect-ratio:.67; background:url('/assets/paper-reference.png') var(--paper-x) var(--paper-y)/310% 335% no-repeat; mix-blend-mode:multiply; transform:rotate(var(--paper-angle)); animation:paper-drift 10s ease-in-out infinite; animation-delay:var(--paper-delay); }
.paper-note:nth-child(3n+2) { margin-top:22px; }
.paper-note:hover { animation-play-state:paused; }
@keyframes paper-drift { 0%,100% { rotate:-.3deg; translate:0 0; } 50% { rotate:.3deg; translate:0 -2px; } }
/* Full-bleed portrait: first the image, then the story, with no opaque text boxes. */
.studio-section { padding-top:30px; }
.studio-top { display:flex; justify-content:space-between; gap:40px; align-items:flex-start; padding:45px 8% 65px; }
.studio-top h2 { margin:0; width:54%; }
.studio-top .eyebrow { margin-top:8px; }
.studio-spread { position:relative; }
.studio-scene { position:relative; display:grid; background:var(--paper); }
.studio-portrait { grid-area:1/1; position:sticky; top:var(--header-height); align-self:start; width:100%; height:calc(100svh - var(--header-height)); margin:0; opacity:var(--portrait-opacity,1); }
.studio-portrait img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 18%; }
.studio-portrait figcaption { position:absolute; bottom:26px; left:4.4%; font-size:11px; }
.studio-story { grid-area:1/1; position:relative; z-index:2; padding:85svh 10% 110px; pointer-events:none; }
.story-line { max-width:920px; margin:0 auto 32px; font:400 clamp(21px,2.65vw,37px)/1.6 var(--sans); letter-spacing:-.025em; opacity:var(--story-opacity,0); transform:translateY(var(--story-offset,12px)); }
.story-finale em { font:inherit; font-weight:600; }
.philosophy { max-width:700px; margin:0 auto; padding:40px 24px 95px; text-align:center; font-size:14px; line-height:1.9; }
/* The process is laid out as an index of chapters. */
.how-editorial { padding:100px 8% 130px; display:grid; grid-template-columns:1fr 1.2fr; gap:10%; border-top:1px solid #410c1620; }
.chapter-heading { position:sticky; top:calc(var(--header-height) + 48px); align-self:start; }
.chapter-heading h2 { margin:35px 0 0; }
.chapters { padding-top:10px; }
.chapter { display:grid; grid-template-columns:65px 1fr; gap:28px; padding:0 0 45px; margin-bottom:45px; border-bottom:1px solid #410c1620; opacity:.6; transition:opacity .6s; }
.chapter.is-current,.chapter.has-arrived { opacity:1; }
.chapter .number { font:400 38px/1 var(--sans); letter-spacing:-.04em; }
.chapter h3 { font-size:11px; letter-spacing:.14em; font-weight:500; margin:2px 0 23px; }
.chapter p { font-size:16px; line-height:1.85; margin:0; max-width:360px; }
.chapters>.editorial-link { margin-left:93px; }
/* The business offering shares the same light paper and precise typography. */
.business-editorial { padding:95px 8%; display:grid; grid-template-columns:1fr 1.2fr; gap:10%; background:var(--stone); }
.business-content h2 { margin:0 0 38px; font-size:clamp(30px,3.5vw,50px); }
.business-content p { max-width:420px; font-size:14px; line-height:1.9; margin:0 0 30px; }
/* A second invitation reveals the existing form. */
.contact-experience { padding:110px 7% 70px; text-align:center; overflow:clip; }
.contact-experience>h2 { margin:34px auto 30px; }
.contact-envelope-scene { position:relative; width:min(720px,100%); min-height:450px; margin:0 auto; padding-top:40px; isolation:isolate; }
.contact-envelope-trigger { position:absolute; top:0; left:0; width:100%; aspect-ratio:1.5; padding:0; border:0; background:none; color:inherit; transition:opacity .8s; }
.contact-envelope-back,.contact-flap,.contact-flap img { display:block; width:100%; height:auto; }
.contact-envelope-back { clip-path:polygon(14.2% 38.3%,85% 38.3%,85% 92.2%,14.2% 92.2%); }
.contact-flap { position:absolute; inset:0; clip-path:polygon(14.2% 38.3%,50% 3.4%,85% 38.3%); transform-origin:50% 38.3%; transform:rotateX(180deg); transition:transform 1s var(--motion); }
.contact-envelope-trigger .open-instruction { top:54%; }
.contact-envelope-base { position:absolute; inset:0; width:100%; height:auto; z-index:3; pointer-events:none; clip-path:polygon(14.2% 38.3%,41% 64%,59% 64%,85% 38.3%,85% 92.2%,14.2% 92.2%); transition:opacity .8s,transform 1.2s var(--motion); }
.contact-letter { position:relative; z-index:2; width:86%; margin:0 auto; padding:44px 48px 55px; background:#fffdf8; text-align:left; opacity:0; transform:translateY(120px); transition:transform 1.2s var(--motion),opacity .8s .2s; }
.contact-letter.is-emerging { opacity:1; transform:none; }
.letter-is-open .contact-envelope-scene { padding-bottom:30px; }
.letter-is-open .contact-envelope-trigger { opacity:0; pointer-events:none; transition-delay:.45s; }
.letter-is-open .contact-flap { transform:rotateX(0); }
.letter-is-open .open-instruction { opacity:0; }
.letter-is-open .contact-envelope-base { opacity:0; transform:translateY(160px); transition-delay:.4s; }
.letter-fields { display:grid; grid-template-columns:1fr 1fr; gap:28px 30px; }
.letter-field { min-width:0; }
.letter-field label { display:block; font-size:10px; letter-spacing:.1em; margin-bottom:9px; line-height:1.7; }
.letter-field input,.letter-field select,.letter-field textarea { display:block; width:100%; min-height:44px; padding:10px 0; border:0; border-bottom:1px solid #b8aea2; border-radius:0; background:transparent; color:var(--wine); font-size:16px; line-height:1.6; }
.letter-field textarea { min-height:110px; resize:vertical; }
.letter-fields+.letter-field { margin-top:32px; }
.letter-field [aria-invalid=true] { border-color:#9b122e; }
.field-error { display:block; min-height:16px; font-size:11px; line-height:1.5; color:#9b122e; margin-top:5px; }
#idea-form>.editorial-link { margin-top:24px; }
.form-note { font-size:11px; line-height:1.7; color:var(--muted); margin-top:25px; }
.form-status { font-size:13px; line-height:1.7; }
.form-status:empty { display:none; }
.form-status.is-error { color:#9b122e; }
.form-status.is-success { border-left:1px solid; padding-left:14px; }
.archive-experience .footer { background:var(--paper); padding:35px 4.4% 24px; }
.footer-top { padding-bottom:25px; }
.footer-top p,.footer-top a { font-size:11px; }
.footer-bottom { font-size:10px; }
.standalone-page #main { min-height:70svh; }
@media(max-width:1000px) {
 :root { --header-height:78px; }
 .header { padding:14px 5%; gap:18px; }
 .brand-small { font-size:20px; }
 .brand-small em { font-size:36px; }
 .menu-toggle { display:flex; align-items:center; gap:12px; margin-left:auto; padding:12px 0; min-height:44px; border:0; background:none; color:inherit; font-size:11px; }
 .menu-lines { width:20px; height:8px; border-top:1px solid; border-bottom:1px solid; }
 .header nav { display:none; position:absolute; top:calc(var(--header-height) - 1px); left:0; right:0; padding:28px 8% 35px; margin:0; background:var(--paper); border-bottom:1px solid var(--line); font-size:15px; }
 .menu-is-open .header nav { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
 .languages { margin-left:0; }
 .intro-bottom>span:last-child { display:none; }
 .paper-archive { gap:40px 42px; padding:0; }
 .how-editorial,.business-editorial { gap:7%; }
 .chapter { grid-template-columns:48px 1fr; gap:20px; }
 .chapters>.editorial-link { margin-left:68px; }
}
@media(max-width:600px) {
 :root { --header-height:74px; }
 .header { gap:12px; }
 .brand-small { font-size:17px; }
 .brand-small em { font-size:31px; }
 .languages { gap:4px; }
 .languages button { font-size:10px; }
 .intro-sticky { min-height:600px; padding-top:42px; }
 #home-title { max-width:285px; font-size:10px; }
 .envelope-stage { width:110vw; max-width:520px; }
 .open-instruction { font-size:12px; }
 .intro-bottom { bottom:19px; font-size:9px; }
 .portfolio-section { padding:55px 6% 65px; }
 .paper-archive { margin-top:38px; gap:27px 17px; }
 .paper-note:nth-child(3n+2) { margin-top:10px; }
 .studio-top { padding:35px 7% 40px; display:block; }
 .studio-top h2 { width:100%; margin-top:28px; }
 .studio-portrait img { object-position:50% 20%; }
 .studio-portrait figcaption { font-size:10px; bottom:20px; }
 .studio-story { padding:85svh 7% 60px; }
 .story-line { font-size:20px; line-height:1.65; margin-bottom:27px; }
 .philosophy { font-size:12px; padding-bottom:65px; }
 .how-editorial { display:block; padding:60px 7% 75px; }
 .chapter-heading { position:static; margin-bottom:50px; }
 .chapter-heading h2 { margin-top:25px; }
 .chapter { grid-template-columns:48px 1fr; margin-bottom:32px; padding-bottom:32px; }
 .chapter .number { font-size:32px; }
 .chapter p { font-size:14px; }
 .business-editorial { display:block; padding:60px 7%; }
 .business-content { margin-top:35px; }
 .business-content h2 { font-size:32px; }
 .contact-experience { padding:70px 6% 35px; }
 .contact-experience>h2 { font-size:32px; }
 .contact-envelope-scene { min-height:260px; }
 .contact-letter { width:100%; padding:30px 22px; }
 .letter-fields { grid-template-columns:1fr; gap:20px; }
 .contact-envelope-trigger .open-instruction { font-size:12px; }
 .footer-top { gap:12px; }
 .footer-bottom { font-size:9px; }
}
@media(prefers-reduced-motion:reduce) {
 .envelope-stage,.paper-note { animation:none; }
 .story-line { opacity:1; transform:none; }
 .studio-scene { display:block; }
 .studio-portrait { position:relative; top:auto; opacity:1; height:75svh; }
 .studio-story { padding:40px 7%; }
 .chapter { opacity:1; }
 .contact-letter { transform:none; opacity:1; }
}

/* The contact section has no envelope or click gate. */
.contact-envelope-scene { min-height:0; padding:20px 0 0; }
.contact-letter { opacity:1; transform:none; width:100%; padding:40px 0; background:transparent; }
.contact-letter.will-reveal { opacity:0; transform:translateY(18px); transition:opacity .9s var(--motion),transform .9s var(--motion); }
.contact-letter.will-reveal.is-emerging,.contact-letter:focus-within { opacity:1; transform:none; }
@media(prefers-reduced-motion:reduce) { .contact-letter.will-reveal { opacity:1; transform:none; } }

/* The open state uses the actual open-envelope photograph, not an artificial cutout. */
.intro-sticky { height:auto; min-height:calc(100svh - var(--header-height)); }
.envelope-stage { width:min(440px,90vw,60svh); margin:105px 0 35px; }
.opened-envelope { position:absolute; left:2.3%; top:-14.45%; width:94.6%; height:72.2%; object-fit:fill; clip-path:polygon(14.2% 38.3%,16.5% 32.5%,50% 3.4%,83% 32.5%,85% 38.3%,85% 92.2%,14.2% 92.2%); opacity:0; transition:opacity .32s; pointer-events:none; z-index:1; }
.is-open .opened-envelope { opacity:1; transition-delay:.05s; }
.envelope-object::before { display:none; }
.envelope-object { transition:opacity .3s; }
.is-open .envelope-object { opacity:0; }
.envelope-front-guard { z-index:2; }
@media(max-width:600px) { .envelope-stage { width:105vw; max-width:440px; margin:105px 0 30px; } }

/* Debossed invitation lettering; the semantic button retains keyboard access. */
.archive-cta,.is-open .archive-cta { opacity:1; z-index:4; top:31%; left:50%; width:max-content; max-width:80%; transform:translateX(-50%); display:flex; align-items:center; justify-content:center; gap:0; min-height:44px; padding:12px 18px; background:transparent; color:#49403e; border:0; font:500 12px/1.5 var(--sans); letter-spacing:.16em; text-transform:uppercase; text-shadow:0 1px 1px #ffffffb3,0 -1px 1px #30251e45; transition:color .2s,text-shadow .2s,opacity .18s; }
.archive-cta:hover { background:transparent; color:var(--wine); text-shadow:0 1px 1px #ffffffcf,0 -1px 1px #30251e55; }
.archive-cta .cta-closed { border-bottom:1px solid currentColor; padding-bottom:3px; }
.archive-envelope-trigger:hover .archive-cta { color:var(--wine); }
.is-open .archive-cta { opacity:0; visibility:hidden; }
.is-open .archive-envelope-trigger { cursor:default; }
.archive-envelope-trigger:focus-visible { outline:none; }
.archive-envelope-trigger:focus-visible .archive-cta { outline:2px solid var(--wine); outline-offset:5px; }
@media(max-width:600px) { .archive-cta,.is-open .archive-cta { font-size:11px; padding:11px 16px; gap:0; } }

.studio-top { display:block; padding:24px 8%; border-top:1px solid #410c1620; }
.studio-top #studio-title { width:auto; margin:0; font:500 11px/1.7 var(--sans); letter-spacing:.15em; }
@media(max-width:600px) { .studio-top { padding:22px 7%; } }

/* Studio composition: oversized title, central portrait, offset editorial story. */
.studio-section {padding-top:70px;}
.studio-top {position:relative;z-index:2;border:0;padding:0 7%;text-align:center;}
.studio-top .eyebrow {margin:0 0 30px;}
.studio-top #studio-title {font:500 clamp(60px,11.6vw,165px)/.92 var(--sans);letter-spacing:-.07em;width:100%;margin:0;}
.studio-spread {max-width:1380px;margin:-14px auto 0;padding:0 7%;}
.studio-scene {display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;background:none;}
.studio-portrait {grid-column:4/10;grid-row:1;position:relative;top:auto;width:100%;height:auto;opacity:1;}
.studio-portrait img {width:100%;height:auto;aspect-ratio:1199/1495;object-fit:cover;object-position:center;}
.studio-side-note {grid-column:1/4;grid-row:1;align-self:center;position:relative;z-index:2;font:500 clamp(12px,1.4vw,20px)/1.45 var(--sans);letter-spacing:-.03em;}
.studio-story {grid-column:7/13;grid-row:1;padding:0;margin-top:calc(53.6vw + 34px);pointer-events:auto;}
.story-line {font:400 clamp(15px,1.35vw,19px)/1.8 var(--sans);letter-spacing:-.015em;margin:0 0 24px;opacity:1;transform:none;}
.story-finale em {font:inherit;font-weight:600;}
.philosophy {max-width:900px;padding:80px 7% 90px;margin:0 auto;text-align:center;font:400 clamp(21px,2.5vw,34px)/1.5 var(--sans);letter-spacing:-.03em;}
.reviews-section {padding:60px 5% 70px;background:#eeeae4;}
.reviews-heading {display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 30px;}
.reviews-heading .eyebrow {font-size:10px;}
.review-track {display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;}
.review-placeholder {flex:0 0 calc((100% - 40px)/3);padding:38px 30px 40px;background:#fffefa;text-align:center;scroll-snap-align:start;}
.review-initial {display:flex;align-items:center;justify-content:center;width:55px;height:55px;margin:0 auto 26px;border:1px solid #410c1630;border-radius:50%;font:400 12px var(--sans);}
.review-placeholder h4 {font:500 clamp(19px,2vw,27px)/1.25 var(--sans);letter-spacing:-.03em;margin:0 0 18px;}
.review-placeholder p {font-size:13px;line-height:1.8;max-width:230px;margin:0 auto 26px;}
.review-placeholder small {font-size:9px;letter-spacing:.08em;text-transform:uppercase;opacity:.65;}
.carousel-controls {display:flex;justify-content:flex-end;gap:10px;margin-top:24px;}
.carousel-controls button {width:48px;height:48px;border:1px solid #410c1640;border-radius:50%;background:transparent;color:var(--wine);font-size:22px;cursor:pointer;transition:background .2s,color .2s;}
.carousel-controls button:hover:not(:disabled) {background:var(--wine);color:var(--paper);}
.carousel-controls button:disabled {opacity:.25;cursor:default;}
.portfolio-masthead {padding:55px 6% 42px;text-align:center;}
.portfolio-masthead h1 {font:400 clamp(36px,5vw,68px)/1.2 var(--serif);letter-spacing:-.05em;margin:22px 0;}
.portfolio-meta {display:flex;justify-content:center;gap:42px;font-size:9px;letter-spacing:.16em;}
.portfolio-reel {position:relative;}
.portfolio-track {display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 4%;}
.portfolio-frame {flex:0 0 31%;margin:0;scroll-snap-align:center;}
.portfolio-image-placeholder {height:min(60vw,580px);min-height:340px;background:#fffefa;border:1px solid #410c1610;}
.portfolio-frame figcaption {display:flex;justify-content:space-between;padding:15px 1px;font-size:9px;letter-spacing:.12em;}
.portfolio-reel .carousel-controls {position:absolute;top:45%;left:2%;right:2%;justify-content:space-between;margin:0;pointer-events:none;}
.portfolio-reel .carousel-controls button {pointer-events:auto;background:var(--wine);color:var(--paper);width:56px;height:56px;}
.portfolio-reel .carousel-controls button:disabled {visibility:hidden;}
.portfolio-colophon {padding:110px 8%;text-align:center;}
.portfolio-colophon h2 {font:400 clamp(32px,4.6vw,66px)/1.15 var(--sans);letter-spacing:-.05em;margin:30px 0;}
@media(min-width:1400px) {.studio-story {margin-top:775px;}}
@media(max-width:700px) {
 .studio-section {padding-top:45px;}
 .studio-top {padding:0 5%;}
 .studio-top .eyebrow {margin-bottom:24px;}
 .studio-top #studio-title {font-size:12vw;}
 .studio-spread {padding:0 7%;margin-top:-5px;}
 .studio-portrait {grid-column:3/12;}
 .studio-side-note {grid-column:1/6;align-self:start;margin-top:30vw;font-size:10px;max-width:110px;}
 .studio-story {grid-column:2/13;grid-row:2;margin-top:35px;padding:0;}
 .story-line {font-size:15px;line-height:1.85;margin-bottom:22px;}
 .philosophy {padding:45px 8% 65px;font-size:21px;}
 .reviews-section {padding:35px 6% 40px;}
 .reviews-heading {align-items:start;flex-direction:column;gap:8px;}
 .reviews-heading h3 {margin:0;}
 .review-placeholder {flex-basis:86%;padding:34px 24px;}
 .portfolio-masthead {padding-top:38px;}
 .portfolio-meta {gap:22px;font-size:8px;}
 .portfolio-frame {flex-basis:78%;}
 .portfolio-image-placeholder {height:110vw;min-height:0;max-height:590px;}
 .portfolio-reel .carousel-controls button {width:44px;height:44px;}
 .portfolio-colophon {padding:70px 7%;}
}

/* Back, prints, front and hand are distinct physical layers. */
.envelope-object {clip-path:inset(0 0 47.6% 0);}
.opened-envelope {z-index:0;}
/* Follow the actual folded pocket edge, including its low central opening. */
.opened-envelope-front {z-index:2;clip-path:polygon(14.2% 38.3%,19.5% 40.3%,39.3% 61.3%,40.7% 63.9%,58.8% 63.9%,60% 61.5%,80% 40.3%,85% 38.3%,85% 92.2%,14.2% 92.2%);}
.envelope-front-guard {z-index:3;transform-origin:56% 52%;transform:translateY(-.2%) scale(1.14);}
.emerging-prints {z-index:1;clip-path:polygon(-40% -110%,140% -110%,140% 52%,-40% 52%);}
.emerging-print {left:33%;top:34%;width:34%;height:42%;opacity:0;transform:translateY(0) rotate(0deg);transition:transform 1.05s var(--motion),opacity .15s linear;}
.is-open .emerging-print {opacity:1;}
.is-open .emerging-print--0 {transform:translate(-2%,-105%) rotate(-3deg);transition-delay:.2s;}
.is-open .emerging-print--1 {transform:translate(-45%,-111%) rotate(-11deg);transition-delay:.28s;}
.is-open .emerging-print--2 {transform:translate(44%,-108%) rotate(8deg);transition-delay:.36s;}
.is-open .emerging-print--3 {transform:translate(2%,-121%) rotate(3deg);transition-delay:.44s;}
.envelope-stage {margin-top:125px;margin-bottom:65px;}
@media(max-width:600px){.envelope-stage{margin-top:130px;margin-bottom:65px;}}

@media(prefers-reduced-motion:reduce){.emerging-print,.envelope-flap,.opened-envelope,.envelope-object{transition:none!important;}}

/* Founders: one photograph, darkening into three connected parts of the story. */
.studio-section {padding-top:50px;}
.studio-introduction {padding:25px 7% 50px;text-align:center;}
.studio-introduction h2 {font:400 clamp(32px,4.5vw,62px)/1.15 var(--sans);letter-spacing:-.045em;margin:22px 0 0;}
.studio-immersive {position:relative;isolation:isolate;min-height:800px;height:90svh;max-height:1050px;display:flex;align-items:flex-end;overflow:hidden;background:#181512;color:#fffaf1;}
.founders-photo {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;z-index:-2;}
.studio-shade {position:absolute;inset:0;background:#13100e;opacity:.68;z-index:-1;transition:opacity .85s ease;}
.studio-voices {width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5%;padding:70px 7%;}
.studio-voice {transition:opacity .65s ease var(--voice-delay),transform .65s ease var(--voice-delay);}
.studio-voice h3 {font:400 clamp(21px,2.2vw,30px)/1.2 var(--serif);letter-spacing:-.02em;margin:0 0 26px;}
.studio-voice p {font:400 15px/1.8 var(--sans);margin:0 0 15px;}
.studio-voice strong {font-weight:600;}
.studio-immersive.motion-ready:not(.is-revealed) .studio-shade {opacity:.08;}
.studio-immersive.motion-ready:not(.is-revealed) .studio-voice {opacity:0;transform:translateY(22px);}
@media(hover:hover){.studio-immersive:hover .studio-shade{opacity:.72;}}
/* Four editorial chapters, connected by a fine central timeline. */
.process-timeline {padding:95px 7% 75px;}
.process-heading {text-align:center;margin-bottom:75px;}
.process-heading h2 {font:400 clamp(34px,4.7vw,68px)/1.15 var(--sans);letter-spacing:-.05em;margin:26px 0 0;}
.timeline-track {position:relative;display:grid;grid-template-columns:1fr 1fr;gap:20px 0;max-width:1350px;margin:auto;}
.timeline-track:before {content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:#410c1640;}
.timeline-step {position:relative;display:grid;grid-template-columns:1fr 1fr;gap:22px;align-content:start;align-items:start;padding:15px 45px 50px 0;min-height:420px;}
.timeline-step:nth-child(even) {padding:15px 0 50px 45px;margin-top:210px;}
.timeline-step:before {content:"";position:absolute;top:75px;left:0;right:0;height:1px;background:#410c1640;z-index:-1;}
.timeline-visual {position:relative;align-self:start;}
.timeline-visual img {display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;}
.timeline-number {position:absolute;bottom:-22px;right:-25px;font:500 clamp(44px,5vw,72px)/1 var(--sans);letter-spacing:-.055em;color:var(--wine);}
.timeline-copy {padding-top:120px;}
.timeline-copy h3 {font:500 11px/1.6 var(--sans);letter-spacing:.12em;margin:0 0 15px;}
.timeline-copy p {font:400 15px/1.8 var(--sans);letter-spacing:-.015em;margin:0;}
.timeline-step:nth-child(even) .timeline-visual {grid-column:2;grid-row:1;}
.timeline-step:nth-child(even) .timeline-copy {grid-column:1;grid-row:1;}
.timeline-step:nth-child(even) .timeline-number {right:auto;left:-25px;}
.timeline-step.motion-ready .timeline-visual,.timeline-step.motion-ready .timeline-copy {opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease;}
.timeline-step.has-arrived .timeline-visual,.timeline-step.has-arrived .timeline-copy {opacity:1;transform:none;}
.timeline-step.has-arrived .timeline-copy {transition-delay:.12s;}
.process-next {display:block;margin:35px auto 0;}
.contact-experience {border-top:1px solid #410c1625;}
@media(max-width:800px){
 .studio-immersive {height:auto;min-height:1000px;max-height:none;}
 .founders-photo {object-position:50% 38%;}
 .studio-voices {grid-template-columns:1fr;padding:330px 8% 50px;gap:24px;}
 .studio-voice {max-width:560px;margin:auto;}
 .studio-voice h3 {font-size:24px;margin-bottom:13px;}
 .studio-voice p {font-size:14px;line-height:1.75;}
 .studio-shade {opacity:.75;}
 .timeline-step {grid-template-columns:1fr;gap:25px;padding-right:30px;}
 .timeline-step:nth-child(even){padding-left:30px;}
 .timeline-step:nth-child(even) .timeline-visual,.timeline-step:nth-child(even) .timeline-copy {grid-column:auto;grid-row:auto;}
 .timeline-copy {padding-top:15px;}
 .timeline-number {right:-12px;}
 .timeline-step:nth-child(even) .timeline-number {left:-12px;}
}
@media(max-width:520px){
 .process-timeline {padding:60px 7%;}
 .process-heading {margin-bottom:45px;}
 .timeline-track {display:block;padding-left:24px;}
 .timeline-track:before {left:0;}
 .timeline-step,.timeline-step:nth-child(even) {padding:0 0 50px;min-height:0;margin:0;grid-template-columns:42% 1fr;gap:22px;}
 .timeline-step:nth-child(even) .timeline-visual{grid-column:1;grid-row:1;}
 .timeline-step:nth-child(even) .timeline-copy{grid-column:2;grid-row:1;}
 .timeline-step:before {left:-24px;right:50%;top:35px;}
 .timeline-copy {padding-top:12px;}
 .timeline-copy p {font-size:13px;line-height:1.75;}
 .timeline-number,.timeline-step:nth-child(even) .timeline-number {left:auto;right:-12px;font-size:45px;bottom:-18px;}
}
@media(prefers-reduced-motion:reduce){.studio-shade,.studio-voice,.timeline-visual,.timeline-copy{transition:none!important;transform:none!important;opacity:1}.studio-shade{opacity:.75}}

.timeline-image {aspect-ratio:3/4;overflow:hidden;}
.timeline-image img {width:100%;height:100%;object-fit:cover;}
.timeline-step:nth-child(1) .timeline-image img {transform:scale(1.35);}
.timeline-step:nth-child(2) .timeline-image img,.timeline-step:nth-child(4) .timeline-image img {transform:scale(1.6);}

/* Business: moving typography, a photographic still life, then a direct enquiry. */
.business-showcase {background:var(--stone);padding:38px 0 26px;overflow:hidden;}
.business-overline {display:flex;align-items:center;justify-content:center;position:relative;padding:0 7%;}
.business-motion {position:absolute;right:5%;width:44px;height:44px;background:none;border:0;color:var(--wine);font-size:18px;cursor:pointer;}
.business-marquee {margin:36px 0 0;font:400 clamp(76px,12vw,190px)/1.08 var(--sans);letter-spacing:-.065em;white-space:nowrap;}
.business-marquee-track {display:flex;width:max-content;animation:business-drift 38s linear infinite;}
.business-marquee-track>span {display:block;padding-right:.65em;}
@keyframes business-drift {to{transform:translateX(-50%);}}
.business-composition {position:relative;display:grid;grid-template-columns:1.25fr 1fr;gap:8%;align-items:center;margin:-10px 7% 0;}
.business-images {position:relative;padding:0 17% 17% 0;}
.business-images figure {margin:0;overflow:hidden;}
.business-image-main {aspect-ratio:4/5;}
.business-image-main img {width:100%;height:100%;object-fit:cover;display:block;}
.business-image-detail {position:absolute;right:0;bottom:0;width:45%;aspect-ratio:3/4;border:7px solid var(--stone);}
.business-image-detail img {width:100%;height:100%;object-fit:cover;transform:scale(1.6);display:block;}
.business-intro {padding:55px 0 20px;max-width:440px;}
.business-intro h2 {font:400 clamp(30px,3.3vw,48px)/1.15 var(--sans);letter-spacing:-.045em;margin:25px 0;}
.business-intro>p:not(.eyebrow) {font:400 16px/1.9 var(--sans);max-width:380px;}
.business-cta {display:flex;justify-content:space-between;width:100%;margin-top:45px;padding-bottom:18px;}
.business-footnote {display:flex;justify-content:space-between;gap:20px;margin:55px 7% 0;font-size:9px;letter-spacing:.14em;}
.business-contact {display:grid;grid-template-columns:1fr 1.4fr;gap:9%;padding:110px 7%;scroll-margin-top:25px;}
.business-contact-intro h2 {font:400 clamp(30px,3.7vw,52px)/1.15 var(--sans);letter-spacing:-.045em;margin:26px 0;}
.business-contact-intro>p:not(.eyebrow) {font-size:15px;line-height:1.9;max-width:300px;}
.business-contact .contact-letter {padding:0;}
.business-contact .letter-fields {gap:25px 25px;}
.business-contact .letter-field select {font-size:14px;}
@media(max-width:800px){
 .business-composition {gap:6%;margin-top:20px;}
 .business-intro {padding-top:0;}
 .business-intro h2 {font-size:29px;}
 .business-intro>p:not(.eyebrow) {font-size:14px;line-height:1.8;}
 .business-contact {grid-template-columns:1fr;gap:35px;padding:70px 8%;}
 .business-contact-intro>p:not(.eyebrow) {max-width:460px;}
}
@media(max-width:600px){
 .business-overline {justify-content:flex-start;}
 .business-overline .eyebrow {font-size:9px;letter-spacing:.1em;}
 .business-marquee {margin-top:32px;font-size:70px;}
 .business-composition {grid-template-columns:1fr;margin:18px 8% 0;gap:32px;}
 .business-images {max-width:440px;width:100%;}
 .business-intro {max-width:none;}
 .business-intro h2 {font-size:36px;}
 .business-cta {margin-top:30px;}
 .business-footnote {margin-top:35px;line-height:1.8;}
 .business-footnote>span:last-child {display:none;}
}
@media(prefers-reduced-motion:reduce){
 .business-marquee-track {animation:none;display:block;width:auto;}
 .business-marquee {white-space:normal;font-size:clamp(38px,7vw,90px);padding:0 7%;}
 .business-marquee-track>span[aria-hidden] {display:none;}
 .business-motion {display:none;}
 .business-composition {margin-top:30px;}
}

/* Light studio and a consistent, readable editorial scale. */
.studio-introduction h2,.process-heading h2,.contact-introduction h2,.business-contact-intro h2,.portfolio-finale h3 {font:400 clamp(32px,4vw,54px)/1.18 var(--sans);letter-spacing:-.025em;text-transform:none;}
.studio-section {background:var(--paper);}
.studio-immersive {height:72svh;min-height:520px;max-height:780px;background:var(--paper);display:block;}
.founders-photo {object-position:50% 52%;}
.studio-shade,.studio-immersive.motion-ready:not(.is-revealed) .studio-shade,.studio-immersive:hover .studio-shade {background:var(--paper);opacity:0;transition:none;}
.studio-voices {padding:65px 7% 35px;gap:5%;color:var(--wine);}
.studio-voice h3 {font:500 13px/1.5 var(--sans);letter-spacing:.09em;margin-bottom:20px;}
.studio-voice p {font-size:16px;line-height:1.85;letter-spacing:0;}
.studio-voice {opacity:1;transform:none;}
.process-heading {margin-bottom:60px;}
.timeline-track {isolation:isolate;gap:45px 0;}
.timeline-step,.timeline-step:nth-child(even) {min-height:0;align-items:center;gap:28px;}
.timeline-step:nth-child(even) {margin-top:160px;}
.timeline-copy {padding-top:0;}
.timeline-number,.timeline-step:nth-child(even) .timeline-number {position:static;display:block;font:400 clamp(32px,3.5vw,48px)/1.2 var(--sans);letter-spacing:-.02em;margin:0 0 22px;}
.timeline-copy h3 {font-size:12px;line-height:1.5;letter-spacing:.08em;}
.timeline-copy p {font-size:16px;line-height:1.8;letter-spacing:0;}
.timeline-step:before {top:50%;}
.timeline-image {aspect-ratio:4/5;}
.timeline-step.motion-ready .timeline-copy {transform:none;opacity:1;}
.portfolio-finale {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12%;padding:65px 0 0;margin-top:60px;border-top:1px solid #410c1625;text-align:left;}
.portfolio-finale h3 {margin:20px 0 0;}
.portfolio-finale>div>p:not(.eyebrow) {font-size:16px;line-height:1.8;max-width:390px;}
.portfolio-finale .editorial-link {font-size:12px;line-height:1.6;margin-top:20px;}
.portfolio-colophon .portfolio-finale {border:0;margin:0;padding:0;}
.contact-experience {display:grid;grid-template-columns:1fr 1.4fr;gap:8%;text-align:left;padding:100px 7%;overflow:visible;}
.contact-introduction h2 {margin:25px 0;}
.contact-lead,.business-contact-intro>p:not(.eyebrow) {font-size:16px;line-height:1.85;max-width:350px;}
.contact-envelope-scene {width:100%;padding:0;min-height:0;}
.contact-letter,.business-contact .contact-letter {padding:32px;background:#fdfcf9;border:1px solid #410c1620;}
.form-intro {font-size:12px;letter-spacing:.12em;margin:0 0 30px;}
.letter-fields,.business-contact .letter-fields {gap:18px 22px;}
.letter-field label {font-size:12px;letter-spacing:.035em;line-height:1.6;}
.letter-field input,.letter-field select,.letter-field textarea,.business-contact .letter-field select {background:#fffefa;border:1px solid #b8aea280;min-height:50px;padding:12px;font-size:16px;line-height:1.5;transition:border-color .2s,box-shadow .2s;}
.letter-field input:focus,.letter-field select:focus,.letter-field textarea:focus {outline:0;border-color:var(--wine);box-shadow:0 0 0 2px #410c1612;}
.letter-field textarea {min-height:135px;}
.field-error {font-size:12px;min-height:0;margin-top:6px;}
.field-error:empty {display:none;}
#idea-form>.editorial-link {background:var(--wine);color:var(--paper);border:1px solid var(--wine);padding:15px 25px;font:500 12px/1.6 var(--sans);letter-spacing:.09em;width:100%;cursor:pointer;}
#idea-form>.editorial-link:hover {background:#5a1b28;}
.form-privacy,.form-note {font-size:12px;line-height:1.7;margin:15px 0 0;}
.form-privacy a {text-decoration:underline;text-underline-offset:4px;}
.contact-details {margin-top:42px;padding-top:22px;border-top:1px solid #410c1625;display:grid;gap:18px;}
.contact-details:empty {display:none;}
.contact-detail-label {display:block;font-size:12px;letter-spacing:.1em;margin-bottom:8px;}
.contact-details a {font-size:16px;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:5px;}
.contact-detail-pending {font-size:13px;color:var(--muted);}
.footer-legal {display:flex;gap:24px;flex-wrap:wrap;}
.footer-legal a {font-size:12px;text-underline-offset:4px;}
.legal-page {padding:85px 8%;max-width:850px;}
.legal-page h1 {font:400 44px/1.2 var(--sans);letter-spacing:-.025em;margin:25px 0;}
.legal-page>p:not(.eyebrow) {font-size:17px;line-height:1.85;}
@media(max-width:900px){.contact-experience,.business-contact{grid-template-columns:1fr;gap:40px;padding:70px 7%;}.contact-lead{max-width:500px;}.studio-voices{grid-template-columns:1fr;padding:40px 8%;gap:28px;}.studio-voice{max-width:none;width:100%;}.timeline-step,.timeline-step:nth-child(even){gap:22px;}.timeline-copy p{font-size:15px;}}
@media(max-width:600px){.studio-immersive{height:68svh;min-height:440px;max-height:660px;}.founders-photo{object-position:50% 56%;}.portfolio-finale{grid-template-columns:1fr;gap:25px;padding-top:35px;margin-top:35px;}.contact-letter,.business-contact .contact-letter{padding:24px 18px;}.letter-fields{grid-template-columns:1fr;}.footer-bottom{gap:22px;}.timeline-step,.timeline-step:nth-child(even){margin-top:0;grid-template-columns:40% 1fr;align-items:start;}.timeline-number,.timeline-step:nth-child(even) .timeline-number{font-size:32px;margin:0 0 12px;}.timeline-copy{padding:0;}.timeline-copy p{font-size:14px;line-height:1.75;}.timeline-step:before{top:35px;}.process-heading h2{font-size:36px;}.business-contact-intro h2{font-size:36px;}}
@media(min-width:601px){.founders-photo{object-position:50% 34%;}}

/* October refinement: a clear invitation, one complete portrait, open form layout. */
.archive-cta {min-width:126px;min-height:46px;padding:12px 22px;background:var(--wine);color:var(--paper);border:1px solid var(--wine);border-radius:2px;letter-spacing:.11em;text-shadow:none;font-size:12px;box-shadow:0 3px 12px #410c1618;}
.archive-cta .cta-closed {border:0;padding:0;}
.archive-envelope-trigger:hover .archive-cta,.archive-cta:hover {background:#632331;color:#fffdf8;text-shadow:none;}
.archive-envelope-trigger:focus-visible .archive-cta {outline:2px solid var(--wine);outline-offset:5px;}
.portfolio-section {padding-bottom:40px;}
.portfolio-finale,.portfolio-colophon .portfolio-finale {display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;border-top:1px solid #410c1625;border-bottom:1px solid #410c1625;padding:42px 24px;margin-top:42px;}
.portfolio-finale .eyebrow {margin:0;}
.portfolio-finale h3 {font:400 clamp(26px,3vw,40px)/1.25 var(--sans);letter-spacing:-.025em;margin:0;max-width:650px;}
.portfolio-finale .editorial-link {margin-top:0;font-size:12px;}
.studio-section {padding-top:50px;}
.studio-background-story {display:grid;grid-template-columns:48% 52%;min-height:860px;height:auto;max-height:none;overflow:hidden;background:#f3f0e9;color:var(--wine);isolation:isolate;}
.studio-background-story .founders-photo {inset:0 auto 0 0;position:absolute;width:59%;height:100%;object-fit:contain;object-position:left center;filter:blur(1px);opacity:.8;z-index:-1;}
.studio-story-side {grid-column:2;padding:65px 10% 55px 5%;background:#f3f0e9dd;align-self:center;}
.studio-story-side .studio-introduction {text-align:left;padding:0;margin-bottom:32px;}
.studio-story-side .studio-introduction h2 {font-size:clamp(30px,3.4vw,48px);line-height:1.16;margin:18px 0 0;}
.studio-story-side .studio-voices {display:block;padding:0;}
.studio-story-side .studio-voice {margin:0 0 23px;max-width:none;}
.studio-story-side .studio-voice:last-child {margin-bottom:0;}
.studio-story-side .studio-voice h3 {font-size:11px;letter-spacing:.12em;margin-bottom:10px;}
.studio-story-side .studio-voice p {font-size:15px;line-height:1.8;margin-bottom:10px;}
.contact-letter,.business-contact .contact-letter {background:transparent;border:0;padding:0 0 0 32px;border-left:1px solid #410c1625;box-shadow:none;}
.form-heading {padding:0 0 22px;margin-bottom:27px;border-bottom:1px solid #410c1625;}
.form-heading p {margin:0;}
.form-heading>p:last-child {font:400 22px/1.4 var(--sans);letter-spacing:-.015em;margin-top:12px;}
.letter-field input,.letter-field select,.letter-field textarea,.business-contact .letter-field select {background:transparent;border:0;border-bottom:1px solid #a99a8c;padding:12px 0;box-shadow:none;}
.letter-field input:focus,.letter-field select:focus,.letter-field textarea:focus {border-color:var(--wine);box-shadow:0 1px 0 var(--wine);}
.letter-fields,.business-contact .letter-fields {gap:26px 28px;}
.letter-field label {font-size:11px;letter-spacing:.065em;}
.letter-field textarea {min-height:115px;}
#idea-form>.editorial-link {width:auto;min-width:190px;padding:14px 27px;}
.contact-conversation {display:grid;grid-template-columns:115px 1fr;gap:18px;align-items:center;margin-top:35px;}
.contact-handset {width:100%;height:260px;object-fit:contain;transform:rotate(180deg);}
.contact-conversation .contact-details {margin:0;padding:0;border:0;gap:24px;}
@media(max-width:800px){
 .studio-background-story {grid-template-columns:1fr;min-height:0;}
 .studio-background-story .founders-photo {position:relative;width:100%;height:580px;object-position:center;grid-column:1;grid-row:1;opacity:.85;}
 .studio-story-side {grid-column:1;grid-row:2;padding:35px 8% 45px;background:transparent;}
 .studio-story-side .studio-voices {display:block;}
 .contact-letter,.business-contact .contact-letter {border-left:0;border-top:1px solid #410c1625;padding:32px 0 0;}
 .contact-conversation {grid-template-columns:95px 1fr;max-width:420px;}
 .contact-handset {height:210px;}
}
@media(max-width:480px){
 .studio-background-story .founders-photo {height:auto;max-height:none;aspect-ratio:994/1583;object-fit:contain;}
 .studio-story-side .studio-voice p {font-size:15px;}
 .portfolio-finale,.portfolio-colophon .portfolio-finale {padding:32px 0;gap:15px;}
 .archive-cta {min-width:116px;font-size:12px;}
}

/* A contained, softly photographic manifesto, inspired by the supplied print layout. */
.studio-manifesto {display:flex;align-items:center;justify-content:flex-end;isolation:isolate;position:relative;width:calc(100% - 12%);max-width:1180px;margin:0 auto 60px;min-height:720px;height:auto;max-height:none;background:#eeebe5;border-radius:4px;overflow:hidden;padding:100px 7% 100px 30%;color:var(--wine);}
.studio-manifesto .founders-photo {position:absolute;inset:0 auto 0 0;width:66%;height:100%;object-fit:contain;object-position:left center;filter:blur(3px);opacity:.26;z-index:-1;}
.studio-manifesto-copy {position:relative;text-align:center;max-width:510px;z-index:2;}
.studio-manifesto-copy h2 {font:500 11px/1.6 var(--sans);letter-spacing:.12em;text-transform:uppercase;margin:12px 0 35px;}
.studio-manifesto-copy [data-studio-story] p {font:400 clamp(23px,2.4vw,33px)/1.27 var(--serif);letter-spacing:-.025em;margin:0 0 24px;}
.studio-handwritten {position:absolute;z-index:1;font:400 clamp(65px,10vw,145px)/1 var(--script);white-space:nowrap;color:#6a24363b;pointer-events:none;}
.studio-handwritten-top {top:24px;left:5%;transform:rotate(-8deg);}
.studio-handwritten-bottom {bottom:20px;right:4%;transform:rotate(-7deg);}
.studio-manifesto-copy,.studio-handwritten {transition:opacity .85s ease,translate .85s cubic-bezier(.2,.7,.2,1);}
.studio-manifesto.motion-ready:not(.is-revealed) .studio-manifesto-copy {opacity:0;translate:0 22px;}
.studio-manifesto.motion-ready:not(.is-revealed) .studio-handwritten {opacity:0;translate:-16px 0;}
.studio-manifesto.is-revealed .studio-handwritten-bottom {transition-delay:.16s;}
.business-marquee {font:400 clamp(32px,4.8vw,68px)/1.25 var(--sans);letter-spacing:-.025em;margin:35px 0 40px;}
.business-marquee-track {animation-duration:36s;}
.business-composition {margin-top:0;}
.contact-letter,.business-contact .contact-letter {padding:0;border:0;background:transparent;}
.personal-enquiry {padding:36px;background:#fffdf880;border:1px solid #410c1615;border-radius:28px;}
.form-heading {border:0;padding:0;margin:0 0 30px;}
.form-heading>p:last-child {font:400 32px/1.25 var(--serif);letter-spacing:-.02em;margin:0;}
.letter-fields,.business-contact .letter-fields {gap:22px;}
.letter-field label {font-size:13px;letter-spacing:0;text-transform:none;margin-bottom:8px;}
.personal-enquiry .letter-field input,.personal-enquiry .letter-field textarea {border:1px solid #410c1620;border-radius:12px;background:#fffefa;padding:13px 15px;}
.personal-enquiry .letter-field textarea {min-height:140px;}
#idea-form>.editorial-link {border-radius:30px;min-height:46px;font-size:11px;}
.brand-enquiry {padding:20px 0 0;border-top:1px solid #410c1625;}
.brand-enquiry .letter-fields {grid-template-columns:1fr 1fr;}
.brand-enquiry .letter-field:has(#company) {grid-column:1/-1;}
.brand-enquiry .letter-field input {padding:12px 2px;border-radius:0;}
.brand-enquiry .letter-field textarea {border:1px solid #410c1620;border-radius:16px;padding:15px;background:#ece8e150;min-height:150px;}
.brand-enquiry .form-heading>p:last-child {font-family:var(--sans);font-size:26px;}
.social-signatures {display:flex;flex-wrap:wrap;gap:16px;align-items:center;}
.social-signatures button {border:0;padding:5px 0;min-height:36px;background:none;color:var(--wine);font:400 21px/1.2 var(--script);cursor:default;}
.footer-legal {align-items:center;}
.footer-legal .social-signatures {gap:13px;}
.footer-legal .social-signatures button {font-size:20px;}
.contact-conversation {grid-template-columns:100px 1fr;}
.contact-conversation .social-signatures {gap:9px 16px;}
.contact-detail-label {font-size:10px;letter-spacing:.09em;line-height:1.6;margin:0 0 12px;}
@media(max-width:800px){
 .studio-manifesto {width:calc(100% - 8%);min-height:660px;padding:100px 8%;justify-content:center;}
 .studio-manifesto .founders-photo {position:absolute;width:100%;height:100%;object-position:center;opacity:.19;filter:blur(3px);}
 .studio-manifesto-copy {max-width:480px;}
 .studio-manifesto-copy [data-studio-story] p {font-size:27px;}
 .studio-handwritten {font-size:85px;}
 .business-marquee {font-size:40px;}
}
@media(max-width:480px){
 .studio-manifesto {min-height:680px;padding:100px 7%;margin-bottom:35px;}
 .studio-manifesto .founders-photo {aspect-ratio:auto;max-height:none;}
 .studio-manifesto-copy [data-studio-story] p {font-size:24px;line-height:1.3;}
 .studio-handwritten {font-size:68px;}
 .studio-handwritten-top {top:34px;}
 .studio-handwritten-bottom {bottom:32px;}
 .personal-enquiry {padding:26px 20px;border-radius:22px;}
 .brand-enquiry .letter-fields {grid-template-columns:1fr;}
 .business-marquee {font-size:34px;}
 .contact-conversation {grid-template-columns:88px 1fr;}
 .social-signatures {gap:10px;}
}
@media(prefers-reduced-motion:reduce){.studio-manifesto-copy,.studio-handwritten{opacity:1!important;translate:none!important;transition:none!important;}}
