/* BRANDOXEN / dimensional studio. Loaded after the base layout. */
:root{--bg:#050a0c;--surface:#0b1518;--white:#f1f7f5;--muted:#9bb2ad;--line:#253a39;--paper:#eaf2ef;--ink:#09261d;--gutter:clamp(22px,5vw,80px)}
html{scroll-padding-top:115px}
body{background:var(--bg);overflow-x:clip}
main{overflow:clip}
.scroll-progress{position:fixed;inset:0 0 auto;height:2px;background:var(--mint);z-index:100;transform:scaleX(var(--scroll-progress,0));transform-origin:left;pointer-events:none;box-shadow:0 0 14px #22e5b3}
.site-header{position:sticky;top:14px;z-index:40;margin:14px var(--gutter) 0;border:1px solid #bce7d91c;border-radius:18px;background:#0b151acc;backdrop-filter:blur(20px);box-shadow:0 10px 40px #0002;transition:background .25s,border-color .25s}
.site-header.is-scrolled{background:#0b151af2;border-color:#c5e7dd35}
.nav-shell{height:74px;padding-inline:24px;gap:24px}
.brand{font-size:1.25rem;letter-spacing:-.055em}
.desktop-nav{gap:26px;margin-right:30px;font-size:.875rem}
.desktop-nav a{position:relative;color:#bed0ca}
.desktop-nav a::after{content:"";position:absolute;left:0;bottom:4px;width:100%;height:1px;background:var(--mint);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.desktop-nav a:hover::after{transform:scaleX(1)}
.header-contact{padding:12px 17px;gap:24px;border:1px solid #75ffc851;border-radius:10px;color:var(--mint);background:#22e5b30a}
.header-contact:hover{background:#22e5b31b}
.hero{min-height:760px;grid-template-columns:1fr 1.08fr;gap:0;align-items:center;padding-top:62px;padding-bottom:100px;isolation:isolate}
.hero::before{content:"";position:absolute;inset:-80px -10px -50px;background:radial-gradient(ellipse at 78% 45%,#18ba951a,transparent 45%),radial-gradient(ellipse at 100% 0,#275c7e1a,transparent 35%);pointer-events:none;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(#86d6be07 1px,transparent 1px),linear-gradient(90deg,#86d6be07 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(ellipse at 70% 50%,#000,transparent 73%);pointer-events:none;z-index:-1}
.hero-copy{padding-bottom:26px;pointer-events:auto}
.hero-eyebrow{font-size:.75rem;letter-spacing:.12em;color:#b6d7cc;margin-bottom:29px}
.short-line{width:22px;background:var(--mint);box-shadow:0 0 14px #22e5b38a}
.hero h1{font-size:clamp(4.75rem,8.2vw,8.4rem);font-weight:650;line-height:.99;letter-spacing:-.065em}
.hero h1 .mint{background:linear-gradient(130deg,#c8fff0 5%,#56f4c6 40%,#14bb8c 90%);background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:0 10px 90px #22e5b319}
.hero-description{max-width:390px;color:#9fb5b0;margin-top:30px;font-size:1.0625rem;line-height:1.7}
.hero-actions{margin-top:32px;gap:24px;flex-direction:row;align-items:center}
.button{border-radius:12px;position:relative;isolation:isolate;transition:background .25s,box-shadow .25s,transform .25s}
.button-mint{background:linear-gradient(130deg,#8affd9,var(--mint));box-shadow:inset 0 1px 0 #fff8,0 8px 30px #22e5b31a;font-weight:600}
.button-mint:hover{background:linear-gradient(130deg,#caffef,#50f3c4);box-shadow:inset 0 1px 0 #fff8,0 8px 35px #22e5b339}
.button svg,.header-contact svg{transition:transform .3s}
.button:hover svg,.header-contact:hover svg{transform:translate(2px,-2px)}
.hero-actions .text-link{font-size:.875rem;padding:14px 0;border-color:#477267;margin:0}
.hero-visual{position:relative;width:calc(100% + 30px);margin:0 0 0 -16px;max-height:none;min-height:0;background:transparent;border:0;border-radius:0;overflow:visible;align-self:center;height:auto;aspect-ratio:auto}
.scene-heading{display:flex;align-items:center;justify-content:center;gap:10px;color:#9ccabc;font-size:.75rem;letter-spacing:.15em;position:relative;z-index:2}
.live-dot{width:5px;height:5px;background:var(--mint);border-radius:50%;box-shadow:0 0 12px #22e5b3}
.hero-stage{height:clamp(440px,42vw,620px);position:relative;isolation:isolate;touch-action:pan-y;cursor:grab;border-radius:24px;outline:none;perspective:1000px}
.hero-stage.is-dragging{cursor:grabbing}
.hero-stage:focus-visible{outline:1px solid #81efcbb0;outline-offset:4px}
.hero-stage::before{content:"";position:absolute;inset:9% -5% 5%;border-radius:50%;background:radial-gradient(ellipse,#1cedb51a,transparent 67%);pointer-events:none}
.scene-canvas{position:absolute;inset:0;z-index:2;pointer-events:none}
.scene-canvas canvas{display:block;width:100%;height:100%;outline:0}
.scene-floor{position:absolute;left:10%;right:10%;height:22%;bottom:9%;border-radius:50%;transform:rotateX(67deg);background:repeating-radial-gradient(ellipse,transparent 0 19px,#6cf3c514 20px 21px,transparent 22px 38px);box-shadow:0 0 60px #22e5b30c;pointer-events:none}
.scene-fallback{position:absolute;inset:16% 9% 13%;transform-style:preserve-3d;transform:rotateX(var(--scene-rx,9deg)) rotateY(var(--scene-ry,-18deg));transition:transform .2s ease-out;display:grid;place-items:center;pointer-events:none}
.fallback-mark{width:65%;aspect-ratio:1;position:relative;border-radius:32px;background:#00100c;border:1px solid #8af9d969;box-shadow:12px 12px 0 #18362d,13px 13px 0 #69d6b633,0 30px 70px #0009,inset 0 0 50px #22e5b319;overflow:hidden;transform:translateZ(40px) rotate(-8deg)}
.fallback-mark img{position:absolute;left:50%;top:50%;width:187%;max-width:none;height:auto;transform:translate(-50%,-50%);mix-blend-mode:screen}
.fallback-orbit{position:absolute;inset:-4%;border:1px solid #8effd679;border-radius:50%;transform:rotateX(59deg) rotateZ(-24deg);box-shadow:0 0 22px #22e5b31b,inset 0 0 22px #22e5b318}
.orbit-two{inset:4% -10%;transform:rotateX(-52deg) rotateY(35deg) rotateZ(30deg);border-color:#bedbe23b}
.scene-ready .scene-fallback{visibility:hidden}
.scene-corner{position:absolute;width:17px;height:17px;opacity:.45;pointer-events:none}
.corner-one{top:18%;left:8%;border-top:1px solid #66bca6;border-left:1px solid #66bca6}
.corner-two{bottom:18%;right:8%;border-bottom:1px solid #66bca6;border-right:1px solid #66bca6}
.scene-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 8%}
.scene-toolbar p{font-size:.75rem;color:#9bbdb2;line-height:1.5}
.scene-controls{display:flex;gap:7px;align-items:center;flex-shrink:0}
.scene-controls button{border:1px solid #45645b88;background:#11251c55;color:#b6d4c9;min-height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;transition:background .2s,border-color .2s}
.scene-controls button:hover{background:#20423477;border-color:#65b796}
.scene-controls button:disabled{cursor:default;opacity:.65}
.scene-controls .motion-toggle{width:auto;height:auto;font-size:.75rem;white-space:nowrap}
.scene-controls svg{width:16px;height:16px}
.hero-foot{bottom:22px;color:#7f9e92;font-size:.75rem;letter-spacing:.06em;border-top:1px solid #88d6b91c;padding-top:20px}
.hero-foot a{padding:0}
.discipline-strip{background:#0a1715;color:#86b5a6;padding-block:22px;border-block:1px solid #82ddbf1a;position:relative}
.discipline-strip span{font-weight:450;letter-spacing:.12em;font-size:.8125rem}
.discipline-strip i{color:var(--mint);font-size:20px}
.section-space{padding-top:108px;padding-bottom:108px}
.section-heading .eyebrow{color:#b6d1c7;letter-spacing:.13em}
.section-heading h2,.services-intro h2{letter-spacing:-.055em;line-height:1.09}
.section-heading .muted{color:#82a39a}
.video-frame{border-radius:22px;border-color:#9fdbc12c;box-shadow:0 25px 55px #0003;transition:border-color .3s,box-shadow .3s,transform .3s}
.video-frame:hover{border-color:#83edc67d;box-shadow:0 25px 55px #0005,0 0 35px #22e5b30d}
.video-category{background:#06120cd1;border-color:#a1e8ca30;backdrop-filter:blur(12px)}
.video-play svg{background:#edfff412;color:#ceffea;border-color:#d1ffe65c;width:54px;height:54px;padding:17px;box-shadow:0 8px 30px #0004}
.video-play span{line-height:54px}
.work-caption{padding-inline:5px}
.work-index{color:#69a28f}
.wide-work-copy h3{font-weight:550}
.services-section{position:relative;margin-inline:clamp(12px,2vw,32px);border-radius:30px;background:radial-gradient(ellipse at 90% 0,#b8ecd773,transparent 55%),#e7efec;overflow:hidden;border:1px solid #f7fffa}
.services-section::before{content:"";position:absolute;right:-180px;top:-240px;width:650px;height:650px;border:1px solid #608e7929;border-radius:50%;box-shadow:0 0 0 65px #608e7908,0 0 0 130px #608e7905;pointer-events:none}
.services-section>.container{position:relative}
.services-intro h2>span{color:#298569}
.service-list{border-color:#a8c0b4}
.service-row{border-color:#b0c9bc;padding-inline:14px;transition:background .25s,padding .25s;border-radius:10px}
.service-row:hover{background:#ffffff57;padding-left:22px}
.service-number{color:#398369}
.service-tags span{background:#ffffff42;border-color:#b0cabe;font-size:.8125rem}
.packages-section{position:relative}
.package-grid{gap:24px;padding-top:10px}
.package-card{background:linear-gradient(145deg,#132420c7,#0a1214);border:1px solid #8fcbb330;border-radius:22px;position:relative;isolation:isolate;box-shadow:0 25px 55px #0002;transition:border-color .25s,transform .25s,box-shadow .25s}
.package-card::before,.video-frame::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(450px circle at var(--mx,50%) var(--my,0%),#8dffd815,transparent 65%);transition:opacity .3s}
.package-card:hover::before,.video-frame:not(.is-playing):hover::after{opacity:1}
.package-card:hover{border-color:#87eec078;box-shadow:0 25px 65px #0004}
.package-card>*{position:relative}
.package-featured{--lift:-12px;background:radial-gradient(ellipse at 50% 0,#2157468c,transparent 60%),linear-gradient(145deg,#10231f,#0b1417);color:var(--white);border-color:#54dfb884;box-shadow:0 15px 60px #22e5b30b}
.package-featured::after{content:"";position:absolute;left:25%;right:25%;top:-1px;height:2px;background:#adffe5;box-shadow:0 0 22px #60ffd0;pointer-events:none}
.package-kicker{font-size:.75rem;letter-spacing:.12em}
.package-featured .package-kicker{color:#96ffdb;background:#22e5b317;border:1px solid #64cfae48;padding:6px 11px}
.package-featured .package-top p,.package-featured .package-price>span:last-child,.package-featured .package-features li>span{color:#adc5bd}
.package-featured .package-features li::before{color:var(--mint)}
.package-featured .package-price{border-color:#6aa28c40}
.package-featured .package-button{background:linear-gradient(130deg,#8affd9,var(--mint));color:#052219;border-color:#5cffc8}
.package-featured .package-button:hover{background:#baffea}
.package-featured a:focus-visible{outline-color:#b1ffe4}
.package-button{border-color:#416858;background:#183128;color:#e9fff5}
.price-amount{font-weight:600;letter-spacing:-.055em}
.animation-offer{border-color:#4eaf8b4a;background:radial-gradient(ellipse at 0 50%,#17483788,transparent 70%);border-radius:20px}
.process-grid article{border-color:#325848}
.process-number{color:#a4e8cc;font-weight:300}
.testimonials-section{background:#091215;border-color:#29483a}
.testimonial-card{background:linear-gradient(145deg,#10221b,#0a1417);border-color:#416950;border-radius:20px}
.connect-section{position:relative;background:radial-gradient(ellipse at 0 80%,#14554038,transparent 58%),var(--bg)}
.connect-copy h2 .mint{color:#77f0c6}
.contact-icon{background:#17342863;border-color:#57a78153;transition:transform .25s,background .25s}
.connect-details a:hover .contact-icon{background:#1d4a3688;transform:translateY(-3px)}
.enquiry-form{background:linear-gradient(145deg,#15291fe0,#0b1417);border-color:#73b39242;box-shadow:0 30px 70px #0003;border-radius:24px}
.field input,.field select,.field textarea{background:#050f0bd9;border-color:#4a756157}
.site-footer{border-top:1px solid #2c493b}
.footer-wordmark{background:linear-gradient(180deg,#51796b,#172d25 80%);color:transparent;background-clip:text;-webkit-background-clip:text;-webkit-text-stroke:1px #5d988326;letter-spacing:-.07em}
.footer-wordmark>span{color:#58b998}
.depth-card{transform:perspective(1100px) translateY(var(--lift,0px)) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-origin:center}
.depth-card.is-tilting{transition:transform .14s ease-out,border-color .3s;will-change:transform}
.motion-enabled .scene-active .fallback-mark{animation:levitate 7s ease-in-out infinite}
@keyframes levitate{0%,100%{transform:translate3d(0,0,40px) rotate(-8deg)}50%{transform:translate3d(0,-16px,48px) rotate(-4deg)}}
.motion-paused .depth-card,.has-reduced-motion .depth-card{transform:none}
.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}
.motion-paused .button:hover,.motion-paused .contact-icon,.motion-paused .work-video,.has-reduced-motion .button:hover,.has-reduced-motion .contact-icon{transform:none!important}
.has-reduced-motion .service-row:hover{padding-left:14px}

@media(min-width:1600px){.hero{min-height:850px}.hero-visual{margin-left:-12px}}
@media(max-width:1150px){
 .desktop-nav{gap:17px;margin-right:10px}.nav-shell{gap:18px;padding-inline:18px}.hero{min-height:660px;padding-top:48px;padding-bottom:92px}
 .hero h1{font-size:clamp(4.5rem,8.9vw,6.75rem)}.hero-eyebrow{letter-spacing:.06em}.hero-description{font-size:1rem;max-width:340px}
 .hero-actions{gap:16px;flex-wrap:wrap}.hero-actions .button{padding-inline:19px}.hero-visual{width:calc(100% + 20px);margin-left:-10px}.hero-stage{height:460px}
 .scene-heading{font-size:.75rem;letter-spacing:.08em}.scene-toolbar{margin-inline:4%}.scene-toolbar p{max-width:130px}.scene-controls .motion-toggle>span{display:none}
 .section-space{padding-block:88px}
}
@media(max-width:900px) and (min-width:761px){.desktop-nav{gap:13px;font-size:.875rem;margin-right:0}.brand{font-size:1.1rem}.header-contact{padding-inline:12px;gap:10px}.hero-stage{height:410px}.hero h1{font-size:4.5rem}.scene-heading{font-size:.75rem}}
@media(max-width:960px){.desktop-nav{display:none}.menu-toggle{display:flex}.header-contact{margin-left:auto}.mobile-nav:not([hidden]){display:flex;flex-direction:column;margin-inline:18px;padding:8px 4px 16px;border-top:1px solid #375548;gap:2px}.mobile-nav a{padding:13px 5px;font-size:1rem}}
@media(max-width:760px){
 html{scroll-padding-top:94px;scroll-padding-bottom:100px}
 .site-header{margin:10px 12px 0;top:8px;border-radius:15px}.nav-shell{height:60px;padding-inline:14px}.brand{font-size:1.125rem}.brand-symbol{width:33px}
 .mobile-nav:not([hidden]){margin-inline:14px;padding-inline:4px;border-color:#375548}.mobile-nav a{font-size:1rem;padding:13px 5px}
 .hero{display:flex;min-height:0;gap:0;padding-top:32px;padding-bottom:28px}.hero-copy{padding-bottom:0;width:100%}.hero-eyebrow{font-size:.75rem;letter-spacing:.035em;margin-bottom:19px}
 .hero h1{font-size:clamp(2.5rem,11vw,4.375rem);line-height:1.04;letter-spacing:-.055em}.hero h1 br:nth-of-type(2){display:none}
 .hero-description{font-size:1rem;line-height:1.6;margin-top:18px;max-width:500px}.hero-actions{margin-top:21px;gap:12px 18px;align-items:center;flex-direction:row}
 .hero-actions .button{padding:13px 17px;min-height:48px;gap:16px}.hero-actions .text-link{padding:12px 0;font-size:.875rem}
 .hero-visual{width:100%;margin:26px 0 0;height:auto;aspect-ratio:auto;max-height:none;min-height:0}
 .hero-stage{height:clamp(245px,73vw,360px)}.scene-heading{font-size:.75rem;letter-spacing:.035em}.scene-toolbar{margin-inline:0;gap:10px}.scene-toolbar p{max-width:none;font-size:.75rem}
 .scene-controls .motion-toggle>span{display:none}.scene-controls button{min-width:44px;background:#0e241c}.scene-controls{gap:6px}.scene-heading .live-dot{width:4px;height:4px}
 .scene-floor{bottom:7%}.corner-one{top:14%;left:5%}.corner-two{bottom:14%;right:5%}.hero-foot,.discipline-strip{display:none}
 .fallback-mark{border-radius:20px}.scene-fallback{inset:13% 13% 12%}.hero-stage::before{inset:-8% 0}
 .section-space{padding-block:46px}.section-heading{gap:17px;margin-bottom:24px}.section-heading h2,.services-intro h2{font-size:clamp(1.875rem,7.4vw,2.75rem);line-height:1.12}
 .video-frame{border-radius:16px}.secondary-work{padding-top:0}.video-play svg{width:46px;height:46px;padding:14px}.video-play span{line-height:46px}
 .services-section{margin-inline:12px;border-radius:22px}.services-section .container{padding-inline:20px}.services-intro{gap:18px;margin-bottom:24px}.services-intro>p:last-child{line-height:1.55}
 .service-fold>summary{padding-inline:0;min-height:62px}.service-row,.service-row:hover{padding:0 0 20px;background:transparent}.service-list,.service-fold{border-color:#a9c0b3}.service-tags span{font-size:.8125rem}
 .package-grid{gap:16px;padding-top:0}.package-card{--lift:0px;padding:21px 19px;border-radius:18px}.package-kicker{font-size:.75rem;letter-spacing:.055em}.package-featured .package-kicker{padding:4px 8px;margin-top:0;margin-bottom:7px}
 .package-price{padding:0;margin:0}.price-amount{font-size:2.375rem}.package-featured .package-fold{border-color:#5b9c7d40}.package-button{min-height:46px}
 .animation-offer{padding:22px;margin-top:28px}.packages-section+.process-section{padding-block:0 30px}
 .testimonials-section .section-space{padding-block:12px}.testimonial-card{border-radius:16px}
 .connect-grid{gap:24px}.connect-copy h2{font-size:clamp(2.5rem,10vw,4rem);margin-block:18px}.connect-details{gap:15px}.contact-icon{background:#0f2b20}
 .connect-form-wrap{background:linear-gradient(145deg,#11251d,#0a1516);border-color:#52846b5c;border-radius:18px}.enquiry-form{background:transparent;box-shadow:none;border:0;border-radius:0;padding:4px 18px 22px}
 .site-footer{padding-block:30px 14px}.footer-wordmark{display:none}.mobile-quick-nav{background:#0d201aeF;backdrop-filter:blur(16px);border-color:#5b9c7d75;box-shadow:0 12px 35px #0008}
 .mobile-quick-nav .quick-email{background:linear-gradient(130deg,#8affd9,var(--mint))}
 .depth-card{transform:none}
}
@media(max-width:370px){.hero-actions{gap:10px 14px}.hero-actions .button{padding-inline:14px;gap:9px}.scene-toolbar .scene-hint{display:block;max-width:145px}.package-card{padding:18px 16px}.price-amount{font-size:2.125rem}.package-top h3{font-size:1.1875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scene-fallback,.depth-card,.service-row,.button,.contact-icon{transition:none!important}.depth-card{transform:none}.service-row:hover{padding-left:14px}.fallback-mark{animation:none!important}}
