/* Berthoud WiFi v18 design system: editorial, local, and conversion-focused. */
:root{
  --ink:#16233B;
  --body-text:#5B6472;
  --accent-blue:#1958C4;
  --accent-clay:#BC5B2E;
  --accent-clay-soft:#FDF3ED;
  --bg-white:#FFFFFF;
  --bg-tint:#F4F6F9;
  --border:#E7E9EE;
  --photo-placeholder:#E1E6EC;
  --text:var(--ink);
  --muted:var(--body-text);
  --accent:var(--accent-blue);
  --accent-2:var(--accent-blue);
  --line:var(--border);
  --panel:#fff;
  --panel-2:#fff;
  --radius:10px;
  --shadow:none;
}
html{background:var(--bg-white)}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg-white);color:var(--ink);font-weight:400}
p,li,.lead,.prose p,.prose li,.article-content p,.article-content li,.authority-content p,.authority-content li{color:var(--body-text)}
h1,h2{font-family:Fraunces,Georgia,serif;font-weight:700;color:var(--ink);letter-spacing:-.025em}
h3,h4,h5,h6,.card h3,.home-service-card h3,.project-photo-card h3,.resource-card h3{font-family:Inter,ui-sans-serif,sans-serif;font-weight:500;color:var(--ink);letter-spacing:-.01em}
a{transition:color .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}
.eyebrow{font-family:Inter,sans-serif;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--accent-blue);text-transform:uppercase}
.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--border);box-shadow:0 2px 12px rgba(22,35,59,.04)}
.site-header .brand,.site-header .nav-links a,.nav-dropdown-toggle{color:var(--ink)}
.site-header .brand{font-weight:600}
.site-header .brand img{border-radius:50%;box-shadow:none}
.site-header .nav-links a:hover,.nav-dropdown-toggle:hover,.nav-dropdown a:hover{color:var(--accent-blue)!important}
.site-header .nav-links{gap:12px}
.nav-phone{gap:7px;color:var(--ink)!important;font-weight:600!important}
.nav-phone span{color:var(--accent-blue);font-size:.95rem}
.nav-dropdown{border:1px solid var(--border);border-radius:10px;box-shadow:0 14px 35px rgba(22,35,59,.10)}
.nav-dropdown a:hover{background:var(--bg-tint)}
.btn{border-radius:7px;font-family:Inter,sans-serif;font-weight:500;text-transform:none;box-shadow:none;padding:11px 17px}
.btn-primary,.site-header .nav-links .btn-primary,.site-header .nav-links .btn-primary:visited{background:var(--accent-clay)!important;color:#fff!important;border-color:var(--accent-clay)!important;box-shadow:none!important}
.btn-primary:hover,.site-header .nav-links .btn-primary:hover{background:#A94F28!important;transform:translateY(-1px);filter:none}
.btn-secondary{background:#fff;color:var(--ink);border:1px solid #C7CDD6}
.btn-secondary:hover{border-color:var(--ink);background:var(--bg-tint)}
.link-arrow{color:var(--accent-clay)!important;font-weight:500}
.link-arrow:hover{color:#934521!important}
.section{background:var(--bg-white)}
.section-dark{background:var(--bg-tint);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.card,.sidebar-card,.quote-card,.home-service-card,.project-photo-card,.resource-card,.featured-post,.editorial-card,.process-step,.fact,.toc-card{background:#fff!important;border:1px solid var(--border)!important;border-radius:10px!important;box-shadow:none!important}
.card:hover,.home-service-card:hover,.project-photo-card:hover,.resource-card:hover,.editorial-card:hover{box-shadow:0 10px 24px rgba(22,35,59,.07)!important;transform:translateY(-1px)}
.home-service-card,.project-photo-card,.news-card,.featured-post,.editorial-card{overflow:hidden}
.home-service-card h3,.project-photo-card h3{font-weight:500}
.photo-frame,.service-image,.local-section img,.local-photo,.article-hero-image,.authority-hero img,.inner-hero-photo{border-radius:10px!important;border:1px solid var(--border)!important;box-shadow:none!important;background:var(--photo-placeholder)}
.photo-frame img,.home-service-card img,.project-photo-card img,.news-card img,.featured-post img,.editorial-card img{background:var(--photo-placeholder)}
img{height:auto}
.photo-frame img,.home-service-card img,.project-photo-card img,.local-section img,.authority-hero img,.news-card img,.editorial-card img,.featured-post img{object-fit:cover}
.checklist li:before,.sidebar-card li::before{color:var(--accent-blue)!important;background:transparent}
.city-list a{border-radius:7px;background:#fff;border:1px solid var(--border);color:var(--body-text);font-weight:500}
.city-list a:hover{color:var(--accent-blue);border-color:rgba(25,88,196,.35)}
.faq details{background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:none}
.faq summary{font-weight:500;color:var(--ink)}
.cta,.content-cta{background:var(--bg-tint);border:1px solid var(--border);border-radius:10px;color:var(--ink);box-shadow:none}
.home-hero::before{background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.93) 42%,rgba(255,255,255,.52) 72%,rgba(255,255,255,.18) 100%),url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1800&q=82") center/cover no-repeat}
.home-hero h1{font-family:Fraunces,Georgia,serif;font-weight:700;color:var(--ink)}
.home-hero .lead{color:var(--body-text)}
.home-proof div{background:rgba(255,255,255,.94);border:1px solid var(--border);border-radius:8px;box-shadow:none;backdrop-filter:blur(5px)}
.home-proof strong{color:var(--ink);font-weight:600}
.home-proof span{color:var(--body-text)}
.icon,.icon-png{background:rgba(25,88,196,.08);color:var(--accent-blue)}
.post-meta{color:var(--accent-blue)}
.note{border-left-color:var(--accent-blue);background:rgba(25,88,196,.06)}
.local-copy{background:var(--bg-tint);border:1px solid var(--border)}
.form-field input,.form-field select,.form-field textarea{background:#fff!important;color:var(--ink)!important;border:1px solid var(--border)!important;border-radius:7px}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid rgba(25,88,196,.22);border-color:var(--accent-blue)!important}
.check-grid label:hover{border-color:rgba(25,88,196,.35)!important;background:rgba(25,88,196,.04)!important;color:var(--ink)!important}
.direct-contact{margin-top:28px;padding:22px;background:var(--bg-tint);border:1px solid var(--border);border-radius:10px}
.direct-contact h2{font-size:1.55rem;margin-bottom:12px}
.direct-contact p{margin:7px 0}
.direct-contact a{color:var(--accent-blue);font-weight:500;text-decoration:none}
.site-footer{margin-top:0;padding:48px 0 28px;background:var(--ink);color:#A9B4C4}
.site-footer .brand,.site-footer strong,.site-footer a{color:#fff}
.site-footer p{color:#A9B4C4}
.site-footer .brand img{background:#fff;border-radius:50%}
.footer-contact{display:grid;gap:8px;margin-top:17px}
.footer-contact>a{display:inline-flex;align-items:center;gap:8px;width:max-content;text-decoration:none}
.footer-contact>a span{color:var(--accent-blue)}
.footer-social{display:flex;gap:14px;margin-top:3px}
.footer-social a{color:#DCE3EC;text-decoration:none}
.footer-social a:hover{color:#fff}
@media(max-width:1080px){.nav-phone{order:20}.site-header .nav-links .btn{order:21}}
@media(max-width:700px){.home-hero h1{font-size:clamp(2.45rem,12vw,3.6rem)}.site-footer{padding-top:38px}}
/* v18 unified controls and Turnstile */
:root{--button-radius:5px}
.btn,button.btn,input[type="submit"].btn,input[type="button"].btn{
  border-radius:var(--button-radius)!important;
  min-height:44px;
  padding:12px 18px;
  line-height:1.1;
  white-space:nowrap;
  flex:0 0 auto;
  width:auto;
  max-width:max-content;
}
.site-header .nav-links .btn{min-height:38px;padding:10px 15px}
.menu-btn{border-radius:var(--button-radius)!important}
.hero-actions{align-items:center}
.hero-actions .btn{min-width:0}
.cta>div{min-width:0}
.cta>.btn,.content-cta>.btn{min-width:132px;align-self:center}
.form-actions .btn{min-width:150px}
.btn:disabled{cursor:not-allowed;opacity:.58;transform:none!important}
.turnstile-field{gap:8px;margin-top:2px}
.turnstile-field[hidden]{display:none!important}
.turnstile-widget{min-height:65px;max-width:100%;color:var(--body-text);font-size:.92rem;line-height:1.55}
.turnstile-field.is-error{padding:14px;border:1px solid #D7A691;border-radius:7px;background:var(--accent-clay-soft)}
.turnstile-note{margin:0;color:var(--body-text);font-size:.78rem}
@media(max-width:700px){
  .cta>.btn,.content-cta>.btn{width:100%;max-width:280px;align-self:flex-start}
  .form-actions .btn{width:100%;max-width:none}
}
