:root{
  --bg:#07090a;--bg2:#0c1012;--panel:#101417;--ink:#f4f6f5;--muted:#9aa3a7;--line:rgba(255,255,255,.12);
  --brand-green:#167636;--brand-green-bright:#1f9145;--brand-green-soft:#64c680;--brand-green-glow:rgba(22,118,54,.38);--brand-green-wash:rgba(22,118,54,.12);
  --home:var(--brand-green);--services:var(--brand-green);--catalog:var(--brand-green);--culture:var(--brand-green);--business:var(--brand-green);--about:var(--brand-green);--contact:var(--brand-green);
  --accent:var(--home);--max:1380px;--gutter:clamp(20px,4vw,64px);--header:74px;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --ease:cubic-bezier(.2,.72,.2,1)
}
*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.menu-open,body.gate-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{width:min(calc(100% - var(--gutter)*2),var(--max));margin-inline:auto}.skip-link{position:fixed;left:16px;top:-60px;z-index:999;background:#fff;color:#000;padding:10px 14px}.skip-link:focus{top:16px}.scroll-line{position:fixed;inset:0 auto auto 0;height:2px;width:0;background:var(--accent);z-index:999}.page-wipe{position:fixed;inset:0;z-index:180;background:var(--bg);transform:scaleY(0);transform-origin:bottom;pointer-events:none}.page-wipe.on{animation:wipe .64s var(--ease)}@keyframes wipe{0%{transform:scaleY(0)}45%{transform:scaleY(1);transform-origin:bottom}55%{transform:scaleY(1);transform-origin:top}100%{transform:scaleY(0);transform-origin:top}}
.theme-home{--accent:var(--home)}.theme-services{--accent:var(--services)}.theme-catalog{--accent:var(--catalog)}.theme-culture{--accent:var(--culture)}.theme-business{--accent:var(--business)}.theme-about{--accent:var(--about)}.theme-contact{--accent:var(--contact)}
.site-header{position:fixed;inset:0 0 auto;z-index:90;height:var(--header);display:flex;align-items:center;background:rgba(7,9,10,.74);backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:.3s}.site-header.scrolled{background:rgba(7,9,10,.94);border-color:var(--line)}.nav-wrap{display:grid;grid-template-columns:auto 1fr auto;gap:38px;align-items:center}.brand-logo{width:176px;height:auto}.nav-links{display:flex;justify-content:center;gap:26px}.nav-links a,.nav-cta{font-size:11px;letter-spacing:.11em;text-transform:uppercase}.nav-links a{color:#b9c0c3;padding:27px 0;position:relative}.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:19px;height:1px;background:var(--accent);transition:.25s}.nav-links a:hover,.nav-links a.active{color:#fff}.nav-links a:hover:after,.nav-links a.active:after{right:0}.nav-cta{border:1px solid var(--line);padding:10px 14px}.nav-cta:hover{border-color:#fff;background:#fff;color:#000}.menu-btn{display:none;background:none;border:0;color:#fff;font-size:25px}.mobile-panel{display:none}
.kicker{margin:0 0 14px;color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.hero h1,.page-hero h1,.archive-intro h1{font-size:clamp(52px,6.8vw,98px);line-height:.94;letter-spacing:-.055em;font-weight:600;margin:0}.section h2,.biz-panel h2{font-size:clamp(36px,4.6vw,66px);line-height:1;letter-spacing:-.045em;font-weight:600;margin:0 0 22px}.section h3{font-size:18px;line-height:1.2;margin:0 0 8px}.hero-lead,.page-hero p,.section-copy>p,.concise>p,.catalog-copy>p,.feature-story p,.culture-manifesto p,.biz-panel p,.form-intro{font-size:clamp(17px,1.45vw,21px);line-height:1.62;color:#b9c0c3}.text-link{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:4px}.text-link:after{content:"↗"}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:0 18px;border:1px solid var(--line);font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;transition:.25s}.btn.primary{background:#fff;color:#050607;border-color:#fff}.btn.primary:hover{background:var(--accent);border-color:var(--accent)}.btn.secondary:hover{border-color:#fff;background:#fff;color:#000}
.media-frame{overflow:hidden;background:#0b0e10;position:relative}.media-frame:before{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.12);z-index:2;pointer-events:none}.media-frame img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.media-frame:hover img{transform:scale(1.012)}.hero-image{min-height:calc(100svh - var(--header))}.hero-image img{height:100%}.section{padding:clamp(84px,9vw,138px) 0;border-top:1px solid var(--line)}.section-muted{background:var(--bg2)}.section-dark{background:#050708}.section-business{background:#0b1114}.two-col{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(44px,7vw,110px);align-items:center}.two-col.reverse{grid-template-columns:.9fr 1.1fr}.two-col.reverse .section-copy{order:1}.two-col.reverse .media-frame{order:2}.section-copy{max-width:640px}.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:50px;align-items:end;margin-bottom:50px}.section-head>p{color:var(--muted);margin:0}.concise{max-width:820px;margin-inline:auto;text-align:left}.concise .btn{margin-top:22px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.in{opacity:1;transform:none}
.hero{padding-top:var(--header);min-height:100svh;display:grid;grid-template-columns:46% 54%;align-items:stretch}.hero-copy{padding:clamp(70px,8vw,130px) var(--gutter);display:flex;flex-direction:column;justify-content:center}.hero-copy h1{max-width:700px}.hero-lead{max-width:650px;margin:28px 0 0}.path-list{border-top:1px solid var(--line)}.path-list a{display:grid;grid-template-columns:180px 1fr auto;gap:30px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);transition:.25s}.path-list a:hover{padding-left:8px}.path-list strong{font-size:clamp(25px,2.5vw,38px);letter-spacing:-.03em}.path-list span{color:var(--muted)}.path-list b{font-size:11px;letter-spacing:.1em;text-transform:uppercase}.catalog-tease{display:grid;grid-template-columns:.6fr 1.4fr;gap:55px;align-items:start}.triptych{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.triptych .media-frame:first-child{grid-row:span 2;min-height:620px}.triptych .media-frame:not(:first-child){min-height:300px}.culture-tease{background:#eef2f2;color:#0b0e10}.culture-tease .section-copy>p{color:#4d565a}.culture-tease .kicker{color:var(--accent)}.concierge{background:#0d1113}.contact-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:34px}.contact-strip>a,.contact-strip>div{background:#0b0e10;padding:18px}.contact-strip small{display:block;color:#7c8589;text-transform:uppercase;letter-spacing:.12em;font-size:9px}.contact-strip strong{display:block;margin-top:6px;font-size:15px;font-weight:500;word-break:break-word}
.gate{position:fixed;inset:0;z-index:200;background:#050708;display:grid;grid-template-columns:58% 42%;transition:.55s var(--ease)}.gate.off{opacity:0;visibility:hidden;pointer-events:none}.gate-image{overflow:hidden}.gate-image img{width:100%;height:100%;object-fit:cover}.gate-panel{padding:clamp(28px,4vw,62px);display:flex;flex-direction:column;justify-content:space-between;min-width:0}.gate-logo{width:min(290px,72%)}.gate-panel h2{font-size:clamp(38px,4vw,62px);line-height:1;letter-spacing:-.04em;margin:0 0 26px}.gate-actions{border-top:1px solid var(--line)}.gate-actions button{display:flex;width:100%;justify-content:space-between;padding:17px 0;background:none;color:#fff;border:0;border-bottom:1px solid var(--line);font-size:17px;text-align:left}.gate-actions button:after{content:"→";color:var(--accent)}.gate-enter{align-self:flex-start;background:none;color:#fff;border:0;border-bottom:1px solid var(--accent);padding:0 0 4px;text-transform:uppercase;letter-spacing:.13em;font-size:10px}
.page-hero{padding:calc(var(--header) + clamp(54px,7vw,100px)) 0 clamp(70px,8vw,110px)}.page-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(48px,7vw,100px);align-items:center}.page-hero p{max-width:700px;margin-top:26px}.page-hero .media-frame{aspect-ratio:16/10}.services-hero{background:#08100f}.service-index{position:sticky;top:var(--header);z-index:35;background:rgba(7,9,10,.94);backdrop-filter:blur(16px);border-block:1px solid var(--line)}.service-index .shell{display:flex;gap:26px;overflow:auto;scrollbar-width:none}.service-index a{flex:0 0 auto;padding:15px 0;font-size:10px;color:#9da6aa;text-transform:uppercase;letter-spacing:.1em}.service-index a:hover{color:#fff}.service-chapter{padding:clamp(90px,10vw,150px) 0;border-bottom:1px solid var(--line)}.service-chapter:nth-child(even){background:var(--bg2)}.service-layout{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(50px,8vw,120px);align-items:start}.service-chapter:nth-of-type(even) .media-frame{order:2}.service-layout>.media-frame{aspect-ratio:4/5;position:sticky;top:120px}.service-copy h2{font-size:clamp(38px,4.5vw,66px);line-height:1;letter-spacing:-.04em;margin:0 0 32px}.service-points{display:grid;grid-template-columns:1fr 1fr;gap:28px 34px;margin:34px 0}.service-points h3{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#fff}.service-points p{margin:0;color:#9da6aa;font-size:15px;line-height:1.62}.service-copy>.btn{margin-top:10px}
.catalog-hero{background:#090b10}.feature-story{max-width:760px}.catalog-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.catalog-item{min-height:360px}.catalog-item:nth-child(6n+1){grid-column:span 7}.catalog-item:nth-child(6n+2){grid-column:span 5}.catalog-item:nth-child(6n+3){grid-column:span 4}.catalog-item:nth-child(6n+4){grid-column:span 8}.catalog-item:nth-child(6n+5){grid-column:span 5}.catalog-item:nth-child(6n+6){grid-column:span 7}.catalog-item:nth-child(3n){min-height:470px}
.culture-hero{background:#0a0910}.culture-manifesto{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.culture-manifesto p{margin-top:0}.culture-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.culture-item{min-height:330px}.culture-item:nth-child(1){grid-column:span 7}.culture-item:nth-child(2){grid-column:span 5}.culture-item:nth-child(3){grid-column:span 4}.culture-item:nth-child(4){grid-column:span 8}.culture-item:nth-child(5){grid-column:span 5}.culture-item:nth-child(6){grid-column:span 7}.culture-item:nth-child(7){grid-column:span 12;min-height:520px}.archive-intro{padding:calc(var(--header) + 75px) 0 70px;background:#090810}.archive-intro p:last-child{max-width:700px;color:#b0b7ba;font-size:19px}.archive-grid{columns:4 250px;column-gap:16px}.archive-item{break-inside:avoid;margin:0 0 16px}.archive-item img{height:auto}.archive-item:before{inset:7px}
.business-hero{background:#0a1115}.business-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}.business-selector button{min-height:92px;background:#0b0e10;color:#b6bec2;border:0;padding:18px;text-align:left;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.business-selector button.on{background:#151d21;color:#fff;box-shadow:inset 0 2px var(--accent)}.biz-panel{display:none;padding:clamp(90px,9vw,130px) 0;border-bottom:1px solid var(--line)}.biz-panel.on{display:block}.business-inquiry{background:#0d1215}.form-shell{max-width:960px}.form-intro{max-width:760px}.form-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:30px 0}.business-inquiry .form-progress{grid-template-columns:repeat(3,1fr)}.form-progress span{height:2px;background:#30373a}.form-progress span.on{background:var(--accent)}.biz-form-step,.form-step{display:none}.biz-form-step.on,.form-step.on{display:block}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#9ca5a9}.field input,.field select,.field textarea{width:100%;min-height:54px;background:#080b0c;color:#fff;border:1px solid #30383b;border-radius:0;padding:13px 14px;outline:none}.field textarea{min-height:130px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.form-actions.end{justify-content:flex-end}.review-box{white-space:pre-wrap;background:#080b0c;border:1px solid var(--line);padding:22px;color:#bbc2c5}.success{display:none;border:1px solid var(--line);padding:38px;margin-top:30px}.success.on{display:block}.success h2{font-size:36px;margin-top:0}
.contact-hero{background:#091012}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.contact-collage{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}.contact-visual:first-child{grid-row:span 2;min-height:520px}.contact-visual:not(:first-child){min-height:250px}.contact-visual:last-child{grid-column:1/-1;min-height:260px}.contact-strip.compact{grid-template-columns:1fr 1fr;margin-top:30px}.route-head{margin-bottom:28px}.router{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:42px}.router button,.router-link{min-height:106px;background:#090c0d;border:1px solid #30373a;color:#fff;padding:18px;text-align:left}.router button.on{border-color:var(--accent);background:#0d1518}.router strong,.router-link strong{display:block;font-size:18px;font-weight:600}.router span,.router-link span{display:block;color:#8f989c;margin-top:6px;font-size:13px}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.choice{position:relative}.choice input{position:absolute;opacity:0}.choice label{display:flex;align-items:center;min-height:70px;padding:13px;border:1px solid #30373a;color:#b4bbbe;font-size:13px}.choice input:checked+label{border-color:var(--accent);background:#0d1518;color:#fff}.top-gap{margin-top:22px}
.about-hero{background:#09100f}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.principle-grid>div{background:var(--bg);padding:28px}.principle-grid strong{font-size:13px;text-transform:uppercase;letter-spacing:.1em}.principle-grid p{color:#8f989d;margin-bottom:0}.about-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:55px}.about-pair .media-frame{min-height:420px}
.site-footer{border-top:1px solid var(--line);padding:70px 0 28px;background:#050708}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:45px}.footer-grid h3{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#6f787d;margin:0 0 15px}.footer-grid a,.footer-grid span{display:block;color:#aab2b6;margin:8px 0;font-size:13px}.footer-brand img{width:180px}.footer-brand p{max-width:380px;color:#7f888d;font-size:14px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:50px;padding-top:22px;color:#596166;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.mobile-dock{display:none}
@media(max-width:1050px){:root{--gutter:24px;--header:68px}.nav-links,.nav-cta{display:none}.nav-wrap{grid-template-columns:1fr auto}.menu-btn{display:block}.mobile-panel{display:block;position:fixed;inset:var(--header) 0 0;z-index:89;background:#07090a;padding:30px 24px;transform:translateX(101%);transition:.35s var(--ease)}.menu-open .mobile-panel{transform:none}.mobile-panel a{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);font-size:22px}.mobile-panel a:after{content:"↗";color:var(--accent)}.hero,.page-hero-grid,.two-col,.two-col.reverse,.catalog-tease,.contact-grid,.culture-manifesto,.service-layout{grid-template-columns:1fr}.hero{min-height:auto}.hero-copy{order:2;padding:70px var(--gutter) 88px}.hero-image{height:58svh;min-height:0}.two-col.reverse .section-copy,.two-col.reverse .media-frame,.service-chapter:nth-of-type(even) .media-frame{order:initial}.triptych{grid-template-columns:1fr 1fr}.triptych .media-frame:first-child{grid-row:auto;grid-column:1/-1;min-height:480px}.contact-strip{grid-template-columns:1fr 1fr}.service-layout>.media-frame{position:static;aspect-ratio:16/10}.service-points{grid-template-columns:1fr 1fr}.catalog-grid,.culture-grid{grid-template-columns:1fr 1fr}.catalog-item:nth-child(n),.culture-item:nth-child(n){grid-column:auto;min-height:360px}.archive-grid{columns:3 220px}.business-selector{grid-template-columns:1fr 1fr}.contact-collage{order:-1}.footer-grid{grid-template-columns:1fr 1fr}.gate{grid-template-columns:1fr;grid-template-rows:46svh 54svh;overflow:auto}.gate-panel{padding:26px 24px}.gate-logo{width:210px}.gate-panel h2{font-size:42px}.mobile-dock{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:14px;right:14px;bottom:12px;z-index:76;background:rgba(7,9,10,.94);backdrop-filter:blur(16px);border:1px solid var(--line)}.mobile-dock a{min-height:48px;display:flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.1em;font-size:10px}.mobile-dock a+a{border-left:1px solid var(--line)}.site-footer{padding-bottom:88px}}
@media(max-width:640px){:root{--gutter:18px}.brand-logo{width:150px}.hero h1,.page-hero h1,.archive-intro h1{font-size:clamp(42px,13vw,58px);line-height:.98;overflow-wrap:anywhere}.section h2,.biz-panel h2{font-size:clamp(34px,10vw,46px);line-height:1.02;overflow-wrap:anywhere}.hero-copy{padding:54px var(--gutter) 68px}.hero-image{height:45svh}.section{padding:68px 0}.page-hero{padding:calc(var(--header) + 38px) 0 58px}.page-hero-grid{gap:34px}.page-hero .media-frame{aspect-ratio:4/3}.section-head{grid-template-columns:1fr;gap:18px;margin-bottom:34px}.path-list a{grid-template-columns:1fr auto;gap:10px;padding:22px 0}.path-list a span{grid-column:1/-1}.path-list strong{font-size:29px}.triptych{grid-template-columns:1fr}.triptych .media-frame:first-child,.triptych .media-frame:not(:first-child){grid-column:auto;min-height:280px}.contact-strip,.contact-strip.compact{grid-template-columns:1fr}.actions{display:grid;grid-template-columns:1fr}.btn{width:100%}.service-index .shell{gap:20px}.service-chapter{padding:68px 0}.service-layout{gap:30px}.service-layout>.media-frame{aspect-ratio:4/3}.service-copy h2{font-size:38px}.service-points{grid-template-columns:1fr;gap:22px}.catalog-grid,.culture-grid{grid-template-columns:1fr;gap:18px}.catalog-item:nth-child(n),.culture-item:nth-child(n){min-height:300px}.culture-manifesto{gap:26px}.archive-intro{padding:calc(var(--header) + 42px) 0 46px}.archive-grid{columns:1}.archive-item{margin-bottom:18px}.business-selector{grid-template-columns:1fr}.form-grid,.choice-grid,.router{grid-template-columns:1fr}.form-actions{display:grid;grid-template-columns:1fr 1fr}.form-actions.end{grid-template-columns:1fr}.contact-collage{grid-template-columns:1fr 1fr}.contact-visual:first-child{grid-row:auto;grid-column:1/-1;min-height:320px}.contact-visual:not(:first-child){min-height:180px}.contact-visual:last-child{grid-column:1/-1;min-height:220px}.principle-grid,.about-pair{grid-template-columns:1fr}.about-pair .media-frame{min-height:280px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.gate{grid-template-rows:38svh auto}.gate-panel{min-height:62svh}.gate-panel h2{font-size:36px}.gate-actions button{font-size:16px}.media-frame:before{inset:7px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.page-wipe{display:none}.media-frame img,.site-header,.mobile-panel{transition:none!important}}

/* Send method selector */
.send-choice{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.send-choice-title{margin:0 0 6px;font-weight:650;color:#fff}
.send-choice-note{margin:0 0 18px;color:var(--muted);max-width:720px}
.send-choice-grid{display:grid;grid-template-columns:1.15fr 1.15fr .8fr;gap:10px}
.btn.ghost{background:transparent;border:1px solid var(--line);color:#fff}
@media(max-width:720px){.send-choice-grid{grid-template-columns:1fr}.send-choice-grid .btn{width:100%;justify-content:center}.send-choice-note{font-size:14px;line-height:1.6}}

/* V3.2 audit corrections */
.catalog-grid{align-items:start}.catalog-item{cursor:zoom-in}.catalog-item:nth-child(8n+1){grid-column:span 8;min-height:520px}.catalog-item:nth-child(8n+2){grid-column:span 4;min-height:340px}.catalog-item:nth-child(8n+3){grid-column:span 5;min-height:420px}.catalog-item:nth-child(8n+4){grid-column:span 7;min-height:500px}.catalog-item:nth-child(8n+5){grid-column:span 4;min-height:350px}.catalog-item:nth-child(8n+6){grid-column:span 4;min-height:350px}.catalog-item:nth-child(8n+7){grid-column:span 4;min-height:350px}.catalog-item:nth-child(8n+8){grid-column:span 12;min-height:560px}
.culture-moments{background:#0b0d10}.moment-ledger{margin-top:52px;border-top:1px solid var(--line)}.moment-ledger article{display:grid;grid-template-columns:160px .7fr 1.3fr;gap:34px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start}.moment-ledger span{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--accent)}.moment-ledger h3{font-size:clamp(22px,2.3vw,34px);margin:0}.moment-ledger p{margin:0;color:#a5aeb2;max-width:760px}.culture-motion{padding:0;background:#060708}.motion-frame{max-width:1000px;margin:auto;overflow:hidden}.motion-frame video{display:block;width:100%;max-height:78svh;object-fit:cover;background:#050607}
.hc-lightbox{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:28px}.hc-lightbox.on{display:flex}.hc-lightbox img{max-width:min(94vw,1600px);max-height:90vh;object-fit:contain}.hc-lightbox-close{position:fixed;right:20px;top:20px;width:46px;height:46px;border:1px solid rgba(255,255,255,.25);background:#050607;color:#fff;font-size:28px;line-height:1}.lightbox-open{overflow:hidden}.archive-item img{cursor:zoom-in}
@media(max-width:1050px){.catalog-item:nth-child(n){grid-column:auto;min-height:360px}.moment-ledger article{grid-template-columns:120px 1fr;gap:16px}.moment-ledger article p{grid-column:2}.motion-frame{width:100%}}
@media(max-width:640px){.catalog-grid{grid-template-columns:1fr}.catalog-item:nth-child(n){grid-column:auto;min-height:0;aspect-ratio:auto}.catalog-item img{height:auto;object-fit:contain}.moment-ledger{margin-top:34px}.moment-ledger article{grid-template-columns:1fr;gap:7px;padding:24px 0}.moment-ledger article p{grid-column:auto}.culture-motion{padding:0}.motion-frame video{max-height:64svh}.hc-lightbox{padding:12px}.hc-lightbox-close{right:12px;top:12px}}


/* V3.3 immersive homepage hero: canonical rules retained below. */
@media(max-width:1050px){:root{--gutter:24px;--header:68px}.nav-links,.nav-cta{display:none}.nav-wrap{grid-template-columns:1fr auto}.menu-btn{display:block}.mobile-panel{display:block;position:fixed;inset:var(--header) 0 0;z-index:89;background:#07090a;padding:30px 24px;transform:translateX(101%);transition:.35s var(--ease)}.menu-open .mobile-panel{transform:none}.mobile-panel a{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);font-size:22px}.mobile-panel a:after{content:"↗";color:var(--accent)}.hero,.page-hero-grid,.two-col,.two-col.reverse,.catalog-tease,.contact-grid,.culture-manifesto,.service-layout{grid-template-columns:1fr}.hero{min-height:auto}.hero-copy{order:2;padding:70px var(--gutter) 88px}.hero-image{height:58svh;min-height:0}.two-col.reverse .section-copy,.two-col.reverse .media-frame,.service-chapter:nth-of-type(even) .media-frame{order:initial}.triptych{grid-template-columns:1fr 1fr}.triptych .media-frame:first-child{grid-row:auto;grid-column:1/-1;min-height:480px}.contact-strip{grid-template-columns:1fr 1fr}.service-layout>.media-frame{position:static;aspect-ratio:16/10}.service-points{grid-template-columns:1fr 1fr}.catalog-grid,.culture-grid{grid-template-columns:1fr 1fr}.catalog-item:nth-child(n),.culture-item:nth-child(n){grid-column:auto;min-height:360px}.archive-grid{columns:3 220px}.business-selector{grid-template-columns:1fr 1fr}.contact-collage{order:-1}.footer-grid{grid-template-columns:1fr 1fr}.gate{grid-template-columns:1fr;grid-template-rows:46svh 54svh;overflow:auto}.gate-panel{padding:26px 24px}.gate-logo{width:210px}.gate-panel h2{font-size:42px}.mobile-dock{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:14px;right:14px;bottom:12px;z-index:76;background:rgba(7,9,10,.94);backdrop-filter:blur(16px);border:1px solid var(--line)}.mobile-dock a{min-height:48px;display:flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.1em;font-size:10px}.mobile-dock a+a{border-left:1px solid var(--line)}.site-footer{padding-bottom:88px}}
@media(max-width:640px){:root{--gutter:18px}.brand-logo{width:150px}.hero h1,.page-hero h1,.archive-intro h1{font-size:clamp(42px,13vw,58px);line-height:.98;overflow-wrap:anywhere}.section h2,.biz-panel h2{font-size:clamp(34px,10vw,46px);line-height:1.02;overflow-wrap:anywhere}.hero-copy{padding:54px var(--gutter) 68px}.hero-image{height:45svh}.section{padding:68px 0}.page-hero{padding:calc(var(--header) + 38px) 0 58px}.page-hero-grid{gap:34px}.page-hero .media-frame{aspect-ratio:4/3}.section-head{grid-template-columns:1fr;gap:18px;margin-bottom:34px}.path-list a{grid-template-columns:1fr auto;gap:10px;padding:22px 0}.path-list a span{grid-column:1/-1}.path-list strong{font-size:29px}.triptych{grid-template-columns:1fr}.triptych .media-frame:first-child,.triptych .media-frame:not(:first-child){grid-column:auto;min-height:280px}.contact-strip,.contact-strip.compact{grid-template-columns:1fr}.actions{display:grid;grid-template-columns:1fr}.btn{width:100%}.service-index .shell{gap:20px}.service-chapter{padding:68px 0}.service-layout{gap:30px}.service-layout>.media-frame{aspect-ratio:4/3}.service-copy h2{font-size:38px}.service-points{grid-template-columns:1fr;gap:22px}.catalog-grid,.culture-grid{grid-template-columns:1fr;gap:18px}.catalog-item:nth-child(n),.culture-item:nth-child(n){min-height:300px}.culture-manifesto{gap:26px}.archive-intro{padding:calc(var(--header) + 42px) 0 46px}.archive-grid{columns:1}.archive-item{margin-bottom:18px}.business-selector{grid-template-columns:1fr}.form-grid,.choice-grid,.router{grid-template-columns:1fr}.form-actions{display:grid;grid-template-columns:1fr 1fr}.form-actions.end{grid-template-columns:1fr}.contact-collage{grid-template-columns:1fr 1fr}.contact-visual:first-child{grid-row:auto;grid-column:1/-1;min-height:320px}.contact-visual:not(:first-child){min-height:180px}.contact-visual:last-child{grid-column:1/-1;min-height:220px}.principle-grid,.about-pair{grid-template-columns:1fr}.about-pair .media-frame{min-height:280px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.gate{grid-template-rows:38svh auto}.gate-panel{min-height:62svh}.gate-panel h2{font-size:36px}.gate-actions button{font-size:16px}.media-frame:before{inset:7px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.page-wipe{display:none}.media-frame img,.site-header,.mobile-panel{transition:none!important}}

/* Send method selector */
.send-choice{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.send-choice-title{margin:0 0 6px;font-weight:650;color:#fff}
.send-choice-note{margin:0 0 18px;color:var(--muted);max-width:720px}
.send-choice-grid{display:grid;grid-template-columns:1.15fr 1.15fr .8fr;gap:10px}
.btn.ghost{background:transparent;border:1px solid var(--line);color:#fff}
@media(max-width:720px){.send-choice-grid{grid-template-columns:1fr}.send-choice-grid .btn{width:100%;justify-content:center}.send-choice-note{font-size:14px;line-height:1.6}}



/* V3.3 immersive homepage hero -------------------------------------------------
   Full-viewport photographic entry + homepage hero while preserving V3.2
   routing, service architecture, catalog, forms and Cloudflare readiness. */
body.theme-home .site-header{background:linear-gradient(180deg,rgba(3,6,8,.66),rgba(3,6,8,.08) 78%,transparent);backdrop-filter:none;border-color:transparent}
body.theme-home .site-header.scrolled{background:rgba(7,9,10,.94);backdrop-filter:blur(18px);border-color:var(--line)}

.immersive-hero{position:relative;display:block;min-height:100svh;height:100svh;padding:0;overflow:hidden;isolation:isolate;background:#030608}
.immersive-hero-media,.immersive-hero-scrim{position:absolute;inset:0}
.immersive-hero-media{z-index:-3;overflow:hidden;background:#0a0d0f}
.immersive-hero-media img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 66%;transform:translate3d(0,var(--hc-hero-shift,0px),0) scale(1.045);will-change:transform;transition:transform .12s linear}
.immersive-hero-scrim{z-index:-2;background:linear-gradient(90deg,rgba(2,5,7,.78) 0%,rgba(2,5,7,.58) 35%,rgba(2,5,7,.12) 68%,rgba(2,5,7,.08) 100%),linear-gradient(0deg,rgba(3,6,8,.78) 0%,rgba(3,6,8,.10) 43%,rgba(3,6,8,.30) 100%)}
.immersive-hero:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)}
.immersive-hero .hero-copy{position:absolute;left:max(var(--gutter),calc((100vw - var(--max))/2));bottom:clamp(72px,9.5vh,118px);z-index:2;width:min(760px,calc(100vw - var(--gutter)*2));padding:0;display:block;text-wrap:balance}
.immersive-hero .hero-copy h1{max-width:760px;font-size:clamp(58px,7.15vw,112px);line-height:.88;letter-spacing:-.062em;text-shadow:0 3px 24px rgba(0,0,0,.28)}
.immersive-hero .hero-lead{max-width:650px;margin:24px 0 0;color:rgba(244,246,245,.83);font-size:clamp(16px,1.25vw,19px);line-height:1.58;text-shadow:0 2px 16px rgba(0,0,0,.36)}
.immersive-hero .kicker{color:color-mix(in srgb,var(--accent) 35%,#fff 65%);text-shadow:0 1px 12px rgba(0,0,0,.45)}
.immersive-hero .actions{margin-top:28px}
.immersive-hero .btn{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.immersive-hero .btn.primary{background:#f7f9f8;color:#060809;border-color:#f7f9f8}
.immersive-hero .btn.secondary{background:rgba(6,10,12,.34);border-color:rgba(255,255,255,.38);color:#fff}
.immersive-hero .btn.secondary:hover{background:#fff;color:#050607;border-color:#fff}
.hero-corner-meta{position:absolute;right:max(var(--gutter),calc((100vw - var(--max))/2));top:calc(var(--header) + 32px);z-index:2;display:flex;gap:18px;align-items:center;color:rgba(255,255,255,.72);font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.hero-corner-meta span+span{padding-left:18px;border-left:1px solid rgba(255,255,255,.28)}
.hero-scroll{position:absolute;right:max(var(--gutter),calc((100vw - var(--max))/2));bottom:clamp(30px,5vh,56px);z-index:2;display:flex;gap:13px;align-items:center;color:rgba(255,255,255,.68);font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.hero-scroll i{display:block;width:48px;height:1px;background:rgba(255,255,255,.5);position:relative;overflow:hidden}
.hero-scroll i:after{content:"";position:absolute;inset:0;background:#fff;transform:translateX(-100%);animation:hcScrollPulse 2.2s var(--ease) infinite}
@keyframes hcScrollPulse{0%{transform:translateX(-100%)}48%,62%{transform:translateX(0)}100%{transform:translateX(105%)}}

/* The route gate is immersive too, so first-time visitors never land on a split layout. */

.immersive-gate{display:block;overflow:hidden;background:#030506}
.immersive-gate .gate-image{position:absolute;inset:0;z-index:0}
.immersive-gate .gate-image img{width:100%;height:100%;object-fit:cover;object-position:center 54%;transform:scale(1.03);animation:hcGateDrift 16s var(--ease) both}
.immersive-gate .gate-scrim{position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 50% 60%,rgba(22,118,54,.08),transparent 42%),linear-gradient(90deg,rgba(2,5,7,.28),rgba(2,5,7,.08) 52%,rgba(2,5,7,.42)),linear-gradient(0deg,rgba(2,5,7,.92) 0%,rgba(2,5,7,.16) 56%,rgba(2,5,7,.54) 100%)}
.immersive-gate:after{content:"";position:absolute;inset:24px;z-index:1;pointer-events:none;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 1px rgba(22,118,54,.14),inset 0 0 60px rgba(0,0,0,.28)}
.immersive-gate .gate-panel{position:absolute;inset:0;z-index:2;padding:clamp(28px,4.2vw,72px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,560px);grid-template-rows:auto 1fr auto;gap:28px;align-items:start}
.immersive-gate .gate-topline{grid-column:1/-1;display:flex;align-items:flex-start;justify-content:space-between;gap:28px}
.immersive-gate .gate-topline>span{padding-top:4px;color:rgba(255,255,255,.75);font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.immersive-gate .gate-logo{width:min(310px,44vw)}
.immersive-gate .gate-content{grid-column:2;grid-row:2;align-self:end;width:100%;padding:30px 30px 26px;background:linear-gradient(180deg,rgba(5,10,7,.66),rgba(3,7,5,.52));border:1px solid rgba(255,255,255,.16);box-shadow:0 24px 80px rgba(0,0,0,.38),0 0 0 1px rgba(22,118,54,.12) inset;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.immersive-gate .gate-kicker-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.immersive-gate .gate-kicker-row .kicker{margin:0}
.immersive-gate .gate-status{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.8);font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.immersive-gate .gate-status:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px rgba(22,118,54,.12),0 0 18px rgba(22,118,54,.8)}
.immersive-gate .gate-content h2{max-width:470px;font-size:clamp(42px,4.2vw,68px);line-height:.94;margin-bottom:14px;text-shadow:0 3px 20px rgba(0,0,0,.3)}
.immersive-gate .gate-copy{margin:0 0 24px;color:rgba(244,246,245,.78);font-size:15px;line-height:1.58;max-width:42ch}
.immersive-gate .gate-actions{display:grid;grid-template-columns:1fr;gap:10px;border:0}
.immersive-gate .gate-actions button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:16px 18px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);color:#fff;font-size:15px;text-align:left;transition:.22s var(--ease)}
.immersive-gate .gate-actions button:hover,.immersive-gate .gate-actions button:focus-visible{transform:translateY(-2px);border-color:rgba(22,118,54,.55);background:rgba(22,118,54,.12);box-shadow:0 18px 40px rgba(0,0,0,.18)}
.immersive-gate .gate-actions button:before{content:attr(data-slot);display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.16);color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.12em}
.immersive-gate .gate-actions button .gate-option-title{display:block;font-size:15px;font-weight:700;letter-spacing:.01em}
.immersive-gate .gate-actions button .gate-option-meta{display:block;margin-top:3px;color:rgba(255,255,255,.6);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.immersive-gate .gate-actions button:after{content:"↗";color:var(--accent);font-size:16px}
.immersive-gate .gate-enter{grid-column:1;grid-row:3;align-self:end;justify-self:start;display:inline-flex;align-items:center;gap:14px;min-height:62px;padding:0 28px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(180deg,rgba(32,151,72,.95),rgba(16,104,46,.96));color:#fff;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;box-shadow:0 20px 46px rgba(0,0,0,.34),0 0 26px rgba(22,118,54,.24)}
.immersive-gate .gate-enter:hover{transform:translateY(-2px);box-shadow:0 24px 54px rgba(0,0,0,.4),0 0 34px rgba(22,118,54,.34)}
.immersive-gate .gate-enter:after{content:"";width:54px;height:1px;background:rgba(255,255,255,.72);transition:width .25s var(--ease)}
.immersive-gate .gate-enter:hover:after{width:72px}
.immersive-gate .gate-enter span{color:#eaffef}
.immersive-gate .gate-load{grid-column:1;grid-row:2;align-self:end;display:grid;gap:10px;max-width:360px}
.immersive-gate .gate-load-label{display:flex;justify-content:space-between;gap:14px;color:rgba(255,255,255,.68);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.immersive-gate .gate-load-track{height:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);overflow:hidden;position:relative}
.immersive-gate .gate-load-track:before{content:"";position:absolute;inset:1px auto 1px 1px;width:68%;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 35%,#fff 65%));box-shadow:0 0 22px rgba(22,118,54,.55);animation:hcGatePulse 3.2s ease-in-out infinite}
.immersive-gate .gate-load-note{margin:0;color:rgba(255,255,255,.56);font-size:12px;line-height:1.55}
@keyframes hcGateDrift{0%{transform:scale(1.03) translate3d(0,0,0)}100%{transform:scale(1.08) translate3d(14px,-10px,0)}}
@keyframes hcGatePulse{0%,100%{transform:scaleX(.92);opacity:.8}50%{transform:scaleX(1);opacity:1}}

@media(max-width:1050px){
  .immersive-hero{min-height:100svh;height:100svh}
  .immersive-hero .hero-copy{order:initial;padding:0;bottom:86px}
  .immersive-hero-media img{object-position:68% 65%}
  .hero-corner-meta{top:calc(var(--header) + 22px)}
  .hero-scroll{display:none}
  .immersive-gate{grid-template-rows:none;overflow:hidden}
  .immersive-gate .gate-panel{min-height:0;padding:24px;grid-template-columns:1fr;grid-template-rows:auto 1fr auto}
  .immersive-gate .gate-content{grid-column:1;grid-row:3;width:min(560px,100%);align-self:end;justify-self:end}
  .immersive-gate .gate-enter{grid-column:1;grid-row:4;margin-top:0}
  .immersive-gate .gate-logo{width:230px}
}
@media(max-width:640px){
  body.theme-home .site-header{background:linear-gradient(180deg,rgba(3,6,8,.72),transparent)}
  .immersive-hero .hero-copy{left:var(--gutter);right:var(--gutter);bottom:88px;width:auto;padding:0}
  .immersive-hero .hero-copy h1{font-size:clamp(47px,14vw,68px);line-height:.91;max-width:11ch}
  .immersive-hero .hero-lead{font-size:15px;line-height:1.5;max-width:36em;margin-top:18px}
  .immersive-hero .actions{display:flex;grid-template-columns:none;gap:8px;margin-top:20px}
  .immersive-hero .btn{width:auto;min-height:47px;padding-inline:14px;font-size:9px}
  .immersive-hero-media img{object-position:72% 62%;transform:translate3d(0,var(--hc-hero-shift,0px),0) scale(1.04)}
  .immersive-hero-scrim{background:linear-gradient(90deg,rgba(2,5,7,.62),rgba(2,5,7,.10) 78%),linear-gradient(0deg,rgba(3,6,8,.9) 0%,rgba(3,6,8,.18) 57%,rgba(3,6,8,.42) 100%)}
  .hero-corner-meta{left:var(--gutter);right:auto;top:calc(var(--header) + 20px);gap:12px;font-size:8px}
  .hero-corner-meta span+span{padding-left:12px}
  .hero-scroll{left:var(--gutter);right:auto;bottom:28px}
  .immersive-gate .gate-panel{padding:20px 18px 22px;gap:16px}
  .immersive-gate .gate-topline>span{display:none}
  .immersive-gate .gate-logo{width:205px}
  .immersive-gate .gate-image img{object-position:57% center}
  .immersive-gate .gate-scrim{background:linear-gradient(0deg,rgba(2,5,7,.93) 0%,rgba(2,5,7,.38) 54%,rgba(2,5,7,.38) 100%)}
  .immersive-gate .gate-content{padding:22px 18px 18px;background:rgba(4,7,9,.54);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .immersive-gate .gate-content h2{font-size:clamp(36px,11vw,48px);margin-bottom:16px}
  .immersive-gate .gate-actions button{padding:12px 0;font-size:14px}
  .immersive-gate .gate-enter{font-size:9px}
  .immersive-gate .gate-load{grid-column:1;grid-row:2;max-width:none;margin-top:6px}
  .immersive-gate .gate-load-note{font-size:11px}
  .immersive-gate .gate-actions button{grid-template-columns:auto 1fr auto;gap:12px;padding:13px 14px}
  .immersive-gate .gate-actions button .gate-option-title{font-size:14px}
  .immersive-gate .gate-actions button .gate-option-meta{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  .immersive-hero-media img{transform:scale(1.035)!important;transition:none!important}
  .immersive-gate .gate-image img{animation:none!important;transform:scale(1.025)!important}
  .hero-scroll i:after{animation:none!important;transform:none!important}
}

/* V3.4 — SHEPHERDS IMMERSIVE MAX / HC PERFORMANCE -----------------------------
   Full-bleed page heroes, cross-boundary layering, 3D depth objects and the
   no-account booking summary center. Desktop and mobile are composed separately. */

/* Major page heroes now use the photo as the environment, not a boxed segment. */
.shepherds-immersive-max .immersive-page-hero{
  position:relative;isolation:isolate;min-height:100svh;height:100svh;padding:0;overflow:hidden;
  display:flex;align-items:flex-end;background:#050708;border-bottom:1px solid rgba(255,255,255,.08)
}
.shepherds-immersive-max .immersive-page-media,.shepherds-immersive-max .immersive-page-scrim{position:absolute;inset:0}
.shepherds-immersive-max .immersive-page-media{z-index:-3;overflow:hidden;background:#080b0d}
.shepherds-immersive-max .immersive-page-media img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;transform:translate3d(0,var(--hc-page-shift,0px),0) scale(1.055);will-change:transform}
.shepherds-immersive-max .immersive-page-scrim{z-index:-2;background:
  linear-gradient(90deg,rgba(3,6,8,.86) 0%,rgba(3,6,8,.65) 38%,rgba(3,6,8,.22) 67%,rgba(3,6,8,.12) 100%),
  linear-gradient(0deg,rgba(3,6,8,.90) 0%,rgba(3,6,8,.20) 50%,rgba(3,6,8,.42) 100%)}
.shepherds-immersive-max .immersive-page-hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,transparent 0 78%,rgba(255,255,255,.035) 78% 78.08%,transparent 78.08%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}
.shepherds-immersive-max .immersive-page-shell{position:relative;z-index:2;width:min(calc(100% - var(--gutter)*2),var(--max));margin:0 auto;display:block!important;padding:calc(var(--header) + 52px) 0 clamp(78px,9vh,118px)}
.shepherds-immersive-max .immersive-page-copy{position:relative;z-index:3;width:min(760px,62vw);text-shadow:0 2px 18px rgba(0,0,0,.28)}
.shepherds-immersive-max .immersive-page-hero h1{font-size:clamp(56px,6.7vw,108px);line-height:.89;letter-spacing:-.062em;max-width:780px;text-wrap:balance}
.shepherds-immersive-max .immersive-page-hero p{max-width:650px;color:rgba(244,246,245,.78);font-size:clamp(16px,1.18vw,19px);line-height:1.58}
.shepherds-immersive-max .immersive-page-hero .kicker{color:color-mix(in srgb,var(--accent) 72%,#fff 28%)}
.shepherds-immersive-max .site-header:not(.scrolled){background:linear-gradient(180deg,rgba(3,6,8,.74),rgba(3,6,8,.10) 78%,transparent);backdrop-filter:none;border-color:transparent}

/* 3D breakout image: a second crop of the real hero photo crosses the visual plane. */
.hero-depth-card{position:absolute!important;right:0;bottom:clamp(62px,8vh,104px);width:min(31vw,430px);aspect-ratio:4/5!important;z-index:4;overflow:hidden;
  clip-path:polygon(0 0,92% 0,100% 8%,100% 100%,8% 100%,0 92%);
  transform:perspective(1200px) rotateX(var(--depth-rx,2deg)) rotateY(var(--depth-ry,-7deg)) translate3d(0,var(--depth-ty,0),32px);
  transform-style:preserve-3d;box-shadow:-30px 36px 72px rgba(0,0,0,.43);border:1px solid rgba(255,255,255,.22);transition:transform .22s var(--ease),box-shadow .3s var(--ease)}
.hero-depth-card:before{inset:12px;border-color:rgba(255,255,255,.22)}
.hero-depth-card:after{content:"";position:absolute;inset:auto -18px -18px 18px;height:38%;z-index:-1;border:1px solid color-mix(in srgb,var(--accent) 54%,transparent);transform:translateZ(-55px);opacity:.7}
.hero-depth-card img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform .7s var(--ease)}
.hero-depth-card:hover{box-shadow:-38px 44px 90px rgba(0,0,0,.5)}
.hero-depth-card:hover img{transform:scale(1.085)}

/* Contact keeps its collage, but turns it into a floating dimensional object. */
.hero-depth-collage{position:absolute!important;right:0;bottom:clamp(52px,7vh,94px);width:min(34vw,500px);z-index:4;transform:perspective(1350px) rotateX(var(--depth-rx,1deg)) rotateY(var(--depth-ry,-6deg)) translateZ(24px);transform-style:preserve-3d;filter:drop-shadow(-28px 36px 34px rgba(0,0,0,.38));transition:transform .22s var(--ease)}
.hero-depth-collage .contact-visual{border:1px solid rgba(255,255,255,.16);background:#0a0d0f}.hero-depth-collage .contact-visual:before{inset:7px}
.hero-depth-collage .contact-visual:first-child{min-height:400px}.hero-depth-collage .contact-visual:not(:first-child){min-height:190px}.hero-depth-collage .contact-visual:last-child{min-height:190px}

/* Cross-section overlap: photography is allowed to escape the section box. */
#home-intro{position:relative;overflow:visible}
#home-intro .two-col{position:relative}
.immersive-overlap-media{z-index:6;overflow:visible;transform:perspective(1200px) rotateX(var(--depth-rx,1deg)) rotateY(var(--depth-ry,5deg)) translate3d(0,-110px,28px);box-shadow:0 34px 90px rgba(0,0,0,.30);clip-path:polygon(0 0,94% 0,100% 7%,100% 100%,0 100%)}
.immersive-overlap-media:after{content:"";position:absolute;left:-26px;top:30px;width:56%;height:92%;z-index:-1;border:1px solid rgba(22,118,54,.46);transform:translate3d(0,0,-44px)}
.immersive-overlap-media img{min-height:520px;object-fit:cover}

/* Home hero gets subtle perspective planes rather than another boxed image. */
.hero-depth-planes{position:absolute;right:-3vw;top:24%;width:min(42vw,640px);height:42%;z-index:1;pointer-events:none;perspective:1000px;opacity:.58;mix-blend-mode:screen}
.hero-depth-planes span{position:absolute;border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(22,118,54,.12),transparent 58%);transform-style:preserve-3d}
.hero-depth-planes .plane-a{inset:0 5% 10% 18%;transform:rotateY(-34deg) rotateX(8deg) translateZ(10px)}
.hero-depth-planes .plane-b{inset:15% 0 0 31%;border-color:rgba(22,118,54,.24);transform:rotateY(-42deg) rotateX(12deg) translateZ(-30px)}
.hero-depth-planes .plane-c{inset:39% 18% -8% 9%;border-color:rgba(255,255,255,.08);transform:rotateY(-28deg) rotateX(16deg) translateZ(-70px)}

/* Booking dock: Call is literal tel:, Book always starts the vehicle intake. */
.mobile-dock{overflow:hidden}.mobile-dock .dock-book{background:rgba(22,118,54,.14);box-shadow:inset 0 2px var(--accent);color:#fff}
.mobile-dock a:active{background:rgba(255,255,255,.08)}

/* Shepherds-style no-account booking summary, translated into the HC design system. */
.hc-submission-center{margin-top:26px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(145deg,#0b1012 0%,#10171a 55%,#091012 100%);padding:26px;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.hc-submission-head{display:grid;grid-template-columns:1fr auto;gap:26px;align-items:start}.hc-submission-head h3{font-size:30px;letter-spacing:-.035em;margin:4px 0 8px}.hc-submission-head p:not(.kicker){margin:0;color:#9fa8ac}
.hc-reference-chip{min-width:210px;border:1px solid color-mix(in srgb,var(--accent) 65%,#fff 0%);background:#050809;padding:15px 17px}.hc-reference-chip small{display:block;color:var(--accent);font-size:9px;letter-spacing:.18em;text-transform:uppercase}.hc-reference-chip strong{display:block;margin:5px 0 8px;font:700 15px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}.hc-reference-chip button{appearance:none;border:0;background:none;color:#d9e1e3;padding:0;font:700 10px/1.2 var(--sans);text-transform:uppercase;letter-spacing:.1em}
.hc-project-summary{margin:22px 0 0;max-height:350px;overflow:auto;background:#050809;border-color:rgba(255,255,255,.13);font:500 12px/1.72 ui-monospace,SFMono-Regular,Menlo,monospace;color:#c2cbce}
.hc-submission-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:14px}.hc-submission-actions .btn{width:100%;padding-inline:12px}.hc-submission-note{font-size:11px;color:#768287;margin:14px 0 0;line-height:1.55}
.immersive-contact-actions{margin-top:24px}.immersive-contact-actions .btn{backdrop-filter:blur(12px)}

/* A little more physicality in the site without turning every component into a gimmick. */
.service-layout>.media-frame,.catalog-item,.culture-item,.about-pair .media-frame{transform:translateZ(0);transition:transform .42s var(--ease),box-shadow .42s var(--ease)}
@media(hover:hover) and (pointer:fine){.service-layout>.media-frame:hover,.catalog-item:hover,.culture-item:hover,.about-pair .media-frame:hover{transform:translateY(-5px);box-shadow:0 22px 55px rgba(0,0,0,.22)}}

@media(max-width:1050px){
  /* Keep mobile/tablet immersive, but make the nav itself opaque and stable. */
  .shepherds-immersive-max .site-header:not(.scrolled){background:rgba(7,9,10,.96);backdrop-filter:blur(14px);border-color:rgba(255,255,255,.08)}
  .shepherds-immersive-max .immersive-page-shell{padding:calc(var(--header) + 42px) 0 82px}
  .shepherds-immersive-max .immersive-page-copy{width:min(720px,74vw)}
  .hero-depth-card{width:min(34vw,330px);bottom:74px;right:2px;opacity:.9}
  .hero-depth-collage{width:min(39vw,390px);right:0;bottom:68px}
  .immersive-overlap-media{transform:perspective(1100px) rotateX(var(--depth-rx,1deg)) rotateY(var(--depth-ry,3deg)) translate3d(0,-72px,20px)}
  .hc-submission-actions{grid-template-columns:1fr 1fr}
}

@media(max-width:640px){
  .shepherds-immersive-max .immersive-page-hero{height:100svh;min-height:100svh;align-items:flex-end}
  .shepherds-immersive-max .immersive-page-media img{object-position:60% center;transform:translate3d(0,var(--hc-page-shift,0px),0) scale(1.07)}
  .shepherds-immersive-max .business-hero .immersive-page-media img{object-position:57% center}
  .shepherds-immersive-max .services-hero .immersive-page-media img{object-position:60% center}
  .shepherds-immersive-max .catalog-hero .immersive-page-media img{object-position:54% center}
  .shepherds-immersive-max .culture-hero .immersive-page-media img{object-position:58% center}
  .shepherds-immersive-max .about-hero .immersive-page-media img{object-position:57% center}
  .shepherds-immersive-max .contact-hero .immersive-page-media img{object-position:58% center}
  .shepherds-immersive-max .immersive-page-scrim{background:linear-gradient(0deg,rgba(3,6,8,.95) 0%,rgba(3,6,8,.58) 42%,rgba(3,6,8,.13) 70%,rgba(3,6,8,.35) 100%)}
  .shepherds-immersive-max .immersive-page-shell{padding:calc(var(--header) + 28px) 0 max(92px,calc(74px + env(safe-area-inset-bottom)))}
  .shepherds-immersive-max .immersive-page-copy{width:100%;max-width:none}
  .shepherds-immersive-max .immersive-page-hero h1{font-size:clamp(44px,13vw,62px);line-height:.91;max-width:12ch;overflow-wrap:normal}
  .shepherds-immersive-max .immersive-page-hero p{font-size:15px;line-height:1.5;max-width:37em;margin-top:18px}
  .shepherds-immersive-max .immersive-page-hero .contact-strip.compact{display:none}
  .hero-depth-card,.hero-depth-collage{display:none!important}
  .hero-depth-planes{display:none}
  #home-intro{overflow:hidden}.immersive-overlap-media{transform:none;clip-path:none;box-shadow:none}.immersive-overlap-media:after{display:none}.immersive-overlap-media img{min-height:0}
  .hc-submission-center{padding:18px}.hc-submission-head{grid-template-columns:1fr}.hc-reference-chip{width:100%;min-width:0}.hc-submission-actions{grid-template-columns:1fr}.hc-project-summary{max-height:300px}
  .mobile-dock{left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));border-color:rgba(255,255,255,.14);box-shadow:0 16px 50px rgba(0,0,0,.38)}
  .mobile-dock a{min-height:54px;font-size:11px}
}

@media(prefers-reduced-motion:reduce){
  .shepherds-immersive-max .immersive-page-media img{transform:scale(1.055)!important;transition:none!important}
  .hero-depth-card,.hero-depth-collage,.immersive-overlap-media{transform:none!important;transition:none!important}
}

/* V3.6 POLISH PASS — CHASING LED GREEN SYSTEM */
:root{
  --led-green:#1ca94f;
  --led-green-hot:#8cffb2;
  --led-green-soft:rgba(28,169,79,.18);
  --led-green-glow:rgba(77,255,138,.42);
}

.scroll-line{
  box-shadow:0 0 10px rgba(28,169,79,.75),0 0 20px rgba(28,169,79,.36);
}

.immersive-gate .gate-actions button,
.immersive-gate .gate-enter,
.mobile-dock .dock-book,
.nav-links a:after,
.hero-scroll i:after{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.immersive-gate .gate-actions button{
  border-color:rgba(255,255,255,.16);
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 12px 34px rgba(0,0,0,.14);
}

.immersive-gate .gate-actions button::after{
  content:"↗";
  color:var(--accent);
  font-size:16px;
  position:relative;
  z-index:3;
}

.immersive-gate .gate-actions button::before{
  box-shadow:0 0 14px rgba(28,169,79,.22);
}

.immersive-gate .gate-actions button > span,
.immersive-gate .gate-enter > span,
.mobile-dock .dock-book{
  position:relative;
  z-index:3;
}

.immersive-gate .gate-actions button .gate-option-title{
  text-shadow:0 0 10px rgba(0,0,0,.22);
}

.immersive-gate .gate-actions button .gate-option-meta{
  color:rgba(221,255,233,.68);
}

.immersive-gate .gate-actions button::selection{background:transparent}

.immersive-gate .gate-actions button::before,
.immersive-gate .gate-enter::before,
.mobile-dock .dock-book::before{
  pointer-events:none;
}

.immersive-gate .gate-actions button .gate-led,
.immersive-gate .gate-enter .gate-led,
.mobile-dock .dock-book .gate-led{display:none}

.immersive-gate .gate-actions button::marker{content:""}

.immersive-gate .gate-actions button::after,
.immersive-gate .gate-enter::after,
.mobile-dock .dock-book::after{
  pointer-events:none;
}

.immersive-gate .gate-actions button::before,
.immersive-gate .gate-enter::before,
.mobile-dock .dock-book::before{
  content:"";
  position:absolute;
  inset:auto -35% 0 auto;
  width:42%;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent 0%,rgba(28,169,79,0) 10%,rgba(104,255,164,.45) 32%,var(--led-green-hot) 50%,rgba(104,255,164,.45) 68%,rgba(28,169,79,0) 90%,transparent 100%);
  filter:blur(.1px);
  box-shadow:0 0 16px var(--led-green-glow),0 0 28px rgba(28,169,79,.28);
  animation:hcLedChase 2.8s linear infinite;
  z-index:2;
}

.immersive-gate .gate-enter::before{
  height:4px;
  width:52%;
  animation-duration:2.1s;
  animation-delay:-.2s;
}

.mobile-dock .dock-book::before{
  height:3px;
  width:48%;
  animation-duration:2.4s;
}

.immersive-gate .gate-actions button::selection,
.immersive-gate .gate-enter::selection,
.mobile-dock .dock-book::selection{background:transparent}

.immersive-gate .gate-actions button::after{
  text-shadow:0 0 14px rgba(28,169,79,.4);
}

.immersive-gate .gate-enter{
  border-color:rgba(158,255,194,.22);
  background:linear-gradient(180deg,rgba(37,171,83,.96),rgba(17,101,46,.98));
  box-shadow:0 20px 46px rgba(0,0,0,.34),0 0 0 1px rgba(158,255,194,.08) inset,0 0 30px rgba(28,169,79,.22);
}

.immersive-gate .gate-enter:hover{
  box-shadow:0 24px 54px rgba(0,0,0,.40),0 0 0 1px rgba(158,255,194,.12) inset,0 0 42px rgba(28,169,79,.34);
}

.mobile-dock .dock-book{
  background:linear-gradient(180deg,rgba(22,118,54,.22),rgba(22,118,54,.10));
  box-shadow:inset 0 2px rgba(164,255,199,.52),0 0 18px rgba(28,169,79,.12);
}

.immersive-gate .gate-load-track{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 0 12px rgba(28,169,79,.14);
}

.immersive-gate .gate-load-track::before{
  box-shadow:0 0 10px rgba(140,255,178,.75),0 0 22px rgba(28,169,79,.45);
}

.immersive-gate .gate-load-track::after{
  content:"";
  position:absolute;
  top:50%;
  left:68%;
  width:10px;
  height:10px;
  margin:-5px 0 0 -5px;
  border-radius:999px;
  background:var(--led-green-hot);
  box-shadow:0 0 14px var(--led-green-hot),0 0 28px rgba(28,169,79,.55);
  animation:hcGateScanner 1.8s ease-in-out infinite;
}

@keyframes hcLedChase{
  0%{transform:translateX(-175%)}
  100%{transform:translateX(215%)}
}

@keyframes hcGateScanner{
  0%,100%{transform:translateX(-8px) scale(.92);opacity:.8}
  50%{transform:translateX(8px) scale(1.08);opacity:1}
}

@media(max-width:640px){
  .immersive-gate .gate-enter{min-height:58px;padding:0 20px}
  .immersive-gate .gate-actions button::before,
  .immersive-gate .gate-enter::before,
  .mobile-dock .dock-book::before{width:58%}
}

@media(prefers-reduced-motion:reduce){
  .immersive-gate .gate-actions button::before,
  .immersive-gate .gate-enter::before,
  .mobile-dock .dock-book::before,
  .immersive-gate .gate-load-track::after,
  .scroll-line{animation:none!important}
}

/* V3.7 WORKING GATE REFRAME — floating cinematic intro, no box, centered logo, foam drip */
body.theme-home .game-gate{
  background:#030506;
}

body.theme-home .game-gate .gate-scrim{
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.08), transparent 24%),
    linear-gradient(180deg, rgba(0,0,0,.28) 0%, rgba(0,0,0,.08) 22%, rgba(0,0,0,.20) 58%, rgba(1,4,6,.82) 100%),
    linear-gradient(90deg, rgba(2,5,7,.22), rgba(2,5,7,.02) 44%, rgba(2,5,7,.26));
}

body.theme-home .game-gate .gate-logo-wrap{
  position:absolute;
  top:clamp(70px,9vh,104px);
  left:50%;
  transform:translateX(-50%);
  z-index:4;
  width:min(350px,74vw);
  display:grid;
  justify-items:center;
  animation:hcLogoDock .95s cubic-bezier(.18,.82,.24,1) .18s both;
}

body.theme-home .game-gate .gate-logo-centered{
  width:100%;
  filter:drop-shadow(0 18px 34px rgba(0,0,0,.36));
}

body.theme-home .game-gate .gate-foam{
  position:absolute;
  left:10%;
  right:10%;
  top:100%;
  height:36px;
  pointer-events:none;
}

body.theme-home .game-gate .foam-line{
  position:absolute;
  left:0;
  right:0;
  top:-2px;
  height:12px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(255,255,255,.02), rgba(236,255,244,.92) 10%, rgba(244,255,249,.76) 50%, rgba(236,255,244,.92) 90%, rgba(255,255,255,.02));
  box-shadow:0 0 14px rgba(255,255,255,.34), 0 0 26px rgba(127,255,176,.18);
  opacity:.95;
}

body.theme-home .game-gate .foam-drip{
  position:absolute;
  top:4px;
  width:12px;
  border-radius:0 0 14px 14px;
  background:linear-gradient(180deg, rgba(240,255,246,.95), rgba(210,255,224,.82));
  box-shadow:0 0 12px rgba(255,255,255,.28);
  transform-origin:top center;
  animation:hcFoamDrip 2.8s ease-in-out infinite;
}

body.theme-home .game-gate .drip-1{left:14%;height:18px;animation-delay:.2s}
body.theme-home .game-gate .drip-2{left:36%;height:28px;animation-delay:.95s}
body.theme-home .game-gate .drip-3{left:62%;height:20px;animation-delay:.45s}
body.theme-home .game-gate .drip-4{left:82%;height:24px;animation-delay:1.35s}

body.theme-home .game-gate .gate-cinematic-intro{
  position:absolute;
  left:50%;
  top:33svh;
  transform:translateX(-50%);
  z-index:5;
  width:min(1100px,92vw);
  pointer-events:none;
  text-align:center;
  overflow:hidden;
}

body.theme-home .game-gate .gate-cinematic-intro span{
  display:inline-block;
  font-size:clamp(30px,6vw,78px);
  line-height:.94;
  font-weight:700;
  letter-spacing:-.05em;
  color:#f7f8f8;
  text-shadow:0 3px 22px rgba(0,0,0,.34);
  animation:hcMovieIntro 2.55s cubic-bezier(.2,.8,.2,1) .28s both;
}

body.theme-home .game-gate .gate-floating-ui{
  position:absolute;
  left:50%;
  bottom:clamp(64px,10vh,110px);
  transform:translateX(-50%);
  z-index:4;
  width:min(1080px,calc(100vw - 34px));
  display:grid;
  gap:16px;
}

body.theme-home .game-gate .gate-option-rail{
  display:flex;
  align-items:stretch;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}

body.theme-home .game-gate .gate-option-rail button{
  position:relative;
  flex:1 1 250px;
  max-width:320px;
  min-height:98px;
  padding:18px 22px 18px 22px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(180deg, rgba(10,14,15,.38), rgba(8,11,13,.18));
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 18px 38px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.04);
  opacity:0;
  transform:translateY(18px) scale(.96);
  animation:hcGateOptionIn .56s cubic-bezier(.19,.82,.25,1) forwards;
}

body.theme-home .game-gate .gate-option-rail button:nth-child(1){animation-delay:2.35s}
body.theme-home .game-gate .gate-option-rail button:nth-child(2){animation-delay:2.5s}
body.theme-home .game-gate .gate-option-rail button:nth-child(3){animation-delay:2.65s}

body.theme-home .game-gate .gate-option-rail button + button::before{
  content:"/";
  position:absolute;
  left:-14px;
  top:50%;
  transform:translateY(-50%);
  color:rgba(255,255,255,.34);
  font-size:26px;
  font-weight:700;
  pointer-events:none;
}

body.theme-home .game-gate .gate-option-rail button:hover{
  transform:translateY(-4px) scale(1.01);
  border-color:rgba(164,255,199,.22);
  box-shadow:0 24px 48px rgba(0,0,0,.26), inset 0 0 0 1px rgba(164,255,199,.08), 0 0 22px rgba(28,169,79,.08);
}

body.theme-home .game-gate .gate-option-rail button::after{
  text-shadow:0 0 14px rgba(28,169,79,.34);
}

body.theme-home .game-gate .gate-enter-zone{
  justify-self:center;
  display:grid;
  gap:8px;
  justify-items:center;
  opacity:0;
  animation:hcGateOptionIn .62s cubic-bezier(.19,.82,.25,1) 2.88s forwards;
}

body.theme-home .game-gate .cinematic-enter{
  min-height:0;
  padding:0;
  background:none;
  border:0;
  box-shadow:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

body.theme-home .game-gate .cinematic-enter span{
  display:inline-block;
  padding:0 12px;
  color:#f7fbf8;
  font-size:clamp(26px,4.2vw,42px);
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-style:italic;
  transform:skewX(-11deg);
  text-shadow:0 0 14px rgba(28,169,79,.18), 0 2px 16px rgba(0,0,0,.3);
}

body.theme-home .game-gate .cinematic-enter::before,
body.theme-home .game-gate .cinematic-enter::after{
  display:none;
}

body.theme-home .game-gate .gate-enter-strip{
  position:relative;
  width:min(280px,60vw);
  height:4px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  overflow:hidden;
  box-shadow:0 0 12px rgba(28,169,79,.14), inset 0 0 0 1px rgba(255,255,255,.08);
}

body.theme-home .game-gate .gate-enter-strip span{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(28,169,79,0) 0%, rgba(104,255,164,.35) 18%, #9affc1 48%, rgba(104,255,164,.35) 78%, rgba(28,169,79,0) 100%);
  width:42%;
  border-radius:999px;
  box-shadow:0 0 12px rgba(154,255,193,.75), 0 0 24px rgba(28,169,79,.36);
  animation:hcEnterLed 1.95s linear infinite;
}

@keyframes hcLogoDock{
  0%{opacity:0;transform:translateX(-50%) translateY(-16px) scale(.94)}
  100%{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}
}

@keyframes hcFoamDrip{
  0%,100%{transform:scaleY(.85);opacity:.88}
  50%{transform:scaleY(1.18);opacity:1}
}

@keyframes hcMovieIntro{
  0%{opacity:0;transform:translate3d(115%,0,0) scale(1.06)}
  14%{opacity:1}
  48%{opacity:1;transform:translate3d(0,0,0) scale(1)}
  72%{opacity:1;transform:translate3d(-8%,0,0) scale(1)}
  100%{opacity:0;transform:translate3d(-118%,0,0) scale(.96)}
}

@keyframes hcGateOptionIn{
  0%{opacity:0;transform:translateY(20px) scale(.96)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}

@keyframes hcEnterLed{
  0%{transform:translateX(-155%)}
  100%{transform:translateX(340%)}
}

@media(max-width:900px){
  body.theme-home .game-gate .gate-logo-wrap{top:calc(var(--header) + 22px);width:min(300px,76vw)}
  body.theme-home .game-gate .gate-cinematic-intro{top:29svh}
  body.theme-home .game-gate .gate-floating-ui{bottom:clamp(62px,10vh,96px);width:min(760px,calc(100vw - 28px))}
  body.theme-home .game-gate .gate-option-rail button{flex:1 1 220px;max-width:none}
}

@media(max-width:640px){
  body.theme-home .game-gate .gate-logo-wrap{width:min(272px,78vw)}
  body.theme-home .game-gate .gate-cinematic-intro{top:26svh;width:94vw}
  body.theme-home .game-gate .gate-cinematic-intro span{font-size:clamp(28px,10.6vw,46px)}
  body.theme-home .game-gate .gate-floating-ui{bottom:calc(max(26px, env(safe-area-inset-bottom)) + 66px);width:calc(100vw - 24px);gap:12px}
  body.theme-home .game-gate .gate-option-rail{display:grid;grid-template-columns:1fr;gap:10px}
  body.theme-home .game-gate .gate-option-rail button{max-width:none;min-height:84px;padding:15px 18px;border-radius:16px}
  body.theme-home .game-gate .gate-option-rail button + button::before{display:none}
  body.theme-home .game-gate .gate-option-title{font-size:14px}
  body.theme-home .game-gate .gate-option-meta{font-size:10px}
  body.theme-home .game-gate .gate-enter-strip{width:min(210px,54vw)}
  body.theme-home .game-gate .cinematic-enter span{font-size:30px}
}

@media(prefers-reduced-motion:reduce){
  body.theme-home .game-gate .gate-logo-wrap,
  body.theme-home .game-gate .gate-cinematic-intro span,
  body.theme-home .game-gate .gate-option-rail button,
  body.theme-home .game-gate .gate-enter-zone,
  body.theme-home .game-gate .gate-enter-strip span,
  body.theme-home .game-gate .foam-drip{animation:none!important;opacity:1;transform:none}
}

/* V3.7B — full-screen foam ecosystem, cinematic road extraction, sitewide 3D language */
body.theme-home .game-gate{perspective:1600px;overflow:hidden}
body.theme-home .game-gate .gate-image img{
  object-position:center 58%;
  transform:scale(1.045);
  filter:saturate(1.02) contrast(1.03);
}

body.theme-home .game-gate .gate-side-foam{
  position:absolute;
  top:-2vh;
  bottom:10vh;
  width:56px;
  z-index:3;
  pointer-events:none;
  overflow:visible;
}
body.theme-home .game-gate .gate-side-foam.left{left:0}
body.theme-home .game-gate .gate-side-foam.right{right:0;transform:scaleX(-1)}
body.theme-home .game-gate .gate-side-foam::before{
  content:"";
  position:absolute;
  inset:0 0 0 auto;
  width:100%;
  background:
    radial-gradient(circle at 72% 4%, rgba(255,255,255,.95) 0 13%, transparent 14%),
    radial-gradient(circle at 80% 12%, rgba(245,255,249,.88) 0 11%, transparent 12%),
    radial-gradient(circle at 76% 22%, rgba(240,255,246,.84) 0 10%, transparent 11%),
    linear-gradient(180deg, rgba(252,255,253,.94), rgba(228,255,238,.72) 58%, rgba(228,255,238,.08) 100%);
  border-radius:0 0 24px 0;
  filter:blur(.2px) drop-shadow(0 0 14px rgba(255,255,255,.18));
  clip-path:polygon(0 0,100% 0,84% 20%,100% 38%,82% 56%,94% 74%,74% 100%,0 100%);
  opacity:.88;
}
body.theme-home .game-gate .gate-side-foam span{
  position:absolute;
  right:2px;
  width:16px;
  border-radius:0 0 18px 18px;
  background:linear-gradient(180deg, rgba(245,255,249,.98), rgba(217,255,231,.82));
  box-shadow:0 0 16px rgba(255,255,255,.14), 0 0 14px rgba(127,255,176,.14);
  animation:hcEdgeFoam 3.2s ease-in-out infinite;
  transform-origin:top center;
}
body.theme-home .game-gate .gate-side-foam span:nth-child(1){top:13%;height:56px;animation-delay:.1s}
body.theme-home .game-gate .gate-side-foam span:nth-child(2){top:39%;height:72px;animation-delay:.85s}
body.theme-home .game-gate .gate-side-foam span:nth-child(3){top:66%;height:62px;animation-delay:1.6s}

body.theme-home .game-gate .gate-cinematic-stage{
  position:absolute;
  left:-2%;right:-2%;bottom:-2px;
  height:min(26svh,260px);
  z-index:2;
  pointer-events:none;
  transform-style:preserve-3d;
}
body.theme-home .game-gate .gate-road-stage{
  position:absolute;
  left:50%;bottom:0;
  width:min(1120px,112vw);
  height:100%;
  transform:translateX(-50%) perspective(1500px) rotateX(74deg) translateY(34px) translateZ(10px);
  transform-origin:center bottom;
  background-image:
    linear-gradient(180deg, rgba(1,4,6,0) 0%, rgba(1,4,6,.12) 8%, rgba(1,4,6,.84) 100%),
    url('../media/hi-caliber-gate-loading-screen.jpg');
  background-size:cover;
  background-position:center bottom;
  border-top:1px solid rgba(255,255,255,.08);
  box-shadow:0 -10px 36px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.06), 0 22px 80px rgba(0,0,0,.42);
  clip-path:polygon(0 0,100% 0,100% 100%,0 100%);
  filter:saturate(1.08) contrast(1.04);
}
body.theme-home .game-gate .gate-road-stage::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 34%),
    radial-gradient(circle at 50% 2%, rgba(160,255,198,.18), transparent 26%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.012) 0 3px, transparent 3px 38px);
  mix-blend-mode:screen;
}
body.theme-home .game-gate .gate-stage-glow{
  position:absolute;
  left:50%;bottom:46px;
  width:min(860px,78vw);
  height:88px;
  transform:translateX(-50%);
  background:radial-gradient(ellipse at center, rgba(129,255,182,.22), rgba(28,169,79,.08) 38%, transparent 72%);
  filter:blur(16px);
  opacity:.8;
}
body.theme-home .game-gate .gate-foam-puddle{
  position:absolute;
  left:50%;bottom:18px;
  width:min(760px,74vw);
  height:84px;
  transform:translateX(-50%) translateZ(32px);
  z-index:3;
}
body.theme-home .game-gate .puddle-core{
  position:absolute;
  inset:16px 8% 0;
  border-radius:50% 50% 42% 42%/64% 64% 38% 38%;
  background:
    radial-gradient(ellipse at 50% 38%, rgba(248,255,251,.86) 0 8%, rgba(220,255,232,.52) 18%, rgba(118,255,173,.2) 36%, rgba(22,118,54,.08) 62%, transparent 80%),
    linear-gradient(180deg, rgba(227,255,236,.58), rgba(159,255,196,.18) 46%, rgba(10,16,18,.02));
  box-shadow:0 0 18px rgba(180,255,208,.28), 0 16px 42px rgba(0,0,0,.18);
  opacity:.9;
  animation:hcPuddleBuild 4s ease-in-out infinite alternate;
}
body.theme-home .game-gate .puddle-ripple{
  position:absolute;
  left:50%;top:22px;
  border:1px solid rgba(210,255,226,.22);
  border-radius:50%;
  transform:translateX(-50%);
  opacity:.42;
  animation:hcPuddleRipple 3.4s ease-out infinite;
}
body.theme-home .game-gate .ripple-1{width:64%;height:42px;animation-delay:.12s}
body.theme-home .game-gate .ripple-2{width:78%;height:52px;animation-delay:1.05s}
body.theme-home .game-gate .ripple-3{width:92%;height:62px;animation-delay:1.85s}

body.theme-home .game-gate .gate-cinematic-intro span{animation-duration:2.15s}
body.theme-home .game-gate .gate-option-rail button:nth-child(1){animation-delay:1.95s}
body.theme-home .game-gate .gate-option-rail button:nth-child(2){animation-delay:2.08s}
body.theme-home .game-gate .gate-option-rail button:nth-child(3){animation-delay:2.21s}
body.theme-home .game-gate .gate-enter-zone{animation-delay:2.42s}
body.theme-home .game-gate .gate-option-rail button{
  transform-style:preserve-3d;
  backface-visibility:hidden;
}
body.theme-home .game-gate .gate-option-rail button:hover{
  transform:translateY(-6px) rotateX(2deg) scale(1.012);
}

/* Sitewide immersive/3D language */
.shepherds-immersive-max .section,
.shepherds-immersive-max .biz-panel,
.shepherds-immersive-max .service-chapter,
.shepherds-immersive-max .archive-intro,
.shepherds-immersive-max .page-hero,
.shepherds-immersive-max .hero{
  position:relative;
  isolation:isolate;
}

.shepherds-immersive-max .section::after,
.shepherds-immersive-max .biz-panel::after,
.shepherds-immersive-max .service-chapter::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:min(78vw,940px);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg, transparent, rgba(28,169,79,.22), transparent);
  opacity:.55;
  pointer-events:none;
}

.shepherds-immersive-max .page-hero::before,
.shepherds-immersive-max .immersive-page-hero::before,
.shepherds-immersive-max .hero::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:-2%;
  width:min(78vw,980px);
  height:18%;
  transform:translateX(-50%) perspective(1500px) rotateX(74deg);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(28,169,79,.05) 30%, rgba(0,0,0,.28) 100%);
  filter:blur(.2px);
  opacity:.52;
  pointer-events:none;
  z-index:0;
}

.shepherds-immersive-max .media-frame,
.shepherds-immersive-max .catalog-item,
.shepherds-immersive-max .culture-item,
.shepherds-immersive-max .router button,
.shepherds-immersive-max .router-link,
.shepherds-immersive-max .choice label,
.shepherds-immersive-max .contact-strip>a,
.shepherds-immersive-max .contact-strip>div,
.shepherds-immersive-max .biz-selector button,
.shepherds-immersive-max .btn{
  position:relative;
  transform-style:preserve-3d;
}

.shepherds-immersive-max .media-frame::after,
.shepherds-immersive-max .catalog-item::after,
.shepherds-immersive-max .culture-item::after,
.shepherds-immersive-max .router button::after,
.shepherds-immersive-max .router-link::after,
.shepherds-immersive-max .choice label::after{
  content:"";
  position:absolute;
  inset:auto 10% -18px 10%;
  height:24px;
  background:radial-gradient(ellipse at center, rgba(0,0,0,.22), transparent 74%);
  transform:translateZ(-24px);
  opacity:.64;
  pointer-events:none;
}

@media(hover:hover) and (pointer:fine){
  .shepherds-immersive-max .media-frame:hover,
  .shepherds-immersive-max .catalog-item:hover,
  .shepherds-immersive-max .culture-item:hover,
  .shepherds-immersive-max .router button:hover,
  .shepherds-immersive-max .router-link:hover,
  .shepherds-immersive-max .choice label:hover,
  .shepherds-immersive-max .contact-strip>a:hover,
  .shepherds-immersive-max .btn:hover{
    transform:translateY(-6px) translateZ(0) rotateX(2deg);
    box-shadow:0 24px 54px rgba(0,0,0,.20), 0 0 0 1px rgba(28,169,79,.08) inset;
  }
}

.shepherds-immersive-max .page-hero .kicker,
.shepherds-immersive-max .section .kicker,
.shepherds-immersive-max .biz-panel .kicker,
.shepherds-immersive-max .archive-intro .kicker{
  text-shadow:0 0 14px rgba(28,169,79,.12);
}

.shepherds-immersive-max .contact-strip>a,
.shepherds-immersive-max .contact-strip>div,
.shepherds-immersive-max .router button,
.shepherds-immersive-max .router-link,
.shepherds-immersive-max .choice label{
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

@keyframes hcEdgeFoam{
  0%,100%{transform:scaleY(.82);opacity:.78}
  45%{transform:scaleY(1.08);opacity:.95}
  70%{transform:scaleY(1.22);opacity:1}
}
@keyframes hcPuddleBuild{
  0%{transform:scale(.88, .78);opacity:.68}
  100%{transform:scale(1.06, 1);opacity:.96}
}
@keyframes hcPuddleRipple{
  0%{opacity:0;transform:translateX(-50%) scale(.88)}
  18%{opacity:.38}
  100%{opacity:0;transform:translateX(-50%) scale(1.08)}
}

@media(max-width:900px){
  body.theme-home .game-gate .gate-side-foam{width:42px}
  body.theme-home .game-gate .gate-cinematic-stage{height:min(22svh,210px)}
  body.theme-home .game-gate .gate-road-stage{width:116vw}
  body.theme-home .game-gate .gate-foam-puddle{width:86vw;height:70px}
}

@media(max-width:640px){
  body.theme-home .game-gate .gate-side-foam{width:30px;bottom:16vh}
  body.theme-home .game-gate .gate-side-foam span{width:12px}
  body.theme-home .game-gate .gate-cinematic-stage{height:min(18svh,170px)}
  body.theme-home .game-gate .gate-road-stage{width:125vw;transform:translateX(-50%) perspective(1200px) rotateX(76deg) translateY(18px)}
  body.theme-home .game-gate .gate-foam-puddle{width:94vw;height:56px;bottom:10px}
  body.theme-home .game-gate .puddle-core{inset:14px 4% 0}
  .shepherds-immersive-max .page-hero::before,
  .shepherds-immersive-max .immersive-page-hero::before,
  .shepherds-immersive-max .hero::before{width:92vw;height:14%}
}

@media(prefers-reduced-motion:reduce){
  body.theme-home .game-gate .gate-side-foam span,
  body.theme-home .game-gate .puddle-core,
  body.theme-home .game-gate .puddle-ripple,
  body.theme-home .game-gate .gate-road-stage{animation:none!important}
}

/* V3.7C — booking/intake typography + animated LED action buttons + hide dock in booking context */
:root{
  --hc-form-sans:"Avenir Next","Segoe UI","Helvetica Neue",Arial,sans-serif;
}

.field label,
.field input,
.field select,
.field textarea,
.form-step h2,
.form-step p,
.biz-form-step h3,
.biz-form-step p,
.send-choice-title,
.send-choice-note,
.hc-submission-head h3,
.hc-submission-head p,
.hc-submission-note,
.route-head h2,
.route-head p,
.router strong,
.router span{
  font-family:var(--hc-form-sans);
}

.field label{
  font-size:11px;
  letter-spacing:.12em;
}

.field input,
.field select,
.field textarea{
  font-family:var(--hc-form-sans);
  font-size:16px;
  letter-spacing:.01em;
  border-radius:12px;
  background:linear-gradient(180deg,#0b1012,#0a0f11);
}

.review-box,
.hc-project-summary{
  font-family:var(--hc-form-sans);
  font-size:18px;
  line-height:1.62;
  letter-spacing:.01em;
  color:#d8dee0;
  background:linear-gradient(145deg,#071012 0%,#091215 48%,#081114 100%);
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 18px 48px rgba(0,0,0,.18);
}

.hc-project-summary{
  white-space:pre-wrap;
}

.hc-submission-center{
  border-radius:22px;
}

.hc-submission-actions,
.send-choice-grid,
.form-actions{
  gap:14px;
}

.hc-submission-actions .btn,
.send-choice-grid .btn,
.form-actions .btn,
.hc-reference-chip button{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border-radius:14px;
}

.hc-submission-actions .btn,
.send-choice-grid .btn,
.form-actions .btn{
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(180deg,#f4f5f4 0%,#ecf0ec 100%);
  box-shadow:0 16px 34px rgba(0,0,0,.16), inset 0 0 0 1px rgba(255,255,255,.56);
  color:#050607 !important;
  font-family:var(--hc-form-sans);
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.hc-submission-actions .btn.secondary,
.send-choice-grid .btn.secondary,
.form-actions .btn.secondary,
.send-choice-grid .btn.ghost{
  color:#050607 !important;
}

.hc-submission-actions .btn span,
.send-choice-grid .btn span,
.form-actions .btn span{
  position:relative;
  z-index:2;
}

.hc-submission-actions .btn,
.send-choice-grid .btn,
.form-actions .btn{
  background-image:linear-gradient(180deg,#f6f7f6,#edf1ed);
}

/* Thin chasing LED border */
.hc-submission-actions .btn::before,
.send-choice-grid .btn::before,
.form-actions .btn::before,
.hc-reference-chip button::before{
  content:"";
  position:absolute;
  inset:0;
  padding:1px;
  border-radius:inherit;
  background:conic-gradient(from 0deg,rgba(22,118,54,0) 0deg,rgba(22,118,54,0) 220deg,rgba(157,255,196,.0) 265deg,rgba(157,255,196,.88) 290deg,rgba(87,255,149,.95) 306deg,rgba(157,255,196,.0) 332deg,rgba(22,118,54,0) 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  animation:hcButtonBorderSpin 2.8s linear infinite;
  z-index:2;
  pointer-events:none;
}

.hc-submission-actions .btn:nth-child(2)::before,
.send-choice-grid .btn:nth-child(2)::before,
.form-actions .btn.secondary::before{animation-direction:reverse;animation-duration:3.35s}
.hc-submission-actions .btn:nth-child(3)::before{animation-duration:2.35s}
.hc-submission-actions .btn:nth-child(4)::before{animation-direction:reverse;animation-duration:4s}

/* Animated dark-to-green text treatment */
.hc-submission-actions .btn,
.send-choice-grid .btn,
.form-actions .btn,
.hc-reference-chip button{
  --hc-text-gradient:linear-gradient(90deg,#050607 0%,#07140b 22%,#1d8e44 42%,#9effc3 50%,#1d8e44 58%,#07140b 78%,#050607 100%);
  background-clip:padding-box;
}

.hc-submission-actions .btn,
.send-choice-grid .btn,
.form-actions .btn,
.hc-reference-chip button{
  background-repeat:no-repeat;
}

.hc-submission-actions .btn,
.send-choice-grid .btn,
.form-actions .btn,
.hc-reference-chip button{
  text-shadow:none;
}

.hc-submission-actions .btn,
.send-choice-grid .btn,
.form-actions .btn,
.hc-reference-chip button{
  background-image:linear-gradient(180deg,#f6f7f6,#edf1ed);
}

.hc-submission-actions .btn,
.send-choice-grid .btn,
.form-actions .btn,
.hc-reference-chip button{
  position:relative;
}

.hc-submission-actions .btn,
.send-choice-grid .btn,
.form-actions .btn,
.hc-reference-chip button{
  color:transparent !important;
  -webkit-text-fill-color:transparent;
  background-image:var(--hc-text-gradient),linear-gradient(180deg,#f6f7f6,#edf1ed);
  background-size:220% 100%,100% 100%;
  background-position:0% 0,0 0;
  -webkit-background-clip:text,padding-box;
  background-clip:text,padding-box;
  animation:hcTextSweepA 3.2s linear infinite;
}
.hc-submission-actions .btn:nth-child(even),
.send-choice-grid .btn:nth-child(even),
.form-actions .btn.secondary,
.hc-reference-chip button{
  animation-name:hcTextSweepB;
  animation-duration:3.8s;
}
.hc-submission-actions .btn:nth-child(3){animation-duration:2.7s}
.hc-submission-actions .btn:nth-child(4){animation-duration:4.2s}

.hc-submission-actions .btn:hover,
.send-choice-grid .btn:hover,
.form-actions .btn:hover,
.hc-reference-chip button:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 36px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,255,255,.66), 0 0 20px rgba(28,169,79,.12);
}

.hc-reference-chip button{
  min-height:42px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  background-color:#eff3ef;
}

body.booking-context .mobile-dock{
  display:none !important;
}

@keyframes hcButtonBorderSpin{
  0%{transform:rotate(0deg)}
  100%{transform:rotate(360deg)}
}
@keyframes hcTextSweepA{
  0%{background-position:0% 0,0 0}
  100%{background-position:220% 0,0 0}
}
@keyframes hcTextSweepB{
  0%{background-position:220% 0,0 0}
  100%{background-position:0% 0,0 0}
}

@media(max-width:640px){
  .review-box,.hc-project-summary{font-size:16px}
  .hc-submission-actions .btn,
  .send-choice-grid .btn,
  .form-actions .btn{font-size:13px;letter-spacing:.12em}
}

@media(prefers-reduced-motion:reduce){
  .hc-submission-actions .btn,
  .send-choice-grid .btn,
  .form-actions .btn,
  .hc-reference-chip button{animation:none!important}
  .hc-submission-actions .btn::before,
  .send-choice-grid .btn::before,
  .form-actions .btn::before,
  .hc-reference-chip button::before{animation:none!important}
}


/* V3.8 QA / mobile performance guardrails */
html.hc-page-hidden *,html.hc-page-hidden *::before,html.hc-page-hidden *::after{animation-play-state:paused!important}
@media(max-width:640px){
  body.theme-home .game-gate .gate-option-rail button{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 12px 26px rgba(0,0,0,.18),inset 0 0 0 1px rgba(255,255,255,.035)}
  body.theme-home .game-gate .gate-side-foam span:nth-child(3){display:none}
  body.theme-home .game-gate .gate-stage-glow{filter:blur(10px);opacity:.65}
  body.theme-home .game-gate .gate-road-stage{filter:none}
  .hero-depth-planes{display:none}
  .shepherds-immersive-max .contact-strip>a,.shepherds-immersive-max .contact-strip>div,.shepherds-immersive-max .router button,.shepherds-immersive-max .router-link,.shepherds-immersive-max .choice label{backdrop-filter:none;-webkit-backdrop-filter:none}
  .shepherds-immersive-max .media-frame,.shepherds-immersive-max .catalog-item,.shepherds-immersive-max .culture-item{will-change:auto}
}

/* ==========================================================
   V3.11 EXPERIENCE SYSTEM
   Photography-first cinematic UI, procedural foam, service
   scroll intelligence, booking HUD and exhibition controls.
   ========================================================== */

/* --- Global polish / motion hierarchy --- */
:root{
  --hc-green:#167636;
  --hc-green-bright:#36c96b;
  --hc-green-hot:#a9ffc7;
  --hc-glass:rgba(7,10,9,.58);
  --hc-form:"Avenir Next","Helvetica Neue",Arial,sans-serif;
}

.site-header{will-change:transform;transition:transform .34s var(--ease),background .3s,border-color .3s}
.site-header.hc-header-hidden{transform:translateY(-102%)}

/* Page HUD */
.hc-page-hud{position:fixed;right:18px;top:50%;z-index:70;transform:translateY(-50%);display:grid;gap:8px;justify-items:end;pointer-events:none;opacity:.86}
.hc-page-hud small{font:700 8px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#778186}
.hc-page-hud strong{font:700 10px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#e9efeb;max-width:140px;text-align:right}
.hc-page-hud .hc-hud-track{width:2px;height:76px;background:rgba(255,255,255,.10);position:relative;overflow:hidden}
.hc-page-hud .hc-hud-fill{position:absolute;left:0;right:0;top:0;height:0;background:linear-gradient(180deg,var(--hc-green-hot),var(--hc-green));box-shadow:0 0 12px rgba(54,201,107,.42)}

/* Mobile nav becomes a deliberate numbered interface */
.mobile-panel{counter-reset:hcnav}
.mobile-panel a{counter-increment:hcnav;position:relative;padding-left:44px!important}
.mobile-panel a::before{content:"0" counter(hcnav);position:absolute;left:0;top:50%;transform:translateY(-50%);font-size:9px;letter-spacing:.16em;color:var(--accent)}

/* --- GATE: final photography-first system --- */
body.theme-home .game-gate{display:block!important;overflow:hidden;background:#020403;perspective:1500px}
body.theme-home .game-gate::after{display:none!important}
body.theme-home .game-gate .gate-image{position:absolute;inset:0;z-index:0;overflow:hidden}
body.theme-home .game-gate .gate-image img{width:100%;height:100%;object-fit:cover;object-position:center 58%;transform:scale(1.028);filter:saturate(.98) contrast(1.04) brightness(.92);animation:none!important;transition:transform .2s linear}
body.theme-home .game-gate .gate-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,.04) 26%,rgba(0,0,0,.10) 56%,rgba(1,4,3,.78) 100%),linear-gradient(90deg,rgba(0,0,0,.16),transparent 30%,transparent 70%,rgba(0,0,0,.16))}

/* Hide legacy fake foam. Canvas replaces it. */
body.theme-home .game-gate .gate-side-foam,
body.theme-home .game-gate .gate-foam,
body.theme-home .game-gate .gate-foam-puddle,
body.theme-home .game-gate .gate-stage-glow{display:none!important}

body.theme-home .game-gate .gate-foam-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;mix-blend-mode:screen;opacity:.92}

/* Foreground street extracted from the actual gate photo */
body.theme-home .game-gate .gate-cinematic-stage{position:absolute;left:0;right:0;bottom:-2px;height:min(22svh,230px);z-index:2;pointer-events:none;overflow:hidden;perspective:1200px}
body.theme-home .game-gate .gate-road-stage{position:absolute;left:50%;bottom:-18%;width:116%;height:125%;transform:translateX(-50%) rotateX(72deg) scaleY(1.04);transform-origin:center bottom;background-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.14) 45%,rgba(0,0,0,.50) 100%),url('../media/hi-caliber-gate-loading-screen.jpg');background-size:cover;background-position:center 100%;filter:contrast(1.05) saturate(.94);opacity:.60;mask-image:linear-gradient(180deg,transparent 0%,#000 24%,#000 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 24%,#000 100%)}
body.theme-home .game-gate .gate-road-stage::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 70%,rgba(54,201,107,.11),transparent 42%),linear-gradient(180deg,rgba(255,255,255,.04),transparent 34%);mix-blend-mode:screen}

/* Logo presentation */
body.theme-home .game-gate .gate-logo-wrap{position:absolute;z-index:5;top:clamp(54px,7.5vh,88px);left:50%;width:min(330px,64vw);transform:translateX(-50%);display:block;opacity:0;animation:none!important}
body.theme-home .game-gate.gate-sequence-on .gate-logo-wrap{animation:hcLogoArrival .92s cubic-bezier(.18,.82,.22,1) .06s forwards!important}
body.theme-home .game-gate .gate-logo-centered{width:100%!important;filter:drop-shadow(0 15px 28px rgba(0,0,0,.34));transform:none}

/* Cinematic welcome title */
body.theme-home .game-gate .gate-cinematic-intro{position:absolute;left:0;right:0;top:37%;z-index:6;transform:none!important;width:auto!important;text-align:center;overflow:visible;pointer-events:none}
body.theme-home .game-gate .gate-cinematic-intro::before,
body.theme-home .game-gate .gate-cinematic-intro::after{content:"";position:absolute;top:50%;width:min(16vw,180px);height:1px;background:linear-gradient(90deg,transparent,rgba(169,255,199,.55));opacity:0}
body.theme-home .game-gate .gate-cinematic-intro::before{right:calc(50% + min(230px,24vw));}
body.theme-home .game-gate .gate-cinematic-intro::after{left:calc(50% + min(230px,24vw));transform:scaleX(-1)}
body.theme-home .game-gate .gate-cinematic-intro span{display:inline-block;font:650 clamp(28px,5vw,64px)/1 var(--hc-form);letter-spacing:-.04em;color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.36);opacity:0;filter:blur(12px);transform:scale(.96);animation:none!important;white-space:nowrap}
body.theme-home .game-gate.gate-sequence-on .gate-cinematic-intro span{animation:hcWelcomeFilm 2.15s cubic-bezier(.2,.75,.2,1) .72s both!important}
body.theme-home .game-gate.gate-sequence-on .gate-cinematic-intro::before,
body.theme-home .game-gate.gate-sequence-on .gate-cinematic-intro::after{animation:hcWelcomeRule 1.6s ease .93s both}

/* Option command rail: no cards, no detached UI kit */
body.theme-home .game-gate .gate-floating-ui{position:absolute;z-index:7;left:50%;bottom:clamp(68px,8.2vh,94px);width:min(1160px,calc(100vw - 72px));transform:translateX(-50%)!important;display:grid;justify-items:center;gap:24px;opacity:0;animation:none!important}
body.theme-home .game-gate.gate-options-on .gate-floating-ui{animation:hcGateUIReveal .7s cubic-bezier(.18,.82,.22,1) forwards!important}
body.theme-home .game-gate .gate-option-rail{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;width:100%;gap:0!important;border-top:1px solid rgba(255,255,255,.20);border-bottom:1px solid rgba(255,255,255,.20);background:linear-gradient(90deg,transparent,rgba(2,5,4,.28) 10%,rgba(2,5,4,.28) 90%,transparent);backdrop-filter:blur(2px)}
body.theme-home .game-gate .gate-option-rail button{all:unset;box-sizing:border-box;position:relative;min-height:104px;padding:18px 28px;display:grid;align-content:center;cursor:pointer;color:#fff;opacity:1!important;transform:none!important;animation:none!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:hidden}
body.theme-home .game-gate .gate-option-rail button+button{border-left:1px solid rgba(255,255,255,.17)!important}
body.theme-home .game-gate .gate-option-rail button+button::before{display:none!important}
body.theme-home .game-gate .gate-option-rail button::after{content:""!important;position:absolute!important;left:0!important;right:100%!important;bottom:0!important;height:2px!important;background:linear-gradient(90deg,var(--hc-green),var(--hc-green-hot),var(--hc-green));box-shadow:0 0 14px rgba(54,201,107,.55);transition:right .38s var(--ease)!important;color:transparent!important}
body.theme-home .game-gate .gate-option-rail button:hover::after,
body.theme-home .game-gate .gate-option-rail button:focus-visible::after{right:0!important}
body.theme-home .game-gate .gate-option-rail button:hover{background:linear-gradient(180deg,rgba(22,118,54,.035),rgba(22,118,54,.12))!important}
body.theme-home .game-gate .gate-option-rail button>span{display:block;position:relative;z-index:2}
body.theme-home .game-gate .gate-option-title{font:700 clamp(16px,1.5vw,22px)/1.12 var(--hc-form)!important;letter-spacing:-.025em!important;color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.28)!important}
body.theme-home .game-gate .gate-option-meta{display:block!important;margin-top:8px!important;font:700 9px/1.2 var(--hc-form)!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:rgba(196,255,216,.72)!important}

/* Enter is centered against viewport, not a shifting card group */
body.theme-home .game-gate .gate-enter-zone{justify-self:center!important;display:grid!important;justify-items:center!important;gap:7px!important;opacity:1!important;animation:none!important}
body.theme-home .game-gate .cinematic-enter{all:unset;box-sizing:border-box;cursor:pointer;display:block;text-align:center;position:relative;color:#fff!important}
body.theme-home .game-gate .cinematic-enter span{display:block!important;padding:0 20px!important;font:800 italic clamp(26px,3vw,40px)/1 var(--hc-form)!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#fff!important;transform:skewX(-7deg)!important;text-shadow:0 4px 18px rgba(0,0,0,.35),0 0 20px rgba(54,201,107,.10)!important}
body.theme-home .game-gate .gate-enter-strip{width:min(300px,48vw)!important;height:2px!important;background:rgba(255,255,255,.18)!important;border:0!important;box-shadow:none!important;overflow:hidden!important}
body.theme-home .game-gate .gate-enter-strip span{position:absolute!important;inset:0 auto 0 0!important;width:34%!important;background:linear-gradient(90deg,transparent,var(--hc-green-hot),transparent)!important;box-shadow:0 0 11px rgba(169,255,199,.64)!important;animation:hcGateEnterChase 1.85s linear infinite!important}

/* service intelligence */
.service-index a{position:relative;transition:color .24s var(--ease)}
.service-index a.hc-active{color:#fff}
.service-index a.hc-active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--hc-green),var(--hc-green-hot));box-shadow:0 0 12px rgba(54,201,107,.35)}
.service-context-rail{position:fixed;right:22px;bottom:30px;z-index:72;width:240px;padding:16px 17px;background:rgba(5,8,7,.78);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(16px);box-shadow:0 18px 48px rgba(0,0,0,.28);transform:translateY(16px);opacity:0;pointer-events:none;transition:.28s var(--ease)}
.service-context-rail.on{transform:none;opacity:1;pointer-events:auto}
.service-context-rail small{display:block;color:var(--hc-green-hot);font:700 8px/1.2 var(--hc-form);letter-spacing:.16em;text-transform:uppercase}
.service-context-rail strong{display:block;margin:7px 0 13px;color:#fff;font:700 16px/1.15 var(--hc-form);letter-spacing:-.02em}
.service-context-rail a{display:flex;justify-content:space-between;align-items:center;padding-top:11px;border-top:1px solid rgba(255,255,255,.12);font:700 9px/1 var(--hc-form);letter-spacing:.14em;text-transform:uppercase;color:#dbe4df}
.service-context-rail a::after{content:"↗";color:var(--hc-green-hot)}

/* Booking HUD */
.hc-booking-hud{position:fixed;right:22px;top:calc(var(--header) + 22px);z-index:72;width:270px;padding:17px;background:rgba(5,8,7,.84);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px);box-shadow:0 18px 54px rgba(0,0,0,.30);opacity:0;transform:translateX(18px);pointer-events:none;transition:.3s var(--ease)}
body.booking-context .hc-booking-hud{opacity:1;transform:none}
.hc-booking-hud .hc-booking-step{font:700 8px/1 var(--hc-form);letter-spacing:.16em;text-transform:uppercase;color:var(--hc-green-hot)}
.hc-booking-hud strong{display:block;margin:9px 0 4px;font:700 17px/1.15 var(--hc-form);color:#fff;letter-spacing:-.02em}
.hc-booking-hud span{display:block;font:500 12px/1.35 var(--hc-form);color:#9ba5a0}
.hc-booking-hud .hc-booking-progress{height:2px;background:rgba(255,255,255,.10);margin-top:13px;overflow:hidden}
.hc-booking-hud .hc-booking-progress i{display:block;height:100%;width:25%;background:linear-gradient(90deg,var(--hc-green),var(--hc-green-hot));box-shadow:0 0 10px rgba(54,201,107,.40);transition:width .3s var(--ease)}

/* Form UX */
.form-step,.biz-form-step{animation:hcFormIn .34s ease both}
.field.hc-missing input,.field.hc-missing select,.field.hc-missing textarea{border-color:#ff6868!important;box-shadow:0 0 0 2px rgba(255,104,104,.08)}
.field.hc-missing label{color:#ff9b9b}
.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 0 0 3px rgba(54,201,107,.10);border-color:var(--hc-green-bright)!important}

/* Gallery exhibition viewer */
.hc-lightbox{position:fixed;inset:0;z-index:250;background:rgba(1,3,3,.96);display:flex!important;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:.25s}
.hc-lightbox.on{opacity:1;visibility:visible;pointer-events:auto}
.hc-lightbox img{max-width:min(90vw,1500px);max-height:84vh;object-fit:contain;box-shadow:0 28px 100px rgba(0,0,0,.55)}
.hc-lightbox-close,.hc-lightbox-nav{position:absolute;z-index:3;border:1px solid rgba(255,255,255,.16);background:rgba(5,8,7,.55);backdrop-filter:blur(10px);color:#fff;width:48px;height:48px;border-radius:999px;font-size:22px}
.hc-lightbox-close{top:22px;right:22px}
.hc-lightbox-nav.prev{left:22px;top:50%;transform:translateY(-50%)}
.hc-lightbox-nav.next{right:22px;top:50%;transform:translateY(-50%)}
.hc-lightbox-count{position:absolute;left:22px;bottom:22px;font:700 9px/1 var(--hc-form);letter-spacing:.16em;text-transform:uppercase;color:#aab5af}

/* Desktop exhibition hover */
@media(hover:hover) and (pointer:fine){
  .catalog-grid:has(.catalog-item:hover) .catalog-item:not(:hover),
  .culture-grid:has(.culture-item:hover) .culture-item:not(:hover){opacity:.52;filter:saturate(.72);transform:scale(.99)}
  .catalog-item,.culture-item{transition:opacity .35s,filter .35s,transform .35s,box-shadow .35s}
  .catalog-item:hover,.culture-item:hover{transform:translateY(-7px) scale(1.008)!important;box-shadow:0 30px 70px rgba(0,0,0,.28)!important;z-index:2}
}

/* absolutely prevent the service image-over-copy regression */
.service-copy{position:relative;z-index:3;isolation:isolate}
.service-layout>.media-frame{z-index:1}

@media(max-width:1050px){
  .hc-page-hud,.service-context-rail,.hc-booking-hud{display:none!important}
  body.theme-home .game-gate .gate-logo-wrap{top:44px;width:min(310px,64vw)}
  body.theme-home .game-gate .gate-cinematic-intro{top:33%}
  body.theme-home .game-gate .gate-floating-ui{bottom:max(34px,env(safe-area-inset-bottom));width:calc(100vw - 36px);gap:18px}
  body.theme-home .game-gate .gate-option-rail{grid-template-columns:1fr;background:rgba(2,5,4,.14);border-block-color:rgba(255,255,255,.17)}
  body.theme-home .game-gate .gate-option-rail button{min-height:72px;padding:13px 18px}
  body.theme-home .game-gate .gate-option-rail button+button{border-left:0!important;border-top:1px solid rgba(255,255,255,.14)!important}
  body.theme-home .game-gate .gate-option-title{font-size:17px!important}
  body.theme-home .game-gate .gate-option-meta{font-size:8px!important;margin-top:5px!important}
  body.theme-home .game-gate .gate-cinematic-stage{height:17svh}
  .service-layout{display:grid!important;grid-template-columns:1fr!important;gap:28px!important}
  .service-layout>.media-frame,
  .service-chapter:nth-of-type(even) .service-layout>.media-frame{position:relative!important;top:auto!important;order:0!important;transform:none!important;translate:none!important;rotate:none!important;z-index:0!important;aspect-ratio:4/3!important;overflow:hidden!important;margin:0!important}
  .service-layout>.media-frame img{position:relative!important;width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important}
  .service-layout>.service-copy{position:relative!important;order:1!important;z-index:2!important;background:var(--bg)!important;margin:0!important;transform:none!important}
  .service-chapter:nth-child(even) .service-layout>.service-copy{background:var(--bg2)!important}
}

@media(max-width:640px){
  body.theme-home .game-gate .gate-logo-wrap{top:34px;width:min(280px,68vw)}
  body.theme-home .game-gate .gate-image img{object-position:54% 58%}
  body.theme-home .game-gate .gate-cinematic-intro{top:30%}
  body.theme-home .game-gate .gate-cinematic-intro span{font-size:clamp(27px,8vw,38px)!important;letter-spacing:-.035em!important;white-space:normal!important;padding:0 20px}
  body.theme-home .game-gate .gate-cinematic-intro::before,body.theme-home .game-gate .gate-cinematic-intro::after{display:none}
  body.theme-home .game-gate .gate-floating-ui{width:calc(100vw - 28px);bottom:calc(max(18px,env(safe-area-inset-bottom)) + 2px);gap:13px}
  body.theme-home .game-gate .gate-option-rail button{min-height:66px;padding:11px 14px}
  body.theme-home .game-gate .gate-option-title{font-size:15px!important}
  body.theme-home .game-gate .gate-option-meta{font-size:7.5px!important;letter-spacing:.13em!important}
  body.theme-home .game-gate .cinematic-enter span{font-size:28px!important}
  body.theme-home .game-gate .gate-enter-strip{width:210px!important}
  body.theme-home .game-gate .gate-cinematic-stage{height:14svh}
  .service-index{top:var(--header)!important}
  .service-chapter{overflow:hidden!important}
  .service-layout>.media-frame{width:100%!important;max-width:100%!important;clip-path:none!important;box-shadow:none!important}
  .service-layout>.media-frame::after{display:none!important}
  .service-layout>.service-copy{padding-top:0!important}
  .hc-lightbox-nav{width:42px;height:42px}
  .hc-lightbox-nav.prev{left:10px}.hc-lightbox-nav.next{right:10px}
}

@media(prefers-reduced-motion:reduce){
  body.theme-home .game-gate .gate-logo-wrap,
  body.theme-home .game-gate .gate-cinematic-intro span,
  body.theme-home .game-gate .gate-floating-ui{opacity:1!important;animation:none!important;filter:none!important;transform:translateX(-50%)!important}
  body.theme-home .game-gate .gate-cinematic-intro span{transform:none!important}
  body.theme-home .game-gate .gate-enter-strip span{animation:none!important;left:33%!important}
}

@keyframes hcLogoArrival{0%{opacity:0;transform:translateX(-50%) translateY(-13px) scale(.97)}100%{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}
@keyframes hcWelcomeFilm{0%{opacity:0;filter:blur(12px);transform:translateY(7px) scale(.965)}20%{opacity:1}42%,68%{opacity:1;filter:blur(0);transform:none}100%{opacity:0;filter:blur(7px);transform:translateY(-5px) scale(1.015)}}
@keyframes hcWelcomeRule{0%{opacity:0;transform:scaleX(.35)}24%,70%{opacity:.8;transform:scaleX(1)}100%{opacity:0;transform:scaleX(.65)}}
@keyframes hcGateUIReveal{0%{opacity:0;transform:translateX(-50%) translateY(15px)}100%{opacity:1;transform:translateX(-50%) translateY(0)}}
@keyframes hcGateEnterChase{0%{transform:translateX(-150%)}100%{transform:translateX(430%)}}
@keyframes hcFormIn{0%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:none}}

/* V3.11 safety overrides: eliminate legacy pseudo-elements and browser-blue text regression */
body.theme-home .game-gate .gate-option-rail button::before{display:none!important;content:none!important}
body.theme-home .game-gate .cinematic-enter::before,body.theme-home .game-gate .cinematic-enter::after{display:none!important;content:none!important}

.hc-submission-actions .btn,
.send-choice-grid .btn,
.form-actions .btn,
.hc-reference-chip button{
  color:#050607!important;
  -webkit-text-fill-color:#050607!important;
  background-image:linear-gradient(180deg,#f7f8f7,#edf1ed)!important;
  background-clip:padding-box!important;
  -webkit-background-clip:padding-box!important;
  animation:none!important;
}
.hc-action-label{
  display:inline-block;
  color:#050607;
  -webkit-text-fill-color:transparent;
  background:linear-gradient(90deg,#050607 0%,#050607 34%,#147537 43%,#7bffa9 50%,#147537 57%,#050607 66%,#050607 100%);
  background-size:240% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  animation:hcActionTextSweep 3.1s linear infinite;
  position:relative;z-index:3;
}
.hc-submission-actions .btn:nth-child(even) .hc-action-label,
.send-choice-grid .btn:nth-child(even) .hc-action-label,
.form-actions .btn.secondary .hc-action-label{animation-direction:reverse;animation-duration:3.75s}
.hc-submission-actions .btn:nth-child(3) .hc-action-label{animation-duration:2.55s}
.hc-submission-actions .btn:nth-child(4) .hc-action-label{animation-direction:reverse;animation-duration:4.2s}
@keyframes hcActionTextSweep{0%{background-position:0% 0}100%{background-position:240% 0}}
@media(prefers-reduced-motion:reduce){.hc-action-label{animation:none!important;-webkit-text-fill-color:#050607!important;background:none!important}}

/* V3.12 HYPER-QA HARDENING */
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:2px solid var(--hc-green-hot,#a9ffc7);
  outline-offset:4px;
}
button,a{touch-action:manipulation}
.mobile-panel[aria-hidden="true"]{visibility:hidden}
.menu-open .mobile-panel[aria-hidden="false"]{visibility:visible}

/* Keep interactive controls comfortably tappable without changing desktop composition. */
@media(max-width:640px){
  .mobile-panel a{min-height:54px;align-items:center}
  .router button,.router-link,.choice label{min-height:58px}
  .form-actions .btn,.hc-submission-actions .btn,.send-choice-grid .btn{min-height:52px}
}

/* Comprehensive motion fallback for vestibular accessibility and lower-power devices. */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .gate-foam-canvas{display:none!important}
}

/* V4 — realer UX/UI layers, comparison system, paint visualizer, 3D gate planes */
:root{--hc-green:#167636;--hc-green-hot:#9effbd;--hc-panel:rgba(10,14,16,.74);--hc-card:linear-gradient(180deg,rgba(12,16,18,.78),rgba(6,10,11,.84))}

/* Gate 3D scene */
.game-gate{perspective:1600px;overflow:hidden}
.game-gate .gate-depth-scene{position:absolute;inset:0;z-index:1;pointer-events:none;transform-style:preserve-3d}
.game-gate .gate-plane{position:absolute;inset:0;background-image:url('../media/hi-caliber-gate-loading-screen.jpg');background-size:cover;background-position:center 56%;opacity:.18;mix-blend-mode:screen;filter:saturate(1.06) contrast(1.03)}
.game-gate .gate-plane-back{transform:translateZ(-40px) scale(1.06);opacity:.12;filter:blur(1px)}
.game-gate .gate-plane-mid{clip-path:polygon(0 18%,100% 10%,100% 84%,0 92%);transform:translateZ(34px) scale(1.03);opacity:.12}
.game-gate .gate-plane-front{clip-path:polygon(0 72%,100% 64%,100% 100%,0 100%);transform:translateZ(84px) translateY(14px) scale(1.04);opacity:.22}
.game-gate .gate-scanline{position:absolute;left:-8%;right:-8%;top:22%;height:1px;background:linear-gradient(90deg,transparent,rgba(158,255,189,.66),transparent);box-shadow:0 0 18px rgba(158,255,189,.38);animation:hcGateSweep 5.2s linear infinite;opacity:.45}
@keyframes hcGateSweep{0%{transform:translateY(-18vh)}50%{transform:translateY(12vh)}100%{transform:translateY(38vh)}}
.game-gate .gate-option-rail button{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:linear-gradient(180deg,rgba(7,11,12,.22),rgba(7,11,12,.1));border-color:rgba(255,255,255,.12)}
.game-gate .gate-option-rail button .gate-option-title{font-size:clamp(15px,1.4vw,18px)}
.game-gate .gate-option-rail button .gate-option-meta{color:rgba(209,255,224,.76)}
.game-gate .gate-enter-strip{height:3px;background:rgba(255,255,255,.1)}
.game-gate .gate-enter-strip span{width:30%}

/* V4 experiential sections */
.hc-experience-band{background:linear-gradient(180deg,#091010,#070a0b);border-block:1px solid var(--line)}
.hc-experience-grid,.hc-case-study-grid,.hc-showcase-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hc-exp-card,.hc-case-study-grid article,.hc-showcase-strip article{position:relative;padding:26px;border:1px solid rgba(255,255,255,.1);background:var(--hc-card);box-shadow:0 20px 44px rgba(0,0,0,.18);overflow:hidden}
.hc-exp-card:before,.hc-case-study-grid article:before,.hc-showcase-strip article:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,rgba(158,255,189,.78),transparent);opacity:.7}
.hc-exp-card small,.hc-case-study-grid article span,.hc-showcase-strip article small{display:block;margin-bottom:14px;color:#9effbd;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.hc-exp-card h3,.hc-showcase-strip strong,.hc-case-study-grid strong{font-size:26px;line-height:1.08;margin:0 0 12px}
.hc-exp-card p,.hc-showcase-strip article,.hc-case-study-grid article{color:#b6bec1}
.hc-exp-card a,.hc-case-study-grid a,.hc-showcase-strip a{display:inline-block;margin-top:14px;color:#fff}
.hc-case-study-strip{background:#080b0c}

/* Service lab */
.hc-service-lab{padding-top:70px;padding-bottom:84px;background:linear-gradient(180deg,#09100f,#070a0b)}
.hc-lab-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start}
.hc-compare-module,.hc-visualizer-module{padding:22px;border:1px solid rgba(255,255,255,.1);background:var(--hc-card);box-shadow:0 26px 60px rgba(0,0,0,.22)}
.hc-compare-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}
.hc-compare-head small{display:block;margin-bottom:6px;color:#9effbd;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.hc-compare-head strong{font-size:24px;line-height:1.08}
.hc-compare-head span{color:#9da6aa;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.hc-compare-stage{position:relative;aspect-ratio:16/10;border:1px solid rgba(255,255,255,.08);overflow:hidden;background:#080b0c}
.hc-compare-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hc-compare-overlay{position:absolute;inset:0 auto 0 0;overflow:hidden;border-right:1px solid rgba(255,255,255,.34)}
.hc-compare-divider{position:absolute;top:0;bottom:0;width:2px;background:#fff;box-shadow:0 0 0 1px rgba(22,118,54,.28),0 0 16px rgba(158,255,189,.35)}
.hc-compare-divider:after{content:"↔";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:999px;background:rgba(6,10,11,.74);display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);font-size:16px}
.hc-compare-range-label{display:block;margin:16px 0 10px;color:#c9d0d2;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.hc-compare-range{width:100%}
.hc-compare-range{accent-color:#2c9f55}
#paintVisualizer{display:block;width:100%;height:auto;aspect-ratio:3/2;border:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 50% 40%,#394246,#171b1d 56%,#0b0e10 100%)}
.hc-visualizer-controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.hc-visualizer-controls button{padding:12px 14px;border:1px solid rgba(255,255,255,.12);background:#0d1112;color:#d7dddd;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.hc-visualizer-controls button.is-on{background:linear-gradient(180deg,rgba(22,118,54,.28),rgba(22,118,54,.12));color:#fff;border-color:rgba(158,255,189,.24)}
.hc-visualizer-note{margin-top:14px;color:#a6b0b4;font-size:14px;line-height:1.6}

/* Booking note */
.hc-route-support{max-width:52ch;color:#a3afb3;margin-top:14px}

/* Catalog strip */
.hc-showcase-strip{margin-bottom:24px}
.hc-showcase-strip article:last-child a{display:block;margin-top:14px}

/* Personalized intent */
.hc-intent-chip{display:inline-flex;gap:8px;align-items:center;padding:10px 14px;margin-top:18px;border:1px solid rgba(255,255,255,.12);background:rgba(10,14,16,.55);color:#dce6df;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.hc-intent-chip b{color:#9effbd;font-weight:700}
.hc-personal-note{margin-top:16px;color:#b9c2c5;max-width:52ch}

/* Better service imagery containment */
@media(max-width:900px){
  .service-layout>.media-frame{position:relative!important;top:auto!important;transform:none!important;z-index:0!important}
}

@media(max-width:900px){
  .hc-lab-grid{grid-template-columns:1fr}
  .hc-experience-grid,.hc-case-study-grid,.hc-showcase-strip{grid-template-columns:1fr}
}
@media(max-width:640px){
  .game-gate .gate-plane-back,.game-gate .gate-plane-mid,.game-gate .gate-plane-front{opacity:.08}
  .game-gate .gate-scanline{opacity:.22}
  .hc-exp-card h3,.hc-showcase-strip strong,.hc-case-study-grid strong{font-size:22px}
  .hc-compare-head{flex-direction:column;align-items:start}
  .hc-compare-head strong{font-size:22px}
}
@media(prefers-reduced-motion:reduce){
  .game-gate .gate-scanline{animation:none}
}

/* V4.1 advanced refinement pass */
.hc-proof-rail{padding:22px 0;border-block:1px solid var(--line);background:linear-gradient(180deg,#07100e,#090d0e)}
.hc-proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.hc-proof-grid article{padding:18px 20px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(11,16,17,.86),rgba(7,10,11,.86));box-shadow:0 12px 28px rgba(0,0,0,.14)}
.hc-proof-grid small,.hc-process-grid small,.hc-live-preview-head small{display:block;margin-bottom:10px;color:#9effbd;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.hc-proof-grid strong{display:block;font-size:18px;line-height:1.2;margin-bottom:8px}
.hc-proof-grid span{display:block;color:#aab3b6;font-size:14px;line-height:1.55}

.hc-process-band{background:linear-gradient(180deg,#080d0d,#0a1110);border-block:1px solid var(--line)}
.hc-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.hc-process-grid article{padding:22px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(12,17,18,.82),rgba(7,11,12,.84));position:relative;overflow:hidden}
.hc-process-grid article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,rgba(158,255,189,.8),rgba(22,118,54,.15))}
.hc-process-grid strong{display:block;font-size:20px;line-height:1.15;margin-bottom:10px}
.hc-process-grid p{margin:0;color:#b1b9bc;font-size:14px;line-height:1.6}

.hc-catalog-filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 20px}
.hc-catalog-filters button{padding:12px 14px;border:1px solid rgba(255,255,255,.1);background:#0b1012;color:#c7d0d2;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.hc-catalog-filters button.is-on{background:linear-gradient(180deg,rgba(22,118,54,.28),rgba(22,118,54,.12));border-color:rgba(158,255,189,.24);color:#fff;box-shadow:0 0 0 1px rgba(158,255,189,.06) inset,0 0 18px rgba(22,118,54,.12)}
.catalog-item.is-muted{opacity:.22;transform:scale(.985);filter:saturate(.7)}

.hc-form-shell-advanced{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}
.hc-form-shell-advanced > .route-head,
.hc-form-shell-advanced > .router,
.hc-form-shell-advanced > form,
.hc-form-shell-advanced > .success{grid-column:1/2}
.hc-live-preview-panel{grid-column:2/3;grid-row:1 / span 4;position:sticky;top:calc(var(--header) + 24px);padding:22px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(11,16,18,.88),rgba(7,11,12,.9));box-shadow:0 22px 48px rgba(0,0,0,.18)}
.hc-live-preview-head strong{display:block;font-size:28px;line-height:1.04}
.hc-live-preview-body{display:grid;gap:14px;margin-top:18px}
.hc-live-preview-body div{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.hc-live-preview-body span{display:block;margin-bottom:5px;color:#9da6aa;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.hc-live-preview-body b{display:block;font-size:16px;line-height:1.45;color:#fff;font-weight:700}
.hc-live-preview-track{height:4px;margin-top:18px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.hc-live-preview-track i{display:block;width:25%;height:100%;background:linear-gradient(90deg,var(--hc-green),var(--hc-green-hot));box-shadow:0 0 12px rgba(54,201,107,.35)}
.hc-live-preview-note{margin-top:14px;color:#a6b0b4;font-size:13px;line-height:1.55}

.mobile-panel{counter-reset:hcnav}
.mobile-panel a{position:relative;padding-left:36px}
.mobile-panel a:before{counter-increment:hcnav;content:counter(hcnav,decimal-leading-zero);position:absolute;left:0;top:50%;transform:translateY(-50%);color:#9effbd;font-size:11px;letter-spacing:.14em}

.hero .actions .btn,.page-hero .text-link,.text-link{position:relative}
.hero .actions .btn:after,.page-hero .text-link:after,.text-link:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:linear-gradient(90deg,rgba(158,255,189,0),rgba(158,255,189,.8),rgba(158,255,189,0));opacity:.35}

@media(max-width:1050px){
  .hc-proof-grid,.hc-process-grid{grid-template-columns:repeat(2,1fr)}
  .hc-form-shell-advanced{grid-template-columns:1fr}
  .hc-live-preview-panel{grid-column:1/2;grid-row:auto;position:relative;top:auto;order:2}
  .hc-form-shell-advanced > .router,.hc-form-shell-advanced > form,.hc-form-shell-advanced > .success{order:3}
}
@media(max-width:640px){
  .hc-proof-grid,.hc-process-grid{grid-template-columns:1fr}
  .hc-catalog-filters{gap:8px}
  .hc-catalog-filters button{padding:10px 12px;font-size:10px}
  .hc-live-preview-head strong{font-size:24px}
}

/* V4.2 interactive results / catalog hero refinement */
.hc-results-teaser{background:linear-gradient(180deg,#080c0d,#091112);border-block:1px solid var(--line)}
.hc-results-teaser-grid,.hc-featured-result-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:center}
.hc-results-copy p,.hc-featured-result-copy p{max-width:52ch}

.hc-result-compare{position:relative;padding:18px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(11,16,17,.84),rgba(7,10,11,.88));box-shadow:0 22px 50px rgba(0,0,0,.18)}
.hc-result-stage{position:relative;aspect-ratio:16/10;overflow:hidden;background:#080b0c;border:1px solid rgba(255,255,255,.08)}
.hc-result-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hc-result-overlay{position:absolute;inset:0 auto 0 0;overflow:hidden;border-right:1px solid rgba(255,255,255,.34)}
.hc-result-divider{position:absolute;top:0;bottom:0;width:2px;background:#fff;box-shadow:0 0 0 1px rgba(22,118,54,.28),0 0 18px rgba(158,255,189,.35);display:flex;align-items:center;justify-content:center}
.hc-result-divider span{display:grid;place-items:center;width:42px;height:42px;border-radius:999px;background:rgba(7,11,12,.8);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.hc-result-divider span:before{content:"↔";font-size:16px;color:#fff}
.hc-result-badges{position:absolute;left:14px;right:14px;top:14px;display:flex;justify-content:space-between;pointer-events:none}
.hc-result-badges b{padding:8px 12px;border:1px solid rgba(255,255,255,.14);background:rgba(7,11,12,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.hc-result-range{width:100%;margin-top:14px;accent-color:#2c9f55}
.hc-result-compare-compact{padding:14px}
.hc-result-compare-compact .hc-result-stage{aspect-ratio:4/3}

.hc-featured-result{margin:28px 0 26px;padding:24px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(9,13,14,.74),rgba(8,11,12,.9))}
.hc-result-points{display:grid;gap:12px;margin:20px 0}
.hc-result-points div{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.hc-result-points small{display:block;margin-bottom:6px;color:#9effbd;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.hc-result-points strong{display:block;line-height:1.4}

.theme-catalog .catalog-hero .immersive-page-media img,
.theme-catalog .catalog-hero .hero-depth-card img{object-position:center 60%}
.theme-home .catalog-tease .triptych .media-frame:first-child img{object-position:center 58%}

@media(max-width:900px){
  .hc-results-teaser-grid,.hc-featured-result-grid{grid-template-columns:1fr}
}

/* V4.3 single-placement interactive Charger refinement */
.hc-result-hint{margin-top:10px;color:#aab3b6;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.hc-result-helper{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 4px}
.hc-result-helper span{padding:10px 12px;border:1px solid rgba(255,255,255,.1);background:rgba(9,13,14,.72);color:#dce5df;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.hc-featured-result{box-shadow:0 28px 70px rgba(0,0,0,.18)}
.hc-featured-result .hc-result-stage{background:linear-gradient(180deg,#0a0d0f,#090c0d)}
.hc-featured-result .hc-result-range{margin-top:16px}
.hc-featured-result .hc-result-divider span{width:46px;height:46px;box-shadow:0 8px 24px rgba(0,0,0,.22)}

/* V4.4 services proof + realistic paint panel visualizer */
.hc-proof-module,.hc-visualizer-module{padding:22px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(11,16,18,.88),rgba(7,11,12,.9));box-shadow:0 26px 60px rgba(0,0,0,.22)}
.hc-proof-stage{margin:0;border:1px solid rgba(255,255,255,.08);background:#06090a}
.hc-proof-stage img{display:block;width:100%;height:auto}
.hc-proof-stage figcaption{padding:12px 14px;color:#a7b0b4;font-size:13px;line-height:1.55;border-top:1px solid rgba(255,255,255,.08)}
.hc-proof-note p{margin:14px 0 0;color:#c7d0d2;line-height:1.65}

.hc-visualizer-stage{position:relative;overflow:hidden;aspect-ratio:3/2;border:1px solid rgba(255,255,255,.08);background:#080b0c;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 18px 40px rgba(0,0,0,.22);transform:perspective(1400px) rotateX(1.2deg)}
.hc-visualizer-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.04),transparent 28%,transparent 70%,rgba(255,255,255,.04));pointer-events:none;z-index:2}
.hc-visualizer-base{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(1.08) contrast(1.02)}
#paintVisualizer{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border:0;background:transparent;z-index:3;touch-action:none}

@media(max-width:640px){
  .hc-proof-module,.hc-visualizer-module{padding:16px}
}

/* ==========================================================
   V5.1 RESTORED MASTER — stable desktop/mobile presentation
   Built on the last visually approved green HC direction.
   ========================================================== */
:root{
  --brand-green:#167636!important;
  --brand-green-bright:#1f9145!important;
  --brand-green-soft:#64c680!important;
  --accent:#167636!important;
  --home:#167636!important;--services:#167636!important;--catalog:#167636!important;--culture:#167636!important;--business:#167636!important;--about:#167636!important;--contact:#167636!important;
}

/* Browser resets for interactive HC controls */
.game-gate button,.hc-catalog-filters button,.hc-visualizer-controls button{
  -webkit-appearance:none;appearance:none;font:inherit;
}

/* Gate stays one full-screen cinematic composition on every desktop browser. */
body.theme-home .game-gate{
  position:fixed!important;inset:0!important;width:100vw!important;height:100svh!important;
  display:block!important;overflow:hidden!important;background:#050708!important;z-index:200!important;
}
body.theme-home .game-gate .gate-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:0!important;overflow:hidden!important}
body.theme-home .game-gate .gate-image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 58%!important}
body.theme-home .game-gate .gate-scrim{position:absolute!important;inset:0!important;z-index:1!important}
body.theme-home .game-gate .gate-logo-wrap{left:50%!important;transform:translateX(-50%)!important}
body.theme-home .game-gate .gate-floating-ui{left:50%!important;transform:translateX(-50%)!important}
body.theme-home .game-gate .gate-option-rail button{color:#fff!important;background:transparent!important}
body.theme-home .game-gate .gate-option-title{color:#fff!important}
body.theme-home .game-gate .gate-option-meta{color:rgba(196,255,216,.76)!important}

/* Page heroes: full-bleed photography + one copy layer. No duplicate inset hero photo. */
.page-hero .hero-depth-card{display:none!important}
@media(min-width:1051px){
  .page-hero-grid.immersive-page-shell{
    grid-template-columns:minmax(0,820px) 1fr!important;
    gap:0!important;align-items:end!important;
  }
  .page-hero .immersive-page-copy{
    grid-column:1!important;justify-self:start!important;align-self:end!important;
    max-width:820px!important;margin:0!important;text-align:left!important;
  }
  .page-hero .immersive-page-copy h1,.page-hero .immersive-page-copy p{margin-left:0!important;text-align:left!important}

  /* Section headings remain editorial but no longer jump to the far-right column. */
  .section-head{
    grid-template-columns:1fr!important;gap:14px!important;align-items:start!important;
    max-width:980px!important;margin-left:0!important;margin-right:auto!important;
  }
  .section-head h2{max-width:900px!important;margin:0!important;text-align:left!important}
  .section-head>p,.section-head>.kicker{margin:0!important;text-align:left!important}

  /* Catalog feature remains a real two-column interactive editorial module. */
  .hc-featured-result-grid{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;gap:42px!important;align-items:start!important}
  .hc-featured-result-copy{min-width:0!important;padding-top:8px!important}
  .hc-showcase-strip{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
}

/* Services touch/scroll safety. */
#paintVisualizer{touch-action:pan-y pinch-zoom!important}
.service-index .shell{overscroll-behavior-inline:contain}

/* Direct Charger compare dragging: horizontal interaction, vertical page scroll stays available. */
.hc-result-stage{cursor:ew-resize;touch-action:pan-y!important;user-select:none;-webkit-user-select:none}
.hc-result-stage img{pointer-events:none;-webkit-user-drag:none}

/* Mobile keeps the same hierarchy without a duplicate hero image. */
@media(max-width:1050px){
  .page-hero-grid.immersive-page-shell{grid-template-columns:1fr!important}
  .page-hero .hero-depth-card{display:none!important}
}

/* Keep Call/Book out of booking itself. */
body.booking-context .mobile-dock{display:none!important}

/* Strong keyboard focus without changing visual identity. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand-green-soft)!important;outline-offset:3px!important}

/* V5.1 final visual cleanup after rendered QA */
.hc-page-hud{display:none!important}

/* V5.2 — gate full-photo desktop treatment + stable culture archive masonry */
@media (min-width:901px){
  body.theme-home .game-gate{
    background:#030605!important;
    isolation:isolate;
  }
  body.theme-home .game-gate::before{
    content:"";
    position:absolute;
    inset:-5%;
    z-index:-1;
    background:
      linear-gradient(180deg,rgba(1,4,3,.18),rgba(1,4,3,.62)),
      url('../media/hi-caliber-gate-loading-screen.jpg') center 58% / cover no-repeat;
    filter:blur(20px) saturate(.92) brightness(.58);
    transform:scale(1.08);
  }
  body.theme-home .game-gate .gate-image{
    display:grid!important;
    place-items:center!important;
    background:linear-gradient(90deg,rgba(2,5,4,.50),rgba(2,5,4,.08) 22%,rgba(2,5,4,.08) 78%,rgba(2,5,4,.50))!important;
  }
  body.theme-home .game-gate .gate-image img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    filter:saturate(.96) contrast(1.02) brightness(.94)!important;
  }
  body.theme-home .game-gate .gate-depth-scene{
    opacity:.42!important;
  }
  body.theme-home .game-gate .gate-plane{
    opacity:.045!important;
  }
  body.theme-home .game-gate .gate-plane-front{opacity:.075!important}
}

/* Stable masonry: no column balancing / blank-hole behavior. */
.archive-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-rows:8px!important;
  gap:16px!important;
  columns:auto!important;
  align-items:start!important;
}
.archive-item{
  margin:0!important;
  break-inside:auto!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none;
  min-width:0;
}
.archive-item img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  opacity:1!important;
  visibility:visible!important;
  object-fit:cover;
}
@media(max-width:1050px){.archive-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}}
@media(max-width:520px){.archive-grid{grid-template-columns:1fr!important;grid-auto-rows:auto!important}.archive-item{grid-row:auto!important}}

/* Paint visualizer: richer clear-coat surface response without adding UI clutter. */
.hc-visualizer-stage{
  --paint-rx:0deg;
  --paint-ry:0deg;
  transform:perspective(1400px) rotateX(var(--paint-rx)) rotateY(var(--paint-ry))!important;
  transition:transform .18s ease,box-shadow .28s ease;
  transform-style:preserve-3d;
}
.hc-visualizer-stage[data-paint-mode="defects"] .hc-visualizer-base{filter:saturate(.92) contrast(.96) brightness(.92)}
.hc-visualizer-stage[data-paint-mode="corrected"] .hc-visualizer-base{filter:saturate(1.10) contrast(1.07) brightness(1.02)}
.hc-visualizer-stage[data-paint-mode="protected"] .hc-visualizer-base{filter:saturate(1.14) contrast(1.08) brightness(1.025)}
@media(pointer:coarse){.hc-visualizer-stage{transform:none!important}}

/* V5.2 gate layer ordering: full photo remains visible behind effects/UI. */
@media (min-width:901px){
  body.theme-home .game-gate::before{z-index:0!important}
  body.theme-home .game-gate .gate-image{z-index:1!important}
  body.theme-home .game-gate .gate-scrim{z-index:2!important}
  body.theme-home .game-gate .gate-depth-scene{z-index:3!important}
  body.theme-home .game-gate .gate-foam-canvas{z-index:4!important}
}


/* V5.3 gate slideshow and actual-photo surface tuning. */

body.theme-home .game-gate{--gate-bg:url('../media/hi-caliber-gate-elcamino.webp');--gate-road-bg:url('../media/hi-caliber-gate-elcamino.webp')}
body.theme-home .game-gate::before{background:linear-gradient(180deg,rgba(1,4,3,.18),rgba(1,4,3,.62)),var(--gate-bg) center 54% / cover no-repeat!important}
body.theme-home .game-gate .gate-road-stage{background-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.14) 45%,rgba(0,0,0,.50) 100%),var(--gate-road-bg)!important;background-size:cover!important;background-position:center 100%!important}
body.theme-home .game-gate .gate-image{position:absolute!important;inset:0!important;overflow:hidden!important}
body.theme-home .game-gate .gate-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain!important;object-position:center center!important;opacity:0;transform:scale(1.02);transition:opacity .9s ease,transform 5.6s ease;filter:saturate(.98) contrast(1.03) brightness(.95)}
body.theme-home .game-gate .gate-slide.is-active{opacity:1;transform:scale(1)}
body.theme-home .game-gate .gate-image::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at center,transparent 38%,rgba(2,5,4,.16) 78%,rgba(2,5,4,.3) 100%);pointer-events:none;z-index:2}
.hc-visualizer-stage.photo-surface{aspect-ratio:16/10!important}
.hc-visualizer-stage.photo-surface .hc-visualizer-base{object-position:18% 70%;filter:saturate(1.02) contrast(1.03) brightness(.92)}
.hc-visualizer-stage.photo-surface:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 24%,transparent 72%,rgba(0,0,0,.18))}
@media(max-width:900px){body.theme-home .game-gate .gate-slide{object-position:center center!important}.hc-visualizer-stage.photo-surface{aspect-ratio:4/3!important}}


/* V5.6 culture vault + Lucid + IS300 service proof */
#is300-result{margin-top:28px}
.culture-lucid-spotlight{padding:clamp(72px,8vw,118px) 0;background:#060708;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.culture-lucid-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center}
.culture-lucid-grid .motion-frame{max-width:none}
.culture-lucid-grid .section-copy p{max-width:56ch}
@media(max-width:900px){
  .culture-lucid-grid{grid-template-columns:1fr}
  #is300-result{margin-top:22px}
}

/* V5.7 — viewport-fit gate + trunk-mapped paint visualizer */
body.theme-home .game-gate{
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:100dvh!important;
  overflow:hidden!important;
}
body.theme-home .game-gate .gate-image{
  width:100vw!important;
  height:100dvh!important;
  display:grid!important;
  place-items:center!important;
}
body.theme-home .game-gate .gate-slide{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
}
body.theme-home .game-gate .gate-logo-wrap{
  top:clamp(28px,5.2dvh,56px)!important;
  width:min(300px,48vw)!important;
}
body.theme-home .game-gate .gate-cinematic-intro{
  top:31dvh!important;
}
body.theme-home .game-gate .gate-floating-ui{
  bottom:clamp(20px,3.8dvh,42px)!important;
  width:min(1160px,calc(100vw - 48px))!important;
  gap:clamp(10px,1.8dvh,18px)!important;
}
body.theme-home .game-gate .gate-option-rail button{
  min-height:clamp(74px,12dvh,94px)!important;
  padding:clamp(12px,2dvh,18px) clamp(18px,2.2vw,28px)!important;
}
body.theme-home .game-gate .cinematic-enter span{
  font-size:clamp(26px,4.2dvh,36px)!important;
}
@media (max-height:720px) and (min-width:901px){
  body.theme-home .game-gate .gate-logo-wrap{top:22px!important;width:min(270px,42vw)!important}
  body.theme-home .game-gate .gate-cinematic-intro{top:28dvh!important}
  body.theme-home .game-gate .gate-floating-ui{bottom:14px!important;gap:8px!important;width:min(1120px,calc(100vw - 32px))!important}
  body.theme-home .game-gate .gate-option-rail button{min-height:70px!important;padding:10px 20px!important}
  body.theme-home .game-gate .gate-option-meta{margin-top:5px!important}
  body.theme-home .game-gate .cinematic-enter span{font-size:28px!important}
  body.theme-home .game-gate .gate-enter-strip{width:min(250px,44vw)!important}
}
@media (max-height:620px) and (min-width:901px){
  body.theme-home .game-gate .gate-logo-wrap{top:14px!important;width:min(235px,38vw)!important}
  body.theme-home .game-gate .gate-cinematic-intro{top:25dvh!important}
  body.theme-home .game-gate .gate-floating-ui{bottom:8px!important;gap:5px!important}
  body.theme-home .game-gate .gate-option-rail button{min-height:62px!important;padding:8px 16px!important}
  body.theme-home .game-gate .gate-option-title{font-size:15px!important}
  body.theme-home .game-gate .gate-option-meta{font-size:8px!important;margin-top:4px!important}
  body.theme-home .game-gate .cinematic-enter span{font-size:25px!important}
}
@media (max-width:900px){
  body.theme-home .game-gate{height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important}
  body.theme-home .game-gate .gate-image{height:100dvh!important}
  body.theme-home .game-gate .gate-floating-ui{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 8px)!important}
}

/* Actual Lexus trunk geometry: keep image framing 1:1 with the source so the effect map stays registered. */
.hc-visualizer-stage.photo-surface.trunk-mapped{
  aspect-ratio:4/3!important;
  overflow:hidden!important;
}
.hc-visualizer-stage.photo-surface.trunk-mapped .hc-visualizer-base{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  filter:saturate(1.02) contrast(1.03) brightness(.97)!important;
}
.hc-visualizer-stage.trunk-mapped[data-paint-mode="defects"] .hc-visualizer-base,
.hc-visualizer-stage.trunk-mapped[data-paint-mode="corrected"] .hc-visualizer-base,
.hc-visualizer-stage.trunk-mapped[data-paint-mode="protected"] .hc-visualizer-base{
  filter:saturate(1.02) contrast(1.03) brightness(.97)!important;
}
.hc-visualizer-stage.trunk-mapped canvas{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:3!important;
}
.hc-visualizer-stage.trunk-mapped::after{
  z-index:2!important;
  pointer-events:none!important;
}
@media(max-width:900px){
  .hc-visualizer-stage.photo-surface.trunk-mapped{aspect-ratio:4/3!important}
}

/* V5.8 — HC Surface Intelligence Engine for the blue Lexus 50/50 trunk proof */
.hc-surface-intelligence{display:block}
.hc-visualizer-stage.blue-lexus-scene{aspect-ratio:4/3!important;background:#070b10}
.hc-visualizer-stage.blue-lexus-scene .hc-visualizer-base{object-position:center center!important;filter:saturate(1.02) contrast(1.02) brightness(.98)!important}
.hc-visualizer-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.hc-control-cluster{padding:14px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01))}
.hc-control-label{display:block;margin-bottom:10px;color:#9effbd;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.hc-control-cluster .hc-visualizer-controls{margin-top:0}
.hc-control-cluster .hc-visualizer-controls button{flex:1 1 auto}
.hc-surface-sliders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.hc-surface-sliders label{display:block;padding:14px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.008));color:#d9e1e4;font-size:13px;letter-spacing:.02em}
.hc-surface-sliders strong{float:right;color:#fff;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.hc-surface-sliders input[type="range"]{display:block;width:100%;margin-top:14px;accent-color:#64c680}
.hc-service-sim{margin-top:14px;padding:14px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01))}
.hc-service-preset-row{display:flex;flex-wrap:wrap;gap:10px}
.hc-service-preset-row button{padding:12px 14px;border:1px solid rgba(255,255,255,.12);background:#0d1112;color:#d7dddd;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.hc-service-preset-row button.is-on{background:linear-gradient(180deg,rgba(22,118,54,.28),rgba(22,118,54,.12));color:#fff;border-color:rgba(158,255,189,.24)}
.hc-surface-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.hc-surface-status>div{padding:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02)}
.hc-surface-status small{display:block;margin-bottom:7px;color:#9effbd;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.hc-surface-status strong{display:block;color:#eef3f5;font-size:14px;line-height:1.45}
.hc-visualizer-meta{margin:10px 0 0;color:#8fa2a8;font-size:13px;line-height:1.65}
.hc-light-label{position:absolute;top:14px;right:14px;z-index:4;padding:9px 12px;border:1px solid rgba(255,255,255,.12);background:rgba(4,10,12,.66);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#eef3f5;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.hc-loupe{position:absolute;left:16px;top:16px;width:180px;height:180px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.52);box-shadow:0 16px 36px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.04);overflow:hidden;pointer-events:none;z-index:5;opacity:0;transform:scale(.94);transition:opacity .18s ease,transform .18s ease}
.hc-loupe.is-on{opacity:1;transform:scale(1)}
.hc-loupe canvas{display:block;width:100%;height:100%}
.hc-loupe-ring{position:absolute;inset:auto 0 12px 0;display:flex;justify-content:center}
.hc-loupe-ring span{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;background:rgba(6,10,12,.74);border:1px solid rgba(255,255,255,.12);color:#f6f8f9;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.hc-visualizer-stage[data-view-mode="loupe"]{box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 22px 44px rgba(0,0,0,.28)}
@media(max-width:980px){
  .hc-visualizer-toolbar{grid-template-columns:1fr}
  .hc-surface-sliders,.hc-surface-status{grid-template-columns:1fr}
}
@media(max-width:640px){
  .hc-light-label{top:10px;right:10px;padding:8px 10px;font-size:10px}
  .hc-loupe{width:132px;height:132px}
  .hc-service-preset-row button,.hc-control-cluster .hc-visualizer-controls button{width:100%}
}

/* V5.9 — advanced UI/UX console for HC Surface Intelligence Engine */
.hc-surface-console{
  padding:26px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(circle at top right, rgba(100,198,128,.08), transparent 28%),
    linear-gradient(180deg, rgba(10,14,18,.96), rgba(5,8,10,.98));
  box-shadow:0 28px 70px rgba(0,0,0,.28);
}
.hc-surface-console-top{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.hc-surface-chip-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.hc-surface-chip-row span{
  padding:8px 12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);
  color:#dce4e6;font-size:11px;letter-spacing:.12em;text-transform:uppercase
}
.hc-surface-console-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);gap:20px;align-items:start}
.hc-surface-stage-column{display:grid;gap:14px}
.hc-stage-hud{position:absolute;inset:14px 14px auto 14px;display:flex;justify-content:space-between;gap:12px;z-index:4;pointer-events:none}
.hc-stage-pill{
  display:inline-flex;align-items:center;padding:10px 12px;border:1px solid rgba(255,255,255,.12);
  background:rgba(4,10,12,.70);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  color:#eef3f5;font-size:11px;letter-spacing:.12em;text-transform:uppercase
}
.hc-stage-footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.hc-stage-footer>div{padding:14px 15px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.012))}
.hc-stage-footer small,.hc-overview-grid small,.hc-panel-section .hc-surface-status small{display:block;margin-bottom:8px;color:#9effbd;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.hc-stage-footer strong{display:block;color:#eff4f5;font-size:14px;line-height:1.55}
.hc-surface-panel{display:grid;gap:12px}
.hc-panel-section{
  padding:16px;border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.026),rgba(255,255,255,.01));
}
.hc-panel-overview{padding:18px}
.hc-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hc-overview-grid>div{padding:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025)}
.hc-overview-grid strong{display:block;color:#fff;font-size:15px;line-height:1.42}
.hc-panel-section .hc-control-label{margin-bottom:12px}
.hc-segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:0!important}
.hc-segmented.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}
.hc-segmented button,
.hc-service-preset-row button{
  min-height:46px;padding:12px 10px;border-radius:0;
  border:1px solid rgba(255,255,255,.10);background:#0b0f11;color:#d7dddd;
  font-size:11px;letter-spacing:.11em;text-transform:uppercase;line-height:1.3;
  transition:transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}
.hc-segmented button:hover,
.hc-service-preset-row button:hover{transform:translateY(-1px);border-color:rgba(158,255,189,.22)}
.hc-segmented button.is-on,
.hc-service-preset-row button.is-on{
  background:linear-gradient(180deg,rgba(25,129,62,.34),rgba(16,62,31,.5));
  border-color:rgba(158,255,189,.28);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);
}
.hc-service-preset-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.hc-service-preset-row button:nth-child(4),
.hc-service-preset-row button:nth-child(5){grid-column:span 1}
.hc-service-sim .hc-control-label{margin-bottom:12px}
.hc-surface-console .hc-surface-sliders{grid-template-columns:1fr;gap:10px;margin-top:0}
.hc-surface-console .hc-surface-sliders label{padding:14px 14px 12px}
.hc-surface-console .hc-surface-status{grid-template-columns:1fr;gap:10px;margin-top:0}
.hc-surface-console .hc-surface-status>div{padding:14px 15px}
.hc-panel-story .hc-visualizer-note{margin:0;color:#e5ecee;font-size:14px;line-height:1.7}
.hc-panel-story .hc-visualizer-meta{margin:10px 0 0;color:#92a5aa;font-size:12px;line-height:1.65;letter-spacing:.04em}
.hc-visualizer-stage.blue-lexus-scene{box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 24px 50px rgba(0,0,0,.30)}
.hc-visualizer-stage.blue-lexus-scene::before{background:linear-gradient(135deg,rgba(255,255,255,.05),transparent 28%,transparent 72%,rgba(255,255,255,.05))}
.hc-visualizer-stage.blue-lexus-scene::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 18%,transparent 70%,rgba(0,0,0,.22))}
.hc-light-label{position:static!important;display:inline-flex;align-items:center;min-height:auto;padding:10px 12px}
.hc-panel-story{background:linear-gradient(180deg,rgba(8,11,13,.88),rgba(5,8,10,.95))}

@media(max-width:1050px){
  .hc-surface-console-grid{grid-template-columns:1fr}
  .hc-surface-console-top{flex-direction:column;align-items:flex-start}
  .hc-surface-chip-row{justify-content:flex-start}
}
@media(max-width:760px){
  .hc-surface-console{padding:18px}
  .hc-overview-grid,.hc-stage-footer{grid-template-columns:1fr}
  .hc-segmented{grid-template-columns:1fr}
  .hc-segmented.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hc-service-preset-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hc-stage-hud{inset:10px 10px auto 10px;gap:8px;flex-direction:column;align-items:flex-start}
  .hc-stage-pill,.hc-light-label{font-size:10px;padding:8px 10px}
}

/* V6.0 — Surface Intelligence workstation */
.hc-surface-console{position:relative;overflow:hidden;background:radial-gradient(circle at 78% 0,rgba(91,208,126,.10),transparent 25%),linear-gradient(180deg,#0a0e11 0%,#050709 100%)}
.hc-surface-console:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,black,transparent 75%)}
.hc-surface-console>*{position:relative;z-index:1}
.hc-console-tabs{display:flex;gap:2px;padding:3px;border:1px solid rgba(255,255,255,.09);background:#050809;margin-left:auto}
.hc-console-tabs button{min-width:88px;padding:9px 13px;border:0;background:transparent;color:#87969b;font:600 10px/1.2 inherit;letter-spacing:.14em;text-transform:uppercase}
.hc-console-tabs button.is-on{background:#18201c;color:#b9ffcb;box-shadow:inset 0 0 0 1px rgba(158,255,189,.12)}
.hc-surface-console-top{align-items:center;flex-wrap:wrap}
.hc-stage-telemetry{position:absolute;left:14px;right:14px;bottom:14px;z-index:4;display:flex;gap:7px;flex-wrap:wrap;pointer-events:none}
.hc-stage-telemetry span{padding:7px 9px;border:1px solid rgba(255,255,255,.10);background:rgba(3,7,9,.68);backdrop-filter:blur(8px);color:#d9e4e6;font-size:9px;letter-spacing:.11em;text-transform:uppercase}
.hc-compare-scrubber{display:none;position:absolute;inset:0;z-index:3;pointer-events:none}
[data-console-tab="compare"] .hc-compare-scrubber{display:block}
.hc-compare-line{position:absolute;top:0;bottom:0;left:50%;width:1px;background:rgba(255,255,255,.82);box-shadow:0 0 18px rgba(255,255,255,.3)}
.hc-compare-scrubber>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:8px 10px;background:#f2f4f4;color:#07090a;font-size:10px;font-weight:800;letter-spacing:.13em}
.hc-meter-list{display:grid;gap:12px}
.hc-meter-list>div{display:grid;grid-template-columns:145px 1fr;align-items:center;gap:12px;color:#cbd5d8;font-size:11px;letter-spacing:.04em}
.hc-meter-list b{height:5px;background:#171e21;overflow:hidden;position:relative}
.hc-meter-list i{display:block;height:100%;width:50%;background:linear-gradient(90deg,#6f8978,#a6ffc0);transition:width .25s ease}
.hc-report-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.hc-report-head .hc-control-label{margin:0}
.hc-report-head button{padding:7px 9px;border:1px solid rgba(255,255,255,.1);background:transparent;color:#8fa0a5;font-size:9px;letter-spacing:.13em;text-transform:uppercase}
.hc-customer-report>strong{display:block;margin-top:14px;color:#fff;font-size:18px;line-height:1.25}
.hc-customer-report>p{margin:8px 0 0;color:#b4c0c3;font-size:13px;line-height:1.65}
.hc-report-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.hc-report-tags span{padding:7px 9px;background:rgba(158,255,189,.055);border:1px solid rgba(158,255,189,.12);color:#b8f7ca;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
[data-console-tab="explain"] .hc-diagnostic-matrix{opacity:.55}
[data-console-tab="explain"] .hc-customer-report{border-color:rgba(158,255,189,.22);box-shadow:inset 0 0 30px rgba(85,190,114,.04)}
[data-console-tab="compare"] .hc-stage-footer>div:nth-child(2){border-color:rgba(158,255,189,.18)}
@media(max-width:760px){.hc-console-tabs{width:100%;margin-left:0}.hc-console-tabs button{flex:1;min-width:0}.hc-meter-list>div{grid-template-columns:1fr;gap:6px}.hc-stage-telemetry{left:10px;right:10px;bottom:10px}.hc-stage-telemetry span:nth-child(n+2){display:none}}
/* V6.2 client journey + guided education */
.compact-hero{min-height:auto;padding:clamp(7rem,12vw,10rem) 0 3rem}.compact-hero .shell{max-width:980px}.compact-hero h1{max-width:900px}.hc-viz .shell{max-width:1200px}.mode-switch{display:flex;max-width:460px;margin:0 auto 28px;border:1px solid rgba(255,255,255,.16);padding:4px}.mode-switch button,.service-concepts button,.care-tabs button{appearance:none;background:#0c0f10;color:#fff;border:1px solid rgba(255,255,255,.12);padding:14px 18px;cursor:pointer;transition:.2s}.mode-switch button{flex:1}.mode-switch .is-on,.service-concepts .is-on,.care-tabs .is-on{background:linear-gradient(135deg,#0d3b24,#0a6a39);border-color:#3ba96b}.guide-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 22px}.guide-progress span{border-top:1px solid rgba(255,255,255,.18);padding:12px 0;color:#8f9794;font-size:.76rem}.guide-progress .is-on{color:#fff;border-color:#42b875}.guide-progress b{display:block;margin-top:4px}.viz-stage{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.16);background:#090b0c;min-height:420px}.viz-stage img{width:100%;height:auto;display:block}.viz-label{position:absolute;top:22px;background:rgba(4,6,7,.78);backdrop-filter:blur(10px);padding:12px 14px;max-width:230px}.viz-label.before{left:22px}.viz-label.after{right:22px}.viz-label b,.viz-label small{display:block}.viz-label small{margin-top:5px;color:#c5cbc8}.viz-help{position:absolute;right:18px;bottom:18px;width:42px;height:42px;border-radius:50%;border:1px solid #fff;background:#0b0e0f;color:#fff}.learning-callout,.concept-detail,.care-detail,.summary-panel,.business-recs{margin-top:18px;border:1px solid rgba(255,255,255,.14);background:#0b0e0f;padding:clamp(20px,3vw,34px)}.learning-callout p{max-width:820px;margin-bottom:0}.service-concepts,.care-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px}.service-concepts button{text-align:left}.service-concepts b,.service-concepts small{display:block}.service-concepts small{margin-top:5px;color:#aeb6b2}.concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.concept-grid h3{margin-bottom:10px}.concept-grid ul{padding-left:18px}.concept-note{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:18px}.viz-actions,.care-actions,.send-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.edu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.edu-grid article{border:1px solid rgba(255,255,255,.12);padding:22px;background:#0b0e0f}.smart-form{border:1px solid rgba(255,255,255,.14);background:#0b0e0f;padding:clamp(20px,4vw,40px)}.form-progress{display:flex;justify-content:space-between;gap:8px;margin-bottom:28px;color:#8e9692;font-size:.78rem}.form-progress .is-on{color:#53c77f}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.smart-form label{display:grid;gap:8px;font-size:.84rem}.smart-form input,.smart-form select,.smart-form textarea{width:100%;background:#111516;border:1px solid rgba(255,255,255,.16);color:#fff;padding:14px;border-radius:0}.smart-form select[multiple]{min-height:150px}.smart-form textarea{min-height:110px}.smart-form>.btn{margin-top:22px}.summary-panel pre,.business-recs pre{white-space:pre-wrap;font:inherit;color:#dce2df}.care-tabs{margin-top:0}.care-detail h2{margin-bottom:8px}.care-detail details{border-top:1px solid rgba(255,255,255,.12);padding:16px 0}.care-detail summary{cursor:pointer;font-weight:700}.guide-shell{display:grid;grid-template-columns:90px 1fr;gap:24px;align-items:center}.guide-character{width:74px;height:74px;border:1px solid #3ba96b;border-radius:50%;display:grid;place-items:center;font-size:2rem;background:radial-gradient(circle at 40% 35%,#26312d,#080a0a)}.guide-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.guide-choices a{border:1px solid rgba(255,255,255,.14);padding:14px;color:#fff;text-decoration:none}.guide-choices a:hover{border-color:#3ba96b}.express-intake{border:1px solid rgba(255,255,255,.12);padding:18px}.express-intake summary{cursor:pointer;font-weight:700}.business-solution-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px}.business-solution{border:1px solid rgba(255,255,255,.12);padding:20px}.business-solution label{display:flex;gap:10px;align-items:flex-start}.business-solution small{display:block;color:#aab2ae;margin-top:8px}.visualizer-bridge .media-frame img{width:100%;height:100%;object-fit:cover}@media(max-width:800px){.guide-progress{grid-template-columns:repeat(4,minmax(80px,1fr));overflow-x:auto}.guide-progress b{font-size:.68rem}.viz-stage{min-height:0}.viz-label{top:10px;max-width:44%;padding:9px;font-size:.75rem}.viz-label.before{left:10px}.viz-label.after{right:10px}.service-concepts,.care-tabs{grid-template-columns:repeat(2,1fr)}.concept-grid,.form-grid,.edu-grid,.business-solution-grid{grid-template-columns:1fr}.concept-note{grid-column:auto}.guide-shell{grid-template-columns:1fr}.guide-character{display:none}.guide-choices{grid-template-columns:1fr}.form-progress{overflow-x:auto}.smart-form{padding:18px}.mobile-dock{padding-bottom:env(safe-area-inset-bottom)}main{padding-bottom:calc(74px + env(safe-area-inset-bottom))}}@media print{.site-header,.mobile-panel,.mobile-dock,.site-footer,.care-tabs,.care-actions{display:none!important}.care-detail{border:0;color:#000;background:#fff}.care-detail *{color:#000!important}body{background:#fff!important}}
.guide-shell-no-character{display:block;max-width:980px}.market-context{margin:24px 0;padding:22px;border:1px solid rgba(255,255,255,.12);background:#0d1110}.market-context h3{margin-top:18px}.market-context h3:first-child{margin-top:0}.source-note{font-size:.8rem;color:#aeb6b2}.source-note a{color:#fff;text-decoration:underline}

/* V6.3 — cohesive responsive QA layer */
:root{--tap:48px;--content-narrow:980px}
html{scroll-padding-top:calc(var(--header) + 18px)}
body{min-width:320px}
main{min-width:0}.shell>*{min-width:0}
button,a,input,select,textarea{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--brand-green-soft);outline-offset:3px}
.btn,.mode-switch button,.service-concepts button,.care-tabs button,.guide-choices a{min-height:var(--tap)}
.smart-form input,.smart-form select,.smart-form textarea{min-height:50px;font-size:16px}
.smart-form textarea{resize:vertical}
.smart-form label,.choice-fieldset{min-width:0}
.choice-fieldset{grid-column:1/-1;border:0;padding:0;margin:0}.choice-fieldset legend{font-size:.84rem;margin-bottom:10px}.choice-chip-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.choice-chip{position:relative;display:block!important}.choice-chip input{position:absolute;opacity:0;pointer-events:none}.choice-chip span{display:flex;min-height:50px;align-items:center;padding:11px 13px;border:1px solid rgba(255,255,255,.16);background:#111516;color:#dce2df;transition:.2s}.choice-chip input:checked+span{border-color:#49b875;background:rgba(22,118,54,.22);color:#fff}.choice-chip input:focus-visible+span{outline:2px solid var(--brand-green-soft);outline-offset:2px}
.summary-panel{overflow-wrap:anywhere}.summary-panel pre{max-height:420px;overflow:auto;padding:16px;background:#07090a;border:1px solid rgba(255,255,255,.09)}.sent-check{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.sent-check [data-thanks]{padding:16px;border-left:2px solid var(--brand-green-soft);background:var(--brand-green-wash)}
.viz-stage{touch-action:none;cursor:crosshair}.inspection-light{position:absolute;z-index:3;left:27%;top:55%;width:clamp(82px,12vw,150px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.34) 0,rgba(255,255,255,.13) 18%,rgba(255,255,255,.025) 42%,transparent 68%);border:1px solid rgba(255,255,255,.48);box-shadow:0 0 32px rgba(255,255,255,.18);transition:left .08s linear,top .08s linear}.viz-instruction{margin:10px 0 0;color:#9ea7a3;font-size:.82rem;text-align:center}.viz-stage.is-explaining:after{content:'Swirls and haze scatter light • clearer reflection shows improved surface clarity';position:absolute;z-index:4;left:50%;bottom:18px;transform:translateX(-50%);width:min(760px,calc(100% - 96px));padding:12px 16px;background:rgba(4,6,7,.9);border:1px solid rgba(255,255,255,.2);font-size:.8rem;text-align:center}.viz-help{z-index:6}
.guide-progress span{min-width:0}.concept-detail h2{font-size:clamp(24px,3vw,38px);line-height:1.08}.concept-detail li,.edu-grid p,.care-detail p{color:#b8c0bc}
.business-recs,.market-context{overflow-wrap:anywhere}.business-solution input{margin-top:4px;accent-color:var(--brand-green-bright)}
img{height:auto}.media-frame img{min-width:100%}
@media(max-width:1050px){.brand-logo{width:148px}.mobile-panel{overflow-y:auto;padding-bottom:calc(110px + env(safe-area-inset-bottom));overscroll-behavior:contain}.mobile-panel a{font-size:clamp(18px,5vw,22px)}.site-header{backdrop-filter:blur(14px)}.compact-hero{padding-top:calc(var(--header) + 56px)}}
@media(max-width:800px){:root{--gutter:18px}.section{padding:68px 0}.page-hero h1,.compact-hero h1{font-size:clamp(38px,11vw,56px);line-height:.98}.section h2,.biz-panel h2{font-size:clamp(31px,9vw,44px)}.compact-hero{padding-bottom:38px}.compact-hero p{font-size:16px;line-height:1.6}.guide-progress{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x proximity;border-block:1px solid var(--line)}.guide-progress span{flex:0 0 42%;padding:12px 10px;scroll-snap-align:start;border-top:0;border-bottom:2px solid transparent}.guide-progress .is-on{border-bottom-color:#42b875}.mode-switch{max-width:none}.viz-stage{border-inline:0;margin-inline:calc(var(--gutter) * -1)}.viz-stage img{min-height:260px;object-fit:cover}.viz-label{font-size:11px;line-height:1.25}.viz-label small{font-size:10px}.viz-help{right:12px;bottom:12px;width:44px;height:44px}.viz-stage.is-explaining:after{bottom:64px;width:calc(100% - 24px);font-size:11px}.service-concepts{gap:8px}.service-concepts button{padding:13px 11px}.service-concepts small{font-size:10px}.concept-detail,.learning-callout,.care-detail,.summary-panel,.business-recs{padding:18px;margin-inline:0}.concept-grid{gap:16px}.edu-grid{gap:10px}.edu-grid article{padding:18px}.form-grid{gap:14px}.choice-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.send-actions,.viz-actions,.care-actions{display:grid;grid-template-columns:1fr}.send-actions .btn,.viz-actions .btn,.care-actions .btn{width:100%}.contact-strip{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:34px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}.mobile-dock{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));box-shadow:0 12px 34px rgba(0,0,0,.45)}main{padding-bottom:calc(82px + env(safe-area-inset-bottom))}}
@media(max-width:480px){:root{--gutter:16px}.brand-logo{width:132px}.page-hero h1,.compact-hero h1{font-size:clamp(36px,10.5vw,46px)}.hero h1{font-size:clamp(42px,12vw,58px)}.service-concepts,.care-tabs{grid-template-columns:1fr 1fr}.choice-chip-grid{grid-template-columns:1fr}.guide-progress span{flex-basis:54%}.viz-stage img{min-height:235px}.viz-label{max-width:46%}.smart-form{padding:16px}.business-solution{padding:16px}.btn{width:100%}.actions{display:grid;grid-template-columns:1fr}.contact-strip>a,.contact-strip>div{padding:16px}.mobile-panel{padding-inline:20px}}
@media(min-width:1051px){.mobile-dock{display:none!important}.hc-viz .shell{max-width:1180px}.smart-form{max-width:1120px;margin-inline:auto}.summary-panel{max-width:1120px;margin-inline:auto}.compact-hero .shell{padding-right:8vw}}
@media(prefers-reduced-motion:reduce){.inspection-light{transition:none}}
.media-fallback{min-height:220px;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#0c1012,#111715);color:#87928d;font-size:11px;letter-spacing:.12em;text-transform:uppercase;text-align:center}

/* V6.4 — persistent homepage instant-booking action */
.theme-home .home-book-now{border-color:rgba(255,255,255,.72);background:#f4f5f2;color:#080a09;font-weight:800;white-space:nowrap}
.theme-home .home-book-now:hover{background:#fff;color:#000;border-color:#fff}
@media(max-width:1050px){
  .theme-home .nav-wrap{grid-template-columns:minmax(0,1fr) auto auto;gap:10px}
  .theme-home .home-book-now{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 12px;font-size:10px;letter-spacing:.09em}
  .theme-home .menu-btn{min-width:44px;min-height:44px}
  .theme-home .mobile-panel .mobile-book-now{color:#fff;font-weight:800}
}
@media(max-width:430px){
  .theme-home .brand-logo{width:132px}
  .theme-home .nav-wrap{gap:7px}
  .theme-home .home-book-now{min-height:42px;padding:8px 10px;font-size:9px}
}
@media(max-width:350px){
  .theme-home .brand-logo{width:112px}
  .theme-home .home-book-now{padding:8px;font-size:8px;letter-spacing:.06em}
}
/* V6.6.1 mobile gate + home spacing correction */
body.gate-open{overflow:hidden}.gate{min-height:100dvh}.gate-logo-wrap{top:8.5%!important;width:min(76vw,540px)!important}.gate-logo{width:100%!important;filter:drop-shadow(0 8px 24px rgba(0,0,0,.65)) drop-shadow(0 0 18px rgba(78,190,111,.12))}.gate-logo-wrap:after{content:'BERKELEY  •  EST. 2019';display:block;color:#9be1ae;font:800 10px/1.2 Arial,sans-serif;letter-spacing:.34em;text-align:center;margin-top:10px;text-shadow:0 2px 12px #000}.gate-enter-strip span{background:linear-gradient(90deg,transparent,#72d391,transparent)!important}.gate-option-meta{color:#9ad8ac!important}.gate-option-rail{backdrop-filter:blur(14px)}
@media(max-width:720px){.gate{position:fixed!important;inset:0!important;height:100dvh!important;min-height:100dvh!important;overflow:hidden!important;z-index:9999!important}.gate-logo-wrap{top:6.5%!important;width:72vw!important;max-width:440px!important}.gate-floating-ui{bottom:max(22px,env(safe-area-inset-bottom))!important}.gate-option-rail button,.gate-option-rail a{min-height:82px!important}.gate-enter-zone{margin-top:8px!important}.gate-enter{font-size:clamp(2rem,10vw,3.5rem)!important}.theme-home .hero{min-height:calc(100dvh - 68px)}.theme-home .section{padding-top:clamp(54px,10vw,80px);padding-bottom:clamp(54px,10vw,80px)}.theme-home .hero-copy{padding-left:20px;padding-right:20px}.theme-home .home-guide{padding-top:64px!important;padding-bottom:64px!important}}
