/* v3.5 · product banners, service chain, news alignment, Liquid Glass */
.hero.hero-full{background:#fff!important;overflow:visible}
.hero.hero-full::after{display:none}
.hero.hero-full .hero-lines{display:none}
.hero.hero-full .hero-grid{display:block!important;padding-block:48px 0!important}
.hero.hero-full .copy{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap,24px);row-gap:21px;align-items:end;background:none!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;min-height:0!important}
.hero.hero-full .copy>*{grid-column:8/13}
.hero.hero-full .copy>.crumb,.hero.hero-full .copy>.eyebrow{grid-column:1/-1}
.hero.hero-full .copy>.h1{grid-column:1/8;grid-row:3/span 4;align-self:start;font-size:clamp(39px,4.2vw,60px)!important;line-height:1.2!important}
.hero.hero-full .copy>.lead{font-size:15px!important;line-height:1.8}
.hero.hero-full .hero-kpi{grid-column:1/8;grid-row:auto}
@media (max-width:981px){.hero.hero-full .copy>*,.hero.hero-full .copy>.h1{grid-column:1/-1;grid-row:auto}}

/* five service lines as one chain, left to right */
.svc-lines{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:0!important;position:relative;counter-reset:s}
.svc-lines::before{content:"";position:absolute;left:30px;right:30px;top:72px;height:0;border-top:1.5px dashed var(--orange);opacity:.6}
.svc-lines a{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto 60px auto auto 1fr;justify-items:start;gap:12px!important;padding:30px 24px 30px!important;border-bottom:0!important;border-left:1px solid var(--line);position:relative;min-height:300px;align-content:start}
.svc-lines a:first-child{border-left:0}
.svc-lines .ic{width:45px!important;height:45px!important;padding:9px;background:#fff;border:1px solid var(--line);border-radius:50%;position:relative;z-index:1;box-sizing:content-box}
.svc-lines b{font-size:21px!important}
.svc-lines .go{align-self:end;justify-self:start!important}
@media (hover:hover){.svc-lines a:hover .ic{border-color:var(--orange);color:var(--orange)}}
@media (max-width:981px){.svc-lines{grid-template-columns:1fr}.svc-lines::before{left:51px;right:auto;top:30px;bottom:30px;border-top:0;border-left:1.5px dashed var(--orange)}.svc-lines a{grid-template-columns:auto 1fr auto!important;grid-template-rows:auto;min-height:0;border-left:0;border-top:1px solid var(--line);align-items:center}.svc-lines .n{display:none}.svc-lines .en{display:none}}

/* news cards: links sit on one baseline */
.posts .post{display:flex!important;flex-direction:column}
.posts .post .link{margin-top:auto!important}
.posts .post h3{margin-bottom:24px}
.grid .card[href]{display:flex;flex-direction:column}
.grid .card[href] .more,.grid .card[href] .link{margin-top:auto}

/* Liquid Glass accents */
.glass,.hero-full .hero-kpi,.cmp-tray,.hc .ctrl,.finder{-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%)}
.cmp-tray{background:rgba(255,255,255,.66)!important;border:1px solid rgba(255,255,255,.8)!important;box-shadow:0 18px 48px rgba(26,23,20,.14),inset 0 1px 0 #fff!important}
@media (prefers-reduced-transparency:reduce){.hero.hero-full .ill .glass-chip,.cmp-tray{background:#fff!important;-webkit-backdrop-filter:none;backdrop-filter:none}}

*,*::before,*::after{letter-spacing:0!important}
.hero.hero-full .copy::after,.hero.hero-full .copy::before{display:none!important}
.hero.hero-full .copy .crumb{position:static!important;grid-row:1}
.hero.hero-full .copy>.eyebrow{grid-row:2;margin-top:18px}
.hero.hero-full .copy>.h1{grid-row:3/5!important;align-self:end}
.hero.hero-full .copy>.lead{grid-row:3;align-self:end}
.hero.hero-full .copy>.actions{grid-row:4;align-self:end}
@media (max-width:981px){.hero.hero-full .copy>*{grid-row:auto!important}}
.svc-lines::before{top:93px;left:54px;right:calc(20% - 54px)}
.svc-lines a{border-left:0!important;border-top:1px solid var(--line)}
.svc-lines .ic{margin-left:-9px}
@media (max-width:981px){.svc-lines::before{top:30px;left:39px;right:auto}.svc-lines .ic{margin-left:0}}
.hc.full{overflow:hidden;max-width:100vw}html,body{overflow-x:clip}

/* v3.9 · service banner: full-bleed flat light band, one large isometric scene drawn with the illustration kit
   (_build/hero_visuals.py on iso.py, inline SVG), one light Liquid Glass stat card on the content grid.
   Height is fitted by v36.js so band + card always sit above the fold (fallback below). */
.hero.hero-full .ill.hv{position:relative;display:block;width:auto;margin:48px 0 0;height:clamp(300px,calc(100svh - 468px),540px);border-radius:0;overflow:visible;padding:0!important;border:0!important;isolation:isolate;background:none!important;box-shadow:none!important}
.hero.hero-full .ill.hv::before,.hero.hero-full .ill.hv::after{display:none!important}
.hv-bleed{position:absolute;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;z-index:0;background:linear-gradient(180deg,#FFFFFF 0%,#FAF8F5 100%);box-shadow:inset 0 1px 0 rgba(26,23,20,.06),inset 0 -1px 0 rgba(26,23,20,.06)}
.hv-stage{position:absolute;z-index:1;top:18px;bottom:18px;left:calc(42px + clamp(264px,23vw,318px) + 30px);right:0}
.hero.hero-full .ill.hv .hv-stage svg[data-hv]{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;display:block;overflow:visible}
svg[data-hv] *{vector-effect:non-scaling-stroke}
@media (prefers-reduced-motion:no-preference){
 svg[data-hv] .hv-float{animation:hvFloat 9s ease-in-out infinite alternate}
 @keyframes hvFloat{from{transform:translateY(1.5px)}to{transform:translateY(-1.5px)}}
 svg[data-hv] .hv-ring{transform-box:fill-box;transform-origin:center;animation:hvRing 3.6s cubic-bezier(.22,.61,.36,1) infinite}
 @keyframes hvRing{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.9);opacity:0}}
 svg[data-hv] .hv-rise{animation:hvRise 8s linear infinite}
 @keyframes hvRise{0%{transform:translateY(0);opacity:0}8%{opacity:1}88%{opacity:1}100%{transform:translateY(var(--h));opacity:0}}
 svg[data-hv] .hv-scan{animation:hvScan 10s ease-in-out infinite alternate}
 @keyframes hvScan{from{transform:translate(0,0)}to{transform:translate(var(--dx),var(--dy))}}
 svg[data-hv] .hv-inst{animation:hvInst 13s ease-in-out infinite;animation-delay:calc(var(--i,0) * -1.45s)}
 @keyframes hvInst{0%,62%,100%{opacity:1;transform:translateY(0)}72%,84%{opacity:.14;transform:translateY(3px)}}
}
.hv-card{position:absolute;z-index:2;left:42px;top:50%;transform:translateY(-50%);width:clamp(264px,23vw,318px);display:grid;gap:9px;padding:27px 30px 30px;border-radius:21px;
 background:linear-gradient(155deg,rgba(255,255,255,.7) 0%,rgba(255,255,255,.38) 100%);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 1px 3px rgba(150,56,33,.05),0 30px 60px -18px rgba(150,56,33,.2);
 -webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%)}
.hv-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;background:linear-gradient(160deg,#fff 0%,rgba(255,255,255,.35) 38%,rgba(255,174,98,.35) 100%);
 -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.hv-e{font-size:12px;line-height:1.5;font-weight:500;color:#6B645E}
.hv-v{font:500 clamp(45px,4.4vw,72px)/1 var(--latin);color:#FE5000;font-variant-numeric:tabular-nums;white-space:nowrap}
.hv-v small{font-size:.33em;margin-left:6px;font-weight:500;color:#963821}
.hv-s{padding-top:12px;border-top:1px solid rgba(150,56,33,.12);font-size:12px;line-height:1.6;color:#6B645E}
@media (prefers-reduced-transparency:reduce){.hv-card{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media (max-width:1101px){.hv-card{left:27px}}
@media (max-width:759px){
 .hero.hero-full .ill.hv{margin-top:24px;height:clamp(300px,calc(100svh - 660px),420px);border-radius:0}
 .hv-stage{left:0;right:0;top:6px;bottom:84px}
 .hv-card{left:12px;right:12px;bottom:12px;top:auto;transform:none;width:auto;max-width:none;padding:15px 18px;border-radius:15px;grid-template-columns:1fr auto;align-items:end;gap:3px 12px;background:linear-gradient(155deg,rgba(255,255,255,.84),rgba(255,255,255,.6))}
 .hv-e{grid-column:1}.hv-v{grid-column:2;grid-row:1/span 2;font-size:36px}.hv-s{grid-column:1;padding-top:0;border-top:0}
}

/* v3.11 · banner stat: premium float callout (no box) — light TASA numerals, eyebrow, hairline, caption */
.hv-card{background:none!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-radius:0!important;padding:0!important;gap:0!important;width:clamp(240px,21vw,300px)}
.hv-card::before,.hv-card::after{display:none!important}
.hv-e{display:flex;align-items:center;gap:9px;font-size:12px;line-height:1.5;font-weight:500;color:#4A443F}
.hv-e::before{content:"";width:6px;height:6px;background:#FE5000;flex:none}
.hv-v{font-weight:200!important;font-size:clamp(78px,7.2vw,108px)!important;line-height:.9!important;color:#FE5000;margin:15px 0 18px -3px;font-variant-numeric:tabular-nums}
.hv-v small{font-size:.2em!important;font-weight:400!important;color:#963821!important;margin-left:9px!important;vertical-align:.15em}
.hv-s{position:relative;padding-top:12px!important;border-top:0!important;font-size:12px;line-height:1.6;color:#5E5751}
.hv-s::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,rgba(26,23,20,.42),rgba(26,23,20,.06))}
@media (max-width:759px){
 .hv-card{left:15px!important;right:15px!important;bottom:12px!important;width:auto!important;display:grid!important;grid-template-columns:1fr auto;align-items:end;gap:3px 12px!important;padding:12px 0 0!important;background:linear-gradient(0deg,rgba(250,248,245,.96) 55%,rgba(250,248,245,0))!important}
 .hv-v{font-size:48px!important;margin:0!important;grid-column:2;grid-row:1/span 2}
 .hv-s{padding-top:6px!important}.hv-s::before{display:none}
}
