/* Data page only (30 Sep 2026): the survey picker, the map layers figure and the stockpile volume demo. */

/* 1. which survey do I need */
#picker[hidden],.pk-step[hidden],.pk-out[hidden]{display:none!important}
.pk{margin-top:clamp(24px,4vh,40px);display:grid;gap:22px}
.pk-n{font-size:10px;color:var(--dim);margin:0 0 12px}
.pk-chips{display:flex;flex-wrap:wrap;gap:10px}
.pk-chip{appearance:none;font:inherit;font-size:15px;line-height:1.2;color:var(--text);padding:12px 18px;border-radius:999px;cursor:pointer;
  background:rgba(250,250,247,.62);border:1px solid var(--line2);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);
  transition:background .2s,border-color .2s,color .2s,transform .15s var(--ease)}
.pk-chip:hover{background:rgba(250,250,247,.9)}
.pk-chip:active{transform:scale(.96)}
.pk-chip[aria-checked="true"]{background:var(--slate-d);border-color:var(--slate-d);color:var(--ivory-l)}
.pk-step{transition:opacity .35s var(--ease),translate .45s var(--ease)}
.pk-step.in{animation:pkIn .45s var(--ease) both}
@keyframes pkIn{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
.pk-out{padding:clamp(22px,3vw,34px)!important;border-radius:24px;display:grid;gap:14px;max-width:760px}
.pk-out .mono{font-size:10px;color:var(--amber)}
.pk-out h3{margin:0;font-size:clamp(1.4rem,2.4vw,2rem);font-weight:400;letter-spacing:-.02em;line-height:1.1}
.pk-out p{margin:0;color:var(--muted);font-size:16px;line-height:1.5}
.pk-out p b{color:var(--text);font-weight:500}
.pk-go{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.pk-go .btn{min-height:44px}
.pk-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 6px;color:var(--text);font-size:11px;text-decoration:none}
.pk-link:hover{color:var(--amber)}

/* 3. map layers: the x-ray frame with a layer switch */
.ly-tabs{display:inline-flex;gap:4px;padding:4px;margin:0 0 14px;border-radius:999px;background:rgba(250,250,247,.55);border:1px solid var(--line2);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.ly-tabs button{appearance:none;border:0;font:inherit;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:10px 16px;min-height:40px;border-radius:999px;
  background:transparent;color:var(--muted);cursor:pointer;transition:background .2s,color .2s}
.ly-tabs button[aria-selected="true"]{background:var(--slate-d);color:var(--ivory-l)}
/* the new layer opens as a circle from the knob; the old one holds underneath until it is covered */
.ly .xr-th>.ly-l{position:absolute;inset:0;display:block;z-index:0;visibility:hidden;clip-path:circle(0% at var(--cx,50%) 50%)}
.ly .xr-th>.ly-l.was{visibility:visible;z-index:1;clip-path:none}
.ly .xr-th>.ly-l.on{visibility:visible;z-index:2;clip-path:circle(150% at var(--cx,50%) 50%);transition:clip-path 1.25s cubic-bezier(.7,0,.2,1)}
.ly .xr-th>.ly-l img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ly-key{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:10px;color:var(--dim)}
.ly-key i{display:block;width:120px;height:6px;border-radius:3px;background:linear-gradient(90deg,#1E4650,#3C7864,#96AA6E,#E1C882,#F0A544,#AF5A2D)}

/* 2. stockpile volumes */
.vol{margin:clamp(24px,4vh,40px) 0 0}
.vol-stage{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#E9E8E3,#DAD8D2);isolation:isolate;touch-action:pan-y;cursor:grab}
.vol-stage:active{cursor:grabbing}
.vol-stage canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block}
.vol-read{position:absolute;left:14px;top:14px;z-index:2;display:grid;grid-template-columns:auto auto;gap:4px 18px;padding:14px 18px;border-radius:18px;
  background:rgba(250,250,247,.72);-webkit-backdrop-filter:blur(16px) saturate(170%);backdrop-filter:blur(16px) saturate(170%);border:1px solid rgba(255,255,255,.6);
  box-shadow:0 10px 30px -14px rgba(25,25,25,.35)}
.vol-read .mono{font-size:9px;color:var(--dim);grid-row:1}
.vol-read strong{grid-row:2;font-weight:300;font-size:clamp(1.4rem,2.6vw,2.2rem);letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap}
.vol-read strong small{font-size:.45em;letter-spacing:0;color:var(--muted);margin-left:3px}
.vol-read [data-d].up{color:var(--pharos-ink)}
.vol-read [data-d].down{color:var(--focus)}
.vol-hint{position:absolute;right:14px;bottom:14px;z-index:2;font-size:9px;color:var(--dim);padding:6px 10px;border-radius:999px;background:rgba(250,250,247,.6);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:opacity .4s}
.vol.touched .vol-hint{opacity:0}
.vol-months{display:flex;gap:6px;margin-top:14px;overflow-x:auto;scrollbar-width:none;padding:2px}
.vol-months::-webkit-scrollbar{display:none}
.vol-months button{appearance:none;flex:1 0 auto;min-width:64px;min-height:44px;font:inherit;font-size:10px;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;cursor:pointer;
  border:1px solid var(--line2);background:rgba(250,250,247,.55);color:var(--muted);transition:background .2s,color .2s,transform .15s var(--ease)}
.vol-months button:active{transform:scale(.96)}
.vol-months button[aria-checked="true"]{background:var(--slate-d);border-color:var(--slate-d);color:var(--ivory-l)}
.vol figcaption,.ly figcaption{margin-top:12px;color:var(--dim);font-size:10px}
.vol-fallback{position:absolute;inset:0;display:grid;place-items:center;color:var(--dim);font-size:11px}

@media (max-width:760px){
  .vol-stage{aspect-ratio:4/5}
  .vol-read{left:10px;top:10px;right:10px;grid-template-columns:1fr 1fr;padding:12px 14px}
  .pk-chip{font-size:14px;padding:11px 15px}
  .vol-months{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;overflow:visible}
  .vol-months button{min-width:0;padding:0;letter-spacing:.06em}
  .ly-tabs{display:flex}
  .ly-tabs button{flex:1}
}
@media (prefers-reduced-motion:reduce){
  .pk-step.in{animation:none}
}

/* ---- 30 Sep 2026 restructure: friendly first, detail on the service pages ---- */

/* hero: the survey flight */
.dp-hero .phero-media img{filter:saturate(1.02) brightness(.9)}
.dp-hero canvas.fly{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.dp-hero .ph1{max-width:14ch}
.dp-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.dp-ctas .btn{margin:0;min-height:48px;padding:12px 22px;border-radius:999px!important}
.dp-ctas .btn.ghost{background:rgba(250,250,247,.08)!important;border-color:rgba(250,250,247,.35);color:#FAFAF7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.dp-ctas .btn.ghost:hover{background:rgba(250,250,247,.16)!important}
.fly-st{position:absolute;right:var(--gut);top:calc(96px + env(safe-area-inset-top));z-index:2;display:flex;align-items:center;gap:8px;margin:0;padding:7px 12px;border-radius:999px;
  font-size:9px;color:#FAFAF7;background:rgba(25,25,25,.45);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(250,250,247,.14);
  animation:flyIn .8s .5s cubic-bezier(.16,1,.3,1) both}
.fly-st i{width:6px;height:6px;border-radius:50%;background:#F0A544;box-shadow:0 0 0 0 rgba(240,165,68,.6);animation:flyPulse 1.2s infinite}
.fly-st.done i{background:#6FCF97;animation:none}
.fly-st.done{animation:flyOut .8s 2.4s cubic-bezier(.4,0,.2,1) forwards}
@keyframes flyIn{from{opacity:0;translate:0 -8px}to{opacity:1;translate:0 0}}
@keyframes flyOut{to{opacity:0;translate:0 -6px}}
@keyframes flyPulse{70%{box-shadow:0 0 0 7px rgba(240,165,68,0)}100%{box-shadow:0 0 0 0 rgba(240,165,68,0)}}

/* services: three groups of picture cards */
.sg{margin-top:clamp(44px,7vh,76px)}
.sg-head{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:16px;align-items:baseline;padding-top:18px;border-top:1px solid var(--line2)}
.sg-n{font-size:10px;color:var(--amber)}
.sg-t{margin:0;font-size:clamp(1.35rem,2.3vw,1.9rem);font-weight:400;letter-spacing:-.02em;line-height:1.1}
.sg-head p{grid-column:2;margin:6px 0 0;color:var(--muted);font-size:15px}
.sg-row{margin-top:22px!important}
a.fig.svc{color:inherit;text-decoration:none;align-content:start}
a.fig.svc .ph{aspect-ratio:4/3}
a.fig.svc b{font-size:18px;font-weight:500;letter-spacing:-.01em;margin-top:4px}
a.fig.svc p{margin:0;color:var(--muted);font-size:15px;line-height:1.45}
.svc-go{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:9px;color:var(--amber)!important}
.svc-go .arr{display:inline-block;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
a.fig.svc:hover .svc-go .arr,a.fig.svc:focus-visible .svc-go .arr{transform:translate(3px,-3px)}
a.fig.svc .ph img{transition:scale .9s cubic-bezier(.16,1,.3,1)}
a.fig.svc:hover .ph img{scale:1.045}

/* how it works: three steps on one line that fills as you scroll */
.steps{list-style:none;padding:0;margin:clamp(40px,6vh,64px) 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,4vw,56px);position:relative;--p:0}
.st-track{position:absolute;left:36px;right:calc(33.33% - 36px);top:36px;height:2px;pointer-events:none}
.st-track i,.st-track b{position:absolute;inset:0;border-radius:2px}
.st-track i{background:var(--line2)}
.st-track b{background:linear-gradient(90deg,var(--pharos),var(--amber));transform-origin:0 50%;transform:scaleX(var(--p))}
.st-track b::after{content:"";position:absolute;right:-5px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:#F0A544;box-shadow:0 0 0 5px rgba(240,165,68,.18);
  transform:scaleX(calc(1 / max(var(--p),.001)));opacity:calc(var(--p) * 40)}
.st{position:relative;display:grid;gap:10px;align-content:start}
.st-ic{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;position:relative;z-index:1;
  background:rgba(250,250,247,.78);border:1px solid rgba(255,255,255,.7);box-shadow:0 14px 30px -18px rgba(25,25,25,.45);transition:transform .6s cubic-bezier(.34,1.56,.64,1),box-shadow .6s}
.st.on .st-ic{transform:translateY(-3px);box-shadow:0 20px 36px -18px rgba(156,96,12,.55)}
.st-ic svg{width:40px;height:40px;fill:none;stroke:var(--slate-d);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.st-ic svg *{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s cubic-bezier(.65,0,.35,1)}
.st-ic svg *:nth-child(2){transition-delay:.18s}.st-ic svg *:nth-child(3){transition-delay:.36s}
.st.on .st-ic svg *{stroke-dashoffset:0}
.st-n{font-size:10px;color:var(--amber);margin-top:10px}
.st b{font-size:clamp(1.2rem,2vw,1.5rem);font-weight:400;letter-spacing:-.02em}
.st p{margin:0;color:var(--muted);font-size:16px;line-height:1.5;max-width:32ch}
.st-foot{margin-top:clamp(32px,5vh,48px);color:var(--text);font-size:clamp(1.05rem,1.6vw,1.25rem);max-width:48ch}

/* see it for yourself */
.sc .xray,.sc .vol{margin-top:clamp(24px,4vh,36px)}
.sc-more{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:10px;font-size:10px;color:var(--amber);text-decoration:none}
.sc-more .arr{display:inline-block;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.sc-more:hover .arr{transform:translate(3px,-3px)}

/* the closing line lights word by word */
.dp-words .w{opacity:.16;transition:opacity .5s cubic-bezier(.16,1,.3,1)}
.dp-words .w.lit{opacity:1}

@media (max-width:760px){
  .steps{grid-template-columns:minmax(0,1fr);gap:34px;padding-left:0}
  .st-track{left:35px;right:auto;top:36px;bottom:36px;width:2px;height:auto}
  .st-track b{transform-origin:50% 0;transform:scaleY(var(--p))}
  .st-track b::after{right:50%;margin-right:-5px;top:auto;bottom:-5px;margin-top:0;transform:scaleY(calc(1 / max(var(--p),.001)))}
  .st{grid-template-columns:72px minmax(0,1fr);column-gap:18px}
  .st-ic{grid-row:1/4}
  .st-n{margin-top:4px}
  .fly-st{top:auto;bottom:22px;right:var(--gut)}
  .dp-hero .ph1{max-width:none}
}
@media (prefers-reduced-motion:reduce){
  .st-ic svg *{stroke-dashoffset:0;transition:none}
  .dp-words .w{opacity:1}
  .ly .xr-th>.ly-l.on{transition:none}
  a.fig.svc .ph img{transition:none}
}

/* ---- service cards without photos (30 Sep 2026): isometric scenes, one per service; ?look=photo shows the photos ---- */
.ph .ca{display:none}
html.look-lines a.fig.svc .ph img,html.look-lines .photo-credit{display:none}
html.look-lines a.fig.svc .ph{background:radial-gradient(120% 95% at 50% 0%,#FFFFFF 0%,#F4F3EF 48%,#E9E7E1 100%)}
html.look-lines a.fig.svc .ph::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 0 0 1px rgba(25,25,25,.045)}
html.look-lines a.fig.svc .ph .ca{display:block;position:absolute;inset:4% 3% 2%;width:94%;height:94%;opacity:0;transform:translateY(10px) scale(.985);
  transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1.2s cubic-bezier(.16,1,.3,1)}
html.look-lines a.fig.svc .ph.in .ca{opacity:1;transform:none}
html.look-lines a.fig.svc b{font-size:19px}
/* depth: the three layers part a little with scroll */
.ca .z1{transform:translateY(calc(var(--mx-y,0) * -4px))}
.ca .z2{transform:translateY(calc(var(--mx-y,0) * -9px))}
/* line work */
.ca .ln{fill:none;stroke:#1D1D1F;stroke-opacity:.5;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.9s cubic-bezier(.65,0,.35,1) .15s}
.ph.in .ca .ln{stroke-dashoffset:0}
.ca .ln.fine{stroke-width:.75;stroke-opacity:.32}
.ca .ln.hv{stroke-opacity:.78;stroke-width:1.35}
.ca .ln.lt{stroke-opacity:.2}
.ca .ln.mesh{stroke-width:.85;stroke-opacity:.42}
.ca .ln.mesh.hv{stroke-opacity:.72;stroke-width:1.1}
.ca .ln.tw{stroke-opacity:.72;stroke-width:1}
.ca .ln.ring{stroke-opacity:.3;stroke-width:.8}
.ca .ln.am{stroke:#9C600C;stroke-opacity:1;stroke-width:1.6}
.ca .ln.dsh{stroke:#F0A544;stroke-width:1.6;stroke-dasharray:6 5;stroke-dashoffset:0}
.ca .gr{fill:none;stroke:#1D1D1F;stroke-opacity:.06;stroke-width:.8}
.ca .am{fill:none;stroke:#F0A544;stroke-width:1.8}
.ca .amd,.ca .hotc{fill:#F0A544}
.ca .glo{fill:#F0A544;opacity:.75}
.ca .shd{fill:#191919}
/* materials */
.ca .gd{fill:#F7F6F2}
.ca .gdv{fill:#EFEADF}
.ca .tp{fill:#FCFCFA}.ca .lf{fill:#E4E2DC}.ca .rt{fill:#D3D0C8}
.ca .slab{fill:#F2F0EB}.ca .slabl{fill:#DAD7D0}.ca .slabr{fill:#C8C4BB}
.ca .ptp{fill:#F0A544}.ca .plf{fill:#CFCBC2}.ca .prt{fill:#B8B3A9}
.ca .rtop{fill:#FAF9F6}.ca .rlf{fill:#DDDAD3}.ca .rrt{fill:#CAC6BD}
.ca .scanp{fill:rgba(240,165,68,.16)}
.ca .pvg{fill:url(#pv)}
.ca .shn{fill:rgba(255,255,255,.3)}
.ca .dwf{fill:#D8D5CE}.ca .dwt{fill:#F4F2ED}.ca .dwb{fill:#C3BFB6}.ca .dws{fill:#E8E5DF}
.ca .wtop{fill:url(#wg)}.ca .wside{fill:#8FA3B0}
.ca .rip{fill:none;stroke:#FFFFFF;stroke-opacity:.8;stroke-width:1.2;stroke-linecap:round;stroke-dasharray:.1 .16}
.ca .twr{fill:#F6F5F1;stroke:rgba(29,29,31,.35);stroke-width:.8}
.ca .bld{fill:#FCFCFA;stroke:rgba(29,29,31,.42);stroke-width:.8}
.ca .nac{fill:#F2F1ED;stroke:rgba(29,29,31,.4);stroke-width:.8}
.ca .hub{fill:#FFFFFF;stroke:rgba(29,29,31,.5);stroke-width:.8}
.ca .hill{fill:#E6E3DB}.ca .hill2{fill:#DAD6CC}
.ca .field{fill:#E9EADF}
.ca .crop{stroke:rgba(70,90,50,.16);stroke-width:.05}
.ca .pvc{fill:#D9DFC9;stroke:rgba(29,29,31,.42);stroke-width:.06}
.ca .pvr{fill:none;stroke:rgba(29,29,31,.18);stroke-width:.04}
.ca .wedge{fill:rgba(240,165,68,.3)}
.ca .arm{stroke:#F0A544;stroke-width:.1;stroke-linecap:round}
.ca .ash{fill:#191919;opacity:.22}
.ca .abd{fill:#3B3733}
.ca .tick{fill:none;stroke:#F0A544;stroke-width:1.6;opacity:0;transform-box:fill-box;transform-origin:center}
.ca .scar{fill:url(#burn)}.ca .scarh{fill:url(#hatch)}.ca .ht{stroke:rgba(255,255,255,.1);stroke-width:1.2}
.ca .front{fill:none;stroke:#F0A544;stroke-width:5;stroke-opacity:.55;stroke-dasharray:22 30}
.ca .front2{fill:none;stroke:#F6C27A;stroke-width:1.6;stroke-dasharray:22 30}
.ca .smk{fill:#8A857D;opacity:0}
.ca .pile{transform:scaleY(0)}
/* motion, only while the card is on screen */
.ca .lp,.ca .pile,.ca .tick,.ca .rip,.ca .front,.ca .front2,.ca .smk,.ca .hotc,.ca .glo{animation-play-state:paused}
.ph.live .ca .lp,.ph.live .ca .pile,.ph.live .ca .tick,.ph.live .ca .rip,.ph.live .ca .front,.ph.live .ca .front2,.ph.live .ca .smk,.ph.live .ca .hotc,.ph.live .ca .glo{animation-play-state:running}
.ca .isoscan{animation:caIso 5.2s cubic-bezier(.45,0,.55,1) infinite}
.ca .ping{animation:caPing 2.6s cubic-bezier(.16,1,.3,1) infinite}
.ca .breathe{animation:caBreathe 3.4s ease-in-out infinite alternate}
.ca .sheen{animation:caSheen 4.2s cubic-bezier(.45,0,.2,1) infinite}
.ca .spin{animation:caSpin 6s linear infinite}
.ca .drift{animation:caDrift 4s ease-in-out infinite alternate}
.ca .hotw{animation:caHotw 2.2s ease-in-out infinite alternate}
.ca .pile{animation:caRise 7s calc(var(--i) * 90ms) cubic-bezier(.34,1.56,.64,1) infinite}
.ca .tick{animation:caTick 7s calc(var(--i) * 200ms) infinite}
.ca .rip{animation:caRip 2.6s calc(var(--i) * -.6s) linear infinite}
.ca .front,.ca .front2{animation:caFlow 3s linear infinite}
.ca .smk{animation:caSmoke 4.5s calc(var(--i) * 1.4s) ease-out infinite}
.ca .hotc{animation:caHot 1.4s ease-in-out infinite alternate}
.ca .glo{animation:caGlow 1.4s ease-in-out infinite alternate}
@keyframes caIso{from{transform:translate(0,0)}to{transform:translate(var(--dx),var(--dy))}}
@keyframes caPing{0%{transform:scale(.5);opacity:1}100%{transform:scale(2.4);opacity:0}}
@keyframes caBreathe{from{transform:scaleY(.9)}to{transform:scaleY(1.02)}}
@keyframes caSheen{0%{transform:translateX(0)}70%,100%{transform:translateX(620px)}}
@keyframes caSpin{to{transform:rotate(360deg)}}
@keyframes caDrift{from{transform:translate(0,0)}to{transform:translate(5px,2.5px)}}
@keyframes caHotw{from{opacity:.55}to{opacity:1}}
@keyframes caRise{0%{transform:scaleY(0)}7%,86%{transform:scaleY(1)}94%,100%{transform:scaleY(0)}}
@keyframes caTick{0%{opacity:0;transform:scale(1.8)}5%{opacity:1;transform:scale(1)}84%{opacity:1;transform:scale(1)}94%,100%{opacity:0}}
@keyframes caRip{to{stroke-dashoffset:-.52}}
@keyframes caFlow{to{stroke-dashoffset:-52}}
@keyframes caSmoke{0%{opacity:0;transform:translate(0,0) scale(.8)}25%{opacity:.4}100%{opacity:0;transform:translate(22px,-46px) scale(1.5)}}
@keyframes caHot{from{opacity:.7}to{opacity:1}}
@keyframes caGlow{from{opacity:.45}to{opacity:.95}}
@media (prefers-reduced-motion:reduce){
  html.look-lines a.fig.svc .ph .ca{transition:none;opacity:1;transform:none}
  .ca .ln{transition:none;stroke-dashoffset:0}
  .ca .lp,.ca .tick,.ca .rip,.ca .front,.ca .front2,.ca .smk,.ca .hotc,.ca .glo{animation:none!important}
  .ca .pile{animation:none!important;transform:none}
  .ca .tick{opacity:1}
  .ca .z1,.ca .z2{transform:none}
}

/* service cards: a deeper, softer shadow that fades out gently (30 Sep 2026, Dimitri: "more shadow, no harsh stop") */
a.fig.svc{box-shadow:var(--lg-rim,0 0 0 0 transparent),0 1px 2px rgba(25,25,25,.05),0 8px 16px -8px rgba(25,25,25,.10),0 26px 48px -18px rgba(25,25,25,.20),0 58px 90px -40px rgba(25,25,25,.24)!important}
a.fig.svc.mx-on{box-shadow:var(--lg-rim,0 0 0 0 transparent),0 1px 2px rgba(25,25,25,.05),0 10px 20px -8px rgba(25,25,25,.12),0 34px 60px -20px rgba(25,25,25,.24),0 70px 110px -44px rgba(25,25,25,.28)!important}

/* ---- 30 Sep 2026 polish: segmented controls, chips, light, rhythm ---- */
/* one pill slides under the chosen option, like a segmented control */
.seg{position:relative;isolation:isolate}
.seg>.seg-pill{position:absolute;left:0;top:0;border-radius:999px;background:var(--slate-d);z-index:-1;pointer-events:none;
  box-shadow:0 8px 18px -10px rgba(25,25,25,.6);transition:transform .55s cubic-bezier(.34,1.25,.64,1),width .55s cubic-bezier(.34,1.25,.64,1),height .3s}
.seg.has-pill button[aria-checked="true"],.seg.has-pill button[aria-selected="true"]{background:transparent!important;border-color:transparent!important;color:var(--ivory-l)}
.seg.has-pill button{transition:color .35s,background .2s,border-color .2s,transform .15s var(--ease)}
/* a chosen chip pops, then settles */
.pk-chip[aria-checked="true"]{animation:pkPop .5s cubic-bezier(.34,1.56,.64,1)}
@keyframes pkPop{0%{scale:.92}60%{scale:1.04}100%{scale:1}}
/* how it works: the icon tiles float a touch under the pointer */
@media (hover:hover){.st:hover .st-ic{transform:translateY(-5px);box-shadow:0 24px 40px -18px rgba(156,96,12,.5)}}
/* warm light: a faint glow falls on each showcase from the top left */
.sc,#services{background:radial-gradient(55% 42% at 12% 0%,rgba(240,165,68,.075),rgba(240,165,68,0) 70%)}
/* rhythm: tighter lead-in from eyebrow to heading, even gaps under body copy */
.dp .psec .h2+.body{margin-top:14px}
.dp .sc .xray,.dp .sc .vol{margin-top:clamp(28px,4vh,40px)}
@media (max-width:700px){.dp .sg{margin-top:40px}.dp .sc-more{margin-top:14px}}
@media (prefers-reduced-motion:reduce){.pk-chip[aria-checked="true"]{animation:none}.seg>.seg-pill{transition:none}}
