@import url(/fonts/fonts.css);
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{height:100vh;height:100dvh;background:var(--bg);color:var(--ink);font-feature-settings:"kern","liga","onum"}
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
::selection{background:var(--accent);color:var(--bg)}
a{color:inherit}
:focus-visible{outline:1px solid var(--accent);outline-offset:3px}

/* ---------- the sentence form ---------- */
.sentence{margin:0;position:relative}
.sentence .line,.thanks{text-wrap:pretty}
.sentence .line{margin:0}
.nowrap{white-space:nowrap}
.slot{display:inline;position:relative;white-space:nowrap}
.sentence input,.sentence select,.sentence button{font:inherit;color:inherit;letter-spacing:inherit}
.sentence input,.sentence select{background:transparent;border:0;border-radius:0;margin:0;padding:0 .04em .02em;
  border-bottom:1px solid var(--slot);outline:none;-webkit-appearance:none;appearance:none;max-width:100%;
  transition:border-color .25s ease, color .25s ease;vertical-align:baseline;line-height:inherit;min-width:2ch}
.sentence select{padding-right:.68em;cursor:pointer;text-overflow:clip}
.slot.sel::after{content:"";position:absolute;right:.12em;top:50%;width:.26em;height:.26em;
  border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-75%) rotate(45deg);opacity:.55;pointer-events:none}
.sentence input::placeholder{color:var(--muted);opacity:1}
.sentence select:invalid{color:var(--muted)}
.sentence option{color:#111;background:#fff}
.sentence input:focus,.sentence select:focus{border-bottom-color:var(--accent)}
.sentence [aria-invalid="true"]{border-bottom-color:var(--err)}
.sentence .go{background:none;border:0;padding:0 .1em;margin-left:.15em;cursor:pointer;color:var(--accent);line-height:1;
  display:inline-flex;align-items:center;vertical-align:-.08em;transition:transform .3s ease, opacity .3s}
.sentence .go svg{width:.95em;height:.95em;display:block}
.sentence .go:hover{transform:translateX(.12em)}
.sentence .go:disabled{opacity:.35;cursor:default}
.mirror{position:absolute;visibility:hidden;white-space:pre;left:-9999px;top:0;pointer-events:none}
.extra{margin:0;transition:opacity .5s ease, transform .5s ease}
.extra[hidden]{display:block!important;visibility:hidden;opacity:0;transform:translateY(-.2em)}
.extra .note-help{display:block}
.status{margin:0;min-height:0}
.status:empty{display:none}
.thanks{margin:0;outline:none}
.thanks em{font-style:inherit;border-bottom:1px solid var(--slot)}
form.done .line,form.done .extra,form.done .status{display:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* B · Proof — dark, Marcellus wordmark, glacier-teal accent (continuity with the product cards) */
html[data-theme="dark"]{--bg:#0D0F10;--ink:#E7E5E0;--muted:#7C8285;--slot:rgba(231,229,224,.2);--accent:#9FD0C4;--err:#E39A86;--line:rgba(231,229,224,.09)}
html[data-theme="light"]{--bg:#F4F3EF;--ink:#16181A;--muted:#8A8F92;--slot:rgba(22,24,26,.22);--accent:#2F6B62;--err:#A4432F;--line:rgba(22,24,26,.08)}
body{font-family:"L Inter",system-ui,sans-serif}
.page{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto minmax(0,.62fr) auto minmax(0,.5fr) auto;
  padding:clamp(18px,3.2vh,32px) clamp(20px,4.4vw,64px) clamp(16px,3vh,28px);position:relative}
.page::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--line);pointer-events:none}
.meta,.foot{position:relative;font-family:"L Mono",monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.meta .dom{text-transform:none;letter-spacing:.08em}
.center{grid-row:3;text-align:center;position:relative;background:var(--bg);padding:6px 0}
.wm{margin:0;font-family:"L Marcellus",serif;font-weight:400;text-transform:uppercase;
  font-size:min(8.6vw,13.2vh);letter-spacing:.2em;margin-right:-.2em;line-height:1;white-space:nowrap;
  animation:track 2.2s cubic-bezier(.16,.8,.12,1) both}
.mark{display:block;margin:clamp(14px,2.6vh,26px) auto 0;width:44px;height:1px;background:var(--accent);transform-origin:center;animation:grow 1.4s ease both .5s}
html[data-name="taxformity"] .mark{height:4px;background:none;border-top:1px solid var(--accent);border-bottom:1px solid var(--accent)}
.tag{margin:clamp(14px,2.6vh,24px) 0 0;font-size:clamp(14px,1.9vh,17px);font-weight:300;letter-spacing:.02em;color:var(--ink);animation:fade 1.4s ease both .8s}
.qed{display:inline-block;width:.52em;height:.52em;background:var(--accent);margin-left:.4em;vertical-align:-.02em}
.intake{grid-row:5;position:relative;background:var(--bg);text-align:center;max-width:860px;width:100%;justify-self:center;padding:8px 0;animation:fade 1.4s ease both 1s}
.lede{margin:0 0 clamp(12px,2vh,20px);font-family:"L Mono",monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.sentence{font-size:clamp(18px,2.6vh,23px);line-height:1.75;font-weight:300;letter-spacing:-.003em}
.sentence input,.sentence select{font-weight:400}
.extra{font-size:.74em;margin-top:.6em;color:var(--muted)}
.extra label,.extra input{color:var(--ink)}
.note-help{font-family:"L Mono",monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:.2em}
.status{font-size:13px;color:var(--err);margin-top:.4em}
.thanks{font-weight:300}
.foot{grid-row:7}
.foot p{margin:0;text-transform:none;letter-spacing:.03em;font-family:"L Inter",sans-serif;font-size:11.5px}
.foot a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--accent);text-underline-offset:3px;margin-left:.5em;transition:color .2s ease}
.foot a:hover{color:var(--accent)}
@keyframes track{from{letter-spacing:.42em;opacity:0}}
@keyframes grow{from{transform:scaleX(0)}}
@keyframes fade{from{opacity:0}}
@media (max-width:700px){
  .page::before{display:none}
  .wm{font-size:min(9.6vw,8vh);letter-spacing:.16em;margin-right:-.16em}
  .sentence{font-size:clamp(18px,2.45vh,21px);line-height:1.7}
  .intake{text-align:left}
  .lede{text-align:left}
  .foot{flex-direction:column;gap:6px}
  .foot a{margin-left:0}
}
