:root{--surface:#141311;--surface-alt:#1d1916;--text:#f4f0e9;--subtle:#b8aa9d;--border:#ffffff29;--accent:#bfa78e;--field:#241f1b;color-scheme:dark}
:root[data-theme=light]{--surface:#faf8f4;--surface-alt:#eee7dd;--text:#29221c;--subtle:#756452;--border:#29221c30;--accent:#825e41;--field:#fffdf9;color-scheme:light}
body,.header,.opening,.stories,.contact,.approach{background:var(--surface);color:var(--text)}body{transition:background .35s,color .35s}.header{border-color:var(--border)}.header-actions{justify-self:end;display:flex;gap:25px;align-items:center}.header-actions .nav-contact{font-size:12px;text-transform:uppercase;letter-spacing:1px;border:0}.theme-toggle{border:1px solid var(--border);background:transparent;color:var(--text);border-radius:30px;padding:9px 13px;display:flex;gap:8px;align-items:center;font-size:12px}.theme-icon{font-size:18px;line-height:1}.theme-toggle:hover{background:var(--surface-alt)}.opening-note-label,.opening-note>div>p,.opening-bottom,.portfolio-heading>p,.portfolio-intro>span,.portfolio-intro>p,.story-label>span,.stories-end .small-note{color:var(--subtle)}.opening-note h2 em{color:var(--accent)}.opening-bottom,.portfolio-intro,.stories-end{border-color:var(--border)}.portfolio-heading h2,.story-card,.stories-end .text-link{color:var(--text)}.story-image{outline-color:var(--border)}.story-label h3{font-size:clamp(29px,3vw,43px)}.story-card:nth-child(3n){grid-column:1/-1;width:74%;justify-self:center}.story-card:nth-child(3n) .story-image{aspect-ratio:1.85}.story-card:nth-child(3n+1){margin-top:90px}.story-card:nth-child(3n+2){width:100%;margin-left:0}.story-card:nth-child(3n+2) .story-image{aspect-ratio:.84}.story-image img{will-change:transform;transition:transform 1.2s cubic-bezier(.22,1,.36,1),filter .6s}.story-card:hover .story-image img{transform:scale(1.075)}.image-action{opacity:1;transform:none;display:flex;gap:8px;background:#f4f0e9eb;font-size:12px}.story-card .image-action:after{content:'↗';transition:transform .3s}.story-card:hover .image-action:after{transform:translate(3px,-3px)}.story-card.reveal{transition:opacity 1s,transform 1.1s cubic-bezier(.22,1,.36,1)}.motion-ready .story-card.reveal:not(.visible){transform:translateY(65px)}.series-meta{display:block;color:var(--subtle);font-size:12px;margin-top:13px;letter-spacing:.5px}.approach{background:var(--surface-alt)}.approach .eyebrow-static,.approach-copy>p:not(.lead),.services details>p,.services summary>span,.contact-intro>p:not(.eyebrow-static),.location span,.form-hint{color:var(--subtle)}.approach h2 em,.contact h2 em{color:var(--accent)}.services details,.services details:last-child{border-color:var(--border)}.services summary>[data-copy]{font-size:14px;color:var(--text);margin:0}.contact-form input:not([type=radio]),.contact-form textarea{color:var(--text);border-color:var(--border)}.choice-row span,.instagram{border-color:var(--border)}.choice-row input:checked+span{background:var(--text);color:var(--surface);border-color:var(--text)}.primary-button{background:var(--text);color:var(--surface);border-color:var(--text)}.primary-button:hover{background:var(--accent);color:var(--surface)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--subtle)}[data-copy]{white-space:pre-line}.contact h2 [data-copy]{display:block}.compact-footer{background:var(--surface-alt);color:var(--text);padding:52px 8% 25px;border-top:1px solid var(--border)}.footer-cta{display:flex;justify-content:space-between;gap:35px;align-items:center;padding-bottom:45px}.footer-cta .eyebrow-static{font-size:11px;letter-spacing:1.7px;margin-bottom:15px;color:var(--subtle)}.footer-cta h2{font-size:clamp(38px,4vw,58px)}.footer-cta p:last-child{color:var(--subtle);font-size:14px;margin-bottom:0}.whatsapp-cta{border:1px solid var(--border);padding:20px 25px;display:flex;gap:48px;align-items:center;transition:background .25s;min-width:275px;font-size:16px}.whatsapp-cta:hover{background:var(--text);color:var(--surface)}.whatsapp-cta small{display:block;font-size:12px;letter-spacing:1px;margin-top:8px}.whatsapp-cta>span:last-child{font-size:29px}.footer-bottom{border-color:var(--border);font-size:11px;letter-spacing:.3px}.footer-wordmark{font-family:var(--serif);font-size:36px;line-height:1}.footer-bottom>div{display:flex;gap:24px;align-items:center}.compact-footer .footer-bottom>span:nth-child(2){display:block}.stories-empty{padding:40px 0;color:var(--subtle)}
dialog#story-dialog{width:min(1240px,94vw);max-height:92svh;background:var(--surface);color:var(--text)}dialog#story-dialog[open]{display:grid;grid-template-columns:1.8fr 1fr;animation:gallery-enter .4s ease}.series-gallery{background:#12110f;min-width:0}.gallery-stage{height:min(65svh,700px);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}#dialog-image{width:100%;height:100%;min-height:0;max-height:none;object-fit:contain;animation:gallery-enter .35s ease}#dialog-video{width:100%;height:100%;object-fit:contain}.gallery-stage>[hidden]{display:none!important}.gallery-prev,.gallery-next{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:1px solid #ffffff55;border-radius:50%;background:#191714a6;color:#fff;font-size:20px}.gallery-prev{left:14px}.gallery-next{right:14px}.gallery-count{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);background:#161412b3;color:white;padding:6px 11px;font-size:12px;pointer-events:none}.gallery-thumbs{display:flex;gap:8px;padding:12px;overflow-x:auto}.gallery-thumbs button{border:1px solid transparent;padding:0;background:#332c25;flex-shrink:0;width:60px;height:60px;color:#fff;font-size:12px}.gallery-thumbs button[aria-current=true]{border:2px solid #e2cbb0}.gallery-thumbs img{width:100%;height:100%;object-fit:cover}.dialog-close{color:var(--text);background:var(--surface-alt);width:40px;height:40px}.dialog-copy>p:not(.eyebrow-static){color:var(--subtle)}.dialog-copy{padding:70px 32px 40px}.dialog-copy .text-link{border-color:var(--border)}#dialog-sample{font-size:12px}.film-bottom,.hero-content,.bridge-caption{color:#f4f0e9}.story-label>span{font-size:11px}.content-notice{font-size:14px;color:var(--subtle)}@keyframes gallery-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.header-actions{gap:12px}.theme-toggle{padding:8px;width:34px;height:34px;justify-content:center}.theme-label{display:none}.header-actions .nav-contact{font-size:10px}.story-card:nth-child(3n+1){margin-top:0}.story-card:nth-child(3n+2){width:88%;justify-self:end}.story-card:nth-child(3n){width:100%;margin-top:0}.story-card:nth-child(3n) .story-image{aspect-ratio:1.3}.footer-cta{display:block;padding-bottom:30px}.whatsapp-cta{margin-top:27px;justify-content:space-between;min-width:0}.compact-footer{padding:38px 6% 22px}.footer-bottom{display:flex;flex-wrap:wrap;gap:20px}.footer-wordmark{font-size:32px}.footer-bottom>span{font-size:10px;flex:1;text-align:right}.footer-bottom>div{width:100%;justify-content:space-between}.gallery-stage{height:49svh}.dialog-copy{padding:28px}.dialog-copy h2{font-size:36px}dialog#story-dialog[open]{grid-template-columns:1fr}.gallery-thumbs button{width:48px;height:48px}.gallery-thumbs{padding:8px}.gallery-prev,.gallery-next{width:34px;height:34px}.contact-form legend,.contact-form label{font-size:14px}.story-label h3{max-width:100%}.story-label>span{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.motion-ready .story-card.reveal:not(.visible){opacity:1;transform:none}}

.mid-film{height:80svh;min-height:500px;max-height:950px;position:relative;overflow:hidden;background:#24221f;color:#fff}.mid-film>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.68)}.mid-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0005,transparent 55%,#0001)}.mid-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 8%;text-align:center}.mid-copy h2{font-size:clamp(55px,7.4vw,120px);line-height:.98;letter-spacing:.015em;font-weight:400;max-width:1100px}.mid-copy>p{font-size:12px;letter-spacing:2.5px;margin-top:32px}.mid-film-index{position:absolute;bottom:30px;left:6%;font-size:10px;letter-spacing:1.5px}.mid-control{bottom:25px!important;right:6%!important}.mid-film.reveal{transition:opacity 1.2s ease,transform 1.2s ease}@media(max-width:700px){.mid-film{height:66svh;min-height:430px}.mid-copy h2{font-size:clamp(43px,11vw,70px)}.mid-copy>p{font-size:10px;letter-spacing:1.4px;max-width:230px;line-height:1.8}.mid-film-index{font-size:9px;bottom:30px}.mid-control{width:36px;height:36px}}
.faq-section{display:grid;grid-template-columns:1fr 1.3fr;gap:12%;background:var(--surface);color:var(--text);border-bottom:1px solid var(--border)}.faq-section[hidden]{display:none}.faq-intro{align-self:start;position:sticky;top:45px}.faq-intro h2{font-size:clamp(42px,4.5vw,68px);max-width:380px}.faq-intro>.eyebrow-static{font-size:11px;color:var(--subtle)}.faq-intro>p:not(.eyebrow-static){font-size:15px;line-height:1.8;color:var(--subtle);margin-top:24px;max-width:330px}.faq-intro .text-link{font-size:12px;border-color:var(--border)}.faq-item{border-top:1px solid var(--border)}.faq-item:last-child{border-bottom:1px solid var(--border)}.faq-item summary{display:grid;grid-template-columns:25px 1fr 22px;gap:18px;align-items:center;padding:27px 0;list-style:none;cursor:pointer;font-family:var(--serif);font-size:26px;line-height:1.2}.faq-item summary::-webkit-details-marker{display:none}.faq-number{font-family:var(--sans);font-size:10px;color:var(--subtle)}.faq-plus{font-family:var(--sans);font-size:22px;font-weight:400;text-align:right;transition:transform .3s}.faq-item[open] .faq-plus{transform:rotate(45deg)}.faq-item>p{font-size:15px;line-height:1.9;color:var(--subtle);margin:0 34px 28px 43px;white-space:pre-line;overflow-wrap:anywhere}.faq-item summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.faq-item[open]>p{animation:gallery-enter .3s ease}[data-faq-link][hidden]{display:none}@media(max-width:700px){.faq-section{grid-template-columns:1fr;gap:35px;padding:60px 6%}.faq-intro{position:static}.faq-intro h2{font-size:46px}.faq-intro>p:not(.eyebrow-static){max-width:100%;font-size:14px;margin:20px 0 0}.faq-item summary{font-size:24px;gap:12px;padding:22px 0;grid-template-columns:20px 1fr 20px}.faq-item>p{font-size:14px;line-height:1.85;margin:0 20px 24px 32px}.compact-footer .footer-bottom>div{gap:15px}}
.instagram-section{display:grid;grid-template-columns:1fr 1.15fr;gap:12%;align-items:center;background:var(--surface-alt);color:var(--text);border-top:1px solid var(--border)}.instagram-copy .eyebrow-static{font-size:11px;color:var(--subtle)}.instagram-copy h2{font-size:clamp(43px,4.5vw,72px);max-width:440px}.instagram-copy>p:not(.eyebrow-static){font-size:15px;line-height:1.8;color:var(--subtle)}.instagram-handle{display:flex;justify-content:space-between;align-items:center;gap:25px;font-family:var(--serif);font-size:46px;border-bottom:1px solid var(--border);margin-top:30px;padding-bottom:13px;max-width:330px}.instagram-handle span{font-family:var(--sans);font-size:30px}.instagram-copy>.instagram-fallback{font-size:12px!important;margin-top:25px;max-width:320px}.instagram-fallback a{text-decoration:underline;text-underline-offset:4px}.instagram-frame{width:100%;min-width:0;justify-self:end;max-width:540px}.instagram-frame .instagram-media{margin:0!important;width:100%!important;min-width:0!important;max-width:540px!important;box-shadow:none!important;background:#fff;border:1px solid #dbd7d0;border-radius:4px;overflow:hidden}.instagram-placeholder{display:flex;align-items:center;justify-content:center;flex-direction:column;color:#302820;padding:40px 20px;min-height:380px;gap:13px}.ig-mark{font-size:55px;line-height:1}.instagram-placeholder strong{font-size:25px;font-family:var(--serif);font-weight:400}.instagram-placeholder>span:not(.ig-mark){font-size:13px}.instagram-placeholder .ig-view{border-top:1px solid #ddd4c8;padding-top:25px;margin-top:16px}.instagram-status{font-size:10px;color:var(--subtle);margin:12px 0 0;text-align:center}.instagram-frame iframe{max-width:100%!important}@media(max-width:700px){.instagram-section{grid-template-columns:1fr;gap:35px;padding:60px 6%}.instagram-copy h2{font-size:46px;max-width:360px}.instagram-copy>p:not(.eyebrow-static){font-size:14px}.instagram-handle{font-size:40px;max-width:none}.instagram-frame{justify-self:center}.instagram-placeholder{min-height:330px}}

/* Responsive Instagram browser / iPhone presentation. */
.instagram-device{--chrome:#29231e;--chrome-text:#c9bdb1;position:relative;border:1px solid #68594b;border-radius:13px;background:var(--chrome);padding:0 8px 8px;box-shadow:0 28px 70px #0003,0 2px 5px #0002;isolation:isolate}
:root[data-theme=light] .instagram-device{--chrome:#e3dbd1;--chrome-text:#776959;border-color:#b7a897;box-shadow:0 28px 70px #59412b20,0 2px 5px #59412b15}
.ig-browser-bar{display:flex;align-items:center;gap:18px;height:52px;padding:0 9px;color:var(--chrome-text)}
.ig-window-dots{display:flex;gap:6px;flex:none}.ig-window-dots i{width:7px;height:7px;background:currentColor;border-radius:50%;opacity:.6}.ig-window-dots i:nth-child(2){opacity:.4}.ig-window-dots i:nth-child(3){opacity:.25}
.ig-address{display:flex;align-items:center;gap:7px;flex:1;min-width:0;background:#ffffff0a;border:1px solid #ffffff0b;border-radius:6px;font-size:10px;padding:7px 9px;letter-spacing:.2px}.ig-address svg{height:13px;width:13px;flex:none}.ig-address>span{margin-left:auto;font-size:14px;line-height:1}.ig-browser-more{font-size:18px;letter-spacing:1px;line-height:1}
:root[data-theme=light] .ig-address{background:#ffffff60;border-color:#fff8}
.ig-device-screen{background:#fff;border-radius:5px;overflow:auto;max-height:640px;scrollbar-width:thin;color-scheme:light}.instagram-frame .instagram-media{border:0!important;border-radius:0!important;display:block}.instagram-frame iframe{display:block!important;width:100%!important;min-width:0!important;border:0!important;border-radius:0!important}
.ig-phone-status,.ig-phone-bottom{display:none}
@media(max-width:700px){
.instagram-frame{max-width:340px;width:100%;padding:0 4px}.instagram-device{--chrome:#131313!important;--chrome-text:#171717!important;border-radius:48px;border:2px solid #8f8172!important;background:var(--chrome);padding:8px;box-shadow:0 25px 55px #0003,inset 0 0 0 2px #242220!important}
.instagram-device:before,.instagram-device:after{content:'';position:absolute;width:3px;border-radius:3px;background:#8f8172;top:112px;left:-4px;height:59px}.instagram-device:after{top:137px;left:auto;right:-4px;height:76px}
.ig-browser-bar{display:none}.ig-phone-status{position:relative;display:flex;align-items:center;justify-content:space-between;height:59px;background:#fff;color:#171717;border-radius:37px 37px 0 0;padding:4px 23px 0;font-family:Arial,sans-serif;font-size:12px;font-weight:700}.ig-phone-status>svg{width:47px;height:15px}.ig-dynamic-island{position:absolute;left:50%;top:11px;transform:translateX(-50%);height:25px;width:94px;background:#111;border-radius:25px}.ig-dynamic-island:after{content:'';position:absolute;right:11px;top:8px;width:9px;height:9px;background:#162029;border:2px solid #1e2227;border-radius:50%}
.ig-device-screen{height:510px;max-height:none;border-radius:0;scrollbar-width:none}.ig-device-screen::-webkit-scrollbar{display:none}.ig-phone-bottom{display:flex;justify-content:center;align-items:flex-end;height:32px;background:#fff;border-radius:0 0 37px 37px;padding-bottom:9px}.ig-phone-bottom>span{width:104px;height:4px;background:#171717;border-radius:4px}.instagram-placeholder{min-height:510px}.instagram-status{margin-top:20px;font-size:10px;letter-spacing:.3px}
}
