:root{--paper:#f2f0eb;--ink:#171715;--muted:#6f6c64;--line:#d8d4cc;--gold:#8c6e43;--night:#171817;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;overflow-x:hidden}img{max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.04em;line-height:.95}.skip-link{position:fixed;left:18px;top:12px;z-index:100;transform:translateY(-150%);background:var(--ink);color:white;padding:10px 14px;border-radius:4px;font-size:14px}.skip-link:focus{transform:none}.site-header{height:92px;background:rgba(247,246,242,.96);display:flex;align-items:center;padding:0 clamp(24px,5vw,76px);position:relative;z-index:20;border-bottom:1px solid rgba(0,0,0,.05)}.brand{display:flex;align-items:center;gap:12px;min-width:210px}.brand-mark{width:35px;height:35px;border:1px solid #7f7a72;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:20px}.brand strong,.brand small{display:block;line-height:1.05;letter-spacing:.12em}.brand strong{font-family:var(--serif);font-weight:400;font-size:17px}.brand small{font-size:10px;margin-top:5px;color:var(--muted)}.desktop-nav{display:flex;gap:34px;margin:auto;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.desktop-nav a,.contact-link{position:relative}.desktop-nav a:after,.contact-link:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:right .3s}.desktop-nav a:hover:after,.contact-link:hover:after{right:0}.header-actions{display:flex;align-items:center;gap:24px}.contact-link{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.menu-button{width:44px;height:44px;border:0;border-radius:50%;background:var(--ink);display:grid;place-content:center;gap:5px;cursor:pointer}.menu-button span{display:block;width:14px;height:1px;background:white;transition:transform .25s,opacity .25s}.menu-button[aria-expanded="true"] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-button[aria-expanded="true"] span:last-child{transform:translateY(-3px) rotate(-45deg)}.mobile-menu{position:absolute;top:92px;left:0;right:0;background:var(--paper);padding:22px 24px 32px;display:none;flex-direction:column;gap:18px;border-bottom:1px solid var(--line);box-shadow:0 18px 35px rgba(0,0,0,.08);max-height:calc(100svh - 76px);overflow-y:auto}.mobile-menu.open{display:flex}.mobile-menu a{font-size:14px;min-height:28px;display:flex;align-items:center}
.hero{height:min(760px,calc(100vh - 92px));min-height:610px;position:relative;overflow:hidden;color:white}.hero-media,.cta-image{position:absolute;inset:0;background-position:center;background-size:cover;background-image:url('assets/ai-portfolio/hero-poster.webp');transform:scale(1.01)}.hero-shade,.cta-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,8,8,.78) 0%,rgba(7,10,10,.28) 58%,rgba(7,10,10,.1)),linear-gradient(0deg,rgba(4,5,5,.58),transparent 60%)}.hero-ghost{position:absolute;top:-1vw;left:3vw;font-family:var(--serif);font-size:clamp(90px,15vw,250px);letter-spacing:-.07em;color:rgba(255,255,255,.2);white-space:nowrap}.hero-content{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(42px,6vw,88px)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:700;margin-bottom:20px}.eyebrow.light{color:rgba(255,255,255,.72)}.hero h1{font-size:clamp(58px,7.5vw,118px);margin-bottom:38px;max-width:850px}.hero-bottom{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;align-items:end;border-top:1px solid rgba(255,255,255,.35);padding-top:22px}.hero-bottom>p{font-size:13px;line-height:1.7;margin:0;color:rgba(255,255,255,.75)}.hero-intro{max-width:560px}.hero-intro>p{font-family:var(--serif);font-size:20px;line-height:1.35}.button-row{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-width:190px;padding:14px 18px;border-radius:100px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;transition:.25s}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--gold);color:white}.text-button{display:inline-flex;gap:14px;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:.09em;border-bottom:1px solid #aaa;padding-bottom:7px}.text-button.light{border-color:rgba(255,255,255,.5)}
.section{padding:clamp(74px,9vw,140px) clamp(24px,6vw,92px)}.section-heading{display:grid;grid-template-columns:1.25fr 1fr;align-items:end;gap:60px;margin-bottom:52px}.section-heading h2,.studio-copy h2,.services-title h2{font-size:clamp(47px,5vw,78px);margin-bottom:0}.section-heading>p{color:var(--muted);max-width:430px;font-family:var(--serif);font-size:18px;margin-bottom:4px}.circle-link{width:48px;height:48px;border-radius:50%;border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;display:grid;place-items:center;transition:.25s}.circle-link:hover{transform:scale(1.06)}.project-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.project-card{min-width:0}.project-image,.article-img,.tall-image,.arch-image{background-size:cover;background-position:center;overflow:hidden}.project-image{aspect-ratio:1.08;border-radius:0;position:relative;margin-bottom:20px;transition:transform .45s}.project-card:hover .project-image{transform:translateY(-5px)}.project-image span{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.92);padding:7px 11px;border-radius:100px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.project-card h3{font-family:var(--serif);font-size:22px;font-weight:400;margin-bottom:5px}.project-card p{font-size:13px;color:var(--muted);margin-bottom:16px}.project-card strong{font-size:12px;font-weight:400}
.process-section{background:#faf9f6}.process-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:end;margin-bottom:52px}.process-heading h2{font-size:clamp(47px,5vw,78px);margin:0}.process-heading>p{font-family:var(--serif);font-size:18px;line-height:1.5;color:var(--muted);max-width:520px}.process-pairs{display:grid;gap:18px}.process-pair{display:grid;grid-template-columns:1fr 54px 1fr;align-items:center}.process-image{position:relative;background:#e9e6df;aspect-ratio:16/9;overflow:hidden}.process-image img{width:100%;height:100%;object-fit:cover;display:block}.process-image span{position:absolute;left:14px;bottom:14px;background:rgba(250,249,246,.92);padding:8px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.process-arrow{text-align:center;font-family:var(--serif);font-size:25px}.process-steps{list-style:none;margin:52px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.process-steps li{padding:22px 22px 0 0;display:flex;gap:18px}.process-steps b{font-size:10px;color:var(--muted);font-weight:400}.process-steps span{font-size:12px;color:var(--muted)}.process-steps strong{display:block;color:var(--ink);font-family:var(--serif);font-size:20px;font-weight:400;margin-bottom:6px}
.tayrona-section{padding:clamp(74px,9vw,140px) clamp(24px,6vw,92px);background:#f8f7f3;scroll-margin-top:var(--header-height)}.tayrona-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:end;margin-bottom:52px}.tayrona-heading h2{font-size:clamp(47px,5vw,78px);margin:0}.tayrona-heading>p{font-family:var(--serif);font-size:18px;line-height:1.5;color:var(--muted);max-width:520px}.tayrona-comparison{display:grid;grid-template-columns:minmax(0,.82fr) 54px minmax(0,1.18fr);align-items:center}.tayrona-comparison figure,.tayrona-gallery figure{margin:0}.tayrona-comparison img,.tayrona-gallery img{display:block;width:100%;height:100%;object-fit:cover}.tayrona-comparison figure:first-child img{aspect-ratio:4/3}.tayrona-comparison figure:last-child img{aspect-ratio:16/9}.tayrona-comparison figcaption,.tayrona-gallery figcaption{padding-top:12px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.tayrona-comparison figcaption span{margin-right:12px;color:var(--ink)}.tayrona-arrow{text-align:center;font-family:var(--serif);font-size:25px}.tayrona-gallery{margin-top:70px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tayrona-gallery .wide{grid-column:1/-1}.tayrona-gallery .wide img{aspect-ratio:2.1}.tayrona-gallery figure:not(.wide) img{aspect-ratio:1.35}.tayrona-outcome{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;border-top:1px solid var(--line)}.tayrona-outcome p{margin:0;padding:22px 20px 0 0;font-family:var(--serif);font-size:20px}
.studio-section{padding-top:40px;display:grid;grid-template-columns:.8fr 1.3fr;gap:8vw;align-items:center}.studio-copy{padding-left:8vw}.studio-copy>p:not(.eyebrow){color:var(--muted);max-width:420px;margin:28px 0;line-height:1.8}.arch-visual{position:relative;padding:0 3vw}.arch-image{aspect-ratio:1.18;border-radius:0}.floating-note{position:absolute;right:0;bottom:12%;width:210px;background:rgba(245,243,238,.94);padding:24px;border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,.12)}.floating-note span{font-family:var(--serif);font-size:13px}.floating-note h3{font-family:var(--serif);font-weight:400;font-size:21px;margin:28px 0 8px}.floating-note p{font-size:13px;color:var(--muted);margin:0}.stats{grid-column:1/-1;margin-top:44px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stats>div{border-top:1px solid var(--line);padding:24px;display:flex;gap:24px;align-items:flex-start}.stats b{font-family:var(--serif);font-size:clamp(28px,3vw,40px);font-weight:400;line-height:1}.stats span{font-size:13px;color:var(--muted)}
.results-section{background:#f8f7f3;display:grid;grid-template-columns:.8fr 1.2fr;min-height:580px}.results-copy{padding:clamp(70px,8vw,120px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.results-copy h2,.journal-heading h2,.cta-content h2{font-size:clamp(50px,5.4vw,84px)}.results-copy>p:not(.eyebrow){max-width:390px;color:var(--muted);margin:15px 0 30px}.portrait-pair{padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.tall-image{min-height:550px;border-radius:0}.tall-image:last-child{background-position:65% center}
.journal-section{background:var(--night);color:white;padding:clamp(70px,8vw,120px) clamp(24px,6vw,92px)}.journal-heading{display:grid;grid-template-columns:1.2fr 1fr auto;gap:50px;align-items:end;margin-bottom:45px}.journal-heading h2{margin:0}.journal-heading>p{max-width:390px;color:#aaa;font-family:var(--serif);font-size:18px;margin-bottom:8px}.journal-heading>a{border:1px solid #4e4e4b;padding:12px 16px;border-radius:100px;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.article-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px}.article-card{background:#f6f4ef;color:var(--ink);padding:10px 10px 20px;border-radius:12px}.article-img{aspect-ratio:1.5;border-radius:0;margin-bottom:18px}.article-card>p{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0 8px 11px}.article-card h3{font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.15;margin:0 8px 28px}.article-card span{font-size:10px;color:var(--muted);margin:0 8px}.article-card:first-child h3{font-size:28px}
.services-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.service-list details{border-top:1px solid var(--line)}.service-list details:last-child{border-bottom:1px solid var(--line)}.service-list summary{list-style:none;display:grid;grid-template-columns:45px 1fr auto;align-items:center;padding:24px 0;cursor:pointer;font-family:var(--serif);font-size:22px}.service-list summary::-webkit-details-marker{display:none}.service-list summary span{font-family:var(--sans);font-size:11px;color:var(--muted)}.service-list summary i{font-style:normal;font-family:var(--sans);font-weight:300;transition:transform .25s}.service-list details[open] summary i{transform:rotate(45deg)}.service-list details p{color:var(--muted);max-width:560px;padding:0 30px 22px 45px;font-size:14px}
.cta-section{min-height:520px;position:relative;color:white;display:flex;align-items:center;padding:clamp(60px,8vw,120px)}.cta-image{background-position:center 58%}.cta-shade{background:linear-gradient(90deg,rgba(8,9,8,.84),rgba(8,9,8,.14))}.cta-content{position:relative;max-width:780px}.cta-content h2{margin-bottom:25px}.cta-content>p:not(.eyebrow){max-width:520px;color:rgba(255,255,255,.82);margin-bottom:20px}.enquiry-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 30px;padding:0;max-width:720px}.enquiry-list li{font-size:12px;letter-spacing:.04em;color:rgba(255,255,255,.86)}.enquiry-list li:before{content:"✓";color:#d6bd94;margin-right:7px}
footer{padding:65px clamp(24px,6vw,92px) 24px;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:45px;background:#f6f4ef}footer h3{font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:20px}footer>div:not(.footer-brand):not(.footer-base){display:flex;flex-direction:column;gap:10px;font-size:12px;color:var(--muted)}footer a{overflow-wrap:anywhere}.footer-brand p{font-size:12px;color:var(--muted);margin-top:24px}.footer-base{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;margin-top:35px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(min-width:901px) and (max-width:1180px){.desktop-nav{gap:18px}.header-actions{gap:14px}.project-track{grid-template-columns:repeat(2,minmax(0,1fr))}.project-image{aspect-ratio:1.35}}
@media(max-width:900px){.desktop-nav,.contact-link{display:none}.site-header{height:76px}.mobile-menu{top:76px}.hero{height:720px}.section-heading,.journal-heading{grid-template-columns:1fr}.project-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.project-track::-webkit-scrollbar{display:none}.project-card{min-width:min(78vw,520px);scroll-snap-align:start}.studio-section,.results-section,.services-section{grid-template-columns:1fr}.studio-copy{padding-left:0}.results-copy{padding:70px 24px}.portrait-pair{min-height:540px}.tall-image{min-height:500px}.article-grid{grid-template-columns:1fr 1fr}.article-card:first-child{grid-column:1/-1}.services-section{gap:50px}footer{grid-template-columns:1.4fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:900px){.process-heading{grid-template-columns:1fr;gap:24px}.process-steps{grid-template-columns:1fr 1fr;row-gap:26px}.process-pair{grid-template-columns:1fr 38px 1fr}}
@media(max-width:900px){.tayrona-heading{grid-template-columns:1fr;gap:24px}.tayrona-gallery{grid-template-columns:1fr 1fr}.tayrona-gallery .wide{grid-column:1/-1}.tayrona-outcome{grid-template-columns:1fr}}
@media(max-width:600px){.brand{min-width:0}.hero{min-height:680px}.hero-ghost{font-size:26vw;top:35px}.hero-content{padding:34px 24px}.hero h1{font-size:clamp(44px,14.5vw,55px)}.hero-bottom{grid-template-columns:1fr;gap:20px}.hero-bottom>p{display:none}.button-row{gap:18px}.button{width:100%;min-height:48px}.text-button{min-height:44px}.section{padding:72px 24px}.section-heading{gap:22px;margin-bottom:34px}.section-heading h2,.studio-copy h2,.services-title h2{font-size:clamp(40px,12vw,45px)}.project-card{min-width:86vw}.studio-section{padding-top:25px}.studio-copy{order:0}.arch-visual{padding:0}.floating-note{right:8px;bottom:-28px;width:190px}.stats{grid-template-columns:1fr;margin-top:65px}.stats>div{padding-left:0}.results-section{min-height:0}.portrait-pair{min-height:420px}.tall-image{min-height:410px}.journal-heading{gap:20px}.article-grid{display:flex;overflow-x:auto}.article-card,.article-card:first-child{min-width:82vw}.service-list summary{font-size:19px}.cta-section{padding:75px 24px}.cta-content h2{font-size:clamp(42px,13vw,48px)}.enquiry-list{display:grid;gap:8px}.cta-content .text-button{width:auto}footer{grid-template-columns:1fr;gap:34px}.footer-base{flex-direction:column;gap:10px}}
@media(max-width:600px){.process-heading h2{font-size:45px}.process-pair{grid-template-columns:1fr;gap:10px}.process-arrow{transform:rotate(90deg);height:28px}.process-steps{grid-template-columns:1fr}.process-image{aspect-ratio:4/3}}
@media(max-width:600px){.tayrona-heading h2{font-size:45px}.tayrona-comparison{grid-template-columns:1fr;gap:10px}.tayrona-arrow{transform:rotate(90deg);height:28px}.tayrona-gallery{grid-template-columns:1fr;margin-top:50px}.tayrona-gallery .wide{grid-column:auto}.tayrona-gallery .wide img,.tayrona-gallery figure:not(.wide) img{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.project-image,.button,.villa-poster,#villa-video,.villa-stage .hero-shade,.villa-stage .hero-content{transition:none}}
.experience-section{padding:clamp(74px,9vw,140px) clamp(24px,6vw,92px);background:#e9e6df;scroll-margin-top:var(--header-height)}.experience-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end;margin-bottom:48px}.experience-heading h2{font-size:clamp(50px,5.4vw,84px);margin:0}.experience-intro{max-width:520px}.experience-intro>p{font-family:var(--serif);font-size:19px;line-height:1.45;color:var(--muted);margin-bottom:25px}.viewer-frame{position:relative;width:100%;aspect-ratio:16/9;background:#0d0d0d;overflow:hidden;box-shadow:0 24px 70px rgba(23,24,23,.16)}.viewer-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;pointer-events:none}.viewer-frame.is-active iframe{pointer-events:auto}.viewer-activate{position:absolute;z-index:2;inset:0;width:100%;border:0;background:linear-gradient(rgba(8,9,8,.18),rgba(8,9,8,.48));color:#fff;display:grid;place-content:center;gap:5px;text-align:center;cursor:pointer}.viewer-activate strong{font-family:var(--serif);font-size:clamp(26px,3vw,42px);font-weight:400}.viewer-activate span{font-size:11px;text-transform:uppercase;letter-spacing:.12em}.viewer-frame.is-active .viewer-activate{display:none}.viewer-exit{position:absolute;z-index:3;left:16px;top:16px;border:0;padding:11px 14px;background:rgba(23,24,23,.86);color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.viewer-launch{position:absolute;z-index:3;right:16px;top:16px;display:inline-flex;align-items:center;gap:10px;padding:11px 14px;background:rgba(247,246,242,.94);color:var(--ink);font-size:10px;text-transform:uppercase;letter-spacing:.1em;box-shadow:0 7px 24px rgba(0,0,0,.18)}.viewer-launch:hover{background:#fff}.viewer-meta{display:flex;justify-content:space-between;gap:20px;padding-top:14px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
@media(max-width:900px){.experience-heading{grid-template-columns:1fr;gap:24px}.viewer-frame{aspect-ratio:4/3}}
@media(max-width:600px){.experience-section{padding:72px 24px}.experience-heading h2{font-size:48px}.experience-intro>p{font-size:17px}.viewer-frame{aspect-ratio:3/4;min-height:520px}.viewer-meta{flex-direction:column;gap:4px}}
.ai-proof{display:flex;align-items:center;gap:12px;margin:0 0 24px}.ai-proof span{font-family:var(--serif);font-size:34px;line-height:1;color:var(--white)}.ai-proof small{font-size:10px;line-height:1.3;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.7);border-left:1px solid rgba(255,255,255,.35);padding-left:12px}
.hero-media{background-image:url('assets/ai-portfolio/hero-poster.webp')}.ai-water-house{background-image:url('assets/ai-portfolio/exterior-09.webp')}.ai-water-elevation{background-image:url('assets/ai-portfolio/exterior-10.webp')}.ai-forest-house{background-image:url('assets/ai-portfolio/exterior-12.webp')}.ai-dark-house{background-image:url('assets/ai-portfolio/exterior-14.webp')}.ai-suburban{background-image:url('assets/ai-portfolio/exterior-01.webp')}.ai-urban{background-image:url('assets/ai-portfolio/exterior-05.webp')}.ai-angular-house{background-image:url('assets/ai-portfolio/exterior-06.webp')}.ai-interior-warm{background-image:url('assets/ai-portfolio/interior-01.webp')}.ai-interior-wide{background-image:url('assets/ai-portfolio/interior-04.webp')}
.hero-media,.cta-image{background-image:url('assets/ai-portfolio/hero-poster.webp')}

/* Villa 30 film introduction */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.villa-scroll{position:relative;height:calc(100vh - var(--header-height));height:calc(100svh - var(--header-height));background:#090807}
.villa-stage{position:-webkit-sticky;position:sticky;top:var(--header-height);height:calc(100vh - var(--header-height));height:calc(100svh - var(--header-height));overflow:hidden;background:#090807;isolation:isolate}.villa-stage:before{content:"";position:absolute;inset:-24px;z-index:0;background:url('assets/villa30/poster.jpg') center/cover no-repeat;filter:blur(18px);opacity:.28;transform:scale(1.06)}
.villa-poster,#villa-video{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:contain;background:transparent;border-radius:0}
#villa-video{opacity:0}.villa-stage.video-ready #villa-video{opacity:1}.villa-stage.video-ready .villa-poster{visibility:hidden}
.villa-start{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:56px;height:56px;display:grid;place-items:center;color:white;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.65);cursor:pointer}.villa-start[hidden]{display:none}
.cta-section{overflow:hidden;min-height:100svh}.cta-image{background-image:url('assets/ai-portfolio/hero-poster.webp')}

/* Keep ARK navigation and introduction above the film. */
:root{--header-height:92px}
html{scroll-padding-top:var(--header-height)}
.site-header{position:sticky;top:0;z-index:50;justify-content:space-between}
.villa-stage{min-height:580px;color:white}
.villa-shade{pointer-events:none}
.villa-stage .hero-shade{z-index:2}.villa-stage .hero-content{z-index:3;pointer-events:none}
.villa-stage .hero-content a{pointer-events:auto}
.hero-project-label{margin-bottom:18px;color:rgba(255,255,255,.78)}
.villa-stage h1{font-size:clamp(58px,7.5vw,118px);margin-bottom:38px;max-width:850px}
.villa-start{z-index:4;top:24px;left:auto;right:24px;transform:none}.villa-progress{position:absolute;z-index:4;right:clamp(24px,5vw,76px);bottom:26px;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.78);font-size:11px;text-transform:uppercase;letter-spacing:.12em;transition:opacity .35s}.villa-progress i{display:block;width:74px;height:1px;background:rgba(255,255,255,.3);overflow:hidden}.villa-progress b{display:block;width:100%;height:100%;background:white;transform:scaleX(var(--film-progress,0));transform-origin:left}.villa-stage.is-complete .villa-progress{opacity:0}
@media(max-width:900px){:root{--header-height:76px}.header-actions{margin-left:auto}}
@media(max-width:600px){.villa-scroll{height:calc(100vh - var(--header-height));height:calc(100svh - var(--header-height))}.villa-stage{min-height:540px}.villa-stage:before{opacity:.5}.villa-stage h1{font-size:clamp(44px,14.5vw,55px);margin-bottom:20px}.villa-stage .hero-content{padding:24px 24px 58px}.villa-stage .hero-bottom>p{display:none}.villa-stage .hero-bottom{gap:12px;padding-top:14px}.villa-stage .hero-intro>p{font-size:17px;line-height:1.35;margin-bottom:14px}.villa-stage .eyebrow{margin-bottom:12px}.villa-stage .button-row{gap:12px}.villa-stage .button,.villa-stage .text-button{width:auto}}

/* Fade the Villa 30 film before the enquiry panel opens. */
.villa-poster,#villa-video,.villa-stage .hero-shade,.villa-stage .hero-content{transition:opacity .62s ease}
.villa-stage.is-complete .villa-poster,.villa-stage.is-complete #villa-video,.villa-stage.is-complete .hero-shade,.villa-stage.is-complete .hero-content{opacity:0}
#enquire{scroll-margin-top:var(--header-height)}
@media(prefers-reduced-motion:reduce){.villa-poster,#villa-video,.villa-stage .hero-shade,.villa-stage .hero-content{transition:none!important}}
