/* Startup Alchemy — The Focus Map (/map and /map/privacy) */
:root{
  --navy:#1B2533;
  --gold:#E3A93C;
  --cream:#F3EFE6;
  --paper:#FBF9F4;
  --ink:#4A5566;
  --slate:#B9C4D2;
  --line:#7A8597;
  --err:#B42318;
  --max:640px;
  --text:'Heebo',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --head:'Frank Ruhl Libre',Georgia,'Times New Roman',serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--paper);color:var(--navy);font:400 1.0625rem/1.6 var(--text)}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-underline-offset:3px}
p{margin:0 0 1em}
h1,h2,h3{font-family:var(--head);font-weight:800;line-height:1.12;margin:0 0 .45em;color:var(--navy)}
h1{font-size:clamp(2.4rem,10vw,3.25rem);letter-spacing:-.01em}
h2{font-size:clamp(1.8rem,7vw,2.3rem)}
h3{font-size:1.4rem}
[hidden]{display:none !important}
:focus-visible{outline:3px solid var(--navy);outline-offset:3px;border-radius:4px}
[tabindex="-1"]:focus{outline:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.small{font-size:.92rem;color:var(--ink)}

/* Header and footer bands */
.band{background:var(--navy);color:var(--cream)}
.band :focus-visible{outline-color:var(--gold)}
.site-head .wrap{display:flex;align-items:center;min-height:68px}
.brand{display:inline-flex;align-items:center;gap:10px;padding:10px 0;text-decoration:none}
.brand .em{width:auto;height:42px}
.brand .wm{width:auto;height:36px}
.site-foot{padding:28px 0 32px;font-size:.92rem;color:var(--slate)}
.site-foot p{margin:0}
.site-foot a{color:var(--cream);display:inline-block;padding:6px 0}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:12px 24px;border:2px solid transparent;border-radius:10px;font:700 1.05rem/1.25 var(--text);text-align:center;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:#D79A2C}
.btn-navy{background:var(--navy);color:var(--cream)}
.btn-navy:hover{background:#26344A}
.btn-line{background:#fff;color:var(--navy);border-color:var(--navy)}
.btn-line:hover{background:var(--cream)}
.btn-block{display:flex;width:100%}
.btn[disabled]{opacity:.65;cursor:progress}

/* Hero */
.hero{padding:32px 0 44px}
.hero .wrap{display:grid;grid-template-areas:"text" "card" "cta";gap:26px}
.hero-text{grid-area:text}
.hero-cta{grid-area:cta}
.hero-card{grid-area:card;justify-self:center;width:min(54%,230px);margin:6px 0;padding:6px;background:#fff;border-radius:4px;transform:rotate(3deg);box-shadow:0 2px 4px rgba(27,37,51,.08),0 22px 40px -14px rgba(27,37,51,.4)}
.event-line{display:inline-block;margin:0 0 20px;padding:7px 12px;background:var(--cream);border-left:4px solid var(--gold);font-weight:500;font-size:.95rem;line-height:1.4}
.subhead{font-weight:700;font-size:1.25rem;line-height:1.35;margin-bottom:.7em}
.hero-text p:last-child{margin-bottom:0}
@media (min-width:600px){
  .hero{padding:48px 0 56px}
  .hero .wrap{grid-template-columns:1fr 200px;grid-template-areas:"text card" "cta card";column-gap:36px;row-gap:24px;align-items:start}
  .hero-card{width:100%;margin-top:12px}
}

/* Form panel */
.panel{background:var(--cream);padding:44px 0 48px}
.lead{color:var(--ink);margin-bottom:28px}
.field{margin:0 0 24px;padding:0;border:0;min-width:0}
.field>label,.field>legend{display:block;margin:0 0 8px;padding:0;font-weight:700;font-size:1.02rem;line-height:1.35}
.opt{font-weight:400;color:var(--ink)}
.help{margin:6px 0 0;font-size:.92rem;color:var(--ink)}
.err{margin:6px 0 0;font-size:.95rem;font-weight:500;color:var(--err)}
.err:empty{display:none}
input[type=text],input[type=tel],input[type=email],input[type=url],textarea{display:block;width:100%;min-height:52px;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font:400 1.0625rem/1.45 var(--text);-webkit-appearance:none;appearance:none}
textarea{resize:vertical}
input::placeholder,textarea::placeholder{color:#6B7586;opacity:1}
input:focus,textarea:focus{border-color:var(--navy)}
[aria-invalid=true]{border-color:var(--err) !important}
.count{display:block;text-align:right;font-size:.85rem;color:var(--ink);margin-top:4px}

/* Chips: real radio inputs */
.chip-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.chip{position:relative;display:block}
.chip:last-child:nth-child(odd){grid-column:1/-1}
.chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.chip span{display:flex;align-items:center;justify-content:center;height:100%;min-height:52px;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;background:#fff;font-weight:500;font-size:.98rem;line-height:1.25;text-align:center}
.chip input:checked+span{background:var(--navy);border-color:var(--navy);color:var(--cream)}
.chip input:checked+span::before{content:"\2713";margin-right:6px;color:var(--gold)}
.chip input:focus-visible+span{outline:3px solid var(--navy);outline-offset:3px}
.invalid .chip span{border-color:var(--err)}

/* Checkboxes */
.check{display:grid;grid-template-columns:26px 1fr;column-gap:12px;align-items:start;margin:0 0 20px}
.check input{width:24px;height:24px;margin:1px 0 0;accent-color:var(--navy);cursor:pointer}
.check label{font-weight:500;line-height:1.45;cursor:pointer}
.check .help{grid-column:2}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.form-foot{margin:14px 0 0}

/* Thank-you state */
.downloads{display:grid;gap:12px;margin:22px 0 14px}
.dl{display:flex;flex-direction:column;justify-content:center;min-height:62px;padding:14px 18px;border-radius:10px;background:var(--navy);color:var(--cream);font-weight:700;line-height:1.3;text-decoration:none}
.dl:hover{background:#26344A}
.dl small{margin-top:3px;font-weight:400;font-size:.95rem;color:var(--slate)}
.card{margin:22px 0 0;padding:22px 20px;background:var(--paper);border-radius:12px;box-shadow:0 1px 0 rgba(27,37,51,.06),0 8px 24px -16px rgba(27,37,51,.35)}
.card h3{margin-bottom:.35em}
.card p:last-child{margin-bottom:0}
.cal-btns{display:grid;gap:10px;margin:14px 0}
.status{margin:10px 0 0;font-weight:500}
@media (min-width:520px){.cal-btns{grid-template-columns:1fr 1fr}}

/* 1:1 request */
.request{padding-top:8px}
.request h2{margin-top:28px}

/* Workshop */
.workshop{padding:48px 0 52px;background:var(--paper)}
.eyebrow{margin:0 0 10px;font-weight:700;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.facts{font-weight:700}
.host{display:flex;align-items:center;gap:16px;margin:24px 0}
.host img{flex:none;width:88px;height:88px;border-radius:50%;object-fit:cover}
.host p{margin:0;font-size:.95rem;color:var(--ink)}
.host strong{display:block;color:var(--navy);font-size:1.05rem}

/* Privacy page */
.prose{padding:40px 0 52px}
.prose h1{font-size:clamp(1.9rem,7vw,2.5rem)}
.prose .updated{color:var(--ink);margin-bottom:1.6em}
.prose p{max-width:60ch}
.prose strong{font-weight:700}
