/* Layout: navy bands with a hazard-stripe edge (plant yellow), left-aligned wide display type, stock shown as a ledger. */
:root{
  --bg:#f1f4f9; --surface:#e3e9f3; --fg:#0e1a33; --muted:#4a5878; --line:#c6d0e2;
  --navy:#0b2559; --on-navy:#f1f4f9; --yellow:#f6c400; --on-yellow:#0b1a3a; --link:#1d4fb8;
  --f-display:"Archivo","Arial Narrow",Arial,sans-serif;
  --f-body:"Public Sans",system-ui,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  color-scheme:light;
  padding-block:env(safe-area-inset-top,0px) env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0a1326; --surface:#111d38; --fg:#e8edf7; --muted:#9aa9c8; --line:#243457;
  --navy:#06101f; --on-navy:#e8edf7; --yellow:#f6c400; --on-yellow:#0b1a3a; --link:#f6c400; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0a1326; --surface:#111d38; --fg:#e8edf7; --muted:#9aa9c8; --line:#243457;
  --navy:#06101f; --on-navy:#e8edf7; --yellow:#f6c400; --on-yellow:#0b1a3a; --link:#f6c400; color-scheme:dark}

*{box-sizing:border-box}
[hidden]{display:none!important}
img,svg{max-width:100%}
body{background:var(--bg);color:var(--fg);font:400 1rem/1.6 var(--f-body);margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.wrap{max-width:72rem;margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.band{padding-block:clamp(3rem,7vw,5.5rem)}
h1,h2,h3{font-family:var(--f-display);font-stretch:125%;text-wrap:balance;margin:0;line-height:1.04;letter-spacing:-.01em}
h1{font-weight:850;font-size:clamp(2.3rem,7vw,4.9rem);text-transform:uppercase}
h2{font-weight:800;font-size:clamp(1.6rem,4vw,2.7rem);text-transform:uppercase}
h3{font-weight:750;font-size:1.2rem;font-stretch:112%}
p{margin:0;max-width:62ch}
.label{font:500 .74rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.on-navy .label{color:color-mix(in srgb,var(--on-navy) 68%,transparent)}
.link{color:var(--link);font-weight:600}

/* header */
.top{background:var(--navy);color:var(--on-navy)}
.top .wrap{display:flex;flex-wrap:wrap;gap:.75rem 2rem;align-items:center;justify-content:space-between;padding-block:.85rem}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.brand svg{width:2.6rem;height:2.6rem;flex:none}
.brand b{display:block;font:850 1.05rem/1.05 var(--f-display);font-stretch:125%;text-transform:uppercase;letter-spacing:.02em}
.brand small{display:block;margin-top:.25rem;font:500 .66rem/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--yellow)}
.top nav{display:flex;flex-wrap:wrap;gap:.2rem 1.5rem;font:500 .8rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase}
.top nav a{text-decoration:none;padding:.6rem 0;border-bottom:2px solid transparent}
.top nav a:hover,.top nav a[aria-current="page"]{border-bottom-color:var(--yellow)}
.hazard{height:.7rem;background:repeating-linear-gradient(-45deg,var(--yellow) 0 .8rem,var(--navy) .8rem 1.6rem)}

/* hero */
.hero{background:var(--navy);color:var(--on-navy);padding-block:clamp(2.5rem,6vw,4.5rem) 0}
.hero .wrap{display:grid;gap:1.6rem}
.hero .lead{font-size:clamp(1.05rem,2vw,1.25rem);color:color-mix(in srgb,var(--on-navy) 84%,transparent)}
.hero h1 em{font-style:normal;color:var(--yellow)}
.cta{display:flex;flex-wrap:wrap;gap:.8rem}
.btn{display:inline-block;font:700 .9rem/1 var(--f-display);font-stretch:112%;text-transform:uppercase;letter-spacing:.04em;padding:1rem 1.5rem;text-decoration:none;background:var(--yellow);color:var(--on-yellow);border:2px solid var(--yellow);cursor:pointer}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:inherit;border-color:currentColor}
.plate{margin-top:clamp(2rem,5vw,3.2rem);display:grid;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));border-top:1px solid color-mix(in srgb,var(--on-navy) 28%,transparent)}
.plate div{padding:1.1rem 1rem 1.4rem 0;display:flex;flex-direction:column;gap:.45rem;min-width:0}
.plate b{font:800 1.8rem/1 var(--f-display);font-stretch:125%}
.plate span{font:400 .72rem/1.35 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb,var(--on-navy) 68%,transparent)}

/* page header (inner pages) */
.pagehead{background:var(--navy);color:var(--on-navy);padding-block:clamp(2.2rem,5vw,3.6rem)}
.pagehead .wrap{display:grid;gap:1rem}
.pagehead p{color:color-mix(in srgb,var(--on-navy) 84%,transparent);font-size:1.08rem}

/* sections */
.head{display:grid;gap:1rem;margin-bottom:2.2rem}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));border-top:2px solid var(--fg)}
.tile{padding:1.5rem 1.4rem 1.8rem 0;display:flex;flex-direction:column;gap:.8rem;min-width:0}
.tile + .tile{border-left:1px solid var(--line);padding-left:1.4rem}
.tile .label{color:var(--link)}
.tile p{color:var(--muted);font-size:.95rem}
@media (max-width:640px){.tile + .tile{border-left:0;border-top:1px solid var(--line);padding-left:0}}

.alt{background:var(--surface)}
.filters{display:flex;flex-wrap:wrap;gap:.6rem 2rem;margin-bottom:1.5rem}
.fgroup{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.fgroup .label{margin-right:.3rem}
.fgroup button{font:500 .78rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;padding:.75rem 1rem;background:transparent;color:var(--fg);border:1.5px solid var(--fg);cursor:pointer}
.fgroup button[aria-pressed="true"]{background:var(--fg);color:var(--bg)}
.ledger{overflow-x:auto;border-top:2px solid var(--fg)}
table{border-collapse:collapse;width:100%;min-width:42rem;font-size:.92rem}
th{font:500 .7rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left;padding:.9rem .8rem .9rem 0;white-space:nowrap}
td{padding:1rem .8rem 1rem 0;border-top:1px solid var(--line);vertical-align:top}
td.n{font-weight:600}
td.n small{display:block;font:400 .8rem/1.4 var(--f-body);color:var(--muted);font-weight:400}
td.p{font:500 .95rem var(--f-mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.tag{display:inline-block;font:500 .68rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;padding:.35rem .5rem;border:1px solid currentColor}
.tag.dim{color:var(--muted)}
.tag.hl{background:var(--yellow);color:var(--on-yellow);border-color:var(--yellow)}
.empty{padding:1.5rem 0;color:var(--muted)}
.preview-note{margin-top:1rem;font-size:.82rem;color:var(--muted)}

.warranty{background:var(--navy);color:var(--on-navy)}
.warranty .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1.5rem 4rem;align-items:center}
.warranty .big{font:850 clamp(3.4rem,10vw,6rem)/.95 var(--f-display);font-stretch:125%;color:var(--yellow);text-transform:uppercase}

.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:2.5rem 4rem;align-items:start}
.two > *{min-width:0}
.stack{display:grid;gap:1.1rem}
.facts{display:grid;gap:0;margin:0;border-top:2px solid var(--fg)}
.facts div{display:grid;grid-template-columns:8rem 1fr;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
.facts dt{font:500 .72rem/1.9 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.facts dd{margin:0}
.photo{aspect-ratio:4/3;max-width:100%;background:repeating-linear-gradient(-45deg,var(--surface) 0 .8rem,var(--bg) .8rem 1.6rem);border:1px solid var(--line);display:grid;place-items:center;font:500 .75rem/1.5 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center;padding:1rem}

/* form */
form{display:grid;gap:1.1rem}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1.1rem}
.field{display:grid;gap:.4rem;min-width:0}
.field label{font:500 .72rem/1.2 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
input,select,textarea{font:400 1rem/1.4 var(--f-body);color:var(--fg);background:var(--bg);border:1.5px solid var(--fg);padding:.85rem .9rem;width:100%;border-radius:0}
textarea{min-height:9rem;resize:vertical}
.hp{position:absolute;left:-9999px}
.status{padding:1rem 1.1rem;border:1.5px solid var(--fg);font-size:.95rem}
.status.ok{background:var(--yellow);color:var(--on-yellow);border-color:var(--yellow)}
.big-line{font:800 clamp(1.15rem,3vw,1.5rem)/1.2 var(--f-display);font-stretch:112%;overflow-wrap:anywhere}

footer{background:var(--navy);color:var(--on-navy);padding-block:2.4rem}
footer .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1.8rem 3rem;font-size:.9rem}
footer .label{display:block;margin-bottom:.6rem}
footer a{text-decoration:none}
footer a:hover{text-decoration:underline}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}
.fine{grid-column:1/-1;border-top:1px solid color-mix(in srgb,var(--on-navy) 24%,transparent);padding-top:1.2rem;font:400 .75rem/1.6 var(--f-mono);color:color-mix(in srgb,var(--on-navy) 68%,transparent)}
@media (prefers-reduced-motion:no-preference){.btn,.top nav a{transition:filter .15s,border-color .15s}}

/* product pages */
.gallery{display:grid;gap:.7rem;min-width:0}
.gallery #main{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:var(--surface);border:1px solid var(--line)}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.6rem,1fr));gap:.5rem}
.thumbs .th{padding:0;border:2px solid transparent;background:var(--surface);cursor:pointer;line-height:0}
.thumbs .th img{width:100%;aspect-ratio:4/3;object-fit:cover}
.thumbs .th:hover,.thumbs .th[aria-current="true"]{border-color:var(--yellow)}
.pricebig{font:850 clamp(2.4rem,7vw,3.6rem)/1 var(--f-display);font-stretch:125%}
.ticks{margin:0;padding-left:1.2rem;display:grid;gap:.4rem}
table.spec{min-width:0}
table.spec th{white-space:normal;font:500 .72rem/1.5 var(--f-mono);padding:.8rem .8rem .8rem 0;border-top:1px solid var(--line);vertical-align:top;width:48%}
.rowlink{display:flex;align-items:center;gap:.8rem;text-decoration:none}
.rowlink:hover span{text-decoration:underline}
.rowthumb{width:4.5rem;height:3.4rem;object-fit:cover;flex:none;background:var(--surface)}
