/* v9: connected invitation scenes. Original photographic content is preserved. */
:root{--paper:#f7f3ef;--ink:#292726;--rose:#a1747a;--muted:#756c67}
.slide{position:relative;isolation:isolate;overflow:hidden;animation:scene-in .55s ease both}
.scene-art{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.scene-art:before,.scene-art:after{position:absolute;content:""}
.layout{position:relative;max-width:1520px;padding:42px 7vw}
h1,h2{font-weight:720;letter-spacing:-.055em;line-height:1.2}
.section-label{font-size:12px;letter-spacing:0;font-weight:550}
.lead-note,.intro-description{font-size:16px;line-height:1.8}
.invitation>.scene-art:before{width:60vw;height:110%;right:-8vw;top:3%;background:#eadbd6;border-radius:48% 0 0 0;transform:rotate(-9deg)}
.invitation>.scene-art:after{width:47vw;height:87%;right:5vw;top:9%;border:1px solid #b7928e65;border-radius:48% 49% 40% 52%;transform:rotate(14deg)}
.invitation-layout{grid-template-columns:1.05fr .95fr;gap:1vw}
.intro-copy{position:relative;z-index:2;padding-bottom:2vh}
.cover-brand{margin-bottom:40px;color:#6c5c57}
h1{font-size:clamp(42px,4.15vw,66px);max-width:670px}
h1 .line:first-child{font-weight:780}
h1 .line:last-child{font-weight:480;font-size:.79em;letter-spacing:-.055em;margin-top:15px;color:#977079;white-space:nowrap}
.intro-description{max-width:410px;margin-top:31px}
.proposal-note{border:0;border-left:2px solid #b58f91;padding:0 0 0 17px;margin-top:30px;max-width:440px}
.proposal-note p{font-size:14px;margin-top:5px}
.cover-hint{margin-top:34px}
.portrait-figure{position:relative;max-width:480px;width:100%;z-index:1}
.portrait-mat{border-radius:48% 47% 14% 22% / 33% 38% 10% 15%;overflow:hidden;transform:rotate(2deg);mask-image:linear-gradient(#000 83%,transparent 100%)}
.portrait-mat img{height:min(65vh,630px);width:100%;object-position:center 32%;animation:portrait-arrive 1.05s cubic-bezier(.2,.65,.3,1) both;transform:scale(1.025)}
.portrait-figure figcaption{position:relative;margin:-20px 0 0 25px;grid-template-columns:auto 1fr;gap:6px 20px;z-index:2;color:#786660}
.portrait-figure strong{font-size:20px}.portrait-figure small{font-size:10px}
body[data-theme=dark]{--paper:#292727;--muted:#c4b8b2;--rose:#c9a3a6;--line:#655453}
.company-story>.scene-art:before{width:76vw;height:120%;top:-8%;right:-28vw;border:1px solid #b3938b45;border-radius:50%;transform:rotate(-16deg)}
.company-story>.scene-art:after{width:54vw;height:65%;right:-8vw;bottom:-22%;background:#89686b20;border-radius:50%}
.company-story-layout{grid-template-columns:1fr 1.12fr;gap:2vw}
.company-story-copy{position:relative;z-index:2}
.company-story-copy>.brand-mark{margin-bottom:32px}
.company-story-copy>.section-label{font-size:12px}
.company-story h2{font-size:clamp(34px,3.4vw,52px);margin-top:17px;max-width:640px}
.company-story .lead-note{font-size:16px;max-width:400px;margin-top:22px}
.company-work{border:0;margin-top:30px;max-width:400px}
.company-work>div{border:0;padding:8px 0;font-size:13px;grid-template-columns:92px 1fr;gap:14px}
.company-work dt{color:#e5c3c3}.scope-note{font-size:11px;margin-top:16px}
.company-photo{position:relative;width:116%;margin-left:-1%;z-index:1}
.company-photo img{width:100%;max-height:59vh;object-fit:contain;border-radius:35% 8% 34% 8% / 25% 6% 24% 8%;mask-image:linear-gradient(90deg,transparent 0%,#000 9%,#000 96%,transparent 100%);filter:saturate(.82);animation:documentary-reveal .9s ease both}
.company-photo figcaption{margin:8px 0 0 12%;font-size:12px}.company-photo figcaption small{font-size:10px}
.fieldwork>.scene-art:before{width:69vw;height:115%;left:-28vw;top:-2%;background:#ede0da;border-radius:50%;transform:rotate(18deg)}
.fieldwork>.scene-art:after{width:62vw;height:90%;left:-11vw;top:8%;border:1px solid #b6948e50;border-radius:50%;transform:rotate(-15deg)}
.fieldwork-layout{display:grid;grid-template-columns:1.22fr 1fr;grid-template-areas:"photo copy";gap:5vw;padding-top:40px;padding-bottom:40px}
.case-intro{align-self:center;grid-area:copy;display:block;position:relative;z-index:2;padding-bottom:3vh}
.case-intro .section-label{color:#987078;margin-bottom:24px}
.case-intro h2{font-size:clamp(34px,3.2vw,48px);line-height:1.25}
.case-intro>p:last-child{font-size:15px;line-height:1.9;margin-top:26px;max-width:370px}
.case-gallery{grid-area:photo;position:relative;z-index:1;width:110%;max-width:none;margin-left:-6%}
.case-frame img{width:100%;height:auto;max-height:57vh;object-fit:contain;border-radius:43% 18% 9% 28% / 12% 9% 15% 25%;mask-image:linear-gradient(0deg,transparent 0%,#000 11%,#000 96%,transparent 100%);filter:saturate(.9);animation:documentary-reveal .9s ease both}
.case-frame figcaption{align-self:flex-start;margin:-4px 0 0 7%;font-size:11px;position:relative;z-index:2}
.case-photo-controls{border:0;margin:18px 0 0 7%;padding:0;flex-wrap:wrap}
.case-photo-controls button{background:#fbf8f3aa;font-size:11px;padding:9px 18px}
.case-photo-controls>span{width:100%;margin:6px 0 0;font-size:10px}
.photo-reveal{animation:documentary-reveal .65s ease both!important}
.terms>.scene-art:before{width:72vw;height:150%;right:-19vw;top:-19%;background:#f7f1eb;border-radius:49% 0 0 48%;transform:rotate(15deg)}
.terms>.scene-art:after{width:51vw;height:98%;right:0;top:0;border:1px solid #b9928b45;border-radius:48%;transform:rotate(15deg)}
.settlement-layout{gap:8vw}.settlement-heading h2{font-size:clamp(38px,3.8vw,55px);line-height:1.25}
.settlement-promise{font-size:16px}.settlement-scope{font-size:14px}
.statement-example{border:0;border-radius:24px 24px 48px 8px;box-shadow:0 20px 60px #60443b15;transform:rotate(2deg);max-width:510px;padding:32px}
.closing>.scene-art:before{width:68vw;height:145%;right:-9vw;top:-25%;border:1px solid #bd9f9665;border-radius:50%;transform:rotate(-25deg)}
.closing>.scene-art:after{width:49vw;height:100%;right:-7vw;top:2%;background:#eee1dc;border-radius:50%;transform:rotate(-25deg)}
.closing-copy{position:relative;z-index:2}.closing-copy h2{font-size:clamp(40px,4vw,58px);font-weight:680}
.contact-note{border:0;position:relative;padding:42px 36px 38px;background:#f9f4efba;border-radius:42% 42% 12px 12px;min-height:290px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.contact-name{font-size:31px}.contact-note>p:not(.contact-name){font-size:13px}.contact-divider{margin:20px 0 12px}
.compact-steps{border-top-color:#c6aea675}
footer{border-top:0}#page-tabs button{width:22px}#page-tabs button[aria-current=step]{width:46px}
@keyframes portrait-arrive{from{opacity:0;transform:translateY(18px) scale(1.06)}to{opacity:1;transform:translateY(0) scale(1.025)}}
@keyframes documentary-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px) and (min-width:701px){.layout{padding:36px 5vw}h1{font-size:44px}.company-story h2,.case-intro h2{font-size:35px}.company-photo{width:110%}.company-story .lead-note{font-size:14px}.company-work>div{font-size:12px}.case-intro>p:last-child{font-size:14px}.case-gallery{width:110%}.settlement-heading h2{font-size:39px}.closing-copy h2{font-size:42px}}
@media(max-width:700px){
.slide{overflow:auto}.layout{padding:26px 25px}.invitation>.scene-art:before{width:96vw;height:65%;right:-35vw;top:-5%;border-radius:48% 0 0 45%;transform:rotate(-13deg)}
.invitation>.scene-art:after{width:78vw;height:50%;right:-22vw;top:4%;border-radius:48%;transform:rotate(13deg)}
.invitation-layout{display:grid;grid-template-columns:1fr 166px;gap:18px 10px;align-content:center}
.intro-copy{display:contents}.cover-brand{grid-column:1;grid-row:1;max-width:100px;margin:0;align-self:center}
.cover-brand .section-label{font-size:11px;line-height:1.6}
.portrait-figure{width:166px;grid-column:2;grid-row:1;margin-right:0}
.portrait-mat img{height:230px}.portrait-mat{border-radius:48% 47% 14% 22% / 33% 38% 10% 15%}
.portrait-figure figcaption{margin:-12px 0 0 12px;gap:3px 8px;font-size:10px}.portrait-figure strong{font-size:14px}.portrait-figure small{font-size:9px}
h1{font-size:36px;position:relative;z-index:2}h1 .line:last-child{font-size:.86em;margin-top:8px}
.intro-description{font-size:13px;margin:0;max-width:none;line-height:1.8}
.proposal-note{margin:0;padding:0 0 0 14px;max-width:none}.proposal-note>span{font-size:10px}.proposal-note p{font-size:12px}
.cover-hint{margin:3px 0 0;font-size:10px}
.company-story-layout{display:flex;gap:18px;padding-top:27px;padding-bottom:27px}
.company-story-copy{display:contents}.company-story-copy>.brand-mark{width:120px;height:26px;margin:0}.company-story-copy>.section-label{display:none}
.company-story h2{font-size:31px;margin:0}.company-story .lead-note{font-size:13px;margin:0}
.company-photo{width:calc(100% + 30px);margin-left:-15px}
.company-photo img{max-height:24vh;border-radius:28% 5% 25% 5% / 22% 4% 21% 4%;mask-image:linear-gradient(90deg,transparent 0%,#000 5%,#000 95%,transparent 100%)}
.company-photo figcaption{margin:6px 0 0 18px;font-size:10px}.company-photo figcaption small{font-size:9px}
.company-work{margin:0;max-width:none}.company-work>div{font-size:12px;padding:5px 0;grid-template-columns:76px 1fr;gap:12px}.scope-note{margin:0;font-size:10px}
.company-story>.scene-art:before{width:155vw;height:90%;top:28%;right:-75vw}.company-story>.scene-art:after{width:130vw;right:-60vw;height:70%;bottom:-20%}
.fieldwork-layout{display:flex;justify-content:center;gap:22px;padding:28px 25px}.case-intro{padding:0}.case-intro .section-label{margin-bottom:12px;font-size:11px}
.case-intro h2{font-size:31px}.case-intro>p:last-child{font-size:12px;line-height:1.8;margin-top:16px;max-width:none}
.case-gallery{width:calc(100% + 24px);margin-left:-12px;align-self:stretch}.case-frame img{width:100%;height:auto;max-height:34vh;border-radius:30% 12% 8% 20% / 12% 8% 12% 20%;object-fit:contain}
.case-frame figcaption{align-self:center;margin:0;font-size:10px}
.case-photo-controls{justify-content:center;margin:15px 0 0;gap:7px}.case-photo-controls button{font-size:11px}.case-photo-controls>span{font-size:9px;text-align:center;margin:4px 0 0}
.fieldwork>.scene-art:before{width:150vw;height:68%;left:-70vw;top:37%}.fieldwork>.scene-art:after{width:120vw;height:70%;left:-34vw;top:31%}
.settlement-layout{gap:25px}.settlement-heading h2{font-size:34px}.settlement-promise{font-size:13px;margin-top:16px}.settlement-scope{font-size:12px;margin-top:10px}
.statement-example{padding:24px;border-radius:20px 20px 35px 7px;transform:rotate(1.2deg)}.statement-top{font-size:21px}.statement-example dl>div{font-size:13px;padding:11px 0}
.terms>.scene-art:before{width:130vw;height:90%;right:-45vw;top:35%}.terms>.scene-art:after{width:120vw;height:80%;right:-22vw;top:35%}
.closing-layout{gap:28px}.closing-copy h2{font-size:35px}.closing .lead-note{font-size:13px}
.contact-note{display:grid;text-align:left;align-items:center;grid-template-columns:1fr 1.8fr;min-height:0;padding:24px 20px;border-radius:30px 30px 10px 10px;background:#fbf6f1c9}
.contact-name{font-size:24px}.contact-note>p:not(.contact-name){font-size:11px}.contact-divider{display:none}
.closing>.scene-art:before{width:150vw;height:105%;right:-80vw;top:6%}.closing>.scene-art:after{width:110vw;height:88%;right:-48vw;top:25%}
.compact-steps{padding-top:16px}.compact-steps li{font-size:10px}#page-tabs button[aria-current=step]{width:auto}
}
@media(max-width:700px) and (max-height:740px){
.layout{padding:20px;gap:16px}.invitation-layout{grid-template-columns:1fr 130px;gap:15px 10px}.portrait-figure{width:130px}.portrait-mat img{height:166px}h1{font-size:31px}.intro-description{font-size:12px}
.company-story h2{font-size:27px}.company-story .lead-note{font-size:12px}.company-photo img{max-height:21vh}.company-work>div{font-size:11px;padding:4px 0}.scope-note{font-size:9px}
.case-intro h2{font-size:27px}.case-intro>p:last-child{font-size:11px;margin-top:12px}.case-frame img{max-height:33vh}.case-photo-controls{margin-top:10px}
.settlement-heading h2{font-size:29px}.settlement-promise{font-size:12px;margin-top:12px}.settlement-scope{font-size:11px}.statement-example{padding:18px 20px}.statement-example dl>div{padding:9px 0;font-size:12px}
.closing-copy h2{font-size:30px}.closing-layout{gap:22px}.contact-note{padding:18px}.compact-steps{padding-top:14px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

