/* North Bay's regional identity. Loaded only on North Bay routes. */
:root{--ink:#30312c;--ink-soft:#62645a;--teal:#676a50;--sky:#8d856b;--mint:#eeede5;--soft:#f1efe7;--paper:#faf7f0;--white:#fffdf8;--line:#d9d4c7;--warm:#eaeade;--warm-ink:#535845;--radius:2px;--display:'Cormorant Garamond',Georgia,serif;--body:'DM Sans',Arial,sans-serif;--navy:#30312c;--muted:#62645a}
body{background:var(--paper);color:var(--ink);font-family:var(--body)}
h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:-.025em}h2{font-size:clamp(34px,4.2vw,55px);line-height:1.08}h3{font-size:27px;line-height:1.15}
.wrap{max-width:1320px;padding-left:40px;padding-right:40px}.band{padding-block:88px}.eyebrow{font-family:var(--body);font-size:11px;font-weight:500;letter-spacing:.17em;color:#606448}
.btn{border-radius:0;font-family:var(--body);font-weight:500;font-size:14px;padding:15px 23px;border-width:1px;min-height:48px}.btn.primary{background:var(--ink);color:var(--paper)}.btn.primary:hover{background:#51563e}.btn.ghost{background:transparent;border-color:#8d856b}.btn.sky{background:#d9ceb0;color:#30312c}.btn.sky:hover{background:#e9dfc4}
.nav{background:rgba(250,247,240,.97);border-bottom:0}.nav .wrap{height:104px;max-width:1480px;gap:24px}.brand{flex-shrink:0}.nb-wordmark{display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--ink);font-weight:400}.nb-wordmark>span{font-family:var(--display);font-size:32px;letter-spacing:.045em;text-transform:uppercase;line-height:1}.nb-wordmark small{display:flex;align-items:center;gap:18px;font:500 10px var(--body);letter-spacing:.42em;text-transform:uppercase}.nb-wordmark small:before,.nb-wordmark small:after{content:'';width:40px;height:1px;background:#a29a7b}.nav-links{gap:30px}.nav-links a{font-size:13px}.nav-cta .phone{display:none}.nav-cta .btn{background:transparent;color:var(--ink);border-color:#797252;padding:12px 18px}.nav-cta .btn:hover{background:var(--soft)}
.hero{background:var(--paper);padding:0}.hero>.wrap{max-width:1480px;display:grid;grid-template-columns:44% 56%;gap:0;align-items:stretch;padding:0 0 0 40px}.hero-copy{align-content:center;gap:23px;padding:60px 40px 60px 0}.hero h1{font-size:clamp(48px,5.2vw,76px);font-weight:400;line-height:1.04;letter-spacing:-.035em;text-wrap:initial}.hero .lede{font-size:18px;line-height:1.65;max-width:390px;color:#52534e}.hero-actions .btn{font-size:13px;padding:17px 20px}.hero-note{font-size:12px}.nb-tagline{font:italic 29px/1.25 var(--display);margin-top:12px}.hero-photo{margin:0;border-radius:0;box-shadow:none;aspect-ratio:auto;min-height:670px}.hero-photo img{height:100%;width:100%;object-fit:cover;object-position:center}.nb-moments{padding-top:82px}.nb-moments h2{text-align:center;margin:0 auto 45px}.nb-moments-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.nb-moments-grid img{width:100%;aspect-ratio:1/1.07;object-fit:cover}.nb-moments-grid h3{font:400 20px var(--body);letter-spacing:0;margin:22px 0 12px}.nb-moments-grid p{color:var(--ink-soft);font-size:14px;line-height:1.7;max-width:340px}
#systems{border-top:1px solid var(--line)}.section-head{max-width:780px;margin-bottom:40px}.section-head .lede{font-size:17px}.systems{gap:28px}.card{border-radius:0;box-shadow:none;background:transparent;border:0}.card .photo{aspect-ratio:4/3}.card .body{padding:25px 0}.card .body h3{font-weight:500;font-size:29px}.card p{font-size:15px;line-height:1.75}.card ul{font-size:14px}.pill{border-radius:0;background:transparent;padding:0;font:500 10px var(--body);letter-spacing:.14em;text-transform:uppercase}.flow{border-radius:0;background:transparent;padding:28px 0;border-width:1px 0}.node{border-radius:0;font-family:var(--body);font-weight:500;font-size:13px}.flow small{font-size:13px}.band.white{background:var(--paper)}.review{margin:0;border-radius:0;padding:24px;background:#f9f7f1}.review .stars{color:#8d7950}.review q{font:italic 23px/1.4 var(--display)}.review cite{font-size:12px}.reason .ic{border-radius:0;background:#e3e3d5}.reason strong{font-family:var(--body);font-weight:500;font-size:16px}.reason p{font-size:14px}.why{gap:70px}.water .card .body{padding:0 20px 0 0}.water h3{font-size:27px}.water p{font-size:14px}.callout{border-radius:0;font-size:14px}.callout strong{font-family:var(--body)}.steps{gap:26px}.step{border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:24px 0}.step::before{font-weight:400;font-size:36px;color:#82795d}.step p{font-size:14px}.pricing .panel{border-radius:0;background:var(--paper);padding:32px}.pricing .panel.dark .eyebrow{color:#d9ceb0}.county{border-radius:0;background:transparent;padding:30px;border-color:#bcb69f}.towns li{background:transparent;border:0;border-radius:0;padding:4px 10px 4px 0;font-size:14px}.county h3 a{text-decoration:none;color:var(--ink)}.faq{max-width:none}details{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:0}summary{font-family:var(--body);font-size:17px;font-weight:500;padding:23px 0}details p{font-size:15px;max-width:850px}.quote{gap:70px}.quote-copy .lede{font-size:16px}.quote-copy h2{max-width:420px}.contact-lines .v{font-size:15px;font-weight:400}.contact-lines .k{font-family:var(--body)}form{border-radius:0;padding:32px;background:var(--paper)}input,select,textarea{border-radius:0;background:var(--white)}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 2px #8d856b44}label{font-weight:500;font-size:13px}.thanks{border-radius:0}.form-fine{font-size:12px}footer{background:#30312c;padding:65px 0}footer .nb-wordmark{color:#faf7f0;align-items:flex-start;margin-bottom:25px}footer .nb-wordmark>span{font-size:27px}footer p{font-size:14px;max-width:420px}footer h4{font-family:var(--body);font-weight:500}footer ul{font-size:14px}.callbar{background:rgba(250,247,240,.98)}
/* County templates share the regional wordmark, palette and editorial type. */
.north-bay-shell{background:var(--paper);--navy:#30312c;--teal:#676a50;--ink:#30312c;--line:#d9d4c7}.north-bay-shell .north-bay-topbar{background:var(--paper)}.north-bay-shell .north-bay-strip{background:var(--paper);color:#676a50}.north-bay-shell h1,.north-bay-shell h2,.north-bay-shell h3{font-family:var(--display);font-weight:400;color:var(--ink)}.north-bay-shell h2 em{color:#676a50}.north-bay-shell .primary-btn{background:#30312c;color:#fffdf8;border-color:#30312c;border-radius:0}.north-bay-shell .secondary-btn{color:#30312c;border-color:#8d856b;border-radius:0}.north-bay-shell .north-bay-county-hero{background:#eeede5}.north-bay-shell .north-bay-county-hero h1{font-size:clamp(44px,5.5vw,76px);letter-spacing:-.03em}.north-bay-shell .north-bay-county-hero p:not(.eyebrow),.north-bay-shell .north-bay-county-grid>div>p:not(.eyebrow),.north-bay-shell .north-bay-county-grid aside ul,.north-bay-shell .north-bay-county-systems article p,.north-bay-shell .north-bay-quote-copy>p,.north-bay-shell .north-bay-quote-copy ul{color:#62645a}.north-bay-shell .north-bay-county-grid aside,.north-bay-shell .north-bay-county-systems article{border-radius:0;background:#fffdf8}.north-bay-shell .north-bay-footer{background:#30312c}.north-bay-footer .nb-wordmark,.north-bay-footer h3{color:#faf7f0}.north-bay-shell .north-bay-quote{grid-template-columns:1fr}.north-bay-shell .north-bay-quote-copy{max-width:720px}.north-bay-shell .menu-toggle{color:#30312c}.north-bay-shell .mobile-callbar{background:var(--paper)}
@media(min-width:1480px){.hero>.wrap{padding-left:60px}.hero-copy{padding-right:60px}}
@media(max-width:1100px){.nav-links{gap:18px}.nav .wrap{padding-inline:26px}.nb-wordmark>span{font-size:27px}.hero>.wrap{padding-left:30px}.hero-copy{padding-right:28px}.hero h1{font-size:54px}.hero-photo{min-height:620px}.hero-actions .btn{max-width:100%}.north-bay-nav{gap:14px}.north-bay-shell .nb-wordmark>span{font-size:25px}}
@media(max-width:960px){.nav-links{display:none}.nav .wrap{height:90px}.hero h1{font-size:48px}.hero .lede{font-size:16px}.hero-copy .eyebrow{font-size:9px}.hero-photo{min-height:590px}.hero-actions .btn{font-size:12px;padding:15px}.nb-tagline{font-size:25px}.wrap{padding-inline:28px}.why,.quote{gap:35px}}
@media(max-width:760px){.nav .wrap{height:85px;padding-inline:20px;gap:12px}.nb-wordmark>span{font-size:24px}.nb-wordmark small{font-size:8px;gap:12px}.nb-wordmark small:before,.nb-wordmark small:after{width:28px}.nav-cta .btn{font-size:11px;padding:9px 12px;min-height:42px}.hero>.wrap{display:flex;flex-direction:column;padding:0}.hero-copy{padding:48px 24px 42px;gap:20px}.hero h1{font-size:clamp(45px,8.8vw,64px);line-height:1.02}.hero-copy .eyebrow{font-size:10px}.hero .lede{font-size:16px;max-width:450px}.hero-actions .btn{font-size:12px;padding:17px 16px}.hero-photo{min-height:0;height:470px;aspect-ratio:auto}.hero-photo img{object-position:50% 55%}.nb-tagline{font-size:28px}.wrap{padding-inline:24px}.band{padding-block:58px}.nb-moments h2{font-size:38px;margin-bottom:30px}.nb-moments-grid{gap:38px;grid-template-columns:1fr}.nb-moments-grid img{aspect-ratio:4/3}.nb-moments-grid h3{margin-top:19px}.nb-moments-grid p{max-width:none}.systems{gap:36px}.card .body{padding-bottom:0}.why{gap:44px}.water{gap:30px}.water .card .body{padding:0}.pricing .panel{padding:24px}.quote{gap:32px}form{padding:23px}.contact-lines .v{font-size:13px}footer{padding-bottom:110px}.north-bay-shell .nb-wordmark>span{font-size:24px}.north-bay-shell .north-bay-county-hero h1{font-size:46px}.north-bay-shell .north-bay-county-grid h2{font-size:36px}.north-bay-shell .north-bay-county-grid aside{padding:24px}}
@media(max-width:380px){.nb-wordmark>span{font-size:20px}.nav-cta .btn{font-size:10px;padding:8px}.nav .wrap{padding-inline:14px}.hero h1{font-size:43px}.hero-actions .btn{font-size:11px}.hero-photo{height:390px}}
@media(min-width:761px){.hero-photo{height:clamp(590px,52vw,760px)}}
@media(max-width:760px){.nav .nb-wordmark>span{font-size:21px}.nav-cta .btn{white-space:nowrap;font-size:10px;padding:10px}.nav .wrap{gap:10px}}
@media(max-width:380px){.nav .nb-wordmark>span{font-size:18px}.nav .wrap{padding-inline:14px}}
