/* Plumbtex — "Down the Well". Rammetto One / Literata. Scale 1.25. */
@font-face{font-family:"Rammetto One";src:url(../fonts/rammetto.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Literata";src:url(../fonts/literata.woff2) format("woff2");font-weight:400 700;font-display:swap}
:root{--well:#F5FAFC;--deep:#0B2E4A;--rust:#A4471B;--mid:#DCEBF2;--h:"Rammetto One",Georgia,serif;--b:"Literata",Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px;scroll-padding-bottom:96px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{margin:0;background:var(--well);color:var(--deep);font:400 1.0625rem/1.65 var(--b)}
img{max-width:100%;height:auto;display:block}
.wrap{width:min(1160px,100% - 2.5rem);margin-inline:auto}
.ph{white-space:nowrap}
a{color:var(--deep)}
:focus-visible{outline:3px solid var(--deep);outline-offset:3px;box-shadow:0 0 0 6px var(--well)}
.skip{position:absolute;left:-999px;top:0;background:var(--deep);color:#fff;padding:12px 16px;z-index:99}
.skip:focus{left:8px;top:8px}
h1,h2,h3{font-family:var(--h);font-weight:400;line-height:1.15;margin:0}
.top{position:sticky;top:0;z-index:20;background:var(--well);border-bottom:3px solid var(--deep)}
.top-in{display:flex;align-items:center;gap:1rem;min-height:64px}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;font:400 1.375rem/1 var(--h);min-height:44px}
.ring{width:28px;height:28px;border-radius:50%;border:6px solid var(--deep)}
.nav{margin-left:auto;display:none}
.nav a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:0 .8rem;font-weight:600;text-decoration:none}
.nav a:hover{text-decoration:underline}
@media (min-width:760px){.nav{display:flex}}
/* the shaft: gauge + levels */
.shaft{display:grid;width:min(1200px,100%);margin-inline:auto}
@media (min-width:900px){.shaft{grid-template-columns:170px 1fr}}
.gauge{display:none}
@media (min-width:900px){
 .gauge{display:block;position:relative}
 .gauge ol{position:sticky;top:96px;list-style:none;margin:2rem 0;padding:0 0 0 1.5rem;border-left:4px solid var(--deep)}
 .gauge li{margin:0 0 1.25rem}
 .gauge a{display:flex;align-items:center;gap:.6rem;min-height:44px;font-weight:600;text-decoration:none;font-size:.9375rem}
 .gauge .mark{width:16px;height:4px;background:var(--deep);margin-left:-1.5rem}
 .gauge a[aria-current="true"]{text-decoration:underline;text-decoration-thickness:2px}
 .gauge a[aria-current="true"] .mark{width:28px;height:6px}
}
.levels{min-width:0}
.lvl{position:relative;padding:3.5rem 1.25rem}
@media (min-width:900px){.lvl{padding:4.5rem 2.5rem}}
.depth{font:400 .875rem/1 var(--h);letter-spacing:.06em;margin:0 0 1rem;opacity:.75}
/* surface */
.hero-in{display:grid;gap:2rem;align-items:center}
@media (min-width:1000px){.hero-in{grid-template-columns:1.2fr .8fr}}
.kicker{font-weight:700;margin:0 0 .75rem}
h1{font-size:clamp(2rem,5.6vw,3.8rem)}
.lede{font-size:1.25rem;max-width:40ch;margin:1.25rem 0 1.75rem}
.hero-art{position:relative;width:min(380px,70vw);justify-self:center}
.ripple{position:absolute;inset:20%;border-radius:50%;border:3px solid var(--well);pointer-events:none;opacity:0;animation:ripple 1.8s ease-out .4s 1}
@keyframes ripple{0%{transform:scale(.4);opacity:.9}100%{transform:scale(1.25);opacity:0}}
.btn-call{display:inline-flex;align-items:center;gap:.5rem;min-height:56px;padding:0 1.5rem;background:var(--rust);color:#fff;border-radius:999px;font:400 1.125rem/1 var(--h);text-decoration:none}
.btn-call:hover{background:#8A3A15}
/* stepping down: each level a deeper water tone */
.lvl-pump{background:var(--mid)}
.lvl-pump h2,.lvl-filter h2,.lvl-clear h2{font-size:clamp(1.95rem,5vw,3.05rem);margin-bottom:1rem}
.intro{font-size:1.25rem;max-width:46ch;margin:0 0 2rem}
.jobs{margin:0;display:grid;gap:1.25rem}
@media (min-width:700px){.jobs{grid-template-columns:1fr 1fr}}
.jobs div{background:var(--well);padding:1.25rem 1.5rem;border-radius:0 0 40px 0;border-top:6px solid var(--deep)}
.jobs dt{font:400 1.25rem/1.2 var(--h);margin-bottom:.4rem}
.jobs dd{margin:0}
.lvl-filter{background:#E9D8CC;display:grid;gap:1.5rem;align-items:center}
@media (min-width:760px){.lvl-filter{grid-template-columns:1fr auto}.lvl-filter .depth,.lvl-filter h2{grid-column:1}}
.lvl-filter h2{color:#7A3313}
.lvl-filter p{font-size:1.1875rem;max-width:48ch;margin:0}
.filter-art{width:180px;height:auto;justify-self:center}
@media (min-width:760px){.filter-art{grid-column:2;grid-row:1/4}}
.lvl-clear{background:var(--deep);color:var(--well)}
.lvl-clear a{color:var(--well)}
.quotes{display:grid;gap:1.5rem;margin-bottom:3rem}
@media (min-width:1000px){.quotes{grid-template-columns:1fr 1fr}}
.q{margin:0;padding:1.5rem;border:2px solid rgba(245,250,252,.35);border-radius:24px}
.q blockquote{margin:0;font-size:1.125rem}.q p{margin:0}
.q figcaption{margin-top:1rem;font-weight:700}
.callout{background:var(--well);color:var(--deep);padding:2rem;border-radius:24px}
.callout h3{font-size:clamp(1.5625rem,4vw,2.45rem)}
.callout p{margin:.5rem 0 1.25rem}
.foot{padding:2rem 0 7rem;font-size:.9375rem}
@media (min-width:760px){.foot{padding-bottom:2rem}}
.bar{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 12px;background:var(--deep)}
.bar a{display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:52px;border-radius:999px;background:var(--rust);color:#fff;font:400 1.0625rem/1 var(--h);text-decoration:none}
@media (min-width:760px){.bar{display:none}}
