:root{--bg:#090909;--panel:#141414;--ink:#f4f2ee;--muted:#aaa7a4;--line:#ffffff26;--red:#d92532;--paper:#f4f2ee;--ease:cubic-bezier(.22,1,.36,1);--body:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}p,h1,h2,h3{margin-top:0}h1,h2,h3{font-weight:500}::selection{background:var(--red);color:#fff}a:focus-visible,button:focus-visible{outline:2px solid #ee626b;outline-offset:6px}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--paper);color:#111;padding:12px}.skip-link:focus{top:12px}.section-wrap{width:100%;max-width:1480px;margin-inline:auto;padding-inline:64px}.header{position:fixed;z-index:20;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 40px;transition:padding .4s,background .4s}.header.is-scrolled{padding-block:14px;background:#090909ed;border-bottom:1px solid #ffffff0f;backdrop-filter:blur(18px)}.wordmark{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand-icon{width:44px;height:44px;flex:0 0 44px;object-fit:contain;aspect-ratio:1}.brand-name{font-size:16px;letter-spacing:.015em;font-weight:700;line-height:1.25}.brand-name>span{display:block;font-size:8px;font-weight:500;color:var(--muted);letter-spacing:.13em;margin-top:5px}.header nav{display:flex;gap:7px;align-items:center;padding:6px;background:#1a1a1add;border:1px solid #ffffff0e;border-radius:100px;backdrop-filter:blur(18px)}.header nav>a{padding:10px 17px;font-size:12px;transition:background .2s,color .2s;border-radius:100px}.header nav>a:not(.nav-contact):hover{background:#ffffff12}.nav-contact{background:var(--paper);color:#111;margin-left:6px}.menu-toggle{display:none}.whatsapp-button{display:inline-flex;align-items:center;justify-content:center;gap:11px;max-width:100%;line-height:1.5}.whatsapp-icon{width:20px;height:20px;flex:0 0 20px;object-fit:contain}.button{padding:17px 25px;min-height:55px;border-radius:100px;font-size:13px;font-weight:600;transition:background .3s,transform .4s var(--ease),box-shadow .3s}.button:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0002}.button:active{transform:none}.button-light{background:var(--paper);color:#141414}.button-light:hover{background:#fff}.button-red{background:var(--red);color:#fff}.button-red:hover{background:#e93240}.button-red .whatsapp-icon,.button-outline .whatsapp-icon,.footer-whatsapp .whatsapp-icon{filter:invert(1)}.button-outline{border:1px solid #ffffff50;color:var(--ink);background:transparent}.button-outline:hover{background:#ffffff12}.button-label{font:inherit}.hero{position:relative;isolation:isolate;overflow:hidden;min-height:900px;height:100svh;max-height:1150px;background:#050505}.hero-light{position:absolute;inset:0;z-index:-1;overflow:hidden}.hero-light:before,.hero-light:after{content:'';position:absolute;pointer-events:none}.hero-light:before{inset:22% -20% -35%;background:radial-gradient(ellipse at 24% 83%,#ff5947 0,transparent 34%),radial-gradient(ellipse at 73% 90%,#d92532 0,transparent 42%),radial-gradient(ellipse at 50% 100%,#ffcab4 0,transparent 50%);filter:blur(38px);animation:stage-light 16s ease-in-out infinite alternate;opacity:.95}.hero-light:after{inset:0;background:linear-gradient(#050505 12%,transparent 72%,#09090918)}.hero-top{padding-top:165px;display:flex;justify-content:space-between;gap:50px;position:relative;z-index:2}.hero-kicker{font-size:14px;line-height:1.6;color:#c8c4bf;max-width:240px;margin-top:6px}.hero-kicker>span{display:block;margin-top:24px;font-size:11px;color:#84817e}.hero-copy{width:520px;max-width:55%}h1{font-size:clamp(38px,3.75vw,58px);line-height:1.12;letter-spacing:-.055em;margin-bottom:22px}.title-line{display:block}.title-accent{color:#b8b3ad}.hero-copy>p{font-size:13px;color:#aba6a1;margin-bottom:25px}.hero-monument{position:absolute;inset:210px 22% 25px -4%;pointer-events:none;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:0}.hero-monument>img{width:min(100%,810px);height:auto;aspect-ratio:1;object-fit:contain;opacity:.2;mix-blend-mode:screen}.hero-monument>span{position:absolute;bottom:40px;left:11%;font-size:clamp(30px,5vw,78px);font-weight:500;letter-spacing:.19em;color:#fff6}.hero-bottom{position:absolute;bottom:28px;left:0;right:0;display:flex;justify-content:space-between;gap:20px;z-index:2;font-size:10px;color:#e0d4ce}.hero-bottom>a{display:flex;align-items:center;gap:14px}.scroll-line{width:34px;height:1px;background:currentColor}.cinema{padding:35px 0 0;overflow:clip}.cinema-frame{position:relative;width:100%;min-height:650px;height:80svh;max-height:860px;clip-path:inset(0 4% round 16px);overflow:hidden}.cinema-photos{display:grid;grid-template-columns:1fr 1fr;height:100%;position:absolute;inset:0}.cinema-photos img{object-position:center 34%}.cinema-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#000c,transparent 75%),linear-gradient(90deg,#0003,transparent)}.cinema-copy{position:absolute;z-index:1;left:8%;bottom:55px}.eyebrow{font-size:10px;letter-spacing:.12em;font-weight:600;line-height:1.7;margin-bottom:27px;color:var(--muted)}h2{font-size:clamp(38px,4.7vw,69px);line-height:1.11;letter-spacing:-.055em;margin-bottom:30px}h2 em,h3 em{font:inherit;color:#a8a5a0}.cinema h2{font-size:clamp(40px,5vw,72px);margin-bottom:28px}.cinema .eyebrow{color:#e7ded8}.about{display:grid;grid-template-columns:1.15fr 1fr;gap:95px;padding-block:145px}.about h2{max-width:700px}.about-copy{padding-top:45px}.about-copy p{font-size:15px;color:var(--muted)}.about-copy .lead{font-size:23px;line-height:1.5;color:var(--ink);letter-spacing:-.025em}.about-copy .button{margin-top:20px}.experiences{padding-top:15px;padding-bottom:120px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:50px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:14px;color:var(--muted);max-width:360px;margin:0 0 5px;line-height:1.85}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.portfolio-item{position:relative;display:block;min-width:0}.portfolio-image{height:650px;position:relative;overflow:hidden;border-radius:15px;background:var(--panel)}.portfolio-image img{transition:transform 1.2s var(--ease);object-position:50% 35%}.portfolio-item:hover img{transform:scale(1.035)}.portfolio-image:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#000b);pointer-events:none}.portfolio-caption{position:absolute;z-index:1;left:30px;bottom:27px;right:30px;pointer-events:none}.portfolio-caption .eyebrow{font-size:10px;display:block;color:#dfd8d1;margin-bottom:7px}.portfolio-caption h3{font-size:24px;letter-spacing:-.03em;line-height:1.2;margin:0}.image-link{position:absolute;z-index:2;right:20px;top:20px;padding:7px 12px;background:#0005;backdrop-filter:blur(12px);border:1px solid #ffffff24;border-radius:100px;font-size:10px;color:#fff}.portfolio-wide{grid-column:1/-1}.portfolio-wide .portfolio-image{height:570px}.portfolio-wide img{object-position:center 35%}.portfolio-overlay{position:absolute;z-index:1;left:40px;bottom:35px}.portfolio-overlay .eyebrow{color:#e0d9d1}.portfolio-overlay h3{font-size:clamp(34px,4vw,58px);line-height:1.1;letter-spacing:-.045em;margin:0}.portfolio-overlay h3 em{color:#fff}.portfolio-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:25px;margin-top:35px}.text-link{font-size:13px;padding-bottom:8px;border-bottom:1px solid #ffffff60;transition:color .2s}.text-link:hover{color:#ed6a72}.services{padding-block:100px;background:#121212;border-top:1px solid #ffffff0e}.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:60px}.service-row{padding:35px 27px 40px;background:#191919;border:1px solid #ffffff0b;border-radius:14px}.service-row h3{font-size:29px;line-height:1.2;letter-spacing:-.03em;margin-bottom:55px}.service-row p{font-size:14px;line-height:1.85;color:var(--muted);margin:0}.section-cta{margin-top:35px}.journey{max-width:none;padding-block:120px;padding-inline:max(64px,calc((100vw - 1352px)/2));display:grid;grid-template-columns:1fr 1fr;gap:100px;background:var(--paper);color:#1b1b1b}.journey .eyebrow{color:#686561}.journey .button-outline{color:#1b1b1b;border-color:#1b1b1b66}.journey .button-outline:hover{background:#e5e1dc}.journey .whatsapp-icon{filter:none}.journey-steps article{display:flex;gap:24px;padding:30px 0;border-top:1px solid #1b1b1b30}.journey-steps article:first-child{padding-top:0;border-top:0}.journey-steps article>span{font-size:12px;color:#b5202b;padding-top:4px}.journey-steps h3{font-size:21px;letter-spacing:-.03em;margin-bottom:12px}.journey-steps p{font-size:15px;line-height:1.8;color:#65615c;margin:0}.contact{isolation:isolate;position:relative;overflow:hidden;background:#090909}.contact:before{content:'';position:absolute;inset:15% -20% -100%;z-index:-1;background:radial-gradient(ellipse at 50% 85%,#ff9e87,transparent 48%),radial-gradient(ellipse at 50% 70%,#d92532,transparent 62%);filter:blur(30px)}.contact-inner{padding-block:130px 105px;text-align:center}.contact h2{font-size:clamp(45px,6.4vw,92px);max-width:1000px;margin:0 auto 30px;line-height:1.05}.contact p:not(.eyebrow){font-size:15px;color:#bbb4ae;margin-bottom:30px}.contact-signature{display:block;font-size:12px;letter-spacing:.05em;margin-top:65px;color:#d5b1aa}.footer{padding-top:55px;padding-bottom:25px;border-top:1px solid #ffffff14}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:35px;padding-bottom:55px}.footer-top>p{font-size:15px;color:var(--muted)}.footer-top>p em{font:inherit;color:var(--ink)}.footer-contact{display:flex;flex-direction:column;gap:8px;font-size:13px}.footer-contact>span{color:var(--muted);font-size:11px}.footer-contact>a:hover{color:#ee7780}.footer-whatsapp{justify-content:flex-start;min-height:44px;font-weight:600}.footer-legal{font-size:10px;color:var(--muted);overflow-wrap:anywhere;margin-bottom:18px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:18px;font-size:10px;color:var(--muted)}.footer-bottom a{padding-block:8px}.header>.wordmark{animation:appear .8s both}.header nav,.hero-kicker{animation:appear 1s .2s both}.title-line{animation:mask-title 1.5s .4s cubic-bezier(.76,0,.24,1) both}.title-line:nth-child(2){animation-delay:.6s}.title-line:nth-child(3){animation-delay:.8s}.hero-copy>p{animation:appear 1s 1.2s both}.hero-copy>.button{animation:appear 1s 1.4s both}.hero-monument{animation:appear 2.3s .2s both}.hero-bottom{animation:appear 1s 1.5s both}@keyframes appear{from{opacity:0}to{opacity:1}}@keyframes mask-title{from{clip-path:inset(0 0 100%);transform:translateY(5px)}to{clip-path:inset(0);transform:none}}@keyframes stage-light{from{transform:translate3d(-3%,3%,0) scale(1)}to{transform:translate3d(5%,-5%,0) scale(1.08)}}
@media(min-width:1600px){.hero-top{padding-top:190px}.hero-monument{inset:170px 22% 0 -4%}.hero-monument>img{width:900px}}
@media(max-width:1100px){.section-wrap{padding-inline:40px}.header{padding-inline:25px}.header nav>a{padding-inline:12px;font-size:11px}.brand-name{font-size:13px}.hero{min-height:830px}.hero-top{padding-top:150px}.hero-copy{max-width:58%}.hero-monument{inset:255px 15% 30px -10%}.about{gap:50px}.service-row{padding:27px 22px}.service-row h3{font-size:26px}.portfolio-image{height:550px}.journey{padding-inline:40px;gap:55px}}
@media(max-width:760px){html{scroll-padding-top:85px}.section-wrap{padding-inline:24px}.header{padding:17px 20px}.header.is-scrolled{padding-block:12px}.brand-icon{width:38px;height:38px;flex-basis:38px}.brand-name{font-size:13px}.brand-name>span{font-size:7px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;align-items:center;width:44px;height:44px;border:1px solid #ffffff30;background:#181818;border-radius:50%;color:var(--ink)}.menu-toggle>span{width:17px;height:1px;background:currentColor;transition:transform .3s}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.header nav{display:none;position:absolute;top:calc(100% + 5px);left:20px;right:20px;background:#191919;flex-direction:column;align-items:stretch;padding:15px;border-radius:18px;border:1px solid #ffffff20}.header nav.is-open{display:flex;animation:appear .25s both}.header nav>a{padding:13px 15px;font-size:14px}.nav-contact{margin:7px 0 0}.hero{min-height:880px;height:100svh;max-height:1050px}.hero-top{display:block;padding-top:120px}.hero-kicker{font-size:11px;margin:0 0 30px;max-width:none}.hero-kicker br{display:none}.hero-kicker>span{display:none}.hero-copy{max-width:100%;width:100%}h1{font-size:clamp(33px,7.6vw,52px);letter-spacing:-.055em;max-width:560px}.hero-copy>p{font-size:14px}.hero-monument{inset:390px -15% 30px;justify-content:center}.hero-monument>img{width:530px;max-width:100%;opacity:.24}.hero-monument>span{font-size:36px;bottom:32px;left:50%;transform:translateX(-50%)}.hero-bottom{bottom:24px;font-size:9px}.hero-bottom>span{max-width:145px}.hero-bottom>a{gap:8px;max-width:145px}.scroll-line{width:15px;flex-shrink:0}.hero-light:before{inset:35% -35% -20%;filter:blur(25px);animation:none}.button{font-size:13px;padding:16px 21px;min-height:53px}.cinema{padding-top:16px}.cinema-frame{height:640px;min-height:0;clip-path:inset(0 16px round 12px)}.cinema-photos{grid-template-columns:1fr}.cinema-photos>img:nth-child(2){display:none}.cinema-copy{left:32px;right:32px;bottom:35px}.cinema h2{font-size:41px}.cinema .eyebrow{font-size:9px}h2{font-size:clamp(34px,7.8vw,49px);letter-spacing:-.05em}.eyebrow{font-size:9px;margin-bottom:21px}.about{padding-block:75px;grid-template-columns:1fr;gap:8px}.about-copy{padding-top:0}.about-copy p{font-size:16px}.about-copy .lead{font-size:23px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{font-size:16px;max-width:none;margin-top:25px}.experiences{padding-top:0;padding-bottom:75px}.portfolio-grid{grid-template-columns:1fr;gap:20px}.portfolio-wide{grid-column:auto}.portfolio-image{height:530px;border-radius:12px}.portfolio-wide .portfolio-image{height:490px}.portfolio-caption{left:23px;bottom:25px;right:23px}.portfolio-caption h3{font-size:23px}.image-link{font-size:9px;right:15px;top:15px}.portfolio-overlay{left:24px;bottom:28px;right:24px}.portfolio-overlay h3{font-size:35px}.portfolio-overlay .eyebrow{font-size:8px}.portfolio-footer{align-items:flex-start;flex-direction:column;gap:24px}.services{padding-block:75px}.service-list{grid-template-columns:1fr;margin-top:30px;gap:14px}.service-row{padding:30px}.service-row h3{font-size:28px;margin-bottom:25px}.service-row h3 br{display:none}.service-row p{font-size:16px}.journey{padding:75px 24px;grid-template-columns:1fr;gap:45px}.journey-steps h3{font-size:21px}.journey-steps p{font-size:16px}.contact-inner{padding-block:85px 65px}.contact h2{font-size:clamp(36px,8.4vw,55px)}.contact p:not(.eyebrow){font-size:16px}.contact-signature{margin-top:45px}.footer{padding-top:40px}.footer-top{display:grid;grid-template-columns:1fr;gap:28px;padding-bottom:35px}.footer-top>p{display:none}.footer-contact{font-size:14px}.footer-legal{font-size:10px;line-height:1.9}.footer-bottom{font-size:9px}.footer-bottom>span{max-width:205px}.footer-bottom>a{white-space:nowrap}}
@media(max-width:380px){.hero{min-height:820px}.hero-top{padding-top:110px}.hero-kicker{font-size:10px}h1{font-size:32px}.hero-monument{inset:370px -15% 20px}.hero-monument>span{font-size:29px}.portfolio-image{height:450px}.cinema h2{font-size:35px}.button{padding-inline:18px;font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Soft light waves, rendered independently of content and scrolling. */
.hero-light.has-wave:before{display:none}
.hero-light>.light-wave{position:absolute;inset:0;width:100%;height:100%;filter:blur(22px);opacity:.95;pointer-events:none}
@media(max-width:760px){.hero-light>.light-wave{filter:blur(15px);opacity:.85}}

/* Reference-aligned sequence: statement, supporting text, expanding photograph. */
.about{display:block;padding-top:180px;padding-bottom:110px}
.about>div:first-child{width:78%;margin-left:22%}
.about h2{font-size:clamp(45px,5.7vw,86px);line-height:1.08;max-width:1120px;letter-spacing:-.05em}
.about-copy{width:78%;margin-left:22%;display:grid;grid-template-columns:1fr 1fr;gap:25px 45px;padding-top:45px;align-items:start}
.about-copy .lead{font-size:20px;line-height:1.55;margin:0}
.about-copy>p:not(.lead){font-size:15px;margin:0}
.about-copy>.button{justify-self:start;grid-column:1/-1;margin-top:12px}
.cinema{padding:30px 0 0;overflow:clip}
.cinema-frame{clip-path:none;transform-origin:center center;border-radius:20px;height:90svh;max-height:1100px;min-height:650px;will-change:transform}
.experiences{padding-top:155px}
.reveal-word{display:inline-block}
.reveal-pending .reveal-word{opacity:.001;filter:blur(4px);transform:translateY(10px)}
.reveal-block.reveal-pending{opacity:0;transform:translateY(35px)}
@media(max-width:760px){.about{padding-top:85px;padding-bottom:60px}.about>div:first-child,.about-copy{width:100%;margin-left:0}.about h2{font-size:clamp(34px,8.5vw,52px)}.about-copy{grid-template-columns:1fr;gap:20px;padding-top:15px}.about-copy>p:not(.lead){font-size:16px}.cinema{padding:0 16px}.cinema-frame{min-height:0;height:650px;border-radius:12px;will-change:auto}.experiences{padding-top:80px}.cinema-copy{left:22px;right:22px}}
@media(prefers-reduced-motion:reduce){.reveal-pending .reveal-word,.reveal-block.reveal-pending{opacity:1;filter:none;transform:none}.cinema-frame{transform:none!important;will-change:auto}}

.cinema-photos>img,.portfolio-image>img{transform-origin:50% 50%}
.photo-pending{opacity:0}
@media(prefers-reduced-motion:reduce){.photo-pending{clip-path:none;opacity:1}}

.cinema-photo-slot{height:100%;min-width:0;overflow:hidden}
.cinema-photo-slot>img{width:100%;height:100%;object-fit:cover;object-position:center 34%}
@media(max-width:760px){.cinema-photo-slot:nth-child(2){display:none}}

/* Framing follows scroll position in either direction; photographs stay visible. */
.portfolio-image,.cinema-frame{transform-origin:50% 50%;clip-path:none}
.portfolio-image>img,.cinema-photos img{transition:none;transform-origin:50% 50%;clip-path:none;opacity:1}
.portfolio-item:hover img{transform:none}
.portfolio-caption,.portfolio-overlay,.cinema-copy{transition:none}
@media(prefers-reduced-motion:reduce){.portfolio-image,.cinema-frame,.portfolio-image>img,.cinema-photos img{transform:none!important}.portfolio-caption,.portfolio-overlay,.cinema-copy{opacity:1!important}}

/* Client album photographs and uncropped sample spreads. */
.cinema-photos{grid-template-columns:1fr}
.cinema-photos>img{object-position:50% 45%}
.portfolio-image{height:auto;aspect-ratio:1/1}
.portfolio-wide .portfolio-image{height:620px;aspect-ratio:auto}
.portfolio-wide img{object-fit:contain;object-position:right center;background:#141414}
.portfolio-wide .portfolio-image:after{inset:0;background:linear-gradient(90deg,#141414 0%,#141414d9 28%,transparent 65%)}
.portfolio-wide .portfolio-overlay{max-width:45%}
.album-section{padding-top:20px;padding-bottom:120px}
.album-spreads{display:grid;gap:50px}
.album-spreads figure{margin:0}
.album-spreads a{display:block;overflow:hidden;border-radius:6px;background:#191919}
.album-spreads img{width:100%;height:auto;aspect-ratio:2/1;object-fit:contain}
.album-spreads figcaption{display:flex;justify-content:space-between;gap:18px;padding-top:17px;font-size:14px}
.album-spreads figcaption>span:last-child{font-size:12px;color:var(--muted)}
@media(max-width:760px){.cinema-frame{height:560px}.cinema-photos>img{object-position:30% center}.portfolio-wide .portfolio-image{height:540px}.portfolio-wide img{object-fit:cover;object-position:center top}.portfolio-wide .portfolio-image:after{background:linear-gradient(0deg,#000c,transparent 75%)}.portfolio-wide .portfolio-overlay{max-width:none}.album-section{padding-bottom:75px}.album-spreads{gap:30px}.album-spreads figcaption{font-size:12px}.album-spreads figcaption>span:last-child{font-size:10px}}

/* Fill the family feature with the photograph, without an empty side panel. */
.portfolio-wide img{object-fit:cover;object-position:center 38%;background:transparent}
.portfolio-wide .portfolio-image:after{background:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.08) 72%)}
.portfolio-wide .portfolio-overlay{max-width:70%}
@media(max-width:760px){.portfolio-wide img{object-position:center top}.portfolio-wide .portfolio-overlay{max-width:none}}

/* Lower-page reveals and non-interactive album images. */
.album-spreads figure>div{display:block;overflow:hidden;border-radius:6px;background:#191919}
.lower-reveal-ready{opacity:0;transform:translate3d(0,28px,0);transition:opacity 1.4s ease,transform 1.6s cubic-bezier(.22,1,.36,1);transition-delay:var(--lower-delay,0ms)}
.lower-reveal-ready.lower-reveal-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.lower-reveal-ready{opacity:1;transform:none;transition:none}}

/* Preserve faces at the top of the family photograph, including during zoom. */
.portfolio-wide img{object-position:center top;transform-origin:center top}

/* Graceful fallback for modest devices and browsers with slow scrolling. */
.performance-lite canvas{display:none!important}
.performance-lite .hero-light{background:radial-gradient(ellipse at 50% 70%,rgba(221,25,43,.22),transparent 65%)}
.performance-lite .cinema-frame,.performance-lite .cinema-photos img,.performance-lite .portfolio-image,.performance-lite .portfolio-image img{transform:none!important;will-change:auto!important}
.performance-lite .reveal-word{filter:none!important;transform:none!important;transition:opacity .65s ease!important}
.performance-lite .lower-reveal-ready{transform:none!important;transition:opacity .7s ease!important;transition-delay:0ms!important}
.performance-lite .portfolio-caption,.performance-lite .portfolio-overlay{opacity:1!important}
.performance-lite header,.performance-lite nav{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.performance-lite .hero,.performance-lite .hero-light,.performance-lite .cinema-frame{filter:none!important}

/* Official supplied brand and introductory company credentials. */
img.official-logo{display:block;width:230px!important;height:auto!important;max-width:100%;object-fit:contain!important;aspect-ratio:2048/562}
.hero img.official-logo{width:min(85vw,1100px)!important;margin-inline:auto}
footer img.official-logo{width:300px!important}
.credentials{padding-top:100px;padding-bottom:100px;background:radial-gradient(ellipse at 100% 0%,rgba(226,24,43,.1),transparent 60%)}
.credentials-heading h2{font-size:clamp(32px,4.5vw,66px);font-weight:500;line-height:1.08;letter-spacing:-.045em;margin:24px 0 60px}
.credentials-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 46px;gap:28px}
.credentials-grid>div{display:flex;flex-direction:column-reverse;gap:18px;border-top:1px solid #ffffff26;padding-top:28px}
.credentials-grid dt{font-size:16px;color:#aaa}
.credentials-grid dd{margin:0;font-size:clamp(40px,5.4vw,80px);font-weight:500;line-height:1.1;letter-spacing:-.055em;white-space:nowrap}
.credentials-grid dd span{font-size:.65em;color:#ed1b2e;margin-right:5px}
.credentials-cta{display:inline-flex;align-items:center;gap:12px;background:#e51b2d;color:white;border-radius:999px;padding:19px 26px;font-size:15px;font-weight:600;text-decoration:none}
.credentials-cta img{width:24px;height:24px}
@media(max-width:760px){img.official-logo{width:170px!important}.credentials{padding-top:65px;padding-bottom:65px}.credentials-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 18px}.credentials-heading h2{margin-bottom:38px}.credentials-grid dd{font-size:clamp(38px,9vw,64px)}.credentials-grid dt{font-size:14px}}

/* Keep the official wordmark clear of the hero copy and CTA. */
.hero{position:relative}
.hero img.hero-official-mark{position:absolute!important;left:6vw!important;right:auto!important;top:auto!important;bottom:22%!important;width:min(48vw,760px)!important;height:auto!important;margin:0!important;opacity:1!important;filter:none!important;transform:none!important;mix-blend-mode:screen;z-index:1;pointer-events:none;border-radius:6% / 23%}
.hero a{position:relative;z-index:3}
@media(max-width:760px){.hero{padding-bottom:230px!important;min-height:850px}.hero img.hero-official-mark{left:6vw!important;bottom:100px!important;width:88vw!important;max-width:88vw!important}}

.credentials .credential-pending{opacity:0;transform:translateY(22px);transition:opacity 1.1s ease,transform 1.4s cubic-bezier(.22,1,.36,1);transition-delay:var(--credential-delay,0ms)}
.credentials .credential-visible{opacity:1;transform:none}
.credentials-grid dd .credential-count{font-size:inherit;color:inherit;margin:0;font-variant-numeric:tabular-nums}
.credentials-cta img{filter:brightness(0) invert(1)}
.performance-lite .credentials .credential-pending{transform:none;transition:opacity .6s ease;transition-delay:0ms}
@media(prefers-reduced-motion:reduce){.credentials .credential-pending{opacity:1;transform:none;transition:none}}

/* Remove black JPEG corners from every placement of the supplied logo. */
img.official-logo{border-radius:6% / 23%;mix-blend-mode:screen}

/* Native section settling keeps touch, keyboard and tall sections accessible. */
html{scroll-behavior:smooth;scroll-snap-type:y proximity;scroll-padding-top:100px}
main>section,body>footer{scroll-snap-align:start;scroll-snap-stop:normal}
@media(max-width:760px){html{scroll-padding-top:85px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;scroll-snap-type:none}}

/* Touch scrolling stays native: no snapping or scroll-linked visual movement. */
@media (pointer:coarse){
  html,body{scroll-behavior:auto!important;scroll-snap-type:none!important}
  main>section,body>footer{scroll-snap-align:none!important}
  .cinema-frame,.cinema-photos img,.portfolio-image,.portfolio-image img{transform:none!important;will-change:auto!important;transition:none!important}
  .lower-reveal-ready,.credential-pending,.reveal-word{opacity:1!important;transform:none!important;filter:none!important;transition:none!important;will-change:auto!important}
  .portfolio-caption,.portfolio-overlay{opacity:1!important;transform:none!important;transition:none!important}
  header,nav{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}

html:has(body.legal-page){scroll-snap-type:none;scroll-padding-top:110px}
.legal-page{min-height:100vh}
.legal-main{padding-top:150px;padding-bottom:90px;max-width:820px}
.legal-page h1{font-size:clamp(32px,5vw,48px);letter-spacing:-.045em;line-height:1.15;margin-bottom:12px}
.legal-updated{font-size:13px;color:var(--muted);margin-bottom:28px}
.legal-nav{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:42px;padding-bottom:22px;border-bottom:1px solid var(--line);font-size:13px}
.legal-nav a{color:#ee7780}
.legal-nav a[aria-current=page]{color:var(--ink);text-decoration:underline}
.legal-main h2{font-size:clamp(22px,3vw,28px);letter-spacing:-.03em;margin:36px 0 12px}
.legal-main p,.legal-main li{color:var(--muted);font-size:15px;line-height:1.85}
.legal-main ul,.legal-main ol{padding-left:22px;margin:0 0 8px}
.legal-main li+li{margin-top:8px}
.legal-main a{color:#ee7780;text-decoration:underline}
.legal-main strong{color:var(--ink);font-weight:600}
.footer-legal-nav{display:flex;flex-wrap:wrap;gap:16px;margin:0 0 18px;font-size:12px}
.footer-legal-nav a{color:#c8c4bf}
.footer-legal-nav a:hover{color:#ee7780}
@media(max-width:760px){.legal-main{padding-top:120px;padding-bottom:70px}}
