:root { --ivory:#faf9f5; --oat:#f0eee6; --cloud:#e8e6dc; --ink:#141413; --ink-soft:#3d3d3a; --pebble:#b0aea5; --clay:#c15f3c; --clay-deep:#9c4a2e; }
* { box-sizing:border-box; }
html { min-height:100%; background:var(--ivory); }
body { min-height:100vh; margin:0; background:var(--ivory); color:var(--ink); font-family:Archivo, Arial, sans-serif; }
a { color:inherit; }
.site-header,.site-footer { min-height:76px; padding:20px clamp(20px,4vw,56px); display:flex; align-items:center; justify-content:space-between; gap:24px; border-color:var(--cloud); font-family:"Fira Code",monospace; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.site-header { border-bottom:1px solid var(--cloud); }.site-footer { border-top:1px solid var(--cloud); color:#77746d; }
.brand img { display:block; width:210px; height:auto; }.utility-link { color:var(--clay-deep); text-decoration:none; }.utility-link:hover { text-decoration:underline; text-underline-offset:4px; }
.brand-stage { min-height:calc(100vh - 152px); display:grid; place-items:center; padding:64px 24px; }.brand-stage__inner { width:min(720px,90vw); text-align:center; }
.hero-logo { display:block; width:min(420px,82vw); height:auto; margin:0 auto; }.brand-stage p { margin:30px auto 0; max-width:46ch; color:var(--ink-soft); font-family:Gelasio,Georgia,serif; font-size:clamp(18px,2vw,24px); line-height:1.55; }
.prompt { display:inline-flex; align-items:center; gap:9px; margin-top:34px; color:var(--clay); font:500 24px/1 "Fira Code",monospace; }.prompt i { display:block; width:10px; height:20px; background:var(--clay); }
.kit-wrap { width:min(1120px,calc(100% - 40px)); margin:0 auto; }.kit-hero { padding:clamp(72px,10vw,132px) 0 64px; }.eyebrow { color:var(--clay-deep); font:500 11px/1.4 "Fira Code",monospace; letter-spacing:.1em; text-transform:uppercase; }
.kit-hero h1,.kit-section h2 { margin:16px 0; font-family:Gelasio,Georgia,serif; font-weight:500; letter-spacing:-.03em; }.kit-hero h1 { max-width:14ch; font-size:clamp(48px,8vw,94px); line-height:.95; }.kit-hero p,.kit-section p { max-width:62ch; color:var(--ink-soft); font-family:Gelasio,Georgia,serif; font-size:18px; line-height:1.7; }
.kit-section { padding:64px 0; border-top:1px solid var(--cloud); }.kit-section h2 { font-size:clamp(30px,5vw,52px); }.logo-grid,.swatch-grid,.asset-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:30px; }
.logo-card { min-height:220px; display:grid; place-items:center; padding:34px; border:1px solid var(--cloud); background:var(--oat); }.logo-card.dark { background:var(--ink); border-color:#3a3835; }.logo-card img { max-width:86%; max-height:150px; }
.swatch-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }.swatch { min-height:150px; padding:16px; display:flex; flex-direction:column; justify-content:flex-end; color:white; font:500 12px/1.5 "Fira Code",monospace; }.swatch.light { color:var(--ink); border:1px solid var(--cloud); }
.asset { padding:20px; border:1px solid var(--cloud); background:white; }.asset strong { display:block; margin-bottom:8px; }.asset a { color:var(--clay-deep); text-underline-offset:3px; }.rules { padding-left:20px; color:var(--ink-soft); line-height:1.8; }
@media(max-width:720px){.site-footer{align-items:flex-start;flex-direction:column}.logo-grid,.swatch-grid,.asset-grid{grid-template-columns:1fr}.brand img{width:170px}.brand-stage{min-height:calc(100vh - 180px)}}
.newsletter-signup { width:min(100%,560px); margin:38px auto 0; text-align:left; }.newsletter-signup label { display:block; margin-bottom:10px; color:var(--ink); font:500 11px/1.4 "Fira Code",monospace; letter-spacing:.06em; text-transform:uppercase; }.newsletter-signup__row { display:grid; grid-template-columns:1fr auto; gap:8px; }.newsletter-signup input,.newsletter-signup button { min-height:50px; border:1px solid var(--cloud); border-radius:4px; font:600 15px/1 Archivo,sans-serif; }.newsletter-signup input { min-width:0; padding:0 15px; background:#fff; color:var(--ink); }.newsletter-signup button { padding:0 24px; border-color:var(--clay); background:var(--clay); color:#fff; cursor:pointer; }.newsletter-signup button:disabled { cursor:progress; opacity:.65; }.newsletter-signup input:focus-visible,.newsletter-signup button:focus-visible { outline:2px solid var(--clay); outline-offset:3px; }.newsletter-signup__status { display:block; min-height:20px; margin-top:9px; color:var(--ink-soft); font-size:13px; }.newsletter-signup__status[data-state="error"] { color:#9c3f28; }@media(max-width:720px){.newsletter-signup__row{grid-template-columns:1fr}}
