/* PATTAYA AFTER DARK — FLAGSHIP UX LAYER, 2026-08-04
   Premium editorial system revised 2026-08-08. TimPaemi family typography,
   with a restrained Pattaya After Dark palette and task-first hierarchy. */

@font-face{
  font-family:"Inter";
  src:url("/assets/fonts/inter-var.woff2") format("woff2");
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
}
@font-face{
  font-family:"Instrument Serif";
  src:url("/assets/fonts/instrument-serif-regular.woff2") format("woff2");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:"Instrument Serif";
  src:url("/assets/fonts/instrument-serif-italic.woff2") format("woff2");
  font-style:italic;
  font-weight:400;
  font-display:swap;
}

:root{
  --ink:#0a0a09;
  --surface:#121210;
  --surface-2:#191816;
  --surface-3:#211f1b;
  --text:#f5f0e7;
  --muted:#b9b1a5;
  --line:rgba(245,240,231,.15);
  --line-strong:rgba(245,240,231,.28);
  --champagne:#d8bd82;
  --champagne-bright:#efd9a6;
  --wine:#633847;
  --signal:#d8bd82;
  --amber:#d8bd82;
  --uv:#d8bd82;
  --uv-bright:#efd9a6;
  --dawn:#9aa6aa;
  --display:"Instrument Serif",Georgia,serif;
  --sans:"Inter",Arial,sans-serif;
  --mono:"Inter",Arial,sans-serif;
  --pad-max:1240px;
  --pad-reading:69ch;
  --pad-radius:3px;
  --pad-shadow:0 28px 80px rgba(0,0,0,.28);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px;text-size-adjust:100%;background:var(--ink)}
body{
  margin:0;
  background:var(--ink);
  color:var(--text);
  font-family:var(--sans);
  font-size:clamp(16px,.22vw + 15.5px,18px);
  font-weight:400;
  line-height:1.68;
  letter-spacing:-.008em;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(70vw 58vh at 85% -18%,rgba(99,56,71,.20),transparent 68%),
    linear-gradient(180deg,#0a0a09 0%,#0b0b0a 70%,#080807 100%);
  opacity:1;
}
::selection{background:var(--champagne);color:var(--ink)}
a{color:var(--champagne-bright);text-underline-offset:.2em}
a:hover{color:#fff5dc}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
:focus-visible{outline:2px solid var(--champagne-bright);outline-offset:4px}

.wrap,.topbar-inner,.footer-inner,.route-tools-inner{
  width:min(calc(100% - 40px),var(--pad-max));
  max-width:none;
  margin-inline:auto;
}
main{min-width:0}
main :where(p,li,dd,figcaption){overflow-wrap:anywhere}
main :where(.prose,.sec-lead,.strap,.page-intro){max-width:var(--pad-reading)}
main :where(h1,h2,h3){text-wrap:balance;overflow-wrap:anywhere}
.skip-link{position:fixed;left:12px;top:-80px;z-index:1000;padding:11px 16px;background:var(--text);color:var(--ink);font-weight:750}
.skip-link:focus{top:12px}

/* One compact navigation row. It stays fully functional without JavaScript. */
.topbar{
  position:sticky;
  top:0;
  z-index:80;
  min-height:66px;
  border-bottom:1px solid var(--line);
  background:rgba(10,10,9,.94);
  box-shadow:none;
  backdrop-filter:blur(18px) saturate(115%);
}
.topbar-inner{display:flex;align-items:center;gap:18px;min-height:66px;padding:0}
.brand{
  display:inline-grid;
  flex:0 0 auto;
  align-content:center;
  min-height:50px;
  color:var(--text);
  font-family:var(--sans);
  font-size:.66rem;
  font-weight:760;
  line-height:1.05;
  letter-spacing:.16em;
  text-decoration:none;
  text-transform:uppercase;
  white-space:nowrap;
}
.brand:hover{color:var(--text)}
.brand em{color:var(--champagne);font-family:var(--display);font-size:1.46rem;font-weight:400;letter-spacing:.01em;text-transform:none}
.publication-mark{flex:0 0 auto;padding-left:18px;border-left:1px solid var(--line);color:var(--muted);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.topnav{
  display:flex;
  flex:1 1 auto;
  align-items:stretch;
  justify-content:flex-end;
  gap:2px;
  min-width:0;
  overflow-x:auto;
  scrollbar-width:none;
}
.topnav::-webkit-scrollbar{display:none}
.topnav a{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:7px 12px;
  border:0;
  border-bottom:1px solid transparent;
  border-radius:0;
  color:var(--muted);
  font-size:.72rem;
  font-weight:650;
  letter-spacing:.045em;
  text-decoration:none;
  white-space:nowrap;
}
.topnav a:hover{color:var(--text)}
.topnav a[aria-current="page"],.topnav a[aria-current="location"]{border-color:var(--champagne);background:transparent;color:var(--text)}
.topnav a[href="/authors/"]{border-left:1px solid var(--line);color:var(--champagne-bright)}
.night-status,.route-tools{display:none!important}

/* Editorial headings and reading rhythm. */
section{padding-block:clamp(52px,7vw,90px)}
.zhero,.hero{isolation:isolate}
.zhero{padding-block:clamp(44px,7vw,92px) clamp(26px,4vw,48px)}
.zhero h1,.hero h1,.sec-title{
  margin:0;
  color:var(--text);
  font-family:var(--display);
  font-weight:400;
  letter-spacing:-.035em;
  text-transform:none;
}
.zhero h1,.hero h1{max-width:11ch;font-size:clamp(3.7rem,9.2vw,8.6rem);line-height:.82}
.zhero .strap{max-width:62ch;margin-top:22px;color:var(--muted);font-size:clamp(1rem,.4vw + .95rem,1.2rem);line-height:1.55}
.sec-title{font-size:clamp(2.75rem,5.5vw,5.4rem);line-height:.9}
.sec-kicker,.kicker,.tonight-date{
  margin:0 0 14px;
  color:var(--champagne);
  font-family:var(--sans);
  font-size:.7rem;
  font-weight:720;
  line-height:1.4;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.sec-lead{margin:20px 0 46px;color:var(--muted);font-size:1.02rem}
.prose{font-size:clamp(1rem,.2vw + .97rem,1.12rem);line-height:1.78}
.prose p{margin:0}
.prose p+p{margin-top:1.25em}
.crumbs{padding-top:22px;color:var(--muted);font-size:.72rem}
.crumbs a{color:var(--muted)}
.reveal,.reveal.in{opacity:1!important;transform:none!important;transition:none!important}
.flicker,.phase-dot{animation:none!important;text-shadow:none!important}

/* Home: one premium planning gateway, not a visual-effects demo. */
.home-gateway{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);
  gap:clamp(34px,6vw,92px);
  align-items:center;
  min-height:calc(100svh - 66px);
  padding-block:clamp(32px,4vw,58px);
}
.home-gateway-copy{position:relative;z-index:2}
.home-gateway .kicker{display:block;margin-bottom:22px;color:var(--champagne)}
.home-gateway h1{max-width:12ch;font-size:clamp(4.4rem,7vw,7.4rem);line-height:.82}
.home-gateway h1 em{display:block;color:var(--champagne);font-weight:400}
.home-gateway .hero-strap{max-width:55ch;margin:24px 0 0;color:var(--muted);font-size:clamp(1rem,.35vw + .96rem,1.18rem);line-height:1.55}
.home-gateway .hero-strap strong{color:var(--text);font-weight:620}
.home-venue-search{max-width:720px;margin:30px 0 0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:left}
.home-venue-search>label{display:block;margin-bottom:9px;color:var(--text);font-size:.72rem;font-weight:720;letter-spacing:.08em;text-transform:uppercase}
.home-venue-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.home-venue-search input,.home-venue-search button{min-height:58px;border:1px solid var(--line-strong);border-radius:0;font:inherit}
.home-venue-search input{width:100%;padding:12px 16px;background:#11110f;color:var(--text);font-size:16px}
.home-venue-search input::placeholder{color:#8f887e}
.home-venue-search button{padding:11px 22px;border-color:var(--champagne);background:var(--champagne);color:var(--ink);font-size:.75rem;font-weight:780;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.home-venue-search button:hover{background:var(--champagne-bright)}
.home-venue-search-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin:13px 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}
.home-venue-search-links a{display:inline-flex;align-items:center;min-height:34px;color:var(--champagne-bright);font-weight:650}
.home-gateway-portrait{position:relative;height:clamp(520px,70svh,660px);min-height:0;margin:0;overflow:hidden;background:#171512}
.home-gateway-portrait picture{display:block;width:100%;height:100%}
.home-gateway-portrait img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center 38%;filter:saturate(.82) contrast(1.03)}
.home-gateway-portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(8,8,7,.76))}
.home-gateway-caption{position:absolute;z-index:2;right:22px;bottom:18px;left:22px;display:flex;justify-content:space-between;gap:14px;color:var(--text);font-size:.66rem;font-weight:690;letter-spacing:.1em;text-transform:uppercase}
.home-gateway-caption span:last-child{color:var(--champagne)}
.ticker,.horizon,.horizon-labels,.hero-ctas{display:none!important}

/* Home decisions: concise, editorial and task-led. */
.home-choice-section{padding-top:clamp(64px,8vw,108px)}
.home-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:30px}
.home-choice{
  display:flex!important;
  min-height:290px;
  padding:26px!important;
  flex-direction:column;
  color:var(--text)!important;
  text-decoration:none;
}
.home-choice .choice-index{color:var(--champagne);font-size:.68rem;font-weight:720;letter-spacing:.11em}
.home-choice h3{margin:44px 0 12px;font-size:clamp(2.35rem,3.6vw,4.2rem)!important;line-height:.92!important}
.home-choice p{max-width:34ch;margin:0;font-size:.91rem;line-height:1.55}
.home-choice .choice-action{display:flex;justify-content:space-between;gap:18px;margin-top:auto;padding-top:28px;border-top:1px solid var(--line);color:var(--champagne-bright);font-size:.72rem;font-weight:720;letter-spacing:.07em;text-transform:uppercase}
.home-choice:hover .choice-action{color:var(--text)}
.home-zone-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:30px}
.home-zone-grid .zone{display:flex;min-height:215px;padding:24px!important;flex-direction:column;color:var(--text);text-decoration:none}
.home-zone-grid .zone h3{max-width:10ch;margin:28px 0 10px;font-size:clamp(2rem,2.8vw,3.35rem)!important;line-height:.94!important}
.home-zone-grid .zone p{max-width:30ch;margin:0;font-size:.86rem;line-height:1.5}
.home-zone-grid .zone .enter{margin-top:auto;padding-top:24px;font-size:.68rem;font-weight:720;letter-spacing:.07em;text-transform:uppercase}
#know .know{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:30px}
#know .know-item{padding:22px!important}
#know .know-item .k-num{margin:0 0 34px;color:var(--champagne);font-size:.68rem;font-weight:720;letter-spacing:.1em}
#know .know-item h3{margin:0 0 10px;font-size:clamp(1.8rem,2.5vw,2.75rem)!important;line-height:.95!important}
#know .know-item>p:last-child{margin:0;font-size:.84rem;line-height:1.55}
.home-fact-note{margin:16px 0 0;color:var(--muted);font-size:.78rem;line-height:1.55}
.home-fact-note a{color:var(--champagne-bright)}
#faq .faq-item{padding:0!important;border-right:0!important;border-left:0!important;border-radius:0!important;background:transparent!important}
#faq .faq-item summary{min-height:58px;padding:15px 2px!important;color:var(--text);font-family:var(--display);font-size:clamp(1.35rem,2vw,1.75rem)!important;font-weight:400!important;line-height:1.2}
#faq .faq-item .a{padding:0 2px 17px}
.srcs-sec>.source-disclosure{margin-top:22px}

/* Cards share one quiet material language. */
:where(.board,.zones,.guides-grid,.deep-grid,.stats,.know-grid,.method-grid,.accountability-grid,.archive-grid){gap:12px}
:where(.board-card,.zone,.zone-card,.guide-card,.vcard,.know-item,.stat,.faq-item,.method-step,.archive-card,.profile-fact){
  min-width:0;
  border:1px solid var(--line)!important;
  border-radius:var(--pad-radius)!important;
  background:var(--surface)!important;
  box-shadow:none!important;
  overflow:hidden;
}
:where(.board-card,.zone,.zone-card,.guide-card,.vcard,.know-item,.stat,.faq-item,.method-step,.archive-card,.profile-fact):hover{
  border-color:var(--line-strong)!important;
  transform:none!important;
}
:where(.board-card,.zone,.zone-card,.guide-card,.vcard,.know-item,.stat,.faq-item,.method-step,.archive-card,.profile-fact) h2,
:where(.board-card,.zone,.zone-card,.guide-card,.vcard,.know-item,.stat,.faq-item,.method-step,.archive-card,.profile-fact) h3{
  color:var(--text);
  font-family:var(--display)!important;
  font-weight:400!important;
  letter-spacing:-.02em!important;
  text-transform:none!important;
}
:where(.board-card,.zone,.zone-card,.guide-card,.vcard,.know-item,.stat,.faq-item,.method-step,.archive-card,.profile-fact) p{color:var(--muted)}
.board-card .dot,.meter-bars i.on{box-shadow:none!important}
.zone::after{color:rgba(216,189,130,.09)!important;font-family:var(--display)!important}
.zone .enter,.window,.t-tag{color:var(--champagne)!important;text-shadow:none!important}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:11px 20px;
  border:1px solid var(--champagne)!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--champagne-bright)!important;
  font-family:var(--sans)!important;
  font-size:.74rem!important;
  font-weight:740!important;
  letter-spacing:.07em!important;
  text-transform:uppercase;
}
.btn:hover{background:var(--champagne)!important;color:var(--ink)!important;box-shadow:none!important}
.timeline::before{background:var(--line-strong)!important}
.t-node::before{border-color:var(--champagne)!important;box-shadow:none!important}

/* Directory controls are the hero. The crawlable methodology is a disclosure. */
.venue-directory-page .crumbs,.venue-directory-page .zhero{display:none!important}
.venue-directory-page #dir{padding-top:clamp(24px,4vw,52px)!important}
.directory-tools{
  position:relative;
  margin:0 0 26px!important;
  padding:clamp(22px,4vw,42px)!important;
  border:1px solid var(--line-strong)!important;
  border-radius:0!important;
  background:linear-gradient(135deg,rgba(99,56,71,.22),rgba(18,18,16,.98) 48%)!important;
  box-shadow:var(--pad-shadow)!important;
  overflow:hidden;
}
.directory-tools::before{display:none}
.directory-tools-kicker{color:var(--champagne)!important;font-size:.69rem!important}
.directory-tools h2{margin:0 0 8px!important;font-family:var(--display)!important;font-size:clamp(3rem,7vw,6.2rem)!important;font-weight:400!important;line-height:.86!important;letter-spacing:-.035em!important;text-transform:none!important}
.directory-tools-intro{max-width:52ch!important;margin-bottom:22px!important;color:var(--muted)!important;font-size:1rem!important}
.directory-search-row input,.directory-search-row button,.directory-filter-grid select{border-radius:0!important}
.directory-search-row input{min-height:58px!important;background:#0d0d0c!important}
.directory-search-submit{border-color:var(--champagne)!important;background:var(--champagne)!important;color:var(--ink)!important}
.directory-clear{border-color:var(--line-strong)!important;color:var(--text)!important}
.directory-result-count{font-size:.9rem!important;font-weight:620!important}
.directory-zone-links{max-height:13rem;overflow:auto;scrollbar-color:var(--champagne) transparent}
.directory-zone-links a{border-radius:0!important}
.directory-guide-disclosure{
  margin:22px 0 0;
  border:1px solid var(--line);
  background:var(--surface);
}
.directory-guide-disclosure>summary{display:flex;align-items:center;min-height:50px;padding:12px 16px;cursor:pointer;color:var(--text);font-size:.8rem;font-weight:670}
.directory-guide-disclosure>.prose{max-width:78ch;padding:4px 16px 24px;color:var(--muted);font-size:.92rem}
.roster-group>h3>a,.cookiebar p a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
.roster-group>h3>a{padding:1px 3px;background:#0a0a09;color:#fff!important}
#dir .directory-roster-kicker{margin:24px 0 14px!important}
#dir .roster{grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:8px}
#dir .roster-group{padding-block:20px;content-visibility:auto;contain-intrinsic-size:700px}
#dir .roster-group h3{margin-bottom:10px;font-family:var(--sans);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
#dir .roster-item{
  display:grid;
  align-content:start;
  gap:5px;
  min-height:104px;
  padding:14px;
  border:1px solid var(--line)!important;
  border-radius:0!important;
  background:var(--surface)!important;
  box-shadow:none!important;
  content-visibility:auto;
  contain-intrinsic-size:104px;
}
#dir a.roster-item:hover{border-color:var(--champagne)!important;background:var(--surface-2)!important}
#dir .roster-item .rname{color:var(--text);font-family:var(--display);font-size:clamp(1.28rem,2vw,1.62rem);font-weight:400;line-height:.95;letter-spacing:-.015em;text-transform:none}
#dir .roster-item .rtag{color:var(--champagne);font-family:var(--sans);font-size:.76rem;font-weight:700;line-height:1.45;letter-spacing:.055em}
#dir .roster-item[data-directory-status="closed"]{border-color:rgba(185,177,165,.28)!important;background:#0e0e0d!important}
#dir .roster-item[data-directory-status="unverified"]{border-color:rgba(216,189,130,.28)!important}
#dir[data-directory-active="true"] .roster{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
#dir[data-directory-active="true"] .roster-item{min-height:128px}
.srcs .stamp,.roster-note{font-size:.78rem!important}

/* Venue pages lead with one practical decision panel. */
body:has(.venue-plan-ux) .crumbs,body:has(.venue-plan-ux) .zhero{display:none!important}
.venue-plan-ux{padding-top:clamp(22px,4vw,48px)!important;padding-bottom:18px!important}
.venue-plan-panel{
  padding:clamp(22px,4vw,42px)!important;
  border:1px solid var(--line-strong)!important;
  border-radius:0!important;
  background:linear-gradient(140deg,rgba(99,56,71,.2),rgba(18,18,16,.98) 42%)!important;
  box-shadow:var(--pad-shadow)!important;
}
.venue-plan-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.venue-plan-status{color:var(--champagne);font-size:.67rem;font-weight:720;letter-spacing:.08em;text-align:right;text-transform:uppercase}
.venue-plan-panel>.sec-title{max-width:13ch;margin:0;font-size:clamp(3.6rem,7vw,7rem);line-height:.83}
.venue-plan-summary{max-width:62ch;margin:14px 0 18px;color:var(--text);font-size:1rem;line-height:1.5}
.venue-plan-facts{border-color:var(--line)!important;border-radius:0!important;background:var(--line)!important}
.venue-plan-facts>div{background:#0d0d0c!important}
.venue-plan-facts dt,.venue-practical-list dt{color:var(--muted)!important;font-family:var(--sans);font-size:.64rem!important;font-weight:700;letter-spacing:.08em}
.venue-google-card,.venue-practical{border-color:var(--line)!important;border-left-color:var(--champagne)!important;border-radius:0!important;background:rgba(216,189,130,.045)!important}
.venue-google-card h3,.venue-practical-heading h3{font-family:var(--display)!important;font-size:clamp(2rem,3.4vw,3rem)!important;letter-spacing:-.02em!important;text-transform:none!important}
.venue-google-action,.venue-plan-action,.venue-quick-map{
  min-height:48px!important;
  border-color:var(--champagne)!important;
  border-radius:0!important;
  color:var(--champagne-bright)!important;
  font-family:var(--sans)!important;
  font-size:.72rem!important;
  font-weight:720!important;
}
.venue-plan-panel>.venue-google-kicker{margin:24px 0 9px;color:var(--champagne)!important;font-size:.65rem!important;letter-spacing:.08em!important}
.venue-google-action{display:flex!important;align-items:center;justify-content:space-between;width:100%;min-height:58px!important;padding:13px 16px!important;background:var(--champagne)!important;color:var(--ink)!important;text-decoration:none}
.venue-map-note{max-width:72ch;margin:10px 0 0;color:var(--muted);font-size:.76rem;line-height:1.5}
.venue-practical-disclosure{margin-top:18px;border:1px solid var(--line);background:var(--surface)}
.venue-practical-disclosure>summary{display:flex;align-items:center;min-height:50px;padding:12px 15px;cursor:pointer;color:var(--text);font-size:.78rem;font-weight:680}
.venue-practical-disclosure>.venue-practical{margin:0!important;border:0!important;border-top:1px solid var(--line)!important;background:transparent!important}
.venue-plan-actions{gap:8px!important;margin-top:18px!important}
.venue-plan-state{margin:12px 0 0!important;color:var(--muted)!important;font-size:.8rem!important;line-height:1.5!important}
.venue-plan-check{margin-top:10px!important}
.venue-plan-check p{color:var(--muted);font-size:.78rem;line-height:1.55}
.venue-plan-check a{text-decoration:underline;text-underline-offset:.2em}
.venue-plan-check,.source-disclosure,.evidence-disclosure,.policy-disclosure{
  border-color:var(--line)!important;
  border-radius:0!important;
  background:var(--surface)!important;
}
.vcheck-sec[data-review-boundary-v2]{display:none!important}

/* Founder identity is prominent only where it is relevant. */
.founder-feature{display:grid;grid-template-columns:minmax(280px,.88fr) minmax(0,1.12fr);gap:clamp(30px,6vw,82px);align-items:center}
.founder-photo{position:relative;margin:0}
.founder-photo::before{content:"";position:absolute;inset:12px -12px -12px 12px;z-index:-1;border:1px solid var(--line-strong);background:var(--wine);opacity:.46}
.founder-photo picture{display:block;width:100%}
.founder-photo img{width:100%;aspect-ratio:2/3;object-fit:cover;object-position:center 38%;border:0;border-radius:0;background:#141412;filter:saturate(.82) contrast(1.03)}
.founder-photo figcaption{margin-top:13px;color:var(--muted);font-size:.67rem;line-height:1.45;letter-spacing:.08em;text-transform:uppercase}
.founder-story .sec-title{margin:0 0 18px;font-size:clamp(3.4rem,7vw,7rem)}
.founder-story .sec-title .uv{color:var(--champagne)}
.founder-deck{margin:0 0 18px;color:var(--text);font-family:var(--display);font-size:clamp(1.5rem,2.4vw,2.15rem);font-weight:400;line-height:1.18}
.founder-story>p:not(.sec-kicker):not(.founder-deck):not(.founder-role-note){color:var(--muted)}
.founder-links,.footer-founder-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.founder-links a,.footer-founder-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border:0;border-bottom:1px solid var(--line-strong);border-radius:0;background:transparent;color:var(--text);font-size:.72rem;font-weight:650;text-decoration:none}
.founder-role-note,.footer-founder-boundary{color:var(--muted);font-size:.76rem;line-height:1.55}
body:has(.founder-feature) .site-footer .footer-founders{display:none}

/* Compact publisher footer; no network-wide link carousel. */
.site-footer{position:relative;margin-top:clamp(70px,9vw,120px);border-top:1px solid var(--line);background:#080807}
.footer-inner{padding:clamp(44px,6vw,72px) 0 28px}
.footer-founders{display:grid;grid-template-columns:132px minmax(0,1fr);gap:26px;align-items:center;margin:0 0 48px;padding-bottom:42px;border-bottom:1px solid var(--line)}
.footer-founder-photo{margin:0}
.footer-founder-photo img{width:132px;aspect-ratio:1;object-fit:cover;border:0;border-radius:0;filter:saturate(.78) contrast(1.04)}
.footer-founder-kicker{margin:0 0 4px;color:var(--champagne);font-size:.67rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.footer-founder-name{margin:0;color:var(--text);font-family:var(--display);font-size:clamp(2.8rem,5vw,4.7rem);font-weight:400;line-height:.9;letter-spacing:-.03em;text-transform:none}
.footer-founder-name span{color:var(--champagne)}
.footer-founder-intro{max-width:70ch;margin:12px 0 0;color:var(--muted);font-size:.9rem;line-height:1.55}
.footer-founder-links{margin-top:12px}
.footer-founder-boundary{margin:12px 0 0}
.footer-lead{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:clamp(24px,6vw,76px);align-items:end;padding-bottom:34px;border-bottom:1px solid var(--line)}
.footer-lead>p:last-child{margin:0;color:var(--muted);font-size:.9rem}
.footer-signoff{max-width:13ch;margin:0;color:var(--text);font-family:var(--display);font-size:clamp(3rem,6vw,6rem);font-weight:400;line-height:.86;letter-spacing:-.035em;text-transform:none}
.footer-signoff span{color:var(--champagne)}
.footer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;padding-block:34px}
.footer-grid section{padding:0}
.footer-grid h2{margin:0 0 12px;color:var(--champagne);font-family:var(--sans);font-size:.67rem;font-weight:720;letter-spacing:.11em;text-transform:uppercase}
.footer-grid ul{margin:0;padding:0;list-style:none}
.footer-grid li+li{margin-top:8px}
.footer-grid :where(a,span){color:var(--muted);font-size:.8rem;line-height:1.45;text-decoration:none}
.footer-grid a:hover{color:var(--text)}
.footer-floor{display:flex;justify-content:space-between;gap:18px;padding-top:22px;border-top:1px solid var(--line);color:#8f887e;font-size:.68rem;line-height:1.5}
.footer-floor p{margin:0}

/* Editorial and policy templates. */
.method-grid,.accountability-grid,.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.method-step,.archive-card,.profile-fact{padding:22px}
.method-step .step-no{color:var(--champagne);font-size:.7rem;letter-spacing:.1em}
.profile-page .profile-identity{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.55fr);gap:clamp(28px,6vw,74px);align-items:start}
.state-key{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.state-key span{padding:7px 10px;border:1px solid var(--line);border-radius:0;font-size:.7rem}
.source-disclosure summary,.evidence-disclosure summary,.policy-disclosure summary,.venue-plan-check summary{min-height:48px;padding:12px 15px;cursor:pointer;color:var(--text);font-size:.8rem;font-weight:650}
.srcs-sec{scroll-margin-top:88px}

@media(max-width:980px){
  .publication-mark{display:none}
  .home-gateway{grid-template-columns:minmax(0,1fr) minmax(300px,.75fr);gap:34px}
  .home-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .home-zone-grid,#know .know{grid-template-columns:repeat(2,minmax(0,1fr))}
  .method-grid,.accountability-grid,.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
  html{scroll-padding-top:72px}
  .wrap,.topbar-inner,.footer-inner,.route-tools-inner{width:min(calc(100% - 24px),var(--pad-max))}
  .topbar{min-height:62px;backdrop-filter:blur(14px)}
  .topbar-inner{gap:12px;min-height:62px}
  .brand{min-height:50px}
  .brand em{font-size:1.28rem}
  .topnav{justify-content:flex-start;margin-right:-12px;padding-right:12px;mask-image:linear-gradient(90deg,#000 0%,#000 90%,transparent 100%)}
  .topnav a{min-height:48px;padding-inline:10px;font-size:.75rem}
  .topnav a[href="/authors/"]{border-left:0}
  section{padding-block:clamp(44px,12vw,68px)}
  .home-gateway{display:flex;min-height:0;padding-block:22px 46px;flex-direction:column;gap:22px;align-items:stretch}
  .home-gateway-portrait{order:-1;min-height:158px;height:23svh;max-height:210px}
  .home-gateway-portrait img{min-height:0;height:100%;object-position:center 36%}
  .home-gateway-caption{right:14px;bottom:11px;left:14px;font-size:.58rem}
  .home-gateway .kicker{margin-bottom:12px;font-size:.64rem}
  .home-gateway h1{font-size:clamp(3.8rem,18vw,5.7rem);line-height:.78}
  .home-gateway .hero-strap{margin-top:16px;font-size:.94rem;line-height:1.48}
  .home-venue-search{margin-top:20px}
  .home-venue-search-row{grid-template-columns:1fr auto}
  .home-venue-search input,.home-venue-search button{min-height:54px}
  .home-venue-search button{padding-inline:16px}
  .home-venue-search-links{gap:3px 16px;margin-top:8px}
  .home-choice-grid,.home-zone-grid,#know .know{grid-template-columns:1fr}
  .home-choice{min-height:230px;padding:22px!important}
  .home-choice h3{margin-top:34px}
  .home-zone-grid .zone{min-height:176px;padding:20px!important}
  .home-zone-grid .zone h3{margin-top:22px}
  .venue-google-card,.venue-practical{grid-template-columns:1fr!important}
  .venue-plan-head{align-items:center;flex-direction:row}
  .venue-plan-panel>.sec-title{font-size:clamp(3.6rem,17vw,5.2rem)}
  .venue-plan-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .venue-plan-facts>div:first-child{grid-column:1/-1}
  .founder-feature,.footer-lead,.profile-page .profile-identity{grid-template-columns:1fr}
  .founder-photo{width:min(100%,520px)}
  .footer-founders{grid-template-columns:96px minmax(0,1fr);gap:18px}
  .footer-founder-photo img{width:96px}
  .footer-founder-links{display:none}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-floor{display:block}
  .footer-floor p+p{margin-top:8px}
}

@media(max-width:520px){
  .home-venue-search-row{grid-template-columns:1fr}
  .home-venue-search button{width:100%}
  .home-venue-search-links span{display:none}
  .home-venue-search-links a{min-height:38px}
  .directory-tools{padding:20px 16px!important}
  .directory-tools h2{font-size:clamp(3rem,15vw,4.4rem)!important}
  #dir .roster{grid-template-columns:repeat(2,minmax(0,1fr))}
  #dir .roster-item{min-height:132px;padding:12px}
  #dir .roster-item .rname{font-size:1.25rem}
  .venue-plan-panel{padding:20px 16px!important}
  .venue-plan-panel>.sec-title{font-size:clamp(3rem,15vw,4.6rem)}
  .venue-practical-list{grid-template-columns:1fr!important}
  .venue-plan-actions,.method-grid,.accountability-grid,.archive-grid,.footer-grid{grid-template-columns:1fr!important}
  .founder-feature{gap:28px}
  .footer-founders{grid-template-columns:78px minmax(0,1fr);align-items:start}
  .footer-founder-photo img{width:78px}
  .footer-founder-name{font-size:2.6rem}
  .footer-founder-boundary{display:none}
}

@media(max-width:350px){
  .wrap,.topbar-inner,.footer-inner,.route-tools-inner{width:min(calc(100% - 18px),var(--pad-max))}
  .brand{font-size:.58rem}
  .brand em{font-size:1.12rem}
  .topnav a{padding-inline:8px;font-size:.7rem}
  #dir .roster{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

@media(forced-colors:active){
  .topbar,.site-footer,.directory-tools,.venue-plan-panel,.founder-feature{forced-color-adjust:auto}
}
