/* Served & Found: airport-board design. Cream page, black board, airport yellow. */
:root{--bg:#F5F2EA;--on-bg:#141414;--board:#141414;--rim:#333;--panel:#1F1F1F;--flap-a:#2E2E2E;--flap-b:#1F1F1F;--seam:#050505;--text:#fff;--accent:#FFD21F;--on-accent:#141414;--muted:#B9B4A8;--ok:#3DDC97;--soft:#5E5A52;--gap:.55ch}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--on-bg);font-family:"Barlow",system-ui,sans-serif;overflow-x:hidden;min-height:100vh;line-height:1.45}
a{color:inherit}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:#fff;padding:.5rem 1rem;z-index:99}
.bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem clamp(16px,4vw,48px)}
.mark{display:flex;align-items:center;gap:.6rem;font:800 1.55rem "Barlow Condensed",sans-serif;text-transform:uppercase;text-decoration:none}
.mark img{width:38px;height:38px;border-radius:7px}
.bar nav{display:flex;gap:1.3rem;font-weight:700;flex-wrap:wrap}
.bar nav a{text-decoration:none}
.bar nav a:hover{text-decoration:underline}
.wrap{padding:0 clamp(16px,4vw,48px) 4rem;max-width:1500px;margin:0 auto}
.crumbs{display:flex;gap:.45rem;flex-wrap:wrap;font-weight:700;font-size:.92rem;margin-bottom:.7rem}
.crumbs a{text-underline-offset:3px}.crumbs i{font-style:normal;opacity:.5}
.board{color:var(--text);background:var(--board);border-radius:20px;padding:clamp(.8rem,2vw,1.8rem);box-shadow:0 34px 44px -22px rgba(60,45,20,.5),inset 0 0 0 4px var(--rim)}

/* Split-flap text: the real words stay in the page; each character sits on its own drawn tile. */
.fl{display:block;font-family:"B612 Mono",ui-monospace,monospace;font-weight:700;text-transform:uppercase;white-space:nowrap;overflow:hidden;letter-spacing:var(--gap);
  padding-left:calc(var(--gap)/2 - 1px);width:calc(var(--n) * (1ch + var(--gap)));max-width:100%;position:relative;
  background:linear-gradient(transparent calc(50% - 1px),var(--seam) calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px)),
             repeating-linear-gradient(90deg,var(--fa,var(--flap-a)) 0 calc(1ch + var(--gap) - 2px),transparent calc(1ch + var(--gap) - 2px) calc(1ch + var(--gap)));
  background-color:transparent;line-height:1.55}
.fl.anim{color:transparent}
.fl .scr{position:absolute;inset:0;padding-left:inherit;color:var(--cell-c,var(--text))}
h1.head{display:grid;gap:6px;margin-bottom:.4rem}
h1.head .fl{font-size:clamp(1.15rem,4.9vw,5.1rem);--n:16;width:100%;letter-spacing:0;padding:0;line-height:1.45;
  display:grid;grid-template-columns:repeat(16,1fr);text-align:center}
h1.head .fl span{display:block}
h1.head .fl.two{color:var(--accent)}
.lede{color:var(--muted);font-size:1.04rem;max-width:70ch;margin:.9rem 0 .8rem}
.lede b{color:#fff}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:.8rem;flex-wrap:wrap;margin:.6rem 0 .9rem}
.tabs{display:flex;gap:.4rem;flex-wrap:wrap}
.tabs a{font:800 1.02rem "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.04em;padding:.45rem .95rem;border-radius:8px;border:2px solid var(--accent);color:var(--accent);text-decoration:none}
.tabs a[aria-current]{background:var(--accent);color:var(--on-accent)}
.head-row,.row{display:grid;grid-template-columns:var(--cols);gap:clamp(.4rem,1.2vw,1.1rem);align-items:center}
.head-row{font:700 .7rem "Barlow",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:0 .5rem;margin-bottom:.35rem}
.row{padding:.36rem .5rem;border-radius:8px;text-decoration:none;color:var(--text);margin-bottom:.28rem;font-size:clamp(.62rem,1.42vw,1.3rem)}
.row .fl{width:100%}
.row .st{color:var(--accent)}
.row.alt{background:rgba(255,255,255,.12)}.row.alt .fl{--fa:#4A4A4A}
.row:hover,.row:focus-visible{background:rgba(255,210,31,.16)}
.row[hidden]{display:none}
.row.blank{pointer-events:none}.row.blank .fl{opacity:.35}
.row.soon{pointer-events:none;opacity:.45}
.sect{font:700 .72rem "Barlow",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:.3rem .5rem .45rem}

/* paid and staff rows */
.feat{display:grid;grid-template-columns:var(--cols);gap:.3rem clamp(.4rem,1.2vw,1.1rem);align-items:center;padding:.45rem .5rem .42rem;margin-bottom:.4rem;border-radius:10px;background:rgba(255,210,31,.13);box-shadow:inset 0 0 0 2px var(--accent);text-decoration:none;color:var(--text);font-size:clamp(.62rem,1.42vw,1.3rem)}
.feat .fl{width:100%;--fa:#0E0E0E}   /* Owen 2026-11-12: Featured letters black and white for phone readability; the gold frame marks the row */
.feat .fl.st{--fa:var(--flap-a);color:var(--accent)}
.feat.elite{background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 2px #fff}
.feat.elite .fl:not(.st){--fa:#0E0E0E}   /* Elite: black tiles, white letters, white frame (Owen 2026-11-12) */
.feat .more{grid-column:1/-1;display:flex;gap:.4rem 1rem;flex-wrap:wrap;align-items:center;font:500 .9rem "Barlow",sans-serif}
.feat .more img{width:32px;height:32px;border-radius:6px;background:#fff;object-fit:contain}
.badge{font:700 .58rem "Barlow",sans-serif;letter-spacing:.1em;text-transform:uppercase;background:var(--accent);color:var(--on-accent);padding:.12rem .38rem;border-radius:3px}   /* Owen 2026-11-10: smaller Sponsored label */
.badge.el{background:#fff}.badge.staff{background:var(--ok)}
.feat .more u{color:var(--accent);font-weight:700;text-underline-offset:3px}
.pager{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.6rem;font:700 .9rem "Barlow",sans-serif;color:var(--muted)}
.pager button{font:800 1.02rem "Barlow Condensed",sans-serif;text-transform:uppercase;padding:.45rem 1rem;border-radius:8px;border:0;background:var(--accent);color:var(--on-accent);cursor:pointer}
.pager button:disabled{opacity:.3;cursor:default}
.towns{margin-top:1rem;display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;font-size:.9rem;color:var(--muted)}
.towns a{color:#fff;text-decoration:none;border:1.5px solid var(--rim);padding:.28rem .7rem;border-radius:999px;font-weight:700}
.towns a:hover,.towns a[aria-current]{border-color:var(--accent);color:var(--accent)}
.note{margin-top:.7rem;font-size:.84rem;color:var(--muted)}
.prose{background:#fff;border-radius:16px;padding:clamp(1.2rem,3vw,2.4rem);margin-top:1.4rem;max-width:860px}
.prose h2{font:800 1.5rem "Barlow Condensed",sans-serif;text-transform:uppercase;margin:1.4rem 0 .5rem}
.prose h2:first-child{margin-top:0}
.prose h3{font:800 1.15rem "Barlow Condensed",sans-serif;margin:1rem 0 .3rem}
.prose p,.prose li{margin:.45rem 0;max-width:72ch}
.prose ul,.prose ol{padding-left:1.3rem}
.prose a{font-weight:700}
.links{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.3rem 1.2rem;list-style:none;padding:0!important}
foot,.foot{display:block;border-top:1px solid #DDD7C9;padding:1.6rem clamp(16px,4vw,48px) 2.4rem;color:var(--soft);font-size:.88rem}
.foot .cols{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;max-width:1500px;margin:0 auto}
.foot a{margin-right:1rem}

/* provider page */
.pgrid{display:grid;grid-template-columns:1.55fr 1fr;gap:clamp(.8rem,2vw,1.4rem);align-items:start;margin-top:1rem}
.panel{background:var(--panel);border-radius:14px;padding:clamp(1rem,2vw,1.5rem);box-shadow:inset 0 0 0 1.5px var(--rim)}
.panel+.panel{margin-top:clamp(.8rem,2vw,1.4rem)}
.panel h2{font:800 1.2rem "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:.8rem}
.who{display:flex;gap:1rem;align-items:center}
.who img{width:110px;height:110px;border-radius:14px;background:#fff;object-fit:contain;flex:0 0 auto}
dl.rec{display:grid;grid-template-columns:9rem 1fr;gap:.6rem 1rem}
dl.rec dt{color:var(--muted);font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding-top:.2rem}
dl.rec dd a{color:var(--accent);font-weight:700}
.chips{display:flex;gap:.4rem;flex-wrap:wrap}
.chips span,.chips a{border:1.5px solid var(--rim);padding:.22rem .7rem;border-radius:999px;font-weight:700;font-size:.9rem;text-decoration:none;color:#fff}
.contact{background:var(--accent);color:var(--on-accent);box-shadow:none}
.contact h2{color:var(--on-accent)}
.btn{display:block;text-align:center;text-decoration:none;font:800 1.3rem "Barlow Condensed",sans-serif;text-transform:uppercase;padding:.75rem;border-radius:10px;margin-bottom:.5rem;background:var(--on-accent);color:#fff}
.btn.ghost{background:none;color:var(--on-accent);box-shadow:inset 0 0 0 2.5px var(--on-accent)}
.badges{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-top:.7rem}
.ok{font:800 .72rem "Barlow",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ok);box-shadow:inset 0 0 0 1.5px var(--ok);padding:.25rem .6rem;border-radius:5px}
.pend{font:800 .72rem "Barlow",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);box-shadow:inset 0 0 0 1.5px var(--muted);padding:.25rem .6rem;border-radius:5px}

/* forms */
form.f label{display:block;font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem}
form.f label small{display:block;text-transform:none;letter-spacing:0;font-weight:500;font-size:.86rem;margin-top:.1rem}
form.f input,form.f select,form.f textarea{display:block;width:100%;margin-top:.3rem;font:500 1rem "Barlow",sans-serif;padding:.62rem .75rem;border-radius:8px;border:1.5px solid var(--rim);background:var(--board);color:#fff}
form.f textarea{min-height:84px}
form.f .two{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
form.f button[type=submit]{font:800 1.25rem "Barlow Condensed",sans-serif;text-transform:uppercase;background:var(--accent);color:var(--on-accent);border:0;padding:.7rem 1.4rem;border-radius:9px;cursor:pointer}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pills{display:flex;gap:.45rem;flex-wrap:wrap;margin:.3rem 0 .9rem}
.pills label{margin:0!important;text-transform:none!important;letter-spacing:0!important;font-size:.95rem!important;color:#fff!important;cursor:pointer}
.pills input{position:absolute;opacity:0;width:auto!important}
.pills span{display:inline-block;padding:.45rem 1rem;border-radius:999px;border:1.5px solid var(--rim);font-weight:700}
.pills input:checked+span{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.pills input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}
.msg{font-weight:700;margin-top:.7rem}.msg.good{color:var(--ok)}.msg.bad{color:#FF8A5B}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}
.plan{position:relative;display:block;background:var(--panel);border-radius:14px;padding:1.2rem;box-shadow:inset 0 0 0 1.5px var(--rim);cursor:pointer;text-transform:none!important;letter-spacing:0!important;font-size:1rem!important;color:#fff!important;font-weight:500!important}
.plan input{position:absolute;opacity:0}
.plan:has(input:checked){box-shadow:inset 0 0 0 3px var(--accent)}
.plan b.t{display:block;font:800 1.9rem "Barlow Condensed",sans-serif;text-transform:uppercase}
.plan .p{font:800 1.35rem "Barlow Condensed",sans-serif;color:var(--accent);margin:.1rem 0 .7rem;display:block}
.plan ul{list-style:none;display:grid;gap:.4rem}
.plan li{padding-left:1.4rem;position:relative}
.plan li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:700}
.plan{display:flex!important;flex-direction:column}.plan .fine{margin-top:auto;padding-top:1rem;color:var(--muted);font-size:.8rem;line-height:1.35}   /* Owen 2026-11-11: Sponsored is a disclosure, not a feature */
.gold-only{display:none}body.gold .gold-only{display:block}
.logobox{width:110px;height:110px;border-radius:12px;background:#fff;display:grid;place-items:center;color:#8B877E;font:700 .72rem "Barlow",sans-serif;text-transform:uppercase;border:2px dashed #B9B4A8;overflow:hidden}
.logobox img{width:100%;height:100%;object-fit:contain}
@media (max-width:860px){.bar nav{gap:.8rem;font-size:.92rem}.pgrid,.plans,form.f .two{grid-template-columns:1fr}dl.rec{grid-template-columns:1fr;gap:.1rem}dl.rec dd{margin-bottom:.5rem}
  .head-row{display:none}.row,.feat{grid-template-columns:1fr 1fr!important;font-size:.82rem}.people .row>.fl:nth-child(3),.people .feat>.fl:nth-child(3){display:none}.row>.fl:nth-child(n+4){display:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* giant headline flaps: sized so 16 tiles always fit the board */
.headline{min-width:0;overflow:hidden;display:grid;gap:6px;margin:.5rem 0;--avail:calc(min(100vw,1500px) - 2*clamp(16px,4vw,48px) - 2*clamp(.8rem,2vw,1.8rem) - 12px)}
.fl.big{font-size:min(5.2rem,calc(var(--avail) / (var(--n) * 1.1)));line-height:1.5;--gap:.5ch}
.fl.big.two{color:var(--accent)}
.fl.gold{--fa:var(--flap-a)}   /* Owen 2026-11-12: profile name tiles black with white letters, like the boards */
.board .lede{max-width:none}

/* rows scale their letters so each board's longest name, work label and town fit without cutting */
@media (min-width:861px){
  .people{--avail2:calc(min(100vw,1500px) - 2*clamp(16px,4vw,48px) - 2*clamp(.8rem,2vw,1.8rem) - 1rem - 3*clamp(.4rem,1.2vw,1.1rem))}
  .people .row,.people .feat{font-size:min(1.3rem,calc(var(--avail2) / (var(--tiles) * .98)))}
}

/* sections under the board use the full width too */
.prose{max-width:none}
.prose p,.prose li{max-width:none}

/* article images */
.art-img{margin:0 0 1.4rem}.art-img img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:12px;background:#2a2a2a}
.prose h2 + .art-img,.prose .art-img + h2{margin-top:1.4rem}

/* mini listings board inside guides */
.prose .mini-board{margin:2rem 0;padding:clamp(.8rem,2vw,1.4rem);border-radius:16px}
.mini-board .mb-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.6rem}
.mini-board .mb-title{margin:0;color:#fff;font-weight:700;font-size:1.05rem}
.mini-board .mb-all{color:var(--accent);font-weight:700;white-space:nowrap;text-decoration:underline}
.mini-board .mb-foot{margin:.8rem 0 0}
.mini-board .mb-btn{display:inline-block;padding:.55rem 1rem;border:2px solid var(--accent);border-radius:999px;color:var(--accent);font-weight:700;text-decoration:none}
.mini-board .mb-btn:hover,.mini-board .mb-btn:focus-visible{background:var(--accent);color:#111}
.mini-board .lede{color:var(--text)}
/* the mini board sizes its letters to its own width, not the window's */
.mini-board{container-type:inline-size}
@media (min-width:861px){.mini-board .people .row,.mini-board .people .feat{font-size:min(1.15rem,calc((100cqw - 2.5rem) / (var(--tiles) * .98)))}}
/* phones: the mini board shows plain cards with full names instead of the split-flap rows */
.mini-board .mb-cards{display:none;list-style:none;margin:0;padding:0}
@media (max-width:860px){
  .mini-board .mb-head{flex-direction:column;gap:.2rem}
  .mini-board .mb-board{display:none}
  .mini-board .mb-cards{display:block}
  .mini-board .mb-cards li{margin-bottom:.45rem;border-radius:10px;background:rgba(255,255,255,.08);padding:.65rem .8rem}
  .mini-board .mb-cards li.paid{background:rgba(255,210,31,.13);box-shadow:inset 0 0 0 2px var(--accent)}
  .mini-board .mb-cards li > a:first-child{display:block;color:var(--text);text-decoration:none}
  .mini-board .mb-cards b{display:block;color:#fff;font-size:1.08rem;line-height:1.3}
  .mini-board .mb-cards span{display:block;opacity:.85;font-weight:500}
  .mini-board .mb-cards i{display:inline-block;margin-top:.2rem;font-style:normal;font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);opacity:.85}
  .mini-board .mb-ph{display:block;margin-top:.3rem;font-weight:700;color:#fff;opacity:.9}
  .mini-board .mb-call{display:inline-block;margin-top:.45rem;padding:.5rem .9rem;min-height:44px;border-radius:999px;background:var(--accent);color:#111;font-weight:800;text-decoration:none}
}

/* types of work on Get listed */
.pills label.off{opacity:.45}
.other-work{display:block;max-width:420px;margin-top:.6rem}
.other-work[hidden]{display:none}
.pills label[hidden]{display:none}
/* scrollable drop-down for long choice lists (Get listed) */
.dd{position:relative;max-width:560px;margin:.3rem 0 .9rem}
.dd summary{list-style:none;cursor:pointer;padding:.7rem 2.6rem .7rem 1rem;border-radius:10px;border:1.5px solid var(--rim);font-weight:700;color:#fff;background:rgba(255,255,255,.04);position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dd summary::-webkit-details-marker{display:none}
.dd summary::after{content:"▾";position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--accent)}
.dd[open] summary::after{content:"▴"}
.dd[open] summary{border-color:var(--accent)}
.dd-list{position:absolute;z-index:20;left:0;right:0;top:calc(100% + .3rem);max-height:260px;overflow-y:auto;overscroll-behavior:contain;padding:.35rem;border-radius:10px;background:#1c1c1c;border:1.5px solid var(--accent);box-shadow:0 18px 30px rgba(0,0,0,.45)}
.dd-list label{display:flex!important;align-items:center;gap:.6rem;margin:0!important;padding:.55rem .6rem;border-radius:8px;cursor:pointer;color:#fff!important;text-transform:none!important;letter-spacing:0!important;font-size:.95rem!important;font-weight:600}
.dd-list label:hover{background:rgba(255,255,255,.07)}
.dd-list label[hidden]{display:none!important}
.dd-list label.off{opacity:.45;cursor:not-allowed}
.dd-list input{position:static!important;opacity:1!important;width:1.1rem!important;height:1.1rem;accent-color:var(--accent);flex:none}
.dd-list .dd-group{margin:.6rem .6rem .2rem;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.dd-list .dd-group:first-child{margin-top:.2rem}
/* state, then region, then towns */
.picker select{width:100%}
.pk-towns{max-height:260px;overflow-y:auto;overscroll-behavior:contain;padding:.35rem;border-radius:10px;border:1.5px solid var(--rim);background:rgba(255,255,255,.03);margin-bottom:.6rem;max-width:560px}
.pk-towns label{display:flex!important;align-items:center;gap:.6rem;margin:0!important;padding:.5rem .6rem;border-radius:8px;cursor:pointer;color:#fff!important;text-transform:none!important;letter-spacing:0!important;font-size:.95rem!important;font-weight:600}
.pk-towns label:hover{background:rgba(255,255,255,.07)}
.pk-towns input{position:static!important;opacity:1!important;width:1.1rem!important;height:1.1rem;accent-color:var(--accent);flex:none}
.pk-towns .dd-group{margin:.6rem .6rem .2rem;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.pk-empty{margin:.6rem;color:var(--muted,#aaa)}
.pk-chosen{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .9rem}
.pk-chip{border:1.5px solid var(--accent);background:rgba(255,210,31,.12);color:#fff;border-radius:999px;padding:.35rem .8rem;font:600 .9rem "Barlow",sans-serif;cursor:pointer}
.pk-chip small{opacity:.7;font-weight:500}
.badge.staff{background:#E9E4D8;color:#2B2A26}

/* phone numbers on board rows (Owen 2026-11-10): every listing shows its number; only paid rows get a Call button */
.row .ph{grid-column:1/-1;font:600 .8em "Barlow",sans-serif;color:var(--text);opacity:.8;letter-spacing:0;text-transform:none;margin-top:-.15rem}
.call{display:inline-block;cursor:pointer;font:800 .9em "Barlow",sans-serif;background:var(--accent);color:#111;padding:.3rem .8rem;border-radius:999px;text-transform:none;letter-spacing:0}
.call:focus-visible{outline:3px solid #fff;outline-offset:2px}
.btn.plain{cursor:default;user-select:all}
/* free listings: the number as plain text, not a button that does not dial (review 2026-11-11) */
.phone-plain{margin:0 0 .6rem;font-weight:600}.phone-plain .num{user-select:all;font-variant-numeric:tabular-nums}
/* phones: the board keeps its split-flap look but drops the "work" column so the letters can be bigger (Owen 2026-11-10) */
@media (max-width:700px){
  .people .row .fl,.people .feat .fl{--gap:.2ch}
  .people .row,.people .feat{grid-template-columns:minmax(0,1fr) auto!important;row-gap:.35rem;padding:.6rem .55rem;min-height:44px;font-size:1rem!important}
  .people .row>.fl:nth-child(1),.people .feat>.fl:nth-child(1){grid-column:1/-1;font-size:min(1.2rem,calc((100vw - 80px) / (var(--n) * .8)))}
  .people .row>.fl:nth-child(2),.people .feat>.fl:nth-child(2){display:none!important}
  .people .row>.fl:nth-child(3),.people .feat>.fl:nth-child(3){display:block!important;font-size:min(.78rem,calc((100vw - 200px) / (var(--n) * .74)))}
  .people .row .ph{grid-column:2;align-self:center;margin:0;font-size:.85rem}
  .head-row{display:none}
}
/* Get listed: what happens next, live total, terms (Owen 2026-11-10) */
.next .steps{margin:.2rem 0 0;padding-left:1.2rem}.next .steps li{margin:.3rem 0}
.total{font:800 1.2rem "Barlow",sans-serif;color:var(--accent);margin:1rem 0 .4rem}
.agree{display:flex!important;gap:.6rem;align-items:flex-start;text-transform:none!important;letter-spacing:0!important;font-size:.95rem!important;color:#fff!important;margin:.4rem 0 1rem}
.agree input{width:1.1rem!important;height:1.1rem;accent-color:var(--accent);margin-top:.2rem}
/* search box in the header (Owen 2026-11-10) */
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.find{position:relative;flex:1 1 220px;max-width:340px}
.find input{width:100%;padding:.55rem .9rem;border-radius:999px;border:1.5px solid #CFC8B8;background:#fff;color:#141414;font:500 1rem "Barlow",sans-serif}
.find input:focus{outline:3px solid var(--accent);outline-offset:1px;border-color:#141414}
.find-list{position:absolute;z-index:50;left:0;right:0;top:calc(100% + .35rem);list-style:none;margin:0;padding:.3rem;background:#141414;border-radius:12px;box-shadow:0 18px 30px rgba(0,0,0,.35);max-height:60vh;overflow:auto}
.find-list a{display:flex;justify-content:space-between;gap:.8rem;padding:.6rem .7rem;border-radius:8px;color:#fff;text-decoration:none;font-weight:700}
.find-list a small{color:#B9B4A8;font-weight:500;text-align:right}
.find-list a[aria-selected="true"],.find-list a:hover{background:#2E2E2E}
.find-list .none{color:#B9B4A8;padding:.6rem .7rem}
@media (max-width:860px){.bar{flex-wrap:wrap}.find{order:3;flex-basis:100%;max-width:none}}

/* Phones (Owen 2026-11-11: menu took a third of the screen). The five links fold behind a Menu button.
   Only when board.js has run (html.js-menu); without it the links stay visible. */
.menu-btn{font:700 1rem "Barlow",sans-serif;padding:.45rem .95rem;border-radius:999px;border:1.5px solid #141414;background:transparent;color:#141414;min-height:40px;cursor:pointer;display:none}
.menu-btn[aria-expanded="true"]{background:#141414;color:#fff}
@media (max-width:700px){
  .bar{padding:.5rem 16px;gap:.5rem}
  .mark{font-size:1.2rem;gap:.45rem}.mark img{width:30px;height:30px}
  .find input{padding:.45rem .85rem}
  .js-menu .menu-btn{display:block}
  .js-menu .bar nav{display:none;order:4;flex-basis:100%;flex-direction:column;gap:0;font-size:1rem}
  .js-menu .bar nav.open{display:flex}
  .js-menu .bar nav a{padding:.6rem .2rem;border-top:1px solid #E0D9C9}
}

/* yearly option (Owen 2026-11-11) */
.plan .yr{display:block;margin:-.4rem 0 .8rem;padding:.35rem .6rem;border-radius:8px;background:rgba(61,220,151,.12);color:var(--ok);font-weight:700;font-size:.92rem}
fieldset.billing{border:0;margin:1rem 0 0;padding:1rem 1.2rem;background:var(--panel);border-radius:14px;box-shadow:inset 0 0 0 1.5px var(--rim);color:#fff;display:grid;gap:.6rem}
fieldset.billing legend{float:left;width:100%;font-weight:700;margin-bottom:.2rem}
fieldset.billing label{display:block;text-transform:none!important;letter-spacing:0!important;font-size:1rem!important;color:#fff!important;cursor:pointer}
fieldset.billing small{display:block;color:var(--muted);margin-left:1.6rem;font-weight:500}
fieldset.billing[hidden]{display:none}
form.f fieldset.billing input[type=radio]{width:auto;min-height:0;display:inline-block;margin:0 .55rem 0 0;padding:0;vertical-align:middle;accent-color:var(--accent);transform:scale(1.25)}
form.f fieldset.billing label{display:flex;flex-wrap:wrap;align-items:center}
form.f fieldset.billing label small{flex-basis:100%}
form.f fieldset.billing label.bill-agree{flex-wrap:nowrap;align-items:flex-start;gap:.7rem;margin-top:.4rem;padding-top:.8rem;border-top:1px solid var(--rim);font-weight:500;line-height:1.45}
form.f fieldset.billing label.bill-agree input[type=checkbox]{width:auto;min-height:0;flex:none;margin:.2rem 0 0;padding:0;accent-color:var(--accent);transform:scale(1.3)}
fieldset.billing legend small{display:inline;margin:0;color:var(--muted);font-weight:500}
/* Elite photos and video (Owen 2026-11-11) */
.badge.mv{background:#141414;color:#fff;box-shadow:inset 0 0 0 1px #fff}
.mvid{display:block;width:100%;height:auto;max-height:78vh;border-radius:12px;background:#000;object-fit:contain}
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem;margin-top:.8rem}
.mgrid a{display:block;border-radius:10px;overflow:hidden;background:#222}
.mgrid img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.mupload{display:grid;gap:.8rem;margin-top:1rem}
.mupload .mlist{display:flex;flex-wrap:wrap;gap:.5rem}
.mupload .mitem{position:relative;width:96px;height:96px;border-radius:10px;overflow:hidden;background:#222;display:flex;align-items:center;justify-content:center;color:#fff;font:600 .72rem "Barlow",sans-serif;text-align:center;padding:4px}
.mupload .mitem img,.mupload .mitem video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mupload .mitem .mbar{position:absolute;left:0;bottom:0;height:5px;background:var(--accent);transition:width .2s}
.mupload .mitem button{position:absolute;top:3px;right:3px;width:24px;height:24px;border-radius:50%;border:0;background:#000c;color:#fff;font-weight:800;cursor:pointer;line-height:1}
.mupload .mitem.bad{outline:3px solid #e5484d}
/* video in the right column on desktop, under About on phones (Owen 2026-11-11) */
.m-narrow{display:none}
.mgrid:first-child{margin-top:0}
@media (max-width:860px){.m-narrow{display:block}h2 .m-narrow{display:inline}.m-wide{display:none}}
/* one photo shows whole and full width; two side by side; three or more as a square grid (Owen 2026-11-11) */
.mgrid:has(> a:only-child){grid-template-columns:1fr}
.mgrid:has(> a:only-child) img{aspect-ratio:auto;object-fit:contain}
.mgrid:has(> a:nth-child(2):last-child){grid-template-columns:1fr 1fr}
.mphoto{display:block;border-radius:12px;overflow:hidden;background:#000}
.mphoto img{display:block;width:100%;height:auto;max-height:78vh;object-fit:contain}
dl.rec a.lk{font-size:.78rem;font-weight:600;text-underline-offset:2px}
/* coming-soon banner between the home board and the articles (Owen 2026-11-12) */
.soon{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.6rem;margin-top:1.4rem;padding:clamp(1rem,2.6vw,1.6rem) clamp(1.2rem,3vw,2.4rem);border-radius:16px;background:var(--board);color:var(--text);border:2px solid var(--accent)}
.soon p{margin:0;font:800 clamp(1.25rem,2.6vw,1.7rem)/1.25 "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.02em}
.soon p span{color:var(--accent)}
.soon a{flex:none;text-decoration:none;font:800 1.25rem "Barlow Condensed",sans-serif;text-transform:uppercase;padding:.7rem 1.4rem;border-radius:10px;background:var(--accent);color:var(--on-accent)}
.soon a:hover,.soon a:focus-visible{background:#fff}
@media (max-width:560px){.soon a{width:100%;text-align:center}}
/* Owen 2026-11-12: the intro paragraph sits under the board */
.lede.under{margin:1rem 0 .4rem}
/* Owen 2026-11-12, phones: the town line is never wider than the name line, and its letters match the name's size;
   the three trade buttons share one line */
@media (max-width:700px){
  .people .row>.fl:nth-child(3),.people .feat>.fl:nth-child(3){width:auto;justify-self:start;font-size:min(1.2rem,calc((100vw - 80px) / (max(var(--nn,16), var(--n)) * .8)))}
  .tabs{flex-wrap:nowrap;gap:.3rem}
  .tabs a{flex:1 1 auto;text-align:center;white-space:nowrap;font-size:clamp(.66rem,3.4vw,.92rem);letter-spacing:.01em;padding:.42rem .35rem}
}

/* Area boards on phones (Owen 2026-11-12): area name and count on line 1, towns on line 2, so nothing runs together */
@media (max-width:700px){
  .places .row{grid-template-columns:minmax(0,1fr) auto!important;row-gap:.3rem;padding:.55rem .5rem}
  .places .row>.fl{display:block!important}
  .places .row>.fl:nth-child(1){grid-column:1;grid-row:1;font-size:min(1.15rem,calc((100vw - 150px) / (var(--n) * .8)))}
  .places .row>.fl:nth-child(3){grid-column:2;grid-row:1;width:auto;font-size:min(1.15rem,calc((100vw - 150px) / (18 * .8)))}
  .places .row>.fl:nth-child(2){grid-column:1/-1;grid-row:2;font-size:min(.95rem,calc((100vw - 80px) / (var(--n) * 1.02)))}
}

/* Profile pages on phones (Owen 2026-11-12): contact and map right under the licence badges, then about, then the record; logo floats so the text wraps beside it */
@media (max-width:860px){
  .pgrid>div,.pgrid>aside{display:contents}
  .pgrid .contact{order:1}.pgrid .p-map{order:2}.pgrid .p-about{order:3}.pgrid #media{order:4}.pgrid .p-rec{order:5}.pgrid .p-cb{order:6}.pgrid #video{order:7}
  .who{display:block}.who::after{content:"";display:table;clear:both}
  .who img{float:left;width:72px;height:72px;border-radius:10px;margin:.2rem .85rem .3rem 0}
}

/* Profile name tiles (Owen 2026-11-13): phones get the name over two lines with bigger letters */
.hl-phone{display:none}
@media (max-width:700px){.hl-wide{display:none}.hl-phone{display:grid}}

/* APSA-style offer banner (2026-11-14) */
.offer{border:2px solid var(--accent);background:rgba(245,197,24,.1);border-radius:12px;padding:1rem 1.15rem;margin:0 0 1.4rem;color:#fff;font-size:1.02rem;line-height:1.45}
.offer b.big{display:block;font-size:1.25rem;color:var(--accent);letter-spacing:.01em;margin-bottom:.2rem}
.offer .left{display:inline-block;margin-top:.45rem;padding:.15rem .6rem;border-radius:99px;background:var(--accent);color:var(--on-accent);font-weight:800;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase}
.offer.ended{border-color:var(--rim);background:transparent}
.offer-note{display:block;margin:.35rem 0 .2rem;color:var(--accent);font-weight:700;font-size:.92rem}
