/* Cottage Grove Chimney Sweep: "Neighborly" design system. Mobile first. */
@font-face{font-family:"Nunito";src:url(/fonts/nunito-latin-900-normal.woff2) format("woff2");font-weight:900;font-display:swap}
@font-face{font-family:"Nunito";src:url(/fonts/nunito-latin-800-normal.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Figtree";src:url(/fonts/figtree-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Figtree";src:url(/fonts/figtree-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --plum:#3a2340;--plum-2:#523159;--plum-3:#6d4775;
  --gold:#f2b33d;--gold-2:#ffd27a;--gold-tint:#fdf1dc;
  --lilac:#f2edf5;--lilac-2:#e6dcec;
  --ink:#2b2230;--muted:#5d5266;--line:#ddd3e3;--white:#fff;
  --link:#7a3e8c;
  --f-head:"Nunito",ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;
  --f-body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r-sm:14px;--r:24px;--r-lg:40px;
  --sh:0 18px 40px -22px rgba(58,35,64,.45);
  --wrap:1140px;--gut:20px;
  --s1:.5rem;--s2:1rem;--s3:1.5rem;--s4:2.5rem;--s5:4rem;--s6:6rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--white);color:var(--ink);font:400 1.0625rem/1.65 var(--f-body);padding-bottom:84px}
@media (min-width:900px){body{padding-bottom:0}}
img,svg{max-width:100%;display:block}
a{color:var(--link);text-underline-offset:3px;text-decoration-thickness:1.5px}
a:hover{color:var(--plum)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--f-head);color:var(--plum);line-height:1.12;margin:0 0 var(--s2);letter-spacing:-.01em}
h1{font-weight:900;font-size:clamp(2.1rem,5.6vw,3.6rem)}
h2{font-weight:900;font-size:clamp(1.65rem,3.6vw,2.5rem)}
h3{font-weight:800;font-size:1.22rem}
p{margin:0 0 var(--s2)}
ul,ol{margin:0 0 var(--s2);padding-left:1.25rem}
li{margin-bottom:.35rem}
address{font-style:normal}
.nb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nb-skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:var(--plum);padding:.6rem 1rem;border-radius:999px;z-index:99;font-weight:700}
.nb-skip:focus{left:12px}
.nb-wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.nb-i{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.nb-pending{font-style:italic;opacity:.75}
.nb-ribbon{background:var(--gold);color:var(--plum);font-size:.9rem;padding:.5rem 0;text-align:center;position:relative;z-index:41}

/* ---------- header: floating rounded bar ---------- */
.nb-hdr{position:sticky;top:0;z-index:40;padding:10px 12px;background:transparent}
.nb-hdr__in{max-width:var(--wrap);margin:0 auto;background:var(--white);border:1px solid var(--line);border-radius:999px;box-shadow:var(--sh);display:flex;align-items:center;gap:var(--s2);padding:8px 8px 8px 12px;position:relative}
.nb-logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--plum);font-family:var(--f-head);font-weight:900;font-size:1.05rem;line-height:1.1}
.nb-logo__mark{width:40px;height:40px}
.nb-logo__txt span{color:var(--plum-3);font-weight:800}
.nb-nav{display:none}
.nb-nav a{font-family:var(--f-head);font-weight:800;color:var(--ink);text-decoration:none;padding:.5rem .9rem;border-radius:999px}
.nb-nav a:hover,.nb-nav a[aria-current]{background:var(--lilac);color:var(--plum)}
.nb-pill{margin-left:auto;display:none;align-items:center;gap:.45rem;background:var(--gold);color:var(--plum);text-decoration:none;font-family:var(--f-head);font-weight:900;padding:.65rem 1.1rem;border-radius:999px;white-space:nowrap}
.nb-pill:hover{background:var(--gold-2);color:var(--plum)}
.nb-menu{margin-left:auto;width:46px;height:46px;border-radius:50%;border:0;background:var(--lilac);cursor:pointer;display:grid;place-items:center}
.nb-menu__bars,.nb-menu__bars::before,.nb-menu__bars::after{display:block;width:18px;height:2.5px;border-radius:2px;background:var(--plum);position:relative;content:""}
.nb-menu__bars::before{position:absolute;top:-6px}.nb-menu__bars::after{position:absolute;top:6px}
.nb-nav.is-open{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:calc(100% + 8px);background:var(--white);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:.5rem}
@media (min-width:900px){
  .nb-nav,.nb-nav.is-open{display:flex;position:static;flex-direction:row;border:0;box-shadow:none;padding:0;margin-left:auto;gap:.15rem;background:none}
  .nb-pill{display:inline-flex;margin-left:.25rem}
  .nb-menu{display:none}
}

/* ---------- breadcrumbs ---------- */
.nb-crumbs ol{list-style:none;padding:0;margin:.5rem auto 0;display:flex;flex-wrap:wrap;gap:.25rem .5rem;font-size:.9rem;color:var(--muted)}
.nb-crumbs li{margin:0}
.nb-crumbs li+li::before{content:"\203A";margin-right:.5rem;color:var(--plum-3)}

/* ---------- buttons ---------- */
.nb-callbox{display:flex;flex-wrap:wrap;gap:.75rem;margin:var(--s3) 0 0}
.nb-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:52px;padding:.8rem 1.5rem;border-radius:999px;border:0;background:var(--gold);color:var(--plum);font:900 1.05rem/1 var(--f-head);text-decoration:none;cursor:pointer;transition:transform .15s,background .15s}
.nb-btn:hover{background:var(--gold-2);color:var(--plum);transform:translateY(-2px)}
.nb-btn--soft{background:rgba(255,255,255,.14);color:var(--white);box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
.nb-btn--soft:hover{background:var(--white);color:var(--plum)}
.nb-btn--block{width:100%}
.nb-btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}
/* soft button on light backgrounds */
.nb-sec .nb-btn--soft,.nb-contact .nb-btn--soft{background:var(--white);color:var(--plum);box-shadow:inset 0 0 0 2px var(--plum)}
.nb-sec .nb-btn--soft:hover{background:var(--plum);color:var(--white)}

/* ---------- tags (eyebrows) ---------- */
.nb-kicker,.nb-tag{display:inline-flex;align-items:center;gap:.45rem;background:var(--lilac);color:var(--plum);font:800 .85rem/1 var(--f-head);padding:.45rem .8rem;border-radius:999px;margin-bottom:var(--s2)}
.nb-kicker::before,.nb-tag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold)}

/* ---------- hero: plum panel with rounded bottom ---------- */
.nb-hero{background:var(--plum);color:#efe6f2;margin:-120px 0 0;padding:calc(120px + var(--s4)) 0 var(--s5);border-radius:0 0 var(--r-lg) var(--r-lg);position:relative;overflow:hidden}
.nb-hero::after{content:"";position:absolute;right:-120px;top:-80px;width:340px;height:340px;border-radius:50%;background:var(--plum-2);opacity:.6;pointer-events:none}
.nb-hero>*{position:relative;z-index:1}
.nb-hero h1,.nb-hero h2,.nb-hero h3{color:var(--white)}
.nb-hero h1 em{font-style:normal;color:var(--gold)}
.nb-hero .nb-kicker{background:rgba(255,255,255,.12);color:var(--white)}
.nb-hero .nb-lede{color:#e3d8e8}
.nb-hero a:not(.nb-btn){color:var(--gold-2)}
.nb-lede{font-size:1.15rem;color:var(--muted);max-width:62ch}
.nb-crumbs+main .nb-hero{margin-top:var(--s2);border-radius:var(--r-lg);max-width:calc(var(--wrap) + 24px);margin-left:auto;margin-right:auto;padding-top:var(--s5)}
@media (max-width:1187px){.nb-crumbs+main .nb-hero{margin-left:12px;margin-right:12px}}

/* home hero: centered */
.nb-hero--home{text-align:center;padding-bottom:9rem}
.nb-hero--home .nb-lede{margin-left:auto;margin-right:auto}
.nb-hero--home .nb-callbox{justify-content:center}
.nb-hero--home h1{max-width:18ch;margin-left:auto;margin-right:auto}
.nb-hero__note{list-style:none;padding:0;margin:var(--s3) 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.25rem;color:#d9cbe0;font-size:.95rem}
.nb-hero__note li{margin:0;display:flex;align-items:center;gap:.4rem}
.nb-hero__note li::before{content:"";width:16px;height:16px;border-radius:50%;background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.5 2.4L12 5.4' fill='none' stroke='%233a2340' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;flex:none}

/* ---------- service tiles overlapping the hero ---------- */
.nb-tiles{list-style:none;padding:0;margin:0;display:grid;gap:var(--s2);grid-template-columns:1fr}
.nb-tiles--lift{margin-top:-6.5rem;position:relative;z-index:2}
@media (min-width:640px){.nb-tiles{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.nb-tiles{grid-template-columns:repeat(4,1fr)}}
.nb-tile{margin:0}
.nb-tile a{display:flex;flex-direction:column;height:100%;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:var(--s3);text-decoration:none;color:var(--ink);box-shadow:var(--sh);transition:transform .15s,box-shadow .15s}
.nb-tile a:hover{transform:translateY(-4px);box-shadow:0 26px 50px -24px rgba(58,35,64,.55)}
.nb-tile__ico{width:56px;height:56px;border-radius:18px;background:var(--gold-tint);color:var(--plum);display:grid;place-items:center;margin-bottom:var(--s2)}
.nb-tile__ico svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nb-tile h3{margin-bottom:.4rem}
.nb-tile p{color:var(--muted);font-size:.98rem;margin-bottom:var(--s2)}
.nb-tile__more{margin-top:auto;font:800 .95rem/1 var(--f-head);color:var(--link)}

/* ---------- sections ---------- */
.nb-sec{padding:var(--s5) 0}
@media (min-width:900px){.nb-sec{padding:var(--s6) 0}}
.nb-sec--tight{padding:var(--s4) 0}
.nb-sec--surface,.nb-sec--lilac{background:var(--lilac)}
.nb-sec--plum{background:var(--white)}
.nb-head{max-width:720px;margin-bottom:var(--s4)}
.nb-head--center{text-align:center;margin-left:auto;margin-right:auto}
.nb-head--center .nb-lede{margin-left:auto;margin-right:auto}
.nb-split{display:grid;gap:var(--s4)}
@media (min-width:900px){.nb-split{grid-template-columns:1.25fr 1fr;align-items:start}}
.nb-prose{max-width:68ch}
.nb-prose h2{margin-top:var(--s4)}
.nb-prose h2:first-child,.nb-prose .nb-kicker+h2{margin-top:0}
.nb-prose ul li::marker{color:var(--gold)}
.nb-prose ol li::marker{color:var(--plum-3);font-weight:700}

/* cards */
.nb-cards{display:grid;gap:var(--s2)}
@media (min-width:700px){.nb-cards{grid-template-columns:1fr 1fr}.nb-cards--3{grid-template-columns:repeat(3,1fr)}.nb-cards--2{grid-template-columns:1fr 1fr}}
.nb-split .nb-cards{grid-template-columns:1fr}
.nb-card{display:block;background:var(--white);border-radius:var(--r);padding:var(--s3);border:1px solid var(--line);color:var(--ink);text-decoration:none}
a.nb-card{transition:transform .15s,box-shadow .15s}
a.nb-card:hover{transform:translateY(-3px);box-shadow:var(--sh);color:var(--ink)}
a.nb-card h3{color:var(--link)}
.nb-sec--surface .nb-card,.nb-sec--lilac .nb-card{border-color:transparent}
.nb-card--warn{background:var(--gold-tint);border:0;color:var(--ink)}
.nb-hero .nb-card{color:var(--ink);border:0}
.nb-hero .nb-card h3{color:var(--plum)}
.nb-hero .nb-form{background:var(--white);border-radius:var(--r);padding:var(--s3);color:var(--ink)}
.nb-hero .nb-form .nb-fine{color:var(--muted)}
.nb-hero .nb-card--warn h3{color:var(--plum)}
.nb-card--warn h3::before{content:"!";display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--gold);color:var(--plum);margin-right:.5rem;font-size:1rem}
.nb-ticks{list-style:none;padding:0}
.nb-ticks li{position:relative;padding-left:1.75rem}
.nb-ticks li::before{content:"";position:absolute;left:0;top:.3em;width:18px;height:18px;border-radius:50%;background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.5 2.4L12 5.4' fill='none' stroke='%233a2340' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}

/* ---------- house types (home) ---------- */
.nb-houses{display:grid;gap:var(--s3)}
@media (min-width:860px){.nb-houses{grid-template-columns:1fr 1fr}}
.nb-house{border-radius:var(--r-lg);padding:var(--s4) var(--s3);background:var(--lilac)}
.nb-house--new{background:var(--gold-tint)}
@media (min-width:860px){.nb-house{padding:var(--s4)}}
.nb-house__pic{width:120px;height:80px;margin-bottom:var(--s2)}
.nb-house h3{font-size:1.5rem}
.nb-house__label{font:800 .9rem/1.2 var(--f-head);color:var(--plum-3);margin:0 0 var(--s1)}

/* ---------- seasons ---------- */
.nb-seasons{list-style:none;padding:0;margin:0;display:grid;gap:var(--s2);grid-template-columns:1fr}
@media (min-width:640px){.nb-seasons{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.nb-seasons{grid-template-columns:repeat(4,1fr)}}
.nb-season{margin:0;background:var(--white);border-radius:var(--r);padding:var(--s3);border-top:6px solid var(--gold)}
.nb-season:nth-child(2){border-top-color:#e98a6b}.nb-season:nth-child(3){border-top-color:var(--plum-3)}.nb-season:nth-child(4){border-top-color:#7aa6c2}
.nb-season b{display:block;font:900 1.35rem/1.1 var(--f-head);color:var(--plum);margin-bottom:.5rem}
.nb-season p{font-size:.98rem;margin-bottom:var(--s1)}
.nb-season small,.nb-fine{display:block;color:var(--muted);font-size:.85rem}

/* ---------- visit day ---------- */
.nb-visit{display:grid;gap:var(--s3);background:var(--plum);color:#efe6f2;border-radius:var(--r-lg);padding:var(--s4) var(--s3)}
@media (min-width:860px){.nb-visit{grid-template-columns:1fr 1fr 1fr;padding:var(--s5) var(--s4);align-items:start}}
.nb-visit h2,.nb-visit h3{color:var(--white)}
.nb-visit .nb-ticks li::before{background-color:var(--gold)}
.nb-visit p{color:#e3d8e8}

/* ---------- towns ---------- */
.nb-townlist{list-style:none;padding:0;margin:0;columns:1;column-gap:var(--s4)}
@media (min-width:700px){.nb-townlist{columns:2}}
.nb-townlist li{break-inside:avoid;padding:.9rem 0;border-bottom:2px dotted var(--line);margin:0}
.nb-townlist b{font-family:var(--f-head);font-weight:900;color:var(--plum);display:block;font-size:1.1rem}
.nb-townlist a{font-family:var(--f-head);font-weight:900;font-size:1.1rem;display:inline-block}
.nb-townlist span{color:var(--muted);font-size:.95rem;display:block}
.nb-towns{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.25rem 0}
.nb-towns li{margin:0}
.nb-towns li+li::before{content:"\00B7";margin:0 .6rem;color:var(--plum-3)}
.nb-towns span[aria-current]{font-weight:700}

/* ---------- FAQ ---------- */
.nb-faq{display:grid;gap:var(--s2)}
.nb-faq details{background:var(--white);border-radius:var(--r);border:1px solid var(--line)}
.nb-sec--surface .nb-faq details{border-color:transparent}
.nb-faq summary{list-style:none;cursor:pointer;padding:1.1rem 3.5rem 1.1rem 1.4rem;font:800 1.08rem/1.35 var(--f-head);color:var(--plum);position:relative}
.nb-faq summary::-webkit-details-marker{display:none}
.nb-faq summary::after{content:"+";position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:var(--gold-tint);display:grid;place-items:center;font-size:1.3rem;line-height:1}
.nb-faq details[open] summary::after{content:"\2212";background:var(--gold)}
.nb-faq details>p,.nb-faq details>div{padding:0 1.4rem 1.2rem;margin:0}
/* open Q&A grid (home) */
.nb-qa{display:grid;gap:var(--s3)}
@media (min-width:860px){.nb-qa{grid-template-columns:1fr 1fr}}
.nb-qa details{background:var(--white);border-radius:var(--r);padding:var(--s3)}
.nb-qa summary{list-style:none;font:900 1.15rem/1.3 var(--f-head);color:var(--plum);margin-bottom:.6rem;pointer-events:none}
.nb-qa summary::-webkit-details-marker{display:none}
.nb-qa details p{margin:0;color:var(--ink)}

/* ---------- contact block / band ---------- */
.nb-contact{display:grid;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh);background:var(--white)}
@media (min-width:900px){.nb-contact{grid-template-columns:1fr 1.1fr}}
.nb-contact__side{background:var(--gold);color:var(--plum);padding:var(--s4) var(--s3)}
@media (min-width:900px){.nb-contact__side{padding:var(--s5) var(--s4)}}
.nb-contact__side h2{color:var(--plum)}
.nb-contact__side .nb-btn{background:var(--plum);color:var(--white)}
.nb-contact__side .nb-btn:hover{background:var(--plum-2);color:var(--white)}
.nb-contact__side .nb-btn--soft{background:transparent;color:var(--plum);box-shadow:inset 0 0 0 2px var(--plum)}
.nb-contact__form{padding:var(--s4) var(--s3)}
@media (min-width:900px){.nb-contact__form{padding:var(--s5) var(--s4)}}
.nb-band{display:grid;gap:var(--s4);background:var(--gold-tint);border-radius:var(--r-lg);padding:var(--s4) var(--s3)}
@media (min-width:900px){.nb-band{grid-template-columns:1fr 1fr;padding:var(--s5) var(--s4);align-items:center}}
.nb-band .nb-lede{color:var(--ink)}

/* ---------- form ---------- */
.nb-form{display:grid;gap:var(--s2)}
.nb-band .nb-form{background:var(--white);border-radius:var(--r);padding:var(--s3)}
.nb-field label{display:block;font:800 .98rem/1.3 var(--f-head);color:var(--plum);margin-bottom:.35rem}
.nb-field label span{font-family:var(--f-body);font-weight:400;color:var(--muted)}
.nb-field input,.nb-field select,.nb-field textarea{width:100%;font:inherit;color:var(--ink);background:var(--lilac);border:2px solid transparent;border-radius:var(--r-sm);padding:.8rem 1rem;min-height:50px}
.nb-field input:focus,.nb-field select:focus,.nb-field textarea:focus{outline:0;border-color:var(--plum-3);background:var(--white)}
.nb-hp{position:absolute;left:-9999px}

/* ---------- table ---------- */
.nb-tablewrap{overflow-x:auto;border-radius:var(--r);border:1px solid var(--line);background:var(--white);margin-bottom:var(--s2)}
.nb-table{width:100%;border-collapse:collapse;font-size:.98rem}
.nb-table th{background:var(--plum);color:var(--white);text-align:left;font:800 .95rem/1.3 var(--f-head);padding:.8rem 1rem}
.nb-table td{padding:.8rem 1rem;border-top:1px solid var(--line);vertical-align:top}
.nb-table tr:nth-child(even) td{background:var(--lilac)}

/* legacy blocks still used on inner pages */
.nb-facts{display:grid;gap:var(--s2)}
@media (min-width:800px){.nb-facts{grid-template-columns:repeat(3,1fr)}}
.nb-fact{background:var(--lilac);border-radius:var(--r);padding:var(--s3)}
.nb-fact b{display:block;font:900 1.6rem/1.1 var(--f-head);color:var(--plum);margin-bottom:.4rem}
.nb-nap{display:flex;gap:.5rem;align-items:flex-start}
.nb-nap .nb-i{margin-top:.25em;color:var(--plum-3)}

/* ---------- footer ---------- */
.nb-ftr{background:var(--lilac);padding:var(--s5) 0 var(--s3);margin-top:var(--s5);border-radius:var(--r-lg) var(--r-lg) 0 0}
.nb-ftr__card{background:var(--white);border-radius:var(--r-lg);padding:var(--s4) var(--s3);display:grid;gap:var(--s3)}
@media (min-width:800px){.nb-ftr__card{grid-template-columns:1.3fr 1fr;padding:var(--s4)}}
.nb-ftr__brand p{color:var(--muted);margin-top:var(--s2);max-width:40ch}
.nb-ftr__tel a{font:900 1.5rem/1.1 var(--f-head);color:var(--plum);text-decoration:none}
.nb-ftr__contact address,.nb-ftr__hours{color:var(--muted)}
.nb-ftr__links{margin:var(--s3) 0;display:grid;gap:.75rem}
.nb-ftr__links p{margin:0;display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;align-items:baseline}
.nb-ftr__h{font:900 .95rem/1 var(--f-head);color:var(--plum);min-width:5.5rem}
.nb-ftr__links a{color:var(--ink)}
.nb-ftr__base{font-size:.9rem;color:var(--muted);margin:0;padding-top:var(--s2);border-top:1px solid var(--lilac-2)}
.nb-ftr__base a{color:var(--muted)}

/* ---------- floating mobile call pill ---------- */
.nb-bar{position:fixed;left:12px;right:12px;bottom:12px;z-index:50;display:flex;gap:6px;background:var(--plum);border-radius:999px;padding:6px;box-shadow:0 18px 40px -12px rgba(58,35,64,.6)}
.nb-bar a{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:50px;border-radius:999px;text-decoration:none;font:900 .98rem/1.1 var(--f-head);text-align:center;padding:0 .6rem}
.nb-bar__call{background:var(--gold);color:var(--plum)}
.nb-bar__book{color:var(--white)}
@media (min-width:900px){.nb-bar{display:none}}
.nb-callbox+.nb-nap{margin-top:var(--s3)}

/* Online booking and header fixes. Loaded after site.css (build.js joins the two). */
[hidden]{display:none!important}
.nb-nav a{padding:.5rem .8rem;white-space:nowrap}
.nb-logo{white-space:nowrap}
@media (max-width:420px){.nb-logo{white-space:normal}}
.nb-contact{overflow:clip}
/* the six-item menu needs more room: keep the phone layout up to 1219px */
@media (min-width:900px) and (max-width:1219px){
  body{padding-bottom:84px}
  .nb-bar{display:flex}
  .nb-pill{display:none}
  .nb-menu{display:grid}
  .nb-nav{display:none}
  .nb-nav.is-open{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:calc(100% + 8px);margin:0;background:var(--white);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:.5rem}
}
.nb-h3{font-size:1.3rem;font-weight:900}
.nb-card--soft{background:var(--lilac);border:0}
.nb-steps{padding-left:1.4rem}
.nb-steps li{margin-bottom:.7rem}
.nb-steps li::marker{font-family:var(--f-head);font-weight:900;color:var(--plum-3)}
.nb-booklay{display:grid;gap:var(--s4)}
@media (min-width:980px){.nb-booklay{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start}.nb-booklay__side{position:sticky;top:110px}}
.nb-booklay__main{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s3);box-shadow:var(--sh)}
@media (min-width:700px){.nb-booklay__main{padding:var(--s4)}}
.nb-booklay__side{display:grid;gap:var(--s2)}
.nb-sched{min-width:0}
.nb-sched__step{margin-bottom:var(--s3)}
.nb-sched__h{display:flex;align-items:center;gap:.6rem;font-size:1.15rem;margin-bottom:.8rem}
.nb-sched__n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--gold);color:var(--plum);font-size:.95rem;flex:none}
.nb-sched__hint,.nb-sched__err{color:var(--muted);margin:0}
.nb-sched__err{color:#8a2a2a}
.nb-days{display:flex;gap:.6rem;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 2px 10px;margin:0 -2px;scrollbar-width:thin}
.nb-day{flex:0 0 74px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.7rem .3rem .6rem;border-radius:20px;border:2px solid transparent;background:var(--lilac);color:var(--plum);cursor:pointer;font-family:var(--f-head);position:relative;transition:transform .12s,background .12s}
.nb-day:hover:not([disabled]){transform:translateY(-2px);border-color:var(--plum-3)}
.nb-day__dow{font-size:.8rem;font-weight:800;color:var(--plum-3)}
.nb-day__num{font-size:1.6rem;font-weight:900;line-height:1.05}
.nb-day__mon{font-size:.8rem;font-weight:800}
.nb-day__tag{font-family:var(--f-body);font-size:.7rem;color:var(--muted)}
.nb-day[aria-pressed="true"]{background:var(--plum);color:var(--white)}
.nb-day[aria-pressed="true"] .nb-day__dow{color:var(--gold-2)}
.nb-day[aria-pressed="true"] .nb-day__num{color:var(--gold)}
.nb-day[disabled]{cursor:not-allowed;background:repeating-linear-gradient(135deg,var(--lilac) 0 6px,#fff 6px 12px);opacity:.7}
.nb-wins{display:grid;gap:.6rem}
@media (min-width:560px){.nb-wins{grid-template-columns:repeat(3,1fr)}}
.nb-win{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;text-align:left;padding:.9rem 1rem;border-radius:18px;border:2px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;font:inherit}
.nb-win b{font-family:var(--f-head);font-weight:900;color:var(--plum);font-size:1.08rem}
.nb-win span{font-size:.95rem;color:var(--muted)}
.nb-win:hover:not([disabled]){border-color:var(--plum-3)}
.nb-win[aria-pressed="true"]{background:var(--gold-tint);border-color:var(--gold)}
.nb-win[disabled]{cursor:not-allowed;opacity:.55}
.nb-sched__form{border-top:2px dotted var(--line);padding-top:var(--s3)}
.nb-sched__chosen{margin:0;background:var(--gold-tint);border-radius:var(--r-sm);padding:.8rem 1rem;display:flex;flex-direction:column;gap:.1rem}
.nb-sched__chosen span{font:800 .8rem/1 var(--f-head);color:var(--plum-3)}
.nb-sched__chosen b{font-family:var(--f-head);font-weight:900;color:var(--plum)}
.nb-sched__grid{display:grid;gap:var(--s2)}
@media (min-width:640px){.nb-sched__grid{grid-template-columns:1fr 1fr}}
.nb-sched__status{margin:var(--s2) 0 0;font-weight:700;color:var(--plum)}
.nb-sched__status:empty{display:none}
.nb-sched__done{background:var(--lilac);border-radius:var(--r);padding:var(--s3);outline:0}
.nb-sched__badge{display:inline-block;background:var(--gold);color:var(--plum);font:900 .85rem/1 var(--f-head);padding:.45rem .8rem;border-radius:999px;margin-bottom:var(--s1)}
.nb-contact__ticks{margin-top:var(--s3)}
.nb-contact__ticks li::before{background-color:var(--plum);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.5 2.4L12 5.4' fill='none' stroke='%23f2b33d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.nb-contact__side a:not(.nb-btn){color:var(--plum);font-weight:700}
.nb-hero .nb-sched,.nb-sec--lilac .nb-sched{color:var(--ink)}

/* office view */
.nb-of{max-width:860px}
.nb-of__signin{max-width:380px}
.nb-of__list{display:grid;gap:var(--s2);margin-bottom:var(--s4)}
.nb-of__visit{background:var(--lilac);border-radius:var(--r);padding:var(--s3)}
.nb-of__line{margin:0 0 .3rem;display:flex;gap:.6rem}
.nb-of__line b{min-width:5.5rem;font-family:var(--f-head);color:var(--plum)}
.nb-of__closeform{max-width:520px;grid-template-columns:1fr 1fr;align-items:end}
.nb-of__closeform .nb-btn{grid-column:1/-1}
.nb-of__closed{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);background:var(--lilac);border-radius:var(--r-sm);padding:.6rem 1rem}
@media (min-width:700px){.nb-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:visible;padding:0;margin:0}.nb-day{flex:none}}
@media (max-width:420px){.nb-logo{white-space:normal}}
.nb-booklay,.nb-contact{grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.nb-contact{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.nb-contact__stick{position:sticky;top:110px}}
@media (min-width:980px){.nb-booklay{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}}

/* blog */
.nb-posts{display:grid;gap:var(--s2)}
@media (min-width:760px){.nb-posts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.nb-posts{grid-template-columns:repeat(3,minmax(0,1fr))}}
.nb-post{display:flex;flex-direction:column;gap:.4rem}
.nb-post h3{margin:0}
.nb-post p{margin:0;flex:1}
.nb-post__date,.nb-post__meta{font-size:.9rem;font-weight:700;color:var(--plum-3);letter-spacing:.02em}
.nb-post__more{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;color:var(--link)}
.nb-post__more .nb-i{width:18px;height:18px}
.nb-article{max-width:720px}
.nb-article h2{margin-top:var(--s4)}
.nb-src{font-size:.92rem;border-top:1px solid var(--line);margin-top:var(--s4);padding-top:var(--s2)}
.nb-src ol{padding-left:1.2rem}
.nb-src li{margin-bottom:.35rem;overflow-wrap:anywhere}
/* nearby towns in the plum band */
.nb-towns__h{font-family:var(--f-head);font-weight:900;margin:0 0 .5rem}
.nb-band .nb-towns+p{margin-top:.8rem}
.nb-hero--slim{padding-bottom:var(--s3)}
.nb-hero--slim .nb-lede{max-width:none}
.nb-logo__mark{flex-shrink:0}
.nb-hero .nb-post__meta{color:var(--gold)}
@media (min-width:1220px) and (max-width:1399px){.nb-nav a{padding:.45rem .6rem;font-size:.97rem}.nb-pill{padding-left:1rem;padding-right:1rem}}
.nb-hero .nb-card a{color:var(--link)}
