/* The Grove Lab — styled after olemiss.edu: navy and red, wide uppercase display type, IBM Plex text, square edges.
   Fonts: Archivo Expanded stands in for Termina (UM's licensed display face); IBM Plex Sans and Serif match the UM site.
   No italics anywhere. Text pairs meet WCAG 2.1 AA. */
:root{
  --navy:#14213D; --navy-2:#0D1730; --navy-3:#22325A;
  --red:#CE1126; --red-dark:#A50E1F;
  --powder:#B9DDF1; --powder-soft:#E8F3FA;
  --ink:#222222; --ink-2:#3D4350; --muted:#5B6170;
  --bg:#FFFFFF; --bg-2:#F4F5F7; --bg-3:#E9ECF1;
  --line:#D5D9E0; --line-2:#B7BDC8;
  --blue:#1F5FA8; --blue-soft:#E3EDF8;
  --teal:#00687A; --teal-soft:#DDF0F2;
  --gold:#8A5A00; --gold-soft:#F7EDD8;
  --slate:#4A5568; --slate-soft:#E7EAEF;
  --focus:#1F5FA8;
  --display:"Archivo", "Arial Black", Arial, sans-serif;
  --sans:"IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;
  --serif:"IBM Plex Serif", Georgia, serif;
  --shadow:0 1px 2px rgba(20,33,61,.08), 0 6px 18px -8px rgba(20,33,61,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} *,*::before,*::after{animation:none!important;transition:none!important} }
body{margin:0;font:17px/1.6 var(--sans);color:var(--ink);background:var(--bg)}
em,i,cite,address,blockquote,dfn,var{font-style:normal}
img{max-width:100%;display:block}
a{color:var(--blue);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--red-dark)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
h1,h2{font-family:var(--display);font-stretch:125%;font-weight:800;text-transform:uppercase;letter-spacing:.005em;line-height:1.02;margin:0;color:var(--navy)}
h3,h4{font-family:var(--sans);font-weight:700;margin:0;color:var(--navy);line-height:1.25}
p{margin:0 0 .9em}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:var(--red);color:#fff;padding:10px 14px;z-index:100;font-weight:700}
.skip:focus{top:12px}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}
@media (max-width:600px){ .wrap{padding:0 16px} body{font-size:16.5px} }

/* ---------- header (UM navy bar) ---------- */
.site-head{position:sticky;top:0;z-index:40;background:var(--navy);color:#fff;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.site-head .wrap{display:flex;align-items:center;gap:22px;min-height:76px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.brand:hover{color:#fff}
.brand .mark{width:42px;height:42px;flex:none;background:var(--red);display:grid;place-items:center;font-family:var(--display);font-stretch:125%;font-weight:900;font-size:16px;color:#fff;letter-spacing:.02em}
.brand b{display:block;font-family:var(--display);font-stretch:125%;font-weight:800;font-size:19px;text-transform:uppercase;line-height:1.05}
.brand small{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--powder);font-weight:500;margin-top:3px}
.site-nav{margin-left:auto;display:flex;gap:2px;flex-wrap:wrap;align-items:center}
.site-nav a{color:#fff;text-decoration:none;font-weight:600;font-size:15.5px;padding:10px 14px;border-bottom:3px solid transparent}
.site-nav a:hover{border-bottom-color:var(--powder);color:#fff}
.site-nav a[aria-current="page"]{border-bottom-color:var(--red)}
.site-nav a.cta{background:var(--red);border-bottom:0;margin-left:8px;padding:11px 18px}
.site-nav a.cta:hover{background:var(--red-dark)}
.site-nav a.cta[aria-current="page"]{box-shadow:inset 0 -3px 0 #fff}
@media (max-width:760px){ .site-head{position:static} .site-nav{margin-left:0} .site-nav a{padding:8px 10px;font-size:15px} html{scroll-padding-top:12px} }

/* ---------- shared pieces ---------- */
.eyebrow{display:block;font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin:0 0 10px}
.eyebrow.pc{color:var(--pc)}
.sheet{background:#fff;border:1px solid var(--line)}
.lede-serif{font-family:var(--serif);font-size:21px;line-height:1.55}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--sans);font-weight:600;font-size:15.5px;line-height:1.2;padding:13px 22px;border:2px solid var(--navy);background:var(--navy);color:#fff;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}
.btn:hover{background:var(--navy-3);border-color:var(--navy-3);color:#fff}
.btn.ghost{background:#fff;color:var(--navy)}
.btn.ghost:hover{background:var(--bg-2);color:var(--navy)}
.btn.small{font-size:14.5px;padding:8px 14px}
.btn.coral,.btn.red{background:var(--red);border-color:var(--red)}
.btn.coral:hover,.btn.red:hover{background:var(--red-dark);border-color:var(--red-dark)}
.btn.onnavy{background:#fff;color:var(--navy);border-color:#fff}
.btn.onnavy:hover{background:var(--powder);border-color:var(--powder);color:var(--navy)}
.btn.outline-light{background:transparent;color:#fff;border-color:#fff}
.btn.outline-light:hover{background:rgba(255,255,255,.12);color:#fff}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.textlink{font-weight:600}
.linkbtn{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--blue);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.quote{font-family:var(--serif);font-size:22px;line-height:1.45;color:var(--navy);margin:0}
.quote::before{content:"“"}.quote::after{content:"”"}
.cite{font-size:14px;color:var(--muted);margin-top:10px;font-weight:500}
.cite a{color:var(--muted)}
.chip{display:inline-block;font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;line-height:1.2;padding:4px 8px;background:var(--bg-2);color:var(--ink-2);border:1px solid var(--line)}

/* pathway accents (UM navy/red plus restrained secondaries) */
[data-c="blue"]{--pc:var(--blue);--pc-soft:var(--blue-soft)}
[data-c="coral"]{--pc:var(--red);--pc-soft:#FBE4E7}
[data-c="green"]{--pc:var(--teal);--pc-soft:var(--teal-soft)}
[data-c="gold"]{--pc:var(--gold);--pc-soft:var(--gold-soft)}
[data-c="ink"]{--pc:var(--navy);--pc-soft:var(--slate-soft)}
[data-c="plum"]{--pc:var(--slate);--pc-soft:var(--slate-soft)}

/* notices */
.notice{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;padding:18px 20px;background:var(--bg-2);border-left:6px solid var(--navy)}
.notice .ico{width:36px;height:36px;display:grid;place-items:center;font-family:var(--display);font-stretch:125%;font-weight:800;font-size:17px;color:#fff;background:var(--navy)}
.notice h3{font-size:18px;margin-bottom:4px}
.notice p:last-child{margin-bottom:0}
.notice.warn{border-left-color:var(--red)}.notice.warn .ico{background:var(--red)}
.notice.time{border-left-color:var(--gold)}.notice.time .ico{background:var(--gold)}
.notice.share{border-left-color:var(--teal)}.notice.share .ico{background:var(--teal)}

/* ---------- page heroes ---------- */
.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-120px;top:-60px;width:520px;height:520px;background:repeating-linear-gradient(135deg, rgba(185,221,241,.07) 0 2px, transparent 2px 22px);pointer-events:none}
.hero .wrap{position:relative;z-index:1;padding-top:72px;padding-bottom:72px}
.hero h1{color:#fff;font-size:clamp(40px,6.4vw,78px);max-width:13em}
.hero h1 .small{display:block;font-size:.42em;color:var(--powder);margin-bottom:10px;letter-spacing:.04em}
.hero .lede-serif{color:#E7ECF5;max-width:36em;margin-top:22px}
.hero .eyebrow{color:var(--powder)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.hero.short .wrap{padding-top:54px;padding-bottom:50px}
.hero.short h1{font-size:clamp(34px,5vw,60px)}

.section{padding:72px 0}
.section.alt{background:var(--bg-2)}
.section h2{font-size:clamp(28px,3.6vw,44px);margin-bottom:12px}
.section .sub{font-size:18px;max-width:46em;color:var(--ink-2)}
.band{background:var(--navy);color:#fff}
.band h2,.band h3{color:#fff}
.band .sub,.band p{color:#E1E7F1}
.band .eyebrow{color:var(--powder)}
.band a{color:#fff}

.vision{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;margin-top:10px;align-items:start}
.vision p{font-size:18px}
.vision .first{font-family:var(--serif);font-size:23px;line-height:1.5;color:var(--navy)}
.vision aside{background:var(--bg-2);padding:28px;border-top:6px solid var(--red)}
.vision aside h3{font-size:19px;margin-bottom:12px}
.vision aside p{font-size:16.5px}
.vision aside blockquote{margin:0}
@media (max-width:860px){ .vision{grid-template-columns:1fr;gap:28px} }

.steps{list-style:none;padding:0;margin:34px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:s;border-top:1px solid rgba(255,255,255,.25)}
.steps li{padding:24px 22px 8px 22px;border-right:1px solid rgba(255,255,255,.18)}
.steps li:first-child{padding-left:0}.steps li:last-child{border-right:0}
.steps li::before{counter-increment:s;content:"0" counter(s);font-family:var(--display);font-stretch:125%;font-weight:800;font-size:38px;line-height:1;color:#FF5A6B;display:block;margin-bottom:10px}
.steps h3{font-size:18px;margin:0 0 6px}
.steps p{font-size:15.5px;margin:0}
@media (max-width:900px){ .steps{grid-template-columns:1fr 1fr} .steps li,.steps li:first-child{border-right:0;padding-left:0;padding-right:18px;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:20px} }
@media (max-width:560px){ .steps{grid-template-columns:1fr} }

.paths{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px}
.path{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-top:6px solid var(--pc);text-decoration:none;color:var(--ink);transition:box-shadow .15s, transform .15s}
a.path:hover{box-shadow:var(--shadow);transform:translateY(-2px);color:var(--ink)}
.path .top{padding:20px 22px 0;display:flex;align-items:baseline;gap:12px}
.path .top b{font-family:var(--display);font-stretch:125%;font-weight:800;font-size:28px;line-height:1;color:var(--pc)}
.path .top h3{font-size:19px}
.path .body{padding:10px 22px 22px;display:flex;flex-direction:column;gap:12px;flex:1}
.path .body p{margin:0;font-size:16px}
.path .ask{font-family:var(--serif);font-size:16.5px;color:var(--navy);background:var(--pc-soft);padding:10px 14px}
.path .ex{font-size:13.5px;color:var(--muted);margin-top:auto;font-weight:500}
.path .more{font-weight:700;font-size:13.5px;color:var(--pc);text-transform:uppercase;letter-spacing:.08em}
@media (max-width:960px){ .paths{grid-template-columns:1fr 1fr} }
@media (max-width:600px){ .paths{grid-template-columns:1fr} }

.expect{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
@media (max-width:900px){ .expect{grid-template-columns:1fr} }
.cta-band{background:var(--red);color:#fff;padding:48px 0}
.cta-band .wrap{display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cta-band h2{color:#fff;font-size:clamp(24px,3vw,36px)}
.cta-band p{margin:8px 0 0;color:#FFF0F1;font-size:17px}
.cta-band .btn{background:#fff;color:var(--navy);border-color:#fff}
.cta-band .btn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}

/* ---------- accordions (guidelines page + form) ---------- */
.accordion{border-top:2px solid var(--navy);margin-top:26px}
.acc-item{border-bottom:1px solid var(--line)}
.acc-h{margin:0;font:inherit;text-transform:none;letter-spacing:0}
.acc-btn{width:100%;display:grid;grid-template-columns:auto 1fr auto auto;gap:16px;align-items:center;text-align:left;background:none;border:0;padding:20px 8px;cursor:pointer;color:var(--navy);font:inherit}
.acc-btn:hover{background:var(--bg-2)}
.acc-btn .snum{font-family:var(--display);font-stretch:125%;font-weight:800;font-size:22px;color:var(--red);min-width:2em}
.acc-title{display:block;font-family:var(--display);font-stretch:125%;font-weight:800;font-size:clamp(16px,1.9vw,21px);text-transform:uppercase;line-height:1.15}
.acc-t .eyebrow{margin:0 0 4px;font-size:12px}
.chev{width:28px;height:28px;border:2px solid var(--navy);position:relative;flex:none}
.chev::before,.chev::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--navy);transform:translate(-50%,-50%)}
.chev::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .2s}
[aria-expanded="true"] .chev{background:var(--navy)}
[aria-expanded="true"] .chev::before{background:#fff}
[aria-expanded="true"] .chev::after{transform:translate(-50%,-50%) rotate(0);background:#fff}
.acc-st{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;color:var(--muted);background:var(--bg-2);border:1px solid var(--line);white-space:nowrap}
.acc-st:empty{display:none}
.acc-st.ok{color:#fff;background:var(--teal);border-color:var(--teal)}
.acc-st.req{color:var(--red-dark);background:#fff;border-color:var(--red)}
.acc-st.hot{color:#fff;background:var(--red);border-color:var(--red)}
.acc-panel{padding:4px 8px 30px}
.acc-panel[hidden]{display:none}
.acc-item .acc-btn{grid-template-columns:1fr auto}
.acc-item .acc-panel{max-width:62em;font-size:17px}
.acc-item .acc-panel ul{padding-left:20px;margin:0 0 .9em}
.acc-item .acc-panel li{margin-bottom:6px}
.acc-item .acc-panel h3{font-size:17px;margin:18px 0 6px}
@media (max-width:600px){ .acc-btn{grid-template-columns:auto 1fr auto;gap:10px} .acc-st{grid-column:2;grid-row:2;justify-self:start} .acc-btn .chev{grid-column:3;grid-row:1} .acc-item .acc-btn{grid-template-columns:1fr auto} }

/* ---------- gallery ---------- */
.g-tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:0 0 12px}
.g-tools input[type=search]{flex:1 1 260px;font:inherit;padding:13px 15px;border:1px solid var(--line-2);border-bottom:2px solid var(--navy);background:#fff}
.g-tools input[type=search]:focus{border-color:var(--blue);outline:3px solid rgba(31,95,168,.25);outline-offset:0}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filters button{font:inherit;font-weight:600;font-size:14.5px;padding:8px 14px;border:2px solid var(--pc,var(--navy));background:#fff;color:var(--pc,var(--navy));cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--pc,var(--navy));color:#fff}
.g-count{color:var(--muted);font-size:14.5px;margin:12px 0 0;font-weight:500}
.g-group{margin:54px 0 10px}
.g-group-head{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:end;border-bottom:3px solid var(--pc);padding-bottom:14px;margin-bottom:24px}
.g-group-head .num{font-family:var(--display);font-stretch:125%;font-weight:800;font-size:48px;line-height:.9;color:var(--pc)}
.g-group-head h2{font-size:clamp(22px,2.6vw,30px)}
.g-group-head p{margin:6px 0 0;color:var(--ink-2)}
.g-group-head a{font-weight:700;font-size:13.5px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
@media (max-width:700px){ .g-group-head{grid-template-columns:auto 1fr} .g-group-head a{grid-column:1/-1} }
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:24px}
.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);transition:box-shadow .15s}
.card:hover{box-shadow:var(--shadow)}
.card .shot{aspect-ratio:16/9;background:var(--bg-3);border-bottom:1px solid var(--line)}
.card .shot img{width:100%;height:100%;object-fit:cover}
.card .in{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1}
.card h3{font-size:18.5px}
.card p{margin:0;font-size:15.5px;color:var(--ink-2)}
.card .tags,.card .pills{display:flex;gap:6px;flex-wrap:wrap}
.pill{font-size:12.5px;font-weight:700;padding:3px 8px;background:var(--pc-soft);color:var(--pc);border-left:3px solid var(--pc)}
.card .acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:8px;align-items:center;justify-content:space-between}
.card .acts a{font-weight:700;font-size:14.5px}
.flag{font:inherit;font-weight:600;font-size:14px;padding:7px 12px;border:2px solid var(--navy);background:#fff;color:var(--navy);cursor:pointer}
.flag:hover{background:var(--bg-2)}
.flag[aria-pressed="true"]{background:var(--navy);color:#fff}
.tray{position:sticky;bottom:14px;z-index:30;margin:30px auto 0;max-width:820px;padding:14px 18px;background:var(--navy);color:#fff;display:flex;gap:12px;align-items:center;flex-wrap:wrap;box-shadow:0 10px 30px rgba(0,0,0,.3);border-left:6px solid var(--red)}
.tray[hidden]{display:none}
.tray p{margin:0;flex:1 1 260px;font-size:15px}
.tray .btn{background:#fff;color:var(--navy);border-color:#fff}
.tray .btn.ghost{background:transparent;color:#fff}

/* ---------- form ---------- */
.f-layout{display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:start;padding:40px 0 90px}
.f-nav{position:sticky;top:96px;max-height:calc(100vh - 116px);overflow:auto;padding:20px 18px;font-size:15px;background:var(--bg-2);border-top:6px solid var(--navy)}
.f-nav h2{font-size:18px;margin:0 0 10px}
.f-nav ol{list-style:none;margin:0;padding:0;display:grid;gap:1px}
.f-nav a{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink-2);padding:7px 8px;font-size:14.5px;font-weight:500;line-height:1.25;border-left:3px solid transparent}
.f-nav a:hover{background:#fff;color:var(--navy)}
.f-nav a.on{background:#fff;color:var(--navy);font-weight:700;border-left-color:var(--red)}
.f-nav .dot{width:11px;height:11px;border-radius:50%;border:2px solid var(--line-2);flex:none}
.f-nav a.done .dot{background:var(--teal);border-color:var(--teal)}
.f-nav a.flagged::after{content:"!";margin-left:auto;font-weight:700;color:#fff;background:var(--red);width:19px;height:19px;border-radius:50%;display:grid;place-items:center;font-size:12px;flex:none}
.f-nav .progress{height:8px;background:#fff;overflow:hidden;margin:4px 0 14px;border:1px solid var(--line)}
.f-nav .progress i{display:block;height:100%;background:var(--teal);width:0;transition:width .3s}
.f-nav .saved{font-size:13px;color:var(--muted);margin:12px 0 0}
.nav-toggle{display:none}
@media (max-width:980px){
  .nav-toggle{display:inline-flex;margin-bottom:6px}
  .f-nav ol{display:none}
  .f-nav.open ol{display:grid}
  .f-layout{grid-template-columns:1fr;gap:24px}
  .f-nav{position:static;max-height:none}
}
.f-main{display:block;min-width:0}
.acc-tools{display:flex;justify-content:flex-end;font-size:14.5px;color:var(--muted);margin-bottom:10px}
.acc-tools p{margin:0}
.f-sec{border:0;border-bottom:1px solid var(--line);scroll-margin-top:96px;background:#fff}
.f-sec[hidden]{display:none}
.f-sec.intake{border-top:2px solid var(--navy)}
.f-sec.open > .acc-h .acc-btn{background:var(--bg-2)}
.f-sec.pathsec > .acc-h .acc-btn{box-shadow:inset 6px 0 0 var(--pc);padding-left:18px}
.f-sec.pathsec .snum{color:var(--pc)}
.f-sec .acc-panel{padding:20px 8px 34px}
.f-sec .lead{font-family:var(--serif);font-size:19px;color:var(--ink-2);margin:0 0 6px;max-width:44em}
.acc-foot{margin-top:28px;padding-top:18px;border-top:1px dashed var(--line-2);display:flex;justify-content:flex-end}
@media (max-width:760px){ .f-sec{scroll-margin-top:12px} }
.field{margin:22px 0 0}
.field[hidden]{display:none}
.field > label, .field > .lab, fieldset.field > legend{display:block;font-weight:700;font-size:16.5px;color:var(--navy);margin-bottom:4px;padding:0}
fieldset.field{border:0;padding:0;min-width:0}
.field .help{font-size:14.5px;color:var(--muted);margin:0 0 8px}
.field .req{color:var(--red)}
.field input[type=text], .field input[type=email], .field input[type=date], .field select, .field textarea{width:100%;font:inherit;font-size:16.5px;color:var(--ink);padding:12px 14px;border:1px solid var(--line-2);border-bottom:2px solid var(--navy);background:#fff;border-radius:0}
.field textarea{min-height:120px;resize:vertical;line-height:1.55}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--blue);outline:3px solid rgba(31,95,168,.25);outline-offset:0}
.opts{display:grid;gap:8px}
.opts.cols{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.opt{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border:1px solid var(--line-2);background:#fff;cursor:pointer;font-size:15.5px;line-height:1.35}
.opt:hover{border-color:var(--navy)}
.opt input{margin:2px 0 0;width:19px;height:19px;flex:none;accent-color:var(--navy)}
.opt:has(input:checked){border-color:var(--navy);background:var(--powder-soft);box-shadow:inset 4px 0 0 var(--navy)}
.opt small{display:block;color:var(--muted);font-size:13.5px;margin-top:2px}

/* pathway picker */
.picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:20px}
.pick{position:relative;border:1px solid var(--line-2);background:#fff;padding:16px 16px 14px;border-top:5px solid var(--pc)}
.pick h3{font-size:17px;color:var(--navy)}
.pick p{font-size:14.5px;margin:6px 0 12px;color:var(--ink-2)}
.pick .row{display:flex;gap:8px;flex-wrap:wrap}
.pick .row label{display:inline-flex;gap:6px;align-items:center;font-size:14px;font-weight:600;padding:6px 11px;border:1px solid var(--line-2);cursor:pointer}
.pick .row input{accent-color:var(--navy)}
.pick .row label:has(input:checked){background:var(--pc);border-color:var(--pc);color:#fff}
.pick .row label:has(input:disabled){opacity:.45;cursor:not-allowed}
.pick.primary{box-shadow:0 0 0 2px var(--pc)}
.pick .jevtag{position:absolute;top:-13px;right:10px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--navy);color:#fff;padding:3px 8px}
.pick .see{margin:10px 0 0;font-size:14px;font-weight:600}

/* exemplars */
.exemplar{margin:26px 0 0;border:1px solid var(--line);background:var(--bg-2);padding:20px}
.exemplar > h3{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
.vs{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:760px){ .vs{grid-template-columns:1fr} }
.vs-card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.vs-card .shot{aspect-ratio:16/9;background:var(--bg-3)}
.vs-card .shot img{width:100%;height:100%;object-fit:cover}
.vs-card .in{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.vs-card h4{font-size:17px}
.vs-card p{margin:0;font-size:14.5px}
.vs-card .says{font-family:var(--serif);font-size:15px;background:var(--powder-soft);border-left:4px solid var(--navy);padding:10px 12px}
.vs-card .says b{font-family:var(--sans);display:block;color:var(--navy);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}
.vs-card a{font-weight:700;font-size:14px;margin-top:auto}
.exemplar fieldset.field{margin-top:18px}
.lang{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:760px){ .lang{grid-template-columns:1fr} }
.lang > div{padding:16px 18px;font-size:15.5px;background:#fff}
.lang .thin{border-top:4px solid var(--red)}
.lang .full{border-top:4px solid var(--teal)}
.lang h4{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
.lang .thin h4{color:var(--red-dark)} .lang .full h4{color:var(--teal)}
.lang div p{margin:0;font-family:var(--serif)}
.lang .why{grid-column:1/-1;background:transparent;padding:0;margin:0;font-size:14.5px;color:var(--muted)}
.use-lang{margin-top:14px}

/* Jev intake */
.intake .quote{font-size:21px}
.intake blockquote{margin:0 0 4px}
.intake textarea{min-height:150px;font-size:17.5px}
.intake-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:14px}
.intake-row #openConn{margin-left:auto}
.privacy-line{font-size:14px;color:var(--muted);margin:12px 0 0}
.status{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--muted)}
.status i{width:10px;height:10px;border-radius:50%;background:#B0B6C2}
.status.on i{background:var(--teal)} .status.off i{background:var(--red)} .status.busy i{background:var(--gold);animation:pulse 1s infinite}
@keyframes pulse{50%{opacity:.3}}
.jev-out{margin-top:24px;display:grid;gap:18px}
.jev-out[hidden]{display:none}
.jev-out > *{min-width:0}
.jev-summary{font-family:var(--serif);font-size:20px;padding:18px 20px;background:var(--navy);color:#fff;border-left:6px solid var(--red)}
.jev-summary b{color:var(--powder);font-family:var(--sans)}
.jev-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}
.jev-grid > *{min-width:0}
@media (max-width:860px){ .jev-grid{grid-template-columns:1fr} }
.jev-card{padding:18px 20px;background:#fff;border:1px solid var(--line)}
.jev-card h3{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:12px}
.bars{display:grid;gap:9px}
.bar{display:grid;grid-template-columns:minmax(120px,170px) 1fr 46px;gap:12px;align-items:center;font-size:14.5px}
.bar .track{height:14px;background:var(--bg-3);overflow:hidden}
.bar .track i{display:block;height:100%;background:var(--pc);width:0;transition:width .7s cubic-bezier(.2,.7,.2,1)}
.bar .v{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}
.bar.top{font-weight:700}
.rub-wrap{overflow-x:auto;max-width:100%}
.rub{width:100%;min-width:520px;border-collapse:separate;border-spacing:4px;font-size:13.5px}
.rub th{font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;text-align:left;color:var(--navy);vertical-align:top;padding:4px;width:110px}
.rub td{position:relative;padding:9px;background:var(--bg-2);border:1px solid var(--line);vertical-align:top;line-height:1.3;overflow:hidden}
.rub td.corner{background:transparent;border:0}
.rub td .fill{position:absolute;inset:auto 0 0 0;background:rgba(31,95,168,.18);height:0;transition:height .7s}
.rub td span{position:relative}
.rub td.likely{border:2px solid var(--navy);font-weight:600}
.rub td .p{position:relative;display:block;margin-top:5px;font-size:12px;color:var(--blue);font-weight:700}
.flags{display:grid;gap:8px}
.flagbox{display:grid;grid-template-columns:50px 1fr;gap:12px;align-items:center;padding:8px 10px;background:var(--bg-2)}
.flagbox svg{width:50px;height:50px}
.flagbox b{display:block;font-size:14.5px;color:var(--navy)}
.flagbox span{font-size:13.5px;color:var(--muted)}
.route{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.route li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;font-size:15.5px}
.route li b{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--navy);color:#fff;padding:3px 8px;white-space:nowrap}
.route li.hot b{background:var(--red)}
.doubt{font-size:14px;color:var(--muted);margin:0}

/* send */
.howto{counter-reset:h;list-style:none;padding:0;margin:16px 0 0;display:grid;gap:0;border-top:1px solid var(--line)}
.howto li{position:relative;padding:16px 16px 16px 66px;border-bottom:1px solid var(--line);font-size:16px}
.howto li::before{counter-increment:h;content:"0" counter(h);position:absolute;left:4px;top:14px;font-family:var(--display);font-stretch:125%;font-weight:800;font-size:24px;color:var(--red)}
.dl-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.missing{margin-top:16px;padding:14px 16px;background:#FDF0F1;border-left:6px solid var(--red);font-size:15px}
.missing[hidden]{display:none}
.missing ul{margin:6px 0 0;padding-left:20px}
.flagged-builds{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 0}
.mini{display:flex;gap:8px;align-items:center;font-size:14px;font-weight:500;background:#fff;border:1px solid var(--line);padding:5px 6px 5px 5px}
.mini img{width:60px;height:34px;object-fit:cover}
.mini .flag{padding:2px 8px}

.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,200%);visibility:hidden;background:var(--navy);color:#fff;padding:13px 20px;font-weight:600;font-size:15px;z-index:90;transition:transform .25s;box-shadow:0 10px 30px rgba(0,0,0,.3);border-left:5px solid var(--red)}
.toast.on{transform:translate(-50%,0);visibility:visible}

dialog{border:0;padding:0;max-width:560px;width:calc(100% - 32px);box-shadow:0 20px 50px rgba(0,0,0,.35);border-top:6px solid var(--red)}
dialog::backdrop{background:rgba(13,23,48,.6)}
dialog .in{padding:24px 26px}
dialog h2{font-size:24px;margin-bottom:10px}

/* ---------- footer ---------- */
.site-foot{background:var(--navy);color:#D6DDEA;padding:56px 0 30px;font-size:15px;border-top:6px solid var(--red)}
.site-foot a{color:#fff}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}
.site-foot h2{color:#fff;font-size:15px;letter-spacing:.06em;margin-bottom:12px}
.site-foot p{margin:0 0 .8em}
.foot-base{border-top:1px solid rgba(255,255,255,.18);margin-top:34px;padding-top:18px;font-size:13.5px;color:#C2CAD9;display:flex;gap:18px;flex-wrap:wrap;justify-content:space-between}
@media (max-width:860px){ .foot-grid{grid-template-columns:1fr;gap:26px} }

.f-layout > *, .vs > *, .lang > *{min-width:0}

@media print{
  .site-head,.site-foot,.f-nav,.intake-row,.dl-row,.tray,.skip,.toast,.acc-tools,.acc-foot{display:none!important}
  .acc-panel{display:block!important}
  .f-layout{display:block}
}

/* Layout stability while typing. Safari has no scroll anchoring, so anything above the cursor that changes
   size as you type makes the page jump. Keep these the same size in every state. */
.acc-st{min-width:118px;text-align:center;box-sizing:border-box}
.f-nav a.on{font-weight:500}
.f-nav .saved{min-height:4.6em}
.f-sec{overflow-anchor:auto}

/* ---------- optional AI assistance ---------- */
.ai-badge{display:inline-grid;place-items:center;min-width:30px;height:24px;padding:0 6px;background:var(--powder);color:var(--navy);border:2px solid var(--navy);font-family:var(--display);font-stretch:125%;font-weight:800;font-size:12px;letter-spacing:.06em;line-height:1;vertical-align:middle}
.ai-badge.sm{min-width:24px;height:19px;font-size:10px;border-width:1.5px;margin-right:4px}
.ai-badge.off{background:#fff;color:var(--muted);border-color:var(--line-2)}
.ai-choice{margin:28px 0 0;padding:22px 22px 20px;border:2px solid var(--navy);background:var(--powder-soft)}
.ai-choice legend{padding:0 8px;margin-left:-8px;font-family:var(--display);font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:17px;color:var(--navy);display:flex;gap:10px;align-items:center}
.ai-lead{margin:2px 0 16px;font-size:16px;color:var(--ink-2);max-width:48em}
.ai-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:760px){ .ai-opts{grid-template-columns:1fr} }
.ai-opt{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:#fff;border:1px solid var(--line-2);cursor:pointer;font-size:15px;line-height:1.45;color:var(--ink-2)}
.ai-opt b{display:block;font-size:16.5px;color:var(--navy);margin-bottom:4px}
.ai-opt input{width:20px;height:20px;margin:2px 0 0;flex:none;accent-color:var(--navy)}
.ai-opt:hover{border-color:var(--navy)}
.ai-opt:has(input:checked){border:2px solid var(--navy);box-shadow:inset 5px 0 0 var(--navy);padding:13px 15px}
.ai-guide{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line-2)}
@media (max-width:760px){ .ai-guide{grid-template-columns:1fr} }
.ai-guide h4{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);margin-bottom:6px}
.ai-guide ul{margin:0;padding-left:18px;font-size:15px;color:var(--ink-2)}
.ai-guide li{margin-bottom:3px}
.ai-either{grid-column:1/-1;margin:4px 0 0;font-size:15px;color:var(--ink-2)}
#aiAction{margin-top:4px}
.ai-label{display:flex;gap:8px;align-items:center;margin:0 0 8px;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}
.ai-label.big{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px 16px;background:var(--powder-soft);border:2px solid var(--navy);text-transform:none;letter-spacing:0;font-weight:400;font-size:14.5px;color:var(--ink-2);margin:0}
.ai-label.big b{display:block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);margin-bottom:2px}
.ai-label.big.notai{background:var(--bg-2);border-color:var(--line-2)}
@media (max-width:600px){ .ai-label.big{grid-template-columns:auto 1fr} .ai-label.big .btn{grid-column:1/-1;justify-self:start} }
.jev-out.ai-made .jev-card{border-left:4px solid var(--powder)}
.jev-card.ai-made{border-left:4px solid var(--powder)}

/* clear form */
.clear-btn{color:var(--red-dark);border-color:var(--red-dark)}
.clear-btn:hover{background:#FDF0F1;color:var(--red-dark)}
.f-nav .clear-btn{margin-top:12px;width:100%}
.acc-tools{align-items:center;gap:16px;flex-wrap:wrap}
#clearDlg .opt{margin-top:6px}
@media (max-width:980px){ .acc-tools .clear-btn{display:none} }

/* featured example on the landing page */
.example{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center}
.example-shot{display:block;border:1px solid var(--line);box-shadow:var(--shadow);aspect-ratio:16/9;background:var(--bg-3);overflow:hidden}
.example-shot img{width:100%;height:100%;object-fit:cover}
.example-quote{margin:14px 0 0;border-left:6px solid var(--red);padding:2px 0 2px 20px}
.example-quote p{font-family:var(--serif);font-size:19px;line-height:1.55;color:var(--navy);margin:0}
@media (max-width:900px){ .example{grid-template-columns:1fr;gap:24px} }
.expect{grid-template-columns:repeat(4,1fr)}
@media (max-width:1100px){ .expect{grid-template-columns:1fr 1fr} }
@media (max-width:640px){ .expect{grid-template-columns:1fr} }
.create-h{margin-bottom:28px}
.example-title{font-family:var(--display);font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:clamp(22px,2.6vw,32px);line-height:1.05;color:var(--navy)}

/* ---------- open / closed sign ---------- */
.subs-sign{display:inline-flex;flex-direction:column;align-items:center}
.subs-sign .cord{width:120px;height:26px;border:2px solid var(--powder);border-bottom:0;border-radius:60px 60px 0 0;margin-bottom:-2px;position:relative}
.subs-sign .cord::after{content:"";position:absolute;left:50%;top:-7px;width:10px;height:10px;border-radius:50%;background:var(--powder);transform:translateX(-50%)}
.subs-sign .board{display:flex;flex-direction:column;align-items:center;padding:14px 26px 12px;border:3px solid #fff;background:#0E7A3D;color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.35);transform:rotate(-2deg);transform-origin:top center;min-width:220px}
.subs-sign.closed .board{background:var(--red);transform:rotate(2deg)}
.subs-sign .state{font-family:var(--display);font-stretch:125%;font-weight:900;font-size:40px;line-height:1;text-transform:uppercase;letter-spacing:.04em}
.subs-sign .for{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-top:6px}
.subs-pill{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 12px;border:2px solid currentColor}
.subs-pill i{width:9px;height:9px;border-radius:50%;background:currentColor}
.subs-pill.open{color:#7EE2A8}.subs-pill.closed{color:#FF8A96}
.section .subs-pill.open,.sheet .subs-pill.open{color:#0E7A3D}.section .subs-pill.closed,.sheet .subs-pill.closed{color:var(--red-dark)}
.hero-sign{position:absolute;right:28px;top:36px;z-index:2}
@media (max-width:900px){ .hero-sign{position:static;margin:0 0 22px} }
.hero-pill{margin:0 0 14px}
.hero-pill:empty,.hero-sign:empty{display:none}
@media (prefers-reduced-motion: no-preference){ .subs-sign .board{animation:swing 3.2s ease-in-out infinite alternate} @keyframes swing{from{transform:rotate(-2.5deg)}to{transform:rotate(1.5deg)}} .subs-sign.closed .board{animation-direction:alternate-reverse} }
.admin-box{max-width:560px;padding:26px;border-top:6px solid var(--navy);background:var(--bg-2)}
.admin-box .dl-row{margin-top:16px}
.admin-msg{margin-top:14px;font-weight:600}
.admin-msg.err{color:var(--red-dark)}.admin-msg.ok{color:#0E7A3D}

/* the hidden attribute always wins over component display rules (.notice, .btn, .field, ...) */
[hidden]{display:none!important}
