/* Home values: light editorial panels, following the Services reading sequence. */
.hv{--hv-first:#EFE9DC;--hv-exit:0;--hv-accent:color-mix(in srgb,#81f2af calc(var(--hv-exit)*100%),var(--teal));background:color-mix(in srgb,#070A09 calc(var(--hv-exit)*100%),var(--hv-first));color:var(--ink);padding:0;position:relative;isolation:isolate;scroll-margin-top:72px}
.hv-track,.hv-stage,.hv-stack{position:relative}
.hv-is-stacked .hv-stage{position:sticky;top:72px;overflow:clip}
.hv-is-stacked .hv-card{overflow:clip}
.hv-card{--hv-panel:#EFE9DC;--hv-art-paper:color-mix(in srgb,#070A09 calc(var(--hv-exit)*100%),var(--hv-panel));background:var(--hv-art-paper);color:var(--hv-exit-fg,var(--ink));position:relative}
.hv-card-1{--hv-panel:color-mix(in srgb,#EFE9DC calc(var(--ss-tone,1)*100%),#0B100E);color:var(--hv-exit-fg,var(--ss-fg,var(--ink)))}
.hv-card-1 .hv-art{color:color-mix(in srgb,#81f2af calc(var(--hv-exit)*100%),color-mix(in srgb,var(--teal) calc(var(--ss-tone,1)*100%),#81f2af))}
.hv-card-2{--hv-panel:#E7E1D5}.hv-card-3{--hv-panel:#F3EEE5}.hv-card-4{--hv-panel:#EBE4D8}
.hv-card+.hv-card{border-top:1px solid color-mix(in srgb,currentColor 15%,transparent)}
.hv-card-inner{padding:2rem var(--gutter)}
.hv-top,.hv-bottom{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1.25rem}
.hv-heading{display:flex;flex-direction:column;justify-content:space-between;gap:2.5rem;padding-inline-end:2rem;min-width:0}
.hv-heading h2{font-size:clamp(2.25rem,3.7vw,3.5rem);font-weight:400;line-height:1.12;letter-spacing:-.025em;margin:0;text-wrap:balance;max-width:23ch}
.hv-label{display:flex;gap:1.5rem;align-items:baseline;font-size:1rem;font-weight:500;line-height:1.3;margin:0}
.hv-label .mono{font-size:.68rem;opacity:.6}
.hv-art{margin:0;min-width:0;align-self:start;aspect-ratio:10/7;color:var(--hv-accent)}
.hv-art>svg{width:100%;height:auto;display:block}
.hv-bottom{border-top:1px solid color-mix(in srgb,currentColor 20%,transparent);padding-top:2rem;margin-top:2rem;align-items:stretch}
.hv-copy{font-size:clamp(1.15rem,1.65vw,1.5rem);font-weight:400;line-height:1.3;letter-spacing:-.018em;max-width:44ch;margin:0;padding-inline-end:1rem;text-wrap:pretty}
.hv-action{border-inline-start:1px solid color-mix(in srgb,currentColor 20%,transparent);padding-inline-start:clamp(1.25rem,2.8vw,3rem);display:flex;align-items:flex-start}
.hv-cta{display:inline-flex;gap:1rem;align-items:center;color:inherit;font-size:1rem;line-height:1.4;text-decoration:none;min-height:44px;border-bottom:1px solid color-mix(in srgb,currentColor 35%,transparent);padding-bottom:.35rem;transition:color .25s,border-color .25s}
.hv-cta>svg{width:28px;height:21px;stroke:currentColor;stroke-width:1.4;transition:transform .35s var(--e-out)}
.hv-cta:hover{color:var(--hv-accent);border-color:var(--hv-accent)}.hv-cta:hover>svg{transform:translateX(4px)}
.hv-cta:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.hv-card-1 :is(.hv-bottom,.hv-action){border-color:color-mix(in srgb,currentColor 20%,transparent)}
.hv-card-1 .hv-cta{color:inherit;border-color:color-mix(in srgb,currentColor 35%,transparent)}
.hv-card-1 .hv-cta:hover{color:var(--hv-accent);border-color:var(--hv-accent)}
.hv + .cq-wrap .imp{background:#070A09}
[dir="rtl"] .hv-heading h2{font-family:var(--sans);letter-spacing:0;line-height:1.45;max-width:none}
[dir="rtl"] .hv-copy{letter-spacing:0;line-height:1.7}
[dir="rtl"] .hv-cta>svg{transform:scaleX(-1)}[dir="rtl"] .hv-cta:hover>svg{transform:scaleX(-1) translateX(4px)}
/* A finite drawing sequence. Art remains complete without JavaScript. */
.hv-art-ready [data-hv-stage]{opacity:0;transition:opacity .35s ease}
.hv-art-ready .hv-art-trace{stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset .55s cubic-bezier(.23,1,.32,1)}
.hv-art-ready [data-hv-stage="2"],.hv-art-ready [data-hv-stage="2"] .hv-art-trace{transition-delay:.22s}
.hv-art-ready [data-hv-stage="3"],.hv-art-ready [data-hv-stage="3"] .hv-art-trace{transition-delay:.48s}
.hv-art-ready.is-drawn [data-hv-stage]{opacity:1}.hv-art-ready.is-drawn .hv-art-trace{stroke-dashoffset:0}
/* The existing Services tween drives this surface and its foreground together. */
.svcscroll[data-end-surface="beige"]{--ss-tone:0;--ss-fg:var(--paper);background:color-mix(in srgb,#EFE9DC calc(var(--ss-tone)*100%),#0B100E);color:var(--ss-fg)}
.svcscroll[data-end-surface="beige"] :is(.ss-label,.ss-line,.ss-body,.ss-more),.svcscroll[data-end-surface="beige"] .ss-head::after{color:inherit}
.svcscroll[data-end-surface="beige"] .ss-open :is(h2,p,.ss-kicker){color:inherit}
.svcscroll[data-end-surface="beige"] .ss-open{border-color:color-mix(in srgb,currentColor 25%,transparent)}
.svcscroll[data-end-surface="beige"] .ss-index li{color:inherit;border-color:color-mix(in srgb,currentColor 20%,transparent)}
.svcscroll[data-end-surface="beige"] .ss-index li.on{color:var(--paper)}
.svcscroll[data-end-surface="beige"] .ss-label{border-color:color-mix(in srgb,currentColor 25%,transparent)}
.svcscroll[data-end-surface="beige"] .ss-item+.ss-item::before{background:color-mix(in srgb,currentColor 25%,transparent)}
.svcscroll[data-end-surface="beige"] .ss-ico rect{fill:currentColor}
.svcscroll[data-end-surface="beige"] .ss-item.open .ss-more{border-color:color-mix(in srgb,currentColor 45%,transparent)}
@media(max-width:991px){
 .hv-card-inner{padding-block:2.5rem}
 .hv-heading h2{font-size:clamp(2rem,4.6vw,3rem)}
 .hv-copy{font-size:1.25rem;max-width:48ch}
}
@media(max-width:767px){
 .hv-card-inner{padding-block:1.65rem 1.75rem}
 .hv-top,.hv-bottom{grid-template-columns:1fr;gap:1rem}
 .hv-heading{padding-inline-end:0;gap:1.3rem}
 .hv-heading h2{font-size:clamp(1.7rem,6.8vw,2.8rem);line-height:1.16;max-width:22ch}
 .hv-label{order:-1;position:relative;justify-content:space-between;gap:1rem;padding-bottom:.8rem;font-size:.78rem;line-height:1.4;border-bottom:1px solid color-mix(in srgb,currentColor 18%,transparent)}
 .hv-label .mono{font-size:.7rem;opacity:.8;white-space:nowrap}
 .hv-label::after{content:"";position:absolute;inset-inline:0;bottom:-1px;height:2px;background:var(--hv-accent);transform-origin:left;transform:scaleX(1)}
 .hv-card-1 .hv-label::after{background:color-mix(in srgb,#81f2af calc(var(--hv-exit)*100%),color-mix(in srgb,var(--teal) calc(var(--ss-tone,1)*100%),#81f2af))}
 [dir="rtl"] .hv-label::after{transform-origin:right}
 .hv-arrival-ready .hv-label::after{transform:scaleX(.08);transition:transform 1s cubic-bezier(.23,1,.32,1)}
 .hv-arrival-ready.is-arrived .hv-label::after{transform:scaleX(1)}
 /* Only the outer lattice is cropped: the drawing and all frame ticks remain in view. */
 .hv-art{position:relative;width:100%;max-width:36rem;justify-self:center;aspect-ratio:2/1;overflow:hidden;margin-top:.1rem}
 .hv-art>svg{position:absolute;width:112%;max-width:none;height:auto;inset-inline-start:-6%;top:50%;transform:translateY(-50%)}
 .hv-art-grid{opacity:.08}
 .hv-art-frame{opacity:.48}
 .hv-art-ready [data-hv-stage]{transform:translateY(12px);transition:opacity .35s ease,transform .7s cubic-bezier(.23,1,.32,1)}
 .hv-art-ready [data-hv-stage="2"]{transition-delay:.14s}
 .hv-art-ready [data-hv-stage="3"]{transition-delay:.3s}
 .hv-art-ready.is-drawn [data-hv-stage]{transform:translateY(0)}
 .hv-art-ready [data-hv-stage="2"] .hv-art-trace{transition-delay:.14s}
 .hv-art-ready [data-hv-stage="3"] .hv-art-trace{transition-delay:.3s}
 .hv-bottom{margin-top:.65rem;padding-top:1.2rem;gap:.9rem}
 .hv-copy{font-size:1.05rem;line-height:1.5;max-width:none;padding:0;letter-spacing:0}
 .hv-action{padding:0;border:0}
 .hv-cta{font-size:.95rem;justify-content:space-between;min-width:min(100%,13rem);padding-block:.25rem;min-height:44px}
 [dir="rtl"] .hv-copy{line-height:1.65}
}
@media(prefers-reduced-motion:reduce){
 .hv-card-4{--hv-exit:1;--hv-exit-fg:var(--paper);--hv-accent:#81f2af}
 .hv-art-ready [data-hv-stage]{opacity:1}.hv-art-ready .hv-art-trace{stroke-dashoffset:0}
 .hv-art-ready [data-hv-stage]{transform:none}
 .hv-arrival-ready .hv-label::after{transform:scaleX(1)}
 .hv *{transition:none!important}
 .svcscroll[data-end-surface="beige"]{--ss-tone:1;--ss-fg:var(--ink)}
}

/* Selected mobile Editorial values. Desktop cards retain their own markup and motion. */
.hv-editorial{display:none}
@media(max-width:767px){
 .hv>.hv-track{display:none}
 .hv .hv-editorial{--hve-base:color-mix(in srgb,#eeeae0 calc(var(--ss-tone,1)*100%),#0B100E);--hve-green:color-mix(in srgb,#81f2af calc(var(--hv-exit,0)*100%),color-mix(in srgb,#07664e calc(var(--ss-tone,1)*100%),#81f2af));display:block;padding:25px max(var(--gutter),20px) 20px;background:color-mix(in srgb,#070A09 calc(var(--hv-exit,0)*100%),var(--hve-base));color:var(--hve-fg,var(--hv-exit-fg,var(--ss-fg,#142d29)));font-family:var(--sans);text-align:start}
 .hv .hve-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px}
 .hv .hve-header h2{margin:0;font-family:var(--sans);font-size:13px;font-weight:500;line-height:1.4;letter-spacing:.01em}
 .hv .hve-count{font:11px/1.4 var(--mono);letter-spacing:.08em;white-space:nowrap}
 .hv .hve-rows{border-top:1px solid color-mix(in srgb,currentColor 20%,transparent)}
 .hv .hve-row{border-bottom:1px solid color-mix(in srgb,currentColor 20%,transparent)}
 .hv .hve-row summary{display:grid;grid-template-columns:24px minmax(0,1fr) 20px;column-gap:12px;align-items:baseline;min-height:78px;padding-block:24px;cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent}
 .hv .hve-row summary::-webkit-details-marker{display:none}.hv .hve-row summary::marker{content:''}
 .hv .hve-number{font:11px/1.4 var(--mono);color:var(--hve-accent,var(--hve-green))}
 .hv .hve-row h3{font-family:var(--display);font-size:clamp(23px,6.4vw,34px);font-weight:500;line-height:1.18;letter-spacing:-.035em;text-wrap:balance;margin:0}
 .hv .hve-toggle{position:relative;align-self:center;height:20px;width:20px;color:var(--hve-accent,var(--hve-green))}
 .hv .hve-toggle::before,.hv .hve-toggle::after{content:'';position:absolute;top:9px;left:3px;width:14px;height:1px;background:currentColor}
 .hv .hve-toggle::after{transform:rotate(90deg);transition:transform 180ms ease}.hv .hve-row[open] .hve-toggle::after{transform:rotate(0)}
 .hv .hve-row[open] h3{color:var(--hve-accent,var(--hve-green))}
 .hv .hve-content{padding-bottom:27px}
 .hv .hve-art{position:relative;margin:0;min-width:0;width:100%;aspect-ratio:2.1;overflow:hidden;color:var(--hve-art-accent,var(--hve-green));background:color-mix(in srgb,#0d3025 calc(var(--hv-exit,0)*100%),color-mix(in srgb,#e0e5d8 calc(var(--ss-tone,1)*100%),#0d3025))}
 .hv .hve-art::after{content:'';position:absolute;inset:8px;pointer-events:none;border:1px solid color-mix(in srgb,currentColor 13%,transparent)}
 .hv .hve-art>svg{display:block;position:absolute;width:118%;height:auto;max-width:none;top:50%;left:50%;transform:translate(-50%,-50%)}
 .hv .hve-art .hv-art-grid{opacity:.1}.hv .hve-art .hv-art-frame{opacity:.45}
 .hv .hve-copy{font-family:var(--sans);font-size:16px;line-height:1.55;letter-spacing:-.015em;margin:20px 0 0;text-wrap:pretty}
 .hv .hve-inquiry{display:flex;gap:20px;justify-content:space-between;align-items:center;min-height:52px;padding:12px 0;margin-top:12px;font-size:15px;line-height:1.5;font-weight:500;color:inherit;text-decoration:none}
 .hv .hve-inquiry svg{display:block;width:20px;height:20px;flex-shrink:0;stroke:currentColor;stroke-width:1.5}
 .hv .hve-row summary:focus-visible,.hv .hve-inquiry:focus-visible{outline:2px solid currentColor;outline-offset:4px}
 [dir='rtl'] .hv .hve-row h3{font-family:var(--sans);font-size:clamp(23px,6.4vw,34px);font-weight:500;line-height:1.45;letter-spacing:0}
 [dir='rtl'] .hv .hve-copy{font-size:17px;line-height:1.75;letter-spacing:0}
 [dir='rtl'] .hv .hve-inquiry svg{transform:rotate(180deg)}
 .hve-art.is-drawing .hv-art-trace{stroke-dasharray:1;stroke-dashoffset:0;animation:hve-draw 750ms cubic-bezier(.22,.61,.36,1) both}
 .hve-art.is-drawing .hv-art-node{animation:hve-node 450ms ease both}
 .hve-art.is-drawing [data-hv-stage='2'] .hv-art-trace,.hve-art.is-drawing [data-hv-stage='2'] .hv-art-node{animation-delay:140ms}
 .hve-art.is-drawing [data-hv-stage='3'] .hv-art-trace,.hve-art.is-drawing [data-hv-stage='3'] .hv-art-node{animation-delay:280ms}
}
@keyframes hve-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes hve-node{from{opacity:0}to{opacity:1}}
@media(hover:hover) and (max-width:767px){.hv .hve-row summary:hover h3,.hv .hve-inquiry:hover{color:var(--hve-accent,var(--hve-green))}}
@media(prefers-reduced-motion:reduce){.hv .hve-art *{animation:none!important;transition:none!important}.hv .hve-art .hv-art-trace{stroke-dasharray:none!important;stroke-dashoffset:0!important}}
