/* Vernier — /shipping/, /privacy/, /terms/ and 404 ("Out of tolerance."), v1.6 quiet structure.
   Loaded after css/vernier.css. Tokens and roles only; no new colours, no shadows, no gradients in UI.
   Prefixes: .sh- shipping · .lg- legal · .oot- 404. */

/* ================================================================ SHIPPING · head */
.sh-head{padding-top:calc(var(--nav-h) + var(--s10));padding-bottom:var(--s10)}
.sh-head__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);align-items:end}
.sh-head__copy{grid-column:1/span 6;position:relative;z-index:2}
.sh-head__copy .h{max-width:13ch}
.sh-head__copy .lead{margin-top:var(--s5);max-width:36ch}
.sh-head__num{grid-column:7/span 6;justify-self:end;position:relative;font-family:var(--font-display);font-variation-settings:var(--ax-black);font-weight:normal;font-size:clamp(150px,21vw,330px);line-height:.78;letter-spacing:-.04em;color:var(--ink);white-space:nowrap;margin-right:-.04em;user-select:none}
.sh-head__num small{position:absolute;right:.06em;top:-1.4em;font:500 14px/1 var(--font-mono);letter-spacing:.12em;color:var(--slate)}
.sh-head__clip{display:block;overflow:hidden;padding-top:.12em;margin-top:-.12em}
.sh-head__clip > span{display:block}
@media (max-width:860px){
  .sh-head__copy,.sh-head__num{grid-column:1/-1}
  .sh-head__num{font-size:37vw;justify-self:stretch;margin:var(--s8) 0 0 -.03em}
  .sh-head__num small{right:0;top:0}
}
@media (max-width:600px){
  .sh-head{padding-top:calc(var(--nav-h) + var(--s8));padding-bottom:var(--s8)}
  .sh-head__copy .h{font-size:40px}
  .sh-head__num small{font-size:11px}
}

/* ================================================================ SHIPPING · delivery day (Glacier) */
.sh-day__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);align-items:start}
.sh-day__intro{grid-column:1/span 5}
.sh-day__intro .lead{margin-top:var(--s5)}
.sh-day__cal{grid-column:7/span 6}
.sh-zip{margin-top:var(--s7)}
.sh-zip__row{display:flex;gap:var(--s3)}
.sh-zip .field{max-width:220px;font:400 16px/1 var(--font-text);letter-spacing:.02em;text-transform:none}
.sh-zip .btn{height:56px}
.sh-zip__out{margin-top:var(--s3);min-height:1.5em}
.sh-zip__out .note b{color:var(--gauge);font-weight:500}

/* calendar: a sheet laid on Glacier */
.sh-sheet{position:relative;background:var(--paper);color:var(--ink);padding:var(--s6)}
.sh-sheet__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s4);padding-bottom:var(--s4);border-bottom:1px solid var(--ink)}
.sh-sheet__title{font-family:var(--font-display);font-variation-settings:var(--ax-head);font-size:clamp(26px,2.4vw,34px);line-height:1;letter-spacing:-.015em}
.sh-sheet__month{font:500 11px/1 var(--font-mono);letter-spacing:.12em;color:var(--slate)}
.sh-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin-top:var(--s3)}
.sh-cal__dow{font:500 10px/1 var(--font-mono);letter-spacing:.12em;color:var(--slate);padding:var(--s2) 0 var(--s3) 8px;text-align:left}
.sh-cal__d{position:relative;height:76px;border-top:1px dotted var(--hairline);padding:8px 6px 0 8px;text-align:left;font:500 13px/1 var(--font-mono);color:var(--slate);display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}
.sh-cal__d em{font-style:normal;font:500 9px/1.2 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;padding-bottom:8px}
.sh-cal__d.is-past{color:var(--hairline)}
.sh-cal__d.is-wknd{color:var(--hairline)}
.sh-cal__d.is-pack em{color:var(--slate)}
.sh-cal__d.is-today{color:var(--ink)}
button.sh-cal__d{color:var(--gauge);cursor:pointer;border-top-color:var(--hairline);transition:background-color .2s,color .2s}
button.sh-cal__d em{color:var(--gauge)}
button.sh-cal__d::after{content:"";position:absolute;inset:3px 3px 3px 2px;border:1.5px solid var(--gauge);border-radius:var(--r-btn);pointer-events:none}
button.sh-cal__d:hover{background:var(--glacier)}
button.sh-cal__d[aria-pressed="true"]{background:var(--gauge);color:var(--rime)}
button.sh-cal__d[aria-pressed="true"] em{color:var(--rime)}
button.sh-cal__d:disabled{color:var(--slate);cursor:default;background:none}
button.sh-cal__d:disabled em{color:var(--slate)}
button.sh-cal__d:disabled::after{border:1px dashed var(--hairline)}
.sh-cal.is-locked{position:relative}
.sh-sheet__lock{position:absolute;left:var(--s6);right:var(--s6);bottom:var(--s6);top:calc(var(--s6) + 64px);display:flex;align-items:center;justify-content:center;pointer-events:none}
.sh-sheet__lock span{background:var(--paper);border:1px solid var(--ink);padding:10px 14px;font:500 12px/1.3 var(--font-text);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.sh-sheet__out:empty{display:none}
.sh-sheet__out{margin-top:var(--s5);padding-top:var(--s4);border-top:1px dotted var(--hairline)}
.sh-sheet__out dl{display:grid;grid-template-columns:auto 1fr;font:400 12px/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.sh-sheet__out dt,.sh-sheet__out dd{padding:8px 0;border-bottom:1px dotted var(--hairline)}
.sh-sheet__out dt{color:var(--slate);padding-right:var(--s5)}
.sh-sheet__out dd{text-align:right}
.sh-sheet__out dd b{font-weight:500;color:var(--gauge)}
.sh-sheet__act{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s4)}
@media (max-width:860px){
  .sh-day__intro,.sh-day__cal{grid-column:1/-1}
  .sh-day__cal{margin-top:var(--s8)}
}
@media (max-width:600px){
  .sh-sheet{padding:var(--s5) var(--s4);margin:0 calc(-1 * var(--s2))}
  .sh-sheet__lock{left:var(--s4);right:var(--s4)}
  .sh-cal__d{height:60px;font-size:12px;padding:6px 4px 0 5px}
  .sh-cal__d em{font-size:7.5px;letter-spacing:.06em;padding-bottom:6px}
  .sh-cal__dow{font-size:9px;letter-spacing:.06em;padding-left:5px}
  .sh-zip .field{max-width:none}
}

/* ================================================================ FAQ */
.faq{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);align-items:start}
.faq__intro{grid-column:1/span 4;position:sticky;top:calc(var(--nav-h) + var(--s5))}
.faq__intro .h{max-width:10ch}
.faq__list{grid-column:6/span 7;border-top:1px solid var(--ink)}
.faq details{border-bottom:1px dotted var(--rule)}
.faq summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:baseline;gap:var(--s3);padding:var(--s5) 0;cursor:pointer;font-family:var(--font-display);font-variation-settings:var(--ax-head);font-size:clamp(22px,1.9vw,28px);line-height:1.1;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{position:relative;width:14px;height:14px;align-self:center;justify-self:end}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:0;top:6.5px;width:14px;height:1.5px;background:var(--gauge);transition:transform .3s var(--ease-out)}
.faq summary i::after{transform:rotate(90deg)}
.faq details[open] summary i::after{transform:rotate(0)}
.faq summary:hover{color:var(--gauge)}
.faq summary:focus-visible{outline:2px solid var(--gauge);outline-offset:2px}
.faq__a{padding:0 0 var(--s5);max-width:62ch}
.faq__a p{font-size:var(--t-body);line-height:1.55;color:var(--fg-2)}
@media (max-width:860px){.faq__intro,.faq__list{grid-column:1/-1}.faq__intro{position:static}.faq__list{margin-top:var(--s7)}}
@media (max-width:600px){.faq summary{grid-template-columns:minmax(0,1fr) 18px;font-size:21px}}

/* ================================================================ LEGAL (privacy, terms) */
.lg-head{padding-top:calc(var(--nav-h) + var(--s10));padding-bottom:var(--s8)}
.lg-head .h{max-width:14ch}
.lg-head .lead{margin-top:var(--s5);max-width:52ch}
.lg-meta{margin-top:var(--s6);font-size:var(--t-cap);line-height:1.5;color:var(--fg-2);max-width:72ch}
.lg-body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);align-items:start}
.lg-toc{grid-column:1/span 3;position:sticky;top:calc(var(--nav-h) + var(--s5))}
.lg-toc ol{border-top:1px dotted var(--rule)}
.lg-toc a{display:block;padding:9px 0;border-bottom:1px dotted var(--rule);font-size:14px;line-height:1.35;color:var(--slate);position:relative;transition:color .2s}
.lg-toc a::before{content:"";position:absolute;left:-14px;top:50%;width:8px;height:1px;background:var(--gauge);transform:scaleX(0);transform-origin:0 0;transition:transform .25s var(--ease-out)}
.lg-toc a:hover,.lg-toc a.is-on{color:var(--gauge)}
.lg-toc a.is-on::before{transform:scaleX(1)}
.lg-doc{grid-column:5/span 7}
.lg-short{background:var(--paper);padding:var(--s6)}
.lg-short h2{font-family:var(--font-display);font-variation-settings:var(--ax-head);font-weight:normal;font-size:clamp(24px,2.2vw,30px);line-height:1;letter-spacing:-.015em}
.lg-short ul{margin-top:var(--s3)}
.lg-short li{padding:var(--s3) 0 var(--s3) 22px;border-bottom:1px dotted var(--hairline);position:relative;font-size:16px;line-height:1.45}
.lg-short li:last-child{border-bottom:0}
.lg-short li::before{content:"";position:absolute;left:0;top:calc(var(--s3) + 9px);width:8px;height:1px;background:var(--ink)}
.lg-doc .prose{max-width:66ch}
.lg-doc .prose > section{scroll-margin-top:calc(var(--nav-h) + var(--s5))}
.lg-doc .prose h2{padding-top:var(--s5);border-top:1px solid var(--rule)}
.lg-doc .prose p,.lg-doc .prose li{font-size:var(--t-body);line-height:1.6}
.lg-doc .prose ul li{padding-left:22px;position:relative}
.lg-doc .prose ul li::before{content:"";position:absolute;left:0;top:calc(var(--s2) + .8em);width:8px;height:1px;background:var(--fg)}
.lg-doc .prose strong{font-weight:500}
.lg-doc .prose dl.lg-dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);margin-top:var(--s4);border-top:1px dotted var(--rule)}
.lg-dl dt,.lg-dl dd{padding:var(--s3) var(--s3) var(--s3) 0;border-bottom:1px dotted var(--rule);font-size:15px;line-height:1.45}
.lg-dl dt{font-weight:500;color:var(--fg)}
.lg-end{margin-top:var(--s9);padding-top:var(--s5);border-top:1px dotted var(--rule);display:flex;justify-content:flex-end;gap:var(--s5);flex-wrap:wrap;align-items:center}
@media (max-width:1023px){.lg-toc{display:none}.lg-doc{grid-column:1/span 10}}
@media (max-width:860px){.lg-doc{grid-column:1/-1}}
@media (max-width:600px){
  .lg-head{padding-top:calc(var(--nav-h) + var(--s8))}
  .lg-short{padding:var(--s5) var(--s4)}
  .lg-doc .prose dl.lg-dl{grid-template-columns:1fr}
  .lg-dl dt{border-bottom:0;padding-bottom:0}
}
/* legal pages are long reading: give the fixed nav a solid Rime ground (hard edge, no blur) so text never runs under it */
.is-legal .nav{background:var(--rime);border-bottom:1px dotted var(--hairline);transition:background-color 0s}
body.is-legal.on-night .nav,body.is-legal.sheet-open .nav{background:transparent;border-bottom-color:transparent}

/* ================================================================ 404 · Out of tolerance */
.is-404 .oot{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--nav-h) + var(--s7)) 0 var(--s9);overflow:hidden}
.oot__wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);align-items:end}
.oot__num{grid-column:1/span 8;display:block;font-family:var(--font-display);font-variation-settings:var(--ax-black);font-weight:normal;font-size:clamp(220px,36vw,600px);line-height:.78;letter-spacing:-.04em;color:var(--ink);white-space:nowrap;margin-left:-.03em;user-select:none}
.oot__clip{display:block;overflow:hidden;padding-top:.1em;margin-top:-.1em}
.oot__clip > span{display:block}
.oot__copy{grid-column:9/span 4;padding-bottom:var(--s3)}
.oot__copy .lead{margin-top:var(--s5)}
.oot__links{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s5);margin-top:var(--s6);align-items:center}
@media (max-width:860px){
  .oot__num,.oot__copy{grid-column:1/-1}
  .oot__num{font-size:56vw}
  .oot__copy{margin-top:var(--s7)}
}
