/*
Theme Name: The Best of Local
Theme URI: https://thebestoflocal.co
Author: Best Of Media LLC
Author URI: https://thebestoflocal.co
Description: Custom lightweight theme for The Best of Local, an independent editorial guide to standout local businesses, featuring original video interviews. Built for speed, AI legibility, and the aubergine/persimmon/ecru brand system.
Version: 1.0.0
License: Proprietary
Text Domain: thebestoflocal
*/


:root{
  --aubergine:#3D2142;
  --aubergine-deep:#2A1730;
  --aubergine-soft:#5C4964;
  --persimmon:#FF5C38;
  --ecru:#F6F2EA;
  --card:#FFFDF9;
  --line:#E5DDD0;
  --pistachio:#BFD8A6;
  --pistachio-ink:#25401A;
  --butter:#F2CE5E;
  --butter-ink:#4A3805;
  --peach:#F5B8A0;
  --peach-ink:#5C2410;
  --lavender:#EBE0F0;
  --serif:'Bodoni Moda',Didot,Georgia,serif;
  --display:'Inter Tight','Helvetica Neue',Arial,sans-serif;
  --sans:'Instrument Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--ecru);}
p{text-wrap:pretty;}
body{color:var(--aubergine-deep);font-family:var(--sans);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px;}
.narrow{max-width:720px;margin:0 auto;}

header{border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(246,242,234,0.78);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);z-index:10;}
@supports not (backdrop-filter:blur(1px)){header{background:var(--ecru);}}
nav{display:flex;align-items:center;justify-content:space-between;padding:18px 0;}
.wordmark{font-family:var(--serif);font-size:25px;font-weight:600;letter-spacing:0.01em;color:var(--aubergine);text-decoration:none;}
.wordmark span{color:var(--persimmon);}
.logo-img{height:30px;width:auto;display:block;}
footer .logo-img{height:26px;margin:0 auto;}
.navlinks{display:flex;gap:26px;align-items:center;font-size:14px;}
.navlinks a{color:var(--aubergine);text-decoration:none;font-weight:500;}
.navlinks a.btn-hot{color:#FFFFFF;}
.btn{display:inline-block;padding:13px 26px;border-radius:999px;font-size:15px;font-weight:600;text-decoration:none;transition:transform .15s ease,opacity .15s ease;}
.btn:hover{transform:translateY(-1px);opacity:.92;}
.btn:active{transform:scale(.97);transition-duration:.08s;}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--persimmon);outline-offset:3px;border-radius:4px;}
.btn-hot{background:var(--persimmon);color:#FFF6EF;}
.btn-ink{background:var(--aubergine);color:var(--ecru);}
.btn-line{border:2px solid var(--aubergine);color:var(--aubergine);}
.nav-cta{padding:9px 18px;font-size:13px;}

.hero{text-align:center;padding:88px 0 40px;}
.kicker{display:inline-block;color:var(--aubergine-soft);font-size:12px;letter-spacing:.18em;font-weight:600;margin-bottom:26px;}
h1{text-wrap:balance;font-family:var(--display);font-size:clamp(36px,5.2vw,58px);line-height:1;font-weight:500;letter-spacing:-0.035em;max-width:860px;margin:0 auto;}
h1 em{color:inherit;font-family:inherit;font-style:normal;font-weight:inherit;font-size:1em;letter-spacing:inherit;}
.hero p{max-width:620px;margin:24px auto 0;color:var(--aubergine-soft);font-size:19px;text-wrap:balance;}
.hero-ctas{display:flex;gap:14px;justify-content:center;margin-top:34px;flex-wrap:wrap;}
.chips{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:36px 0 0;}
.chip{font-size:14px;font-weight:600;padding:9px 20px;border-radius:999px;}
.chip-p{background:var(--pistachio);color:var(--pistachio-ink);}
.chip-b{background:var(--butter);color:var(--butter-ink);}
.chip-o{background:var(--peach);color:var(--peach-ink);}
.chip-l{background:var(--lavender);color:var(--aubergine);}

.entity{text-align:center;padding:34px 0 8px;}
.entity p{font-size:14px;color:var(--aubergine-soft);max-width:640px;margin:0 auto;border-top:1px solid var(--line);padding-top:26px;}

section{padding:76px 0;}
h2{text-wrap:balance;font-family:var(--display);font-size:clamp(28px,3.8vw,40px);line-height:1.06;font-weight:500;letter-spacing:-0.025em;margin-bottom:20px;}
h2 em{color:inherit;font-family:inherit;font-style:normal;font-weight:inherit;font-size:1em;letter-spacing:inherit;}
.center{text-align:center;}
.lede{color:var(--aubergine-soft);font-size:18px;}

.trust-lines{margin:40px 0 0;}
.trust-lines p{font-family:var(--display);font-weight:600;font-size:clamp(19px,2.4vw,25px);line-height:1.9;color:var(--aubergine-deep);}
.trust-lines em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--persimmon);font-size:1.06em;}
.sig{font-weight:600;color:var(--aubergine);letter-spacing:.02em;}

.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:44px;text-align:left;}
.pillar{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:26px;}
.pillar .q{font-family:var(--serif);font-style:italic;font-size:20px;font-weight:400;color:var(--aubergine);margin-bottom:10px;}
.pillar p{font-size:15px;color:var(--aubergine-soft);}

.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:44px;}
.cat{background:#FFFFFF;border:1px solid var(--line);border-radius:14px;overflow:hidden;text-align:left;}
.cat .bar{display:none;}
.cat .inner{padding:24px 26px;}
.cat h3{font-family:var(--serif);font-size:21px;font-weight:500;margin-bottom:8px;color:var(--persimmon);}
.cat p{font-size:15px;color:var(--aubergine-soft);}
.cat p+p{margin-top:8px;}

.hoods{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:44px;}
.hood{border-radius:14px;padding:30px 26px;text-align:left;}
.hood .zip{font-size:12px;font-weight:600;letter-spacing:.1em;opacity:.75;}
.hood h3{font-family:var(--serif);font-size:22px;font-weight:500;margin-top:6px;}
.hood{background:var(--card);border:1px solid var(--line);color:var(--aubergine-deep);}
.hood-1 .zip{color:var(--pistachio-ink);}
.hood-2 .zip{color:var(--butter-ink);}
.hood-3 .zip{color:var(--peach-ink);}

.select{background:#FFFFFF;border:1px solid var(--line);border-radius:24px;padding:56px 48px;text-align:center;}
.select p{color:var(--aubergine-soft);max-width:640px;font-size:17px;margin:0 auto 6px;}
.select .always{font-family:var(--serif);font-size:23px;color:var(--persimmon);font-style:italic;margin:26px 0 6px;}
.checks{max-width:560px;margin:30px auto 0;text-align:left;}
.checks div{display:flex;gap:14px;align-items:baseline;padding:13px 4px;border-bottom:1px solid var(--line);font-size:16px;color:var(--aubergine-soft);}
.checks div:last-child{border-bottom:none;}
.checks div::before{content:"\2713";color:var(--persimmon);font-weight:700;}
.checks strong{color:var(--aubergine-deep);font-weight:600;}

.pub{display:flex;gap:28px;align-items:center;max-width:760px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:34px 38px;}
.pub .photo{width:128px;height:128px;border-radius:50%;object-fit:cover;object-position:top;flex-shrink:0;}
.pub p{font-size:16px;color:var(--aubergine-soft);}

#signup h1,#signup h2,#signup h3,#signup h4,
#signup [class*="__title"],#signup [class*="__subtitle"],#signup [class*="preamble"]{display:none!important;}
#signup [class*="__root"],#signup [class*="__container"],#signup [class*="__card"],#signup [class*="__content"]{background:transparent!important;box-shadow:none!important;border:none!important;padding:0!important;margin:0!important;}
#signup form{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;background:transparent!important;padding:0!important;}
#signup form>*{margin:0!important;flex:1 1 auto;}
#signup form button,#signup form [class*="button"]{flex:0 0 auto!important;width:auto!important;}
#signup input{min-width:240px;width:100%;}

.partner h2{max-width:700px;margin-left:auto;margin-right:auto;}
.partner .tagline{font-family:var(--serif);font-size:22px;font-style:italic;color:var(--aubergine-soft);margin:6px 0 22px;}
.deliv{max-width:620px;margin:38px auto;text-align:left;counter-reset:item;}
.deliv div{display:flex;gap:18px;align-items:baseline;padding:14px 4px;border-bottom:1px solid var(--line);font-size:16px;font-weight:500;color:var(--aubergine-deep);}
.deliv div::before{counter-increment:item;content:counter(item,decimal-leading-zero);font-family:var(--serif);font-style:italic;font-size:20px;color:var(--persimmon);min-width:36px;}
.avail{font-size:14px;color:var(--aubergine-soft);margin:8px 0 26px;}

.faq{max-width:760px;margin:0 auto;}
.faq details{border-bottom:1px solid var(--line);padding:22px 0;}
.faq summary{font-family:var(--sans);font-size:18px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.faq summary::after{content:"+";color:var(--persimmon);font-size:26px;font-family:var(--sans);}
.faq details[open] summary::after{content:"–";}
.faq details p{margin-top:14px;color:var(--aubergine-soft);font-size:16px;}

footer{background:var(--aubergine-deep);padding:64px 0 48px;text-align:center;}
footer .wordmark{font-size:28px;color:var(--ecru);}
footer .tag{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--ecru);margin:10px 0 4px;}
footer .hoods-line{font-size:13px;color:var(--ecru);margin:14px 0;}
footer .foot-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;margin:20px 0 4px;}
footer .foot-nav a{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--ecru);text-decoration:none;}
footer .foot-nav a:hover{color:var(--persimmon);}
footer .legal{font-size:12px;color:rgba(246,242,234,.78);margin-top:18px;}

@media(max-width:700px){
  .hero{padding-top:56px;}
  .select{padding:48px 26px;}
  .pub{flex-direction:column;text-align:center;}
  .capture{padding:44px 24px;}
}

.cat{transition:transform .18s ease,border-color .18s ease;}
.cat:hover{transform:translateY(-3px);border-color:#CDBFAE;}
.rv{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;}
.rv.in{opacity:1;transform:none;}
.faq details[open] p{animation:faqIn .22s ease-out;}
@keyframes faqIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .rv{opacity:1;transform:none;transition:none;}
  .faq details[open] p{animation:none;}
  .btn,.cat{transition:none;}
  .btn:hover,.cat:hover{transform:none;}
}
@media (prefers-reduced-transparency: reduce){
  header{background:var(--ecru);-webkit-backdrop-filter:none;backdrop-filter:none;}
}


/* About page */
.about-photo{width:100%;max-width:340px;border-radius:16px;display:block;}
.bio{display:flex;gap:44px;align-items:flex-start;max-width:900px;margin:0 auto;flex-wrap:wrap;}
.bio>div{flex:1 1 420px;}

/* Profile template */
.profile-hero{padding:64px 0 28px;text-align:center;}
.evidence{max-width:640px;margin:34px auto;text-align:left;background:#FFFFFF;border:1px solid var(--line);border-radius:14px;padding:26px 30px;}
.evidence div{display:flex;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px;}
.evidence div:last-child{border-bottom:none;}
.evidence strong{min-width:150px;color:var(--aubergine);}
.profile-video{max-width:760px;margin:30px auto;}
.profile-video iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:14px;}
.transcript{max-width:720px;margin:26px auto;}
.profile-note{font-size:13px;color:var(--aubergine-soft);text-align:center;margin:40px auto 0;}

@media(max-width:640px){h1 br{display:none;}}

/* Mobile navigation */
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:10px;margin-left:auto;}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--aubergine);border-radius:2px;transition:transform .25s ease,opacity .25s ease;}
.nav-toggle span+span{margin-top:6px;}
.nav-toggle.open span:first-child{transform:translateY(4px) rotate(45deg);}
.nav-toggle.open span:last-child{transform:translateY(-4px) rotate(-45deg);}
@media(max-width:820px){
  nav{position:relative;}
  .nav-toggle{display:block;}
  .navlinks{display:none;}
  .navlinks.open{display:flex;flex-direction:column;align-items:flex-start;gap:4px;position:absolute;top:calc(100% + 12px);left:-24px;right:-24px;background:rgba(246,242,234,0.97);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:10px 24px 22px;font-size:17px;}
  .navlinks.open a{padding:12px 0;width:100%;}
  .navlinks.open .nav-cta{width:auto;margin-top:10px;padding:12px 24px;font-size:15px;text-align:center;}
}
@media (prefers-reduced-motion: reduce){.nav-toggle span{transition:none;}}

/* Header social icons */
.nav-social{display:flex;align-items:center;gap:14px;margin-left:2px;}
.nav-social a{display:flex;align-items:center;color:var(--aubergine);transition:color .15s ease,transform .15s ease;}
.nav-social a:hover{color:var(--persimmon);transform:translateY(-1px);}
@media(max-width:820px){
  .navlinks.open .nav-social{width:100%;gap:22px;padding:14px 0 4px;margin-left:0;}
  .navlinks.open .nav-social a{width:auto;padding:0;}
}

/* Latest interview feature (homepage) */
.int-feature{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);background:#FFFFFF;border:1px solid var(--line);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:14px 14px 0 var(--pistachio);margin:0 14px 14px 0;transition:transform .18s ease;}
.int-feature:hover{transform:translateY(-2px);}
.int-media{position:relative;min-height:320px;background:var(--aubergine-deep);}
.int-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.int-play{position:absolute;left:50%;top:50%;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:50%;background:var(--persimmon);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(42,23,48,.35);}
.int-play svg{margin-left:4px;}
.int-runtime{position:absolute;right:14px;bottom:12px;background:rgba(42,23,48,.78);color:var(--ecru);font-size:11px;letter-spacing:.14em;font-weight:600;padding:6px 10px;border-radius:999px;}
.int-body{padding:36px 38px;display:flex;flex-direction:column;justify-content:center;text-align:left;}
.int-meta{font-size:12px;letter-spacing:.16em;font-weight:600;color:var(--aubergine-soft);margin-bottom:14px;}
.int-body h2{font-size:clamp(24px,2.6vw,32px);margin-bottom:12px;}
.int-body h2 .dot{color:var(--persimmon);}
.int-body p{font-size:16px;line-height:1.65;color:var(--aubergine-soft);}
.int-cta{display:inline-block;margin-top:18px;color:var(--persimmon);font-weight:600;font-size:15px;}
@media(max-width:820px){.int-feature{grid-template-columns:1fr;box-shadow:8px 8px 0 var(--pistachio);margin:0 8px 8px 0;}.int-media{min-height:0;aspect-ratio:16/9;}.int-body{padding:24px 24px 28px;}}
