/* Monochrome, matching the Castell wordmark: black on warm white, one hairline accent */
:root{--ink:#141414;--muted:#5f5f5f;--line:#e2e0da;--paper:#faf9f6;--card:#ffffff;
--display:"Archivo",system-ui,sans-serif;--body:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--body)}
a{color:inherit}
.wrap{max-width:1040px;margin:0 auto;padding-inline:20px}
header.top{border-bottom:1px solid var(--line);background:var(--card)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:16px}
.mark img{display:block;height:44px;width:auto}
nav a{color:var(--muted);text-decoration:none;font-size:14px;font-weight:600;margin-left:20px;white-space:nowrap}nav a:hover{color:var(--ink)}
.hero{padding-block:64px 40px;text-align:center}
.hero .eyebrow{font:700 12px/1 var(--body);letter-spacing:.32em;text-transform:uppercase;color:var(--muted);margin:0 auto 18px;max-width:none;padding-left:.32em}
.hero h1{font-family:var(--display);font-weight:800;font-stretch:125%;font-size:clamp(32px,6vw,58px);line-height:1.02;letter-spacing:-.01em;text-transform:uppercase;margin:0 auto 16px;max-width:820px;text-wrap:balance}
.hero p{max-width:600px;margin:0 auto;color:var(--muted);font-size:17px}
.rule{height:1px;background:var(--ink);max-width:1000px;margin:0 auto}
.brands{display:grid;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:1000px}
.brand{padding:36px 28px 32px;text-decoration:none;display:flex;flex-direction:column;align-items:center;text-align:center;border-left:1px solid var(--ink)}
.brand:first-child{border-left:0}
.brand .logo{height:150px;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.brand .logo img{max-height:130px;max-width:230px;width:auto;height:auto}
.brand p{margin:0;color:var(--muted);font-size:14.5px;max-width:260px}
.brand .go{display:inline-block;margin-top:12px;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;border-bottom:2px solid var(--ink);padding-bottom:2px}
.brand:hover .go{opacity:.7}
section.info{padding-block:56px 48px}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;max-width:1000px;margin:0 auto}
.cols h3{font:700 12px/1 var(--body);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.cols p{margin:0}
footer{border-top:1px solid var(--line);padding-block:22px;color:var(--muted);font-size:13.5px;background:var(--card)}
footer .wrap{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between}
footer a{color:var(--muted)}
.doc{max-width:760px;padding-block:48px 60px}
.doc h1{font-family:var(--display);font-weight:800;font-stretch:125%;text-transform:uppercase;font-size:clamp(28px,5vw,40px);line-height:1.05;margin:0 0 8px}
.doc .updated{color:var(--muted);margin:0 0 28px}
.doc h2{font:700 17px/1.3 var(--body);margin:30px 0 8px}
.doc ul{padding-left:20px}.doc li{margin:4px 0}
.loc{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:14px 0 6px}
.loc .b{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 18px}
.loc .b img{height:46px;width:auto;display:block;margin-bottom:12px}
.loc .s{margin:0 0 10px;font-size:14.5px;line-height:1.45}
.loc .s:last-child{margin-bottom:0}
.loc .s b{display:block}
.loc a{text-decoration:none;font-weight:600;white-space:nowrap}
@media (max-width:760px){.brands{grid-template-columns:1fr}.brand{border-left:0;border-top:1px solid var(--ink)}.brand:first-child{border-top:0}}
@media (max-width:520px){.mark img{height:34px}nav a{margin-left:12px;font-size:13px}nav a:first-child{display:none}.hero{padding-block:44px 32px}}

.hero h1{max-width:none;font-size:clamp(20px,5.6vw,54px);line-height:1.08}.hero h1 span{display:block;white-space:nowrap}

.commissary{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:40px;align-items:start;max-width:1000px;margin:0 auto;padding-block:48px}
.commissary .label{font:700 12px/1 var(--body);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}
.commissary .cm-logo img{width:100%;max-width:300px;height:auto;display:block}
.commissary .lead{font-size:17px;margin:0 0 12px}
.commissary .cm-text p{margin:0 0 12px;color:var(--ink)}
.cm-list{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line)}
.cm-list li{padding:14px 18px 4px 0}
.cm-list b{display:block;font-family:var(--display);font-weight:800;font-stretch:125%;text-transform:uppercase;font-size:14px;letter-spacing:.02em;margin-bottom:4px}
.cm-list span{color:var(--muted);font-size:14px;line-height:1.45;display:block}
@media (max-width:760px){.commissary{grid-template-columns:1fr;gap:20px;padding-block:36px}.cm-list{grid-template-columns:1fr}.cm-list li{padding:12px 0 0}}
.commissary .cm-addr{margin:18px 0 0;color:var(--muted);font-size:14.5px;line-height:1.55}.commissary .cm-addr a{color:var(--ink);font-weight:600;text-decoration:none}
.commissary .cm-tag{font-family:var(--display);font-weight:800;font-stretch:125%;text-transform:uppercase;font-size:15px;letter-spacing:.02em;margin:16px 0 0}
.brand p.locs{margin-top:6px;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.commissary .cm-tag{margin:18px 0 0}
