/* BTC Health, concept C. Paper, ink and four pigments. */
:root{
  --paper:#F4F0E7; --paper-2:#EBE6DA; --paper-3:#E1DBCC; --white:#FBF9F4;
  --ink:#14232D; --ink-2:#3C4A53; --ink-3:#6A757B; --rule:rgba(20,35,45,.16); --rule-2:rgba(20,35,45,.08);
  --heart:#A3352B; --lungs:#2F6182; --spine:#8A5A16; --nerves:#236B5C;
  --serif:"Libre Caslon Display","Libre Caslon Text",Georgia,"Times New Roman",serif;
  --text-serif:"Libre Caslon Text",Georgia,"Times New Roman",serif;
  --sans:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --hdr:68px; --gut:clamp(20px,4vw,56px); --max:1360px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 16px)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:1px}
::selection{background:var(--ink);color:var(--paper)}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:var(--paper);padding:10px 16px;z-index:200;transition:top .2s}
.skip:focus{top:12px}

/* type */
.d1,.d2,.d3{font-family:var(--serif);font-weight:400;letter-spacing:-.012em;text-wrap:balance}
.d1{font-size:clamp(2.7rem,5.6vw,5.4rem);line-height:.98}
.d2{font-size:clamp(2.1rem,3.9vw,3.6rem);line-height:1.03}
.d3{font-size:clamp(1.55rem,2.2vw,2.05rem);line-height:1.12}
.lede{font-size:clamp(1.12rem,1.35vw,1.3rem);line-height:1.5;color:var(--ink-2);max-width:34em;text-wrap:pretty}
.ital{font-family:var(--text-serif);font-style:italic}
.cap{font-family:var(--text-serif);font-style:italic;font-size:.94rem;color:var(--ink-3)}
.small{font-size:.9rem;color:var(--ink-3)}
.prose p+p{margin-top:1em}
.prose p{max-width:38em;text-wrap:pretty}

/* links and buttons */
.btn{display:inline-flex;align-items:center;gap:.7em;min-height:48px;padding:0 22px;background:var(--ink);color:var(--paper);text-decoration:none;font-weight:500;font-size:.98rem;border-radius:2px;transition:background .25s,transform .25s var(--ease)}
.btn:hover{background:#000}
.btn:active{transform:translateY(1px)}
.btn svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--paper)}
.go{display:inline-flex;align-items:center;gap:.55em;min-height:44px;font-weight:500;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 calc(100% - 9px)/100% 1px no-repeat;transition:background-size .35s var(--ease)}
.go svg{width:15px;height:15px;transition:transform .3s var(--ease)}
.go:hover svg{transform:translateX(4px)}
.go:hover{background-size:calc(100% - 22px) 1px}

/* header */
.hdr{position:sticky;top:0;z-index:60;height:var(--hdr);background:var(--paper);border-bottom:1px solid var(--rule)}
.hdr .wrap{height:100%;display:flex;align-items:center;gap:28px}
.logo{display:block;width:152px;height:22px;background:var(--ink);-webkit-mask:url(logo.png) left center/contain no-repeat;mask:url(logo.png) left center/contain no-repeat;flex:none}
.logo-pad{display:flex;align-items:center;min-height:44px;margin-right:auto}
.nav{display:flex;align-items:center;gap:clamp(14px,2.2vw,34px)}
.nav a{font-size:.96rem;text-decoration:none;padding:12px 0;position:relative;white-space:nowrap}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:7px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:hover::after,.nav a[aria-current]::after{transform:scaleX(1)}
.hdr-asx{font-size:.84rem;color:var(--ink-3);text-decoration:none;white-space:nowrap;padding:12px 0}
.hdr-asx b{font-weight:600;color:var(--ink)}
.hdr .btn{min-height:42px;padding:0 18px}
.burger{display:none;width:44px;height:44px;margin-right:-10px;position:relative}
.burger i{position:absolute;left:11px;right:11px;height:1.5px;background:var(--ink);transition:transform .35s var(--ease),top .35s var(--ease)}
.burger i:nth-child(1){top:17px}.burger i:nth-child(2){top:26px}
.menu-open .burger i:nth-child(1){top:21.5px;transform:rotate(45deg)}
.menu-open .burger i:nth-child(2){top:21.5px;transform:rotate(-45deg)}
.mnav{position:fixed;inset:var(--hdr) 0 0 0;z-index:55;background:var(--paper);padding:18px var(--gut) 28px;display:flex;flex-direction:column;overflow:auto;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .3s,transform .4s var(--ease),visibility 0s .4s}
.menu-open .mnav{visibility:visible;opacity:1;transform:none;transition:opacity .3s,transform .4s var(--ease)}
.mnav a{display:flex;align-items:baseline;justify-content:space-between;font-family:var(--serif);font-size:2.05rem;line-height:1.1;text-decoration:none;padding:15px 0;border-bottom:1px solid var(--rule)}
.mnav a span{font:400 .86rem var(--sans);color:var(--ink-3)}
.mnav .mnav-foot{margin-top:auto;padding-top:26px;font-size:.95rem;color:var(--ink-2);display:grid;gap:4px}
.mnav .mnav-foot a{font:inherit;border:0;padding:6px 0;display:inline;min-height:44px}
@media (max-width:980px){
  :root{--hdr:60px}
  .nav,.hdr-asx,.hdr .btn{display:none}
  .burger{display:block}
  .logo{width:132px;height:19px}
}
@media (min-width:981px){.mnav{display:none}}

/* ------------- the figure ------------- */
.fig{width:100%;height:100%;overflow:hidden;--u:1}
.fig path,.fig ellipse,.fig circle{fill:none;stroke:var(--ink);stroke-linecap:round;stroke-linejoin:round;stroke-width:calc(var(--w,1) * var(--z,1) * 1px)}
.fig .to{stroke-width:calc(var(--w) * 1px)}
.fig .ti{stroke-width:calc(max(.15, var(--w) - 1.5 * var(--z,1)) * 1px)}
.fig .sf{opacity:.3}.fig .sk{opacity:.27}.fig .sk.bk{opacity:.13}
.fig .fs0{stop-color:var(--paper);stop-opacity:0}.fig .fs1{stop-color:var(--paper);stop-opacity:1}.fig .fd{fill:var(--paper);stroke:none}
.sys{--c:var(--ink);--wash:var(--paper);transition:opacity .7s ease}
.sys path,.sys ellipse{stroke:var(--c);transition:stroke .7s ease,fill .7s ease}
.sys .ti{stroke:var(--wash)}
.sys .lw,.sys .hf,.sys .nw{fill:var(--wash);stroke:none}
.sys .lw{fill-opacity:.78}
.sys .vb,.sys .vp{fill:var(--wash)}
.sys .vh{opacity:.55}.sys .lf{opacity:.6}.sys .hh{opacity:.75}.sys .ns{opacity:.55}.sys .ic{opacity:.7}
.sys-heart{--on:var(--heart);--onwash:#F4E4DC}
.sys-lungs{--on:var(--lungs);--onwash:#EDF0EC}
.sys-spine{--on:var(--spine);--onwash:#F5EBD6}
.sys-nerves{--on:var(--nerves);--onwash:#E6EFE8}
.sys.on{--c:var(--on);--wash:var(--onwash)}
.sys.on .vein,.sys.on .pa{--c:#3F5F86;--wash:#E3E9EE}
.hit{fill:transparent!important;stroke:none!important;cursor:pointer;pointer-events:all}
.hit path,.hit rect{fill:transparent!important;stroke:none!important}
.labs{opacity:0;transition:opacity .5s ease;pointer-events:none}
.labs.show{opacity:1;transition:opacity .7s ease .5s}
.fig .lab path{stroke:var(--ink);stroke-width:calc(var(--u) * .75px);opacity:.55}
.lab circle{fill:var(--ink);stroke:none;r:calc(var(--u) * 2.2px)}
.fig .lab-m{display:none}
.lab text{font-family:var(--text-serif);font-style:italic;font-size:calc(var(--u) * 13.5px);fill:var(--ink);stroke:var(--paper);stroke-width:calc(var(--u) * 5px);paint-order:stroke;stroke-linejoin:round}
/* scripted states: only once atlas.js has started and marked the figure .live. With no JS, or if it fails, the whole figure shows, fully drawn. */
.fig.live .sys{opacity:0}
.fig.live .sys.seen{opacity:.34}
.fig.live .sys.on{opacity:1}
.fig.live .sys.dim{opacity:.13}
.fig.live .sys-lungs.dim{opacity:.09}
.fig.live .ti,.fig.live .hh,.fig.live .tr,.fig.live .vh,.fig.live .ns,.fig.live .lf{transition:opacity .9s ease .7s,stroke .7s ease}
.fig.live :not(.drawn)>.ti,.fig.live :not(.drawn)>.hh,.fig.live :not(.drawn)>.tr,.fig.live :not(.drawn)>.vh,.fig.live :not(.drawn)>.ns{opacity:0}
.fig.live .fig-skel{opacity:0;transition:opacity 1.2s ease .9s}
.fig.live .fig-skel.drawn{opacity:1}
.sys-heart .ho{--d:4}.sys-heart .hl{--d:7}.sys-heart .hc{--d:9}
.sys-lungs .lo{--d:1}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important}
}

/* ------------- home: atlas ------------- */
.atlas-band{border-bottom:1px solid var(--rule)}
.atlas{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);position:relative;max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}
.atlas-stage{grid-column:2;grid-row:1/span 6;position:sticky;top:var(--hdr);height:calc(100vh - var(--hdr));height:calc(100svh - var(--hdr));overflow:hidden}
.atlas-stage::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--rule)}
.stage-fig{position:absolute;inset:0}
.stage-cap{position:absolute;left:28px;bottom:22px;max-width:15em;line-height:1.35;transition:opacity .5s}
.atlas:not([data-active=intro]):not([data-active=all]) .stage-cap{opacity:0}
.stage-idx{position:absolute;right:0;bottom:24px;display:grid;gap:0;text-align:left;background:var(--paper);padding:8px 18px 12px 14px;border:1px solid var(--rule)}
.idx-b{display:grid;grid-template-columns:22px auto;column-gap:10px;align-items:center;min-height:44px;padding:0 6px;text-align:left}
.idx-b i{height:2px;background:var(--k);transform:scaleX(.45);transform-origin:left;transition:transform .35s var(--ease)}
.idx-b b{font:italic 400 1.06rem/1.1 var(--text-serif)}
.idx-b span{grid-column:2;font-size:.78rem;color:var(--ink-3);margin-top:-6px;padding-bottom:6px}
.idx-b:hover i,.idx-b[aria-pressed=true] i,.idx-b.is-on i{transform:scaleX(1)}
.idx-b.is-on b,.idx-b:hover b{color:var(--k)}
.tip{position:fixed;z-index:40;left:0;top:0;pointer-events:none;background:var(--ink);color:var(--paper);padding:9px 13px 10px;font-size:.84rem;line-height:1.25;border-radius:2px;opacity:0;transition:opacity .2s;white-space:nowrap}
.tip b{display:block;font:italic 400 1.05rem var(--text-serif)}
.tip.show{opacity:1}
.atlas-step{grid-column:1;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:64px clamp(24px,3.4vw,56px) 64px 0}
.atlas-step:first-of-type{min-height:calc(100svh - var(--hdr))}
.step-in{max-width:31rem;width:100%}
.atlas-step .d1{margin-bottom:.42em}
.atlas-step .lede{margin-bottom:1.6em}
.hero-row{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center}
.krule{display:block;width:56px;height:2px;background:var(--k);margin-bottom:24px}
.sys-head{display:flex;align-items:baseline;gap:14px;margin-bottom:14px;color:var(--k)}
.sys-head .ital{font-size:1.2rem}
.sys-head::after{content:"";flex:1;height:1px;background:currentColor;opacity:.4;transform-origin:left}
.atlas-step h2{margin-bottom:.38em}
.atlas-step .lede{font-size:1.1rem}
.picks{display:grid;gap:0;margin:0 0 22px;border-top:1px solid var(--rule)}
.pick{display:grid;grid-template-columns:64px 1fr auto;gap:16px;align-items:center;padding:9px 0;border-bottom:1px solid var(--rule);text-decoration:none;min-height:64px}
.pick .ph{width:64px;height:52px}
.pick b{font:600 1.04rem/1.25 var(--sans);letter-spacing:-.005em;display:block;color:var(--ink);transition:color .25s}
sup.tm{font:400 .42em var(--sans);vertical-align:.95em;margin-left:.08em;line-height:0}
.pick span{font-size:.86rem;color:var(--ink-3);display:block}
.pick svg{width:16px;height:16px;opacity:.35;transition:transform .3s var(--ease),opacity .3s}
.pick:hover svg{transform:translateX(4px);opacity:1}
.pick:hover b{color:var(--k)}
.step-acts{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center}
.all-list a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--rule);text-decoration:none;font:400 clamp(1.5rem,2.1vw,2rem)/1.1 var(--serif);transition:color .25s,padding .35s var(--ease)}
.all-list a:first-child{border-top:1px solid var(--rule)}
.all-list a span{font:400 .88rem var(--sans);color:var(--ink-3);white-space:nowrap}
.all-list a:hover{color:var(--k);padding-left:10px}
/* product photo plate */
.ph{background:var(--white);display:grid;place-items:center;overflow:hidden;position:relative}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:8%}
.ph.photo img{object-fit:cover;padding:0;mix-blend-mode:normal}
.ph.none img{mix-blend-mode:normal;padding:6%}

@media (max-width:980px){
  .atlas{display:block;padding-inline:0}
  .atlas-stage{height:46svh;min-height:300px;z-index:3;background:var(--paper);border-bottom:1px solid var(--rule)}
  .atlas-stage::before{display:none}
  .stage-fig{bottom:46px}
  .stage-cap{display:none}
  .stage-idx{left:0;right:0;bottom:0;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule);background:var(--paper)}
  .idx-b{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:46px;padding:0;border-right:1px solid var(--rule)}
  .idx-b:last-child{border:0}
  .idx-b i{width:18px;transform:none;height:2px;order:2;opacity:.9}
  .idx-b b{font-size:.98rem}
  .idx-b span{display:none}
  .atlas-step{min-height:64svh;padding:30px var(--gut) 36px;justify-content:flex-start}
  .atlas-step:first-of-type{min-height:calc(54svh - var(--hdr))}
  .atlas-step:last-of-type{min-height:0;padding-bottom:56px}
  .step-in{max-width:none}
  .atlas-step .d1{font-size:clamp(2.25rem,9.6vw,3.2rem)}
  .picks .pick:nth-child(n+3){display:none}
  .fig .lab-d{display:none}
  .fig .lab-m{display:block}
  .stage-idx{padding:0;border:0;border-top:1px solid var(--rule)}
  .lab text{font-size:calc(var(--u) * 12px)}
}

/* sheet (products for a system) */
.scrim{position:fixed;inset:0;z-index:80;background:rgba(20,35,45,.32);opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s .35s}
.sheet{position:fixed;z-index:90;right:0;top:0;bottom:0;width:min(470px,100vw);background:var(--paper);box-shadow:-1px 0 0 var(--rule),-30px 0 60px -30px rgba(20,35,45,.25);display:flex;flex-direction:column;transform:translateX(102%);visibility:hidden;transition:transform .5s var(--ease),visibility 0s .5s}
.sheet-open .scrim{opacity:1;visibility:visible;transition:opacity .35s}
.sheet-open .sheet{transform:none;visibility:visible;transition:transform .5s var(--ease)}
.sheet-open{overflow:hidden}
.sheet-top{padding:26px 28px 18px;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:1fr auto;gap:8px 16px;align-items:start}
.sheet-top .ital{color:var(--k);font-size:1.1rem}
.sheet-top h2{font:400 2.3rem/1 var(--serif);grid-column:1}
.sheet-top p{grid-column:1/-1;font-size:.94rem;color:var(--ink-2);margin-top:6px}
.x{width:44px;height:44px;margin:-8px -10px 0 0;display:grid;place-items:center;grid-row:1/span 2;grid-column:2}
.x svg{width:18px;height:18px}
.sheet-body{overflow:auto;padding:0 28px 12px;flex:1;overscroll-behavior:contain}
.sheet-body h3{font:italic 400 1rem var(--text-serif);color:var(--ink-3);padding:20px 0 8px}
.sheet-body .pick{grid-template-columns:76px 1fr auto;border-top:1px solid var(--rule);border-bottom:0;padding:10px 0}
.sheet-body .pick .ph{width:76px;height:62px}
.sheet-foot{padding:16px 28px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--rule)}
.sheet-foot .btn{width:100%;justify-content:center}
@media (max-width:700px){
  .sheet{top:auto;left:0;width:100%;max-height:88svh;border-radius:14px 14px 0 0;transform:translateY(102%);box-shadow:0 -20px 60px -20px rgba(20,35,45,.3)}
  .sheet::before{content:"";width:40px;height:4px;border-radius:2px;background:var(--rule);margin:9px auto -4px;flex:none}
  .sheet-top{padding:18px var(--gut) 14px}.sheet-body{padding-inline:var(--gut)}.sheet-foot{padding-inline:var(--gut)}
  .sheet-top h2{font-size:1.9rem}
}

/* ------------- home: sections ------------- */
.sec{padding:clamp(72px,10vw,150px) 0}
.sec-tight{padding:clamp(56px,7vw,104px) 0}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2.4vw,40px)}
.cap-statement{grid-column:1/span 7}
.cap-body{grid-column:9/span 4;padding-top:.6rem}
.cap-body p+p{margin-top:1em}
.ledger{grid-column:1/-1;margin-top:clamp(48px,6vw,88px);border-top:1px solid var(--ink)}
.ledger li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;padding:20px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.ledger b{font:400 clamp(1.35rem,1.9vw,1.75rem)/1.15 var(--serif)}
.ledger span{color:var(--ink-2);max-width:36em}
.range-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:clamp(28px,3.4vw,48px)}
.range{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3.4vw,52px) clamp(14px,1.8vw,28px);align-items:start}
.range a{text-decoration:none;display:block}
.range .ph{aspect-ratio:var(--ar,4/3);transition:background .4s}
.range a:hover .ph{background:#fff}
.range .ph img{transition:transform .8s var(--ease)}
.range a:hover .ph img{transform:scale(1.045)}
.range figcaption{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding-top:12px;border-top:1px solid var(--rule);margin-top:12px}
.range figcaption b{font:600 1.04rem/1.25 var(--sans);letter-spacing:-.005em;white-space:nowrap}
.range figcaption span{font-size:.84rem;color:var(--ink-3);text-align:right}
.range .ph{aspect-ratio:4/3}
.dark{background:var(--ink);color:var(--paper)}
.dark .lede,.dark .small{color:rgba(244,240,231,.72)}
.dark ::selection{background:var(--paper);color:var(--ink)}
.dark :focus-visible{outline-color:var(--paper)}
.dark .btn{background:var(--paper);color:var(--ink)}
.dark .btn:hover{background:#fff}
.quote{grid-column:1/span 8;font:italic 400 clamp(2rem,4.3vw,4rem)/1.08 var(--text-serif);letter-spacing:-.01em;text-wrap:balance}
.quote-src{grid-column:1/span 8;margin-top:22px;color:rgba(244,240,231,.6);font-size:.95rem}
.partner-body{grid-column:8/span 5;margin-top:clamp(40px,6vw,96px)}
.partner-body p{margin-bottom:1.6em;color:rgba(244,240,231,.82)}
.pipe{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,4vw,72px);align-items:start}
.pipe-list a{display:grid;grid-template-columns:120px 1fr;gap:22px;padding:22px 0;border-top:1px solid var(--rule);text-decoration:none;align-items:center}
.pipe-list a:last-child{border-bottom:1px solid var(--rule)}
.pipe-list .ph{width:120px;height:96px}
.pipe-list b{font:600 1.12rem/1.25 var(--sans);display:block;margin-bottom:4px}
.pipe-list span{color:var(--ink-2);font-size:.98rem}
.notice{display:inline-block;font-size:.95rem;line-height:1.4;padding:1px 0 1px 12px;border-left:2px solid var(--heart);color:var(--ink)}
.inv{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,4vw,72px)}
.inv-links{display:grid;margin-top:26px;border-top:1px solid var(--rule)}
.inv-links a{display:flex;justify-content:space-between;align-items:center;min-height:52px;border-bottom:1px solid var(--rule);text-decoration:none;transition:padding .35s var(--ease)}
.inv-links a:hover{padding-left:8px}
.inv-links svg{width:15px;height:15px;opacity:.5}
.ann{border-top:1px solid var(--ink)}
.ann-row{display:grid;grid-template-columns:7.2rem minmax(0,1fr) 11rem 5.6rem;gap:8px 24px;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--rule);text-decoration:none;transition:background .2s}
.ann-row time{font-size:.9rem;color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap}
.ann-row b{font-weight:500;line-height:1.35;text-wrap:pretty}
.ann-row .cat{font-size:.86rem;color:var(--ink-3)}
.ann-row .doc{font-size:.84rem;justify-self:end;display:inline-flex;gap:6px;align-items:center;color:var(--ink-2);white-space:nowrap}
.ann-row .doc svg{width:13px;height:13px}
.ann-row:hover b{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.ann-row:hover .doc{color:var(--ink)}
@media (max-width:860px){
  .cap-statement,.cap-body,.quote,.quote-src,.partner-body{grid-column:1/-1}
  .cap-body{padding-top:24px}
  .ledger li{grid-template-columns:minmax(0,1fr);gap:6px;padding:16px 0}
  .range-head{display:block}.range-head .go{margin-top:10px}
  .range{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .range a{grid-column:auto!important;margin-top:0!important}
  .range figcaption{display:block}.range figcaption span{display:block;text-align:left;margin-top:2px}
  .range figcaption b{font-size:.98rem;white-space:normal}
  .pipe,.inv{grid-template-columns:minmax(0,1fr)}
  .pipe-list a{grid-template-columns:88px 1fr;gap:16px}.pipe-list .ph{width:88px;height:72px}
  .pipe-list b{font-size:1.04rem}
  .ann-row{grid-template-columns:1fr auto;gap:2px 16px;padding:14px 0}
  .ann-row time{grid-column:1;grid-row:1;font-size:.84rem}
  .ann-row .doc{grid-column:2;grid-row:1}
  .ann-row b{grid-column:1/-1}
  .ann-row .cat{grid-column:1/-1;font-size:.82rem}
}

/* ------------- page heads ------------- */
.phead{padding-block:clamp(48px,7vw,104px) clamp(36px,4.5vw,64px)}
.phead .d1{max-width:14em}
.phead .lede{margin-top:1.2em}
.crumbs{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:.88rem;color:var(--ink-3);margin-bottom:clamp(20px,3vw,36px)}
.crumbs a{text-decoration:none;padding:10px 0;margin:-10px 0}
.crumbs a:hover{color:var(--ink);text-decoration:underline}
.crumbs i{font-style:normal;opacity:.5}

/* ------------- products index ------------- */
.pidx{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,4vw,72px);align-items:start;padding-bottom:clamp(72px,9vw,130px)}
.pidx-side{position:sticky;top:calc(var(--hdr) + 20px)}
.pidx-fig{height:min(62vh,600px);position:relative;margin-bottom:10px;overflow:hidden}
.filt{border-top:1px solid var(--ink)}
.filt button{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;width:100%;min-height:46px;text-align:left;border-bottom:1px solid var(--rule);font-size:.98rem}
.filt i{height:2px;background:var(--k,var(--ink));transform:scaleX(.4);transform-origin:left;transition:transform .35s var(--ease)}
.filt span{font-size:.84rem;color:var(--ink-3);font-variant-numeric:tabular-nums}
.filt button:hover i,.filt [aria-pressed=true] i{transform:scaleX(1)}
.filt [aria-pressed=true]{font-weight:600}
.filt [aria-pressed=true] b{color:var(--k,var(--ink))}
.filt b{font-weight:inherit}
.pgroup{margin-bottom:clamp(40px,5vw,72px)}
.pgroup[hidden]{display:none}
.pgroup-head{display:flex;align-items:baseline;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--ink)}
.pgroup-head h2{font:400 clamp(1.9rem,3vw,2.7rem)/1.05 var(--serif)}
.pgroup-head .ital{color:var(--k)}
.pgroup-head span:last-child{margin-left:auto;font-size:.88rem;color:var(--ink-3)}
.pgroup>p{color:var(--ink-2);max-width:40em;padding:16px 0 6px}
.psub{font:italic 400 1rem var(--text-serif);color:var(--ink-3);padding:24px 0 8px}
.prow{display:grid;grid-template-columns:132px minmax(0,1fr) auto;gap:clamp(16px,2.4vw,32px);align-items:center;padding:12px 0;border-top:1px solid var(--rule);text-decoration:none}
.prow:last-child{border-bottom:1px solid var(--rule)}
.prow .ph{width:132px;height:104px;transition:background .3s}
.prow:hover .ph{background:#fff}
.prow .ph img{transition:transform .7s var(--ease)}
.prow:hover .ph img{transform:scale(1.05)}
.prow b{font:600 1.12rem/1.25 var(--sans);letter-spacing:-.005em;display:block;transition:color .25s}
.prow:hover b{color:var(--k)}
.prow p{color:var(--ink-2);font-size:.98rem;margin-top:4px;max-width:36em}
.prow em{font-style:normal;font-size:.82rem;color:#6f231c;display:block;margin-top:6px}
.prow svg{width:18px;height:18px;opacity:.3;transition:transform .3s var(--ease),opacity .3s}
.prow:hover svg{opacity:1;transform:translateX(5px)}
@media (max-width:980px){
  .pidx{grid-template-columns:minmax(0,1fr)}
  .pidx-side{position:static}
  .pidx-fig{height:330px}
  .filt{position:sticky;top:var(--hdr);z-index:5;background:var(--paper);display:flex;overflow-x:auto;gap:0;margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);scrollbar-width:none}
  .filt::-webkit-scrollbar{display:none}
  .filt button{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;width:auto;white-space:nowrap;border:0;padding:0 16px 0 0;margin-right:8px;min-height:50px}
  .filt i{width:100%;order:3;transform:scaleX(0)}
  .filt span{display:none}
  .prow{grid-template-columns:88px minmax(0,1fr);gap:16px}
  .prow .ph{width:88px;height:76px}
  .prow>svg{display:none}
  .prow p{font-size:.92rem}
}

/* ------------- product page ------------- */
.pp-top{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,72px);align-items:start;padding-bottom:clamp(48px,6vw,96px)}
.gal-main{aspect-ratio:5/4;background:var(--white)}
.gal-main.tall{aspect-ratio:4/5;max-height:76vh;width:100%}
.gal-main img{padding:9%}
.gal-thumbs{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.gal-thumbs button{width:84px;height:68px;background:var(--white);position:relative;display:grid;place-items:center;overflow:hidden}
.gal-thumbs img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:8px}
.gal-thumbs button::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--k);transform:scaleX(0);transition:transform .3s var(--ease)}
.gal-thumbs [aria-pressed=true]::after{transform:scaleX(1)}
.gal-none{aspect-ratio:5/4;background:var(--white);display:grid;place-items:center;position:relative;overflow:hidden}
.gal-none img{height:92%;width:auto}
.gal-none figcaption{position:absolute;left:10px;bottom:10px;background:var(--white);padding:3px 10px 4px}
.pp-info{position:sticky;top:calc(var(--hdr) + 28px)}
.pp-area{display:inline-flex;align-items:center;gap:12px;color:var(--k);text-decoration:none;min-height:44px;margin-bottom:6px}
.pp-area img{width:34px;height:34px}
.pp-area .ital{font-size:1.12rem}
.pp-area:hover .ital{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.pp-info h1{font:400 clamp(2.4rem,4.2vw,3.9rem)/1 var(--serif);letter-spacing:-.012em;text-wrap:balance}
.pp-info .lede{margin-top:.8em;font-size:1.2rem}
.pp-info .notice{margin-top:18px}
.pp-meta{margin-top:26px;border-top:1px solid var(--rule)}
.pp-meta div{display:grid;grid-template-columns:8.5rem 1fr;gap:12px;padding:11px 0;border-bottom:1px solid var(--rule);font-size:.95rem}
.pp-meta dt{color:var(--ink-3)}
.pp-acts{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin-top:26px}
.res{margin-top:22px;display:grid}
.res a{display:grid;grid-template-columns:18px 1fr auto;gap:12px;align-items:center;min-height:46px;border-top:1px solid var(--rule);text-decoration:none;font-size:.95rem}
.res a:last-child{border-bottom:1px solid var(--rule)}
.res svg{width:16px;height:16px;opacity:.6}
.res span{font-size:.8rem;color:var(--ink-3)}
.res a:hover{text-decoration:underline;text-underline-offset:.2em}
.pp-body{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(24px,4vw,72px);border-top:1px solid var(--ink);padding:clamp(32px,4vw,56px) 0}
.pp-body>h2{font:400 clamp(1.5rem,2.2vw,2rem)/1.1 var(--serif);position:sticky;top:calc(var(--hdr) + 24px);align-self:start}
.pp-sec+.pp-sec{margin-top:clamp(32px,4vw,52px)}
.pp-sec h3{font:400 1.5rem/1.15 var(--serif);margin-bottom:.55em}
.pp-sec p{max-width:40em;color:var(--ink-2);text-wrap:pretty}
.pp-sec p+p{margin-top:.9em}
.pp-intro p{font-size:clamp(1.2rem,1.7vw,1.5rem);line-height:1.42;color:var(--ink);max-width:32em;font-family:var(--text-serif)}
.pts{margin-top:14px;border-top:1px solid var(--rule);max-width:46em}
.pts li{padding:12px 0 12px 26px;border-bottom:1px solid var(--rule);position:relative;color:var(--ink-2)}
.pts li::before{content:"";position:absolute;left:2px;top:1.42em;width:12px;height:1px;background:var(--k)}
.pts li b{font-weight:600;color:var(--ink)}
.facts{max-width:46em;border-top:1px solid var(--rule);margin-top:6px}
.facts div{display:grid;grid-template-columns:12rem 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--rule)}
.facts dt{color:var(--ink-3);font-size:.95rem}
.fnotes{margin-top:26px;font-size:.84rem;color:var(--ink-3);max-width:50em;display:grid;gap:6px}
/* spec tables */
.tbl-tools{display:flex;gap:16px;align-items:center;margin-bottom:18px;flex-wrap:wrap}
.field{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--ink);min-height:46px;min-width:min(340px,100%)}
.field svg{width:16px;height:16px;flex:none;opacity:.6}
.field input,.field select{border:0;background:transparent;outline:0;width:100%;min-height:44px;font-size:1rem}
.field:focus-within{box-shadow:0 1px 0 var(--ink)}
.field input::placeholder{color:var(--ink-3)}
.tbl-block+.tbl-block{margin-top:10px}
.tbl-block summary{display:flex;justify-content:space-between;gap:16px;align-items:baseline;cursor:pointer;list-style:none;padding:14px 0;border-top:1px solid var(--rule);font:400 1.3rem/1.2 var(--serif)}
.tbl-block summary::-webkit-details-marker{display:none}
.tbl-block summary span{font:400 .84rem var(--sans);color:var(--ink-3);white-space:nowrap}
.tbl-block summary span::after{content:"+";display:inline-block;width:1.2em;text-align:right;font-size:1.1rem}
.tbl-block[open] summary span::after{content:"\2212"}
.spec{width:100%;border-collapse:collapse;font-size:.93rem;line-height:1.45}
.spec th{text-align:left;font-weight:500;color:var(--ink-3);font-size:.8rem;padding:10px 16px 10px 0;border-bottom:1px solid var(--ink);vertical-align:bottom;white-space:nowrap}
.spec td{padding:12px 16px 12px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.spec td:last-child,.spec th:last-child{padding-right:0}
.spec td.code{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.spec td.num{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink-2)}
.spec tbody tr{transition:background .15s}
.spec tbody tr:hover{background:rgba(20,35,45,.035)}
.spec tr[hidden]{display:none}
.tbl-empty{padding:18px 0;color:var(--ink-3)}
.order{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,48px);max-width:56em}
.order h3{font:400 1.3rem/1.2 var(--serif);margin-bottom:10px}
.order dl div{display:grid;grid-template-columns:minmax(0,1fr);padding:9px 0;border-top:1px solid var(--rule);font-size:.95rem}
.order dt{color:var(--ink-3);font-size:.84rem}
.order dd a{text-decoration:none;overflow-wrap:anywhere}
.order dd a:hover{text-decoration:underline}
.order p{font-size:.92rem;color:var(--ink-2);margin-top:10px}
.rel{padding:clamp(48px,6vw,96px) 0 clamp(72px,9vw,130px);border-top:1px solid var(--ink)}
.rel-head{display:flex;align-items:center;gap:18px;margin-bottom:clamp(24px,3vw,40px)}
.rel-head img{width:64px;height:64px}
.rel-head h2{font:400 clamp(1.8rem,3vw,2.6rem)/1.05 var(--serif)}
.rel-head .go{margin-left:auto}
.rel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.8vw,28px)}
.rel-grid a{text-decoration:none}
.rel-grid .ph{aspect-ratio:4/3}
.rel-grid .ph img{transition:transform .7s var(--ease)}
.rel-grid a:hover .ph img{transform:scale(1.05)}
.rel-grid b{font:600 1.04rem/1.25 var(--sans);letter-spacing:-.005em;display:block;margin-top:12px;padding-top:12px;border-top:1px solid var(--rule)}
.rel-grid a:hover b{color:var(--k)}
.rel-grid span{font-size:.86rem;color:var(--ink-3)}
@media (max-width:900px){
  .pp-top{grid-template-columns:minmax(0,1fr)}
  .pp-info{position:static}
  .pp-body{grid-template-columns:minmax(0,1fr);gap:18px}
  .pp-body>h2{position:static}
  .facts div{grid-template-columns:minmax(0,1fr);gap:2px}
  .pp-meta div{grid-template-columns:7rem 1fr}
  .order{grid-template-columns:minmax(0,1fr)}
  .rel-head{flex-wrap:wrap}.rel-head .go{margin-left:0;width:100%}
  .rel-head img{width:48px;height:48px}
  .rel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rel-grid b{font-size:.98rem}
  .gal-thumbs button{width:70px;height:58px}
}
@media (max-width:700px){
  /* spec tables become stacked records on phones */
  .spec,.spec tbody,.spec tr,.spec td{display:block;width:100%}
  .spec thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .spec tr{padding:14px 0;border-bottom:1px solid var(--rule)}
  .spec tr[hidden]{display:none}
  .spec td{border:0;padding:0}
  .spec td+td{margin-top:6px}
  .spec td[data-l]{display:grid;grid-template-columns:8.6rem 1fr;gap:10px;white-space:normal}
  .spec td[data-l]::before{content:attr(data-l);color:var(--ink-3);font-size:.8rem;font-weight:400;padding-top:.12em}
  .spec td.desc{color:var(--ink-2)}
  .spec td.code{font-size:1.02rem}
  .spec td:empty{display:none}
}

/* ------------- announcements ------------- */
.news{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:clamp(24px,4vw,72px);align-items:start;padding-bottom:clamp(72px,9vw,130px)}
.years{position:sticky;top:calc(var(--hdr) + 20px);max-height:calc(100vh - var(--hdr) - 40px);overflow:auto;scrollbar-width:thin;border-top:1px solid var(--ink)}
.years button{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:36px;padding:0 2px;border-bottom:1px solid var(--rule-2);font-variant-numeric:tabular-nums;font-size:.95rem}
.years button span{font-size:.8rem;color:var(--ink-3)}
.years button:hover{background:rgba(20,35,45,.04)}
.years [aria-pressed=true]{font-weight:700;border-bottom-color:var(--ink)}
.years [aria-pressed=true] span{color:var(--ink)}
.news-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 28px;align-items:end;margin-bottom:8px}
.news-tools .field{min-width:0}
.yr-select{display:none}
.cats{display:flex;flex-wrap:wrap;gap:0 26px;grid-column:1/-1;border-bottom:1px solid var(--rule)}
.cats button{min-height:46px;font-size:.95rem;position:relative;white-space:nowrap;color:var(--ink-2)}
.cats button span{font-size:.78rem;color:var(--ink-3);margin-left:5px;font-variant-numeric:tabular-nums}
.cats button::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.cats [aria-pressed=true]{color:var(--ink);font-weight:600}
.cats [aria-pressed=true]::after{transform:scaleX(1)}
.news-status{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:52px;font-size:.9rem;color:var(--ink-3)}
.news-status button{text-decoration:underline;text-underline-offset:.2em;min-height:44px;color:var(--ink)}
.yr-h{font:400 clamp(2rem,3.4vw,3rem)/1 var(--serif);padding:34px 0 12px;border-bottom:1px solid var(--ink);display:flex;justify-content:space-between;align-items:baseline}
.yr-h span{font:400 .86rem var(--sans);color:var(--ink-3)}
.news .ann{border-top:0}
.news-more{display:flex;flex-direction:column;align-items:center;gap:12px;padding-top:36px}
.news-empty{padding:56px 0;text-align:left}
.news-empty b{font:400 1.8rem var(--serif);display:block;margin-bottom:8px}
mark{background:rgba(138,90,22,.2);color:inherit;padding:0 .08em}
@media (max-width:980px){
  .news{grid-template-columns:minmax(0,1fr)}
  .years{display:none}
  .yr-select{display:flex}
  .news-tools{grid-template-columns:1fr 9.5rem}
  .cats{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut);scrollbar-width:none;gap:0 22px}
  .cats::-webkit-scrollbar{display:none}
}

/* ------------- about, partnering, investors, contact ------------- */
.split{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,4vw,72px);padding:clamp(40px,5vw,80px) 0;border-top:1px solid var(--ink)}
.split>h2{font:400 clamp(1.8rem,2.8vw,2.5rem)/1.06 var(--serif)}
.split>h2 small{display:block;font:italic 400 1rem/1.4 var(--text-serif);color:var(--ink-3);margin-top:10px}
.co{border-top:1px solid var(--rule)}
.co li{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:24px;padding:24px 0;border-bottom:1px solid var(--rule)}
.co b{font:400 1.6rem/1.1 var(--serif)}
.co p{color:var(--ink-2);max-width:38em}
.tree{margin-bottom:34px;max-width:660px}
.tree text{font-family:var(--text-serif);font-size:15px;fill:var(--ink)}
.tree .tsm{font-family:var(--sans);font-size:11.5px;fill:var(--ink-3)}
.tree path,.tree rect{fill:none;stroke:var(--ink);stroke-width:1}
.tree .tfill{fill:var(--ink)}.tree .tinv{fill:var(--paper)}
.person{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:24px;padding:26px 0;border-top:1px solid var(--rule)}
.person:last-child{border-bottom:1px solid var(--rule)}
.person h3{font:400 1.7rem/1.08 var(--serif)}
.person h3+p{font:italic 400 1rem/1.35 var(--text-serif);color:var(--ink-3);margin-top:6px}
.person>p{color:var(--ink-2);max-width:40em;font-size:.99rem}
.ppl-h{font:italic 400 1.1rem var(--text-serif);color:var(--ink-3);padding:0 0 12px}
.ppl-h:not(:first-child){padding-top:44px}
.values{counter-reset:none;border-top:1px solid var(--rule)}
.values li{font:400 clamp(1.5rem,2.6vw,2.3rem)/1.12 var(--serif);padding:18px 0;border-bottom:1px solid var(--rule);text-wrap:balance}
.fine{font-size:.86rem;color:var(--ink-3);max-width:60em;line-height:1.55}
.phil li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;padding:20px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.phil{border-top:1px solid var(--rule)}
.phil b{font:400 1.55rem/1.1 var(--serif)}
.phil span{color:var(--ink-2)}
.bigq{font:italic 400 clamp(1.9rem,3.8vw,3.4rem)/1.1 var(--text-serif);text-wrap:balance;max-width:20em}
.cta-band{padding:clamp(64px,8vw,120px) 0}
.cta-band .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:28px}
.inv-top{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,72px);align-items:end}
.asx-line{display:grid;gap:4px;justify-items:start;padding-bottom:.4rem}
.asx-line b{font:400 clamp(1.8rem,2.8vw,2.5rem)/1 var(--serif)}
.doclist a.yr{grid-template-columns:4.5rem minmax(0,1fr) auto}
.doclist a.yr i{font-style:normal;font-variant-numeric:tabular-nums;color:var(--ink-3);font-size:.92rem}
.doclist a{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--rule);text-decoration:none}
.doclist{border-top:1px solid var(--rule)}
.doclist time{font-size:.86rem;color:var(--ink-3);white-space:nowrap}
.doclist span{font-size:.82rem;color:var(--ink-2)}
.doclist a:hover b{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.doclist b{font-weight:500}
.dir{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(20px,3vw,48px);border-top:1px solid var(--rule)}
.dir div{padding:14px 0;border-bottom:1px solid var(--rule)}
.dir dt{font-size:.84rem;color:var(--ink-3)}
.contact{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,96px);padding-bottom:clamp(72px,9vw,130px)}
.cdl div{padding:18px 0;border-top:1px solid var(--rule)}
.cdl div:last-child{border-bottom:1px solid var(--rule)}
.cdl dt{font:italic 400 1rem var(--text-serif);color:var(--ink-3)}
.cdl dd{font:400 clamp(1.4rem,2.2vw,1.9rem)/1.2 var(--serif);margin-top:2px;overflow-wrap:anywhere}
.cdl dd a{text-decoration:none}
.cdl dd a:hover{text-decoration:underline;text-underline-offset:.16em;text-decoration-thickness:1px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:26px 28px}
.form label{display:grid;gap:4px;font-size:.88rem;color:var(--ink-3)}
.form .full{grid-column:1/-1}
.form input,.form textarea{border:0;border-bottom:1px solid var(--ink);background:transparent;min-height:46px;font-size:1.05rem;color:var(--ink);border-radius:0;padding:6px 0;outline:0;width:100%}
.form textarea{min-height:150px;resize:vertical;line-height:1.5}
.form input:focus,.form textarea:focus{box-shadow:0 1px 0 var(--ink)}
.form [aria-invalid=true]{border-color:var(--heart);box-shadow:0 1px 0 var(--heart)}
.form .err{color:var(--heart);font-size:.82rem;min-height:1.2em}
.form-note{grid-column:1/-1;padding:16px 18px;background:var(--paper-2);border-left:2px solid var(--nerves);font-size:.95rem}
.form-note[hidden]{display:none}
@media (max-width:860px){
  .split,.co li,.person,.phil li,.inv-top,.contact{grid-template-columns:minmax(0,1fr)}
  .co li,.person,.phil li{gap:8px}
  .dir{grid-template-columns:minmax(0,1fr)}
  .form{grid-template-columns:minmax(0,1fr)}
  .doclist a{grid-template-columns:1fr auto;gap:2px 14px}
  .doclist b{grid-column:1/-1}
}

/* ------------- footer ------------- */
.ftr{background:var(--ink);color:var(--paper);padding:clamp(56px,7vw,96px) 0 28px}
.ftr a{text-decoration:none}
.ftr a:hover{text-decoration:underline;text-underline-offset:.2em}
.ftr :focus-visible{outline-color:var(--paper)}
.ftr-top{display:grid;grid-template-columns:minmax(0,5fr) repeat(3,minmax(0,2fr));gap:36px clamp(20px,3vw,48px)}
.ftr-logo{width:170px;height:auto}
.ftr-top p{color:rgba(244,240,231,.7);max-width:24em;margin-top:20px;font-size:.96rem}
.ftr h2{font:italic 400 1rem var(--text-serif);color:rgba(244,240,231,.6);margin-bottom:10px}
.ftr li a{display:inline-flex;align-items:center;min-height:36px;font-size:.96rem}
.ftr address{font-style:normal;font-size:.96rem;line-height:1.7;color:rgba(244,240,231,.86)}
.ftr-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 28px;margin-top:clamp(48px,6vw,84px);padding-top:20px;border-top:1px solid rgba(244,240,231,.18);font-size:.82rem;color:rgba(244,240,231,.55)}
@media (max-width:860px){.ftr-top{grid-template-columns:1fr 1fr}.ftr-top>div:first-child{grid-column:1/-1}}

/* reveal on scroll */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--rd,0) * 80ms)}
.js .rv.in{opacity:1;transform:none}

.pidx-fig .labels{display:none}
