:root{--black:#000;--panel:#090a0e;--panel2:#101118;--white:#f4f4f5;--muted:#a2a4ad;--line:rgba(255,255,255,.16);--blue:#8099ff;--violet:#bd82ff;--amber:#ef9b65;--sans:"Manrope","Noto Sans SC",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#000;color:var(--white);font-family:var(--sans);font-size:16px;line-height:1.6}button,a,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.progress-line{position:fixed;z-index:100;top:0;left:0;height:2px;width:calc(var(--progress,0)*1%);background:linear-gradient(90deg,var(--blue),var(--violet),var(--amber));box-shadow:0 0 14px var(--violet)}.aurora{position:fixed;z-index:-1;inset:0;overflow:hidden;pointer-events:none}.aurora i{position:absolute;border-radius:50%;filter:blur(120px);opacity:.13;animation:float 12s ease-in-out infinite alternate}.aurora i:nth-child(1){width:50vw;height:50vw;background:#244cff;right:-24vw;top:45vh}.aurora i:nth-child(2){width:42vw;height:42vw;background:#8d35dc;left:-20vw;top:180vh;animation-delay:-4s}.aurora i:nth-child(3){width:36vw;height:36vw;background:#d3652c;right:-18vw;top:360vh;animation-delay:-7s}.site-nav{position:fixed;z-index:60;top:0;left:0;width:100%;height:76px;padding:0 clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.68);backdrop-filter:blur(22px) saturate(140%)}.brand{font-size:21px;letter-spacing:-.06em}.brand b{font-weight:600}.brand span{font-weight:300}.site-nav nav{display:flex;gap:30px;font-size:11px;letter-spacing:.1em}.site-nav nav a{position:relative}.site-nav nav a:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:#fff;transition:.25s}.site-nav nav a:hover:after{width:100%}.nav-actions{display:flex;align-items:center;gap:13px}.language{border:0;background:none;font-size:10px;letter-spacing:.08em;cursor:pointer}.nav-quote{border:1px solid #fff;background:#fff;color:#000;padding:10px 14px;font-size:11px;cursor:pointer}.menu-toggle{display:none;border:0;background:none;width:42px;height:42px}.menu-toggle span{display:block;width:22px;height:1px;background:#fff;margin:6px auto}.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;padding:140px clamp(22px,7vw,110px) clamp(60px,8vh,90px)}.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:heroMove 14s ease-in-out infinite alternate}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.18) 64%,rgba(0,0,0,.45)),linear-gradient(0deg,#000 0%,transparent 42%)}.hero-copy{position:relative;z-index:2;max-width:930px}.eyebrow{margin:0;font-size:10px;letter-spacing:.18em;color:#c7c9d1}.hero h1,.section-head h2,.final-cta h2{font-size:clamp(62px,10vw,145px);line-height:.84;letter-spacing:-.075em;margin:22px 0 34px;font-weight:500}.hero h1 em,.section-head h2 em,.final-cta h2 em{font-weight:300;font-style:italic;background:linear-gradient(100deg,#bec8ff,var(--violet),var(--amber));background-clip:text;color:transparent}.hero-lead{max-width:720px;font-size:clamp(17px,1.55vw,22px);line-height:1.65;color:#e1e1e4}.hero-actions{display:flex;gap:10px;margin-top:30px}.cta{border:1px solid rgba(255,255,255,.65);padding:15px 20px;min-width:180px;text-align:center;font-size:12px;letter-spacing:.04em;cursor:pointer;transition:transform .25s,background .25s}.cta:hover{transform:translateY(-3px)}.cta.primary{background:#fff;color:#000}.cta.secondary{background:rgba(0,0,0,.2)}.hero-copy>small{display:block;margin-top:16px;color:#aaa}.focus-corner{position:absolute;z-index:3;width:42px;height:42px;animation:breathe 4s ease-in-out infinite}.fc-1{left:4vw;top:115px;border-left:1px solid #fff;border-top:1px solid #fff}.fc-2{right:4vw;bottom:55px;border-right:1px solid #fff;border-bottom:1px solid #fff}.timecode{position:absolute;z-index:3;right:4vw;top:115px;font-size:10px;letter-spacing:.13em}.timecode span{color:#ff6d6d;margin-right:12px;animation:blink 1.1s steps(1) infinite}.trust{padding:44px clamp(22px,7vw,110px);border-block:1px solid var(--line);display:grid;grid-template-columns:1fr 4fr;align-items:center;gap:30px;background:#020202}.trust>p{font-size:10px;letter-spacing:.16em;color:#888}.logo-row{display:flex;justify-content:space-around;align-items:center;gap:50px;color:#aaa}.logo-row span{font-size:clamp(20px,3vw,38px);font-weight:600;letter-spacing:-.04em;filter:grayscale(1)}.catl-logo{font-style:italic;color:#b7b9c1}.section{padding:clamp(95px,11vw,160px) clamp(22px,7vw,110px);position:relative}.section-head{display:grid;grid-template-columns:1fr 4fr;gap:28px}.section-head h2{grid-column:2;font-size:clamp(44px,7vw,98px);line-height:.96;margin:0}.section-head>p:last-child{grid-column:2;max-width:720px;color:var(--muted);font-size:18px}.section-head.split{grid-template-columns:1fr 3fr 1.4fr}.section-head.split h2{grid-column:2}.section-head.split>p:last-child,.section-head.split>.text-cta{grid-column:3;align-self:end}.what{background:radial-gradient(circle at 78% 28%,rgba(68,84,194,.16),transparent 32%),#000}.outcome-grid{display:grid;grid-template-columns:repeat(4,1fr);margin:80px 0 0 20%;border-top:1px solid var(--line);border-left:1px solid var(--line)}.outcome-grid article{padding:30px;min-height:190px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.025)}.outcome-grid b{font-size:11px;color:#bfcaff;letter-spacing:.1em}.outcome-grid p{margin-top:42px;color:#ccc}.marquee{overflow:hidden;border-block:1px solid var(--line);padding:22px 0;background:#030303}.marquee>div{display:flex;width:max-content;gap:28px;align-items:center;animation:marquee 25s linear infinite}.marquee span{font-size:clamp(32px,5.5vw,76px);font-weight:500;letter-spacing:-.05em}.marquee span:nth-of-type(2n){color:#b889ff}.marquee i{font-size:9px;color:var(--amber);font-style:normal}.work{overflow:hidden;background:radial-gradient(circle at 16% 20%,rgba(125,72,209,.14),transparent 30%),#000}.project-controls{display:flex;justify-content:flex-end;gap:10px;margin:30px 0}.project-controls button{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.04);cursor:pointer}.project-rail{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:15px 0 45px}.project-rail::-webkit-scrollbar{display:none}.project-card{flex:0 0 min(76vw,930px);scroll-snap-align:start;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:rgba(255,255,255,.035);display:grid;grid-template-columns:1.05fr 1fr;min-height:480px;transition:transform .35s,border-color .35s}.project-card:hover{transform:translateY(-8px);border-color:rgba(164,177,255,.55)}.project-visual{position:relative;display:grid;place-items:center;overflow:hidden}.project-visual:before{content:"";position:absolute;width:70%;aspect-ratio:1;border-radius:50%;filter:blur(65px);opacity:.45;transition:transform .6s}.blue .project-visual:before{background:#1769ce}.violet .project-visual:before{background:#793cc0}.amber .project-visual:before{background:#c06732}.project-card:hover .project-visual:before{transform:scale(1.3) translateY(-8%)}.client-mark{position:relative;font-size:clamp(36px,6vw,82px);font-weight:600}.play{position:absolute;right:24px;bottom:24px;width:48px;height:48px;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:grid;place-items:center;font-size:12px}.project-info{padding:42px;display:flex;flex-direction:column}.project-info>p:first-child{font-size:10px;letter-spacing:.12em;color:#aaa}.project-info h3{font-size:42px;margin:16px 0}.project-info>p{color:#bbb}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.tags span{border:1px solid var(--line);border-radius:99px;padding:6px 9px;font-size:9px}.project-info>b{margin-top:24px;font-size:11px}.services{background:#000}.service-image{height:clamp(330px,48vw,650px);border-radius:30px;margin-bottom:90px;background:linear-gradient(90deg,rgba(0,0,0,.05),rgba(0,0,0,.4)),url('/images/event-detail.png') center/cover;box-shadow:inset 0 0 0 1px var(--line)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:80px}.service-grid>a{border:1px solid var(--line);border-radius:24px;min-height:410px;padding:30px;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.015));display:flex;flex-direction:column;transition:.3s}.service-grid>a:hover{transform:translateY(-7px);border-color:rgba(146,161,255,.5)}.service-grid>a>span{font-size:10px;color:#777}.service-grid h3{font-size:32px;margin:45px 0 10px}.service-grid>a>p:nth-of-type(1){font-size:10px;letter-spacing:.08em;color:#8fa4ff}.service-grid>a>p:nth-of-type(2){color:#aaa}.service-grid b{margin-top:auto;font-size:11px}.wide-cta{width:100%;margin-top:18px;border:0;border-radius:22px;background:linear-gradient(100deg,#5069d7,#7350b2,#9a5e45);padding:25px 28px;display:flex;justify-content:space-between;font-size:20px;cursor:pointer}.why{background:radial-gradient(circle at 80% 25%,rgba(74,77,192,.14),transparent 30%),#000}.why-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;margin-top:80px}.studio-image{min-height:720px;border-radius:28px;background:linear-gradient(0deg,rgba(0,0,0,.35),transparent),url('/images/studio-process.png') center/cover;box-shadow:inset 0 0 0 1px var(--line)}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.why-grid article{padding:28px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.035)}.why-grid b{font-size:10px;color:#a9b6ff}.why-grid h3{font-size:21px;margin:25px 0 12px}.why-grid p{color:#aaa}.production-note{margin:25px 0 0 50%;color:#aaa;font-size:17px}.process{background:#050505}.process .text-cta{border:0;background:none;text-align:left;cursor:pointer;color:#fff}.process ol{list-style:none;margin:80px 0 0 20%;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.process li{padding:28px;border-right:1px solid var(--line)}.process li>span{font-size:11px;color:#899dff}.process h3{font-size:22px;margin:50px 0 12px}.process li p{color:#999}.asset-flow{background:radial-gradient(circle at 50% 60%,rgba(104,71,197,.18),transparent 40%),#000}.flow{margin:80px auto 0;max-width:1000px;text-align:center}.flow>div:not(.destinations){display:inline-block;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:20px 45px;font-size:clamp(24px,4vw,48px);background:rgba(255,255,255,.05);backdrop-filter:blur(20px)}.flow>i{display:block;font-style:normal;font-size:34px;color:#927cff;margin:12px}.destinations{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.destinations span{border:1px solid var(--line);border-radius:18px;padding:24px 10px;background:rgba(255,255,255,.04)}.faq{background:#030303}.faq-list{margin:70px 0 0 20%}.faq details{border-top:1px solid var(--line);padding:25px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;font-size:20px;display:flex;justify-content:space-between}.faq summary:after{content:"+"}.faq details[open] summary:after{content:"−"}.faq details p{max-width:760px;color:#aaa}.final-cta{min-height:90vh;padding:clamp(100px,12vw,170px) clamp(22px,7vw,110px);display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.72) 50%,rgba(0,0,0,.25)),url('/images/hero-v2-poster.png') center/cover}.final-cta h2{max-width:1100px}.final-cta>p:not(.eyebrow){max-width:650px;font-size:19px}.final-cta>div{display:flex;align-items:center;gap:30px;margin-top:30px}.phone{font-size:20px;border-bottom:1px solid #fff;padding:12px 0}.phone span{font-size:10px;margin-left:10px}.final-cta>small{color:#aaa;margin-top:14px}footer{padding:55px clamp(22px,4vw,64px);display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;border-top:1px solid var(--line);background:#000;color:#888;font-size:12px}footer nav{display:flex;flex-direction:column;gap:8px}footer nav button{padding:0;border:0;background:none;text-align:left;color:#aaa;cursor:pointer}.mobile-quote{display:none}.quote-dialog{width:min(930px,100%);max-width:none;max-height:none;border:1px solid var(--line);border-radius:28px;padding:0;background:rgba(7,8,12,.94);color:#fff;backdrop-filter:blur(28px)}.quote-dialog::backdrop{background:rgba(0,0,0,.8);backdrop-filter:blur(12px)}#quote-form,.form-success{padding:clamp(24px,5vw,60px)}#quote-form>header{display:flex;justify-content:space-between}.quote-dialog h2{font-size:clamp(30px,5vw,54px);margin:8px 0}.quote-close{border:0;background:none;font-size:40px;cursor:pointer}.form-progress{display:flex;align-items:center;gap:15px;margin:25px 0 45px}.form-progress i{height:2px;width:25%;background:linear-gradient(90deg,var(--blue),var(--violet));transition:width .3s}.form-progress span{font-size:10px}.form-step{display:none;border:0;padding:0;margin:0}.form-step.active{display:block}.form-step legend{font-size:clamp(27px,4vw,46px);letter-spacing:-.04em;margin-bottom:30px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.choices label{cursor:pointer}.choices input{position:absolute;opacity:0}.choices span{display:block;padding:16px;border:1px solid #333;border-radius:12px}.choices input:checked+span{background:#fff;color:#000;border-color:#fff}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.field-grid label,.budget,.notes{display:flex;flex-direction:column;gap:6px;color:#aaa;font-size:12px}.field-grid input,.budget select,.notes textarea{width:100%;border:1px solid #333;border-radius:10px;background:#0c0d11;color:#fff;padding:14px}.budget,.notes{margin-top:20px}.form-step>p{color:#888}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:30px}.form-actions button,.success-close{border:1px solid #444;background:none;padding:13px 20px;cursor:pointer}.form-actions .form-next,.form-actions .form-submit,.success-close{background:#fff;color:#000}.form-submit{display:none}.form-success{text-align:center}.form-success h2{max-width:650px;margin:25px auto}.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@keyframes float{to{transform:translate3d(-50px,70px,0) scale(1.15)}}@keyframes heroMove{from{transform:scale(1.04)}to{transform:scale(1.1) translateX(-1%)}}@keyframes breathe{50%{opacity:.35;transform:scale(.95)}}@keyframes blink{0%,65%{opacity:1}66%,100%{opacity:.25}}@keyframes marquee{to{transform:translateX(-50%)}}
@media(max-width:900px){.site-nav nav{position:fixed;top:76px;left:0;right:0;background:rgba(0,0,0,.96);padding:30px;display:none;flex-direction:column;font-size:15px}.site-nav.menu-open nav{display:flex}.site-nav .nav-quote{display:none}.menu-toggle{display:block}.nav-actions{margin-left:auto}.section-head,.section-head.split{grid-template-columns:1fr}.section-head h2,.section-head.split h2,.section-head>p:last-child,.section-head.split>p:last-child,.section-head.split>.text-cta{grid-column:1}.outcome-grid,.process ol,.faq-list{margin-left:0}.why-layout{grid-template-columns:1fr}.studio-image{min-height:520px}.production-note{margin-left:0}.service-grid{grid-template-columns:1fr}.service-grid>a{min-height:300px}.project-card{grid-template-columns:1fr;flex-basis:86vw}.project-visual{min-height:330px}.trust{grid-template-columns:1fr}.process ol{grid-template-columns:1fr 1fr}.destinations{grid-template-columns:1fr 1fr}}
@media(max-width:600px){body{font-size:16px;padding-bottom:62px}.site-nav{height:68px}.site-nav nav{top:68px}.language{font-size:9px}.hero{padding:120px 20px 45px}.hero h1{font-size:clamp(60px,19vw,88px)}.hero-lead{font-size:16px}.hero-actions{flex-direction:column}.cta{width:100%}.timecode,.fc-1{top:94px}.fc-2{bottom:28px}.trust{padding-block:30px}.logo-row{gap:25px;justify-content:flex-start;overflow:auto}.section{padding:85px 20px}.section-head h2{font-size:clamp(43px,13vw,68px)}.section-head>p:last-child{font-size:16px}.outcome-grid{grid-template-columns:1fr 1fr;margin-top:50px}.outcome-grid article{padding:20px;min-height:150px}.project-card{min-height:0}.project-info{padding:26px}.project-visual{min-height:260px}.service-image{height:360px;border-radius:20px}.why-grid{grid-template-columns:1fr}.studio-image{min-height:430px}.process ol{grid-template-columns:1fr}.destinations{grid-template-columns:1fr 1fr}.faq summary{font-size:17px}.final-cta{min-height:75vh;padding:90px 20px}.final-cta h2{font-size:clamp(58px,18vw,88px)}.final-cta>div{flex-direction:column;align-items:stretch}.final-cta .cta{width:100%}footer{grid-template-columns:1fr}.mobile-quote{display:block;position:fixed;z-index:55;left:12px;right:12px;bottom:10px;width:calc(100% - 24px);height:48px;border:0;background:#fff;color:#000;font-weight:600}.quote-dialog{width:100%;height:100%;border-radius:0}.choices{grid-template-columns:1fr}.field-grid{grid-template-columns:1fr}#quote-form{height:100%;overflow:auto}.form-actions{position:sticky;bottom:-1px;background:#07080c;padding:12px 0}.form-step legend{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.aurora i,.hero-media,.focus-corner,.timecode span,.marquee>div{animation:none!important}.reveal{opacity:1;transform:none;transition:none}}
@media(max-width:600px){.hero h1{font-size:clamp(52px,15vw,68px)}}

/* Hero capabilities + persistent quote navigation */
.site-nav{background:linear-gradient(180deg,rgba(3,3,4,.9),rgba(3,3,4,.66));border-bottom:1px solid rgba(255,255,255,.09);backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%);box-shadow:0 12px 38px rgba(0,0,0,.18)}
.nav-quote,.menu-quote{border:1px solid rgba(255,255,255,.7);border-radius:999px;background:linear-gradient(135deg,#fff 0%,#ede9ff 54%,#d8e9ff 100%);color:#050505;font-weight:650;letter-spacing:-.01em;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 8px 28px rgba(122,104,255,.34);transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}
.nav-quote:hover,.menu-quote:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 0 0 1px rgba(255,255,255,.2),0 12px 38px rgba(122,104,255,.5)}
.menu-quote{display:none}
.hero{align-items:flex-end;padding-bottom:clamp(34px,4vw,58px)}
.hero-copy{width:100%;max-width:1280px}
.hero-copy>h1{max-width:1100px;font-size:clamp(68px,8.2vw,132px)}
.hero-lead{max-width:690px}
.hero-capabilities{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:clamp(26px,3.2vw,48px);overflow:visible}
.hero-capabilities article{position:relative;isolation:isolate;min-height:166px;padding:18px 17px 17px;overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:19px;background:linear-gradient(145deg,rgba(255,255,255,.15),rgba(255,255,255,.055) 42%,rgba(255,255,255,.09));box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(255,255,255,.06),0 18px 42px rgba(0,0,0,.27);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);transition:transform .35s ease,border-color .35s ease,background .35s ease}
.hero-capabilities article:before{content:"";position:absolute;z-index:-1;width:90px;height:90px;right:-32px;top:-40px;border-radius:50%;background:radial-gradient(circle,rgba(154,133,255,.42),transparent 68%);filter:blur(4px)}
.hero-capabilities article:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(112deg,transparent 22%,rgba(255,255,255,.13) 42%,transparent 59%);transform:translateX(-120%);transition:transform .7s ease}
.hero-capabilities article:hover{transform:translateY(-7px);border-color:rgba(255,255,255,.36);background:linear-gradient(145deg,rgba(255,255,255,.19),rgba(255,255,255,.07))}
.hero-capabilities article:hover:after{transform:translateX(120%)}
.hero-capabilities small{display:block;margin:0 0 20px;color:rgba(255,255,255,.68);font-size:9px;letter-spacing:.11em;text-transform:uppercase}
.hero-capabilities h3{max-width:210px;margin:0;color:#fff;font-size:clamp(15px,1.25vw,19px);line-height:1.25;letter-spacing:-.035em}
.hero-capabilities p{margin:10px 0 0;color:rgba(255,255,255,.67);font-size:12px;line-height:1.55}
@media(max-width:900px){.site-nav nav .menu-quote{display:block;width:100%;margin-top:16px;padding:15px 18px;text-align:center}.hero-copy>h1{font-size:clamp(58px,11vw,94px)}.hero-capabilities{display:flex;gap:12px;margin-right:calc(clamp(22px,7vw,110px) * -1);padding:10px clamp(22px,7vw,110px) 18px 0;margin-bottom:-18px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-left:0;overscroll-behavior-inline:contain;scrollbar-width:none}.hero-capabilities::-webkit-scrollbar{display:none}.hero-capabilities article{flex:0 0 min(300px,72vw);scroll-snap-align:start}}
@media(max-width:600px){.hero{min-height:auto;padding-top:126px;padding-bottom:34px}.hero-copy>h1{font-size:clamp(49px,14vw,66px)}.hero-lead{max-width:95%;margin-top:18px}.hero-capabilities{margin-top:28px;margin-right:-20px;padding-right:20px}.hero-capabilities article{flex-basis:78vw;min-height:162px}.nav-actions{gap:8px}.site-nav nav{max-height:calc(100svh - 68px);overflow:auto;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 22px 55px rgba(0,0,0,.55)}}
@media(prefers-reduced-motion:reduce){.nav-quote,.menu-quote,.hero-capabilities article,.hero-capabilities article:after{transition:none}.hero-capabilities article:hover{transform:none}}

/* Official KOIVISION wordmark */
.brand{display:inline-flex;align-items:center;flex:0 0 auto}
.brand img{display:block;width:clamp(122px,10vw,154px);height:auto;object-fit:contain}
footer .brand img{width:154px}
@media(max-width:600px){.site-nav .brand img{width:118px}footer .brand img{width:142px}}

@media(max-width:900px){
  .site-nav>.brand{order:1}
  .site-nav>.nav-actions{order:2;margin-left:auto}
  .site-nav>.menu-toggle{order:3;display:block;flex:0 0 42px;margin-left:4px;border:1px solid rgba(255,255,255,.18);border-radius:50%;cursor:pointer}
  .site-nav>nav{order:4}
  .menu-toggle span{width:18px;background:#fff;opacity:1}
}

/* One consistent hamburger navigation at every viewport size */
.site-nav>.brand{order:1}
.site-nav>.nav-actions{order:2;margin-left:auto}
.site-nav>.menu-toggle{order:3;display:block;flex:0 0 42px;margin-left:8px;border:1px solid rgba(255,255,255,.22);border-radius:50%;cursor:pointer}
.site-nav>.menu-toggle span{width:18px;background:#fff;opacity:1;transition:transform .25s ease}
.site-nav>.menu-toggle:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.42)}
.site-nav>nav{order:4;position:fixed;top:84px;right:24px;left:auto;width:min(330px,calc(100vw - 48px));padding:25px;display:none;flex-direction:column;gap:18px;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:rgba(6,6,8,.9);box-shadow:0 24px 65px rgba(0,0,0,.55);backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%);font-size:12px}
.site-nav.menu-open>nav{display:flex}
/* The primary quote action remains visible at every breakpoint. */
.site-nav .nav-quote{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:40px;white-space:nowrap}
@media(max-width:600px){.site-nav{padding-inline:12px}.site-nav>.brand{font-size:18px;flex-shrink:0}.site-nav .nav-quote{padding:9px 10px;font-size:10px;min-height:40px}.site-nav .language{font-size:9px;white-space:nowrap;padding-inline:0}.site-nav>.nav-actions{gap:7px}.site-nav>.menu-toggle{flex-basis:36px;width:36px;height:40px}}
.site-nav>nav .menu-quote{display:block;width:100%;margin-top:8px;padding:15px 18px;text-align:center}
.site-nav.menu-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}
.site-nav.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
@media(max-width:600px){.site-nav>nav{top:68px;right:12px;left:12px;width:auto;border-radius:18px}.site-nav>.menu-toggle{margin-left:3px}.site-nav>.nav-actions{gap:5px}}

/* Capability cards: category first, details second */
.hero-capabilities small{margin:0 0 26px;color:#fff;font-size:clamp(14px,1.15vw,17px);font-weight:600;line-height:1.2;letter-spacing:-.025em;text-transform:none}
.hero-capabilities h3{max-width:220px;color:rgba(255,255,255,.74);font-size:13px;font-weight:500;line-height:1.4;letter-spacing:-.01em}
.hero-capabilities p{margin-top:8px;color:rgba(255,255,255,.5);font-size:11px;line-height:1.55}
@media(max-width:600px){.hero-capabilities small{font-size:17px;margin-bottom:30px}.hero-capabilities h3{font-size:14px}.hero-capabilities p{font-size:12px}}

/* Strong capability-card hierarchy */
.hero-capabilities article{min-height:190px;padding:21px 18px 18px}
.hero-capabilities small{position:relative;margin:0 0 34px;padding-bottom:14px;color:#fff;font-size:clamp(19px,1.55vw,24px);font-weight:600;line-height:1.05;letter-spacing:-.045em;text-shadow:0 0 24px rgba(255,255,255,.2)}
.hero-capabilities small:after{content:"";position:absolute;left:0;bottom:0;width:32px;height:2px;border-radius:2px;background:linear-gradient(90deg,#fff,#a98cff);box-shadow:0 0 12px rgba(169,140,255,.7)}
.hero-capabilities h3{color:rgba(255,255,255,.58);font-size:12px;font-weight:500;line-height:1.4;letter-spacing:0}
.hero-capabilities p{color:rgba(255,255,255,.38);font-size:10px;line-height:1.55}
@media(max-width:600px){.hero-capabilities article{min-height:196px;padding:22px 20px}.hero-capabilities small{font-size:23px;margin-bottom:36px}.hero-capabilities h3{font-size:13px}.hero-capabilities p{font-size:11px}}

/* Selected clients: seamless logo loop */
.trust{overflow:hidden}
.client-logo-marquee{min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.client-logo-track{display:flex;width:max-content;animation:clientLogoLoop 48s linear infinite;will-change:transform}
.client-logo-marquee:hover .client-logo-track{animation-play-state:paused}
.client-logo-set{display:flex;align-items:center;gap:clamp(34px,5vw,78px);padding-right:clamp(34px,5vw,78px)}
.client-logo-set img{display:block;width:clamp(76px,7vw,112px);height:72px;object-fit:contain;filter:grayscale(1);opacity:.72;transition:filter .3s ease,opacity .3s ease,transform .3s ease}
.client-logo-set img:hover{filter:grayscale(0);opacity:1;transform:scale(1.06)}
@keyframes clientLogoLoop{to{transform:translateX(-50%)}}
@media(max-width:600px){.trust{gap:20px}.client-logo-set{gap:38px;padding-right:38px}.client-logo-set img{width:78px;height:62px}.client-logo-track{animation-duration:24s}}
@media(prefers-reduced-motion:reduce){.client-logo-marquee{overflow-x:auto;mask-image:none;-webkit-mask-image:none}.client-logo-track{animation:none;will-change:auto}.client-logo-set[aria-hidden="true"]{display:none}}

/* Larger client marks */
.client-logo-set{gap:clamp(48px,6vw,92px);padding-right:clamp(48px,6vw,92px)}
.client-logo-set img{width:clamp(126px,11vw,178px);height:112px}
.client-logo-set img.client-logo-batch2{background:transparent;padding:26px 34px;border-radius:0;filter:brightness(0) invert(1)}
@media(max-width:600px){.client-logo-set{gap:48px;padding-right:48px}.client-logo-set img{width:116px;height:88px}.client-logo-set img.client-logo-batch2{padding:20px 18px}.client-logo-track{animation-duration:36s}}

/* 01 / How we work */
.how-work{background:radial-gradient(circle at 84% 46%,rgba(124,91,202,.13),transparent 30%),#030303}
.how-work .section-head>p:last-child{align-self:end}
.how-desktop{margin-top:clamp(65px,7vw,105px)}
.how-timeline{--active-step:1;position:relative;display:grid;grid-template-columns:repeat(5,1fr);padding-top:4px}
.how-timeline:before,.how-timeline>i{content:"";position:absolute;left:0;right:0;top:45px;height:1px;background:rgba(255,255,255,.2)}
.how-timeline>i{right:auto;width:calc((var(--active-step) - 1) * 25%);background:#fff;box-shadow:0 0 14px rgba(255,255,255,.4);transition:width .32s ease}
.how-timeline button{position:relative;z-index:1;padding:0 18px 28px 0;border:0;background:none;text-align:left;color:rgba(255,255,255,.4);cursor:pointer;transition:color .28s ease}
.how-timeline button:after{content:"";position:absolute;left:0;top:36px;width:18px;height:18px;border:1px solid rgba(255,255,255,.42);border-radius:50%;background:#030303;transition:background .28s ease,box-shadow .28s ease,transform .28s ease}
.how-timeline button b{display:block;font-size:30px;font-weight:300;line-height:1;letter-spacing:-.055em}
.how-timeline button span{display:block;margin-top:34px;font-size:13px;letter-spacing:.08em}
.how-timeline button.active{color:#fff}.how-timeline button.active:after{background:#fff;box-shadow:0 0 18px rgba(255,255,255,.6);transform:scale(1.08)}
.how-panels{border-top:1px solid rgba(255,255,255,.16)}
.how-panel{display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,2fr);min-height:430px;animation:howPanelIn .34s ease both}
.how-panel[hidden]{display:none}
.how-copy{padding:clamp(42px,5vw,72px) clamp(28px,6vw,90px) 50px 0}
.how-copy>span{font-size:11px;letter-spacing:.16em;color:#777}.how-copy h3{margin:12px 0 36px;font-size:clamp(52px,6vw,86px);font-weight:400;line-height:.95;letter-spacing:-.065em}.how-copy p{max-width:700px;margin:0 0 17px;color:#aaa;font-size:17px;line-height:1.72}
.how-highlight{display:flex;flex-direction:column;justify-content:center;padding:45px;border-left:1px solid rgba(255,255,255,.14)}
.how-highlight>strong{font-size:clamp(82px,10vw,150px);font-weight:300;line-height:.82;letter-spacing:-.085em;background:linear-gradient(115deg,#fff,#b7a8ff 54%,#e39b75);background-clip:text;color:transparent}.how-highlight>small{margin-top:26px;color:#aaa;font-size:12px;letter-spacing:.1em}
.how-highlight.words strong,.how-highlight.final strong{font-size:clamp(37px,4.5vw,70px);line-height:1.05;letter-spacing:-.06em}.how-highlight.final strong{font-style:italic}
.how-highlight.delivery{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:32px;padding-inline:32px}.how-highlight.delivery>div+div{padding-left:28px;border-left:1px solid rgba(255,255,255,.15)}.how-highlight.delivery strong{display:block;font-size:clamp(62px,7vw,105px);font-weight:300;line-height:.78;letter-spacing:-.085em}.how-highlight.delivery b{display:block;margin-top:12px;font-size:13px;letter-spacing:.14em}.how-highlight.delivery small{display:block;margin-top:18px;color:#888;font-size:11px}
.how-mobile{display:none}
@keyframes howPanelIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:900px){.how-desktop{display:none}.how-mobile{display:block;margin-top:55px;border-bottom:1px solid rgba(255,255,255,.16)}.how-mobile details{border-top:1px solid rgba(255,255,255,.16)}.how-mobile summary{display:grid;grid-template-columns:65px 1fr auto;align-items:center;min-height:82px;cursor:pointer;list-style:none}.how-mobile summary::-webkit-details-marker{display:none}.how-mobile summary:after{content:"+";font-size:24px;font-weight:300}.how-mobile details[open] summary:after{content:"−"}.how-mobile summary b{font-size:28px;font-weight:300;letter-spacing:-.05em}.how-mobile summary span{font-size:20px}.how-mobile details[open] summary{color:#fff}.how-mobile details>div{padding:2px 0 40px 65px;animation:howPanelIn .28s ease}.how-mobile details p{max-width:700px;color:#aaa;line-height:1.75}.how-mobile details>div>strong{display:block;margin-top:28px;color:#fff;font-size:clamp(28px,9vw,44px);font-weight:400;line-height:1.1;letter-spacing:-.04em}.how-mobile details strong small{display:block;margin-top:8px;color:#888;font-size:10px;letter-spacing:.08em}.mobile-delivery{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}.mobile-delivery strong{font-size:clamp(42px,14vw,64px)!important}.mobile-delivery strong+strong{padding-left:16px;border-left:1px solid rgba(255,255,255,.15)}}
@media(max-width:600px){.how-work .section-head h2{font-size:clamp(48px,14vw,70px)}.how-mobile details>div{padding-left:0}.how-mobile summary{grid-template-columns:58px 1fr auto}.mobile-delivery{grid-template-columns:1fr}.mobile-delivery strong+strong{padding:18px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.15)}}
@media(prefers-reduced-motion:reduce){.how-timeline>i,.how-timeline button,.how-timeline button:after{transition:none}.how-panel,.how-mobile details>div{animation:none}}

/* Colour-coded process numbers */
.how-timeline button b,.how-mobile summary b{font-weight:500;background-clip:text;-webkit-background-clip:text;color:transparent;filter:saturate(.82);transition:filter .28s ease,text-shadow .28s ease,transform .28s ease}
.how-timeline button:nth-of-type(1) b,.how-mobile details:nth-child(1) summary b{background-image:linear-gradient(135deg,#dfe7ff,#809dff)}
.how-timeline button:nth-of-type(2) b,.how-mobile details:nth-child(2) summary b{background-image:linear-gradient(135deg,#e9dfff,#ad80ff)}
.how-timeline button:nth-of-type(3) b,.how-mobile details:nth-child(3) summary b{background-image:linear-gradient(135deg,#d9fff7,#5ee0c3)}
.how-timeline button:nth-of-type(4) b,.how-mobile details:nth-child(4) summary b{background-image:linear-gradient(135deg,#fff0d9,#f19a63)}
.how-timeline button:nth-of-type(5) b,.how-mobile details:nth-child(5) summary b{background-image:linear-gradient(135deg,#ffe0ea,#ef7fa6)}
.how-timeline button b{font-size:clamp(38px,3.2vw,50px)}
.how-timeline button.active b{filter:saturate(1.18) brightness(1.18);text-shadow:0 0 24px currentColor;transform:translateY(-3px)}
.how-timeline button:nth-of-type(1):after{border-color:#809dff}.how-timeline button:nth-of-type(2):after{border-color:#ad80ff}.how-timeline button:nth-of-type(3):after{border-color:#5ee0c3}.how-timeline button:nth-of-type(4):after{border-color:#f19a63}.how-timeline button:nth-of-type(5):after{border-color:#ef7fa6}
.how-timeline button:nth-of-type(1).active:after{background:#809dff;box-shadow:0 0 20px #809dff}.how-timeline button:nth-of-type(2).active:after{background:#ad80ff;box-shadow:0 0 20px #ad80ff}.how-timeline button:nth-of-type(3).active:after{background:#5ee0c3;box-shadow:0 0 20px #5ee0c3}.how-timeline button:nth-of-type(4).active:after{background:#f19a63;box-shadow:0 0 20px #f19a63}.how-timeline button:nth-of-type(5).active:after{background:#ef7fa6;box-shadow:0 0 20px #ef7fa6}
.how-keyline{position:relative;margin-top:34px!important;padding:20px 22px!important;border-left:2px solid #5ee0c3;background:linear-gradient(90deg,rgba(94,224,195,.12),transparent);color:#fff!important;font-size:clamp(20px,2vw,29px)!important;font-weight:400;line-height:1.35!important;letter-spacing:-.035em}
@media(max-width:900px){.how-mobile summary b{font-size:34px}.how-mobile details[open] summary b{filter:saturate(1.2) brightness(1.2);text-shadow:0 0 20px rgba(255,255,255,.22);transform:scale(1.06)}.how-mobile .how-keyline{margin-top:26px!important;font-size:21px!important}}
@media(prefers-reduced-motion:reduce){.how-timeline button b,.how-mobile summary b{transition:none}}

/* Layered circular process nodes */
.how-work .section-head h2{line-height:1.02;padding-bottom:.14em}
.how-work .section-head h2 em{display:inline-block;padding:0 .08em .1em 0;overflow:visible}
.how-timeline:before,.how-timeline>i{top:35px}
.how-timeline button:after{display:none}
.how-timeline button b,.how-mobile summary b{display:flex;align-items:center;justify-content:center;width:70px;height:70px;border:1px solid rgba(255,255,255,.24);border-radius:50%;color:#fff;background-clip:border-box;-webkit-background-clip:border-box;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 12px 30px rgba(0,0,0,.28);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.how-timeline button:nth-of-type(1) b,.how-mobile details:nth-child(1) summary b{background:radial-gradient(circle at 30% 24%,rgba(186,204,255,.55),rgba(75,104,205,.24) 46%,rgba(9,12,24,.76) 74%);border-color:rgba(128,157,255,.62)}
.how-timeline button:nth-of-type(2) b,.how-mobile details:nth-child(2) summary b{background:radial-gradient(circle at 30% 24%,rgba(220,195,255,.55),rgba(129,78,205,.24) 46%,rgba(15,9,24,.76) 74%);border-color:rgba(173,128,255,.62)}
.how-timeline button:nth-of-type(3) b,.how-mobile details:nth-child(3) summary b{background:radial-gradient(circle at 30% 24%,rgba(189,255,240,.5),rgba(50,151,132,.22) 46%,rgba(7,22,20,.76) 74%);border-color:rgba(94,224,195,.62)}
.how-timeline button:nth-of-type(4) b,.how-mobile details:nth-child(4) summary b{background:radial-gradient(circle at 30% 24%,rgba(255,220,188,.52),rgba(190,96,45,.22) 46%,rgba(25,13,7,.76) 74%);border-color:rgba(241,154,99,.62)}
.how-timeline button:nth-of-type(5) b,.how-mobile details:nth-child(5) summary b{background:radial-gradient(circle at 30% 24%,rgba(255,210,226,.52),rgba(192,63,108,.22) 46%,rgba(25,8,15,.76) 74%);border-color:rgba(239,127,166,.62)}
.how-timeline button span{margin-top:18px}
.how-timeline button.active b{filter:saturate(1.2) brightness(1.12);transform:translateY(-4px) scale(1.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 0 0 5px rgba(255,255,255,.04),0 14px 36px rgba(0,0,0,.36)}
@media(max-width:900px){.how-mobile summary{grid-template-columns:72px 1fr auto}.how-mobile summary b{width:54px;height:54px;font-size:25px}.how-mobile details[open] summary b{transform:scale(1.07)}}
@media(max-width:600px){.how-work .section-head h2{line-height:1.08;padding-bottom:.18em}.how-mobile summary{grid-template-columns:66px 1fr auto}}

/* Unified black glass + violet diffusion */
.how-timeline button b,.how-mobile summary b,
.how-timeline button:nth-of-type(1) b,.how-mobile details:nth-child(1) summary b,
.how-timeline button:nth-of-type(2) b,.how-mobile details:nth-child(2) summary b,
.how-timeline button:nth-of-type(3) b,.how-mobile details:nth-child(3) summary b,
.how-timeline button:nth-of-type(4) b,.how-mobile details:nth-child(4) summary b,
.how-timeline button:nth-of-type(5) b,.how-mobile details:nth-child(5) summary b{background:radial-gradient(circle at 30% 22%,rgba(196,181,255,.28),rgba(112,88,190,.12) 38%,rgba(6,6,9,.9) 72%);border-color:rgba(190,174,255,.34);color:#f4f2ff}
.how-timeline button.active b,.how-mobile details[open] summary b{filter:none;background:radial-gradient(circle at 30% 20%,rgba(218,208,255,.52),rgba(126,96,220,.24) 42%,rgba(6,6,10,.92) 74%);border-color:rgba(211,199,255,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 0 0 5px rgba(143,111,255,.055),0 0 34px rgba(130,94,230,.34),0 16px 40px rgba(0,0,0,.42)}
.how-timeline>i{background:linear-gradient(90deg,#fff,#a98cff);box-shadow:0 0 16px rgba(156,125,255,.46)}
.how-keyline{border-left-color:#9f83ff;background:linear-gradient(90deg,rgba(126,92,225,.15),transparent)}

/* Step preview labels */
.how-timeline button>small{display:block;margin-top:7px;color:rgba(255,255,255,.34);font-size:9px;font-weight:500;line-height:1.35;letter-spacing:.12em;text-transform:uppercase;transition:color .25s ease}
.how-timeline button.active>small{color:rgba(215,205,255,.82)}
.how-mobile summary>small{display:block;grid-column:2;grid-row:2;margin-top:-18px;color:#696971;font-size:9px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.how-mobile summary:after{grid-column:3;grid-row:1 / 3}
.how-mobile details[open] summary>small{color:rgba(205,194,255,.75)}

/* CTA-inspired numbered nodes + horizontal preview copy */
.how-timeline button{display:grid;grid-template-columns:max-content minmax(0,1fr);grid-template-rows:70px auto;column-gap:12px;align-items:center}
.how-timeline button b,.how-mobile summary b,
.how-timeline button:nth-of-type(1) b,.how-mobile details:nth-child(1) summary b,
.how-timeline button:nth-of-type(2) b,.how-mobile details:nth-child(2) summary b,
.how-timeline button:nth-of-type(3) b,.how-mobile details:nth-child(3) summary b,
.how-timeline button:nth-of-type(4) b,.how-mobile details:nth-child(4) summary b,
.how-timeline button:nth-of-type(5) b,.how-mobile details:nth-child(5) summary b{color:#08080a;background:linear-gradient(135deg,#fff 0%,#ede9ff 54%,#d8e9ff 100%);border-color:rgba(255,255,255,.8);box-shadow:inset 0 1px 0 #fff,0 8px 28px rgba(122,104,255,.25);filter:none;opacity:.72}
.how-timeline button.active b,.how-mobile details[open] summary b{color:#050506;background:linear-gradient(135deg,#fff 0%,#ede9ff 54%,#d8e9ff 100%);border-color:#fff;filter:none;opacity:1;box-shadow:inset 0 1px 0 #fff,0 0 0 5px rgba(255,255,255,.045),0 12px 38px rgba(122,104,255,.5)}
.how-timeline button>span{grid-column:1;grid-row:2;margin:18px 0 0;font-size:14px;white-space:nowrap}
.how-timeline button>small{grid-column:2;grid-row:2;align-self:end;margin:0 0 1px;color:rgba(255,255,255,.34);font-size:9px;white-space:nowrap}
.how-timeline button.active>small{color:rgba(215,205,255,.82)}
@media(max-width:900px){.how-mobile summary{grid-template-columns:66px max-content minmax(0,1fr) auto;grid-template-rows:1fr;column-gap:12px}.how-mobile summary b{grid-column:1;grid-row:1}.how-mobile summary>span{grid-column:2;grid-row:1}.how-mobile summary>small{grid-column:3;grid-row:1;align-self:center;margin:0;color:#696971;font-size:9px;white-space:nowrap}.how-mobile summary:after{grid-column:4;grid-row:1}.how-mobile details[open] summary>small{color:rgba(205,194,255,.75)}}
@media(max-width:420px){.how-mobile summary{grid-template-columns:60px max-content 1fr auto;column-gap:9px}.how-mobile summary>small{font-size:8px;letter-spacing:.07em}}

/* Prevent synthetic Chinese italic glyph clipping */
.how-work .section-head,.how-work .section-head h2{overflow:visible}
.how-work .section-head h2 em{display:block;width:max-content;max-width:calc(100% + .5em);padding:0 .45em .14em 0;margin-right:-.35em;font-style:normal;transform:skewX(-7deg);transform-origin:left center;overflow:visible}
@media(max-width:600px){.how-work .section-head h2 em{max-width:calc(100% + .35em);padding-right:.35em;margin-right:-.25em}}

/* 02 / Portfolio video gallery */
.portfolio{background:radial-gradient(circle at 8% 28%,rgba(111,81,191,.1),transparent 28%),#000}
.portfolio .section-head>p:last-child{align-self:end;max-width:520px}
.portfolio-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(28px,4vw,64px) clamp(18px,2.6vw,40px);margin-top:clamp(70px,8vw,120px)}
.portfolio-item{grid-column:span 6;min-width:0}.portfolio-item.wide{grid-column:1 / -1}.portfolio-item:nth-child(2),.portfolio-item:nth-child(6),.portfolio-item:nth-child(7){margin-top:clamp(35px,5vw,80px)}
.portfolio-open{display:block;width:100%;padding:0;border:0;background:none;color:#fff;text-align:left;cursor:pointer}
.portfolio-heading{min-height:150px;padding:0 4px 22px}.portfolio-heading>p{margin:0 0 14px;color:#8d8d96;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.portfolio-heading>p span{color:#fff}.portfolio-heading h3{margin:0;font-size:clamp(30px,3.4vw,54px);font-weight:400;line-height:1.02;letter-spacing:-.055em}.portfolio-heading small{display:block;max-width:560px;margin-top:13px;color:#85858e;font-size:13px;line-height:1.55}.portfolio-item.wide .portfolio-heading{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:end;min-height:130px}.portfolio-item.wide .portfolio-heading>p{align-self:start}.portfolio-item.wide .portfolio-heading h3{font-size:clamp(46px,6vw,88px)}.portfolio-item.wide .portfolio-heading small{align-self:end}
.portfolio-cover{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:clamp(16px,2vw,28px);background:#080808;box-shadow:0 28px 70px rgba(0,0,0,.32)}.portfolio-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.28));pointer-events:none}.portfolio-cover img{width:100%;height:100%;display:block;object-fit:cover;transform:scale(1.002);transition:transform .65s ease,filter .4s ease}.portfolio-open:hover .portfolio-cover img{transform:scale(1.035);filter:brightness(.82)}
.portfolio-play{position:absolute;z-index:2;left:50%;top:50%;display:grid;place-items:center;width:clamp(58px,6vw,86px);height:clamp(58px,6vw,86px);border:1px solid rgba(255,255,255,.78);border-radius:50%;background:linear-gradient(135deg,#fff,#ede9ff 54%,#d8e9ff);color:#08080a;font-size:16px;transform:translate(-50%,-50%);box-shadow:0 12px 38px rgba(122,104,255,.35);transition:transform .3s ease,box-shadow .3s ease}.portfolio-open:hover .portfolio-play{transform:translate(-50%,-50%) scale(1.08);box-shadow:0 16px 48px rgba(122,104,255,.55)}
.portfolio-lightbox{width:100vw;max-width:none;height:100svh;max-height:none;margin:0;padding:0;border:0;background:rgba(0,0,0,.91);color:#fff}.portfolio-lightbox::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(18px)}.portfolio-modal{width:min(1280px,calc(100% - 64px));min-height:100%;margin:auto;padding:32px 0 26px;display:flex;flex-direction:column;justify-content:center}.portfolio-modal>header{display:flex;justify-content:space-between;align-items:flex-start;gap:25px;padding-bottom:20px}.portfolio-current{margin:0;color:#8f8f98;font-size:10px;letter-spacing:.13em}.portfolio-modal-title{margin:7px 0 0;font-size:clamp(28px,4vw,56px);font-weight:400;line-height:1;letter-spacing:-.055em}.portfolio-modal-desc{max-width:720px;margin:11px 0 0;color:#92929a;font-size:13px}.portfolio-close{flex:0 0 48px;width:48px;height:48px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.06);font-size:28px;font-weight:300;cursor:pointer}.portfolio-player{position:relative;width:100%;aspect-ratio:16/9;background:#050505;border:1px solid rgba(255,255,255,.12);border-radius:20px;overflow:hidden}.portfolio-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.portfolio-modal>footer{display:flex;justify-content:space-between;padding-top:18px}.portfolio-modal>footer button{border:0;background:none;color:#c7c7cc;font-size:11px;letter-spacing:.1em;cursor:pointer}.portfolio-modal>footer button:hover{color:#fff}
@media(max-width:900px){.portfolio-grid{gap:50px 16px}.portfolio-item:nth-child(2),.portfolio-item:nth-child(6),.portfolio-item:nth-child(7){margin-top:28px}.portfolio-item.wide .portfolio-heading{grid-template-columns:1fr 2fr}.portfolio-item.wide .portfolio-heading small{grid-column:2}}
@media(max-width:600px){.portfolio .section-head h2{font-size:clamp(48px,14vw,70px);line-height:1.03}.portfolio-grid{display:block;margin-top:60px}.portfolio-item,.portfolio-item:nth-child(2),.portfolio-item:nth-child(6),.portfolio-item:nth-child(7){margin:0 0 58px}.portfolio-heading,.portfolio-item.wide .portfolio-heading{display:block;min-height:0;padding-bottom:20px}.portfolio-item.wide .portfolio-heading h3,.portfolio-heading h3{font-size:clamp(34px,10vw,48px)}.portfolio-cover{border-radius:16px}.portfolio-modal{width:100%;padding:18px 14px}.portfolio-modal>header{padding-inline:2px}.portfolio-modal-desc{font-size:12px}.portfolio-player{border-radius:12px}.portfolio-modal>footer{padding-inline:4px}.portfolio-play{width:62px;height:62px}}
@media(orientation:landscape) and (max-height:650px){.portfolio-modal{width:min(1050px,calc(100% - 40px));padding:10px 0}.portfolio-modal>header{padding-bottom:9px}.portfolio-modal-title{font-size:24px}.portfolio-modal-desc{display:none}.portfolio-player{max-height:calc(100svh - 115px);width:auto;margin:auto}.portfolio-modal>footer{padding-top:8px}}
@media(prefers-reduced-motion:reduce){.portfolio-cover img,.portfolio-play{transition:none}.portfolio-open:hover .portfolio-cover img{transform:none}}

.portfolio-more{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:clamp(42px,6vw,82px);padding:22px 4px;border:0;border-block:1px solid rgba(255,255,255,.18);background:none;color:#fff;font-size:12px;letter-spacing:.1em;cursor:pointer;transition:border-color .25s ease,color .25s ease}.portfolio-more:hover{border-color:rgba(255,255,255,.48)}.portfolio-more b{font-size:25px;font-weight:300;transition:transform .3s ease}.portfolio-more.expanded b{transform:rotate(45deg)}.portfolio-more-in{animation:portfolioMoreIn .38s ease both}@keyframes portfolioMoreIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.portfolio-more,.portfolio-more b{transition:none}.portfolio-more-in{animation:none}}

/* Clear section hierarchy: category first, editorial line second. */
.section-head>.eyebrow{grid-column:1/-1;font-size:clamp(34px,5vw,72px);font-weight:500;line-height:1;letter-spacing:-.055em;color:#f4f4f5;margin-bottom:clamp(34px,5vw,64px)}
.section-head>.eyebrow::first-letter{color:#a99bff}
.section-head h2,.section-head.split h2{font-size:clamp(28px,3.4vw,48px);line-height:1.08;letter-spacing:-.045em;font-weight:400;color:#d7d7dc}
.section-head h2 em{font-weight:300}
.section-head>p:last-child,.section-head.split>p:last-child{font-size:15px;line-height:1.75}
@media(max-width:900px){.section-head>.eyebrow{grid-column:1;margin-bottom:30px}.section-head h2,.section-head.split h2{font-size:clamp(30px,7vw,46px)}}
@media(max-width:600px){.section-head>.eyebrow{font-size:clamp(34px,10.5vw,48px);line-height:1.05;margin-bottom:24px}.section-head h2,.section-head.split h2,.how-work .section-head h2,.portfolio .section-head h2{font-size:clamp(27px,8vw,38px);line-height:1.12}.section-head>p:last-child,.section-head.split>p:last-child{font-size:14px}}

/* Tighter editorial section introductions. */
.section-head,.section-head.split{grid-template-columns:minmax(0,1.4fr) minmax(260px,.72fr);column-gap:clamp(34px,6vw,96px);row-gap:0;align-items:end;padding-top:22px;border-top:1px solid rgba(255,255,255,.16)}
.section-head>.eyebrow{display:flex;align-items:center;gap:clamp(18px,3vw,42px);grid-column:1/-1;margin:0 0 clamp(28px,3.8vw,48px);font-size:clamp(54px,7.6vw,112px);line-height:.88;letter-spacing:-.075em;white-space:nowrap}
.section-head>.eyebrow::first-letter{color:inherit}
.section-head>.eyebrow:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,rgba(169,155,255,.72),rgba(255,255,255,.08))}
.section-head h2,.section-head.split h2{grid-column:1;margin:0;max-width:760px;font-size:clamp(32px,3.65vw,54px);line-height:1.04;letter-spacing:-.05em}
.section-head>p:last-child,.section-head.split>p:last-child{grid-column:2;align-self:end;max-width:500px;margin:0;padding:0 0 .15em;font-size:clamp(14px,1.15vw,17px);line-height:1.7}
.section-head h2:last-child{grid-column:1/-1}
.portfolio-grid{margin-top:clamp(48px,6vw,82px)}
.how-desktop{margin-top:clamp(52px,6vw,82px)}
@media(max-width:900px){.section-head,.section-head.split{grid-template-columns:1fr;gap:0}.section-head>.eyebrow{grid-column:1;margin-bottom:28px;font-size:clamp(48px,10vw,82px)}.section-head h2,.section-head.split h2,.section-head h2:last-child{grid-column:1}.section-head>p:last-child,.section-head.split>p:last-child{grid-column:1;margin-top:18px;max-width:650px}.portfolio-grid{margin-top:52px}}
@media(max-width:600px){.section-head,.section-head.split{padding-top:17px}.section-head>.eyebrow{font-size:clamp(43px,13vw,62px);line-height:.94;white-space:normal;margin-bottom:24px}.section-head>.eyebrow:after{min-width:34px}.section-head h2,.section-head.split h2,.how-work .section-head h2,.portfolio .section-head h2{font-size:clamp(29px,8.4vw,40px);line-height:1.09}.section-head>p:last-child,.section-head.split>p:last-child{margin-top:14px;font-size:14px;line-height:1.65}.portfolio-grid{margin-top:42px}.how-mobile{margin-top:42px}}

/* Hierarchical desktop highlights for planning, shooting and final approval. */
.strategy-highlight,.shoot-highlight,.final-highlight{position:relative;overflow:hidden;background:radial-gradient(circle at 78% 22%,rgba(139,108,238,.17),transparent 48%),rgba(255,255,255,.012)}
.strategy-highlight:after,.shoot-highlight:after,.final-highlight:after{content:"";position:absolute;right:-90px;bottom:-120px;width:270px;height:270px;border-radius:50%;background:rgba(117,87,222,.13);filter:blur(55px);pointer-events:none}
.strategy-highlight>small,.shoot-highlight>small,.final-highlight>small{position:relative;z-index:1;margin:0 0 30px;color:#8f8f99;font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.strategy-grid{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.17)}
.strategy-grid>div{display:grid;grid-template-columns:42px 1fr;align-items:baseline;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.strategy-grid b{color:#8f7dda;font-size:10px;font-weight:500;letter-spacing:.14em}
.strategy-grid strong{font-size:clamp(38px,4.2vw,64px);font-weight:300;line-height:1;letter-spacing:-.06em}
.shoot-highlight>strong{position:relative;z-index:1;font-size:clamp(64px,7vw,108px);font-weight:300;line-height:.8;letter-spacing:-.085em;background:linear-gradient(115deg,#fff,#c7baff 58%,#9580df);background-clip:text;color:transparent}
.shoot-checks{position:relative;z-index:1;margin-top:38px;border-top:1px solid rgba(255,255,255,.16)}
.shoot-checks span{display:grid;grid-template-columns:42px 1fr auto;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.11)}
.shoot-checks span:after{content:"✓";color:#cfc5ff;font-size:12px}
.shoot-checks b{color:#777;font-size:9px}.shoot-checks i{font-style:normal;font-size:13px;letter-spacing:.06em}
.final-highlight>b{position:relative;z-index:1;display:block;color:rgba(255,255,255,.13);font-size:clamp(54px,6vw,92px);font-weight:500;line-height:.82;letter-spacing:-.075em}
.final-highlight>strong{position:relative;z-index:1;display:block;margin-top:-5px;font-size:clamp(36px,4.2vw,64px);font-weight:300;font-style:italic;line-height:1.04;letter-spacing:-.06em;background:linear-gradient(115deg,#fff,#c9bdff 62%,#9e88e5);background-clip:text;color:transparent}
.final-highlight>span{position:relative;z-index:1;margin-top:32px;padding-top:15px;border-top:1px solid rgba(255,255,255,.15);color:#8d8d96;font-size:10px;letter-spacing:.15em}

/* Ordered cinematic portfolio: blurred posters with copy on the image. */
.portfolio-grid{gap:clamp(18px,2.2vw,34px);align-items:start}
.portfolio-item,.portfolio-item:nth-child(2),.portfolio-item:nth-child(6),.portfolio-item:nth-child(7){grid-column:span 6;margin-top:0}
.portfolio-item.wide{grid-column:1/-1}
.portfolio-open{position:relative;overflow:hidden;border-radius:clamp(16px,2vw,28px);isolation:isolate}
.portfolio-heading,.portfolio-item.wide .portfolio-heading{position:absolute;z-index:3;inset:0;display:flex;min-height:0;padding:clamp(22px,3vw,44px);flex-direction:column;align-items:flex-start;pointer-events:none}
.portfolio-heading>p,.portfolio-item.wide .portfolio-heading>p{align-self:auto;margin:0;color:rgba(255,255,255,.74);font-size:10px;text-shadow:0 1px 12px rgba(0,0,0,.6)}
.portfolio-heading>p span{color:#fff}
.portfolio-heading h3,.portfolio-item.wide .portfolio-heading h3{margin:auto 0 0;max-width:80%;font-size:clamp(32px,4vw,62px);font-weight:400;color:#fff;text-shadow:0 3px 28px rgba(0,0,0,.72)}
.portfolio-item.wide .portfolio-heading h3{font-size:clamp(44px,6vw,88px)}
.portfolio-heading small,.portfolio-item.wide .portfolio-heading small{align-self:auto;display:block;max-width:620px;margin-top:12px;color:rgba(255,255,255,.76);font-size:clamp(12px,1vw,14px);line-height:1.55;text-shadow:0 2px 18px rgba(0,0,0,.85)}
.portfolio-cover{border-radius:inherit;box-shadow:0 24px 62px rgba(0,0,0,.34)}
.portfolio-item.wide .portfolio-cover{aspect-ratio:16/7}
.portfolio-cover:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2) 0%,rgba(0,0,0,.06) 34%,rgba(0,0,0,.82) 100%);pointer-events:none}
.portfolio-cover:after{z-index:1;background:radial-gradient(circle at 50% 44%,transparent 0 20%,rgba(0,0,0,.12) 72%,rgba(0,0,0,.38) 100%)}
.portfolio-cover img{filter:blur(9px) brightness(.62) saturate(.78);transform:scale(1.075)}
.portfolio-open:hover .portfolio-cover img{filter:blur(5px) brightness(.72) saturate(.9);transform:scale(1.105)}
.portfolio-play{z-index:4;left:auto;right:clamp(20px,3vw,42px);top:clamp(20px,3vw,42px);width:clamp(48px,5vw,72px);height:clamp(48px,5vw,72px);transform:none}
.portfolio-open:hover .portfolio-play{transform:scale(1.08)}
@media(max-width:600px){.portfolio-grid{display:block}.portfolio-item,.portfolio-item:nth-child(2),.portfolio-item:nth-child(6),.portfolio-item:nth-child(7){margin:0 0 20px}.portfolio-open{border-radius:17px}.portfolio-item.wide .portfolio-cover,.portfolio-cover{aspect-ratio:4/3}.portfolio-heading,.portfolio-item.wide .portfolio-heading{display:flex;padding:20px}.portfolio-heading h3,.portfolio-item.wide .portfolio-heading h3{max-width:88%;font-size:clamp(31px,9.5vw,44px)}.portfolio-heading small,.portfolio-item.wide .portfolio-heading small{max-width:90%;margin-top:8px;font-size:12px}.portfolio-play{right:18px;top:18px;width:52px;height:52px}.portfolio-cover img{filter:blur(8px) brightness(.6) saturate(.8);transform:scale(1.08)}}
@media(prefers-reduced-motion:reduce){.portfolio-open:hover .portfolio-cover img{transform:scale(1.075)}}

/* Interactive colour grading comparison. */
.grade-compare{margin-top:clamp(52px,7vw,94px);padding:clamp(14px,1.8vw,24px);border:1px solid rgba(255,255,255,.15);border-radius:clamp(20px,2.5vw,34px);background:radial-gradient(circle at 75% 15%,rgba(120,92,215,.14),transparent 38%),rgba(255,255,255,.025);box-shadow:0 28px 80px rgba(0,0,0,.35)}
.grade-copy{display:grid;grid-template-columns:1.45fr .75fr;align-items:end;gap:35px;padding:clamp(12px,2vw,26px) clamp(8px,1.3vw,18px) clamp(24px,3vw,42px)}
.grade-copy p{margin:0;color:#8d8d97;font-size:13px;line-height:1.65}.grade-copy>div>p{margin-bottom:12px;color:#a99aff;font-size:9px;letter-spacing:.17em}.grade-copy h3{max-width:820px;margin:0;font-size:clamp(35px,5vw,72px);font-weight:400;line-height:.98;letter-spacing:-.065em}
.grade-stage{position:relative;overflow:hidden;border-radius:clamp(14px,2vw,25px);background:#050505;cursor:pointer;isolation:isolate}
.grade-stage video{width:100%;display:block;background:#050505;object-fit:contain}.grade-stage .grade-after{position:absolute;z-index:1;inset:0;height:100%;opacity:var(--grade-opacity);transition:opacity .08s linear}
.grade-stage:after{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),transparent 28%,transparent 72%,rgba(0,0,0,.24));pointer-events:none}
.grade-state{position:absolute;z-index:3;top:20px;display:flex;flex-direction:column;padding:9px 12px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(0,0,0,.38);backdrop-filter:blur(12px);pointer-events:none}.grade-state.before{left:20px}.grade-state.after{right:20px}.grade-state b{font-size:12px;font-weight:500}.grade-state span{color:#aaa;font-size:8px;letter-spacing:.13em}
.grade-control{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:18px;padding:22px 10px 6px;color:#c7c7cc;font-size:11px;letter-spacing:.08em}.grade-control input{width:100%;height:2px;margin:0;accent-color:#c8bcff;cursor:ew-resize}.grade-control input::-webkit-slider-thumb{width:24px;height:24px}
@media(max-width:600px){.grade-compare{margin-top:42px;padding:10px;border-radius:20px}.grade-copy{grid-template-columns:1fr;padding:15px 10px 25px;gap:12px}.grade-copy h3{font-size:clamp(31px,10vw,45px)}.grade-copy>p{font-size:12px}.grade-stage{border-radius:13px}.grade-state{top:10px;padding:7px 9px}.grade-state.before{left:10px}.grade-state.after{right:10px}.grade-state b{font-size:10px}.grade-state span{font-size:7px}.grade-control{gap:10px;padding:18px 5px 5px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.grade-stage .grade-after{transition:none}}

/* Mobile process visuals mirror the desktop hierarchy without shrinking it. */
.mobile-process-visual{position:relative;overflow:hidden;margin-top:30px;padding:22px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:radial-gradient(circle at 82% 12%,rgba(143,111,244,.2),transparent 45%),rgba(255,255,255,.025)}
.mobile-process-visual:after{content:"";position:absolute;right:-60px;bottom:-75px;width:170px;height:170px;border-radius:50%;background:rgba(116,83,220,.15);filter:blur(38px);pointer-events:none}
.mobile-process-visual>small{position:relative;z-index:1;display:block;margin-bottom:20px;color:#9b9ba4;font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.mobile-strategy>div{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid rgba(255,255,255,.14)}
.mobile-strategy span{min-width:0;padding:14px 8px 15px}.mobile-strategy span+span{border-left:1px solid rgba(255,255,255,.12)}
.mobile-strategy b{display:block;margin-bottom:9px;color:#9d88e7;font-size:9px;font-weight:500}
.mobile-strategy strong{display:block!important;margin:0!important;color:#fff!important;font-size:clamp(20px,7vw,30px)!important;font-weight:300!important;line-height:1!important;letter-spacing:-.05em!important;overflow-wrap:anywhere}
.mobile-shoot>strong{position:relative;z-index:1;display:block!important;margin:0!important;font-size:clamp(52px,17vw,78px)!important;font-weight:300!important;line-height:.82!important;letter-spacing:-.08em!important;background:linear-gradient(110deg,#fff,#c9bcff 65%,#9580df);background-clip:text;color:transparent!important}
.mobile-shoot>div{position:relative;z-index:1;margin-top:28px;border-top:1px solid rgba(255,255,255,.15)}
.mobile-shoot span{display:grid;grid-template-columns:38px 1fr auto;align-items:center;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.11)}.mobile-shoot span:after{content:"✓";color:#d0c6ff;font-size:11px}.mobile-shoot b{color:#74747d;font-size:9px}.mobile-shoot i{font-style:normal;font-size:12px;letter-spacing:.06em}
.mobile-final>b{position:relative;z-index:1;display:block;color:rgba(255,255,255,.13);font-size:clamp(54px,18vw,82px);font-weight:500;line-height:.82;letter-spacing:-.08em}
.mobile-final>strong{position:relative;z-index:1;display:block!important;margin:0!important;color:#fff!important;font-size:clamp(29px,9vw,42px)!important;font-weight:300!important;font-style:italic;line-height:1.06!important;letter-spacing:-.055em!important}
.mobile-final>span{position:relative;z-index:1;display:block;margin-top:24px;padding-top:14px;border-top:1px solid rgba(255,255,255,.14);color:#91919a;font-size:9px;letter-spacing:.14em}
@media(max-width:380px){.mobile-process-visual{padding:18px}.mobile-strategy span{padding-inline:5px}.mobile-strategy strong{font-size:19px!important}}

/* Subtle chapter separators and section-specific diffusion. */
.section-divider{position:relative;overflow:hidden;padding:12px 0;border-block:1px solid rgba(255,255,255,.065);background:#020202}
.section-divider:after{content:"";position:absolute;left:25%;right:25%;bottom:-25px;height:35px;filter:blur(24px);opacity:.22;pointer-events:none}
.section-divider>div{display:flex;width:max-content;align-items:center;gap:30px;animation:sectionDividerMove 38s linear infinite;opacity:.2}
.section-divider span{font-size:clamp(15px,1.7vw,23px);font-weight:400;line-height:1;letter-spacing:-.025em;white-space:nowrap}.section-divider i{font-size:6px;font-style:normal}
.section-divider.violet:after{background:#8060dc}.section-divider.blue:after{background:#3978ca}.section-divider.amber:after{background:#c47b46}.section-divider.rose:after{background:#a95082}
@keyframes sectionDividerMove{to{transform:translateX(-25%)}}
.how-work{background:radial-gradient(circle at 82% 24%,rgba(117,78,205,.16),transparent 34%),radial-gradient(circle at 8% 82%,rgba(68,54,125,.09),transparent 30%),#000}
.portfolio{background:radial-gradient(circle at 9% 19%,rgba(54,105,185,.16),transparent 32%),radial-gradient(circle at 91% 70%,rgba(47,76,137,.09),transparent 30%),#000}
.services{background:radial-gradient(circle at 86% 18%,rgba(179,101,52,.15),transparent 33%),radial-gradient(circle at 8% 76%,rgba(113,65,39,.09),transparent 30%),#000}
.faq{background:radial-gradient(circle at 12% 24%,rgba(147,63,113,.14),transparent 32%),radial-gradient(circle at 90% 76%,rgba(91,43,79,.08),transparent 30%),#000}
@media(max-width:600px){.section-divider{padding:10px 0}.section-divider>div{gap:22px;animation-duration:30s;opacity:.18}.section-divider span{font-size:15px}}
@media(prefers-reduced-motion:reduce){.section-divider>div{animation:none}}

/* The range thumb and the on-screen split share the same position. */
.grade-stage .grade-after{opacity:1;clip-path:inset(0 0 0 var(--grade-position));transition:clip-path .06s linear}
.grade-divider-line{position:absolute;z-index:4;top:0;bottom:0;left:var(--grade-position);width:1px;background:rgba(255,255,255,.9);box-shadow:0 0 0 1px rgba(0,0,0,.22),0 0 18px rgba(255,255,255,.45);transform:translateX(-50%);pointer-events:none}
.grade-divider-line:before{content:"↔";position:absolute;left:50%;top:50%;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:rgba(5,5,7,.62);color:#fff;font-size:15px;transform:translate(-50%,-50%);backdrop-filter:blur(10px)}
.portfolio .grade-compare{margin-top:clamp(64px,8vw,112px)}
@media(prefers-reduced-motion:reduce){.grade-stage .grade-after{transition:none}}

/* Seamless, faster divider loop: two identical tracks meet edge to edge. */
.section-divider>div{display:flex;gap:0;animation:sectionDividerLoop 30s linear infinite;opacity:.2}
.section-divider .divider-set{display:flex;flex:none;align-items:center;gap:30px;padding-right:30px}
@keyframes sectionDividerLoop{to{transform:translateX(-50%)}}
.grade-divider-line:before{display:none}
@media(max-width:600px){.section-divider>div{animation-duration:25s}.section-divider .divider-set{gap:22px;padding-right:22px}}
@media(prefers-reduced-motion:reduce){.section-divider>div{animation:none}}
.grade-stage .grade-after{transition:none;will-change:clip-path}

/* 03 / Services & pricing */
.services .service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:clamp(58px,7vw,94px)}
.service-card{position:relative;min-height:470px;padding:26px;border:1px solid rgba(255,255,255,.15);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.012));color:#fff;text-align:left;cursor:pointer;display:flex;flex-direction:column;transition:transform .28s ease,border-color .28s ease,background .28s ease}
.service-card:hover{transform:translateY(-6px);border-color:rgba(220,204,255,.42);background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(115,84,205,.035))}
.service-card>span{color:#85858e;font-size:10px;letter-spacing:.14em}.service-card h3{margin:38px 0 12px;font-size:clamp(25px,2.35vw,38px);font-weight:400;line-height:1.05;letter-spacing:-.055em}.service-card>p{min-height:78px;margin:0;color:#8f8f98;font-size:12px;line-height:1.65}.service-card>strong{display:block;margin:34px 0 0;font-size:clamp(23px,2.2vw,34px);font-weight:400;line-height:1;letter-spacing:-.045em}.service-card>strong i{font-size:.48em;font-style:normal;letter-spacing:0}.service-card>strong small{display:block;margin-top:9px;color:#b8a9f3;font-size:9px;letter-spacing:.12em}.service-card ul{margin:24px 0 30px;padding:16px 0 0;border-top:1px solid rgba(255,255,255,.12);list-style:none;color:#b5b5bc;font-size:11px}.service-card li+li{margin-top:7px}.service-card>b{margin-top:auto;font-size:10px;font-weight:500;letter-spacing:.08em}
.service-common{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:14px 32px;margin-top:20px;padding:12px 0;border:0;border-radius:0;background:none}.service-common>p{margin:0;font-size:12px;line-height:1.7;letter-spacing:.08em}.service-common>div{display:flex;flex-wrap:wrap;gap:8px 24px;min-width:0}.service-common span{padding:0;border:0;border-radius:0;color:#aaa;font-size:11px;line-height:1.8;letter-spacing:.04em}
@media(max-width:1100px){.services .service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:410px}}
@media(max-width:600px){.services .service-grid{grid-template-columns:1fr;gap:10px;margin-top:44px}.service-card{min-height:0;padding:22px}.service-card h3{margin-top:28px;font-size:34px}.service-card>p{min-height:0}.service-card>strong{font-size:32px}.service-card>b{margin-top:28px}.service-common{grid-template-columns:1fr;gap:10px;padding:10px 0}.service-common>div{gap:8px 20px}}

html.service-modal-open{overflow:hidden}
.service-full-link{display:inline-flex;align-items:center;margin-top:32px;padding:12px 18px;border:1px solid rgba(255,255,255,.24);border-radius:999px;font-size:11px;letter-spacing:.08em;transition:border-color .2s,background .2s}.service-full-link:hover{border-color:rgba(255,255,255,.65);background:rgba(255,255,255,.07)}
.service-dialog{width:100vw;max-width:none;height:100svh;max-height:none;margin:0;padding:0;border:0;background:rgba(2,2,3,.72);color:#fff;overflow:hidden}.service-dialog::backdrop{background:rgba(0,0,0,.65);backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)}
.service-modal-shell{width:min(1180px,calc(100% - 80px));height:calc(100svh - 48px);margin:24px auto;overflow-y:auto;overscroll-behavior:contain;border:1px solid rgba(255,255,255,.17);border-radius:26px;background:rgba(8,8,11,.91);box-shadow:0 40px 120px rgba(0,0,0,.65)}
.service-modal-shell>header{position:sticky;z-index:5;top:0;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(24px,5vw,70px);border-bottom:1px solid rgba(255,255,255,.12);background:rgba(8,8,11,.88);backdrop-filter:blur(20px)}.service-modal-eyebrow{margin:0;color:#aaa;font-size:10px;letter-spacing:.14em}.service-modal-close{border:0;background:none;color:#fff;font-size:24px;font-weight:300;cursor:pointer}.service-modal-close span{margin-right:9px;color:#aaa;font-size:9px;letter-spacing:.13em}
.service-modal-content{padding:clamp(52px,7vw,96px) clamp(24px,7vw,92px) 40px}.service-modal-content>h1{max-width:920px;margin:0;font-size:clamp(58px,8.5vw,116px);font-weight:500;line-height:.87;letter-spacing:-.075em}.service-modal-content>h1 em{font-weight:300;font-style:italic;background:linear-gradient(105deg,#fff,#c7b7ff 62%,#ae91f1);background-clip:text;color:transparent}.service-modal-intro{max-width:760px;margin:38px 0 0;color:#aaa;font-size:clamp(16px,1.45vw,20px);line-height:1.75}
.service-price{margin-top:clamp(65px,9vw,118px);padding:28px 0;border-block:1px solid rgba(255,255,255,.16)}.service-price p,.detail-block>p:first-child,.detail-delivery p:first-child{margin:0 0 18px;color:#898991;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.service-price>strong{font-size:clamp(54px,8vw,108px);font-weight:300;line-height:.9;letter-spacing:-.075em}.service-price small,.detail-block h2 small{display:inline-block;color:#baa9f4;font-size:.22em;letter-spacing:.08em;vertical-align:middle}
.detail-facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:18px;border:1px solid rgba(255,255,255,.13);border-radius:18px;overflow:hidden}.detail-facts>div{min-height:150px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;background:rgba(255,255,255,.025)}.detail-facts>div+div{border-left:1px solid rgba(255,255,255,.12)}.detail-facts b{font-size:clamp(28px,4vw,54px);font-weight:300;line-height:1;letter-spacing:-.055em}.detail-facts span{color:#909099;font-size:11px;letter-spacing:.06em}
.detail-block,.detail-delivery{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);gap:clamp(30px,7vw,110px);margin-top:clamp(58px,8vw,100px);padding-top:28px;border-top:1px solid rgba(255,255,255,.15)}.detail-block>p:first-child{grid-column:1}.detail-block h2{grid-column:2;grid-row:1 / span 2;margin:0;font-size:clamp(34px,5vw,68px);font-weight:300;line-height:1.05;letter-spacing:-.055em}.detail-block>p:not(:first-child){grid-column:2;margin:20px 0 0;color:#aaa;font-size:15px;line-height:1.75}.detail-block h2+p{grid-row:2}.detail-block strong{color:#fff;font-weight:400}
.detail-delivery{align-items:start}.detail-delivery>div strong{display:block;font-size:clamp(60px,8vw,104px);font-weight:300;line-height:.82;letter-spacing:-.08em}.detail-delivery>div strong i{display:block;margin-top:12px;font-size:.18em;font-style:normal;letter-spacing:.16em}.detail-delivery>p{margin:0;color:#aaa;font-size:15px;line-height:1.75}
.detail-tags{grid-column:2;display:flex;flex-wrap:wrap;gap:8px}.detail-tags span{padding:9px 12px;border:1px solid rgba(255,255,255,.14);border-radius:99px;color:#bbb;font-size:10px}
.service-modal-shell>footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin:50px clamp(24px,7vw,92px) 0;padding:30px 0 55px;border-top:1px solid rgba(255,255,255,.15)}.service-modal-shell>footer button{border:0;background:none;color:#aaa;font-size:10px;letter-spacing:.08em;cursor:pointer}.service-modal-next{text-align:right}.service-modal-quote{padding:16px 22px!important;border:1px solid #fff!important;background:#fff!important;color:#070708!important;font-size:11px!important}
@supports not (backdrop-filter:blur(2px)){.service-dialog,.service-dialog::backdrop{background:rgba(0,0,0,.94)}.service-modal-shell{background:#0a0a0d}}
@media(max-width:700px){.service-modal-shell{width:100%;height:100svh;margin:0;border:0;border-radius:0;background:rgba(8,8,11,.98)}.service-modal-shell>header{padding:18px 20px}.service-modal-content{padding:52px 20px 25px}.service-modal-content>h1{font-size:clamp(50px,15vw,72px);line-height:.92}.service-modal-intro{margin-top:28px;font-size:15px}.service-price{margin-top:58px}.service-price>strong{font-size:clamp(48px,14vw,68px)}.detail-facts{grid-template-columns:1fr;margin-top:12px}.detail-facts>div{min-height:105px}.detail-facts>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.12)}.detail-block,.detail-delivery{grid-template-columns:1fr;gap:12px;margin-top:58px}.detail-block>p:first-child,.detail-block h2,.detail-block>p:not(:first-child),.detail-tags{grid-column:1;grid-row:auto}.detail-block h2{font-size:clamp(31px,10vw,44px)}.detail-delivery>p{margin-top:20px}.service-modal-shell>footer{grid-template-columns:1fr 1fr;margin:35px 20px 0;padding-bottom:35px}.service-modal-quote{grid-column:1/-1;grid-row:1;width:100%}.service-modal-prev{grid-column:1;grid-row:2;text-align:left}.service-modal-next{grid-column:2;grid-row:2}}
@media(prefers-reduced-motion:reduce){.service-card{transition:none}}

/* Refined 2 × 2 service menu: denser hierarchy, no empty card bodies. */
.services .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.service-card{min-height:370px;display:grid;grid-template-columns:minmax(0,1fr) minmax(135px,.52fr);grid-template-rows:auto auto 1fr auto auto;column-gap:clamp(24px,4vw,58px);padding:clamp(25px,3vw,38px)}
.service-card>span{grid-column:1/-1;grid-row:1}.service-card h3{grid-column:1;grid-row:2;margin:34px 0 14px;font-size:clamp(34px,3.8vw,58px)}.service-card>p{grid-column:1;grid-row:3;min-height:0;max-width:460px;font-size:13px}.service-card>strong{grid-column:1;grid-row:4;margin:30px 0 0;font-size:clamp(30px,3.1vw,46px)}
.service-card ul{grid-column:2;grid-row:2/5;align-self:end;margin:34px 0 0;padding:0 0 2px clamp(20px,3vw,38px);border-top:0;border-left:1px solid rgba(255,255,255,.13);font-size:11px;line-height:1.55}.service-card>b{grid-column:1/-1;grid-row:5;margin-top:28px;padding-top:17px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between}.service-card>b:after{content:"↗";color:#bcaafa;font-size:14px}
.service-modal-shell>footer{position:sticky;z-index:5;bottom:0;margin:50px 0 0;padding:18px clamp(24px,5vw,70px);border-top:1px solid rgba(255,255,255,.16);background:rgba(9,9,12,.9);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.service-modal-quote{min-width:min(340px,42vw);text-align:center}
@media(max-width:760px){.services .service-grid{grid-template-columns:1fr}.service-card{min-height:0;grid-template-columns:1fr;grid-template-rows:auto;display:flex}.service-card h3{margin:28px 0 12px;font-size:38px}.service-card>p{font-size:12px}.service-card>strong{margin-top:28px;font-size:35px}.service-card ul{margin:22px 0 0;padding:15px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.12)}.service-card>b{margin-top:24px}.service-modal-shell>footer{grid-template-columns:1fr 1fr;margin-top:35px;padding:14px 20px 18px}.service-modal-quote{grid-column:1/-1;grid-row:1;min-width:0;width:100%}.service-modal-prev{grid-column:1;grid-row:2;text-align:left}.service-modal-next{grid-column:2;grid-row:2}}

/* Individual service diffusion + pill quote CTA. */
.service-card{overflow:hidden;isolation:isolate}.service-card:before{content:"";position:absolute;z-index:-1;right:-12%;bottom:-34%;width:58%;aspect-ratio:1;border-radius:50%;filter:blur(48px);opacity:.24;transition:transform .5s ease,opacity .35s ease}.service-card:hover:before{transform:scale(1.2) translate(-5%,-8%);opacity:.34}
.service-card:nth-child(1):before{background:#7359dc}.service-card:nth-child(2):before{background:#338eb2}.service-card:nth-child(3):before{background:#ae4f9a}.service-card:nth-child(4):before{background:#c6783f}
.service-card:nth-child(1){border-color:rgba(147,126,235,.22)}.service-card:nth-child(2){border-color:rgba(83,164,192,.21)}.service-card:nth-child(3){border-color:rgba(184,94,161,.2)}.service-card:nth-child(4){border-color:rgba(201,127,74,.2)}
.service-modal-quote{border-radius:999px!important;padding:17px 30px!important;background:linear-gradient(120deg,#fff 0%,#eeeaff 52%,#dfe8ff 100%)!important;box-shadow:inset 0 1px 0 #fff,0 10px 30px rgba(115,90,220,.28);font-weight:600!important;transition:transform .25s ease,box-shadow .25s ease}.service-modal-quote:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 #fff,0 15px 38px rgba(115,90,220,.4)}
@media(prefers-reduced-motion:reduce){.service-card:before,.service-modal-quote{transition:none}}

/* Compact service-card rhythm. */
@media(min-width:761px){.service-card{min-height:0;padding:27px 29px;grid-template-rows:auto auto auto auto auto;column-gap:32px}.service-card h3{margin:22px 0 10px;font-size:clamp(32px,3.25vw,49px)}.service-card>p{font-size:12px;line-height:1.55}.service-card>strong{margin-top:21px;font-size:clamp(29px,2.8vw,42px)}.service-card>strong small{margin-top:6px}.service-card ul{align-self:center;margin:22px 0 0;padding-left:26px}.service-card>b{margin-top:20px;padding-top:14px}.services .service-grid{gap:10px}}
@media(max-width:760px){.service-card{padding:20px}.service-card h3{margin-top:22px}.service-card>strong{margin-top:22px}.service-card ul{margin-top:18px}.service-card>b{margin-top:20px;padding-top:14px}}

/* Denser service-detail reading rhythm. */
.service-modal-content{padding:clamp(40px,5vw,66px) clamp(24px,6vw,76px) 24px}.service-modal-content>h1{font-size:clamp(52px,7vw,92px);line-height:.9}.service-modal-intro{margin-top:24px;max-width:820px;font-size:clamp(15px,1.25vw,18px);line-height:1.65}
.service-price{margin-top:clamp(42px,5vw,64px);padding:21px 0}.service-price p{margin-bottom:12px}.service-price>strong{font-size:clamp(48px,6.5vw,84px)}
.detail-facts{margin-top:12px}.detail-facts>div{min-height:112px;padding:21px 23px}.detail-facts b{font-size:clamp(27px,3.3vw,44px)}
.detail-block,.detail-delivery{grid-template-columns:150px minmax(0,1fr);gap:clamp(24px,4vw,58px);margin-top:clamp(38px,4.5vw,58px);padding-top:21px}.detail-block>p:first-child,.detail-delivery p:first-child{margin-bottom:10px}.detail-block h2{font-size:clamp(30px,4vw,54px)}.detail-block>p:not(:first-child){margin-top:14px;line-height:1.65}.detail-delivery>div strong{font-size:clamp(52px,6.5vw,82px)}.detail-delivery>p{font-size:14px;line-height:1.65}
.service-modal-shell>footer{margin-top:34px}
@media(max-width:700px){.service-modal-content{padding:38px 18px 18px}.service-modal-content>h1{font-size:clamp(45px,13vw,62px)}.service-modal-intro{margin-top:20px;line-height:1.6}.service-price{margin-top:38px;padding:18px 0}.service-price>strong{font-size:clamp(44px,12vw,60px)}.detail-facts>div{min-height:88px;padding:18px}.detail-block,.detail-delivery{grid-template-columns:1fr;gap:8px;margin-top:38px;padding-top:18px}.detail-block h2{font-size:clamp(28px,8.5vw,38px)}.detail-block>p:not(:first-child){margin-top:10px}.detail-delivery>p{margin-top:12px}.service-modal-shell>footer{margin-top:25px}}

/* Service detail: one clear reading path instead of competing focal points. */
.service-overview{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:clamp(42px,7vw,110px);align-items:end;padding:14px 0 clamp(34px,4vw,54px)}
.service-stage{margin:0 0 18px;color:#9f8de2;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.service-overview h1{max-width:760px;margin:0;font-size:clamp(50px,6.6vw,88px);font-weight:500;line-height:.9;letter-spacing:-.07em}.service-overview h1 em{font-weight:300;font-style:italic;background:linear-gradient(105deg,#fff,#c7b7ff 62%,#ae91f1);background-clip:text;color:transparent}.service-overview .service-modal-intro{max-width:660px;margin:22px 0 0;color:#999;font-size:clamp(14px,1.15vw,17px);line-height:1.65}
.service-overview .service-price{margin:0;padding:25px 0 4px;border-top:1px solid rgba(255,255,255,.22);border-bottom:0}.service-overview .service-price p{margin-bottom:13px;color:#b3a4ea}.service-overview .service-price>strong{display:block;font-size:clamp(42px,4.7vw,66px);line-height:.95}.service-overview .service-price>span{display:block;margin-top:14px;color:#777;font-size:10px;line-height:1.5}
.service-reading-path{display:flex;align-items:center;gap:12px;padding:15px 18px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.025);color:#777;font-size:8px;letter-spacing:.1em}.service-reading-path span:first-child{color:#d8cdfc}.service-reading-path i{height:1px;flex:1;background:rgba(255,255,255,.1)}
.service-detail-flow{counter-reset:serviceStep}.service-detail-flow>section{position:relative}.service-detail-flow>section:before{content:attr(data-step);position:absolute;top:20px;left:0;color:#9e87e7;font-size:10px;font-weight:600;letter-spacing:.12em}.service-detail-flow .detail-facts{margin-top:18px;padding-left:54px;border:0;border-top:1px solid rgba(255,255,255,.14);border-radius:0;overflow:visible}.service-detail-flow .detail-facts>div{min-height:105px;padding:23px;background:transparent}.service-detail-flow .detail-facts b{font-size:clamp(25px,3vw,40px)}
.service-detail-flow .detail-block,.service-detail-flow .detail-delivery{grid-template-columns:125px minmax(0,1fr);gap:clamp(24px,4vw,54px);margin-top:0;padding:28px 0 32px 54px}.service-detail-flow .detail-block>p:first-child{align-self:start;color:#777}.service-detail-flow .detail-block h2{font-size:clamp(27px,3.25vw,44px);line-height:1.08}.service-detail-flow .detail-block>p:not(:first-child),.service-detail-flow .detail-delivery>p{max-width:720px;font-size:14px;line-height:1.65}.service-detail-flow .detail-delivery>div strong{font-size:clamp(46px,5.4vw,70px)}
@media(max-width:760px){.service-overview{grid-template-columns:1fr;gap:28px;padding-top:0}.service-overview h1{font-size:clamp(43px,12vw,58px)}.service-overview .service-price{padding-top:19px}.service-overview .service-price>strong{font-size:clamp(40px,11vw,54px)}.service-reading-path{margin-inline:-2px;padding:12px;gap:7px;overflow:hidden}.service-reading-path span{white-space:nowrap;font-size:7px}.service-reading-path i{min-width:10px}.service-detail-flow .detail-facts{grid-template-columns:1fr;padding:28px 0 0 40px}.service-detail-flow>section:before{top:20px}.service-detail-flow .detail-facts>div{min-height:74px;padding:14px 16px}.service-detail-flow .detail-block,.service-detail-flow .detail-delivery{grid-template-columns:1fr;gap:7px;padding:26px 0 30px 40px}.service-detail-flow .detail-block h2,.service-detail-flow .detail-block>p:first-child,.service-detail-flow .detail-block>p:not(:first-child),.service-detail-flow .detail-tags{grid-column:1;grid-row:auto}.service-detail-flow .detail-block h2{font-size:clamp(27px,8vw,36px)}.service-detail-flow .detail-delivery>p{margin-top:10px}}

/* Categorised FAQ */
.faq-categories{display:flex;gap:8px;margin:clamp(48px,6vw,78px) 0 0 20%;padding-bottom:5px;overflow-x:auto;scrollbar-width:none}.faq-categories::-webkit-scrollbar{display:none}.faq-categories button{flex:0 0 auto;padding:12px 15px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.025);color:#777;font-size:10px;letter-spacing:.08em;cursor:pointer;transition:background .25s ease,color .25s ease,border-color .25s ease}.faq-categories button span{margin-right:9px;color:#a789ef}.faq-categories button.active{border-color:rgba(203,187,255,.55);background:linear-gradient(120deg,rgba(134,99,220,.22),rgba(255,255,255,.06));color:#fff;box-shadow:0 8px 26px rgba(89,55,167,.18)}
.faq .faq-list{margin-top:24px}.faq .faq-list details{padding:22px 0}.faq .faq-list summary{align-items:flex-start;gap:20px;font-size:clamp(17px,1.7vw,22px);line-height:1.4}.faq .faq-list summary:after{flex:0 0 auto;color:#a990ee;font-size:23px;font-weight:300}.faq .faq-list details>div{max-width:820px;padding:18px 48px 2px 0;color:#aaa;font-size:15px;line-height:1.8}.faq .faq-list details>div strong{color:#f1f1f3;font-weight:500}.faq .faq-list details>div ul{padding-left:20px}
@media(max-width:900px){.faq-categories,.faq .faq-list{margin-left:0}}
@media(max-width:600px){.faq-categories{margin-right:-20px;padding-right:20px;gap:7px}.faq-categories button{padding:10px 12px}.faq .faq-list{margin-top:18px}.faq .faq-list details{padding:19px 0}.faq .faq-list summary{font-size:17px}.faq .faq-list details>div{padding:14px 20px 2px 0;font-size:14px;line-height:1.75}}
@media(prefers-reduced-motion:reduce){.faq-categories button{transition:none}}

/* Interactive quote estimator */
html.estimate-open{overflow:hidden}.estimate-dialog{width:100vw;max-width:none;height:100svh;max-height:none;margin:0;padding:0;border:0;background:rgba(0,0,0,.76);color:#fff}.estimate-dialog::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(18px)}.estimate-shell{width:min(1320px,calc(100% - 50px));height:calc(100svh - 40px);margin:20px auto;border:1px solid rgba(255,255,255,.16);border-radius:26px;background:rgba(8,8,11,.96);overflow:hidden}.estimate-shell>header{height:68px;padding:0 26px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.12)}.estimate-shell>header div{display:flex;gap:22px;align-items:center}.estimate-shell>header p,.estimate-shell>header b{font-size:9px;letter-spacing:.14em}.estimate-close{border:0;background:none;font-size:32px;cursor:pointer}.estimate-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;height:calc(100% - 68px)}.estimate-main{padding:clamp(24px,4vw,52px);overflow-y:auto}.estimate-progress{height:2px;background:#25252b;margin-bottom:38px}.estimate-progress i{display:block;width:20%;height:100%;background:linear-gradient(90deg,#fff,#a78df2);transition:width .25s}.estimate-step{display:none}.estimate-step.active{display:block}.estimate-step>p{margin:0;color:#8d78dd;font-size:9px;letter-spacing:.16em}.estimate-step>h2{margin:10px 0 30px;font-size:clamp(34px,4vw,56px);font-weight:400;line-height:1;letter-spacing:-.055em}.estimate-services{display:grid;grid-template-columns:1fr 1fr;gap:9px}.estimate-services label{cursor:pointer}.estimate-services input{position:absolute;opacity:0}.estimate-services label>span{min-height:145px;padding:20px;border:1px solid #29292f;border-radius:17px;display:flex;flex-direction:column;background:rgba(255,255,255,.025)}.estimate-services input:checked+span{border-color:#c6b8ff;background:radial-gradient(circle at 90% 10%,rgba(132,95,225,.23),transparent 44%),rgba(255,255,255,.055)}.estimate-services b{font-size:21px}.estimate-services small{margin:7px 0 18px;color:#888}.estimate-services strong{margin-top:auto;font-size:13px}.estimate-photo{grid-column:1/-1}.estimate-photo>span{min-height:105px!important}.estimate-config{display:grid;gap:14px}.estimate-config fieldset,.range-field,.manual-quote{margin:0;padding:20px;border:1px solid #29292f;border-radius:16px;background:rgba(255,255,255,.02)}.estimate-config legend{font-size:18px;padding:0 8px}.estimate-config fieldset>label,.estimate-options label{display:flex;gap:9px;margin:10px 0;color:#bbb}.estimate-config select{margin:8px;padding:9px;background:#111117;color:#fff;border:1px solid #333;border-radius:8px}.range-field{display:flex;flex-direction:column;gap:14px}.range-field>span{display:flex;justify-content:space-between}.range-field input{width:100%;accent-color:#ad95f4}.range-field small,.estimate-config small{color:#85858d}.stepper{display:flex;align-items:center;gap:20px;margin:15px 0}.stepper button{width:42px;height:42px;border:1px solid #444;border-radius:50%;background:none}.stepper output{font-size:30px}.estimate-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.estimate-fields>label{display:flex;flex-direction:column;gap:6px;color:#aaa}.estimate-fields input,.estimate-fields textarea{width:100%;padding:13px;border:1px solid #303038;border-radius:10px;background:#0e0e13;color:#fff}.estimate-fields fieldset{grid-column:1/-1;padding:14px;border:1px solid #303038}.estimate-fields fieldset label{margin-right:20px}.date-note,.date-warning,.melbourne-note,.outside-location{grid-column:1/-1}.date-warning{padding:12px;border-left:2px solid #e8915a;background:rgba(232,145,90,.1);color:#efb08b}.outside-location label{display:flex;flex-direction:column}.estimate-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.estimate-options label{padding:18px;border:1px solid #29292f;border-radius:14px}.estimate-options span{display:flex;flex-direction:column}.estimate-options small{color:#81818a}.estimate-actions{display:flex;justify-content:space-between;margin-top:30px}.estimate-actions button,.estimate-submit{padding:13px 22px;border:1px solid #444;border-radius:999px;background:none}.estimate-next,.estimate-submit{background:#fff!important;color:#08080a!important}.estimate-submit{margin-top:25px}.estimate-summary{padding:42px 28px;border-left:1px solid rgba(255,255,255,.13);background:radial-gradient(circle at 90% 10%,rgba(120,83,215,.18),transparent 38%),#0a0a0e;overflow-y:auto}.estimate-summary>p:first-child{font-size:9px;letter-spacing:.15em;color:#aaa}.estimate-summary h3{font-size:31px;margin:15px 0 26px}.estimate-lines{display:flex;flex-direction:column;border-top:1px solid #29292f}.estimate-lines span{padding:9px 0;border-bottom:1px solid #25252b;color:#aaa;font-size:12px}.estimate-total{display:block;margin-top:32px;font-size:clamp(25px,2.6vw,38px);line-height:1.1}.estimate-total small{display:block;margin-top:8px;color:#ab96ed;font-size:10px}.estimate-disclaimer{margin-top:25px;color:#74747d;font-size:11px;line-height:1.7}.estimate-success{width:min(700px,calc(100% - 40px));margin:15vh auto;padding:50px;border:1px solid #333;border-radius:24px;background:#0b0b0f;text-align:center}.estimate-success h2{font-size:70px;margin:10px}.estimate-success strong{display:block;margin:25px}.estimate-success button{padding:12px 24px;border-radius:999px;background:#fff;color:#000}.full{grid-column:1/-1}
@media(max-width:800px){.estimate-shell{width:100%;height:100svh;margin:0;border:0;border-radius:0}.estimate-layout{grid-template-columns:1fr;height:calc(100% - 68px)}.estimate-main{padding:25px 18px 120px}.estimate-summary{position:fixed;z-index:4;left:12px;right:12px;bottom:10px;padding:12px 16px;border:1px solid #34343c;border-radius:16px;display:grid;grid-template-columns:1fr auto;align-items:center}.estimate-summary>p:first-child,.estimate-summary h3,.estimate-lines,.estimate-disclaimer{display:none}.estimate-total{margin:0;font-size:20px}.estimate-services,.estimate-options,.estimate-fields{grid-template-columns:1fr}.estimate-photo,.full{grid-column:1}.estimate-services label>span{min-height:120px}.estimate-step>h2{font-size:38px}.estimate-success{margin:8vh auto;padding:30px 20px}}
@media(prefers-reduced-motion:reduce){.estimate-progress i{transition:none}}

/* Reserve optical overhang for italic editorial type so the final glyph is never clipped. */
.hero h1,.section-head h2,.final-cta h2,.service-overview h1,.service-modal-content h1{overflow:visible}
.hero h1 em,.section-head h2 em,.final-cta h2 em,.service-overview h1 em,.service-modal-content h1 em{display:inline-block;max-width:calc(100% + .32em);padding-right:.32em;margin-right:-.2em;overflow:visible;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.how-work .section-head h2 em{max-width:calc(100% + .55em);padding-right:.55em;margin-right:-.38em}
@media(max-width:600px){.hero h1 em,.section-head h2 em,.final-cta h2 em,.service-overview h1 em,.service-modal-content h1 em{max-width:calc(100% + .38em);padding-right:.38em;margin-right:-.2em}.how-work .section-head h2 em{max-width:calc(100% + .62em);padding-right:.62em;margin-right:-.4em}}

/* Contact layout: consistent link rows and tablet-safe editorial heading. */
#contact{grid-template-columns:minmax(0,1fr) minmax(280px,370px);gap:clamp(32px,4vw,64px)}
#contact h2{font-size:clamp(40px,5.4vw,78px);line-height:1.2;letter-spacing:-.045em;white-space:nowrap;overflow:visible;padding:.08em .2em .16em 0;margin:20px 0 22px}
#contact h2 em{display:inline-block;white-space:nowrap}
#contact .final-actions{margin-top:24px}
#contact .final-actions .cta{border-radius:999px;background:linear-gradient(135deg,#fff,#e9e4ff 55%,#dbe8ff);box-shadow:0 10px 30px rgba(104,83,211,.2)}
#contact .contact-methods{display:grid;max-width:480px;margin-top:22px}
#contact .contact-methods a{display:grid;grid-template-columns:55px minmax(0,1fr) 16px;align-items:center;gap:14px;min-height:52px;border-bottom:1px solid rgba(255,255,255,.2);transition:color .2s,border-color .2s}
#contact .contact-methods span{font-size:9px;letter-spacing:.12em;color:#aaa}
#contact .contact-methods strong{font-size:clamp(14px,1.35vw,19px);font-weight:400;overflow-wrap:anywhere;line-height:1.5}
#contact .contact-methods i{font-style:normal;color:#aaa}
#contact .contact-methods a:hover,#contact .contact-methods a:focus-visible{color:#d8cefb;border-color:#c0aafa}
@media(max-width:1100px){#contact{grid-template-columns:1fr;gap:36px}#contact .final-contact-copy{max-width:720px}#contact .wechat-card{max-width:520px}#contact h2{font-size:clamp(40px,7vw,72px)}}
@media(max-width:600px){#contact h2{font-size:clamp(36px,9vw,52px)}#contact .contact-methods a{gap:10px;grid-template-columns:45px minmax(0,1fr) 14px}#contact .contact-methods strong{font-size:14px}}
html[lang="en"] #contact h2{font-size:clamp(34px,4.3vw,62px)}
@media(max-width:600px){html[lang="en"] #contact h2{font-size:clamp(29px,7.4vw,40px)}}
/* Direct phone + WeChat contact handoff. */
.final-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);align-items:center;gap:clamp(48px,8vw,130px)}.final-contact-copy{min-width:0}.final-contact-copy>p:not(.eyebrow){max-width:650px;font-size:19px}.final-actions{display:flex;align-items:center;gap:30px;margin-top:30px}.final-contact-copy>small{display:block;color:#aaa;margin-top:14px}.wechat-card{display:grid;grid-template-columns:170px 1fr;gap:22px;align-items:center;padding:20px;border:1px solid rgba(255,255,255,.16);border-radius:24px;background:rgba(5,5,8,.72);box-shadow:0 28px 75px rgba(0,0,0,.42);backdrop-filter:blur(20px)}.wechat-card img{width:170px;aspect-ratio:1;display:block;border-radius:15px}.wechat-card p{margin:0 0 7px;color:#a994ec;font-size:9px;letter-spacing:.15em}.wechat-card strong{display:block;font-size:clamp(22px,2.3vw,31px);font-weight:400;letter-spacing:-.04em}.wechat-card span{display:block;margin:9px 0 18px;color:#9a9aa2;font-size:11px;line-height:1.6}.wechat-card a{display:inline-block;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.55);font-size:10px;letter-spacing:.06em}.wechat-card a:hover{border-color:#b9a6f4;color:#d8cefb}
@media(max-width:900px){.final-cta{grid-template-columns:1fr}.wechat-card{max-width:560px}}
@media(max-width:600px){.final-cta{gap:42px}.final-actions{align-items:flex-start;flex-direction:column;gap:16px}.wechat-card{grid-template-columns:118px 1fr;gap:16px;padding:14px;border-radius:19px}.wechat-card img{width:118px;border-radius:11px}.wechat-card span{margin:6px 0 12px;font-size:10px}.wechat-card strong{font-size:22px}}

/* QR-only WeChat handoff. */
.wechat-card>span{display:block;margin:0;color:#b8b7bf;font-size:12px;line-height:1.7;letter-spacing:.015em}
@media(max-width:600px){.wechat-card>span{margin:0;font-size:11px}}

/* QR card: one clear vertical action instead of an unbalanced two-column block. */
.final-cta .wechat-card{
  display:flex;
  width:min(100%,320px);
  max-width:320px;
  justify-self:end;
  flex-direction:column;
  align-items:center;
  gap:16px;
  padding:22px;
  border-radius:26px;
}
.final-cta .wechat-card img{
  width:100%;
  max-width:276px;
  height:auto;
  border-radius:17px;
}
.final-cta .wechat-card>span{
  max-width:250px;
  margin:0;
  text-align:center;
  color:#c4c2ca;
  font-size:11px;
  line-height:1.65;
}
@media(max-width:900px){
  .final-cta .wechat-card{justify-self:start;width:min(100%,300px)}
}
@media(max-width:600px){
  .final-cta .wechat-card{width:min(100%,250px);gap:13px;padding:16px;border-radius:21px}
  .final-cta .wechat-card img{max-width:218px;border-radius:14px}
  .final-cta .wechat-card>span{max-width:210px;font-size:10px}
}

/* Regression fixes: contact composition, headline descenders and estimator hierarchy. */
.final-cta>.final-contact-copy{display:block;margin:0}.final-contact-copy h2{width:auto}.hero h1{padding-bottom:.14em}.hero h1 em,.section-head h2 em,.final-cta h2 em,.service-overview h1 em,.service-modal-content h1 em{padding-bottom:.12em;margin-bottom:-.12em}
.contact-email{display:table;margin-top:18px;padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.38);font-size:clamp(14px,1.25vw,18px);color:#d9d9de;transition:border-color .25s,color .25s}.contact-email span{margin-left:10px;font-size:9px;letter-spacing:.1em;color:#999}.contact-email:hover{color:#fff;border-color:#fff}
.estimate-config{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.estimate-config>.range-field,.estimate-config>.manual-quote{grid-column:1/-1}.estimate-config fieldset{min-width:0}.estimate-config fieldset>label{align-items:flex-start;padding:10px 11px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.018);line-height:1.45}.estimate-config fieldset>label:hover{border-color:rgba(177,153,242,.32);background:rgba(143,111,226,.05)}.estimate-config fieldset input{flex:0 0 auto;margin-top:.25em;accent-color:#b49af4}.estimate-config fieldset select{width:calc(100% - 16px);margin:6px 8px 11px}.estimate-config fieldset>small{display:block;padding:4px 8px 0;line-height:1.55}.estimate-config .range-field{padding:22px 24px}.estimate-config .range-field>span{align-items:center;gap:20px}.estimate-config .range-field>span>b{font-size:20px;font-weight:400;color:#fff}.estimate-config .manual-quote{padding:25px}.estimate-config .manual-quote strong{font-size:22px}.estimate-config .manual-quote p{max-width:680px;margin-bottom:0;color:#91919a;line-height:1.65}
@media(max-width:900px){.final-cta>.final-contact-copy{width:100%}.final-contact-copy h2,.final-contact-copy>p:not(.eyebrow){max-width:680px}.final-actions{width:auto}}
@media(max-width:800px){.estimate-config{grid-template-columns:1fr}.estimate-config>.range-field,.estimate-config>.manual-quote{grid-column:1}.estimate-config fieldset,.estimate-config .range-field,.estimate-config .manual-quote{padding:17px}.estimate-config fieldset>label{padding:9px}.estimate-step>h2{line-height:1.08}}
@media(min-width:801px) and (max-width:1100px){.estimate-layout{grid-template-columns:minmax(0,1fr) 300px}.estimate-summary{padding:34px 22px}.estimate-config{grid-template-columns:1fr}.estimate-config>.range-field,.estimate-config>.manual-quote{grid-column:1}.estimate-services{grid-template-columns:1fr}.estimate-services label>span{min-height:112px}.estimate-photo{grid-column:1}.estimate-step>h2{font-size:42px}}

/* Quote controls: tactile glass selection states and consistent rounded geometry. */
.estimate-dialog input[type="radio"],.estimate-dialog input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:20px;height:20px;min-width:20px;margin:0;border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.035);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);display:inline-grid;place-content:center;cursor:pointer;transition:border-color .22s ease,background .22s ease,box-shadow .22s ease,transform .22s ease}.estimate-dialog input[type="radio"]{border-radius:50%}.estimate-dialog input[type="checkbox"]{border-radius:6px}.estimate-dialog input[type="radio"]:before{content:"";width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 14px rgba(185,164,255,.9);transform:scale(0);transition:transform .2s ease}.estimate-dialog input[type="checkbox"]:before{content:"";width:9px;height:5px;border-left:2px solid #09090c;border-bottom:2px solid #09090c;transform:rotate(-45deg) scale(0);transition:transform .2s ease}.estimate-dialog input[type="radio"]:checked,.estimate-dialog input[type="checkbox"]:checked{border-color:#d8ceff;background:linear-gradient(135deg,#d7ccff,#8fa9ff);box-shadow:0 0 0 4px rgba(151,126,225,.12),0 0 22px rgba(126,107,218,.28)}.estimate-dialog input[type="radio"]:checked:before{transform:scale(1)}.estimate-dialog input[type="checkbox"]:checked:before{transform:rotate(-45deg) scale(1)}.estimate-dialog input[type="radio"]:hover,.estimate-dialog input[type="checkbox"]:hover{transform:translateY(-1px);border-color:rgba(216,206,255,.8)}.estimate-dialog input[type="radio"]:focus-visible,.estimate-dialog input[type="checkbox"]:focus-visible{outline:2px solid #fff;outline-offset:3px}
.estimate-services label>span{position:relative;overflow:hidden;transition:border-color .25s ease,background .25s ease,transform .25s ease,box-shadow .25s ease}.estimate-services label>span:after{content:"";position:absolute;right:18px;top:18px;width:9px;height:9px;border-radius:50%;border:1px solid rgba(255,255,255,.36);box-shadow:0 0 0 5px rgba(255,255,255,.025);transition:background .22s ease,box-shadow .22s ease,border-color .22s ease}.estimate-services label:hover>span{transform:translateY(-2px);border-color:rgba(202,190,255,.45);background:rgba(255,255,255,.045)}.estimate-services input:checked+span{box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 14px 38px rgba(82,59,155,.16)}.estimate-services input:checked+span:after{border-color:#fff;background:#fff;box-shadow:0 0 0 5px rgba(172,148,241,.17),0 0 20px rgba(172,148,241,.65)}
.estimate-fields fieldset{border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:18px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));box-shadow:inset 0 1px 0 rgba(255,255,255,.045)}.estimate-fields fieldset legend{padding:0 8px;color:#aaa;font-size:11px;letter-spacing:.08em}.estimate-fields fieldset label{display:inline-flex;align-items:center;gap:10px;margin:4px 8px 4px 0;padding:12px 16px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(255,255,255,.025);cursor:pointer;transition:border-color .22s ease,background .22s ease,transform .22s ease}.estimate-fields fieldset label:hover{transform:translateY(-1px);border-color:rgba(196,181,247,.35);background:rgba(144,117,217,.07)}.estimate-fields input,.estimate-fields textarea{border-radius:14px}.outside-location{padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.02)}.outside-location p{margin:12px 0 0;color:#888;font-size:12px;line-height:1.55}.melbourne-note{margin:0;padding:13px 16px;border:1px solid rgba(169,145,235,.13);border-radius:14px;background:rgba(139,111,214,.055);color:#a7a2b4}
.estimate-options label{align-items:flex-start;gap:13px;cursor:pointer;transition:border-color .22s ease,background .22s ease,transform .22s ease,box-shadow .22s ease}.estimate-options label:hover{transform:translateY(-2px);border-color:rgba(199,185,247,.36);background:rgba(139,111,214,.055)}.estimate-options label:has(input:checked){border-color:rgba(207,195,255,.68);background:radial-gradient(circle at 92% 10%,rgba(132,95,225,.2),transparent 45%),rgba(255,255,255,.045);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 12px 30px rgba(73,52,133,.12)}
@media(max-width:600px){.estimate-fields fieldset{padding:14px}.estimate-fields fieldset label{width:100%;margin:4px 0;padding:12px 14px}.estimate-options{grid-template-columns:1fr}.estimate-options label{padding:15px}.outside-location{padding:14px}}
@media(prefers-reduced-motion:reduce){.estimate-dialog input[type="radio"],.estimate-dialog input[type="checkbox"],.estimate-services label>span,.estimate-services label>span:after,.estimate-fields fieldset label,.estimate-options label{transition:none}.estimate-services label:hover>span,.estimate-fields fieldset label:hover,.estimate-options label:hover{transform:none}}

/* Keep quantities visually attached to the option they configure. */
.estimate-config fieldset>label.option-with-qty{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px}.option-with-qty>span:not(.inline-qty){display:flex;flex-direction:column;min-width:0}.option-with-qty>span>small{margin-top:3px;color:#777;font-size:10px}.estimate-config .inline-qty{display:inline-flex;align-items:center;gap:7px;color:#777;font-size:9px;white-space:nowrap}.option-with-qty:has(>input:not(:checked))>.inline-qty{display:none}.estimate-config .inline-qty select{width:auto;min-width:56px;margin:0;padding:6px 24px 6px 9px;border-radius:999px;background:#15151b;color:#fff;font-size:11px}.estimate-config fieldset>label:has(input:checked){border-color:rgba(207,195,255,.45);background:rgba(139,111,214,.07)}
@media(max-width:520px){.estimate-config fieldset>label.option-with-qty{grid-template-columns:20px minmax(0,1fr)}.estimate-config .inline-qty{grid-column:2;margin-top:3px;justify-self:start}}

.faq-more{width:100%;margin-top:18px;padding:16px 20px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:linear-gradient(120deg,rgba(255,255,255,.055),rgba(126,97,207,.08));color:#d8d4e4;font-size:10px;letter-spacing:.1em;cursor:pointer;transition:border-color .22s ease,background .22s ease,transform .22s ease}.faq-more:hover{transform:translateY(-2px);border-color:rgba(199,185,247,.46);background:rgba(132,105,205,.12)}
@media(prefers-reduced-motion:reduce){.faq-more{transition:none}.faq-more:hover{transform:none}}

/* English copy needs a little more horizontal breathing room than Chinese. */
.hero-capabilities article[role="link"]{cursor:pointer}.hero-capabilities article[role="link"]:focus-visible{outline:2px solid #cfc3ff;outline-offset:4px}.hero-lead strong{font-weight:500;color:#fff}

/* Local review: richer hero composition and animated contact atmosphere. */
.hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.38) 56%,rgba(0,0,0,.58) 100%),linear-gradient(0deg,#000 0%,rgba(0,0,0,.08) 54%,rgba(0,0,0,.34) 100%)}
.hero-kicker{display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(100%,1060px);padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.32)}
.hero-kicker span{color:rgba(255,255,255,.58);font-size:9px;letter-spacing:.17em;white-space:nowrap}
.hero-title-wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:clamp(20px,4vw,60px);width:min(100%,1180px)}
.hero-title-wrap h1{position:relative;margin-block:24px 22px;text-wrap:balance;text-shadow:0 12px 42px rgba(0,0,0,.72)}
.hero-title-wrap h1:after{content:"";display:block;width:clamp(80px,11vw,160px);height:3px;margin-top:22px;border-radius:99px;background:linear-gradient(90deg,#fff 0 34%,#9e82ff 34% 68%,#6489e9 68%);box-shadow:0 0 22px rgba(142,113,255,.55)}
.hero-title-wrap>i{align-self:center;padding-left:18px;border-left:1px solid rgba(255,255,255,.3);color:rgba(255,255,255,.48);font-size:clamp(11px,1vw,14px);font-style:normal;font-weight:600;line-height:1.18;letter-spacing:.25em}
.hero-lead{position:relative;margin-top:0;padding-left:18px}
.hero-lead:before{content:"";position:absolute;left:0;top:.35em;bottom:.35em;width:1px;background:linear-gradient(#b79cff,#fff0)}
.final-cta{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 14% 78%,rgba(108,72,218,.3),transparent 29%),radial-gradient(circle at 88% 22%,rgba(38,88,198,.28),transparent 31%),radial-gradient(circle at 68% 88%,rgba(180,75,130,.18),transparent 27%),#020204;background-size:115% 115%;animation:contactAtmosphere 11s ease-in-out infinite alternate}
.final-cta:before,.final-cta:after{content:"";position:absolute;z-index:-1;width:42vw;aspect-ratio:1;border-radius:50%;filter:blur(105px);opacity:.25;pointer-events:none;animation:contactOrb 9s ease-in-out infinite alternate}
.final-cta:before{left:-20vw;bottom:-24vw;background:#7652dc}
.final-cta:after{right:-18vw;top:-22vw;background:#245cc8;animation-delay:-4s}
.final-cta>*{position:relative;z-index:1}
@keyframes contactAtmosphere{to{background-position:6% -5%,94% 8%,62% 92%}}
@keyframes contactOrb{to{transform:translate3d(10vw,-5vw,0) scale(1.18)}}
@media(max-width:700px){.hero-kicker span{display:none}.hero-title-wrap{grid-template-columns:1fr}.hero-title-wrap>i{display:none}.hero-title-wrap h1{margin-top:18px}.hero-title-wrap h1:after{margin-top:17px}.hero-lead{padding-left:14px}}
@media(prefers-reduced-motion:reduce){.final-cta,.final-cta:before,.final-cta:after{animation:none!important}}
html[lang="en"] .hero h1{max-width:1050px;font-size:clamp(48px,8.1vw,118px);line-height:.9;letter-spacing:-.065em;overflow-wrap:break-word}
html[lang="en"] .section-head>.eyebrow{white-space:normal;overflow-wrap:anywhere}
html[lang="en"] .section-head h2,html[lang="en"] .service-card h3,html[lang="en"] .portfolio-heading h3,html[lang="en"] .how-panel h3{overflow-wrap:anywhere;word-break:normal}
html[lang="en"] .service-card ul,html[lang="en"] .service-card>p,html[lang="en"] .how-timeline small{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){html[lang="en"] .hero h1{font-size:clamp(45px,14.2vw,68px);line-height:.94;letter-spacing:-.055em}html[lang="en"] .section-head>.eyebrow{font-size:clamp(34px,10vw,48px)}html[lang="en"] .section-head h2{font-size:clamp(27px,7.8vw,37px)}}

/* Local review: concise hero hierarchy without duplicated service cards. */
.hero{align-items:center;padding-top:132px;padding-bottom:56px}
.hero-copy{max-width:1320px}
.hero-title-wrap{display:block;width:100%}
.hero-title-wrap h1,.hero-copy>h1{max-width:1200px;margin:0;font-size:clamp(48px,6.2vw,92px);line-height:.94;letter-spacing:-.065em;font-weight:500;text-shadow:0 12px 42px rgba(0,0,0,.72)}
.hero-title-wrap h1:after{display:none}
.hero-message{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,210px) auto;align-items:end;gap:clamp(28px,5vw,78px);margin-top:clamp(42px,7vh,78px);padding-top:clamp(30px,5vh,50px);border-top:1px solid rgba(255,255,255,.23)}
.hero-message .hero-lead{max-width:820px;margin:0;padding:0;border:0;color:#fff;font-size:clamp(48px,6.6vw,96px);font-weight:400;line-height:.92;letter-spacing:-.07em;text-wrap:balance}
.hero-message .hero-lead:before{display:none}
.hero-message .hero-lead em{display:inline-block;padding-right:.14em;font-weight:300;font-style:italic;background:linear-gradient(105deg,#fff 0%,#c7cfff 35%,#b995ff 70%,#efad84 100%);background-clip:text;-webkit-background-clip:text;color:transparent}
.hero-scope{align-self:center;display:flex;flex-direction:column;padding-left:20px;border-left:1px solid rgba(255,255,255,.34)}
.hero-scope small{margin-bottom:15px;color:rgba(255,255,255,.48);font-size:9px;letter-spacing:.16em}
.hero-scope strong{font-size:clamp(20px,2vw,29px);font-weight:500;letter-spacing:-.04em}
.hero-scope span{margin-top:4px;color:rgba(255,255,255,.66);font-size:13px}
.hero-quote{align-self:center;min-width:190px;border-color:rgba(255,255,255,.85);border-radius:999px;background:linear-gradient(135deg,#fff,#e9e4ff 55%,#dbe8ff);color:#050505;font-weight:600;box-shadow:0 12px 40px rgba(104,83,211,.28)}
.hero-quote:hover{box-shadow:0 17px 48px rgba(116,93,220,.43)}
html[lang="en"] .hero-title-wrap h1{max-width:1180px;font-size:clamp(40px,5.6vw,82px);line-height:.96}
html[lang="en"] .hero-message .hero-lead{font-size:clamp(42px,5.8vw,82px);line-height:.94}
@media(max-width:900px){.hero{align-items:flex-end;padding-top:126px}.hero-message{grid-template-columns:minmax(0,1fr) minmax(130px,180px)}.hero-quote{grid-column:1/-1;justify-self:start}.hero-message .hero-lead{font-size:clamp(42px,8vw,72px)}}
@media(max-width:600px){.hero{min-height:100svh;padding:108px 20px 38px}.hero-title-wrap h1,.hero-copy>h1{font-size:clamp(42px,12vw,58px);line-height:.98}.hero-message{grid-template-columns:1fr;gap:26px;margin-top:34px;padding-top:27px}.hero-message .hero-lead{font-size:clamp(47px,14vw,68px);line-height:.93}.hero-scope{padding-left:15px}.hero-scope small{margin-bottom:9px}.hero-scope strong{font-size:24px}.hero-quote{grid-column:1;width:100%}html[lang="en"] .hero-title-wrap h1{font-size:clamp(36px,10.8vw,50px)}html[lang="en"] .hero-message .hero-lead{font-size:clamp(40px,11.5vw,55px)}}

/* Local review: bottom-left reading flow with the CTA as the final action. */
.hero{align-items:flex-end;padding-top:128px;padding-bottom:clamp(34px,5vh,58px)}
.hero-copy{margin:0}
.hero-title-wrap h1,.hero-copy>h1{font-size:clamp(50px,6vw,88px)}
.hero-message{grid-template-columns:minmax(0,760px) minmax(150px,210px);align-items:end;justify-content:start;gap:clamp(28px,5vw,70px);margin-top:clamp(24px,4vh,42px);padding-top:clamp(22px,3.2vh,34px)}
.hero-message .hero-lead{font-size:clamp(34px,4.35vw,64px);line-height:.96;letter-spacing:-.06em}
.hero-quote{grid-column:1;grid-row:2;justify-self:start;align-self:start;margin-top:clamp(4px,1vh,10px)}
.hero-scope{grid-column:2;grid-row:1;align-self:center}
html[lang="en"] .hero-message .hero-lead{font-size:clamp(31px,3.8vw,56px)}
@media(max-width:900px){.hero{align-items:flex-end}.hero-message{grid-template-columns:minmax(0,1fr) minmax(130px,175px)}.hero-message .hero-lead{font-size:clamp(33px,6.4vw,54px)}.hero-quote{grid-column:1;grid-row:2}}
@media(max-width:600px){.hero{align-items:flex-end;padding-top:98px;padding-bottom:30px}.hero-title-wrap h1,.hero-copy>h1{font-size:clamp(39px,10.8vw,52px)}.hero-message{grid-template-columns:1fr;gap:19px;margin-top:24px;padding-top:21px}.hero-message .hero-lead{font-size:clamp(32px,9.5vw,45px)}.hero-scope{grid-column:1;grid-row:2}.hero-quote{grid-column:1;grid-row:3;margin-top:2px;width:100%}html[lang="en"] .hero-message .hero-lead{font-size:clamp(30px,8.7vw,42px)}}

/* Local review: editorial business title and side-by-side mobile scope. */
.hero-message{border-top:0;padding-top:0}
.hero-title-wrap h1 em{display:inline-block;padding-right:.14em;font-weight:300;font-style:italic;background:linear-gradient(105deg,#fff 0%,#c8d0ff 36%,#b994ff 70%,#efad84 100%);background-clip:text;-webkit-background-clip:text;color:transparent}
@media(max-width:600px){.hero-message{grid-template-columns:minmax(0,1fr) 104px;column-gap:15px;row-gap:20px}.hero-message .hero-lead{grid-column:1;grid-row:1;align-self:center;font-size:clamp(29px,8.5vw,39px)}.hero-scope{grid-column:2;grid-row:1;align-self:center;padding-left:12px}.hero-scope small{font-size:8px;letter-spacing:.09em}.hero-scope strong{font-size:19px}.hero-scope span{font-size:11px}.hero-quote{grid-column:1/-1;grid-row:2}html[lang="en"] .hero-message{grid-template-columns:minmax(0,1fr) 105px}html[lang="en"] .hero-message .hero-lead{font-size:clamp(25px,7.2vw,34px)}}

/* Local review: stronger primary-to-secondary type ratio. */
.hero-title-wrap h1,.hero-copy>h1{font-size:clamp(58px,7.25vw,106px)}
.hero-message .hero-lead{font-size:clamp(28px,3.55vw,52px);line-height:1}
.hero-scope{max-width:190px}
.hero-scope small{margin-bottom:11px;font-size:8px}
.hero-scope strong{font-size:clamp(17px,1.65vw,24px)}
.hero-scope span{font-size:11px}
html[lang="en"] .hero-title-wrap h1{font-size:clamp(50px,6.5vw,94px)}
html[lang="en"] .hero-message .hero-lead{font-size:clamp(27px,3.25vw,47px)}
@media(max-width:600px){.hero-title-wrap h1,.hero-copy>h1{font-size:clamp(45px,13vw,61px)}.hero-message .hero-lead{font-size:clamp(25px,7.3vw,34px)}.hero-scope strong{font-size:17px}.hero-scope span{font-size:10px}html[lang="en"] .hero-title-wrap h1{font-size:clamp(39px,11.2vw,53px)}html[lang="en"] .hero-message .hero-lead{font-size:clamp(23px,6.6vw,31px)}}

/* Local review: compact statement followed by one aligned action row. */
.hero-message{display:block;margin-top:clamp(12px,2vh,22px)}
.hero-message .hero-lead{max-width:none;white-space:nowrap;font-size:clamp(25px,3vw,43px)}
.hero-action-row{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:clamp(22px,3.2vh,34px)}
.hero-primary-actions{display:flex;align-items:center;gap:11px}
.hero-quote{margin:0}
.hero-play{width:52px;height:52px;flex:0 0 52px;border:1px solid rgba(255,255,255,.72);border-radius:50%;display:grid;place-items:center;background:rgba(5,5,8,.32);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 12px 35px rgba(0,0,0,.3);backdrop-filter:blur(14px);transition:transform .25s ease,border-color .25s ease,background .25s ease}
.hero-play span{font-size:11px;transform:translateX(1px)}
.hero-play:hover{transform:translateY(-3px);border-color:#fff;background:rgba(255,255,255,.12)}
.hero-action-row .hero-scope{margin-left:auto;display:grid;grid-template-columns:auto auto;column-gap:14px;align-items:baseline;max-width:none;padding-left:20px;text-align:right}
.hero-action-row .hero-scope small{grid-column:1/-1;margin:0 0 4px}
.hero-action-row .hero-scope strong{font-size:clamp(17px,1.55vw,23px)}
.hero-action-row .hero-scope span{font-size:11px}
html[lang="en"] .hero-message .hero-lead{font-size:clamp(24px,2.65vw,39px)}
@media(max-width:600px){.hero-message{margin-top:13px}.hero-message .hero-lead{font-size:clamp(22px,6.3vw,29px);letter-spacing:-.055em}.hero-action-row{gap:8px;margin-top:22px}.hero-primary-actions{gap:7px;min-width:0}.hero-quote{width:auto;min-width:0;padding:13px 15px;font-size:10px}.hero-play{width:44px;height:44px;flex-basis:44px}.hero-action-row .hero-scope{column-gap:7px;padding-left:8px}.hero-action-row .hero-scope small{font-size:7px}.hero-action-row .hero-scope strong{font-size:15px}.hero-action-row .hero-scope span{font-size:9px}html[lang="en"] .hero-message .hero-lead{font-size:clamp(19px,5.4vw,25px)}html[lang="en"] .hero-quote{padding-inline:11px;font-size:9px}}
@media(max-width:600px){.hero-action-row .hero-scope{margin-right:12px;text-align:left}}

/* Keep the persistent menu control perfectly circular in compressed nav layouts. */
.site-nav>.menu-toggle{
  flex:0 0 42px;
  width:42px;
  min-width:42px;
  height:42px;
  min-height:42px;
  padding:0;
  aspect-ratio:1;
  border-radius:50%;
}

/* English scope labels are longer: stack them to prevent cross-column overlap. */
html[lang="en"] .hero-action-row .hero-scope{
  grid-template-columns:1fr;
  justify-items:end;
  width:max-content;
  min-width:max-content;
  white-space:nowrap;
}
html[lang="en"] .hero-action-row .hero-scope small,
html[lang="en"] .hero-action-row .hero-scope strong,
html[lang="en"] .hero-action-row .hero-scope span{
  grid-column:1;
}

@media(max-width:600px){
  .site-nav>.menu-toggle{
    flex-basis:36px;
    width:36px;
    min-width:36px;
    height:36px;
    min-height:36px;
  }
  html[lang="en"] .hero-action-row .hero-scope{
    justify-items:start;
    margin-right:8px;
    padding-left:9px;
  }
  html[lang="en"] .hero-action-row .hero-scope strong{font-size:14px}
  html[lang="en"] .hero-action-row .hero-scope span{font-size:8px;letter-spacing:.015em}
}

/* English section titles intentionally removed; collapse their layout space. */
html[lang="en"] [data-i18n="servicesTitle"]:empty,
html[lang="en"] [data-i18n="howTitle"]:empty{display:none}

/* Preserve the editorial section-title treatment when the supporting headline is removed. */
.how-work .section-head.split>.eyebrow:last-child{
  grid-column:1/-1;
  align-self:auto;
  max-width:none;
  margin:0;
  padding:0;
  color:#f4f4f5;
  font-size:clamp(54px,7.6vw,112px);
  font-weight:500;
  line-height:.88;
  letter-spacing:-.075em;
}
#contact .final-contact-copy>h2{
  color:#f4f4f5;
  font-weight:500;
  letter-spacing:-.045em;
}
#contact .final-contact-copy>h2 em{
  font-weight:300;
  font-style:italic;
  background:linear-gradient(100deg,#bec8ff,var(--violet),var(--amber));
  background-clip:text;
  color:transparent;
}
@media(max-width:900px){
  .how-work .section-head.split>.eyebrow:last-child{font-size:clamp(48px,10vw,82px)}
}
@media(max-width:600px){
  .how-work .section-head.split>.eyebrow:last-child{font-size:clamp(43px,13vw,62px);line-height:.94}
}
@media(prefers-reduced-motion:reduce){.hero-play{transition:none}.hero-play:hover{transform:none}}

/* v3 light-first identity — the existing dark composition remains available as night mode. */
.theme-toggle,.menu-theme{border:0;background:none;cursor:pointer;color:inherit}
.theme-toggle{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid currentColor;border-radius:999px;font-size:8px;letter-spacing:.09em;white-space:nowrap}
.theme-toggle i,.menu-theme i{position:relative;display:block;width:18px;height:18px;border:1px solid currentColor;border-radius:50%}
.theme-toggle i:after,.menu-theme i:after{content:"";position:absolute;inset:4px;border-radius:50%;background:currentColor;transition:transform .25s ease}
.menu-theme{display:none}

html[data-theme="light"]{
  color-scheme:light;
  --black:#f5f4f0;
  --panel:#fff;
  --panel2:#ebe9e3;
  --white:#161616;
  --muted:#66645f;
  --line:rgba(22,22,22,.16);
  --blue:#315caa;
  --violet:#6b5a96;
  --amber:#9a6648;
}
html[data-theme="light"] body{background:#f5f4f0;color:#161616}
html[data-theme="light"] .progress-line{background:linear-gradient(90deg,#315caa,#76649c,#b17d5d);box-shadow:none}
html[data-theme="light"] .aurora i{opacity:.08;filter:blur(145px)}
html[data-theme="light"] .site-nav{border-color:rgba(16,16,16,.1);background:rgba(248,247,243,.84);color:#151515;box-shadow:0 8px 35px rgba(34,31,25,.035)}
html[data-theme="light"] .site-nav nav a:after{background:#151515}
html[data-theme="light"] .site-nav>.menu-toggle span{background:#151515}
html[data-theme="light"] .nav-quote{border-color:#191919;background:#191919;color:#fff}
html[data-theme="light"] .theme-toggle{border-color:rgba(15,15,15,.2)}
html[data-theme="light"] .hero{color:#fff}
html[data-theme="light"] .hero .hero-lead,html[data-theme="light"] .hero .eyebrow{color:#fff}
html[data-theme="light"] .hero .cta.primary{border-color:#fff;background:#fff;color:#111}
html[data-theme="light"] .hero-play{color:#fff}
html[data-theme="light"] .trust{border-color:rgba(20,20,20,.12);background:#ebe9e3;color:#161616}
html[data-theme="light"] .trust>p{color:#6f6c65}
html[data-theme="light"] .client-logo-set img{opacity:.68;filter:grayscale(1) brightness(.28) contrast(1.25)}
html[data-theme="light"] .client-logo-set img.client-logo-batch2{filter:brightness(0)}
html[data-theme="light"] .section-head,.section-head.split{border-color:var(--line)}
html[data-theme="light"] .section-head>.eyebrow{color:#171717}
html[data-theme="light"] .section-head>.eyebrow:after{background:linear-gradient(90deg,rgba(82,68,115,.62),rgba(22,22,22,.1))}
html[data-theme="light"] .section-head h2,html[data-theme="light"] .section-head.split h2{color:#2f2e2b}
html[data-theme="light"] .services{background:radial-gradient(circle at 86% 18%,rgba(80,112,170,.11),transparent 30%),#f5f4f0}
html[data-theme="light"] .portfolio{background:radial-gradient(circle at 8% 16%,rgba(122,91,151,.09),transparent 29%),#eeece6}
html[data-theme="light"] .how-work{background:radial-gradient(circle at 84% 22%,rgba(73,104,157,.1),transparent 34%),radial-gradient(circle at 8% 82%,rgba(133,100,80,.07),transparent 30%),#f8f7f3}
html[data-theme="light"] .faq{background:#efede7}
html[data-theme="light"] .service-card{border-color:rgba(28,28,28,.13);background:rgba(255,255,255,.7);color:#171717;box-shadow:0 18px 60px rgba(44,40,32,.055)}
html[data-theme="light"] .service-card:hover{border-color:rgba(62,83,121,.32);background:#fff;box-shadow:0 22px 70px rgba(44,40,32,.1)}
html[data-theme="light"] .service-card>p,html[data-theme="light"] .service-card>span{color:#6d6a65}
html[data-theme="light"] .service-card ul{border-color:rgba(20,20,20,.12);color:#56534e}
html[data-theme="light"] .service-card>b{border-color:rgba(20,20,20,.12)}
html[data-theme="light"] .service-card>strong small{color:#66558d}
html[data-theme="light"] .service-common span{color:#68655f}
html[data-theme="light"] .portfolio-more,html[data-theme="light"] .faq-more{border-color:rgba(20,20,20,.16);background:rgba(255,255,255,.55);color:#252421}
html[data-theme="light"] .grade-compare{border-color:rgba(20,20,20,.13);background:rgba(255,255,255,.66);box-shadow:0 28px 80px rgba(50,44,32,.09)}
html[data-theme="light"] .grade-copy p{color:#66635e}
html[data-theme="light"] .grade-control{color:#3e3c38}
html[data-theme="light"] .how-timeline:before{background:rgba(20,20,20,.18)}
html[data-theme="light"] .how-timeline>i{background:linear-gradient(90deg,#1d1d1c,#70608d);box-shadow:none}
html[data-theme="light"] .how-timeline button{color:rgba(20,20,20,.42)}
html[data-theme="light"] .how-timeline button.active{color:#171717}
html[data-theme="light"] .how-timeline button>small{color:rgba(20,20,20,.42)}
html[data-theme="light"] .how-timeline button.active>small{color:#66558d}
html[data-theme="light"] .how-timeline button b,html[data-theme="light"] .how-mobile summary b{color:#171717;background:linear-gradient(135deg,#fff,#e8e5dc);border-color:rgba(25,25,25,.13);box-shadow:inset 0 1px 0 #fff,0 10px 28px rgba(40,36,29,.1)}
html[data-theme="light"] .how-timeline button.active b,html[data-theme="light"] .how-mobile details[open] summary b{color:#fff;background:linear-gradient(135deg,#20201f,#3f3b48);border-color:#292826;box-shadow:0 12px 30px rgba(38,34,28,.18)}
html[data-theme="light"] .how-panels,html[data-theme="light"] .how-copy,html[data-theme="light"] .how-highlight{border-color:rgba(20,20,20,.13)}
html[data-theme="light"] .how-copy>span,html[data-theme="light"] .how-copy p{color:#625f59}
html[data-theme="light"] .how-copy h3{color:#171717}
html[data-theme="light"] .how-highlight{background:rgba(255,255,255,.54)}
html[data-theme="light"] .how-highlight strong,html[data-theme="light"] .how-highlight b{color:#252321}
html[data-theme="light"] .how-mobile details{border-color:rgba(20,20,20,.13)}
html[data-theme="light"] .how-mobile summary{color:#171717}
html[data-theme="light"] .faq details{border-color:rgba(20,20,20,.15)}
html[data-theme="light"] .faq .faq-list details>div{color:#5f5c56}
html[data-theme="light"] .faq .faq-list details>div strong{color:#191919}
html[data-theme="light"] .faq-categories button{border-color:rgba(20,20,20,.14);background:rgba(255,255,255,.4);color:#696660}
html[data-theme="light"] .faq-categories button.active{border-color:#282725;background:#282725;color:#fff;box-shadow:none}
html[data-theme="light"] .final-cta{background:radial-gradient(circle at 12% 74%,rgba(108,91,145,.15),transparent 30%),radial-gradient(circle at 86% 20%,rgba(69,103,159,.14),transparent 32%),#e6e4de;color:#171717}
html[data-theme="light"] #contact .final-contact-copy>h2{color:#171717}
html[data-theme="light"] #contact .final-contact-copy>h2 em{background:linear-gradient(100deg,#283a63,#6e5a91,#9a6648);background-clip:text;color:transparent}
html[data-theme="light"] #contact .final-actions .cta{border-color:#171717;background:#171717;color:#fff;box-shadow:0 10px 28px rgba(25,25,25,.12)}
html[data-theme="light"] #contact .contact-methods a{border-color:rgba(20,20,20,.2)}
html[data-theme="light"] #contact .contact-methods span,html[data-theme="light"] #contact .contact-methods i,html[data-theme="light"] .final-contact-copy>small{color:#68655f}
html[data-theme="light"] .wechat-card{border-color:rgba(20,20,20,.14);background:rgba(255,255,255,.58);box-shadow:0 28px 70px rgba(45,40,31,.09)}
html[data-theme="light"] .wechat-card span{color:#66635e}
html[data-theme="light"] .wechat-card a{border-color:rgba(20,20,20,.45)}
html[data-theme="light"] footer{border-color:rgba(20,20,20,.14);background:#dad7cf;color:#5b5954}
html[data-theme="light"] footer .brand img{filter:brightness(0)}
html[data-theme="light"] footer nav button{color:#34322f}
html[data-theme="light"] .service-dialog{background:rgba(236,234,228,.76);color:#171717}
html[data-theme="light"] .service-dialog::backdrop{background:rgba(52,49,43,.38)}
html[data-theme="light"] .service-modal-shell{border-color:rgba(20,20,20,.14);background:rgba(248,247,243,.97);box-shadow:0 40px 120px rgba(42,37,28,.22)}
html[data-theme="light"] .service-modal-shell>header,html[data-theme="light"] .service-modal-shell>footer{border-color:rgba(20,20,20,.13);background:rgba(248,247,243,.92)}
html[data-theme="light"] .service-modal-close{color:#171717}
html[data-theme="light"] .service-modal-content>h1 em{background:linear-gradient(105deg,#282725,#68568c 62%,#92604a);background-clip:text;color:transparent}
html[data-theme="light"] .service-modal-intro,html[data-theme="light"] .detail-block>p:not(:first-child),html[data-theme="light"] .detail-delivery>p{color:#66635e}
html[data-theme="light"] .service-price,html[data-theme="light"] .detail-block,html[data-theme="light"] .detail-delivery,html[data-theme="light"] .service-modal-shell>footer{border-color:rgba(20,20,20,.14)}
html[data-theme="light"] .detail-facts{border-color:rgba(20,20,20,.14)}
html[data-theme="light"] .detail-facts>div{background:rgba(255,255,255,.55)}
html[data-theme="light"] .detail-facts>div+div{border-color:rgba(20,20,20,.12)}
html[data-theme="light"] .detail-block strong{color:#171717}
html[data-theme="light"] .detail-tags span{border-color:rgba(20,20,20,.15);color:#514f4a}
html[data-theme="light"] .service-modal-quote{border-color:#171717!important;background:#171717!important;color:#fff!important}
html[data-theme="light"] .estimate-dialog{background:rgba(236,234,228,.78);color:#171717}
html[data-theme="light"] .estimate-dialog::backdrop{background:rgba(52,49,43,.38)}
html[data-theme="light"] .estimate-shell{border-color:rgba(20,20,20,.14);background:rgba(248,247,243,.98);box-shadow:0 35px 110px rgba(42,37,28,.2)}
html[data-theme="light"] .estimate-shell>header{border-color:rgba(20,20,20,.13)}
html[data-theme="light"] .estimate-progress{background:#dedbd4}
html[data-theme="light"] .estimate-progress i{background:linear-gradient(90deg,#252525,#6c5b8e)}
html[data-theme="light"] .estimate-services label>span,html[data-theme="light"] .estimate-config fieldset,html[data-theme="light"] .range-field,html[data-theme="light"] .manual-quote,html[data-theme="light"] .estimate-options label{border-color:rgba(20,20,20,.14);background:rgba(255,255,255,.56)}
html[data-theme="light"] .estimate-services input:checked+span,html[data-theme="light"] .estimate-options label:has(input:checked){border-color:rgba(72,59,101,.56);background:radial-gradient(circle at 92% 8%,rgba(100,80,145,.12),transparent 44%),#fff}
html[data-theme="light"] .estimate-services small,html[data-theme="light"] .range-field small,html[data-theme="light"] .estimate-config small,html[data-theme="light"] .estimate-options small{color:#68655f}
html[data-theme="light"] .estimate-config select,html[data-theme="light"] .estimate-fields input,html[data-theme="light"] .estimate-fields textarea,html[data-theme="light"] .estimate-config .inline-qty select{border-color:rgba(20,20,20,.17);background:#fff;color:#171717}
html[data-theme="light"] .estimate-config .range-field>span>b{color:#171717}
html[data-theme="light"] .estimate-dialog input[type="radio"],html[data-theme="light"] .estimate-dialog input[type="checkbox"]{border-color:rgba(20,20,20,.3);background:#fff}
html[data-theme="light"] .estimate-summary{border-color:rgba(20,20,20,.13);background:radial-gradient(circle at 90% 10%,rgba(91,71,135,.11),transparent 38%),#ebe9e3}
html[data-theme="light"] .estimate-lines{border-color:rgba(20,20,20,.14)}
html[data-theme="light"] .estimate-lines span{border-color:rgba(20,20,20,.11);color:#5f5c56}
html[data-theme="light"] .estimate-disclaimer{color:#69665f}
html[data-theme="light"] .estimate-next,html[data-theme="light"] .estimate-submit{background:#171717!important;color:#fff!important}
html[data-theme="light"] .estimate-success{border-color:rgba(20,20,20,.14);background:#f8f7f3}
html[data-theme="light"] .estimate-success button{background:#171717;color:#fff}

@media(max-width:900px){
  .theme-toggle{display:none}
  .menu-theme{display:flex;width:100%;align-items:center;justify-content:space-between;margin-top:8px;padding:13px 15px;border:1px solid rgba(255,255,255,.16);border-radius:999px;font-size:10px;letter-spacing:.09em}
  html[data-theme="light"] .site-nav>nav{background:rgba(248,247,243,.98);color:#161616;box-shadow:0 22px 60px rgba(32,29,24,.14)}
  html[data-theme="light"] .menu-theme{border-color:rgba(20,20,20,.16)}
}
@media(prefers-reduced-motion:reduce){.theme-toggle i:after,.menu-theme i:after{transition:none}}

/* About — a restrained editorial portrait of the studio and its founder. */
.about-page{min-height:100vh}
.about-nav .about-quote{display:block;text-align:center}
.about-main{padding-top:76px}
.about-hero{min-height:calc(100svh - 76px);padding:clamp(70px,8vw,130px) clamp(22px,7vw,110px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.72fr);gap:clamp(45px,8vw,130px);align-items:center;background:radial-gradient(circle at 8% 72%,rgba(94,78,132,.11),transparent 30%),radial-gradient(circle at 88% 12%,rgba(53,88,145,.1),transparent 30%)}
.about-intro{max-width:930px}
.about-intro>.eyebrow{margin-bottom:clamp(34px,5vw,70px);color:var(--muted)}
.about-intro h1{margin:0;font-size:clamp(60px,8vw,124px);font-weight:500;line-height:.88;letter-spacing:-.075em}
.about-intro h1 em,.about-standard h2 em{display:inline-block;padding-right:.25em;font-weight:300;font-style:italic;background:linear-gradient(100deg,#2d4777,#6c5a93,#9c6848);background-clip:text;color:transparent}
.about-lead{max-width:680px;margin:clamp(38px,5vw,70px) 0 0;font-size:clamp(17px,1.55vw,22px);line-height:1.7;color:var(--muted)}
.about-portrait{margin:0}
.about-portrait img{display:block;width:100%;max-height:70svh;object-fit:cover;object-position:center;border-radius:2px;filter:saturate(.78) contrast(1.03);box-shadow:0 32px 80px rgba(41,37,29,.14)}
.about-portrait figcaption{display:flex;justify-content:space-between;gap:20px;padding-top:14px;border-top:1px solid var(--line);margin-top:14px;color:var(--muted);font-size:9px;letter-spacing:.14em}
.about-story{padding:clamp(95px,11vw,170px) clamp(22px,7vw,110px);display:grid;grid-template-columns:minmax(180px,.6fr) minmax(0,1.4fr);gap:clamp(40px,8vw,130px);border-top:1px solid var(--line);background:#ebe9e3}
.about-index{margin:0;color:var(--muted);font-size:11px;letter-spacing:.13em}
.about-story-copy{max-width:940px}
.about-story-copy p{margin:0;font-size:clamp(25px,3.05vw,47px);font-weight:300;line-height:1.38;letter-spacing:-.038em}
.about-story-copy p+p{max-width:760px;margin:clamp(45px,6vw,90px) 0 0 auto;padding-top:28px;border-top:1px solid var(--line);font-size:clamp(19px,2vw,30px);color:var(--muted)}
.about-standard{padding:clamp(110px,13vw,210px) clamp(22px,7vw,110px);background:radial-gradient(circle at 84% 18%,rgba(63,94,147,.13),transparent 32%),#f7f6f2}
.about-standard>p{margin:0 0 clamp(30px,5vw,65px);color:var(--muted);font-size:10px;letter-spacing:.15em}
.about-standard h2{max-width:1250px;margin:0;font-size:clamp(48px,7.4vw,108px);font-weight:500;line-height:.98;letter-spacing:-.067em}
.about-actions{display:flex;align-items:center;gap:28px;margin-top:clamp(45px,6vw,78px)}
.about-actions .cta.primary{border-radius:999px;background:#171717;color:#fff}
.about-back{padding-bottom:4px;border-bottom:1px solid currentColor;font-size:11px;letter-spacing:.08em}
html[data-theme="dark"] .about-hero{background:radial-gradient(circle at 8% 72%,rgba(108,72,218,.18),transparent 30%),radial-gradient(circle at 88% 12%,rgba(38,88,198,.17),transparent 30%),#020204}
html[data-theme="dark"] .about-story{background:#08080a}
html[data-theme="dark"] .about-standard{background:radial-gradient(circle at 84% 18%,rgba(70,92,180,.18),transparent 32%),#020204}
html[data-theme="dark"] .about-intro h1 em,html[data-theme="dark"] .about-standard h2 em{background:linear-gradient(100deg,#bec8ff,var(--violet),var(--amber));background-clip:text;color:transparent}
html[data-theme="dark"] .about-actions .cta.primary{background:#fff;color:#111}
html[data-theme="dark"] .about-portrait img{box-shadow:0 32px 90px rgba(0,0,0,.38)}
@media(max-width:900px){.about-main{padding-top:68px}.about-hero{min-height:auto;grid-template-columns:1fr;padding-top:95px}.about-intro{max-width:760px}.about-portrait{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.55fr);gap:20px;align-items:end}.about-portrait img{max-height:none}.about-portrait figcaption{display:grid}.about-story{grid-template-columns:1fr}.about-story-copy p+p{margin-left:0}.about-actions{align-items:flex-start}}
@media(max-width:600px){.about-hero{padding:85px 20px 75px;gap:54px}.about-intro h1{font-size:clamp(48px,15vw,69px);line-height:.93}.about-lead{margin-top:30px;font-size:16px}.about-portrait{display:block}.about-portrait img{max-height:72svh}.about-story{padding:90px 20px;gap:35px}.about-story-copy p{font-size:clamp(25px,7.7vw,36px)}.about-story-copy p+p{font-size:20px}.about-standard{padding:100px 20px}.about-standard h2{font-size:clamp(43px,12.6vw,62px);line-height:1.02}.about-actions{flex-direction:column;align-items:flex-start}.about-actions .cta{width:auto}}

/* Light-theme contrast corrections: dark floating nav, light mobile menu and clear process typography. */
html[data-theme="light"] .site-nav{
  border-color:rgba(255,255,255,.1);
  background:rgba(0,0,0,.72);
  color:#f4f4f5;
  box-shadow:0 10px 40px rgba(0,0,0,.1);
}
html[data-theme="light"] .site-nav nav a:after{background:#fff}
html[data-theme="light"] .site-nav>.menu-toggle span{background:#fff}
html[data-theme="light"] .site-nav .nav-quote{border-color:#fff;background:#fff;color:#080808}
html[data-theme="light"] .site-nav .theme-toggle{border-color:rgba(255,255,255,.32);color:#fff}
html[data-theme="light"] .how-work .section-head.split>.eyebrow:last-child{color:#171717}
html[data-theme="light"] .how-work .section-head>.eyebrow:after{background:linear-gradient(90deg,rgba(72,58,104,.62),rgba(20,20,20,.12))}
html[data-theme="light"] .how-work .how-timeline button>span{color:#4e4b46}
html[data-theme="light"] .how-work .how-timeline button.active>span{color:#171717}
html[data-theme="light"] .how-work .how-copy>span{color:#716d66}
html[data-theme="light"] .how-work .how-keyline{color:#262421}
html[data-theme="light"] .how-work .strategy-highlight>small,
html[data-theme="light"] .how-work .shoot-highlight>small,
html[data-theme="light"] .how-work .final-highlight>small{color:#615d57}
html[data-theme="light"] .how-work .strategy-grid strong,
html[data-theme="light"] .how-work .shoot-checks i,
html[data-theme="light"] .how-work .final-highlight>span{color:#4f4b46}

@media(max-width:900px){
  html[data-theme="light"] .site-nav>nav{
    border:1px solid rgba(20,20,20,.12);
    background:rgba(249,248,244,.98);
    color:#171717;
    box-shadow:0 24px 70px rgba(34,30,24,.2);
  }
  html[data-theme="light"] .site-nav>nav a:after{background:#171717}
  html[data-theme="light"] .site-nav>nav .menu-theme{border-color:rgba(20,20,20,.18);color:#171717;background:rgba(255,255,255,.65)}
  html[data-theme="light"] .site-nav>nav .menu-quote{border-color:#171717;background:#171717;color:#fff;border-radius:999px}
  html[data-theme="light"] .how-mobile summary>span{color:#171717}
  html[data-theme="light"] .how-mobile summary>small{color:#69655f}
  html[data-theme="light"] .how-mobile details>div>p{color:#5f5c56}
}

/* KOIVISION light-mode accent: a single restrained cinematic vermilion. */
html[data-theme="light"]{
  --koi-accent:#8b63d4;
  --koi-accent-dark:#5e3b9e;
  --koi-accent-soft:#e6dcf7;
}
html[data-theme="light"] .final-cta .eyebrow,
html[data-theme="light"] .about-intro>.eyebrow,
html[data-theme="light"] .about-standard>p,
html[data-theme="light"] .grade-copy>div>p,
html[data-theme="light"] .service-price p,
html[data-theme="light"] .detail-block>p:first-child,
html[data-theme="light"] .detail-delivery p:first-child{color:var(--koi-accent-dark)}
html[data-theme="light"] .section-head>.eyebrow:after,
html[data-theme="light"] .how-work .section-head>.eyebrow:after{background:linear-gradient(90deg,var(--koi-accent),rgba(139,99,212,.34) 34%,rgba(20,20,20,.1))}
html[data-theme="light"] .nav-quote,
html[data-theme="light"] .site-nav .nav-quote{border-color:var(--koi-accent);background:var(--koi-accent);color:#fff;box-shadow:0 8px 24px rgba(94,59,158,.24)}
html[data-theme="light"] .hero-quote{border-color:var(--koi-accent);background:var(--koi-accent);color:#fff;box-shadow:0 12px 34px rgba(72,40,128,.3)}
html[data-theme="light"] .service-card>span,
html[data-theme="light"] .service-card>b:after,
html[data-theme="light"] .portfolio-more b,
html[data-theme="light"] .faq .faq-list summary:after{color:var(--koi-accent)}
html[data-theme="light"] .service-card:before{opacity:.18}
html[data-theme="light"] .service-card:nth-child(1):before{background:#7d5bc8}
html[data-theme="light"] .service-card:nth-child(2):before{background:#9a6dc7}
html[data-theme="light"] .service-card:nth-child(3):before{background:#ae72b6}
html[data-theme="light"] .service-card:nth-child(4):before{background:#7658b3}
html[data-theme="light"] .service-card:hover{border-color:rgba(139,99,212,.38)}
html[data-theme="light"] .service-card>strong small,
html[data-theme="light"] .service-price small,
html[data-theme="light"] .detail-block h2 small{color:var(--koi-accent-dark)}
html[data-theme="light"] .how-timeline>i{background:linear-gradient(90deg,var(--koi-accent-dark),var(--koi-accent));box-shadow:0 0 14px rgba(139,99,212,.2)}
html[data-theme="light"] .how-timeline button.active b,
html[data-theme="light"] .how-mobile details[open] summary b{background:linear-gradient(145deg,#a784e6,var(--koi-accent-dark));border-color:var(--koi-accent);box-shadow:0 12px 32px rgba(94,59,158,.24)}
html[data-theme="light"] .how-timeline button.active>small{color:var(--koi-accent-dark)}
html[data-theme="light"] .grade-compare{background:radial-gradient(circle at 78% 8%,rgba(139,99,212,.13),transparent 35%),rgba(255,255,255,.68)}
html[data-theme="light"] .grade-control input{accent-color:var(--koi-accent)}
html[data-theme="light"] .faq-categories button.active{border-color:var(--koi-accent-dark);background:var(--koi-accent-dark);color:#fff}
html[data-theme="light"] .faq-categories button span{color:var(--koi-accent)}
html[data-theme="light"] .final-cta{background:radial-gradient(circle at 10% 78%,rgba(139,99,212,.2),transparent 28%),radial-gradient(circle at 86% 20%,rgba(79,101,142,.13),transparent 32%),#e8e5df}
html[data-theme="light"] #contact .final-actions .cta,
html[data-theme="light"] .about-actions .cta.primary{border-color:var(--koi-accent-dark);background:var(--koi-accent-dark);color:#fff;box-shadow:0 12px 30px rgba(94,59,158,.18)}
html[data-theme="light"] .wechat-card p{color:var(--koi-accent-dark)}
html[data-theme="light"] .about-story{background:linear-gradient(135deg,#ebe8e1 0%,#ebe8e1 64%,#e7def3 100%)}
html[data-theme="light"] .about-standard{background:radial-gradient(circle at 84% 18%,rgba(139,99,212,.15),transparent 32%),#f7f5f0}
html[data-theme="light"] .about-intro h1 em,
html[data-theme="light"] .about-standard h2 em,
html[data-theme="light"] #contact .final-contact-copy>h2 em{background:linear-gradient(100deg,#332f2a 0%,var(--koi-accent-dark) 58%,var(--koi-accent) 100%);background-clip:text;color:transparent}
html[data-theme="light"] .estimate-step>p,
html[data-theme="light"] .estimate-total small{color:var(--koi-accent-dark)}
html[data-theme="light"] .estimate-progress i{background:linear-gradient(90deg,var(--koi-accent-dark),var(--koi-accent))}
html[data-theme="light"] .estimate-services input:checked+span,
html[data-theme="light"] .estimate-options label:has(input:checked){border-color:rgba(139,99,212,.58);background:radial-gradient(circle at 92% 8%,rgba(139,99,212,.13),transparent 44%),#fff}
html[data-theme="light"] .estimate-dialog input[type="radio"]:checked,
html[data-theme="light"] .estimate-dialog input[type="checkbox"]:checked{border-color:var(--koi-accent);background:linear-gradient(135deg,#b797eb,var(--koi-accent));box-shadow:0 0 0 4px rgba(139,99,212,.12)}
@media(max-width:900px){
  html[data-theme="light"] .site-nav>nav .menu-quote{border-color:var(--koi-accent-dark);background:var(--koi-accent-dark);color:#fff}
}

/* English process labels need a vertical rhythm; horizontal label pairs collide in five columns. */
@media(min-width:901px){
  html[lang="en"] .how-timeline button{
    grid-template-columns:1fr;
    grid-template-rows:70px auto auto;
    align-items:start;
    min-width:0;
    padding-right:clamp(12px,2vw,30px);
  }
  html[lang="en"] .how-timeline button>b{
    grid-column:1;
    grid-row:1;
  }
  html[lang="en"] .how-timeline button>span{
    grid-column:1;
    grid-row:2;
    min-width:0;
    margin:18px 0 0;
    white-space:normal;
    font-size:13px;
    line-height:1.25;
  }
  html[lang="en"] .how-timeline button>small{
    grid-column:1;
    grid-row:3;
    align-self:start;
    min-width:0;
    min-height:2.8em;
    margin:8px 0 0;
    padding-right:8px;
    white-space:normal;
    overflow-wrap:normal;
    word-break:normal;
    font-size:8px;
    line-height:1.4;
  }
}

/* Layout QA: concise section introductions, aligned prices and safe English wrapping. */
.section-head.concise-head,
.section-head.split.concise-head{
  grid-template-columns:minmax(0,1fr);
  row-gap:clamp(18px,2.2vw,30px);
}
.section-head.concise-head>p:last-child,
.section-head.split.concise-head>p:last-child{
  grid-column:1;
  align-self:auto;
  max-width:760px;
  margin:0;
  padding:0;
  font-size:clamp(15px,1.25vw,18px);
  line-height:1.65;
}
@media(min-width:761px){
  .service-card h3{min-height:2.1em}
  .service-card>p{min-height:6.2em}
  .service-card>strong{
    display:flex;
    min-height:2.25em;
    flex-direction:column;
    justify-content:flex-end;
    line-height:1.02;
    white-space:nowrap;
  }
  .service-card>strong small{flex:none}
}
html[lang="en"] .section-head>.eyebrow,
html[lang="en"] .service-card h3,
html[lang="en"] .service-card>p,
html[lang="en"] .service-card ul,
html[lang="en"] .estimate-services b,
html[lang="en"] .estimate-step h2,
html[lang="en"] .service-modal-content h1,
html[lang="en"] .detail-block h2{
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
html[lang="en"] .estimate-services b{font-size:clamp(17px,1.55vw,21px);line-height:1.15}
@media(min-width:761px){
  html[lang="en"] .service-card>strong{font-size:clamp(23px,2.1vw,32px)}
}

/* The light service-detail surface must never inherit dark-mode white copy. */
html[data-theme="light"] .service-modal-content,
html[data-theme="light"] .service-modal-content h1,
html[data-theme="light"] .service-price>strong,
html[data-theme="light"] .detail-facts b,
html[data-theme="light"] .detail-delivery>div strong,
html[data-theme="light"] .detail-block h2,
html[data-theme="light"] .detail-block h2 strong,
html[data-theme="light"] .service-full-link{color:#171717}
html[data-theme="light"] .service-stage,
html[data-theme="light"] .service-modal-eyebrow,
html[data-theme="light"] .service-price>span,
html[data-theme="light"] .detail-facts span,
html[data-theme="light"] .service-modal-shell>footer button:not(.service-modal-quote){color:#5f5c56}
html[data-theme="light"] .service-reading-path{border-color:rgba(20,20,20,.13);background:rgba(255,255,255,.5);color:#5f5c56}
html[data-theme="light"] .service-reading-path span:first-child{color:var(--koi-accent-dark)}
html[data-theme="light"] .service-reading-path i{background:rgba(20,20,20,.17)}
html[data-theme="light"] .service-full-link{border-color:rgba(20,20,20,.28)}

/* Five English process labels stay readable through tablet/compact-desktop widths. */
@media(min-width:901px) and (max-width:1180px){
  html[lang="en"] .how-timeline button{
    grid-template-rows:62px auto;
    padding-right:8px;
  }
  html[lang="en"] .how-timeline button>b{width:62px;height:62px;font-size:34px}
  html[lang="en"] .how-timeline button>span{
    grid-row:2;
    margin-top:14px;
    font-size:12px;
  }
  html[lang="en"] .how-timeline button>small{display:none}
}

/* About v2 — cinematic founder portrait with a tighter editorial rhythm. */
.about-main{padding-top:76px;background:#020204}
.about-hero{position:relative;min-height:calc(100svh - 76px);grid-template-columns:minmax(0,1.16fr) minmax(360px,.72fr);gap:clamp(42px,6vw,96px);align-items:end;padding:clamp(70px,7vw,112px) clamp(22px,5.5vw,88px) 0;overflow:hidden;background:radial-gradient(circle at 12% 68%,rgba(92,62,185,.22),transparent 34%),radial-gradient(circle at 78% 18%,rgba(31,76,168,.17),transparent 30%),#020204}
.about-hero:after{content:"KOI / 22";position:absolute;right:clamp(22px,4vw,64px);top:34px;color:rgba(255,255,255,.22);font-size:9px;letter-spacing:.18em}
.about-intro{position:relative;z-index:2;max-width:920px;padding-bottom:clamp(56px,8vh,96px)}
.about-intro>.eyebrow{display:flex;align-items:center;gap:15px;margin:0 0 clamp(30px,4vw,54px);color:#b9b5c5;font-size:10px}
.about-intro>.eyebrow:before{content:"";width:34px;height:1px;background:#a68bf1}
.about-intro h1{font-size:clamp(58px,7.2vw,112px);line-height:.88;letter-spacing:-.072em}
.about-intro h1 em{background:linear-gradient(100deg,#fff 0%,#cabaff 54%,#9780e6 100%);background-clip:text;color:transparent}
.about-lead{max-width:620px;margin:clamp(30px,4vw,52px) 0 0;padding-left:22px;border-left:1px solid rgba(196,181,255,.48);color:#c4c1cb;font-size:clamp(15px,1.25vw,18px);line-height:1.7}
.about-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:720px;margin-top:clamp(38px,5vw,68px);border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.about-facts>div{min-width:0;padding:17px 18px 18px 0}.about-facts>div+div{padding-left:18px;border-left:1px solid rgba(255,255,255,.14)}
.about-facts small{display:block;margin-bottom:6px;color:#777581;font-size:8px;letter-spacing:.14em}.about-facts strong{display:block;color:#f4f2f7;font-size:clamp(11px,1vw,14px);font-weight:500;letter-spacing:.04em;white-space:nowrap}
.about-portrait{position:relative;z-index:1;align-self:end;margin:0}.about-portrait:before{content:"";position:absolute;z-index:-1;inset:8% -18% -8% 8%;border-radius:50%;background:#6241ba;filter:blur(90px);opacity:.25}
.about-portrait img{width:100%;height:min(76svh,820px);max-height:none;border-radius:2px 2px 0 0;object-fit:cover;object-position:center 26%;filter:saturate(.72) contrast(1.06);box-shadow:0 32px 100px rgba(0,0,0,.5)}
.about-portrait figcaption{margin:0;padding:14px 2px 18px;border-top:0;color:#aaa6b4;background:#020204;font-size:8px}
.about-story{position:relative;grid-template-columns:minmax(190px,.48fr) minmax(0,1.52fr);gap:clamp(50px,8vw,140px);padding:clamp(110px,12vw,190px) clamp(22px,7vw,110px);border-top:1px solid rgba(255,255,255,.13);background:radial-gradient(circle at 78% 65%,rgba(80,50,170,.13),transparent 34%),#070709}
.about-index{position:sticky;top:120px;align-self:start;padding-top:10px;color:#a895e5;font-size:10px}.about-story-copy{max-width:980px}
.about-story-copy p{font-size:clamp(28px,3.15vw,48px);font-weight:300;line-height:1.34;letter-spacing:-.043em}.about-story-copy p:first-child:before{content:"“";display:block;margin-left:-.06em;color:#9679e6;font-size:1.7em;line-height:.55}
.about-story-copy p+p{max-width:680px;margin:clamp(56px,7vw,100px) 0 0 auto;padding:26px 0 0 34px;border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.16);color:#aaa7b0;font-size:clamp(18px,1.8vw,27px);line-height:1.55}
.about-standard{display:grid;grid-template-columns:minmax(190px,.48fr) minmax(0,1.52fr);column-gap:clamp(50px,8vw,140px);padding:clamp(110px,13vw,205px) clamp(22px,7vw,110px);border-top:1px solid rgba(255,255,255,.12);background:radial-gradient(circle at 83% 18%,rgba(64,88,183,.2),transparent 31%),radial-gradient(circle at 16% 86%,rgba(115,72,202,.17),transparent 30%),#020204}
.about-standard>p{grid-column:1;align-self:start;margin:11px 0 0;color:#9994a6;font-size:9px;line-height:1.65}.about-standard h2{grid-column:2;max-width:1040px;font-size:clamp(48px,6.7vw,98px);line-height:.98}
.about-standard h2 em{background:linear-gradient(100deg,#fff,#c9b9ff 58%,#967ee5);background-clip:text;color:transparent}.about-actions{grid-column:2;margin-top:clamp(46px,6vw,78px)}
.about-actions .cta.primary{border:1px solid #fff;border-radius:999px;background:#fff;color:#08080a;transition:transform .25s ease,box-shadow .25s ease}.about-actions .cta.primary:hover{box-shadow:0 15px 38px rgba(126,96,220,.3)}.about-back{color:#c3bfca}
@media(max-width:900px){.about-main{padding-top:68px}.about-hero{min-height:auto;grid-template-columns:minmax(0,1fr) minmax(250px,.58fr);gap:32px;padding:88px 28px 0}.about-intro{padding-bottom:58px}.about-intro h1{font-size:clamp(52px,9.2vw,82px)}.about-facts{grid-template-columns:1fr;max-width:310px}.about-facts>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0}.about-facts>div+div{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.12)}.about-facts small{margin:0}.about-portrait{display:block}.about-portrait img{height:620px}.about-story,.about-standard{grid-template-columns:1fr;gap:38px}.about-index{position:static}.about-standard>p,.about-standard h2,.about-actions{grid-column:1}.about-standard>p{margin:0}}
@media(max-width:600px){.about-hero{display:flex;flex-direction:column;padding:88px 20px 0;gap:0}.about-intro{width:100%;padding-bottom:52px}.about-intro>.eyebrow{margin-bottom:30px}.about-intro h1{font-size:clamp(47px,14.2vw,65px);line-height:.93}.about-lead{margin-top:28px;font-size:15px}.about-facts{max-width:none;margin-top:36px}.about-portrait{width:calc(100% + 40px);margin-left:-20px}.about-portrait img{height:auto;max-height:none;border-radius:0;object-position:center 24%}.about-portrait figcaption{padding:13px 20px 18px}.about-story{padding:100px 20px;gap:32px}.about-story-copy p{font-size:clamp(27px,8.1vw,38px)}.about-story-copy p+p{margin-top:55px;padding:22px 0 0 20px;font-size:19px}.about-standard{padding:105px 20px;gap:30px}.about-standard h2{font-size:clamp(43px,12.5vw,59px);line-height:1.01}.about-actions{gap:25px;margin-top:42px}}

/* Secure invoice payment entry in the mobile/desktop menu. */
.menu-payment{position:relative;align-self:flex-start;appearance:none;margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;line-height:inherit;letter-spacing:inherit;cursor:pointer;text-align:left}
.menu-payment:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:#fff;transition:width .25s ease}
.menu-payment:hover:after{width:100%}
.payment-dialog{width:min(560px,calc(100% - 32px));max-width:none;border:1px solid rgba(255,255,255,.18);border-radius:26px;padding:0;background:radial-gradient(circle at 90% 5%,rgba(112,76,207,.22),transparent 38%),rgba(6,6,9,.97);color:#fff;box-shadow:0 28px 100px rgba(0,0,0,.68);backdrop-filter:blur(26px)}
.payment-dialog::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(10px)}
#payment-form{padding:clamp(26px,5vw,48px)}
#payment-form header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}
#payment-form h2{margin:8px 0 0;font-size:clamp(31px,5vw,52px);line-height:1;letter-spacing:-.055em}
.payment-close{flex:0 0 40px;width:40px;height:40px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.04);color:#fff;font-size:26px;line-height:1;cursor:pointer}
.payment-intro{max-width:460px;margin:0 0 28px;color:#aaa6b1;font-size:14px;line-height:1.65}
.payment-entry>label,.payment-order-entry{display:flex;flex-direction:column;gap:8px;margin-top:15px;color:#beb9c6;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.payment-label{position:relative;display:flex;align-items:center;gap:7px;width:max-content}
.order-help{display:grid;place-items:center;width:17px;height:17px;padding:0;border:1px solid rgba(255,255,255,.38);border-radius:50%;background:rgba(255,255,255,.04);color:#d8d2e1;font-size:10px;line-height:1;cursor:help}
.order-help-tip{position:absolute;z-index:3;left:calc(100% + 10px);bottom:50%;width:min(280px,calc(100vw - 72px));padding:11px 13px;border:1px solid rgba(190,166,255,.3);border-radius:11px;background:#15131b;color:#ddd7e5;font-size:10px;line-height:1.55;letter-spacing:0;text-transform:none;box-shadow:0 12px 34px rgba(0,0,0,.4);opacity:0;visibility:hidden;translate:0 4px;transition:opacity .18s,translate .18s,visibility .18s;pointer-events:none}
.payment-label:hover .order-help-tip,.payment-label:focus-within .order-help-tip,.order-help[aria-expanded="true"]+.order-help-tip{opacity:1;visibility:visible;translate:0 0}
#payment-form input{width:100%;border:1px solid rgba(255,255,255,.17);border-radius:14px;background:rgba(255,255,255,.045);color:#fff;padding:16px 17px;font:500 16px Manrope,sans-serif;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
#payment-form input:focus{border-color:#ad8df3;background:rgba(255,255,255,.065);box-shadow:0 0 0 4px rgba(139,99,212,.14)}
.payment-order-field{display:flex;align-items:center;width:100%;min-width:0;border:1px solid rgba(255,255,255,.17);border-radius:14px;background:rgba(255,255,255,.045);transition:border-color .2s,box-shadow .2s,background .2s;cursor:text}
.payment-order-prefix{flex:0 0 auto;padding-left:17px;color:#d6c9ee;font:600 16px Manrope,sans-serif;letter-spacing:.04em}
#payment-form .payment-order-field input{flex:1;min-width:0;width:0;border:0;border-radius:0 14px 14px 0;background:transparent;padding-left:7px;letter-spacing:.12em;font-variant-numeric:tabular-nums}
#payment-form .payment-order-field input:focus{background:transparent;box-shadow:none}
.payment-order-field:focus-within{border-color:#ad8df3;background:rgba(255,255,255,.065);box-shadow:0 0 0 4px rgba(139,99,212,.14)}
@media(prefers-reduced-motion:reduce){.payment-order-field{transition:none}}
.payment-security{margin:20px 0 0;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.11);color:#85818b;font-size:11px;line-height:1.55}
.payment-error{margin:15px 0 0;padding:12px 14px;border:1px solid rgba(255,128,128,.32);border-radius:12px;background:rgba(150,40,50,.12);color:#ffc0c0;font-size:12px;line-height:1.5}
.payment-submit{width:100%;margin-top:24px;border:0;border-radius:999px;background:linear-gradient(105deg,#fff,#dfd3ff);color:#08080a;padding:16px 22px;font-weight:650;letter-spacing:.02em;cursor:pointer;transition:transform .2s,box-shadow .2s}
.payment-submit:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(128,91,220,.28)}
.payment-submit:disabled{opacity:.58;cursor:wait;transform:none}
@media(max-width:900px){.site-nav>nav .menu-payment{display:block;width:100%;margin:0;padding:0;border:0;border-radius:0;background:none;text-align:left;color:inherit;font-size:inherit;font-weight:inherit;line-height:1.6;letter-spacing:inherit}}
.payment-success{text-align:left}.payment-success h3{margin:12px 0 18px;font-size:clamp(38px,7vw,58px);line-height:1;letter-spacing:-.055em}.payment-success>p:not(.eyebrow){margin:0;color:#aaa6b1;line-height:1.65}.payment-success dl{margin:30px 0 0;border-block:1px solid rgba(255,255,255,.13)}.payment-success dl>div{display:grid;grid-template-columns:1fr 2fr;gap:20px;padding:14px 0}.payment-success dl>div+div{border-top:1px solid rgba(255,255,255,.1)}.payment-success dt{color:#777;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.payment-success dd{margin:0;text-align:right;overflow-wrap:anywhere}.payment-done{width:100%;margin-top:26px;padding:15px 20px;border:0;border-radius:999px;background:linear-gradient(105deg,#fff,#dfd3ff);color:#08080a;font-weight:650;cursor:pointer}
@media(max-width:600px){.payment-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);margin:auto;border-radius:22px}#payment-form{padding:24px 18px 20px;overflow:auto}#payment-form header{gap:14px;margin-bottom:22px}#payment-form h2{max-width:260px;font-size:clamp(30px,10vw,42px)}.payment-intro{margin-bottom:22px;font-size:13px}.payment-entry>label{margin-top:18px}.payment-security{margin-top:22px}.payment-submit{min-height:52px;margin-top:22px}.order-help-tip{position:fixed;left:20px;right:20px;bottom:auto;top:120px;width:auto}.payment-success dl>div{grid-template-columns:1fr;gap:4px}.payment-success dd{text-align:left}}
@media(prefers-reduced-motion:reduce){.menu-payment:after,.payment-submit,#payment-form input{transition:none}}
/* Photography is an add-on to a video estimate, not a standalone estimator service. */
.estimate-options .estimate-photo-addon{grid-column:1/-1;border-color:rgba(181,157,255,.42);background:radial-gradient(circle at 92% 5%,rgba(129,91,225,.16),transparent 45%),rgba(255,255,255,.025)}
.estimate-photo-note{margin:18px 0 0;padding:15px 16px;border:1px solid rgba(181,157,255,.36);border-radius:14px;background:linear-gradient(135deg,rgba(137,103,224,.14),rgba(76,98,188,.07));box-shadow:inset 0 1px 0 rgba(255,255,255,.05);color:#bdb6ce;font-size:11px;line-height:1.55}
.estimate-photo-note b,.estimate-photo-note span{display:block}
.estimate-photo-note b{margin-bottom:5px;color:#fff;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.estimate-photo-note[hidden]{display:none}
.estimate-step>.estimate-service-note{position:relative;max-width:none;margin:34px 0 0;padding:18px 20px 16px;border:1px solid rgba(181,157,255,.25);border-radius:14px;background:linear-gradient(105deg,rgba(137,103,224,.11),rgba(255,255,255,.018));color:#9897a1;font-size:12px;line-height:1.55;letter-spacing:normal}
.estimate-service-note b,.estimate-service-note span{display:block}
.estimate-service-note b{margin-bottom:4px;color:#e7e2f4;font-size:10px;letter-spacing:.1em}
/* Keep both lazy-loaded comparison layers registered before and after metadata loads. */
.grade-stage video{height:100%;aspect-ratio:16/9}
@media(max-width:800px){.estimate-summary .estimate-photo-note{grid-column:1/-1;margin:9px 0 0;padding:10px 12px;border-radius:11px}.estimate-summary .estimate-photo-note b{font-size:9px;margin-bottom:2px}.estimate-summary .estimate-photo-note span{font-size:10px;line-height:1.4}.estimate-step>.estimate-service-note{margin:28px 0 0;padding:14px 16px}}
