/* Existing editorial layout, with the Cinematic Teal colour direction. */
:root{--bg:#081F26;--bg-raised:#202A2F;--teal:#0D3B46;--ink:#F4EEE6;--ink-dim:#B4C3C3;--accent:#FF5A36;--accent-2:#F4EEE6;--line:rgba(244,238,230,.16);--ease:cubic-bezier(.22,1,.36,1);padding:0;color-scheme:dark}
html{scroll-behavior:smooth;scroll-padding-top:105px}
body{cursor:auto;overflow-x:clip}
a,button{cursor:pointer}
button,input,select,textarea{font:inherit}
button{color:inherit}
a{color:inherit}
button:disabled{cursor:default;opacity:.35}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent-2);outline-offset:6px}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}
.wrap{max-width:1440px;padding-inline:clamp(22px,4.4vw,72px)}
.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--accent-2);color:var(--bg);padding:15px}
.skip-link:focus{top:12px}
.reading-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:var(--accent);z-index:70;transform-origin:0 50%;transform:scaleX(0);pointer-events:none}
.display{letter-spacing:-.045em}
.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;display:flex;align-items:center;gap:20px;margin-bottom:24px}
.section{position:relative}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:48px}
.section-head h2{font-size:clamp(48px,7.5vw,106px);line-height:.95;margin:0}
.section-head p{font-size:14px;line-height:1.6;color:var(--ink-dim)}
.outline{color:transparent;-webkit-text-stroke:1px var(--ink)}
.tiny-star{font-size:28px;color:var(--accent)}
nav{opacity:1;background:linear-gradient(180deg,rgba(8,31,38,.84),transparent);padding:25px 0;backdrop-filter:none;-webkit-backdrop-filter:none;transition:padding .45s var(--ease),background .45s,border-color .45s; border-bottom:1px solid transparent}
nav.scrolled,nav.menu-open{padding:12px 0;background:rgba(8,31,38,.95);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--line)}
nav .wrap{gap:24px}
.brandmark{text-decoration:none;gap:10px;flex-shrink:0}
.brandmark img{height:38px;width:78px;object-fit:contain}
.brandmark .display{font-size:15px;line-height:.95;letter-spacing:-.02em;position:relative}
.brand-dot{position:absolute;right:-11px;top:-4px;font-size:9px}
.navlinks{display:flex;align-items:center;gap:22px}
.navlinks>a{font-size:11px;position:relative;text-decoration:none;padding:10px 0}
.navlinks>a:after{content:'';position:absolute;bottom:3px;left:0;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.navlinks>a:hover:after,.navlinks>a:focus-visible:after{transform:scaleX(1);transform-origin:left}
.nav-actions{display:flex;align-items:center;gap:16px}
.navcta{font-size:10px;letter-spacing:.05em;padding:14px 17px;display:flex;align-items:center;gap:20px;white-space:nowrap;background:var(--ink);border-color:var(--ink);color:var(--bg)}
.navcta span{font-size:21px;line-height:1;color:var(--accent)}
.menu-toggle{display:none;background:none;border:1px solid var(--line);width:44px;height:44px;padding:12px}
.menu-toggle span{display:block;height:1px;background:var(--ink);margin:5px 0;transition:transform .3s}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}
.hero{height:100svh;min-height:730px;max-height:1100px;background:var(--bg)}
.hero-bg{inset:-3% 0 -8%;background:var(--teal);overflow:hidden}
.hero-bg picture{display:block;height:100%;width:66%;margin-left:auto;mask-image:linear-gradient(90deg,transparent,#000 23%)}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 36%;filter:brightness(.88) saturate(.9);transform:scale(var(--hero-zoom,1.035));transform-origin:50% 38%}
.hero-bg:after{background:linear-gradient(90deg,#081F26 0%,rgba(8,31,38,.97) 24%,rgba(13,59,70,.4) 48%,rgba(8,31,38,.08) 73%)}
.hero:before{background:linear-gradient(180deg,rgba(8,31,38,.1) 30%,rgba(8,31,38,.12) 45%,rgba(8,31,38,.9) 100%)}
.hero-topline{position:absolute;top:150px;left:0;right:0;width:100%;z-index:2;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.17em;line-height:1.6}
.hero-location{text-align:right;color:rgba(255,255,255,.85)}
.hero-aside{position:absolute;top:30%;left:5%;z-index:2;font-size:clamp(18px,2vw,28px);line-height:1.3;letter-spacing:-.03em}
.hero-aside em{font-family:Georgia,serif;font-weight:400;color:var(--ink);font-size:1.15em}
.hero-content{padding-bottom:52px}
.hero-content .wrap{gap:34px}
.hero h1{font-size:clamp(60px,10.3vw,148px);line-height:.91;letter-spacing:-.047em;overflow:visible}
.hero h1 .line{padding:5px 0; margin:-5px 0;overflow:clip}
.hero h1 #l1,.hero h1 #l2{display:block;transform-origin:0 100%}
.hero h1 .r{color:var(--ink)}
.hero h1 .r:after{content:'.';color:var(--accent);margin-left:-.015em}
.hero-sub{flex-wrap:nowrap;border-top:1px solid rgba(242,236,225,.25);padding-top:24px;align-items:center}
.hero-tag,.scroll-cue{opacity:1}
.hero-tag{font-size:13px;line-height:1.5;color:var(--ink)}
.hero-tag b{color:var(--accent-2)}
.hero-link{font-size:12px;text-decoration:none;display:flex;align-items:center;gap:38px;padding:10px 0;border-bottom:1px solid var(--ink)}
.hero-link span{font-size:23px;color:var(--accent);transition:transform .4s var(--ease)}
.hero-link:hover span{transform:translate(3px,-3px)}
.scroll-cue{color:var(--ink);text-decoration:none;font-size:10px;gap:30px}
.scroll-cue:after{display:none}
.scroll-cue span{display:block;font-size:26px;animation:scroll-cue 2.4s ease-in-out infinite}
@keyframes scroll-cue{0%,100%{transform:translateY(-4px)}50%{transform:translateY(4px)}}
.marquee-stack{transform:none;padding:0;background:var(--teal);color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;z-index:3}
.mrow{padding:18px 0}
.mrow.rev{background:var(--bg);border-top:1px solid var(--line)}
.mrow-track{gap:0;width:max-content;will-change:auto;animation:marquee 32s linear infinite;animation-play-state:paused}
.mrow-track span,.mrow-track.fill span,.mrow.rev .mrow-track span{font-size:clamp(25px,3vw,44px);color:var(--ink);-webkit-text-stroke:0;gap:30px;padding-right:30px;line-height:1;letter-spacing:-.03em;white-space:nowrap}
.mrow.rev .mrow-track span{color:#B4C3C3}
.mrow-track span b{color:var(--accent);font-size:.65em}
.mrow.rev .mrow-track{animation-direction:reverse;animation-duration:38s}
.marquee-stack.in-view .mrow-track{animation-play-state:running}
.marquee-stack:hover .mrow-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
.hpin{height:auto;overflow:hidden;padding:110px 0 42px}
.hpin-inner{position:relative;inset:auto;display:flex;align-items:flex-start;gap:22px;padding:0 max(22px,calc((100vw - 1440px)/2 + 63px)) 26px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) var(--bg-raised);scroll-snap-type:x mandatory;will-change:auto}
.hpanel{padding:0;display:block;height:560px;flex:0 0 43vw;scroll-snap-align:center}
.hpanel.tall{flex-basis:28vw;height:460px;margin-top:80px}
.hpanel .card,.hpanel.tall .card{width:100%;min-width:0;height:100%;display:block;padding:0;border:0;border-radius:0;background:var(--bg-raised);text-align:left;color:var(--ink)}
.hpanel .fill{overflow:hidden}
.hpanel .fill{background:var(--teal)}
.hpanel .fill:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,31,38,.12),transparent 40%,rgba(8,31,38,.85));pointer-events:none}
.fill img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),filter .8s;transform:scale(1.025)}
.hpanel:first-child .fill img{object-position:50% 35%}
.hpanel .cap{left:24px;bottom:24px;font-size:12px;letter-spacing:.05em}
.hpanel .cap b{font-size:clamp(22px,2.5vw,36px);margin-top:6px;letter-spacing:-.03em}
.photo-index{position:absolute;left:24px;top:22px;font-size:10px;letter-spacing:.12em}
.view-circle{position:absolute;right:22px;bottom:28px;border:1px solid rgba(255,255,255,.6);border-radius:50%;height:46px;width:46px;display:grid;place-items:center;font-size:24px;transition:background .3s,color .3s,transform .5s var(--ease)}
.card:focus-visible .view-circle{background:var(--accent-2);color:var(--bg);transform:rotate(45deg)}
.gallery-controls{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}
.round-button{background:transparent;border:1px solid var(--line);border-radius:50%;height:46px;width:46px;display:grid;place-items:center;font-size:24px;transition:background .3s,color .3s,border .3s;flex-shrink:0}
.round-button:hover{background:var(--accent-2);color:var(--bg);border-color:var(--accent-2)}
.gallery-foot{display:flex;justify-content:space-between;gap:20px;margin-top:20px;font-size:9px;letter-spacing:.15em;color:var(--ink-dim)}
.sample-note{font-size:10px;letter-spacing:.02em;color:var(--ink-dim)}
.stats{padding:44px 0 56px;background:var(--bg-raised);margin-top:30px}
.stats-note{font-size:9px;color:var(--ink-dim);letter-spacing:.13em;text-align:center;margin-bottom:30px}
.stat b{font-size:clamp(40px,5vw,72px);letter-spacing:-.06em}
.stat-row>.stat+.stat{border-left:1px solid var(--line)}
.stat span{font-size:10px;letter-spacing:.08em}
.statement{padding:120px 0 130px}
.statement .eyebrow{justify-content:center;color:var(--ink-dim);margin-bottom:40px}
.statement p{font-size:clamp(32px,5.4vw,76px);letter-spacing:-.045em;line-height:1.06;max-width:21ch}
.statement .w{opacity:1;margin:0;display:inline}
.statement .w.g,.statement .w.r{color:var(--ink)}
.about-copy{color:var(--ink-dim);font-size:14px;line-height:1.6;margin:35px auto 0}
.statement .about-panel{display:grid;grid-template-columns:clamp(145px,19vw,250px) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,64px)}
.about-logo{display:block;width:100%;height:auto;object-fit:contain}
.about-story{min-width:0}
#about .eyebrow{font-size:clamp(14px,1.35vw,18px);font-weight:800;letter-spacing:.1em;color:var(--ink)}
@media(max-width:650px){.statement .about-panel{grid-template-columns:1fr;gap:28px}.about-logo{width:150px;max-width:45vw;justify-self:center}}
.services{padding:0 0 110px}
.svc{padding:36px 32px 42px;transform-style:flat;will-change:auto;position:relative;transition:background .4s}
.svc:hover{background:var(--teal)}
.svc .icon{width:48px;height:48px;margin-bottom:34px}
.svc h3{font-family:'Archivo Black',sans-serif;text-transform:uppercase;letter-spacing:-.025em;font-size:23px}
.svc p{font-size:13px;line-height:1.65;max-width:29ch}
.svc:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.svc:hover:after{transform:scaleX(1)}
.text-link{font-size:11px;text-underline-offset:5px;display:inline-flex;gap:20px;align-self:flex-start;margin-top:5px}
.service-note{font-size:11px;color:var(--ink-dim);margin:24px 0 0;line-height:1.8}
.packages{background:var(--teal);color:var(--ink);padding:110px 0;overflow:hidden;isolation:isolate}
.package-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:10%}
.packages .eyebrow{font-size:10px}
.packages h2{font-size:clamp(50px,6.8vw,96px);line-height:.95;margin:40px 0 0}
.package-italic{font-family:Georgia,serif;font-style:italic;font-weight:400;text-transform:none;letter-spacing:-.06em}
.package-details{padding-top:26px;z-index:1}
.package-details p{font-size:14px;line-height:1.6;max-width:45ch}
.package-details .package-price{font-size:clamp(50px,6.5vw,90px);line-height:1;margin:26px 0 30px;display:flex;align-items:center;justify-content:space-between;letter-spacing:-.07em}
.package-price span{font-family:system-ui,sans-serif;font-weight:300;font-size:65px;color:var(--accent)}
.package-details ul{padding:18px 0;margin:0 0 15px;list-style:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.package-details li{font-size:12px;padding:7px 0}
.package-details li:before{content:'↗';margin-right:15px;color:var(--accent)}
.package-details .package-note{font-size:11px;line-height:1.6}
.package-star{position:absolute;font-size:380px;bottom:-125px;left:11%;color:rgba(244,238,230,.04);line-height:1;z-index:-1}
.btn-dark{background:var(--ink);color:var(--bg);border-color:var(--ink);margin-top:20px;font-size:11px;gap:40px}
.btn-dark span{color:var(--accent)}
.packages :focus-visible{outline-color:var(--ink)}
.cta{padding:110px 0 95px;border-top:0;background:var(--bg);text-align:left}
.cta .eyebrow{color:var(--ink-dim)}
.cta h2{font-size:clamp(48px,6.4vw,92px);letter-spacing:-.045em;line-height:.97;max-width:12ch;margin:0 0 28px}
.cta h2>span{color:var(--accent-2)}
.cta h2>.reveal-line{color:var(--ink)}
.cta h2 .reveal-line>span>span{color:var(--accent-2)}
.cta-inner{display:grid;grid-template-columns:1.1fr 1fr;column-gap:9%;align-items:start}
.cta-inner>.eyebrow,.cta-inner>h2,.cta-inner>.contact-sub,.cta-inner>.btnrow{grid-column:1}
.cta-inner>.eyebrow{grid-row:1}
.cta-inner>h2{grid-row:2}
.cta-inner>.contact-sub{grid-row:3}
.cta-inner>.btnrow{grid-row:4;justify-content:flex-start;margin-top:20px}
.contact-sub{color:var(--ink-dim);font-size:13px;max-width:33ch;line-height:1.6;margin:0}
.cta .or-line{display:none}
.cta-orbit{position:absolute;font-size:340px;color:var(--accent-2);opacity:.05;bottom:-90px;left:12%;line-height:1;pointer-events:none}
.enq-form{grid-column:2;grid-row:1 / span 6;margin:0;width:100%;max-width:none;gap:18px}
.enq-row{gap:16px}
.enq-form label{font-size:10px;letter-spacing:.06em;color:var(--ink-dim);margin-bottom:10px}
.enq-form input,.enq-form select,.enq-form textarea{border-width:0 0 1px;border-radius:0;padding:12px 0;background:transparent;font-size:13px;line-height:1.5;color:var(--ink)}
.enq-form textarea{resize:vertical;min-height:95px}
.enq-form select{padding-right:15px}
.enq-form select option{background:var(--bg-raised);color:var(--ink)}
.enq-form .enq-submit{justify-content:space-between;border:1px solid var(--ink);border-left:3px solid var(--accent);background:var(--ink);color:var(--bg);padding:18px 20px;letter-spacing:.06em;font-size:11px;margin-top:12px;font-weight:600}
.enq-submit span{color:var(--accent)}
.enq-note{text-align:left;font-size:10px;margin-top:0;line-height:1.5}
.enq-err{margin:0;text-align:left;font-size:12px}
.enq-err:empty{display:none}
.btn{border-radius:0;transition:background .35s,color .35s,box-shadow .35s;transform:translate(var(--mx,0px),var(--my,0px))}
.btn span,.navcta span{transition:transform .4s var(--ease)}
.btn:hover span,.navcta:hover span{transform:translate(3px,-3px)}
.btn-solid:hover,.navcta:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.btn-solid:hover span,.navcta:hover span,.btn-dark:hover span{color:var(--bg)}
.btn-outline{font-size:10px;padding:15px 20px;border-color:var(--line)}
.btn-outline:hover{background:var(--ink);color:var(--bg)}
#book .whatsapp-direct{background:#25D366;color:#081F26;border:1px solid #25D366;padding:18px 24px;font-size:14px;font-weight:700;letter-spacing:.05em;gap:12px;line-height:1.3;box-shadow:0 6px 22px #0002}
#book .whatsapp-direct .whatsapp-logo{display:block;flex-shrink:0}
#book .whatsapp-direct:hover{background:#1FC35C;border-color:#1FC35C;box-shadow:0 8px 26px #0003}
#book .whatsapp-direct:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.btn-dark:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.magnetic{transform:translate(var(--mx,0px),var(--my,0px));transition:transform .35s var(--ease),background .3s,color .3s}
footer{padding-top:30px;padding-bottom:30px;background:var(--bg-raised)}
.foot-row{font-size:11px;align-items:center}
.foot-row a{color:var(--ink)}
.foot-row a:hover{text-decoration:underline;text-underline-offset:4px}
.foot-meta{margin-top:25px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;color:var(--ink-dim)}
.footer-socials,.contact-socials{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.contact-socials{margin-top:16px}.footer-socials .social-link,.contact-socials .social-link{display:inline-flex;align-items:center;gap:9px;min-height:48px;padding:8px 12px;border:1px solid rgba(244,238,230,.22);border-radius:6px;background:rgba(244,238,230,.065);color:var(--ink);font-size:13px;line-height:1.3;font-weight:700;text-decoration:none;transition:background .2s,border-color .2s}.social-link[hidden]{display:none!important}.social-link:hover{background:rgba(244,238,230,.13);border-color:rgba(244,238,230,.45)}.social-link:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.social-logo{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:6px;color:#fff}.social-logo svg{display:block;width:19px;height:19px}.social-logo-youtube{--social-icon-bg:#dc3535;background:var(--social-icon-bg)}.social-logo-instagram{background:linear-gradient(135deg,#7d3abb,#cf367c 55%,#e99548)}.social-logo-facebook{background:#1877f2}.social-label{font-weight:700}.social-arrow{font-size:14px;opacity:.7}
.wa-float{width:48px;height:48px;bottom:20px;right:20px;background:#25D366;color:#fff;border:1px solid #25D366;box-shadow:0 4px 24px #081f2655;transition:background .3s,border-color .3s,transform .3s}
.wa-float svg{display:block;flex-shrink:0}
.wa-float:hover{background:#1FC35C;border-color:#1FC35C;transform:translateY(-3px)}
.wa-float:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.lightbox{padding:60px 30px 20px;background:var(--bg);color:var(--ink);border:1px solid var(--line);max-width:1100px;width:min(95vw,1100px);max-height:95svh;overflow:auto}
.lightbox::backdrop{background:#081f26ed;backdrop-filter:blur(8px)}
.lightbox[open]{display:flex;flex-direction:column;align-items:center}
.lightbox>img{display:block;max-height:70svh;max-width:100%;width:auto;object-fit:contain}
.lightbox-close{position:absolute;right:12px;top:10px;width:38px;height:38px}
.lightbox-bottom{display:flex;justify-content:space-between;align-items:center;width:100%;gap:15px;margin-top:15px}
.lightbox-bottom p{font-size:13px}
body.dialog-open{overflow:hidden}
/* Elements are visible by default. JavaScript adds entry animations only when supported. */
.reveal-line{display:block;overflow:clip;padding-bottom:.08em;margin-bottom:-.08em}
.reveal-line>span{display:block;transform-origin:0 100%}
.motion-enabled .motion-pending{opacity:0;transform:translateY(32px)}
.motion-enabled .image-reveal.motion-pending{opacity:1;transform:none;clip-path:inset(0 0 100% 0)}
.motion-enabled .reveal-heading.motion-pending{opacity:1;transform:none}
.motion-enabled .reveal-heading.motion-pending .reveal-line>span{transform:translateY(110%) rotate(2deg)}
.motion-paused *, .document-hidden *{animation-play-state:paused!important}
@media(hover:hover) and (pointer:fine){.card:hover .fill img{transform:scale(1.095)}.card:hover .view-circle{background:var(--accent-2);color:var(--bg);border-color:var(--accent-2);transform:rotate(45deg)}}
@media(min-width:1600px){.hero-aside{left:calc((100vw - 1440px)/2 + 64px)}}
@media(max-width:1100px){.navlinks{gap:15px}.brandmark img{width:60px;height:31px}.brandmark .display{font-size:13px}nav .wrap{gap:15px}.navcta{padding:12px;gap:12px}.hpanel{height:480px}.hpanel.tall{height:390px}.hero{min-height:680px}.hero h1{font-size:10.5vw}.cta-inner{gap:5%}.package-grid{gap:7%}}
@media(max-width:900px){.navlinks{display:none;position:absolute;left:0;right:0;top:100%;padding:24px 6vw 32px;background:#0b0b0cf7;border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:5px 20px}.menu-open .navlinks{display:grid}.navlinks>a{font-size:17px;padding:14px 0}.menu-toggle{display:block}.hero{min-height:650px}.hero-aside{top:29%}.hero-bg picture{width:78%}.hero-topline{top:125px}.hero h1{font-size:10.4vw}.hpanel{flex-basis:60vw;height:470px}.hpanel.tall{flex-basis:40vw;height:400px}.cta-inner{display:block}.enq-form{margin-top:55px;max-width:680px}.cta h2{max-width:none}.cta h2 br{display:none}.cta h2>span{display:block}.cta .btnrow{margin-top:25px}.package-grid{gap:6%}.package-details .package-price{font-size:55px}.packages h2{font-size:58px}.svc{padding:30px 22px}.svc h3{font-size:20px}.foot-row{padding-right:78px}}
@media(max-width:600px){html{scroll-padding-top:82px}.wrap{padding-inline:22px}nav{padding:18px 0}nav.scrolled{padding:10px 0}.brandmark img{width:51px;height:30px}.brandmark{gap:7px}.brandmark .display{font-size:12px}.navcta{font-size:9px;padding:12px 10px;gap:8px}.nav-actions{gap:8px}.navcta span{font-size:17px}.menu-toggle{width:38px;height:38px;padding:9px}.hero{height:92svh;min-height:650px;max-height:870px}.hero-bg{inset:0}.hero-bg picture{width:100%}.hero-bg img{object-position:50% 22%;filter:brightness(.78)}.hero-bg:after{background:linear-gradient(180deg,rgba(0,0,0,.3),transparent 35%,rgba(11,11,12,.2) 52%,#0b0b0c 100%)}.hero:before{background:linear-gradient(90deg,rgba(11,11,12,.3),transparent)}.hero-topline{top:100px;font-size:8px;letter-spacing:.13em}.hero-location{font-size:7px;max-width:100px}.hero-aside{left:23px;top:24%;font-size:17px;text-shadow:0 1px 10px #000}.hero-content{padding-bottom:30px}.hero-content .wrap{gap:20px}.hero h1{font-size:10.7vw;line-height:.99;letter-spacing:-.045em}.hero-sub{display:grid;grid-template-columns:1fr auto;padding-top:18px;gap:15px}.hero-tag{font-size:10px}.hero-link{font-size:10px;gap:14px}.hero-link span{font-size:19px}.scroll-cue{font-size:8px;gap:15px;grid-column:1 / -1}.scroll-cue span{font-size:20px}.mrow{padding:16px 0}.mrow-track span,.mrow-track.fill span,.mrow.rev .mrow-track span{font-size:25px;gap:22px;padding-right:22px}.mrow-track{animation-duration:45s}.mrow.rev .mrow-track{animation-duration:52s}.hpin{padding-top:70px}.section-head{align-items:flex-start;gap:20px;margin-bottom:30px;flex-direction:column}.section-head h2{font-size:48px}.eyebrow{font-size:9px;margin-bottom:20px;letter-spacing:.1em}.work-intro{display:flex;align-items:center;justify-content:space-between;width:100%}.work-intro p{font-size:11px;line-height:1.5;margin:0}.gallery-controls{margin:0;gap:8px}.round-button{width:40px;height:40px;font-size:21px}.hpin-inner{gap:14px;padding-inline:22px;scroll-padding-inline:22px}.hpanel,.hpanel.tall{flex-basis:77vw;height:430px;margin-top:0}.hpanel .cap{left:20px;bottom:22px}.hpanel .cap b{font-size:29px}.gallery-foot{font-size:8px;flex-direction:column;gap:8px}.sample-note{font-size:9px}.stats{padding:30px 0 38px}.stats-note{font-size:8px;letter-spacing:.06em;margin-bottom:22px}.stat-row{gap:8px}.stat b{font-size:39px}.stat span{font-size:8px}.statement{padding:75px 0 80px}.statement p{font-size:34px;max-width:19ch}.statement .eyebrow{font-size:8px;margin-bottom:30px}.about-copy{font-size:12px;max-width:27ch;line-height:1.7;margin-top:25px}.services{padding-bottom:70px}.services .section-head>p{display:none}.svc-grid{grid-template-columns:1fr}.svc{padding:30px 25px;gap:12px}.svc .icon{margin-bottom:12px;width:35px;height:35px}.svc h3{font-size:23px}.svc p{max-width:35ch;font-size:12px}.service-note{font-size:10px}.packages{padding:65px 0 70px}.package-grid{grid-template-columns:1fr;gap:35px}.packages h2{font-size:61px;margin-top:25px}.package-details{padding-top:0}.package-details .eyebrow{margin-bottom:14px}.package-details .package-price{font-size:64px;margin:20px 0 25px;justify-content:flex-start;gap:40px}.package-price span{font-size:50px}.package-details p{font-size:13px}.package-star{bottom:220px;left:auto;right:-70px;font-size:250px}.cta{padding:70px 0}.cta h2{font-size:51px;letter-spacing:-.05em;line-height:1.02}.contact-sub{font-size:12px}.enq-form{margin-top:42px;gap:20px}.enq-row{grid-template-columns:1fr 1fr;gap:18px}.enq-form input,.enq-form select,.enq-form textarea{font-size:16px}.enq-form label{font-size:9px;letter-spacing:.035em}.foot-row{padding-right:22px;gap:18px;font-size:10px}.foot-row>span:first-child{max-width:270px;line-height:1.5}.foot-meta{font-size:9px;padding-right:0;align-items:flex-start;flex-direction:column;gap:7px;margin-top:22px}.wa-float{width:44px;height:44px;right:14px;bottom:15px}.lightbox{padding:55px 14px 12px}.lightbox>img{max-height:65svh}.lightbox-bottom p{font-size:11px}.motion-enabled .motion-pending{transform:translateY(16px)}}
@media(max-width:360px){.brandmark img{display:none}.hero{min-height:620px}.hero h1{font-size:10.4vw}.hero-link{gap:8px;font-size:9px}.hero-tag{font-size:9px}.packages h2{font-size:55px}.package-details .package-price{font-size:57px}.enq-row{grid-template-columns:1fr}.section-head h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){html:not(.motion-opt-in){scroll-behavior:auto}html:not(.motion-opt-in) *,html:not(.motion-opt-in) *:before,html:not(.motion-opt-in) *:after{animation:none!important;transition:none!important}html:not(.motion-opt-in) .motion-pending{opacity:1!important;transform:none!important;clip-path:none!important}html:not(.motion-opt-in) .reveal-line>span,html:not(.motion-opt-in) .hero-bg,html:not(.motion-opt-in) .magnetic,html:not(.motion-opt-in) .fill img{transform:none!important}html:not(.motion-opt-in) .reading-progress{display:none}}
.motion-paused{scroll-behavior:auto}
.motion-paused .motion-pending{opacity:1!important;transform:none!important;clip-path:none!important}
.motion-paused .reveal-line>span,.motion-paused .magnetic,.motion-paused .hero-bg,.motion-paused .fill img{transform:none!important}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{transition:none!important}
@media(max-width:600px){.hero-bg picture{mask-image:none}}

/* Restrained section transitions: only a divider and a shallow photo zoom move. */
.section:before{content:'';position:absolute;top:0;left:4.4%;right:4.4%;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);pointer-events:none;transform-origin:left;transition:transform 1.3s var(--ease),opacity 1s}
.motion-enabled .section:not(.section-entered):before{transform:scaleX(.2);opacity:0}
.section.section-entered:before{transform:scaleX(1);opacity:1}
.hero-topline>span:first-child:before{content:'';width:5px;height:5px;background:var(--accent);border-radius:50%;display:inline-block;vertical-align:middle;margin-right:10px}
.hero-location{color:var(--ink)}
.hero-sub{border-color:var(--line)}
.hero-tag b{color:var(--ink)}
.svc .icon{color:var(--ink)}
.svc .icon path,.svc .icon circle,.svc .icon rect{transition:stroke .35s,fill .35s}
.svc:hover .icon{color:var(--accent)}
.package-details .package-note,.package-details>p:not(.package-price):not(.eyebrow){color:var(--ink-dim)}
.btn-outline:hover{border-color:var(--ink)}
.round-button:hover,.card:hover .view-circle,.card:focus-visible .view-circle{background:var(--ink);border-color:var(--ink);color:var(--teal)}
@media(max-width:900px){.navlinks{background:rgba(8,31,38,.98)}}
@media(max-width:600px){.hero-bg img{filter:brightness(.83) saturate(.9)}.hero-bg:after{background:linear-gradient(180deg,rgba(8,31,38,.4),rgba(13,59,70,.08) 35%,rgba(8,31,38,.25) 52%,#081F26 100%)}.hero:before{background:linear-gradient(90deg,rgba(8,31,38,.4),transparent)}.hero h1{font-size:10.35vw}.section:before{left:22px;right:22px}}
@media(prefers-reduced-motion:reduce){html:not(.motion-opt-in) .hero-bg img{transform:none!important}}
.motion-paused .hero-bg img{transform:none!important}

/* Reference hero: three compact lines, right-hand couple, two live CTAs. */
:root{--hero-coral:rgba(255,90,54,.86)}
.hero-wordmark{font-family:Georgia,'Times New Roman',serif;font-size:25px;letter-spacing:-.07em;white-space:nowrap}
nav{padding:26px 0;background:linear-gradient(180deg,rgba(8,31,38,.4),transparent)}
nav .wrap{max-width:1440px}
.navcta{padding:10px 16px;font-size:10px;gap:0}
.menu-toggle{display:block;border:0;width:26px;height:30px;padding:4px}
.hero{height:min(84svh,1000px);min-height:660px;display:block}
.hero-bg{inset:0 0 46px;background:#081F26}
.hero-bg picture{width:100%;margin:0;mask-image:none}
.hero-bg img{object-fit:cover;object-position:50% 100%;filter:none;transform-origin:65% 70%}
.hero-bg:after{background:linear-gradient(90deg,rgba(8,31,38,.24),transparent 62%)}
.hero:before{background:linear-gradient(180deg,transparent 65%,rgba(8,31,38,.23));pointer-events:none}
.hero-content{position:absolute;top:17%;bottom:auto;padding:0;width:100%}
.hero-content .wrap{gap:24px;display:block;padding-inline:9%}
.hero h1{font-family:Impact,'Arial Narrow','Archivo Black',sans-serif;font-weight:400;font-size:clamp(72px,8vw,128px);line-height:.94;letter-spacing:.005em;width:max-content;margin:0 0 26px}
.hero h1 .line{padding:3px 0;margin:-3px 0}
.hero h1 #l1,.hero h1 #l2,.hero h1 #l3{display:block;transform-origin:0 100%}
.hero-emphasis{color:var(--accent)}
.hero-sub{display:block;padding:0;border:0}
.hero-tag{font-size:clamp(14px,1.6vw,22px);line-height:1.22;max-width:30ch}
.hero-actions{display:flex;gap:18px;margin-top:28px;align-items:center}
.hero-date,.hero-film{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;text-transform:uppercase;font-weight:600;letter-spacing:.035em;font-size:12px;min-height:52px;padding:0 26px;transition:background .3s,border-color .3s,transform .35s var(--ease);border:1px solid transparent}
.hero-date{background:var(--hero-coral);color:#020a0d;box-shadow:0 0 16px rgba(255,90,54,.14)}
.hero-date:hover{background:var(--accent);box-shadow:0 0 24px rgba(255,90,54,.22)}
.hero-film{border-color:rgba(244,238,230,.7);color:var(--ink);background:rgba(8,31,38,.13);gap:16px}
.hero-film span{font-size:21px;transition:transform .3s}
.hero-film:hover{background:rgba(244,238,230,.1);border-color:var(--ink)}
.hero-film:hover span{transform:translate(2px,-2px)}
.hero-bottom{position:absolute;left:0;right:0;bottom:0;min-height:46px;display:flex;align-items:center;gap:8px;padding-inline:9%;font-size:12px;background:rgba(8,31,38,.35);border-top:1px solid rgba(244,238,230,.24)}
.marquee-stack{transform:skewY(-3deg);margin:0 0 24px;background:rgba(255,90,54,.86);border:0;isolation:isolate}
.mrow{padding:13px 0}
.mrow-track span,.mrow-track.fill span{font-family:Impact,'Arial Narrow','Archivo Black',sans-serif;font-size:clamp(18px,2.6vw,38px);letter-spacing:.015em;color:var(--bg);gap:20px;padding-right:20px}
.mrow-track span b{color:var(--bg);font-size:.7em}
.mrow.rev{background:#06232C;border-top:8px solid var(--bg)}
.mrow.rev .mrow-track span{color:#59B6C8}
.mrow.rev .mrow-track span b{color:var(--ink)}
.mrow.rev .mrow-track span em{font-style:normal;color:#FF785A}
@media(min-width:901px){.menu-open .navlinks{display:grid;position:absolute;top:100%;right:4.4%;padding:24px 32px;background:rgba(8,31,38,.98);border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:8px 36px}.menu-open .navlinks>a{font-size:15px}.hero-wordmark{font-size:30px}}
@media(max-width:900px){
  .hero{height:82vw;min-height:600px;max-height:730px}
  .hero h1{font-size:10.5vw}
  .hero-content{top:18%}
  .hero-wordmark{font-size:23px}
}
@media(max-width:600px){
  nav,nav.scrolled{padding:16px 0}
  nav .wrap{padding-inline:9%;gap:12px}
  .hero-wordmark{font-size:14px;letter-spacing:-.08em}
  .navlinks{position:static;display:flex;padding:0;background:none;border:0;gap:8px;flex:1;justify-content:center}
  .navlinks>a{font-size:7px;padding:0;white-space:nowrap}
  .navlinks>a[href='#packages']{display:none}
  .nav-actions{gap:8px}
  .navcta{padding:5px 8px;font-size:6px;min-height:18px}
  .menu-toggle{width:16px;height:22px;padding:1px}
  .menu-toggle span{margin:4px 0}
  .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(2.5px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-2.5px) rotate(-45deg)}
  .menu-open .navlinks{position:absolute;left:0;right:0;top:100%;padding:22px 9%;display:grid;background:rgba(8,31,38,.98);gap:8px 22px;border-bottom:1px solid var(--line)}
  .menu-open .navlinks>a{display:block;font-size:16px;padding:8px 0}
  .hero{height:84vw;min-height:326px;max-height:510px}
  .hero-bg{inset:0 0 28px}
  .hero-bg img{object-fit:cover;filter:none;object-position:50% 100%}
  .hero-bg:after{background:linear-gradient(90deg,rgba(8,31,38,.12),transparent 62%)}
  .hero:before{background:none}
  .hero-content{top:20%;padding:0}
  .hero-content .wrap{gap:0;padding-inline:9%}
  .hero h1{font-size:11.6vw;line-height:.94;letter-spacing:0;margin-bottom:13px}
  .hero-sub{display:block;gap:0}
  .hero-tag{font-size:12px;line-height:1.16;max-width:38ch}
  .hero-actions{gap:11px;margin-top:17px}
  .hero-date,.hero-film{min-height:30px;padding:0 13px;font-size:7px;letter-spacing:.02em}
  .hero-film{gap:9px}
  .hero-film span{font-size:13px}
  .hero-bottom{min-height:28px;font-size:8px;padding-inline:9%;gap:5px}
  .marquee-stack{margin-bottom:18px}
  .mrow{padding:8px 0}
  .mrow-track span,.mrow-track.fill span,.mrow.rev .mrow-track span{font-size:14px;gap:10px;padding-right:10px}
  .mrow.rev{border-top-width:5px}
}
@media(max-width:359px){nav .wrap{gap:10px}.navlinks{display:none}.hero h1{font-size:12vw}.hero-content{top:18%}.hero-tag{font-size:11px}}

/* Requested studio identity, complete service list and enquiry details. */
.brandmark .brand-logo{display:block;width:84px;height:auto;object-fit:contain;flex-shrink:0}
.foot-row .foot-logo{width:150px;height:auto;object-fit:contain;margin-right:16px}
.svc{position:relative;text-decoration:none;min-height:245px;transition:background .3s,border-color .3s}
.svc:hover{background:var(--teal)}
.svc-number{position:absolute;top:20px;right:22px;font-size:9px;letter-spacing:.1em;color:var(--ink-dim)}
.svc-arrow{position:absolute;bottom:26px;right:24px;font-size:18px;color:var(--ink-dim);transition:transform .3s,color .3s}
.svc:hover .svc-arrow{transform:translate(2px,-2px);color:var(--accent)}
.svc h3{font-size:clamp(18px,1.6vw,25px);letter-spacing:-.015em}
.svc p{padding-right:24px}
@media(min-width:760px){.svc-grid>.svc:last-child:nth-child(3n + 2){grid-column:span 2}}
#enqForm input:not([type=checkbox]),#enqForm select,#enqForm textarea{background:rgba(244,238,230,.035);border:1px solid var(--line);padding:14px 16px;width:100%;min-height:48px;margin-top:10px;color:var(--ink)}
#enqForm textarea{min-height:110px;resize:vertical}
#enqForm select option{background:var(--bg-raised);color:var(--ink)}
#enqForm label,.choice-group legend{font-size:11px;letter-spacing:0;text-transform:none;font-weight:500}
.choice-group{border:0;padding:0;margin:0;min-width:0}
.choice-group legend{padding:0;margin:0 0 14px;color:var(--ink)}
.choice-options{display:flex;flex-wrap:wrap;gap:8px}
#enqForm .choice-pill{position:relative;display:inline-flex;cursor:pointer}
.choice-pill input{position:absolute;opacity:0;width:1px;height:1px;inset:0;padding:0;margin:0}
.choice-pill span{display:block;padding:11px 12px;border:1px solid var(--line);font-size:10px;line-height:1.3;color:var(--ink-dim);transition:background .2s,border-color .2s,color .2s}
.choice-pill input:checked+span{border-color:#25D366;color:#081F26;background:#25D366;font-weight:700}
.choice-pill input:checked+span:after{content:' ✓';margin-left:6px;color:#081F26}
.choice-pill input:focus-visible+span{outline:2px solid var(--ink);outline-offset:3px}
.field-help{font-size:10px;color:var(--ink-dim);margin:10px 0 0;line-height:1.5}
.enq-success{font-size:13px;line-height:1.7;padding:18px;border:1px solid var(--line);background:var(--teal)}
.enq-success[hidden]{display:none}
.cta-inner>.enq-form{grid-row:auto}
.contact-copy{grid-column:1;align-self:start}
.contact-copy .btnrow{justify-content:flex-start;margin-top:25px}
.contact-location{margin:50px 0 0;color:var(--ink);font-size:12px;line-height:2}
.contact-location span{color:var(--ink-dim)}
@media(max-width:1000px) and (min-width:601px){.navlinks{gap:12px}.navlinks>a{font-size:10px}.hero-wordmark{font-size:22px}.brandmark .brand-logo{width:66px}}
@media(max-width:600px){.brandmark{gap:7px}.brandmark .brand-logo{width:55px;height:auto}.navlinks{display:none}.nav-actions{margin-left:auto}.navcta{font-size:8px;padding:9px 12px}.menu-toggle{width:24px}.foot-row .foot-logo{width:110px;max-width:35vw;margin-right:12px}.svc{min-height:210px}.svc h3{font-size:23px}.enq-row{gap:12px}#enqForm input:not([type=checkbox]),#enqForm select,#enqForm textarea{padding:12px;font-size:16px}.choice-pill span{padding:10px;font-size:10px}.enq-form{gap:24px}}
@media(max-width:380px){.enq-row{grid-template-columns:1fr}}
