/* The Ops Layer · Contact. Builds on tokens/base/components (Home v3 system). */
/* hero */
.hero{position:relative;overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.3) 52%,rgba(0,0,0,0) 74%),linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,.2) 45%,rgba(0,0,0,0) 60%)}
.sentinel{position:absolute;top:120px;left:0;width:1px;height:1px}
.ol.js:not(.is-static) .hero [data-h]{opacity:0;translate:0 24px;filter:blur(6px);transition:opacity 1.3s var(--ex),translate 1.5s var(--ex),filter 1.3s var(--ex);transition-delay:var(--d,0ms)}
.ol.js:not(.is-static).loaded .hero [data-h]{opacity:1;translate:0 0;filter:blur(0)}
.hero{min-height:max(640px,min(80vh,820px));display:flex;flex-direction:column}
.hero>.wrap{width:100%}
.sh-in{flex:1;display:flex;flex-direction:column;justify-content:center;padding-top:130px;padding-bottom:72px}
.sh-h1{font-size:clamp(60px,8vw,128px);line-height:.92}
.sh-h1 .ln+.ln{padding-left:clamp(0px,10vw,170px)}
.sh-sub{margin-top:clamp(32px,3vw,48px);max-width:18em;font-family:var(--disp);font-size:clamp(24px,2.4vw,38px);line-height:1.2;letter-spacing:-.012em;color:var(--on-d2);text-wrap:balance}
.sh-sub em{color:var(--fg)}
.sh-note{margin-top:20px;max-width:56ch;font-size:15.5px;line-height:1.7;color:var(--on-d3)}
@media (max-width:760px){.sh-h1 .ln+.ln{padding-left:0}}

/* three routes, one switch */
.rt-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid rgb(0 0 0 / .14);border-radius:6px;overflow:hidden}
.rt-t{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 18px;align-items:center;padding:26px 28px;color:var(--on-d3);transition:background-color .5s var(--ease),color .4s}
.rt-t+.rt-t{border-left:1px solid rgb(0 0 0 / .14)}
.rt-t .mk,.rt-t .ct-ic{grid-row:1/3;font-size:40px;color:currentColor}
.rt-t .ct-ic{font-size:34px;margin:3px}
.rt-t small{font-size:12.5px;font-weight:700}
.rt-t b{font-family:var(--disp);font-weight:700;font-size:clamp(19px,1.6vw,24px);line-height:1.15;color:var(--on-d2);transition:color .4s}
.rt-t:hover{color:var(--on-d2)}
.rt-t:hover b{color:var(--fg)}
.rt-t.on{background:#0F0F0F;color:rgb(255 255 255 / .6)}
.rt-t.on b{color:#fff}
.rt-t:focus-visible{outline:2px solid #F26B21;outline-offset:-3px}
.rt-panes{position:relative;margin-top:clamp(48px,4.4vw,72px)}
.rt-p{scroll-margin-top:120px}
.rt.on .rt-p{display:none}
.rt.on .rt-p.on{display:block;animation:rtin .8s var(--ex) both}
@keyframes rtin{from{opacity:0;translate:0 18px;filter:blur(6px)}}
.rt:not(.on) .rt-p+.rt-p{margin-top:96px;padding-top:56px;border-top:1px solid rgb(0 0 0 / .12)}
.rt-h{font-size:clamp(36px,4vw,64px);line-height:1.02;max-width:14em;color:var(--fg)}
.rt-lead{margin-top:24px;max-width:60ch}
.rt-lead a{color:var(--fg);text-underline-offset:3px}
.rt-terms{margin:22px 0 34px;display:flex;flex-wrap:wrap;gap:6px 0;font-family:var(--disp);font-style:italic;font-size:19px;color:var(--on-d)}
.rt-terms span{display:inline-flex;align-items:center}
.rt-terms span+span::before{content:"";width:10px;height:6px;margin:0 16px;background:currentColor;opacity:.45;transform:skewX(-29deg)}
.rt-p .apf{margin-top:40px}
.rt-mail{display:inline-block;margin-top:24px;font-size:clamp(30px,3.6vw,58px);letter-spacing:-.02em;color:var(--fg);text-decoration:none;background:linear-gradient(#0F0F0F,#0F0F0F) 0 100%/0 2px no-repeat;transition:background-size .8s var(--ex)}
.rt-mail:hover{background-size:100% 2px}
.rt-p .lk{margin-top:24px}
.rt-p .lk .ic{font-size:17px;transform:none}

/* what to expect */
.exl{list-style:none;margin:clamp(48px,4.4vw,72px) 0 0;padding:0;border-top:1px solid var(--hair2)}
.exl li{display:grid;grid-template-columns:minmax(200px,.4fr) minmax(0,1fr);gap:12px clamp(32px,5vw,80px);align-items:baseline;padding:26px 0;border-bottom:1px solid var(--hair)}
.exl b{font-family:var(--disp);font-weight:700;font-size:clamp(21px,1.8vw,27px);color:var(--fg)}
.exl span{font-size:16px;line-height:1.65;color:var(--on-d2);max-width:60ch}
.ex-no{margin-top:clamp(40px,4vw,64px);display:flex;flex-wrap:wrap;gap:8px 40px;font-family:var(--disp);font-size:clamp(20px,1.8vw,27px);color:var(--on-d3)}
.ex-no{font-style:italic;color:var(--on-d)}
.ex-no span{display:inline-flex;align-items:center}
.ex-no span+span::before{content:"";width:10px;height:6px;margin-right:40px;margin-left:-20px;background:currentColor;opacity:.4;transform:skewX(-29deg)}
.addr{margin-top:clamp(72px,7vw,120px);padding-top:28px;border-top:1px solid var(--hair);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px clamp(32px,5vw,80px)}
.addr-k{margin-bottom:10px;font-size:12.5px;font-weight:700;color:var(--on-d3)}
.addr p:not(.addr-k){font-size:15px;line-height:1.7;color:var(--on-d2)}
.addr a{color:var(--fg);text-underline-offset:3px}

@media (max-width:1100px){
.addr{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
.rt-tabs{grid-template-columns:minmax(0,1fr)}
.rt-t+.rt-t{border-left:0;border-top:1px solid rgb(0 0 0 / .14)}
.rt-t{padding:18px 20px}
.exl li{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
.ol *,.ol *::before,.ol *::after{animation:none!important;transition-duration:.01ms!important;transition-delay:0s!important}
}

/* Phone pass (6 Oct 2026): the three "No ..." lines wrapped and their separators hung off the left edge */
@media (max-width:760px){
.ex-no{flex-direction:column;align-items:flex-start;gap:12px}
.ex-no span::before,.ex-no span+span::before{content:"";flex:none;width:10px;height:6px;margin:0 16px 0 0;background:currentColor;opacity:.4;transform:skewX(-29deg)}
}
