/* PadPrinters Medical: clean-room lab sheet. Space Grotesk + IBM Plex Sans + Plex Mono labels, hairline grid, corner ticks */
:root{--pp-cyan:#155E75;--pp-ice:#A5F3FC;--pp-signal:#06B6D4;--pp-white:#F0FDFF;--pp-ink:#083344;--pp-navy:#04222D;--pp-disp:'Space Grotesk',system-ui,sans-serif;--pp-text:'IBM Plex Sans',system-ui,sans-serif;--pp-mono:'IBM Plex Mono',ui-monospace,monospace;--pp-max:min(1320px,94vw);--pp-line:1px solid color-mix(in srgb,var(--pp-cyan) 28%,transparent)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--pp-ink);font:400 1.02rem/1.66 var(--pp-text);background-color:var(--pp-white);background-image:linear-gradient(color-mix(in srgb,var(--pp-cyan) 6%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--pp-cyan) 6%,transparent) 1px,transparent 1px);background-size:40px 40px}
img{max-width:100%;display:block}
a{color:var(--pp-cyan)}
h1,h2,h3,h4{font-family:var(--pp-disp);font-weight:600;line-height:1.1;letter-spacing:-.02em;margin:0 0 .55em;text-wrap:balance;overflow-wrap:break-word}
h1{font-size:clamp(2.2rem,4.6vw,3.9rem)}
h2{font-size:clamp(1.5rem,2.5vw,2.2rem)}
h3{font-size:1.18rem}
p,li{text-wrap:pretty}
.pp-grid{width:var(--pp-max);margin-inline:auto}
.pp-skiplink{position:absolute;left:-999px}.pp-skiplink:focus{left:1rem;top:1rem;z-index:99;background:#fff;padding:.5rem}
/* bar: thin white instrument bar */
.pp-bar{position:fixed;inset:0 0 auto;z-index:50;background:#fff;color:var(--pp-ink);border-bottom:var(--pp-line);transition:background .3s,color .3s}
.pp-bar-in{width:var(--pp-max);margin:auto;display:flex;align-items:center;gap:1.4rem;min-height:82px}
.pp-badge{position:relative;display:block;height:64px;flex:none}
.pp-badge img{height:64px;width:auto;transition:opacity .3s}
.pp-badge-d{position:absolute;left:0;top:0;opacity:0}
.pp-bar.pp-stuck{background:var(--pp-navy);color:#fff;border-bottom-color:transparent}
.pp-bar.pp-stuck .pp-badge-l{opacity:0}.pp-bar.pp-stuck .pp-badge-d{opacity:1}
.pp-rail{display:flex;gap:1.3rem;margin-left:auto;align-items:center}
.pp-rail a{color:inherit;text-decoration:none;font:500 .8rem/1 var(--pp-mono);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;padding:.4rem 0;border-bottom:2px solid transparent}
.pp-rail a:hover,.pp-rail a[aria-current]{border-bottom-color:var(--pp-signal)}
.pp-rail .pp-rail-go{border:1px solid currentColor;padding:.6rem .9rem;border-radius:6px}
.pp-rail .pp-rail-go:hover{background:var(--pp-signal);color:var(--pp-navy);border-color:var(--pp-signal)}
.pp-toggle{display:none;margin-left:auto;background:transparent;color:inherit;border:1px solid currentColor;border-radius:6px;padding:.5rem .8rem;font:500 .8rem var(--pp-mono);text-transform:uppercase}
.pp-panel{display:none}
@media (max-width:1180px){.pp-rail{display:none}.pp-toggle{display:block}
 .pp-panel.pp-shown{display:block;position:fixed;inset:72px 3vw auto;z-index:49;background:#fff;border:var(--pp-line);border-radius:8px;padding:.6rem 1.2rem;box-shadow:0 20px 40px -20px rgba(4,34,45,.4)}
 .pp-panel a{display:block;color:var(--pp-ink);text-decoration:none;font:500 .95rem var(--pp-mono);padding:.65rem 0;border-bottom:var(--pp-line)}
 .pp-panel a:last-child{border:0}}
@media (max-width:720px){.pp-bar-in{min-height:66px}.pp-badge,.pp-badge img{height:48px}body{font-size:1rem}}
/* stage (hero): photo panel left, white instrument card right, both with corner ticks */
.pp-stage{width:var(--pp-max);margin:auto;padding:112px 0 3.5rem;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-areas:"img card";gap:0;align-items:stretch}
.pp-stage-img{grid-area:img;position:relative;min-height:min(62vh,580px);border-radius:8px 0 0 8px;overflow:hidden}
.pp-stage-card{grid-area:card;background:#fff;border:var(--pp-line);border-left:0;border-radius:0 8px 8px 0;padding:2.8rem 2.6rem;display:flex;flex-direction:column;justify-content:center;position:relative}
.pp-stage-card::before,.pp-stage-card::after{content:"";position:absolute;width:16px;height:16px;border-color:var(--pp-signal);border-style:solid}
.pp-stage-card::before{top:12px;right:12px;border-width:2px 2px 0 0}.pp-stage-card::after{bottom:12px;right:12px;border-width:0 2px 2px 0}
.pp-label{font:500 .76rem/1.3 var(--pp-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--pp-cyan);margin:0 0 1rem;display:flex;align-items:center;gap:.6rem}
.pp-label::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--pp-signal)}
.pp-summary{font-size:1.08rem;max-width:34rem}
.pp-path{font:500 .74rem var(--pp-mono);text-transform:uppercase;letter-spacing:.06em;margin-bottom:1rem}.pp-path a{color:inherit}
@media (max-width:900px){.pp-stage{grid-template-columns:1fr;grid-template-areas:"img" "card";padding-top:84px}.pp-stage-img{min-height:220px;border-radius:8px 8px 0 0}.pp-stage-card{border-left:var(--pp-line);border-top:0;border-radius:0 0 8px 8px;padding:1.6rem}}
@media (max-width:600px){.pp-stage{padding:76px 0 2rem}.pp-stage-img{min-height:150px}.pp-stage-card{padding:1.2rem 1.1rem}.pp-stage-card h1{font-size:2rem}.pp-summary{font-size:.98rem;margin:.3rem 0 .4rem}}
/* buttons: rectangular with mono caps */
.pp-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--pp-cyan);color:#fff;text-decoration:none;font:500 .82rem/1 var(--pp-mono);text-transform:uppercase;letter-spacing:.08em;padding:1rem 1.25rem;border-radius:6px;margin:.6rem .6rem 0 0;border:1px solid var(--pp-cyan);transition:transform .2s ease,opacity .2s}
.pp-btn:hover{transform:translateY(-2px)}
.pp-btn.pp-btn-line{background:#fff;color:var(--pp-cyan)}
.pp-deep .pp-btn{background:var(--pp-signal);border-color:var(--pp-signal);color:var(--pp-navy)}
/* blocks */
main{display:block;overflow-x:clip}
.pp-block{padding:4.2rem 0}
.pp-block>.pp-grid>h2{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center}
.pp-block>.pp-grid>h2::before{content:"";width:28px;height:28px;border:2px solid var(--pp-signal);border-radius:50%;background:radial-gradient(circle,var(--pp-signal) 0 3px,transparent 4px)}
/* text: two-column data sheet with sticky callout */
.pp-text{display:grid;grid-template-columns:260px minmax(0,1fr);gap:3rem;align-items:start}
.pp-text aside{order:-1;position:sticky;top:110px}
.pp-text article>section{border-left:2px solid var(--pp-ice);padding:0 0 1.6rem 1.6rem;margin:0 0 1.6rem;position:relative}
.pp-text article>section::before{content:"";position:absolute;left:-7px;top:.35rem;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--pp-cyan)}
.pp-text ul{padding-left:1.1rem}.pp-text li::marker{content:"– ";color:var(--pp-signal)}
.pp-callout{font:500 1.05rem/1.45 var(--pp-disp);margin:0 0 1rem;padding:1rem 0;border-top:2px solid var(--pp-ink);border-bottom:var(--pp-line)}
.pp-tile{background:#fff;border:var(--pp-line);border-radius:8px;padding:1.2rem}
.pp-tile strong{font:500 .78rem var(--pp-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--pp-cyan)}
@media (max-width:980px){.pp-text{grid-template-columns:1fr;gap:1.2rem}.pp-text aside{order:0;position:static}}
.pp-datasheet{width:100%;border-collapse:collapse;margin:1rem 0 2rem;font-size:.94rem;background:#fff;border:var(--pp-line)}
.pp-datasheet th,.pp-datasheet td{text-align:left;padding:.6rem .85rem;border-bottom:var(--pp-line);vertical-align:top}
.pp-datasheet th{width:36%;font:500 .78rem/1.5 var(--pp-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--pp-cyan)}
.pp-datasheet tr:nth-child(even) td{background:color-mix(in srgb,var(--pp-ice) 22%,#fff)}
details{border-top:var(--pp-line);padding:.2rem 0}
details:last-of-type{border-bottom:var(--pp-line)}
summary{cursor:pointer;font:600 1.02rem var(--pp-disp);padding:.9rem 0;list-style:none;display:flex;gap:1rem;justify-content:space-between;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font:500 1.1rem var(--pp-mono);width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--pp-cyan);border-radius:50%;transition:transform .3s}
details[open]>summary::after{transform:rotate(45deg)}
/* deep band */
.pp-deep{background:var(--pp-navy);color:#fff;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:40px 40px}
.pp-deep a:not(.pp-btn){color:var(--pp-ice)}
.pp-cta{padding:3.8rem 0 6.5rem;text-align:center}
.pp-cta .pp-grid{display:flex;flex-direction:column;align-items:center;gap:.6rem}
.pp-cta h2{margin:0;max-width:30ch}
/* tiles: instrument cards with corner ticks */
.pp-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:1px;background:color-mix(in srgb,var(--pp-cyan) 28%,transparent);border:var(--pp-line)}
.pp-tile-card{display:block;color:inherit;text-decoration:none;background:#fff;position:relative;transition:opacity .25s}
.pp-tile-card img{width:100%;aspect-ratio:4/3;object-fit:cover;height:auto}
.pp-tile-body{padding:1rem 1.1rem 1.3rem}
.pp-tile-card h3{margin:0 0 .3rem}.pp-tile-card p{margin:0;font-size:.92rem;color:color-mix(in srgb,var(--pp-ink) 85%,transparent)}
.pp-tile-card::after{content:"";position:absolute;top:10px;right:10px;width:14px;height:14px;border-top:2px solid #fff;border-right:2px solid #fff;transition:transform .25s}
.pp-tile-card:hover::after{transform:translate(3px,-3px)}
.pp-tile-card:hover h3{color:var(--pp-cyan)}
.pp-tiles-list{grid-template-columns:repeat(auto-fill,minmax(min(420px,100%),1fr))}
.pp-tiles-list .pp-tile-card{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center}
.pp-tiles-list .pp-tile-card img{height:100%;aspect-ratio:auto;min-height:130px}
.pp-deep .pp-tiles{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.2)}.pp-deep .pp-tile-card{color:var(--pp-ink)}
.pp-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(460px,100%),1fr));gap:0 2rem}
.pp-list a{display:grid;grid-template-columns:110px minmax(0,1fr);gap:1rem;align-items:center;padding:.9rem 0;border-bottom:var(--pp-line);color:inherit;text-decoration:none}
.pp-list img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}
.pp-list h3{margin:0 0 .2rem}.pp-list p{margin:0;font-size:.93rem}
.pp-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:3rem 0}
.pp-facts>div{padding:1.4rem;border-left:1px solid rgba(255,255,255,.2)}
.pp-facts h3{color:var(--pp-ice);font-size:1.1rem}
@media (max-width:900px){.pp-facts{grid-template-columns:1fr 1fr}}@media (max-width:520px){.pp-facts{grid-template-columns:1fr}}
.pp-job{width:var(--pp-max);margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:#fff;border:var(--pp-line);border-radius:8px;overflow:hidden}
.pp-job img{width:100%;height:100%;min-height:380px;object-fit:cover}
.pp-job-body{padding:2.6rem;align-self:center}
@media (max-width:860px){.pp-job{grid-template-columns:1fr}.pp-job img{min-height:220px}.pp-job-body{padding:1.5rem}}
/* quotes */
main section .amr-root{--amr-font:var(--pp-text);--amr-bg:#fff;--amr-star:var(--pp-signal);--amr-link:var(--pp-cyan);--amr-text:var(--pp-ink);--amr-muted:#4b5563;--amr-radius:8px;--amr-card-border:color-mix(in srgb,var(--pp-cyan) 28%,transparent)}
.pp-quotes-c .pp-grid{max-width:900px}
.pp-quotes-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.4rem 1rem;border-bottom:2px solid var(--pp-ink);margin-bottom:1.4rem}
.pp-quotes-h p{margin:0;font:500 .78rem var(--pp-mono);text-transform:uppercase}
.amr-root .amr-photo-fallback{color:var(--amr-text,#0f172a)!important;background:color-mix(in srgb,var(--amr-text,#0f172a) 10%,#fff)!important}
/* floor */
.pp-floor{background:var(--pp-navy);color:#e3f6fa;padding:4rem 0 7rem;font-size:.94rem}
.pp-floor a{color:#fff}
.pp-floor-cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2rem}
.pp-floor-cols h4{font:500 .78rem var(--pp-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--pp-ice);margin:0 0 .8rem}
.pp-floor-cols nav a{display:block;padding:.18rem 0;text-decoration:none}
.pp-floor-small{margin-top:2.4rem;padding-top:1.3rem;border-top:1px solid rgba(255,255,255,.15);font-size:.82rem}
@media (max-width:860px){.pp-floor-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.pp-floor-cols>*{min-width:0}}
.pp-trace{position:fixed;left:0;top:0;height:2px;width:0;background:var(--pp-signal);z-index:60}
/* form */
.pp-form-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:2.4rem;align-items:start}
.pp-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.2rem;background:#fff;border:var(--pp-line);border-radius:8px;padding:1.6rem}
.pp-form-row{display:flex;flex-direction:column;gap:.35rem;min-width:0}.pp-form-full{grid-column:1/-1}
.pp-form label{font:500 .78rem var(--pp-mono);text-transform:uppercase;letter-spacing:.06em}.pp-form-opt{text-transform:none}
.pp-form input,.pp-form textarea{font:inherit;color:var(--pp-ink);background:#fff;border:1px solid color-mix(in srgb,var(--pp-cyan) 45%,transparent);border-radius:6px;padding:.7rem .8rem;width:100%;min-height:44px}
.pp-form input:focus-visible,.pp-form textarea:focus-visible{outline:2px solid var(--pp-signal);outline-offset:2px}
.pp-form [aria-invalid=true]{border-color:#B42318;border-width:2px}
.pp-form-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.pp-form-acts{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.pp-form-btn{font:500 .82rem var(--pp-mono);text-transform:uppercase;letter-spacing:.08em;background:var(--pp-cyan);color:#fff;border:0;border-radius:6px;padding:.95rem 1.5rem;min-height:44px;cursor:pointer}
.pp-form-msg{margin:0;font-weight:600}.pp-form-msg.pp-ok{color:var(--pp-cyan)}.pp-form-msg.pp-no{color:#B42318}
@media (max-width:820px){.pp-form-wrap{grid-template-columns:1fr}}@media (max-width:560px){.pp-form{grid-template-columns:1fr;padding:1.1rem}}
/* image drift + motion (transform/opacity only) */
.pp-drift{position:absolute;inset:0;overflow:hidden;display:block}
.pp-drift>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (prefers-reduced-motion:no-preference){
 @view-transition{navigation:auto}
 .pp-drift>img{animation:ppFocus 2.4s cubic-bezier(.2,.7,.2,1) both}
 .pp-stage-card>*{animation:ppStep .6s ease both}
 .pp-stage-card>*:nth-child(2){animation-delay:.08s}.pp-stage-card>*:nth-child(3){animation-delay:.16s}.pp-stage-card>*:nth-child(n+4){animation-delay:.24s}
 @supports (animation-timeline:view()){
  .pp-f1,.pp-f2,.pp-f3{animation:ppStep linear both;animation-timeline:view();animation-range:entry 0% entry 45%}
  .pp-tile-card{animation:ppFadeIn linear both;animation-timeline:view();animation-range:entry 0% entry 40%}
 }
}
@keyframes ppFocus{from{transform:scale(1.18);opacity:.6}}
@keyframes ppStep{from{opacity:0;transform:translateY(12px)}}
@keyframes ppFadeIn{from{opacity:0}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.pp-fixed{background:#fff}
@media (max-width:600px){.pp-stage{min-height:100svh;align-content:start}}
.pp-tiles{gap:.9rem;background:none;border:0}.pp-tile-card{border:var(--pp-line);border-radius:8px;overflow:hidden}.pp-deep .pp-tiles{background:none}
.pp-deep a.pp-tile-card{color:var(--pp-ink)}.pp-deep a.pp-tile-card h3{color:var(--pp-cyan)}

/* pp basics (Proof 2026-10-29): FAQ open/close, trimmed button and pill type, staggered grid reveal */
html{interpolate-size:allow-keywords}
.pp-btn,.pp-rail-go,.pp-form-btn,.pp-label{text-box:trim-both cap alphabetic}
details::details-content{block-size:0;overflow:hidden;opacity:0;transition:block-size .38s cubic-bezier(.2,.7,.2,1),opacity .3s ease,content-visibility .38s allow-discrete}
details[open]::details-content{block-size:auto;opacity:1}
@media (prefers-reduced-motion:no-preference){
.pp-tiles>*,.pp-facts>*,.pp-list>*{animation:ppStagger .62s cubic-bezier(.2,.7,.2,1) both}
.pp-tiles>:nth-child(2),.pp-facts>:nth-child(2),.pp-list>:nth-child(2){animation-delay:.08s}
.pp-tiles>:nth-child(3),.pp-facts>:nth-child(3),.pp-list>:nth-child(3){animation-delay:.16s}
.pp-tiles>:nth-child(4),.pp-facts>:nth-child(4),.pp-list>:nth-child(4){animation-delay:.24s}
.pp-tiles>:nth-child(n+5),.pp-facts>:nth-child(n+5),.pp-list>:nth-child(n+5){animation-delay:.3s}
@supports (animation-timeline:view()){
.pp-tiles>*,.pp-facts>*,.pp-list>*{animation-timeline:view();animation-delay:0s;animation-range:entry 0% entry 36%}
.pp-tiles>:nth-child(3n+2),.pp-facts>:nth-child(3n+2),.pp-list>:nth-child(3n+2){animation-range:entry 7% entry 43%}
.pp-tiles>:nth-child(3n),.pp-facts>:nth-child(3n),.pp-list>:nth-child(3n){animation-range:entry 14% entry 50%}
}
}
@keyframes ppStagger{from{opacity:0;transform:translateY(20px)}}
@media (prefers-reduced-motion:reduce){.pp-tiles>*,.pp-facts>*,.pp-list>*{animation:none!important;opacity:1;transform:none}details::details-content{transition:none}}
