/* R17 type, shared by the home, store and gift guide pages (body.t17); the product page does not load it.
   Instrument Serif + Geist, plain sentence headlines: no caps eyebrows, no rust-italic tails, no tracked uppercase labels.
   Instrument Serif ships one weight and is registered for every weight and for italic, so nothing on these pages
   can render a synthesized bold or a slanted italic. */
@font-face{font-family:'Instrument Serif';src:url('/assets/fonts/instrument-serif-latin.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('/assets/fonts/instrument-serif-latin.woff2') format('woff2');font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:Geist;src:url('/assets/fonts/geist-latin.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}

.t17{--disp:'Instrument Serif','Iowan Old Style',Georgia,serif;--sans:Geist,system-ui,-apple-system,'Segoe UI',sans-serif}

/* ---------- Headlines ---------- */
.t17 :is(.v-display,.v-h2,.v-h3){font-weight:400;font-variation-settings:normal;letter-spacing:-.012em;line-height:.92}
.t17 .v-h2{font-size:clamp(2.6rem,6vw,5.2rem)}
.t17 .v-h3{font-size:clamp(1.8rem,2.9vw,2.6rem);line-height:1}
.t17 :is(h1,h2,h3) em,.t17 .v-foot .tag em{font-style:normal;color:inherit;font-weight:inherit}

/* Decorative section eyebrows go. Labels that name a card stay, in sentence case. */
.t17 .v-eyebrow{display:none}
.t17 :is(.gg-way,.s-classic) .v-eyebrow{display:block;text-transform:none;letter-spacing:0;font:500 1rem/1.3 var(--sans);margin-bottom:10px}

/* Spaced-out uppercase labels become sentence case. */
.t17 .v-nav a{text-transform:none;letter-spacing:0;font-size:.98rem;font-weight:500}
.t17 .v-announce{text-transform:none;letter-spacing:.01em;font-size:.84rem}
.t17 :is(.v-foot h2,.h-ba-frame .tag,.h-scroll,.h-q cite,.s-ch-count,.s-card-media .badge,.s-card-price small,.gg-card-kind,.gg-panel h2,.gg-pick){text-transform:none;letter-spacing:.01em}
.t17 .v-foot h2{font-size:.9rem}
.t17 .s-ch-count{font-size:.9rem;font-weight:500}
.t17 .s-card-price small{font-size:.8rem}
.t17 .gg-panel h2{font-size:.95rem;font-weight:600}
.t17 .gg-card-kind{font-size:clamp(.65rem,1.1vw,.82rem);letter-spacing:.02em}

/* ---------- Word-by-word reveal (--i is set per word by type17.js) ---------- */
.u-h .w{display:inline-block;vertical-align:top;padding:.04em .02em .1em;margin:-.04em -.02em -.1em}
.u-h .wi{display:inline-block;transform:translateY(.45em) rotate(5deg);transform-origin:0 100%;opacity:0;filter:blur(10px);transition:transform 1.1s var(--ease-out),opacity .9s var(--ease-out),filter 1s var(--ease-out);transition-delay:calc(.08s + var(--i,0) * 60ms)}
.u-h.in .wi,.in .u-h .wi{transform:none;opacity:1;filter:none}
/* Page-top headlines animate on load instead of on scroll. */
.u-h.u-load .wi{animation:u-word 1.1s var(--ease-out) both;animation-delay:calc(.35s + var(--i,0) * 70ms);transition:none}
@keyframes u-word{from{transform:translateY(.45em) rotate(5deg);opacity:0;filter:blur(10px)}to{transform:none;opacity:1;filter:none}}

/* Hand-drawn underline under one word, used once or twice per page and never in a page-top headline. */
.u-mark{position:relative;display:inline-block;white-space:nowrap}
.u-mark svg{position:absolute;left:-3%;width:106%;bottom:-.16em;height:.34em;overflow:visible;pointer-events:none}
.u-mark path{fill:none;stroke:var(--rust);stroke-width:3.2;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.2s cubic-bezier(.65,0,.35,1) .9s}
.on-dark .u-mark path,.u-h.on-dark .u-mark path{stroke:var(--gold-soft)}
.in .u-mark path,.u-h.in .u-mark path{stroke-dashoffset:0}

@media (hover:none){.u-h .wi{filter:none}.u-h.u-load .wi{animation-name:u-word-lite}}
@keyframes u-word-lite{from{transform:translateY(.45em) rotate(5deg);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.u-h .wi{transform:none;opacity:1;filter:none;animation:none!important}.u-mark path{stroke-dashoffset:0}}

/* Two-sentence headlines with a break: size to the column so each sentence keeps to one line. */
.t17 .gg-copy,.t17 .s-help-grid>div:first-child{container-type:inline-size}
.t17 #giftH{font-size:min(6.2rem,12cqi)}
.t17 #helpH{font-size:min(5.2rem,11.3cqi)}

/* ---------- Product page and cart (simple.css): same type, layout untouched ---------- */
.t17 .sc-crumbs{text-transform:none;letter-spacing:.01em;font:500 .88rem/1 var(--sans)}
.t17 .sp-title{font-size:clamp(2.6rem,7.4vw,3.9rem);line-height:.95;letter-spacing:-.012em}
.t17 .sp-line{font:400 1.05rem/1.45 var(--sans);color:var(--muted)}
.t17 .sp-badge{text-transform:none;letter-spacing:.01em;font-size:.78rem}
.t17 .sp-making-title{font-size:1.55rem;line-height:1.05}
.t17 .sp-lead{font-size:1.95rem;line-height:1.05}
.t17 .gc-title{font-size:1.35rem;line-height:1.1}

/* ---------- Info pages (FAQ, contact, photo guide, policies, search, 404: the server-built pub16 shell) ---------- */
.t17.pub16 main>h1{font-size:clamp(3rem,7vw,6rem);line-height:.95;letter-spacing:-.012em}
.t17.pub16 main h2{font-size:clamp(1.7rem,2.6vw,2.2rem);line-height:1.05;letter-spacing:-.01em}
.t17.pub16 main h3{font-size:1.45rem;line-height:1.1}
.t17 .public-name{font-size:1.6rem;line-height:1.05}
