/* Lighted Faucets v1.1 "Showroom at night" - see F:\Clients\lightedfaucets.com\DESIGN.md */
@font-face{font-family:"Urbanist";src:url(/assets/fonts/urbanist-var-latin.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Rethink Sans";src:url(/assets/fonts/rethink-sans-var-latin.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
:root{
  --night:#0b0f15;--graphite:#151b24;--graphite2:#1d2530;--line-d:#2a323d;
  --porcelain:#f6f4ef;--white:#ffffff;--stone:#e6e1d7;--stone2:#efebe3;
  --ink:#16191e;--slate:#565e69;--nickel:#9aa3ad;--frost:#e9edf1;
  --cyan:#6fe3ff;--warm:#ffb36b;--teal:#0b7285;
  --stop:#b42318;--check:#8a5300;--ok:#1d7148;--note:#4a5565;
  --stop-bg:#fdf1ef;--check-bg:#fbf3e4;--ok-bg:#ecf6ef;--note-bg:#eef0f3;
  --display:"Urbanist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --text:"Rethink Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --max:1200px;--read:740px;--r:18px;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{margin:0;background:var(--porcelain);color:var(--ink);font:400 17px/1.62 var(--text);font-feature-settings:"tnum" 1;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--teal);text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:var(--teal)}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--display);color:inherit;margin:0}
h2{font-weight:400;font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.15;letter-spacing:-.015em;margin:2.2em 0 .55em}
h3{font-weight:600;font-size:1.2rem;line-height:1.25;margin:.2em 0 .35em;letter-spacing:-.005em}
p{margin:0 0 1em}
strong{font-weight:650}
.small{font-size:.9rem;color:var(--slate)}
.center{text-align:center}
.skip{position:absolute;left:-9999px;top:8px;z-index:50;background:#fff;color:var(--ink);padding:10px 14px;border-radius:10px}
.skip:focus{left:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- top bar ---------- */
.bar{position:sticky;top:0;z-index:20;background:rgba(11,15,21,.95);-webkit-backdrop-filter:saturate(160%) blur(18px);backdrop-filter:saturate(160%) blur(18px);color:var(--frost);border-bottom:1px solid rgba(255,255,255,.07)}
.bar a{color:var(--frost);text-decoration:none}
.bar :focus-visible{outline-color:var(--cyan)}
.bar-in{max-width:var(--max);margin:0 auto;padding:0 24px;height:60px;display:flex;align-items:center;gap:28px}
.mark{display:flex;align-items:center;gap:10px;margin-right:auto}
.mark-ico{width:30px;height:30px}
.mark-t{font:500 1.22rem/1 var(--display);letter-spacing:.01em;color:#fff}
.mark-t span{font-weight:250;color:var(--nickel);margin-left:.08em}
.nav{display:flex;gap:26px}
.nav a{font-size:.92rem;color:#c6cdd5;padding:6px 0;border-bottom:1.5px solid transparent}
.nav a:hover{color:#fff}
.nav a[aria-current=page]{color:#fff;border-bottom-color:var(--cyan)}
.bar-note{max-width:var(--max);margin:0 auto;padding:0 24px 9px;font-size:.8rem;line-height:1.4;color:var(--nickel)}
.bar-note strong{color:#fff;font-weight:600}
.bar-note a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);margin-right:9px;vertical-align:1px}
.menu{display:none}
.menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:8px 2px;font-size:.92rem;color:#fff}
.menu summary::-webkit-details-marker{display:none}
.menu-i,.menu-i::before{display:block;width:18px;height:1.5px;background:#fff;transition:transform .25s var(--ease)}
.menu-i{position:relative;box-shadow:0 -6px 0 #fff}
.menu-i::before{content:"";position:absolute;top:6px}
.menu[open] .menu-i{box-shadow:none;transform:rotate(45deg)}
.menu[open] .menu-i::before{transform:rotate(-90deg);top:0}
.menu-sheet{position:absolute;left:0;right:0;top:60px;background:var(--night);border-top:1px solid var(--line-d);padding:10px 24px 28px;box-shadow:0 30px 60px rgba(0,0,0,.45)}
.menu-sheet nav{display:flex;flex-direction:column}
.menu-sheet a{font:300 1.6rem/1.2 var(--display);padding:12px 0;border-bottom:1px solid var(--line-d);color:#fff}
.menu-sheet a[aria-current=page]{color:var(--cyan)}

/* ---------- pills (buttons) ---------- */
.pill,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 24px;border-radius:999px;font:600 .98rem/1 var(--text);text-decoration:none;cursor:pointer;border:1.5px solid transparent;transition:background .2s,color .2s,box-shadow .25s,border-color .2s;white-space:nowrap}
.pill-light{background:#fff;color:var(--night)}
.pill-light:hover{background:var(--cyan);color:var(--night);box-shadow:0 0 28px rgba(111,227,255,.45)}
.pill-line{border-color:rgba(255,255,255,.4);color:#fff}
.pill-line:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.06)}
.pill-dark,.btn-main{background:var(--night);color:#fff}
.pill-dark:hover,.btn-main:hover{background:#000;color:#fff;box-shadow:0 0 0 4px rgba(11,114,133,.18)}
.pill-glow{min-height:36px;padding:0 16px;font-size:.86rem;background:linear-gradient(135deg,var(--cyan),#a8c1ff 55%,var(--warm));color:var(--night)!important;font-weight:700}
.pill-glow:hover{box-shadow:0 0 22px rgba(111,227,255,.55)}
.btn{background:#fff;color:var(--ink);border-color:#8a8478}
.btn:hover{border-color:var(--ink);color:var(--ink)}
.btn.btn-main{background:var(--night);color:#fff;border-color:var(--night)}
.btn-ghost{background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--teal)}
.btn.danger,button.danger{background:var(--stop);color:#fff;border-color:var(--stop)}
.linkish{background:none;border:0;padding:0;font:inherit;color:var(--ink);text-decoration:underline;text-decoration-color:var(--teal);text-underline-offset:3px;cursor:pointer}
a.danger,.linkish.danger{color:var(--stop);text-decoration-color:var(--stop);background:none;border:0}
.cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:30px 0 26px}

/* ---------- price line ---------- */
.price-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:.9rem;line-height:1.4;margin:0 0 28px}
.price-line .tag{font:700 .68rem/1 var(--text);letter-spacing:.16em;text-transform:uppercase;padding:6px 10px;border-radius:999px}
.price-line .free{font-weight:650}
.price-light{padding:12px 0;border-top:1px solid var(--stone);border-bottom:1px solid var(--stone);color:var(--ink)}
.price-light .tag{background:var(--night);color:#fff}
.price-light .free{color:var(--ok)}
.price-dark{justify-content:center;color:#c6cdd5;margin:0 auto}
.price-dark .tag{border:1px solid rgba(111,227,255,.5);color:var(--cyan);box-shadow:0 0 14px rgba(111,227,255,.18) inset}
.price-dark strong{color:#fff}
.price-dark .free{color:var(--cyan)}
.price-dark a{color:#fff;text-decoration-color:var(--cyan)}

/* ---------- home: stage ---------- */
.stage{background:radial-gradient(1100px 520px at 50% 108%,rgba(111,227,255,.12),transparent 62%),var(--night);color:#fff;text-align:center;padding:86px 24px 0;overflow:hidden}
.stage-in{max-width:880px;margin:0 auto}
.eyebrow,.label{font:700 .74rem/1.3 var(--text);letter-spacing:.2em;text-transform:uppercase;color:var(--slate);margin:0 0 18px}
.eyebrow,.label-glow{color:var(--cyan)}
.display{font-family:var(--display);font-weight:250;font-size:clamp(2.7rem,7.4vw,5.9rem);line-height:.98;letter-spacing:-.035em;margin:0 0 26px}
.stage-lede{font-size:clamp(1.02rem,1.5vw,1.2rem);line-height:1.62;color:#c6cdd5;max-width:720px;margin:0 auto}
.hero-art{margin:28px auto 0;max-width:1000px}
.hero-svg{display:block;width:100%;height:auto}
.hero-svg text{font-family:var(--text)}
.stream-glow{animation:glow 4.8s ease-in-out infinite}
@keyframes glow{0%,100%{opacity:.55}50%{opacity:.9}}

/* ---------- chapters ---------- */
.chapter{padding:104px 24px}
.chapter-in{max-width:var(--max);margin:0 auto;text-align:center}
.chapter-light{background:var(--porcelain)}
.chapter-stone{background:var(--stone2);border-top:1px solid var(--stone);border-bottom:1px solid var(--stone)}
.chapter-night{background:var(--night);color:#fff}
.chapter-night .label{color:var(--cyan)}
.chapter-night a{color:#fff;text-decoration-color:var(--cyan)}
.h-xl{font-weight:300;font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.04;letter-spacing:-.03em;margin:0 auto 18px;max-width:900px}
.chapter-lede{font-size:1.12rem;color:var(--slate);max-width:660px;margin:0 auto 52px}
.chapter-lede.left{margin-left:0;text-align:left}

.measure{display:grid;grid-template-columns:1.45fr 1fr;gap:56px;align-items:start;text-align:left}
.measure-art{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:16px;position:sticky;top:150px}
.measure-art svg{background:#fff;border:1px solid var(--stone);border-radius:var(--r);padding:18px}
.measure-art svg{display:block;width:100%;height:auto}
.measure-art text{font-family:var(--text)}
.measure-list{list-style:none;margin:0;padding:0}
.measure-list li{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid var(--stone)}
.measure-list li:first-child{border-top:1px solid var(--stone)}
.measure-list p{margin:2px 0 0;color:var(--slate);font-size:.95rem}
.k{flex:none;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--teal);color:var(--teal);font:700 .85rem/1 var(--text)}

.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:56px;text-align:left;border-top:1px solid var(--line-d)}
.trio-i{padding:36px 36px 8px 0}
.trio-i+.trio-i{padding-left:36px;border-left:1px solid var(--line-d)}
.trio-i h3{font-weight:400;font-size:1.65rem;margin-bottom:14px}
.trio-i p{color:#c6cdd5}
.num{font:200 4.2rem/1 var(--display);letter-spacing:-.04em;color:var(--cyan);margin:0 0 18px}
.trio-i:nth-child(2) .num{color:#a8c1ff}.trio-i:nth-child(3) .num{color:var(--warm)}

.readout{display:grid;grid-template-columns:1fr 1.2fr;margin-top:48px;text-align:left;border-radius:var(--r);overflow:hidden;border:1px solid var(--stone);background:#fff;box-shadow:0 30px 60px -40px rgba(11,15,21,.35)}
.readout-in{background:var(--graphite);color:#d4dae1;padding:40px}
.readout-out{padding:40px}
.readout-h{font:700 .72rem/1 var(--text);letter-spacing:.2em;text-transform:uppercase;color:var(--slate);margin-bottom:18px}
.readout-in .readout-h{color:var(--cyan)}
.readout-msg{font:300 1.3rem/1.5 var(--display);color:#fff;margin:0}
.readout-list{list-style:none;padding:0;margin:0 0 18px}
.readout-list li{display:flex;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--stone2)}

.split{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:center;text-align:left}
.split .h-xl{margin-left:0}
.steps{list-style:none;margin:0;padding:0;counter-reset:s}
.steps li{display:flex;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid #d9d3c6;font:300 1.3rem/1.35 var(--display)}
.steps li:first-child{border-top:1px solid #d9d3c6}
.steps span{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--night);color:var(--cyan);font:600 1rem/1 var(--text)}

/* ---------- plans ---------- */
.plans{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:960px;margin:44px auto 26px;text-align:left;border:1px solid var(--stone);border-radius:var(--r);overflow:hidden;background:#fff}
.plan{padding:40px 40px 32px}
.plan-plus{background:var(--night);color:#d4dae1}
.plan-name{font:700 .74rem/1 var(--text);letter-spacing:.2em;text-transform:uppercase;color:var(--slate);margin-bottom:14px}
.plan-plus .plan-name{color:var(--cyan)}
.amount{font:250 3.6rem/1 var(--display);letter-spacing:-.04em;margin:0 0 8px;color:var(--ink)}
.plan-plus .amount{color:#fff}
.amount span{font:400 1rem/1 var(--text);letter-spacing:0;color:var(--slate)}
.plan-plus .amount span{color:var(--nickel)}
.alt{color:var(--slate);margin-bottom:26px}
.plan-plus .alt{color:var(--nickel)}
.plan-plus .alt strong{color:#fff}
.ticks{list-style:none;margin:0;padding:0}
.ticks li{position:relative;padding:12px 0 12px 30px;border-top:1px solid var(--stone2);font-size:.96rem}
.plan-plus .ticks li{border-top-color:var(--line-d)}
.ticks li::before{content:"";position:absolute;left:2px;top:19px;width:12px;height:6px;border-left:2px solid var(--teal);border-bottom:2px solid var(--teal);transform:rotate(-45deg)}
.plan-plus .ticks li::before{border-color:var(--cyan)}
.free-box{margin:22px 0 0;padding:14px 16px;border-radius:12px;background:rgba(111,227,255,.08);border:1px solid rgba(111,227,255,.35);color:#fff;font-size:.92rem}

/* ---------- inner pages ---------- */
.mast{background:radial-gradient(800px 300px at 85% 120%,rgba(111,227,255,.10),transparent 60%),var(--night);color:#fff;padding:64px 24px 56px}
.mast-in{max-width:var(--read);margin:0 auto}
.mast:has(+ .page .page-wide) .mast-in{max-width:1060px}
.mast h1{font-weight:250;font-size:clamp(2.3rem,5.2vw,3.9rem);line-height:1.02;letter-spacing:-.03em;margin:0 0 16px;overflow-wrap:anywhere}
.mast-lede{font-size:1.12rem;color:#c6cdd5;max-width:680px;margin:0}
.mast a{color:#fff;text-decoration-color:var(--cyan)}
.mast-back{margin:0 0 18px;font-size:.92rem}
.mast-back a{color:var(--cyan);text-decoration:none}
.mast-back a::before{content:"\2190  "}
.mast-back a:hover{text-decoration:underline}
.page{padding:44px 24px 96px}
.page-in{max-width:var(--read);margin:0 auto}
.page-in.page-wide{max-width:1060px}
.page-in>h2:first-child{margin-top:.4em}
.lede{font-size:1.15rem;color:var(--slate)}
ul.prose{padding-left:1.1em}
ul.prose li{margin:0 0 .8em;padding-left:.3em}
ul.prose li::marker{color:var(--teal)}

.guide{list-style:none;counter-reset:g;margin:36px 0;padding:0}
.guide>li{counter-increment:g;position:relative;padding:34px 0 18px 84px;border-top:1px solid var(--stone)}
.guide>li::before{content:counter(g,decimal-leading-zero);position:absolute;left:0;top:30px;font:200 2.9rem/1 var(--display);letter-spacing:-.04em;color:var(--teal)}
.guide h2{margin:0 0 .5em;font-size:1.55rem}
.guide-cta{margin-top:40px}

.sources{list-style:none;padding:0;margin:28px 0;border-top:1px solid var(--stone)}
.sources li{border-bottom:1px solid var(--stone)}
.sources a{display:block;padding:16px 34px 16px 0;position:relative;text-decoration:none}
.sources a::after{content:"\2197";position:absolute;right:6px;top:16px;color:var(--teal)}
.sources a:hover{color:var(--teal)}

/* ---------- forms ---------- */
.checkform{display:grid;grid-template-columns:1fr;gap:24px;margin-top:8px}
.checkform .actions{grid-column:1/-1}
.fields{border:1px solid var(--stone);border-radius:var(--r);background:#fff;padding:26px 26px 10px;margin:0 0 22px;min-width:0}
.checkform .fields{margin:0}
legend{font:400 1.35rem/1.2 var(--display);letter-spacing:-.01em;padding:0 10px;margin-left:-10px;color:var(--ink)}
.fs-n{font:700 .75rem/1 var(--text);letter-spacing:.14em;color:var(--teal);margin-right:8px;vertical-align:3px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;margin-top:12px}
.page-wide .grid{grid-template-columns:repeat(3,1fr)}
.grid label{display:flex;flex-direction:column;justify-content:flex-end}
label{display:block;font-size:.88rem;font-weight:600;color:var(--ink);margin:0 0 16px}
.lab{display:flex;align-items:center;gap:8px;margin-bottom:6px;min-height:22px}
.lab .k{width:22px;height:22px;font-size:.7rem}
input,select{display:block;width:100%;font:400 1rem/1.3 var(--text);color:var(--ink);background:var(--porcelain);border:1.5px solid #8a8478;border-radius:12px;padding:12px 14px;min-height:48px;transition:border-color .15s,background .15s}
select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;background-size:6px 6px;background-repeat:no-repeat}
input:hover,select:hover{border-color:var(--ink)}
input:focus,select:focus{border-color:var(--teal);background-color:#fff;outline:none;box-shadow:0 0 0 4px rgba(11,114,133,.16)}
input::placeholder{color:#6b7079}
label.check{display:flex;gap:10px;align-items:center;font-weight:500}
label.check input{width:auto;min-height:0}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:18px 0 26px}
.inline{display:inline}
.addsink,.addfaucet,.editsink{margin:18px 0 10px}
.addsink>label,.editsink>label{max-width:420px}

.linkbox{background:var(--night);color:#d4dae1;border-radius:var(--r);padding:24px;margin:0 0 26px}
.linkbox label{color:#fff}
.linkbox .row{display:flex;gap:10px}
.linkbox input{background:var(--graphite);color:#fff;border-color:var(--line-d);font-size:.92rem}
.linkbox .btn{background:#fff;border-color:#fff}
.linkbox .small{color:var(--nickel);margin:12px 0 0}

.note{background:var(--note-bg);border-left:3px solid var(--note);border-radius:0 12px 12px 0;padding:14px 18px;margin:0 0 20px}
.note-err{background:var(--stop-bg);border-left-color:var(--stop)}
.note-main{background:var(--night);color:#d4dae1;border-left-color:var(--cyan)}

/* ---------- results ---------- */
#result{margin:4px 0 40px;outline:none}
.result{background:#fff;border:1px solid var(--stone);border-radius:var(--r);padding:8px 30px 18px;margin-bottom:14px}
.verdict{position:relative;font:400 clamp(1.35rem,2.4vw,1.75rem)/1.25 var(--display);letter-spacing:-.01em;margin:22px 0 10px;padding:4px 0 4px 22px}
.verdict::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:5px;background:var(--note)}
.v-stop{color:var(--stop)}.v-stop::before{background:var(--stop);box-shadow:0 0 14px rgba(180,35,24,.45)}
.v-check{color:var(--check)}.v-check::before{background:var(--check);box-shadow:0 0 14px rgba(204,128,0,.4)}
.v-ok{color:var(--ok)}.v-ok::before{background:var(--ok);box-shadow:0 0 14px rgba(29,113,72,.4)}
.v-note{color:var(--note)}
.readout .verdict{margin-top:0}
.grp{font:700 .74rem/1 var(--text);letter-spacing:.2em;text-transform:uppercase;color:var(--slate);margin:26px 0 4px}
.findings{list-style:none;margin:0;padding:0}
.fd{display:grid;grid-template-columns:76px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--stone2)}
.fd:last-child{border-bottom:0}
.fd-b strong{display:block;font-weight:650;margin-bottom:2px}
.fd-b p{margin:0;color:#3b424b;font-size:.96rem}
.src{display:block;margin-top:6px;font-size:.85rem;color:var(--slate)}
.chip{display:inline-block;justify-self:start;align-self:start;font:700 .68rem/1 var(--text);letter-spacing:.12em;text-transform:uppercase;padding:6px 9px;border-radius:999px;white-space:nowrap}
.chip-stop{background:var(--stop-bg);color:var(--stop);border:1px solid #f2c4bf}
.chip-check{background:var(--check-bg);color:var(--check);border:1px solid #ecd3a6}
.chip-ok{background:var(--ok-bg);color:var(--ok);border:1px solid #bfdfc9}
.chip-note{background:var(--note-bg);color:var(--note);border:1px solid #d3d8df}

/* ---------- Sink Plan ---------- */
.sinkrow,.faucet{background:#fff;border:1px solid var(--stone);border-radius:var(--r);padding:22px 26px;margin:0 0 16px}
.sinkrow h3 a{text-decoration:none}
.sinkrow h3 .small{font-family:var(--text);font-weight:400;margin-left:8px}
.faucet .result{border:0;padding:0;margin:0}
.flist{list-style:none;margin:10px 0;padding:0}
.flist li{display:flex;gap:12px;align-items:baseline;padding:8px 0;border-top:1px solid var(--stone2)}
.lv{flex:none;font:700 .68rem/1 var(--text);letter-spacing:.12em;text-transform:uppercase;padding:6px 9px;border-radius:999px;background:var(--note-bg);color:var(--note)}
.lv-stop{background:var(--stop-bg);color:var(--stop)}.lv-check{background:var(--check-bg);color:var(--check)}.lv-ok{background:var(--ok-bg);color:var(--ok)}

/* ---------- install sheet ---------- */
.printcard{max-width:900px;margin:0 auto;padding:44px 24px 80px}
.printcard h1{font-weight:250;font-size:clamp(2.2rem,5vw,3.4rem);letter-spacing:-.03em;margin:0 0 20px}
.printsink{background:#fff;border:1px solid var(--stone);border-radius:var(--r);padding:26px 30px;margin:0 0 20px}
.printsink h2{margin:0 0 14px}
.sum{border-collapse:collapse;width:100%;max-width:520px;margin:0 0 18px;font-size:.95rem}
.sum th,.sum td{text-align:left;padding:9px 0;border-bottom:1px solid var(--stone2)}
.sum th{font-weight:500;color:var(--slate);width:60%}
.sum td{font-weight:650}
.ticklist{margin:0 0 16px;padding-left:1.1em}

/* ---------- footer ---------- */
.foot{background:var(--night);color:var(--nickel);padding:72px 24px 40px;font-size:.92rem}
.foot-in{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.2fr 2fr;gap:24px 64px}
.foot-mark{font:500 1.5rem/1 var(--display);color:#fff;margin:0 0 10px}
.foot-mark span{font-weight:250;color:var(--nickel)}
.foot-tag{margin:0}
.foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.foot-cols div{display:flex;flex-direction:column;gap:10px}
.foot-h{font:700 .7rem/1 var(--text);letter-spacing:.2em;text-transform:uppercase;color:#fff;margin:0 0 6px}
.foot a{color:#c6cdd5;text-decoration:none}
.foot a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--cyan)}
.foot :focus-visible{outline-color:var(--cyan)}
.fine{grid-column:1/-1;border-top:1px solid var(--line-d);padding-top:28px;margin:24px 0 0;font-size:.84rem;line-height:1.6;max-width:none}
.powered{grid-column:1/-1;margin:0;font-size:.84rem}
.powered a{color:#fff;text-decoration:underline;text-decoration-color:var(--cyan)}
.powered-sep{display:inline-block;width:5px;height:5px;margin:0 .7em .18em;border-radius:50%;background:var(--cyan);box-shadow:0 0 6px var(--cyan);vertical-align:middle}

/* ---------- responsive ---------- */
@media (max-width:1060px){
  .nav{gap:18px}
  .measure,.split{grid-template-columns:1fr;gap:40px}
  .measure-art{position:static}
  .trio{grid-template-columns:1fr}
  .trio-i,.trio-i+.trio-i{padding:30px 0 6px;border-left:0;border-bottom:1px solid var(--line-d)}
}
@media (max-width:860px){
  .nav,.bar-cta{display:none}
  .page-wide .grid{grid-template-columns:1fr 1fr}
  .menu{display:block}
  .readout,.plans,.checkform{grid-template-columns:1fr}
  .foot-in{grid-template-columns:1fr}
  .chapter{padding:76px 22px}
}
@media (max-width:560px){
  body{font-size:16px}
  .bar-in{padding:0 18px;gap:14px}
  .bar-note{padding:0 18px 9px;font-size:.76rem}
  .stage{padding:56px 20px 0}
  .display{font-size:clamp(2.45rem,12vw,3.2rem)}
  .cta .pill{flex:1 1 100%}
  .chapter{padding:64px 20px}
  .chapter-lede{margin-bottom:36px}
  .measure-art{grid-template-columns:1fr}
  .hero-art{width:170%;margin-left:-35%}
  .dims-t{display:none}
  .bar{position:relative}
  .page-wide .grid{grid-template-columns:1fr}
  .readout-in,.readout-out,.plan{padding:28px 22px}
  .mast{padding:44px 20px 40px}
  .page{padding:32px 18px 72px}
  .fields{padding:20px 18px 6px}
  .grid{grid-template-columns:1fr}
  .result{padding:4px 18px 12px}
  .fd{grid-template-columns:1fr;gap:8px}
  .guide>li{padding-left:0;padding-top:72px}
  .guide>li::before{top:26px}
  .foot-cols{grid-template-columns:1fr 1fr}
  .linkbox .row{flex-direction:column}
  .sinkrow,.faucet,.printsink{padding:20px 18px}
  .actions .btn{flex:1 1 auto}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{
  .bar,.foot,.noprint,.mast,.skip{display:none!important}
  body{background:#fff;font-size:12pt}
  .printcard{padding:0;max-width:none}
  .printsink{border:0;padding:0;break-inside:avoid}
  a{color:#000;text-decoration:none}
}
.stage :focus-visible,.chapter-night :focus-visible,.mast :focus-visible,.plan-plus :focus-visible,.linkbox :focus-visible,.note-main :focus-visible{outline-color:var(--cyan)}
/* v1.2.0 AdEngine banner (adengine.us). One labelled slot between the main content and the footer, on the public pages only (the
   controllers opt in). The label, the reserved height and the spacing are all on the <ins>, so when tag.js (or ae-size.js) hides a
   slot it cannot fill, the label and the space go with it and the page closes up exactly as before. 110px = 16px label + 4px gap
   + 90px banner; 270px on phones (300x250). Pages already end with 96px (72px on phones) of padding and the night footer has no
   top margin, so the slot keeps 72px (56px) of porcelain below itself and adds nothing above. Label: the site's spaced capitals
   (Rethink Sans 700) in --slate on porcelain (6:1). display stays in this file and is never !important: tag.js hides a slot with
   style.display='none'. */
.ae-slot{padding:0 24px}
.ae-slot ins.adengine{display:block;max-width:728px;min-height:110px;margin:0 auto 72px;text-align:center;text-decoration:none}
.ae-slot ins.adengine::before{content:"Advertisement";display:block;margin-bottom:4px;font:700 11px/16px var(--text);letter-spacing:.2em;text-transform:uppercase;color:var(--slate)}
.ae-slot ins.adengine a{display:inline-block;vertical-align:top}
.ae-slot:has(> ins.adengine[style*="none"]){display:none}
@media (max-width:767px){.ae-slot ins.adengine{max-width:300px;min-height:270px}}
@media (max-width:560px){.ae-slot{padding:0 18px}.ae-slot ins.adengine{margin-bottom:56px}}
@media print{.ae-slot{display:none}}
