/* EDITH shell: tokens, header, buttons, footer — from index.html */
:root{
  --ink:#fff;--tint:255,255,255;--void-rgb:5,7,10;--s0-rgb:11,15,20;--s1-rgb:17,21,26;--shade:0,0,0;--gold-rgb:197,160,89;
  --gold-hi:#d8b26c;--gold-hi2:#e6c67f;--gold-hov:#d4b06a;
  --void:#05070A;--ground:#0A0D11;--s1:#11151A;--s2:#171C23;--s3:#1E2430;
  --gold:#C5A059;--gd:#8B6A2B;--gg:rgba(197,160,89,.10);--gl:rgba(197,160,89,.18);
  --ln:rgba(255,255,255,.06);--lm:rgba(255,255,255,.11);
  --w95:rgba(255,255,255,.95);--w70:rgba(255,255,255,.70);
  --w45:rgba(255,255,255,.45);--w22:rgba(255,255,255,.22);--w10:rgba(255,255,255,.10);
  --green:rgba(74,222,128,.9);
  --fd:'Space Grotesk',sans-serif;--fb:'IBM Plex Sans',sans-serif;--fm:'IBM Plex Mono',monospace;
  --W:1360px;--gut:clamp(1.5rem,5vw,4rem);
  --ease:cubic-bezier(.22,1,.36,1);--eio:cubic-bezier(.4,0,.2,1);
}
@media(prefers-reduced-motion:reduce){*,::before,::after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{background:var(--void);color:var(--w95);font-family:var(--fb);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{cursor:pointer;font-family:inherit}
h1,h2,h3,h4{font-family:var(--fd);line-height:1.05;letter-spacing:-.03em}
p{max-width:64ch}
.wrap{max-width:var(--W);margin-inline:auto;padding-inline:var(--gut)}
.skip{position:absolute;left:-9999px;top:1rem;z-index:9999;background:var(--gold);color:var(--void);padding:.5rem 1rem;font-weight:700;font-size:.8rem}
.skip:focus{left:1rem}
.nav>ul>li>a,.nav>ul>li>button,.hlang{white-space:nowrap}
@media(max-width:1000px){.nav>ul>li>a,.nav>ul>li>button{padding-inline:.55rem}.hbar{gap:1rem}}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--fd);font-size:.875rem;font-weight:500;letter-spacing:-.01em;padding:.75rem 1.5rem;border:1px solid transparent;white-space:nowrap;transition:background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease),transform .2s var(--ease)}
.btn:hover{transform:translateY(-1px)}
.btn-gold{background:var(--gold);color:var(--void);border-color:var(--gold)}
.btn-gold:hover{background:var(--gold-hov);border-color:var(--gold-hov)}
.btn-outline{background:transparent;color:var(--w95);border-color:var(--lm)}
.btn-outline:hover{border-color:var(--gl);color:var(--gold)}
.btn-ghost{background:transparent;color:var(--w45);border:0;padding-inline:0;transform:none}
.btn-ghost:hover{color:var(--w95)}
.slbl{font-family:var(--fm);font-size:.72rem;letter-spacing:.12em;color:var(--gold);display:flex;align-items:center;gap:12px;margin-bottom:1.5rem}
.slbl::before{content:'';width:22px;height:1px;background:var(--gd);flex-shrink:0}
[data-rv]{opacity:0;transform:translateY(18px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
[data-rv].vis{opacity:1;transform:none}
[data-rv][data-d="1"]{transition-delay:.1s}
[data-rv][data-d="2"]{transition-delay:.22s}
[data-rv][data-d="3"]{transition-delay:.34s}
[data-rv][data-d="4"]{transition-delay:.46s}
.hdr{position:fixed;top:0;left:0;right:0;z-index:300;padding-block:1.4rem;border-bottom:1px solid transparent;transition:background .3s var(--ease),padding .3s var(--ease),border-color .3s var(--ease),transform .45s var(--ease)}
.hdr.hide{transform:translateY(-110%)}
.hdr.cond{padding-block:.85rem;background:rgba(var(--void-rgb),.9);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom-color:var(--ln)}
.hbar{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.logo{font-family:var(--fd);font-weight:700;font-size:1.1rem;letter-spacing:.05em;color:var(--ink);flex-shrink:0}
.logo .dot{color:var(--gold)}
.logo-img{display:flex;align-items:center;line-height:0}
.logo-img img{height:42px;width:auto;transition:height .3s var(--ease)}
.hdr.cond .logo-img img{height:34px}
@media(max-width:720px){.logo-img img{height:34px}.hdr.cond .logo-img img{height:30px}}
.nav>ul{display:flex;align-items:center}
.nav>ul>li{position:relative}
.nav>ul>li>a,.nav>ul>li>button{background:none;border:0;font-family:var(--fb);font-size:.82rem;font-weight:500;color:var(--w45);padding:.5rem .9rem;display:flex;align-items:center;transition:color .2s;position:relative}
.nav>ul>li>a::after,.nav>ul>li>button::after{content:'';position:absolute;bottom:0;left:.9rem;right:.9rem;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease)}
.nav>ul>li>a:hover,.nav>ul>li>button:hover{color:var(--ink)}
.nav>ul>li>a:hover::after,.nav>ul>li>button:hover::after{transform:scaleX(1)}
.nav li.open>button{color:var(--gold)}
.nav li.open>button::after{transform:scaleX(1)}
.dd{position:absolute;top:calc(100%+10px);left:0;min-width:220px;background:var(--s1);border:1px solid var(--lm);padding:.5rem;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .18s,transform .18s var(--ease)}
.nav li.open .dd{opacity:1;pointer-events:auto;transform:none}
.dd a{display:block;padding:.5rem .75rem;font-size:.82rem;color:var(--w45);transition:color .15s,background .15s}
.dd a:hover{color:var(--ink);background:var(--s2)}
.hact{display:flex;align-items:center;gap:.75rem}
.hlang{background:none;border:1px solid var(--ln);color:var(--w45);font-family:var(--fm);font-size:.7rem;letter-spacing:.06em;padding:.4rem .7rem;transition:border-color .2s,color .2s}
.hlang:hover{border-color:var(--gl);color:var(--w95)}
.ntog{display:none;background:none;border:0;width:36px;height:36px;flex-direction:column;justify-content:center;align-items:center;gap:5px;flex-shrink:0}
.ntog span{display:block;width:22px;height:1.5px;background:var(--w95);transform-origin:center;transition:transform .25s var(--ease),opacity .2s}
.ntog.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.ntog.open span:nth-child(2){opacity:0}
.ntog.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.dot{color:var(--gold)}
.ft{--f-blue:#32617F;--f-green:#84BA6F;--f-ink:#0E2230;--f-band:#1A3A4F;--f-abyss:#0F2432;--f-hi:#B4E0A3;--rise:clamp(28px,4.4vw,72px);--slit:6px;position:relative;display:flex;flex-direction:column;color:#fff}
@media(min-width:1000px) and (min-height:600px){.ft{min-height:100svh}}
.ft a:focus-visible{outline-color:#fff}
.ft svg{display:block}
.ft-top{flex:1 1 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--slit)}
.ft-a,.ft-b{display:flex;flex-direction:column;justify-content:space-between;gap:clamp(2rem,5vh,3.5rem);padding-top:calc(var(--rise) + clamp(1.75rem,4.5vh,3.25rem));padding-bottom:clamp(2rem,5vh,3.5rem)}
.ft-a{background:var(--f-blue);clip-path:polygon(0 var(--rise),100% 0,100% 100%,0 100%);padding-left:max(var(--gut),calc(100% + 3px - var(--W)/2 + var(--gut)));padding-right:clamp(2rem,4vw,4.5rem)}
.ft-b{background:var(--f-green);color:var(--f-ink);clip-path:polygon(0 0,100% var(--rise),100% 100%,0 100%);padding-left:clamp(2rem,4vw,4.5rem);padding-right:max(var(--gut),calc(100% + 3px - var(--W)/2 + var(--gut)))}
.ft-logo{display:inline-block;line-height:0}
.ft-logo img{height:clamp(60px,min(8vw,11vh),100px);width:auto}
.ft-tl{font-family:var(--fd);font-size:clamp(1.2rem,min(2vw,3.6vh),1.75rem);line-height:1.36;letter-spacing:-.018em;color:rgba(255,255,255,.82);max-width:26ch}
.ft-tl strong{color:#fff;font-weight:600}
.ft-cta{display:inline-flex;align-items:center;gap:.75rem;margin-top:clamp(1rem,3vh,1.75rem);padding:.85rem 1.35rem;background:#fff;color:var(--f-ink);font-family:var(--fd);font-size:.9rem;font-weight:600;letter-spacing:-.01em;transition:background .25s var(--ease),gap .3s var(--ease)}
.ft-cta svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square}
.ft-cta:hover{background:var(--f-hi);gap:1.1rem}
.ft-eye{font-family:var(--fm);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:rgba(14,34,48,.72);margin-bottom:.9rem}
.ft-tels{border-top:1px solid rgba(14,34,48,.3)}
.ft-tels li{border-bottom:1px solid rgba(14,34,48,.3)}
.ft-tel{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-inline:-1rem;padding:clamp(.6rem,1.8vh,1rem) 1rem;font-family:var(--fd);font-size:clamp(1.6rem,min(2.9vw,5.4vh),3.1rem);font-weight:600;line-height:1.1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--f-ink);transition:background .25s var(--ease),color .25s var(--ease)}
.ft-tel .num{display:flex;align-items:baseline}
.ft-tel .cc{font-size:.52em;font-weight:500;letter-spacing:0;margin-right:.6em;opacity:.7}
.ft-tel .ar{width:clamp(16px,1.5vw,22px);height:clamp(16px,1.5vw,22px);flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:square;opacity:.55;transition:transform .3s var(--ease),opacity .25s}
.ft-tel .dg{position:relative;isolation:isolate;margin-inline:.04em;padding:0 .1em;font-weight:700;color:var(--f-green);transition:color .25s}
.ft-tel .dg::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--f-ink);transform-origin:left;transition:background-color .25s}
.ft-tel:hover{background:var(--f-ink);color:var(--f-green)}
.ft-tel:hover .dg{color:var(--f-ink)}
.ft-tel:hover .dg::before{background:var(--f-green)}
.ft-tel:hover .ar{opacity:1;transform:translate(3px,-3px)}
.ft-meta{display:grid;grid-template-columns:auto 1fr;gap:1.5rem clamp(2rem,4vw,3.5rem)}
.ft-meta .ft-eye{margin-bottom:.5rem}
.ft-meta a,.ft-meta address{font-style:normal;font-size:.95rem;line-height:1.55;color:var(--f-ink)}
.ft-meta a{font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.ft-meta a:hover{text-decoration-thickness:2px}
.ft-band{background:var(--f-band)}
.ft-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.5rem,4vw,4rem);padding-block:clamp(1.75rem,4.2vh,3rem)}
.ft-c{border-top:1px solid rgba(255,255,255,.22);padding-top:1.1rem}
.ft-c h3{font-family:var(--fm);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--f-green);margin-bottom:1rem}
.ft-c ul{display:flex;flex-direction:column;gap:.5rem}
.ft-c ul a{font-size:.88rem;line-height:1.4;color:rgba(255,255,255,.84);transition:color .2s}
.ft-c ul a:hover{color:var(--f-hi)}
.ft-c .ft-soc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid rgba(255,255,255,.2);border-left:1px solid rgba(255,255,255,.2)}
.ft-c .ft-soc a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;aspect-ratio:1/.8;border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);font-family:var(--fm);font-size:.58rem;letter-spacing:.07em;text-transform:uppercase;line-height:1;color:rgba(255,255,255,.82);transition:background .2s,color .2s}
.ft-c .ft-soc a:hover{background:var(--f-green);color:var(--f-ink)}
.ft-soc svg{width:18px;height:18px;fill:currentColor}
.ft-legal{background:var(--f-abyss)}
.ft-l{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 2.5rem;padding-block:1.2rem;font-family:var(--fm);font-size:.66rem;letter-spacing:.04em;color:rgba(255,255,255,.62)}
.ft-l div{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.75rem}
.ft-l a{color:rgba(255,255,255,.62);transition:color .2s}
.ft-l a:hover{color:#fff}
@media(min-width:1000px) and (max-height:820px){.ft{--rise:clamp(22px,3.2vw,46px)}.ft-a,.ft-b{gap:1.5rem;padding-top:calc(var(--rise) + 1.25rem);padding-bottom:1.5rem}.ft-logo img{height:clamp(52px,9vh,70px)}.ft-tl{font-size:clamp(1.1rem,3.2vh,1.4rem)}.ft-cta{margin-top:1rem;padding:.7rem 1.2rem}.ft-tel{padding-block:.5rem}.ft-cols{padding-block:1.3rem}.ft-c{padding-top:.9rem}.ft-c h3{margin-bottom:.8rem}.ft-c ul{gap:.4rem}.ft-c .ft-soc a{aspect-ratio:1/.7}.ft-l{padding-block:.85rem}}
@media(max-width:1500px){.ft-l{padding-right:calc(var(--gut) + 3.5rem)}}
@media(max-width:900px){.ft{--rise:clamp(26px,7vw,48px)}.ft-top{grid-template-columns:1fr;column-gap:0;row-gap:var(--slit)}.ft-a{clip-path:polygon(0 var(--rise),50% 0,100% var(--rise),100% 100%,0 100%);padding:calc(var(--rise) + 2.25rem) var(--gut) 2.5rem}.ft-b{clip-path:none;padding:2.5rem var(--gut)}.ft-tel{font-size:clamp(1.6rem,6.6vw,2.6rem)}.ft-cols{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2.5rem}}
@media(max-width:560px){.ft-c .ft-soc{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-c .ft-soc a{aspect-ratio:1/.72}}
@media(max-width:560px){.ft-meta{grid-template-columns:1fr}}
.ft-anim .ft-a,.ft-anim .ft-b{opacity:0;transform:translateY(36px);transition:opacity .8s var(--ease),transform 1.1s var(--ease)}
.ft-anim .ft-b{transition-delay:.12s}
.ft-anim .ft-band,.ft-anim .ft-legal{opacity:0;transition:opacity .9s var(--eio) .45s}
.ft-anim.in .ft-a,.ft-anim.in .ft-b,.ft-anim.in .ft-band,.ft-anim.in .ft-legal{opacity:1;transform:none}
.ft-anim:not(.in) .dg::before{transform:scaleX(0)}
.ft-anim:not(.in) .dg{color:var(--f-ink)}
.ft-anim.in .dg::before{animation:dgWipe .55s var(--ease) .95s backwards}
.ft-anim.in .dg{animation:dgTxt .3s linear 1.05s backwards}
@media(prefers-reduced-motion:reduce){.ft-anim .ft-a,.ft-anim .ft-b,.ft-anim .ft-band,.ft-anim .ft-legal{opacity:1;transform:none;transition:none}.ft-anim .dg::before{transform:none!important;animation:none!important}.ft-anim .dg{color:var(--f-green)!important;animation:none!important}}
@media(max-width:720px){.nav{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--void);z-index:190;padding:6rem var(--gut) 3rem;overflow-y:auto}.nav.open{display:block}.nav>ul{flex-direction:column;gap:0}.nav>ul>li>a,.nav>ul>li>button{font-size:1.1rem;padding:.85rem 0;color:var(--w70)}.nav .dd{position:static;opacity:1;pointer-events:auto;transform:none;background:none;border:0;padding-left:1rem;display:none}.nav li.open .dd{display:block}.ntog{display:flex}.hact .btn{display:none}.hlang{display:none}}
html[data-theme="light"]{
  color-scheme:light;
  --void:#F6F2E9;--ground:#EFEADD;--s1:#FBF8F1;--s2:#F1ECE0;--s3:#E6DFCE;
  --gold:#8A6420;--gd:#B08D4A;--gg:rgba(138,100,32,.10);--gl:rgba(138,100,32,.22);
  --ln:rgba(24,32,42,.10);--lm:rgba(24,32,42,.18);
  --w95:rgba(20,28,38,.96);--w70:rgba(20,28,38,.76);--w45:rgba(20,28,38,.60);--w22:rgba(20,28,38,.38);--w10:rgba(20,28,38,.10);
  --green:rgba(21,122,64,.95);
  --ink:#141C26;--tint:20,28,38;--void-rgb:246,242,233;--s0-rgb:251,248,241;--s1-rgb:255,255,255;--shade:70,52,20;--gold-rgb:138,100,32;
  --gold-hi:#74531A;--gold-hi2:#664914;--gold-hov:#9C7326;
}
html[data-theme="light"] .btn-gold{color:#fff}
html[data-theme="light"] .btn-gold:hover{color:#fff}
.logo-img .lg-light{display:none}
html[data-theme="light"] .logo-img .lg-dark{display:none}
html[data-theme="light"] .logo-img .lg-light{display:block}
.tt{position:relative;display:flex;align-items:center;justify-content:space-between;flex:none;width:56px;height:30px;padding:0 6px;background:var(--s1);border:1px solid var(--lm);transition:border-color .2s}
.tt:hover{border-color:var(--gd)}
.tt-k{position:absolute;top:3px;left:3px;width:22px;height:22px;background:var(--gold);transition:transform .35s var(--ease)}
html[data-theme="dark"] .tt-k,:root:not([data-theme]) .tt-k{transform:translateX(26px)}
.tt-i{position:relative;z-index:1;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--w45);transition:color .25s}
html[data-theme="light"] .tt-sun,html[data-theme="dark"] .tt-moon,:root:not([data-theme]) .tt-moon{color:var(--void)}
html[data-theme="light"] .tt-sun{color:#fff}
html.theme-anim *,html.theme-anim *::before,html.theme-anim *::after{transition:background-color .35s ease,color .35s ease,border-color .35s ease,fill .35s ease,stroke .35s ease,box-shadow .35s ease,filter .35s ease!important}
html[data-theme="light"]{
  --void:#F4F1E9;--ground:#ECE8DE;--s1:#FAF8F3;--s2:#F0ECE3;--s3:#E4DED2;
  --ink:#171B20;--tint:23,27,32;--void-rgb:244,241,233;--s0-rgb:250,248,243;--s1-rgb:250,248,243;--shade:48,38,22;--gold-rgb:140,106,43;
  --gold:#8C6A2B;--gd:#B3945B;--gg:rgba(140,106,43,.08);--gl:rgba(140,106,43,.26);
  --gold-hi:#7A5C24;--gold-hi2:#6A4F1E;--gold-hov:#A98443;
  --ln:rgba(23,27,32,.11);--lm:rgba(23,27,32,.19);
  --w95:rgba(23,27,32,.95);--w70:rgba(23,27,32,.76);--w45:rgba(23,27,32,.62);--w22:rgba(23,27,32,.34);--w10:rgba(23,27,32,.10);
}
html[data-theme="light"] ::selection{background:rgba(140,106,43,.25);color:var(--ink)}
html[data-theme="light"] .btn-gold{background:#C4A468;border-color:#C4A468;color:#171B20}
html[data-theme="light"] .btn-gold:hover{background:#171B20;border-color:#171B20;color:#F4F1E9}
html[data-theme="light"] .btn-outline{border-color:rgba(23,27,32,.45);color:var(--ink)}
html[data-theme="light"] .btn-outline:hover{border-color:var(--ink);background:rgba(23,27,32,.045);color:var(--ink)}
html[data-theme="light"] .btn:hover{transform:translateY(-1px)}
html[data-theme="light"] .btn-ghost:hover{color:var(--ink)}
html[data-theme="light"] .hdr.cond{background:rgba(244,241,233,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--lm)}
html[data-theme="light"] .nav>ul>li>a,html[data-theme="light"] .nav>ul>li>button{color:var(--w70)}
html[data-theme="light"] .nav>ul>li>a:hover,html[data-theme="light"] .nav>ul>li>button:hover,html[data-theme="light"] .nav li.open>button{color:var(--ink)}
html[data-theme="light"] .dd{background:var(--s1);border-color:var(--lm);box-shadow:0 14px 28px -18px rgba(23,27,32,.35)}
html[data-theme="light"] .hlang{border-color:var(--lm);color:var(--w70)}
html[data-theme="light"] .tt{background:var(--s1);border-color:var(--lm)}
html[data-theme="light"] .tt-k{background:#171B20}
html[data-theme="light"] .tt-sun{color:#F4F1E9}
html[data-theme="light"] .tt-moon{color:var(--w45)}
@keyframes dgWipe{from{transform:scaleX(0)}}
@keyframes dgTxt{from{color:var(--f-ink)}}
/* Professional services */
:root{--u:clamp(4.5rem,10vw,9rem)}
html{scroll-padding-top:5rem}html:not(.js) [data-rv]{opacity:1;transform:none}
main p{color:var(--w70)}.mono{font-family:var(--fm);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.sec{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-block:clamp(5.5rem,11vh,7rem) clamp(2rem,6vh,4rem)}.sec>.wrap{width:100%}.grd{background:var(--ground)}
.sec h2{font-size:clamp(2rem,min(4.4vw,8.2vh),4.2rem);max-width:17ch;margin-bottom:1.1rem;letter-spacing:-.045em;font-weight:600;color:var(--ink)}
em{font-style:normal;color:var(--gold)}.actions{display:flex;gap:.75rem;flex-wrap:wrap}.lead{max-width:34rem;font-size:1rem}
/* hero */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:clamp(5.5rem,10vh,7rem) 0 6rem;background:radial-gradient(52% 60% at 74% 52%,rgba(var(--gold-rgb),.09),transparent 70%),linear-gradient(rgba(var(--gold-rgb),.035) 1px,transparent 1px) 0 0/52px 52px,linear-gradient(90deg,rgba(var(--gold-rgb),.035) 1px,transparent 1px) 0 0/52px 52px,var(--void)}
.hg{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:2rem;align-items:center;width:100%}
.crumb{display:flex;gap:.6rem;color:var(--w45);margin-bottom:1rem}.crumb a:hover{color:var(--gold)}
.eyeline{color:var(--w45);margin-bottom:clamp(1rem,3vh,2rem);display:flex;gap:14px;align-items:center}.eyeline::before{content:'';width:28px;height:1px;background:var(--gd)}
.hero h1{font-size:clamp(3rem,min(6.6vw,12.6vh),7.4rem);font-weight:700;letter-spacing:-.055em;line-height:.95;color:var(--ink);margin-bottom:clamp(1.2rem,3vh,2rem)}.hero h1 span{display:block;white-space:nowrap}
.hero h1 .b{color:transparent;-webkit-text-stroke:1.5px var(--ink);animation:fill .7s var(--eio) .7s forwards}.hero h1 .b .dot{-webkit-text-stroke:0;color:var(--gold)}@keyframes fill{to{color:var(--ink);-webkit-text-stroke-width:0}}
.hero-sub{max-width:33rem;font-size:.98rem;margin-bottom:1.8rem}
.hf{list-style:none;position:absolute;left:0;right:0;bottom:1.4rem;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--lm);margin-inline:auto}
.hf li{padding:.9rem 1rem 0 0;display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap}.hf b{font:600 clamp(1.1rem,1.8vw,1.5rem) var(--fd);letter-spacing:-.03em;color:var(--ink)}.hf span{font:.66rem var(--fm);letter-spacing:.1em;text-transform:uppercase;color:var(--w45)}
/* 3D dossier (CSS) */
.dos{position:relative;height:clamp(340px,54vh,560px);perspective:1600px;display:grid;place-items:center}
.stk{--sz:clamp(230px,26vw,390px);position:relative;width:var(--sz);height:var(--sz);transform-style:preserve-3d;transform:rotateX(calc(60deg + var(--ry,0deg))) rotateZ(calc(-38deg + var(--rx,0deg)));transition:transform .5s var(--ease)}
.sh{position:absolute;inset:0;transform:translateZ(var(--z,0px));border:1px solid var(--lm);background:color-mix(in srgb,var(--s1) 90%,transparent);box-shadow:28px 34px 50px -26px rgba(0,0,0,.55);transition:transform .9s var(--ease),opacity .7s,border-color .5s}
.sh svg{width:100%;height:100%;color:var(--ink);display:block}.sh svg .t{font:500 12px var(--fm);letter-spacing:.14em;fill:var(--gold)}
.base{background:color-mix(in srgb,var(--s2) 92%,transparent);overflow:hidden}.scan{position:absolute;left:0;right:0;top:0;height:22%;background:linear-gradient(transparent,rgba(var(--gold-rgb),.18),transparent);animation:scan 5.5s linear infinite}@keyframes scan{from{transform:translateY(-100%)}to{transform:translateY(480%)}}
.tg{inset:auto;left:var(--x);top:var(--y);width:26%;height:11%;transform:translate(-50%,-50%) translateZ(var(--z));border-color:var(--gold);background:color-mix(in srgb,var(--void) 90%,transparent);display:grid;place-items:center;animation:bob 4.2s ease-in-out infinite alternate;box-shadow:none}
.tg:nth-of-type(3){animation-delay:-1.2s}.tg:nth-of-type(4){animation-delay:-2.4s}.tg:nth-of-type(5){animation-delay:-3.2s}
.tg b{color:var(--gold);font-weight:500;transform:rotate(0)}.tg::after{content:'';position:absolute;left:50%;top:100%;width:1px;height:var(--z);border-left:1px dashed var(--gd);transform-origin:top;transform:rotateX(-90deg)}
@keyframes bob{from{transform:translate(-50%,-50%) translateZ(var(--z))}to{transform:translate(-50%,-50%) translateZ(calc(var(--z) + 14px))}}
.readout{position:absolute;bottom:0;left:0;right:0;display:flex;gap:.9rem;justify-content:center;color:var(--w45)!important;font-size:.64rem}.readout span+span::before{content:'· ';color:var(--gd)}.blink{color:var(--gold)}.blink{animation:blk 1.4s steps(2) infinite}@keyframes blk{50%{opacity:.25}}
/* inspect */
.ins{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}.insL{min-width:0}
.ltabs{display:flex;flex-wrap:wrap;gap:.45rem;margin:1.3rem 0 1.4rem}.lt{background:none;border:1px solid var(--lm);color:var(--w70);font:500 .8rem var(--fd);padding:.55rem .9rem .55rem .7rem;display:flex;gap:.55rem;align-items:center;transition:color .25s,border-color .25s,background .25s}.lt i{font:normal .62rem var(--fm);color:var(--gd)}.lt:hover{color:var(--ink);border-color:var(--gd)}.lt[aria-selected=true]{color:var(--gold);border-color:var(--gold);background:var(--gg)}.lt[aria-selected=true] i{color:var(--gold)}
.lps{min-height:min(21rem,38vh)}.lp{display:none}.lp.on{display:block;animation:rise2 .55s var(--ease)}@keyframes rise2{from{opacity:0;transform:translateY(8px)}}
.kick{color:var(--gold);margin-bottom:.6rem}.lp h3{font-size:clamp(1.4rem,min(2.3vw,4.6vh),2.1rem);max-width:26ch;margin-bottom:.8rem;color:var(--ink)}.lp>p:not(.kick){font-size:.9rem;max-width:42rem;margin-bottom:1.1rem}
.x3{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--lm)}.x3>div{padding:.8rem 1rem .8rem 0}.x3>div+div{padding-left:1rem;border-left:1px solid var(--ln)}.x3 dt{color:var(--gold);margin-bottom:.35rem;font-size:.62rem}.x3 dd{font-size:.82rem;color:var(--w70);line-height:1.5}
.lnk{display:inline-flex;gap:.6rem;align-items:center;margin-top:1rem;font:500 .9rem var(--fd);color:var(--gold);border-bottom:1px solid var(--gd);padding-bottom:.2rem;transition:gap .3s var(--ease)}.lnk:hover{gap:1rem}.lnk b{font-weight:400}
.dos.big{height:clamp(420px,66vh,640px)}.dos.big .stk{--sz:clamp(250px,25vw,380px)}
.ly{font-size:.8rem;padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.9rem;z-index:0}.ly>p{color:var(--gold)!important;font-size:.62rem!important}.base2{z-index:0}
.ly{--z:calc(var(--zk,0)*46px + 46px)}.ly[data-k="0"]{--zk:0}.ly[data-k="1"]{--zk:1}.ly[data-k="2"]{--zk:2}.ly[data-k="3"]{--zk:3}.ly[data-k="4"]{--zk:4}.ly[data-k="5"]{--zk:5}
.ly.below{opacity:.6}.ly.sel{--lift:44px;border-color:var(--gold);background:color-mix(in srgb,var(--s2) 96%,transparent);box-shadow:30px 38px 60px -24px rgba(0,0,0,.6),0 0 0 1px rgba(var(--gold-rgb),.3)}.ly.above{--lift:150px;opacity:.14}
.sh.ly{transform:translateZ(calc(var(--z) + var(--lift,0px)))}
.docs{list-style:none;display:grid;gap:.1rem}.docs li{padding:.45rem 0;border-bottom:1px solid var(--ln);color:var(--w70);font-size:.8rem}.docs li.ok{color:var(--ink)}.docs li.ok::after{content:' ✓';color:var(--gold)}.docs li.due{color:var(--gold)}.docs li.due::before{content:'→ '}
.docs.tw{grid-template-columns:1fr 1fr;gap:0 .8rem}.docs.tw li b{display:block;color:var(--gold);font-weight:500;font-size:.62rem}
.flow{list-style:none;display:flex;flex-wrap:wrap;gap:.2rem 0;margin-top:auto;color:var(--w45);font-size:.6rem}.flow li{display:flex;align-items:center}.flow li+li::before{content:'';width:14px;height:1px;background:var(--gd);margin:0 .45rem}.flow li.g{color:var(--gold)}
.mini{width:100%;height:auto;color:var(--ink)}
/* services */
.svh{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:2rem 4vw;align-items:end;margin-bottom:clamp(1rem,3vh,1.8rem)}.svh h2{margin-bottom:0}.svh>p{font-size:.92rem;max-width:34rem}
.sv{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}
.axis{display:grid;grid-template-columns:2.2rem 1fr 6rem;gap:1rem;color:var(--w45);font-size:.58rem;padding:0 .2rem .5rem}.ax{display:flex;justify-content:space-between}.ax i{font-style:normal}.axis span:last-child{text-align:right}
.svL{border-top:1px solid var(--lm)}.svL .axis{border-bottom:1px solid var(--ln);padding-top:.6rem;margin-top:0}
.lr{display:grid;grid-template-columns:2.2rem minmax(0,1fr) minmax(7rem,1.1fr) 3.8rem;gap:1rem;align-items:center;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--ln);padding:.68rem .2rem;color:var(--w70);position:relative;transition:color .25s,background .25s,padding .35s var(--ease)}
.lr b{font:500 .66rem var(--fm);color:var(--gd)}.lr .nm{font:500 .98rem var(--fd);letter-spacing:-.02em}.lr em{font-style:normal;text-align:right;color:var(--w45);font-size:.64rem}
.tr{position:relative;height:6px;background:linear-gradient(90deg,var(--ln) 1px,transparent 1px) 0 0/calc(100%/5) 100%;border-bottom:1px solid var(--ln)}.tr i{position:absolute;top:0;bottom:-1px;background:var(--gd);transition:background .3s}.tr.tx{height:auto;border:0;background:none}.tr.tx i{display:none}.tr u{text-decoration:none;color:var(--w45);font-size:.58rem}
.lr:hover{color:var(--ink)}.lr[aria-selected=true]{color:var(--ink);background:linear-gradient(90deg,var(--gg),transparent 70%);padding-left:.7rem}.lr[aria-selected=true]::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold)}.lr[aria-selected=true] b,.lr[aria-selected=true] em,.lr[aria-selected=true] u{color:var(--gold)}.lr[aria-selected=true] .tr i{background:var(--gold)}
.svR{position:sticky;top:6rem;border-left:1px solid var(--lm);padding-left:clamp(1.2rem,2.4vw,2.2rem);min-height:20rem}.sp{display:none}.sp.on{display:block;animation:rise2 .5s var(--ease)}.sp>p:not(.kick){font-size:.92rem;margin-bottom:1.2rem}
.mt{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--lm)}.mt>div{padding:.8rem 1rem .8rem 0}.mt>div+div{padding-left:1rem;border-left:1px solid var(--ln)}.mt dt{color:var(--w45);font-size:.62rem;margin-bottom:.3rem}.mt dd{font:500 1.02rem/1.35 var(--fd);color:var(--ink);letter-spacing:-.02em}
.imp{margin-top:clamp(1rem,3vh,1.8rem);padding-left:1.2rem;border-left:1px solid var(--gd);font-size:.82rem;max-width:84ch}.imp strong{color:var(--ink);font-weight:500}
/* who */
.rts{margin-top:clamp(1.2rem,4vh,2.4rem);border-top:1px solid var(--lm)}.rt{display:grid;grid-template-columns:11rem minmax(0,1.1fr) minmax(0,1fr);gap:2rem;align-items:center;padding:clamp(1rem,3.4vh,1.8rem) 0;border-bottom:1px solid var(--ln)}
.who{color:var(--gold)}.rt blockquote{font:500 clamp(1.1rem,min(1.9vw,3.4vh),1.6rem)/1.3 var(--fd);letter-spacing:-.025em;color:var(--ink)}
.route{list-style:none;display:flex;flex-wrap:wrap;gap:.9rem 0}.route li{position:relative;font:.74rem var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--w70);padding:.5rem .9rem;border:1px solid var(--lm);background:var(--s1)}.route li+li{margin-left:1.6rem}.route li+li::before{content:'';position:absolute;right:100%;top:50%;width:1.6rem;height:1px;background:var(--gold)}.route li:last-child{border-color:var(--gold);color:var(--gold)}.route li:last-child:not(:first-child)::after{content:'';position:absolute;right:calc(100% + 1.2rem);top:calc(50% - 3px);width:5px;height:5px;border:solid var(--gold);border-width:1px 1px 0 0;transform:rotate(45deg);display:none}
/* process */
.pipe{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);margin-top:clamp(1.8rem,6vh,3.6rem);position:relative}
.pipe li{position:relative;padding:2.2rem 1.4rem 0 0;border-top:1px dashed var(--lm)}.pipe li::before{content:'';position:absolute;top:-4px;left:0;width:7px;height:7px;background:var(--gd);transform:rotate(45deg)}.pipe li.gate,.pipe li.gate~li{border-top:1px solid var(--gold)}
.pipe li.gate::before{width:13px;height:13px;top:-7px;background:var(--gold)}.pipe li.gate::after{content:'Scope & pricing agreed in writing';position:absolute;left:-1px;bottom:calc(100% + 1.6rem);padding-left:.9rem;border-left:1px solid var(--gold);font:500 .62rem/1.4 var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);white-space:nowrap;height:2.4rem;display:flex;align-items:flex-end;padding-bottom:.1rem}
.pipe li.pre{border-top-style:dashed}.pipe b{display:block;font:500 clamp(2.4rem,4.4vw,4rem)/1 var(--fd);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--ink) 34%,transparent);margin-bottom:.8rem}.pipe li.gate b,.pipe li.gate~li b{-webkit-text-stroke-color:rgba(var(--gold-rgb),.7)}
.pipe h3{font-size:1.2rem;letter-spacing:-.025em;margin-bottom:.5rem;color:var(--ink)}.pipe p{font-size:.84rem;max-width:20rem}
.pipe li{opacity:0;transform:translateY(12px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.pipe.vis li{opacity:1;transform:none}.pipe.vis li:nth-child(2){transition-delay:.1s}.pipe.vis li:nth-child(3){transition-delay:.2s}.pipe.vis li:nth-child(4){transition-delay:.3s}.pipe.vis li:nth-child(5){transition-delay:.4s}
/* connected */
.cn{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,5rem);align-items:center}.cnL>p{max-width:30rem}
.eco{position:relative;aspect-ratio:10/7;max-height:62vh;margin-inline:auto;width:100%}.eco svg{position:absolute;inset:0;width:100%;height:100%}.eco path{stroke:var(--gd);stroke-width:1px;vector-effect:non-scaling-stroke;stroke-dasharray:4 5}
.en{position:absolute;transform:translate(-50%,-50%);display:grid;gap:.15rem;text-align:center;padding:.9rem 1.2rem;border:1px solid var(--lm);background:var(--s1);min-width:11rem;transition:border-color .3s,transform .4s var(--ease)}.en b{color:var(--ink);font-weight:500}.en span{font-size:.8rem;color:var(--w45)}.en:hover{border-color:var(--gold);transform:translate(-50%,-52%)}.en:hover b{color:var(--gold)}
.en.c{left:50%;top:50%;border-color:var(--gold);padding:1.3rem 1.6rem;background:var(--gg);min-width:13rem}.en.c b{color:var(--gold)}.en.c::before{content:'You are here';position:absolute;top:-.75rem;left:50%;transform:translateX(-50%);background:var(--void);padding:0 .5rem;font:.56rem var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--w45)}
/* enquire */
.eq{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,6vw,6rem);align-items:center}.eqL>p{max-width:30rem}
.paths{display:grid;margin-top:1.6rem;border-top:1px solid var(--lm)}.ps-cta-path{display:grid;grid-template-columns:2.4rem 1fr;align-items:center;text-align:left;background:none;border:0;border-bottom:1px solid var(--ln);color:var(--w70);padding:.85rem 0;font:500 1.02rem var(--fd);letter-spacing:-.02em;position:relative;transition:color .25s,padding .35s var(--ease)}.ps-cta-path b{color:var(--gd);font-weight:500}.ps-cta-path::after{content:'→';position:absolute;right:0;color:var(--gd);transition:transform .3s var(--ease),color .3s}.ps-cta-path:hover,.ps-cta-path.on{color:var(--ink);padding-left:.5rem}.ps-cta-path:hover::after,.ps-cta-path.on::after{color:var(--gold);transform:translateX(-6px)}.ps-cta-path.on b{color:var(--gold)}
.field label{display:block;font:500 .7rem var(--fm);letter-spacing:.1em;text-transform:uppercase;color:var(--w45);margin-bottom:.3rem}
input[type=text],input[type=tel],select,textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--lm);color:var(--ink);font:400 1rem var(--fb);padding:.6rem 0;border-radius:0;transition:border-color .25s}select option{background:var(--s1);color:var(--ink)}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--gold)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 2rem}.field--full{grid-column:1/-1}.form-submit{margin-top:1.6rem;display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.form-legal{font-size:.78rem;color:var(--w45)!important;flex:1;min-width:220px}
.form-card>h2{font:500 .72rem var(--fm)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)!important;margin-bottom:1.4rem!important;max-width:none!important}
/* close */
.cls h2{font-size:clamp(2.6rem,min(7.4vw,14vh),8rem);max-width:none;line-height:.96;letter-spacing:-.055em}.rule{display:block;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 1.6s var(--eio) .2s;margin:clamp(1.2rem,4vh,2.4rem) 0}.rule.vis{transform:scaleX(1)}.cls-row{display:flex;gap:2rem;align-items:end;justify-content:space-between;flex-wrap:wrap}.cls-row p{max-width:36rem}
/* light */
html[data-theme=light] .hero{background:radial-gradient(52% 60% at 74% 52%,rgba(var(--gold-rgb),.16),transparent 70%),linear-gradient(rgba(70,52,24,.08) 1px,transparent 1px) 0 0/52px 52px,linear-gradient(90deg,rgba(70,52,24,.08) 1px,transparent 1px) 0 0/52px 52px,var(--void)}
html[data-theme=light] .sh{background:#fbf9f3;border-color:rgba(18,20,24,.28);box-shadow:26px 30px 44px -26px rgba(40,30,10,.4)}html[data-theme=light] .base,html[data-theme=light] .base2{background:#efe8d6}html[data-theme=light] .sh.tg{background:#fffdf8;border-color:#7a5a14}html[data-theme=light] .tg b,html[data-theme=light] .sh svg .t{color:#7a5a14;fill:#7a5a14}html[data-theme=light] .ly.sel{background:#fffdf8;border-color:#7a5a14}
html[data-theme=light] .lt{border-color:rgba(18,20,24,.3)}html[data-theme=light] .lt[aria-selected=true]{border-color:#7a5a14;color:#7a5a14}
html[data-theme=light] .x3,html[data-theme=light] .mt,html[data-theme=light] .svL,html[data-theme=light] .rts,html[data-theme=light] .paths{border-top-color:rgba(18,20,24,.3)}html[data-theme=light] .svR{border-left-color:rgba(18,20,24,.3)}
html[data-theme=light] .route li,html[data-theme=light] .en{background:#fbf9f3;border-color:rgba(18,20,24,.28)}html[data-theme=light] .en.c{background:#f3ead2;border-color:#7a5a14}html[data-theme=light] .route li:last-child{border-color:#7a5a14;color:#7a5a14}
html[data-theme=light] .form-card{background:#fbf9f3;border:1px solid rgba(18,20,24,.16);padding:1.6rem 1.8rem;box-shadow:10px 12px 0 -2px rgba(122,90,20,.08)}html[data-theme=light] input[type=text],html[data-theme=light] input[type=tel],html[data-theme=light] select,html[data-theme=light] textarea{border-bottom-color:rgba(18,20,24,.4)}
html[data-theme=light] .tr i{background:#9c8250}html[data-theme=light] .lr[aria-selected=true] .tr i{background:#7a5a14}html[data-theme=light] .rule{background:#7a5a14}html[data-theme=light] .btn-outline{border-color:rgba(18,20,24,.4)}
html[data-theme=light] .pipe b{-webkit-text-stroke-color:rgba(18,20,24,.4)}html[data-theme=light] .pipe li.gate b,html[data-theme=light] .pipe li.gate~li b{-webkit-text-stroke-color:rgba(122,90,20,.75)}
@media(prefers-reduced-motion:reduce){.tg,.scan,.blink{animation:none!important}}
@media(max-height:820px){.crumb{display:none}.hero-sub{margin-bottom:1.2rem}.sec{padding-block:5rem 1.5rem}.sec h2{font-size:clamp(1.9rem,min(4vw,7vh),3.6rem)}.lp>p:not(.kick){font-size:.84rem;margin-bottom:.8rem}.x3 dd{font-size:.76rem}.lr{padding:.5rem .2rem}.sp>p:not(.kick){font-size:.86rem}.rt{padding:.8rem 0}.pipe p{font-size:.8rem}.hf li{padding-top:.6rem}.dos{height:clamp(300px,50vh,500px)}}
@media(max-height:700px){.hero-sub{display:none}.lps{min-height:0}.lp>p:not(.kick){display:none}.svh>p{display:none}.imp{display:none}}
@media(max-width:1000px){.hg,.ins,.sv,.cn,.eq,.svh{grid-template-columns:minmax(0,1fr)}.hero{padding-bottom:7rem}.dos{height:min(56vw,380px);margin-top:.6rem}.dos.big{height:min(80vw,460px)}.svR{position:static;border-left:0;border-top:1px solid var(--lm);padding:1.4rem 0 0;min-height:0}.rt{grid-template-columns:minmax(0,1fr);gap:.8rem}.pipe{grid-template-columns:minmax(0,1fr);border-left:1px solid var(--gd);margin-left:.3rem}.pipe li,.pipe li.gate,.pipe li.gate~li,.pipe li.pre{border-top:0;padding:0 0 1.6rem 1.6rem}.pipe li::before{top:.5rem;left:-5px}.pipe li.gate::before{left:-7px;top:.4rem}.pipe li.gate::after{position:static;display:block;height:auto;border:0;padding:0 0 .4rem;white-space:normal}.pipe b{font-size:2.2rem;margin-bottom:.3rem}.eco{aspect-ratio:auto;max-height:none;display:grid;gap:.6rem}.eco svg{display:none}.en,.en.c{position:static;transform:none!important;min-width:0;text-align:left}.hf{position:static;margin-top:1.6rem;grid-template-columns:1fr 1fr}.hf li{padding-bottom:.6rem}}
@media(max-width:720px){.hero h1{font-size:clamp(2.5rem,12vw,4rem)}.hero h1 span{white-space:normal}.hero-sub{display:block;font-size:.92rem}.x3,.mt{grid-template-columns:1fr}.x3>div+div,.mt>div+div{padding-left:0;border-left:0;border-top:1px solid var(--ln)}.lr{grid-template-columns:1.8rem minmax(0,1fr) 3.4rem;gap:.7rem}.lr .tr{display:none}.axis{display:none}.form-grid{grid-template-columns:1fr}.stk{--sz:min(62vw,300px)}.docs.tw{grid-template-columns:1fr}.ly{padding:.8rem}.ly .flow{display:none}.cls h2{font-size:clamp(2.2rem,11vw,3.6rem)}}
@media(min-width:1001px) and (min-height:700px){html{scroll-snap-type:y proximity}.sec,.hero{scroll-snap-align:start}}
.hg>*,.ins>*,.sv>*,.cn>*,.eq>*{min-width:0}

.hf{position:static;margin:0;max-width:none}.hfw{position:absolute;left:0;right:0;bottom:1.4rem;margin-inline:auto}
.stk{--sz:clamp(250px,28vw,420px)}
.pp{background:color-mix(in srgb,var(--s1) 55%,transparent);border-color:color-mix(in srgb,var(--ink) 16%,transparent);box-shadow:none}
.sh svg{overflow:visible}
.dos.big .stk{margin-top:-6%}.ly.above{--lift:104px;opacity:.16}
.axis{grid-template-columns:2.2rem minmax(0,1fr) minmax(7rem,1.1fr) 3.8rem;gap:1rem;padding:0 .2rem .5rem}.axis span:nth-child(3){grid-column:3}
#who h2{max-width:none}
.route{display:grid;gap:.7rem;padding-left:1.3rem;border-left:1px solid var(--gd);position:relative}.route li,.route li+li{margin:0;padding:0;border:0;background:none;font-size:.74rem;color:var(--w70);position:relative}
.route li::before,.route li+li::before{content:'';position:absolute;right:auto;left:calc(-1.3rem - 4px);top:.35rem;width:7px;height:7px;background:var(--gd);transform:rotate(45deg)}
.route li:last-child{border:0;color:var(--gold)}.route li:last-child::before{background:var(--gold);width:11px;height:11px;left:calc(-1.3rem - 6px);top:.25rem}
.rt{grid-template-columns:11rem minmax(0,1.2fr) minmax(0,.8fr)}
.eco svg{z-index:0}.en{z-index:1;background:var(--s1)}.en.c{background:linear-gradient(var(--gg),var(--gg)),var(--s1)}
html[data-theme=light] .route li,html[data-theme=light] .route li+li{background:none;border:0}html[data-theme=light] .route li:last-child{color:#7a5a14}html[data-theme=light] .route li:last-child::before{background:#7a5a14}
html[data-theme=light] .pp{background:rgba(251,249,243,.6);border-color:rgba(18,20,24,.14)}
html[data-theme=light] .en.c{background:linear-gradient(rgba(var(--gold-rgb),.14),rgba(var(--gold-rgb),.14)),#fbf9f3}
@media(max-width:1000px){.hfw{position:static;margin-top:1.4rem}.rt{grid-template-columns:minmax(0,1fr)}}
.pp{background:color-mix(in srgb,var(--s1) 22%,transparent)!important}.base{background:color-mix(in srgb,var(--s2) 96%,transparent)}
html[data-theme=light] .pp{background:rgba(251,249,243,.22)!important}
/* ===== director's pass ===== */
.sno{position:absolute;top:5.6rem;right:var(--gut);color:var(--w45);font-size:.58rem!important;letter-spacing:.16em}
.sh::after{content:'';position:absolute;right:0;bottom:0;width:28px;height:28px;background:linear-gradient(135deg,transparent 50%,color-mix(in srgb,var(--ink) 13%,transparent) 50%);pointer-events:none}.tg::after{display:none}
.trail{stroke-dasharray:5 7;animation:dash 7s linear infinite}@keyframes dash{to{stroke-dashoffset:-96}}
.seal{position:absolute;right:11%;bottom:12%;width:22%;aspect-ratio:1;border:1.5px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-style:normal;color:var(--gold);font-size:.5rem!important;letter-spacing:.2em;transform:rotate(-16deg);box-shadow:inset 0 0 0 5px rgba(var(--gold-rgb),.12),inset 0 0 0 6px rgba(var(--gold-rgb),.4)}
/* inspect: levels + seals */
.dos.big{position:relative}.lvl{position:absolute;right:0;top:50%;transform:translateY(-50%);list-style:none;display:grid;gap:.7rem;text-align:right;font-size:.56rem!important;color:var(--w45);z-index:2}
.lvl li{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;transition:color .4s}.lvl li::after{content:'';width:16px;height:1px;background:var(--gd);transition:width .5s var(--ease),background .4s}.lvl li.on{color:var(--gold)}.lvl li.on::after{width:42px;background:var(--gold)}
.ly::before{content:attr(data-seal);position:absolute;right:12px;top:10px;width:64px;height:64px;border:1.5px solid var(--gold);border-radius:50%;display:grid;place-items:center;font:500 .5rem var(--fm);letter-spacing:.14em;color:var(--gold);transform:rotate(-14deg);opacity:0;transition:opacity .6s .35s;box-shadow:inset 0 0 0 4px rgba(var(--gold-rgb),.12)}.ly.sel::before{opacity:1}
.ly>*{transition:opacity .5s}.ly.above>*{opacity:0}.ly.sel{font-size:.86rem}.ly.sel .docs li{padding:.55rem 0}
.dos.big .stk{--sz:clamp(260px,26vw,400px)}
/* services: gantt grid + figure */
.tr{height:18px;background:linear-gradient(90deg,var(--ln) 1px,transparent 1px) 0 0/calc(100%/5) 100%;border:0}.tr i{top:6px;bottom:auto;height:6px}.tr i::before,.tr i::after{content:'';position:absolute;top:-2px;width:2px;height:10px;background:inherit}.tr i::before{left:0}.tr i::after{right:0}
.lr{padding:.52rem .2rem}.tr.tx{height:18px;display:flex;align-items:center}
.fig{display:flex;align-items:baseline;gap:.8rem;margin:.2rem 0 1rem;flex-wrap:wrap}.fig b{font:600 clamp(2.6rem,min(5vw,9vh),4.4rem)/1 var(--fd);letter-spacing:-.06em;color:var(--ink)}.fig.tx2 b{font-size:clamp(1.5rem,min(2.6vw,5vh),2.2rem);letter-spacing:-.04em;line-height:1.1}.fig span{font:.62rem var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
/* who */
.rt{position:relative;transition:background .45s}.rt:hover{background:linear-gradient(90deg,var(--gg),transparent 62%)}.rt::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold);transform:scaleY(0);transition:transform .5s var(--ease)}.rt:hover::before{transform:scaleY(1)}
.rt .who{padding-left:1rem}.rt blockquote{position:relative;padding-left:2.6rem}.rt blockquote::before{content:'\201C';position:absolute;left:0;top:-.5rem;font:700 4rem/1 var(--fd);color:transparent;-webkit-text-stroke:1px var(--gold)}.rt blockquote::after{content:'\201D';color:var(--gold)}
.rt:hover .route li::before{background:var(--gold)}
/* process: sheets */
.doc{width:62px;height:auto;margin-bottom:1rem;color:var(--ink);display:block}.pipe b{font:500 .64rem var(--fm)!important;letter-spacing:.16em;-webkit-text-stroke:0!important;color:var(--gd)!important;margin-bottom:.5rem!important;display:block}.pipe li.gate b,.pipe li.gate~li b{color:var(--gold)!important}
.pipe h3{font-size:1.35rem}.pipe li{padding-top:1.8rem}
/* connected: orbit */
.eco{aspect-ratio:1/1;max-height:66vh;max-width:66vh}.eco svg circle{stroke:var(--lm);stroke-width:1px;vector-effect:non-scaling-stroke;stroke-dasharray:2 6}.eco svg circle:nth-of-type(2){stroke:var(--gd);stroke-dasharray:none;opacity:.5}.eco svg path{stroke:var(--gold);stroke-opacity:.6;stroke-dasharray:3 5}
.en{min-width:10rem;padding:.8rem 1.1rem}.en.c{min-width:12rem}
/* enquire */
.resp{display:flex;align-items:baseline;gap:1rem;margin-top:1.4rem}.resp b{font:600 clamp(3rem,6vw,5rem)/1 var(--fd);letter-spacing:-.07em;color:var(--gold)}.resp span{font:.66rem var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--w45);max-width:16rem;line-height:1.6}
/* close */
.cls .wrap{position:relative;z-index:1}.deco{position:absolute;right:5vw;bottom:9vh;width:min(24vw,360px);aspect-ratio:.78;pointer-events:none;opacity:.55}.deco i{position:absolute;inset:0;border:1px solid var(--lm);background:color-mix(in srgb,var(--s1) 40%,transparent)}.deco i:nth-child(1){transform:translate(-34px,-30px) rotate(-6deg)}.deco i:nth-child(2){transform:translate(-14px,-12px) rotate(-3deg)}.deco i:nth-child(3){border-color:var(--gd)}
html[data-theme=light] .seal,html[data-theme=light] .ly::before{color:#7a5a14;border-color:#7a5a14}html[data-theme=light] .lvl li.on{color:#7a5a14}html[data-theme=light] .lvl li.on::after{background:#7a5a14}
html[data-theme=light] .fig span,html[data-theme=light] .resp b{color:#7a5a14}html[data-theme=light] .rt blockquote::before{-webkit-text-stroke-color:#7a5a14}html[data-theme=light] .rt blockquote::after{color:#7a5a14}
html[data-theme=light] .deco i{background:rgba(251,249,243,.5);border-color:rgba(18,20,24,.2)}html[data-theme=light] .trail{stroke:#7a5a14}
@media(max-width:1000px){.sno,.lvl{display:none}.deco{display:none}.eco{max-width:none;aspect-ratio:auto}.doc{width:54px}.pipe li{padding-top:0!important}}
@media(max-height:820px){.fig b{font-size:clamp(2.2rem,7vh,3.4rem)}.doc{width:48px;margin-bottom:.6rem}.pipe h3{font-size:1.15rem}.pipe li{padding-top:1.4rem}}
.sh::after{display:none}
.seal{right:auto;left:30%;bottom:7%}
.lvl{left:0;right:auto;top:auto;bottom:3%;transform:none;text-align:left}.lvl li{justify-content:flex-start;flex-direction:row-reverse}.lvl li::after{display:none}.lvl li::before{content:'';width:16px;height:1px;background:var(--gd);transition:width .5s var(--ease),background .4s}.lvl li.on::before{width:42px;background:var(--gold)}
html[data-theme=light] .lvl li.on::before{background:#7a5a14}
.doc{width:74px}
@media(max-height:820px){.doc{width:56px}}
@media(max-width:1000px){.doc{width:60px}}
@media(max-width:1000px){.sec,.hero{overflow-x:clip}.insR{overflow:hidden}}
