/* ==========================================================================
   Patrick Foundry design system · pf.css
   One shared stylesheet for every public page (/bids adds bids.css on top).
   Fonts: Roboto Slab (headings) + Archivo (body), self-hosted, font-display: swap.
   Spacing: 8px grid (--s-*). Palette from the PF logo: ink (charcoal navy) + one warm accent (logo red).
   Sections between "@chrome-start" and "@chrome-end" are also shipped alone as pf-chrome.css (Daily app).
   ========================================================================== */
/* @chrome-start */
@font-face{font-family:"Roboto Slab";src:url(/assets/fonts/RobotoSlab-VF-latin.woff2) format("woff2");font-weight:500 800;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url(/assets/fonts/Archivo-VF.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{
  /* palette (all text pairs pass WCAG AA; see qa/contrast.txt) */
  --ink:#1a2230;          /* charcoal navy: header, footer, dark sections, headings */
  --ink-2:#253044;        /* raised surface on ink */
  --ink-3:#34405a;        /* borders on ink */
  --text:#1f2733;         /* body text on paper/white */
  --muted:#4d5766;        /* secondary text on paper/white */
  --paper:#f7f5f0;        /* page background (warm) */
  --surface:#ffffff;      /* cards */
  --line:#d9d4c8;         /* borders on paper */
  --accent:#b3161c;       /* PF red (logo dot), buttons + highlights */
  --accent-dark:#8e1015;  /* hover/active */
  --on-ink:#f4f2ed;       /* text on ink */
  --on-ink-muted:#bcc4d0; /* secondary text on ink */
  --success:#1d6b3a; --error:#a3161a;
  /* type */
  --font-head:"Roboto Slab",Rockwell,"Courier New",Georgia,serif;
  --font-body:Archivo,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --fs-xs:.8125rem;   /* 13 */
  --fs-sm:.9375rem;   /* 15 */
  --fs-base:1.0625rem;/* 17 */
  --fs-md:1.25rem;    /* 20 */
  --fs-lg:1.5rem;     /* 24 */
  --fs-xl:clamp(1.75rem,1.3rem + 1.6vw,2.25rem);  /* 28-36 */
  --fs-2xl:clamp(2.125rem,1.5rem + 2.6vw,3.25rem);/* 34-52 */
  --lh-tight:1.15; --lh-body:1.6;
  /* 8px spacing grid */
  --s-1:8px;--s-2:16px;--s-3:24px;--s-4:32px;--s-5:40px;--s-6:48px;--s-8:64px;--s-10:80px;--s-12:96px;
  --maxw:1160px; --maxw-text:68ch; --radius:6px; --header-h:64px;
  --shadow:0 1px 2px rgba(26,34,48,.06),0 4px 16px rgba(26,34,48,.06);
}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pf-skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;color:var(--ink);padding:var(--s-1) var(--s-2);border-radius:var(--radius);font:700 var(--fs-sm)/1.2 var(--font-body)}
.pf-skip:focus{left:8px}

/* ---- header (sticky) ---- */
.pf-header{position:sticky;top:0;z-index:50;background:var(--ink);color:var(--on-ink);border-bottom:1px solid var(--ink-3);font-family:var(--font-body)}
.pf-header *,.pf-footer *{box-sizing:border-box}
.pf-header__inner{max-width:var(--maxw);margin:0 auto;padding:0 var(--s-3);min-height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}
.pf-logo{display:inline-flex;align-items:center;flex:0 0 auto;padding:var(--s-1) 0}
.pf-logo img{display:block;width:145px;height:40px}
.pf-nav ul{list-style:none;margin:0;padding:0}
.pf-nav>ul{display:flex;align-items:center;gap:var(--s-1)}
.pf-nav a,.pf-nav button{font:600 var(--fs-sm)/1.2 var(--font-body);color:var(--on-ink);text-decoration:none;background:none;border:0;border-radius:var(--radius);padding:12px var(--s-2);min-height:44px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;letter-spacing:.01em}
.pf-nav a:hover,.pf-nav button:hover{background:var(--ink-2)}
.pf-nav a[aria-current=page],.pf-nav .is-current>button{box-shadow:inset 0 -3px 0 var(--accent)}
.pf-nav .pf-caret{width:10px;height:10px;transition:transform .15s}
.pf-nav button[aria-expanded=true] .pf-caret{transform:rotate(180deg)}
.pf-has-sub{position:relative}
.pf-sub{position:absolute;right:0;top:calc(100% + 4px);min-width:300px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 32px rgba(0,0,0,.18);padding:var(--s-1)}
.js .pf-sub[hidden]{display:none}
.pf-sub a{display:flex;flex-direction:column;align-items:flex-start;gap:2px;color:var(--text);width:100%;padding:12px var(--s-2)}
.pf-sub a:hover{background:var(--paper)}
.pf-sub a[aria-current=page]{box-shadow:inset 3px 0 0 var(--accent)}
.pf-sub small{font-weight:400;font-size:var(--fs-xs);color:var(--muted)}
.pf-menu-toggle{display:none;font:700 var(--fs-sm)/1 var(--font-body);color:var(--on-ink);background:none;border:1px solid var(--ink-3);border-radius:var(--radius);min-height:44px;padding:0 var(--s-2);align-items:center;gap:var(--s-1);cursor:pointer}
.pf-burger,.pf-burger::before,.pf-burger::after{display:block;width:18px;height:2px;background:currentColor;border-radius:1px;position:relative;transition:transform .15s}
.pf-burger::before,.pf-burger::after{content:"";position:absolute;left:0}.pf-burger::before{top:-6px}.pf-burger::after{top:6px}
.pf-menu-toggle[aria-expanded=true] .pf-burger{background:transparent}
.pf-menu-toggle[aria-expanded=true] .pf-burger::before{transform:translateY(6px) rotate(45deg)}
.pf-menu-toggle[aria-expanded=true] .pf-burger::after{transform:translateY(-6px) rotate(-45deg)}
.pf-header :focus-visible,.pf-footer :focus-visible{outline:3px solid #fff;outline-offset:2px}
.pf-sub :focus-visible{outline-color:var(--accent)}
@media (max-width:900px){
  .js .pf-menu-toggle{display:inline-flex}
  .js .pf-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--ink);border-bottom:1px solid var(--ink-3);padding:var(--s-1) var(--s-3) var(--s-3);max-height:calc(100vh - var(--header-h));overflow:auto}
  .js .pf-nav.is-open{display:block}
  .pf-header__inner{position:relative;flex-wrap:wrap}
  .no-js .pf-nav{width:100%}
  .pf-nav>ul{flex-direction:column;align-items:stretch;gap:0}
  .no-js .pf-nav>ul{flex-direction:row;flex-wrap:wrap}
  .pf-nav a,.pf-nav button{width:100%;justify-content:space-between;font-size:var(--fs-base);padding:14px var(--s-1)}
  .pf-nav>ul>li{border-bottom:1px solid var(--ink-3)}
  .pf-sub{position:static;min-width:0;background:transparent;border:0;box-shadow:none;padding:0 0 var(--s-1) var(--s-2);color:var(--on-ink)}
  .pf-sub a{color:var(--on-ink)}.pf-sub a:hover{background:var(--ink-2)}.pf-sub small{color:var(--on-ink-muted)}
  .pf-nav a[aria-current=page]{box-shadow:inset 3px 0 0 var(--accent)}
  .pf-sub :focus-visible{outline-color:#fff}
}

/* ---- footer (identical on every page) ---- */
.pf-footer{background:var(--ink);color:var(--on-ink-muted);font:400 var(--fs-sm)/1.6 var(--font-body);margin-top:0}
.pf-footer__inner{max-width:var(--maxw);margin:0 auto;padding:var(--s-8) var(--s-3) var(--s-4)}
.pf-footer__top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:var(--s-4)}
.pf-footer__brand img{width:145px;height:40px;display:block;margin-bottom:var(--s-2)}
.pf-footer__brand p{margin:0;color:var(--on-ink);max-width:30ch}
.pf-footer h2{font:700 var(--fs-xs)/1.3 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--on-ink);margin:0 0 var(--s-2)}
.pf-footer ul{list-style:none;margin:0;padding:0}
.pf-footer li{margin:0 0 var(--s-1)}
.pf-footer a{color:var(--on-ink);text-decoration:none}
.pf-footer a:hover{text-decoration:underline;text-underline-offset:3px}
.pf-footer__legal{border-top:1px solid var(--ink-3);margin-top:var(--s-6);padding-top:var(--s-3);display:grid;gap:var(--s-1)}
.pf-footer__legal p{margin:0}
.pf-footer__org{color:var(--on-ink)}
.pf-footer__fdot{max-width:90ch}
.pf-footer__verse{font-style:italic}
@media (max-width:900px){.pf-footer__top{grid-template-columns:1fr 1fr}.pf-footer__brand{grid-column:1/-1}}
@media (max-width:520px){.pf-footer__top{grid-template-columns:1fr}.pf-footer__inner{padding-top:var(--s-6)}}
/* @chrome-end */

/* ---- base ---- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--s-2))}
body{margin:0;background:var(--paper);color:var(--text);font:400 var(--fs-base)/var(--lh-body) var(--font-body);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-underline-offset:3px}
a:hover{color:var(--accent-dark)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--font-head);color:var(--ink);line-height:var(--lh-tight);margin:0 0 var(--s-2);font-weight:700;letter-spacing:-.01em}
h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-md)}h4{font-size:var(--fs-base)}
p{margin:0 0 var(--s-2)}
ul,ol{margin:0 0 var(--s-2);padding-left:1.25em}
li{margin-bottom:6px}
em{font-style:normal;color:var(--accent)}
table{border-collapse:collapse;width:100%}
th,td{text-align:left;padding:var(--s-1) 12px;border-bottom:1px solid var(--line);vertical-align:top}
details>summary{cursor:pointer}
[hidden]{display:none!important}
main{display:block}
main:focus{outline:none}

/* ---- layout ---- */
.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--s-3)}
.section{padding:var(--s-10) 0}
.section--tight{padding:var(--s-6) 0}
.section--alt{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section--ink{background:var(--ink);color:var(--on-ink)}
.section--ink h1,.section--ink h2,.section--ink h3{color:#fff}
.section--ink p{color:var(--on-ink)}
.section--ink .muted,.section--ink .eyebrow{color:var(--on-ink-muted)}
.section--ink a:not(.btn){color:#fff}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s-3);flex-wrap:wrap;margin-bottom:var(--s-4)}
.section-head h2{margin:0}
.section-head p{margin:var(--s-1) 0 0;max-width:var(--maxw-text)}
.grid{display:grid;gap:var(--s-3)}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--s-6);align-items:center}
.stack>*+*{margin-top:var(--s-2)}
.prose{max-width:var(--maxw-text)}
.prose h2{font-size:var(--fs-lg);margin-top:var(--s-5)}
.lede{font-size:var(--fs-md);line-height:1.5;color:var(--muted);max-width:var(--maxw-text)}
.section--ink .lede{color:var(--on-ink)}
.muted{color:var(--muted)}
.small{font-size:var(--fs-sm)}
.fine{font-size:var(--fs-xs);color:var(--muted)}
.eyebrow{font:700 var(--fs-xs)/1.3 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 var(--s-1)}
.eyebrow--accent{color:var(--accent)}
.center{text-align:center}
@media (max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr;gap:var(--s-4)}.section{padding:var(--s-8) 0}}
@media (max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.section{padding:var(--s-6) 0}.container{padding:0 var(--s-2)}.pf-header__inner{padding:0 var(--s-2)}}

/* ---- buttons: ONE primary, ONE secondary ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-1);min-height:48px;padding:12px var(--s-3);border-radius:var(--radius);font:700 var(--fs-sm)/1.2 var(--font-body);letter-spacing:.02em;text-decoration:none;text-align:center;cursor:pointer;border:2px solid transparent;transition:background-color .15s,color .15s,border-color .15s}
.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}
.btn-secondary{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn-secondary:hover{background:var(--ink);color:#fff}
.section--ink .btn-secondary,.on-ink .btn-secondary{border-color:#fff;color:#fff}
.section--ink .btn-secondary:hover,.on-ink .btn-secondary:hover{background:#fff;color:var(--ink)}
.btn[disabled],.btn[aria-disabled=true]{opacity:.6;cursor:not-allowed}
.btn-block{display:flex;width:100%}
.actions{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center;margin-top:var(--s-3)}
.link-arrow{font-weight:700;text-decoration:none}
.link-arrow:hover{text-decoration:underline}

/* ---- cards ---- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;min-width:0}
.card__media{display:block;background:var(--paper);aspect-ratio:1/1;position:relative}
.card__media img{width:100%;height:100%;object-fit:cover}
.card__body{padding:var(--s-3);display:flex;flex-direction:column;gap:var(--s-1);flex:1}
.card__body h3{margin:0;font-size:var(--fs-md)}
.card__body h3 a{color:inherit;text-decoration:none}
.card__body h3 a:hover{text-decoration:underline}
.card__body p{margin:0;color:var(--muted);font-size:var(--fs-sm)}
.card__body .btn{margin-top:auto;align-self:flex-start}
.card__body .card__spacer{flex:1}
.card--compact{flex-direction:row;align-items:flex-start}
.card--compact .card__media{flex:0 0 96px;aspect-ratio:1/1}
.card--compact .card__body{padding:var(--s-2)}
.card--featured{border-color:var(--accent);box-shadow:inset 0 3px 0 var(--accent),var(--shadow)}
.badge{display:inline-block;background:var(--accent);color:#fff;font:700 11px/1 var(--font-body);letter-spacing:.06em;text-transform:uppercase;padding:6px 8px;border-radius:3px}
.card__media .badge{position:absolute;top:var(--s-1);left:var(--s-1);z-index:1}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s-4);box-shadow:var(--shadow)}
.panel--ink{background:var(--ink-2);border-color:var(--ink-3);color:var(--on-ink);box-shadow:none}

/* ---- home ---- */
.hero{padding:var(--s-12) 0 var(--s-10)}
.hero h1{font-size:clamp(2.375rem,1.6rem + 3.4vw,4rem);max-width:16ch;margin-bottom:var(--s-3)}
.hero .accent-line{color:#fff;box-shadow:inset 0 -.18em 0 var(--accent)}
.hero .lede{max-width:60ch}
.hero__micro{margin-top:var(--s-3);font-size:var(--fs-sm);color:var(--on-ink-muted)}
.email-strip{background:var(--accent);color:#fff}
.email-strip .container{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2) var(--s-4);flex-wrap:wrap;padding-top:var(--s-3);padding-bottom:var(--s-3)}
.email-strip p{margin:0;color:#fff;max-width:72ch}
.email-strip a{color:#fff;font-weight:700;white-space:normal}
.email-strip .btn-secondary{border-color:#fff;color:#fff}
.email-strip .btn-secondary:hover{background:#fff;color:var(--accent-dark)}
.door{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:var(--s-3);align-items:start;padding:var(--s-4)}
.door img{border-radius:4px;border:1px solid var(--line);width:180px;height:180px;object-fit:cover}
.door .actions{margin-top:var(--s-2)}
.also{margin-top:var(--s-3);color:var(--muted);font-size:var(--fs-sm)}
.also a{font-weight:600}
.trust{display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-3);list-style:none;padding:0;margin:var(--s-3) 0 0;font-size:var(--fs-sm)}
.trust li{margin:0;display:flex;gap:var(--s-1);align-items:center}
.trust li::before{content:"";width:8px;height:8px;background:var(--accent);border-radius:1px;flex:0 0 8px}
.example{border-left:4px solid var(--accent);background:var(--ink-2);padding:var(--s-2) var(--s-3);border-radius:0 var(--radius) var(--radius) 0;margin:var(--s-3) 0;font-size:var(--fs-sm)}
.example b{color:#fff}
.coming-row{display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-3);align-items:center;font-size:var(--fs-sm)}
.coming-row ul{display:flex;flex-wrap:wrap;gap:var(--s-1);list-style:none;padding:0;margin:0}
.coming-row li{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:4px 12px}
@media (max-width:600px){.door{grid-template-columns:1fr;padding:var(--s-3)}.door img{width:100%;height:auto;aspect-ratio:16/10}.hero{padding:var(--s-8) 0 var(--s-6)}}

/* ---- page intro (all inner pages) ---- */
.page-intro{padding:var(--s-8) 0 var(--s-6);background:var(--ink);color:var(--on-ink)}
.page-intro h1{color:#fff;max-width:22ch}
.page-intro .lede{color:var(--on-ink)}
.page-intro .eyebrow{color:var(--on-ink-muted)}
@media (max-width:600px){.page-intro{padding:var(--s-6) 0 var(--s-5)}}

/* ---- shop ---- */
.filter{display:flex;flex-wrap:wrap;gap:var(--s-1);margin:0 0 var(--s-3)}
.filter button{font:600 var(--fs-sm)/1 var(--font-body);min-height:40px;padding:0 var(--s-2);border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer}
.filter button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-3)}
@media (max-width:1000px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-2)}.product-grid .card__body{padding:var(--s-2)}.product-grid .card__body h3{font-size:var(--fs-base)}}
.tee-colors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-2);margin:var(--s-3) 0}
.tee-colors figure{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.tee-colors figcaption{padding:12px var(--s-2);display:grid;gap:2px;font-size:var(--fs-sm)}
.tee-colors figcaption span{font-weight:700}
.tee-colors small{color:var(--muted)}
.price-table{margin-top:var(--s-2)}
.price-table summary{font-weight:700;min-height:44px;display:flex;align-items:center}
.price-table caption{caption-side:bottom;text-align:left;font-size:var(--fs-xs);color:var(--muted);padding-top:var(--s-1)}
@media (max-width:600px){.tee-colors{grid-template-columns:1fr 1fr 1fr;gap:var(--s-1)}.tee-colors figcaption{padding:var(--s-1)}}

/* ---- forms ---- */
.form{display:grid;gap:var(--s-2)}
.form label{font-weight:600;font-size:var(--fs-sm);display:grid;gap:6px}
.form input[type=email],.form input[type=text],.form input[type=tel],.form textarea,.form select{font:400 1rem/1.4 var(--font-body);color:var(--text);background:#fff;border:1px solid #8a8f98;border-radius:var(--radius);padding:12px;min-height:48px;width:100%}
.form textarea{min-height:140px;resize:vertical}
.form input:focus-visible,.form textarea:focus-visible{outline:3px solid var(--accent);outline-offset:1px;border-color:var(--ink)}
.form .check{display:flex;gap:12px;align-items:flex-start;font-weight:400}
.form .check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--accent);flex:0 0 20px}
.form-status{min-height:1.5em;margin:0;font-weight:600}
.form-status[data-error=true]{color:var(--error)}
.form-status[data-error=false]{color:var(--success)}
.section--ink .form-status[data-error=false]{color:#9fe0b2}
.section--ink .form-status[data-error=true]{color:#ffb3ae}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.signup-inline{display:grid;grid-template-columns:1fr auto;gap:var(--s-1) var(--s-2);align-items:end}
.signup-inline .check,.signup-inline .form-status,.signup-inline .fine{grid-column:1/-1}
@media (max-width:600px){.signup-inline{grid-template-columns:1fr}}

/* ---- dialog ---- */
dialog.pf-dialog{border:0;border-radius:var(--radius);padding:0;max-width:560px;width:calc(100% - 32px);box-shadow:0 24px 64px rgba(0,0,0,.35)}
dialog.pf-dialog::backdrop{background:rgba(26,34,48,.6)}
.pf-dialog__inner{padding:var(--s-4)}
.pf-dialog__close{float:right;margin:-8px -8px 0 0}

/* ---- contact / about ---- */
.route{display:grid;gap:4px}
.route a{font-weight:700;font-size:var(--fs-md);word-break:break-word}
.how-list{list-style:none;padding:0;display:grid;gap:var(--s-2)}
.how-list li{padding-left:var(--s-3);position:relative;margin:0}
.how-list li::before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;background:var(--accent);border-radius:2px}

/* ---- kits ---- */
.kit-jump{display:flex;flex-wrap:wrap;gap:var(--s-1);list-style:none;padding:0;margin:0}
.kit-jump li{margin:0}
.kit-jump a{display:inline-flex;align-items:center;min-height:40px;padding:0 var(--s-2);border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font:600 var(--fs-xs)/1 var(--font-body);text-decoration:none;letter-spacing:.02em}
.kit-jump a:hover{border-color:var(--ink)}
.kit-card{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:var(--s-5);align-items:start;scroll-margin-top:calc(var(--header-h) + var(--s-2))}
.kit-card .kit-art{position:relative}
.kit-card .kit-art img{border-radius:4px;border:1px solid var(--line)}
.kit-card h2{font-size:var(--fs-xl)}
.kit-card h2 em{color:var(--accent)}
.kit-card ul{padding-left:1.2em}
.kit-buy{display:flex;gap:var(--s-2);align-items:center;flex-wrap:wrap;margin:var(--s-3) 0 var(--s-2)}
.kit-buy strong{font:700 var(--fs-xl)/1 var(--font-head);color:var(--ink)}
.kit-badge{position:absolute;top:var(--s-1);left:var(--s-1)}
.kit-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-2);margin-top:var(--s-3)}
.kit-gallery img{border-radius:4px;border:1px solid var(--line)}
.kit-block{padding:var(--s-6) 0;border-bottom:1px solid var(--line)}
.kit-block:last-child{border-bottom:0}
@media (max-width:800px){.kit-card{grid-template-columns:1fr;gap:var(--s-3)}.kit-gallery{grid-template-columns:1fr 1fr 1fr;gap:var(--s-1)}}

/* ---- foreman kit ---- */
.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-2);margin:var(--s-4) 0}
.specs div{border-top:3px solid var(--accent);padding-top:var(--s-1)}
.specs strong{display:block;font:700 var(--fs-xl)/1.1 var(--font-head);color:var(--ink)}
.faq details{border-bottom:1px solid var(--line);padding:var(--s-2) 0}
.faq summary{font-weight:700;min-height:32px}
.faq details p{margin:var(--s-1) 0 0}
.price-tag{font:700 var(--fs-xl)/1 var(--font-head);color:var(--ink);margin:var(--s-2) 0}
.card__price{font-weight:700;color:var(--ink)!important;font-size:var(--fs-base)!important}
.status-badge{text-transform:uppercase;letter-spacing:.08em;cursor:default;border-style:dashed}
.status-badge:hover{background:transparent;color:var(--ink)}
