/* Noblestone Capital — site styles
   Brand: navy #0D1B2A, gold #B88D3C / #D4A440, cream #F5F5F5, slate #6B6B6B
   Type: Cinzel (headings), Montserrat (body) */
:root{
  --navy:#0D1B2A; --navy-2:#16283c; --gold:#B88D3C; --gold-hi:#D4A440; --gold-text:#8a6828;
  --bg:#ffffff; --bg-alt:#F5F5F5; --fg:#0D1B2A; --muted:#5d6470; --line:#e2e0da; --card:#ffffff;
  --on-navy:#F5F5F5; --on-navy-muted:#b9c2cd; --error:#b3261e;
  --display:"Cinzel","Times New Roman",Georgia,serif;
  --body:"Montserrat","Helvetica Neue",Arial,sans-serif;
  --radius:6px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.6;margin:0}
img{max-width:100%}
[hidden]{display:none!important}
.wrap{max-width:1140px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.narrow{max-width:760px}
h1,h2,h3{font-family:var(--display);line-height:1.15;text-wrap:balance;margin:0;font-weight:600}
h2{font-size:clamp(1.7rem,3.2vw,2.4rem)}
p{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--gold-hi);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-text)}
.eyebrow.on-navy{color:var(--gold-hi)}
.band{padding-block:clamp(56px,8vw,96px)}
.band.alt{background:var(--bg-alt)}
.sec-head{display:grid;gap:12px;max-width:680px;margin-bottom:40px}
.sec-head p{color:var(--muted)}
.note{font-size:.78rem;color:var(--muted);margin-top:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 1rem var(--body);padding:15px 26px;border-radius:var(--radius);border:0;cursor:pointer;text-decoration:none;background:var(--gold);color:#0D1B2A;transition:background .15s}
.btn:hover{background:var(--gold-hi)}
.btn[disabled]{opacity:.7;cursor:wait}
.btn.ghost{background:transparent;color:var(--on-navy);border:1px solid rgba(245,245,245,.4)}
.btn.ghost:hover{border-color:var(--gold-hi);color:var(--gold-hi)}
.btn.outline{background:transparent;color:var(--fg);border:1px solid var(--line)}
.btn.outline:hover{border-color:var(--gold)}

/* Header */
header.top{position:sticky;top:0;z-index:20;background:var(--navy);color:var(--on-navy);border-bottom:1px solid rgba(212,164,64,.25)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand-name{font-family:var(--display);font-weight:700;letter-spacing:.08em;font-size:1.05rem;line-height:1.1;color:var(--on-navy)}
.brand-name small{display:block;font-family:var(--body);font-weight:500;font-size:.62rem;letter-spacing:.3em;color:var(--gold-hi)}
.top nav{display:flex;gap:24px;font-size:.9rem;font-weight:500}
.top nav a{text-decoration:none;color:var(--on-navy-muted)}
.top nav a:hover{color:var(--on-navy)}
.top-call{display:flex;align-items:center;gap:14px}
.phone{font-weight:600;color:var(--on-navy);text-decoration:none;white-space:nowrap}
.top .btn{padding:10px 18px;font-size:.9rem}
@media (max-width:960px){.top nav{display:none}}
@media (max-width:520px){.top .btn{display:none}}

/* Hero */
.hero{background:radial-gradient(1200px 500px at 85% -10%,rgba(184,141,60,.18),transparent 60%),var(--navy);color:var(--on-navy)}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding-block:clamp(48px,7vw,88px)}
.hero h1{font-size:clamp(2.1rem,4.6vw,3.5rem)}
.hero h1 em{font-style:normal;color:var(--gold-hi)}
.hero-copy{display:grid;gap:22px;min-width:0}
.hero-copy .lede{font-size:1.12rem;color:var(--on-navy-muted);max-width:34em}
.checks{list-style:none;padding:0;margin:4px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;font-weight:500}
.checks li{display:flex;gap:10px;align-items:flex-start}
.checks svg{flex:none;margin-top:4px}
.slogan{font-family:var(--display);letter-spacing:.06em;color:var(--gold-hi);font-size:.95rem}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr;gap:36px}}
@media (max-width:440px){.checks{grid-template-columns:1fr}}

/* Lead form */
.lead{background:var(--card);color:var(--fg);border-radius:10px;padding:30px;box-shadow:0 24px 60px rgba(0,0,0,.35);border-top:4px solid var(--gold);min-width:0;scroll-margin-top:90px}
.lead h2{font-size:1.45rem}
.lead > p{color:var(--muted);font-size:.92rem;margin-top:6px}
.lead form{display:grid;gap:14px;margin-top:20px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:440px){.row2{grid-template-columns:1fr}.lead{padding:22px}}
label.f{display:grid;gap:5px;font-size:.8rem;font-weight:600}
input[type=text],input[type=tel],input[type=email],select{font:inherit;font-size:1rem;padding:12px 13px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--fg);width:100%}
input:focus,select:focus{border-color:var(--gold);outline:2px solid rgba(184,141,60,.35);outline-offset:0}
input[aria-invalid=true]{border-color:var(--error)}
.consent{display:flex;gap:10px;font-size:.72rem;line-height:1.45;color:var(--muted)}
.consent input{margin-top:3px;flex:none;accent-color:var(--gold)}
.consent a{color:var(--gold-text)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form-error{color:var(--error);font-size:.85rem;font-weight:600}
.lead .btn{width:100%;font-size:1.05rem}
.secure{font-size:.75rem;color:var(--muted);text-align:center}

/* Trust strip */
.strip{background:var(--navy-2);color:var(--on-navy)}
.strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-block:26px}
.stat{display:grid;gap:2px;text-align:center}
.stat b{font-family:var(--display);font-size:1.6rem;color:var(--gold-hi);font-weight:600}
.stat span{font-size:.82rem;color:var(--on-navy-muted)}
@media (max-width:700px){.strip .wrap{grid-template-columns:repeat(2,1fr)}}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.step{display:grid;gap:10px;align-content:start;padding-top:22px;border-top:2px solid var(--gold)}
.step .n{font-family:var(--display);font-size:2.4rem;color:var(--gold-text);line-height:1}
.step h3{font-size:1.25rem}
.step p{color:var(--muted)}
@media (max-width:800px){.steps{grid-template-columns:1fr}}

/* Comparison */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--card)}
table{width:100%;border-collapse:collapse;min-width:620px;font-size:.95rem}
th,td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
tr:last-child td{border-bottom:0}
thead th{font-family:var(--display);font-size:1.05rem;font-weight:600}
thead th.us{background:var(--navy);color:var(--gold-hi)}
td.us{background:rgba(184,141,60,.09);font-weight:600}
td:first-child{font-weight:600;width:28%}
td.them{color:var(--muted)}

/* Situations */
.sits{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sit{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:grid;gap:8px;align-content:start}
.sit h3{font-family:var(--body);font-size:1rem;font-weight:700}
.sit p{font-size:.88rem;color:var(--muted)}
@media (max-width:960px){.sits{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.sits{grid-template-columns:1fr}}

/* Markets */
.markets{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.mkt{border:1px solid var(--line);border-radius:10px;padding:28px;background:var(--card);display:grid;gap:14px}
.mkt h3{font-size:1.5rem}
.cities{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.cities li{font-size:.85rem;padding:6px 12px;border-radius:999px;background:var(--bg-alt);border:1px solid var(--line)}
.mkt a{font-weight:600;color:var(--gold-text);text-decoration:none;font-size:.92rem}
@media (max-width:760px){.markets{grid-template-columns:1fr}}

/* State page local section */
.local{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}
.local-copy{display:grid;gap:16px;min-width:0}
.local-copy > p{color:var(--muted);max-width:62ch}
.cities-h{font-family:var(--body);font-size:.95rem;font-weight:700;margin-top:8px}
.local-points{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.local-points li{display:grid;gap:4px;padding:18px 20px;border-left:3px solid var(--gold);background:var(--bg-alt);border-radius:0 var(--radius) var(--radius) 0}
.local-points span{color:var(--muted);font-size:.92rem}
@media (max-width:860px){.local{grid-template-columns:1fr;gap:32px}}

/* Promise */
.promise{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.promise-q{display:grid;gap:14px}
.promise blockquote{margin:0;font-family:var(--display);font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.35;border-left:3px solid var(--gold);padding-left:24px}
.promise ul{list-style:none;padding:0;margin:0;display:grid;gap:18px}
.promise li{display:grid;gap:4px}
.promise li b{font-size:1.02rem}
.promise li span{color:var(--muted);font-size:.95rem}
@media (max-width:800px){.promise{grid-template-columns:1fr;gap:32px}}

/* FAQ */
.faq{display:grid;gap:12px;max-width:820px}
details{border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
summary{cursor:pointer;list-style:none;padding:18px 22px;font-weight:600;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:1.3rem;line-height:1;color:var(--gold-text)}
details[open] summary::after{content:"–"}
details p{padding:0 22px 20px;color:var(--muted);max-width:65ch}

/* CTA */
.cta{background:var(--navy);color:var(--on-navy);text-align:center}
.cta .wrap{display:grid;gap:18px;justify-items:center;padding-block:72px}
.cta h2{font-size:clamp(1.8rem,3.6vw,2.6rem)}
.cta p{color:var(--on-navy-muted);max-width:36em}
.cta-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.cta-actions.left{justify-content:flex-start}

/* Simple pages (thank-you, legal, 404) */
.simple .wrap{display:grid;gap:20px}
.simple h1{font-size:clamp(2rem,4vw,2.8rem)}
.simple .big{font-size:1.1rem;color:var(--muted)}
.next{list-style:none;padding:0;margin:8px 0;display:grid;gap:12px;counter-reset:n}
.next li{display:grid;gap:2px;padding:16px 20px 16px 58px;position:relative;border:1px solid var(--line);border-radius:var(--radius)}
.next li::before{counter-increment:n;content:counter(n);position:absolute;left:20px;top:14px;font-family:var(--display);font-size:1.5rem;color:var(--gold-text)}
.next span{color:var(--muted);font-size:.92rem}
.simple a:not(.btn){color:var(--gold-text);font-weight:600}
.legal h2{font-size:1.3rem;margin-top:12px}
.legal p{color:#333c47;max-width:70ch}

/* Footer */
footer{background:var(--navy);color:var(--on-navy-muted);font-size:.86rem;border-top:1px solid rgba(255,255,255,.08)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px;padding-block:48px 28px}
.foot-grid > div{display:grid;gap:8px;align-content:start;min-width:0}
.foot-grid h4{margin:0 0 4px;color:var(--on-navy);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.foot-grid a{text-decoration:none;overflow-wrap:anywhere}
.foot-grid a:hover{color:var(--on-navy)}
.foot-brand p{font-family:var(--display);color:var(--gold-hi);font-size:.85rem;letter-spacing:.04em}
.foot-legal{padding-block:20px 32px;border-top:1px solid rgba(255,255,255,.08)}
.foot-legal p{font-size:.74rem;line-height:1.55;max-width:90ch}
@media (max-width:800px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:440px){.foot-grid{grid-template-columns:1fr}}

/* Mobile header: menu button + compact offer button */
.menu-btn{display:none;width:42px;height:42px;border:1px solid rgba(245,245,245,.25);border-radius:var(--radius);background:transparent;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0}
.menu-btn span{display:block;width:18px;height:2px;background:var(--on-navy);transition:transform .2s,opacity .2s}
.menu-btn[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:960px){
  .top .wrap{flex-wrap:wrap;position:relative}
  .brand{margin-right:auto}
  .menu-btn{display:flex;order:3}
  .top-call{order:2}
  .top nav{display:none;order:4;flex-basis:100%;flex-direction:column;gap:0;padding-top:8px;border-top:1px solid rgba(255,255,255,.1);margin-top:6px}
  .top nav.open{display:flex}
  .top nav a{padding:13px 4px;font-size:1rem;color:var(--on-navy);border-bottom:1px solid rgba(255,255,255,.06)}
}
@media (max-width:520px){
  .top .btn{display:inline-flex;padding:9px 12px;font-size:.82rem}
  .phone{font-size:0;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(245,245,245,.25);border-radius:var(--radius)}
  .phone::before{content:"";width:18px;height:18px;background:var(--gold-hi);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 006.6 6.6l2.2-2.2a1 1 0 011-.25 11.4 11.4 0 003.6.57 1 1 0 011 1V20a1 1 0 01-1 1A17 17 0 013 4a1 1 0 011-1h3.5a1 1 0 011 1c0 1.25.2 2.45.57 3.6a1 1 0 01-.25 1z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 006.6 6.6l2.2-2.2a1 1 0 011-.25 11.4 11.4 0 003.6.57 1 1 0 011 1V20a1 1 0 01-1 1A17 17 0 013 4a1 1 0 011-1h3.5a1 1 0 011 1c0 1.25.2 2.45.57 3.6a1 1 0 01-.25 1z'/%3E%3C/svg%3E") center/contain no-repeat}
  .top-call{gap:8px}
  .brand svg{width:32px;height:32px}
  .brand-name{font-size:.92rem}
}
@media (max-width:360px){.brand-name{display:none}}
@media (max-width:520px){
  .top .wrap{gap:8px}
  .menu-btn,.phone{width:38px;height:38px}
  .top .btn{padding:9px 10px;font-size:.78rem}
  .brand{gap:7px;min-width:0}
  .brand svg{width:28px;height:28px}
  .brand-name{font-size:.8rem;letter-spacing:.04em}
  .brand-name small{font-size:.55rem;letter-spacing:.22em}
}
@media (max-width:380px){.brand-name{display:none}}

/* Official logo images */
.brand picture{display:block;line-height:0}
.brand-logo{display:block;height:56px;width:auto}
.foot-brand img{display:block;width:240px;max-width:100%;height:auto}
@media (max-width:520px){.brand-logo{height:30px}}
@media (max-width:400px){.brand-logo{height:38px}}

/* Sticky mobile CTA bar */
.cta-bar{display:none}
@media (max-width:760px){
  .cta-bar{display:grid;grid-template-columns:1fr 1.6fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--navy);
    padding:10px max(12px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));
    border-top:1px solid rgba(212,164,64,.35);box-shadow:0 -6px 20px rgba(0,0,0,.25);transition:transform .25s}
  .cta-bar.hide{transform:translateY(110%)}
  .cta-bar a{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:var(--radius);font-weight:700;text-decoration:none;font-size:.95rem}
  .cta-bar-call{color:var(--on-navy);border:1px solid rgba(245,245,245,.35)}
  .cta-bar-offer{background:var(--gold);color:#0D1B2A}
  body{padding-bottom:72px}
}

/* Desktop popup */
.cta-modal{position:fixed;inset:0;z-index:50;background:rgba(5,12,20,.72);display:grid;place-items:center;padding:24px;animation:ctaFade .2s ease}
.cta-card{position:relative;background:var(--card);border-top:4px solid var(--gold);border-radius:10px;max-width:480px;width:100%;padding:36px 34px 24px;display:grid;gap:14px;text-align:center;justify-items:center;box-shadow:0 30px 80px rgba(0,0,0,.45);animation:ctaUp .25s ease}
.cta-card img{height:48px;width:auto;background:var(--navy);padding:8px 12px;border-radius:var(--radius);box-sizing:content-box}
.cta-card h2{font-size:1.6rem}
.cta-card p{color:var(--muted);font-size:.95rem}
.cta-form{display:grid;gap:10px;width:100%;margin-top:6px}
.cta-form .btn{width:100%}
.cta-close{position:absolute;top:8px;right:12px;border:0;background:none;font-size:1.8rem;line-height:1;color:var(--muted);cursor:pointer;padding:4px 8px}
.cta-close:hover{color:var(--fg)}
.cta-skip{border:0;background:none;color:var(--muted);font:500 .85rem var(--body);cursor:pointer;text-decoration:underline}
@keyframes ctaFade{from{opacity:0}}
@keyframes ctaUp{from{transform:translateY(16px);opacity:0}}
@media (prefers-reduced-motion:reduce){.cta-modal,.cta-card{animation:none}}

/* Breadcrumbs + county page extras */
.crumbs{background:var(--navy);color:var(--on-navy-muted);font-size:.8rem;border-bottom:1px solid rgba(255,255,255,.06)}
.crumbs .wrap{display:flex;gap:8px;align-items:center;padding-block:10px}
.crumbs a{color:var(--on-navy-muted);text-decoration:none}
.crumbs a:hover{color:var(--gold-hi)}
.crumbs [aria-current]{color:var(--on-navy)}
.cities small{color:var(--muted);font-size:.72rem;margin-left:4px}
.local-copy .note a{color:var(--gold-text);font-weight:600}
.foot-grid span{font-size:.8rem}
