/* DESIGN2 10/19/26 rem type. Mid Valley Rock - site styles (YelloPost 9/29/26). Palette from the MVR logo: charcoal + moss green, warm sandstone paper, rust for actions. */
:root{--ink:#1D211C;--ink2:#343A31;--moss:#5E7A1F;--moss-l:#9DB548;--rust:#A94A22;--rust-d:#8A3A18;--sand:#F4EFE6;--sand2:#E9E1D2;--paper:#FFFDF9;--line:#DDD3C1;--muted:#5F6358;--f-head:"Fraunces",Georgia,serif;--f-body:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--r:14px;--sh:0 10px 30px rgba(29,33,28,.10)}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 var(--f-body)}
img{max-width:100%;height:auto;display:block}
a{color:var(--moss)}a:hover{color:var(--rust)}
h1,h2,h3,.h2,.mega-h{font-family:var(--f-head);font-weight:600;line-height:1.12;color:var(--ink);letter-spacing:-.01em;margin:0 0 .45em}
h1{font-size:clamp(2.125rem,5vw,3.625rem)}h2{font-size:clamp(1.6875rem,3.3vw,2.5rem)}h3{font-size:1.3125rem}
p{margin:0 0 1em}
.h4{font:800 0.75rem/1.2 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.wrap{width:min(1240px,100% - 40px);margin:0 auto}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:9999;background:#fff;padding:10px 14px;border-radius:8px}
:focus-visible{outline:3px solid var(--rust);outline-offset:2px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
.eyebrow{font:800 0.7812rem/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--moss);margin:0 0 14px}
.lede{font-size:1.2188rem;color:var(--ink2)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:50px;padding:0 24px;border-radius:999px;font:700 1rem/1 var(--f-body);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .15s,transform .15s}
.btn svg{width:19px;height:19px}.btn:hover{transform:translateY(-1px)}
.btn-rust{background:var(--rust);color:#fff}.btn-rust:hover{background:var(--rust-d);color:#fff}
.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#000;color:#fff}
.btn-line{background:transparent;border-color:var(--ink);color:var(--ink)}.btn-line:hover{background:var(--ink);color:#fff}
.btn-ghost{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.55);color:#fff}.btn-ghost:hover{background:#fff;color:var(--ink)}
.btn-lg{height:58px;padding:0 30px;font-size:1.0625rem}

/* utility bar */
.util{background:var(--ink);color:#DCE3CF;font-size:0.8438rem}
.util .wrap{display:flex;align-items:center;gap:22px;min-height:38px}
.util a{color:#DCE3CF;text-decoration:none}.util a:hover{color:#fff}
.ico{display:inline-flex;align-items:center;gap:7px}.ico svg{width:15px;height:15px;color:var(--moss-l)}
.stars{color:#F2C14E;letter-spacing:1px}
.u-r{margin-left:auto;display:flex;gap:22px}
@media (max-width:1100px){.u-wo,.util .wrap>.ico:first-child{display:none}}
@media (max-width:700px){.util .u-r{display:none}.util .wrap{justify-content:center;gap:14px;font-size:0.7812rem}}

/* header + mega menu: the nav items fill the full header height and the panel starts at the header's bottom edge, so
   there is no dead zone between the link and its panel (standing rule 9/28). A 20px bridge covers any sub-pixel gap. */
.hdr{position:sticky;top:0;z-index:900;background:rgba(255,253,249,.97);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line)}
.hdr>.wrap{display:flex;align-items:center;gap:20px;height:82px;position:relative}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);flex:none}
.brand-m{display:grid;place-items:center;width:46px;height:46px;border-radius:10px;background:var(--ink);color:var(--moss-l);font:700 1.875rem/1 var(--f-head);box-shadow:inset 0 -4px 0 var(--rust)}
.brand-w{display:flex;flex-direction:column;line-height:1}
.brand-w b{font:600 1.625rem/1 var(--f-head);letter-spacing:-.01em}.brand-w em{font-style:normal;color:var(--moss)}.brand-w i{font-style:normal;margin-left:1px}
.brand-w small{font:italic 500 0.8125rem/1.2 var(--f-head);color:var(--muted);margin-top:5px}
.hdr .wrap>nav{align-self:stretch;display:flex;margin-left:auto}
.nav{display:flex;align-items:stretch;margin:0;padding:0;list-style:none}
.nav>li{display:flex;align-items:stretch}
.nav-l{display:flex;align-items:center;padding:0 4px 0 12px;font:700 0.9688rem/1 var(--f-body);color:var(--ink);text-decoration:none;border-bottom:3px solid transparent}
.nav-c{display:flex;align-items:center;padding:0 10px 0 2px;background:none;border:0;border-bottom:3px solid transparent;color:var(--ink);cursor:pointer}
.nav-c svg{width:13px;height:13px;transition:transform .2s}
.nav-m .nav-l{padding-right:12px}
.nav>li:hover>.nav-l,.nav>li.open>.nav-l,.nav>li:hover>.nav-c,.nav>li.open>.nav-c{color:var(--rust);border-bottom-color:var(--rust)}
.nav>li.open>.nav-c svg{transform:rotate(180deg)}
.mega{position:absolute;left:-20px;right:-20px;top:100%;background:#fff;border-top:1px solid var(--line);box-shadow:0 30px 60px rgba(29,33,28,.16);border-radius:0 0 18px 18px;display:none}
.mega:before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px}
.nav>li.open>.mega{display:block}
.mega .wrap{width:auto;padding:30px 34px 32px;display:grid;grid-template-columns:260px 1fr;gap:36px}
.mega-h{font-size:1.6875rem}.mega-intro p{color:var(--muted);font-size:0.9375rem}
.mega-all{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--rust);text-decoration:none}.mega-all svg{width:16px;height:16px}
.mega-body{display:flex;gap:30px}
.mcats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;flex:2}
.mcat{display:flex;align-items:center;gap:12px;padding:8px;border-radius:12px;text-decoration:none;color:var(--ink)}
.mcat img{width:64px;height:58px;object-fit:cover;border-radius:9px;flex:none}
.mcat b{display:block;font-size:0.9688rem}.mcat small{display:block;color:var(--muted);font-size:0.8125rem;line-height:1.35}
.mcat:hover,.mlist a:hover{background:var(--sand)}.mcat:hover b{color:var(--rust)}
.mpop{flex:1;border-left:1px solid var(--line);padding-left:24px;display:flex;flex-direction:column}
.mpop a{padding:5px 0;color:var(--ink);text-decoration:none;font-weight:600;font-size:0.9375rem}.mpop a:hover{color:var(--rust)}.mpop a:last-child{color:var(--rust);margin-top:6px}
.mlist{display:grid;gap:2px 16px;flex:2;align-content:start}.mlist.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.mlist a{display:block;padding:9px 12px;border-radius:10px;color:var(--ink);text-decoration:none;font-weight:600;font-size:0.9375rem}
.mlist a b{display:block}.mlist a small{display:block;color:var(--muted);font-weight:400;font-size:0.8125rem;line-height:1.35}
.mareas{flex:1;border-left:1px solid var(--line);padding-left:20px}.mareas a{padding:5px 12px}
.hdr-cta{display:flex;align-items:center;gap:14px;flex:none;padding-left:18px;border-left:1px solid var(--line);height:50px}
.hdr-phone{display:flex;flex-direction:column;text-decoration:none;text-align:right;line-height:1.05}
.hdr-phone small{font:800 0.6562rem/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--moss)}
.hdr-phone b{font:700 1.375rem/1.15 var(--f-body);color:var(--ink)}
.hdr-cta .btn{height:46px}
.burger{display:none;margin-left:auto;background:none;border:0;padding:8px;cursor:pointer;color:var(--ink)}.burger svg{width:30px;height:30px}
@media (max-width:1240px){.hdr-phone{display:none}.nav-l{padding-left:9px;font-size:0.9375rem}}
@media (max-width:1080px){
 .hdr>.wrap{height:70px}.hdr .wrap>nav{display:block;align-self:auto;margin:0}.hdr-cta{display:none}.burger{display:block}
 .brand-m{width:40px;height:40px;font-size:1.625rem}.brand-w b{font-size:1.375rem}.brand-w small{font-size:0.75rem}
 .hdr{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--paper)}
 .nav{display:none;position:absolute;left:-20px;right:-20px;top:100%;height:calc(100dvh - var(--nav-top,108px));background:var(--paper);flex-direction:column;overflow:auto;padding:8px 0 90px;z-index:950}
 .nav.open{display:flex}
 .nav>li{flex-wrap:wrap;border-bottom:1px solid var(--line)}
 .nav-l{flex:1;padding:17px 20px;font-size:1.125rem;border:0}.nav-c{padding:0 20px;border:0}
 .mega{position:static;display:none;width:100%;box-shadow:none;border:0;border-radius:0;background:var(--sand)}.mega:before{display:none}
 .mega .wrap{display:block;padding:10px 12px 18px}.mega-intro{display:none}.mega-body{flex-direction:column;gap:10px}
 .mcats,.mlist.c2{grid-template-columns:1fr}.mpop,.mareas{border:0;padding-left:8px}
}
@media (max-width:420px){.brand-w small{display:none}}

/* hero */
.hero{position:relative;color:#fff;background:var(--ink);overflow:hidden}
.hero-bg{position:absolute;inset:0}.hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.5}
.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(29,33,28,.94) 0%,rgba(29,33,28,.75) 48%,rgba(29,33,28,.25) 100%)}
.hero .wrap{position:relative;padding:86px 0 92px;display:grid;grid-template-columns:1.25fr .85fr;gap:54px;align-items:center}
.hero h1{color:#fff;max-width:14ch}.hero .lede{color:#E8ECDD;max-width:56ch}
.hero .eyebrow{color:var(--moss-l)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 30px}
.hero-facts{display:flex;flex-wrap:wrap;gap:10px 26px;color:#DCE3CF;font-size:0.9375rem;margin:0;padding:0;list-style:none}
.hero-facts li{display:flex;align-items:center;gap:8px}.hero-facts svg{width:18px;height:18px;color:var(--moss-l)}
.hero-mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.hero-mosaic a{display:block;border-radius:12px;overflow:hidden;box-shadow:0 12px 26px rgba(0,0,0,.35);position:relative;aspect-ratio:1}
.hero-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.hero-mosaic a:hover img{transform:scale(1.07)}
.hero-mosaic span{position:absolute;left:0;right:0;bottom:0;padding:18px 8px 6px;font-size:0.75rem;font-weight:700;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff}
@media (max-width:980px){.hero .wrap{grid-template-columns:1fr;padding:56px 0 60px;gap:34px}.hero-mosaic{transform:none}}

/* page hero (inner pages) */
.phero{background:var(--sand);border-bottom:1px solid var(--line)}
.phero .wrap{padding:34px 0 46px;display:grid;grid-template-columns:1.3fr .9fr;gap:48px;align-items:center}
.phero.plain .wrap{grid-template-columns:1fr}
.phero .answer{font-size:1.1875rem;color:var(--ink2);max-width:62ch}
.phero .hero-ctas{margin:22px 0 0}
.phero-img{border-radius:18px;overflow:hidden;box-shadow:var(--sh);background:#fff}
.phero-img img{width:100%;aspect-ratio:10/8;object-fit:cover}
.phero-img figcaption{font-size:0.8125rem;color:var(--muted);padding:8px 14px}
@media (max-width:900px){.phero .wrap{grid-template-columns:1fr;gap:26px;padding-bottom:34px}}
.crumbs ol{display:flex;flex-wrap:wrap;gap:4px 0;list-style:none;margin:0 0 18px;padding:0;font-size:0.875rem;color:var(--muted)}
.crumbs li+li:before{content:"/";margin:0 8px;color:#B8AE9C}.crumbs a{color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;list-style:none}
.chips li:not(:has(a)),.chips a{font:700 0.7812rem/1 var(--f-body);letter-spacing:.04em;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink2);text-decoration:none}
.chips a:hover{border-color:var(--rust);color:var(--rust)}

/* sections */
.sec{padding:78px 0}.sec.tint{background:var(--sand)}.sec.dark{background:var(--ink);color:#E8ECDD}.sec.dark h2,.sec.dark h3{color:#fff}
.sec.tight{padding:54px 0}
.head-block{max-width:760px;margin:0 0 36px}.head-block.center{margin-left:auto;margin-right:auto;text-align:center}
.two-col{display:grid;grid-template-columns:1.35fr .85fr;gap:56px;align-items:start}
@media (max-width:980px){.two-col{grid-template-columns:1fr;gap:34px}.sec{padding:56px 0}}
.prose{max-width:68ch}.prose h2{margin-top:1.4em}.prose h2:first-child{margin-top:0}
.prose ul,.prose ol{padding-left:1.2em}.prose li{margin:.3em 0}
.ticks{list-style:none;padding:0;margin:0 0 1em}.ticks li{display:flex;gap:10px;margin:8px 0}.ticks svg{flex:none;width:20px;height:20px;color:var(--moss);margin-top:4px}
.steps{counter-reset:s;list-style:none;padding:0}.steps li{counter-increment:s;position:relative;padding-left:46px;margin:14px 0}
.steps li:before{content:counter(s);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--moss-l);font:700 0.9375rem/2rem var(--f-body);text-align:center}
.aside{position:sticky;top:104px;display:flex;flex-direction:column;gap:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:0 2px 0 rgba(0,0,0,.02)}
.card h3{margin-bottom:10px}
.card-dark{background:var(--ink);color:#E8ECDD;border:0}.card-dark h3{color:#fff}.card-dark a:not(.btn){color:var(--moss-l)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:0.9688rem}.kv dt{font-weight:700}.kv dd{margin:0;color:var(--muted)}
.card-dark .kv dd{color:#C8D0BA}

/* stone grids */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(9.5rem,17%)),1fr));gap:18px}
.grid.sm{grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));gap:14px}
.tile{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .18s,box-shadow .18s}
a.tile:hover{transform:translateY(-3px);box-shadow:var(--sh);color:var(--ink)}
.tile .ph{aspect-ratio:1/0.86;background:var(--sand2);overflow:hidden}.tile .ph img{width:100%;height:100%;object-fit:cover}
.tile .tx{padding:12px 14px 14px}.tile b{display:block;font-size:0.9688rem;line-height:1.25}.tile small{display:block;color:var(--muted);font-size:0.7812rem;margin-top:4px}
.tile .go{margin-top:6px;font-size:0.8125rem;font-weight:700;color:var(--rust)}
.tile.nopage{cursor:default}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(9.5rem,22%)),1fr));gap:18px}
.cat{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/3.4;color:#fff;text-decoration:none;display:block;background:var(--ink)}
.cat img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.cat:hover img{transform:scale(1.06)}
.cat span{position:absolute;inset:auto 0 0 0;padding:44px 16px 14px;background:linear-gradient(transparent,rgba(20,22,18,.88))}
.cat b{display:block;font:600 1.3125rem/1.1 var(--f-head)}.cat small{display:block;font-size:0.8438rem;color:#E1E6D6;margin-top:4px}

@media (max-width:520px){.grid{gap:12px}.cat-grid{gap:12px}.cat b{font-size:1.0625rem}.cat small{display:none}}
.filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.filter button{font:700 0.875rem/1 var(--f-body);padding:10px 15px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink2);cursor:pointer}
.filter button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.search{display:flex;align-items:center;gap:10px;max-width:420px;margin:0 0 16px}
.search input{flex:1;height:48px;border-radius:999px;border:1px solid var(--line);padding:0 18px;font:inherit;background:#fff}

/* why / features */
.why{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:20px}
.why .card svg{width:30px;height:30px;color:var(--rust);margin-bottom:10px}

.band{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:22px;overflow:hidden;background:var(--ink);color:#E8ECDD}
.band .ph img{width:100%;height:100%;object-fit:cover;min-height:320px}.band .tx{padding:46px}.band h2{color:#fff}
@media (max-width:860px){.band{grid-template-columns:1fr}.band .tx{padding:30px 24px}}

/* reviews */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:18px}
.quote{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;margin:0;display:flex;flex-direction:column}
.quote p{font:500 1.0625rem/1.5 var(--f-head);color:var(--ink);flex:1}.quote footer{font-size:0.875rem;color:var(--muted)}.quote .stars{display:block;margin-bottom:8px}

.rating-big{display:flex;align-items:center;gap:16px}.rating-big b{font:600 3.375rem/1 var(--f-head)}

/* faq */
.faq details{border-bottom:1px solid var(--line);padding:4px 0}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:16px 0;font:700 1.0938rem/1.35 var(--f-body)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";font:400 1.625rem/1 var(--f-body);color:var(--rust);flex:none}.faq details[open] summary:after{content:"\2212"}
.faq details>div{padding:0 0 16px;color:var(--ink2)}

/* forms */
.lead-card{background:#fff;color:var(--ink);border-radius:20px;padding:28px;box-shadow:0 24px 50px rgba(0,0,0,.25)}
.lead-card h2{font-size:1.75rem;margin-bottom:4px}.lead-card .sub{color:var(--muted);font-size:0.9375rem}
.f-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:0 12px}
.fld{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}
.fld label{font:700 0.8438rem/1.2 var(--f-body)}
.fld input,.fld textarea,.fld select{font:inherit;font-size:1rem;padding:12px 14px;border:1px solid #CFC5B2;border-radius:10px;background:var(--paper);color:var(--ink);width:100%}
.fld input:focus,.fld textarea:focus,.fld select:focus{outline:2px solid var(--moss);border-color:var(--moss)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.form-msg{margin:10px 0 0;font-weight:600;min-height:1em}.fine{font-size:0.8125rem;color:var(--muted);margin:8px 0 0}
.lead-card .btn{width:100%}
@media (max-width:520px){.f-row{grid-template-columns:1fr;gap:0}.lead-card{padding:22px}}

/* calculator */
.calc{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px}
.calc-row{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr auto;gap:10px;align-items:end;margin-bottom:10px}
.calc-row .fld{margin:0}.calc-row button.rm{height:48px;width:44px;border-radius:10px;border:1px solid var(--line);background:var(--sand);cursor:pointer;font-size:1.25rem}
.calc-out{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px}
.calc-out div{flex:1;min-width:150px;background:var(--sand);border-radius:14px;padding:16px}
.calc-out b{display:block;font:600 2.125rem/1.1 var(--f-head)}.calc-out small{color:var(--muted)}
@media (max-width:700px){.calc-row{grid-template-columns:1fr 1fr}.calc-row .fld:first-child{grid-column:1/-1}}

/* hours/map */
.hrs{border-collapse:collapse;margin:10px 0}.hrs th{text-align:left;font-weight:600;padding:3px 18px 3px 0}.hrs td{padding:3px 0}
.map-frame{border-radius:18px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;background:var(--sand2)}
.map-frame iframe{width:100%;height:100%;border:0;display:block}

/* final CTA */
.final{background:var(--ink);color:#E8ECDD;position:relative;overflow:hidden}
.final:before{content:"";position:absolute;inset:0;background:url(/img/p/g32w-960.webp?v=14) center/cover;opacity:.2}
.final .wrap{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding:74px 0}
.final h2{color:#fff}.final .lede{color:#DCE3CF}
@media (max-width:900px){.final .wrap{grid-template-columns:1fr;padding:54px 0}}

/* footer */
.ftr{background:#15180F;color:#C8D0BA;font-size:0.9375rem;padding:62px 0 0}
.ftr a{color:#E3E9D5;text-decoration:none}.ftr a:hover{color:#fff;text-decoration:underline}
.ftr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:40px}
.ftr .h4{color:var(--moss-l)}.ftr ul{list-style:none;padding:0;margin:0}.ftr li{margin:7px 0}
.brand-ftr{color:#fff;margin-bottom:16px}.brand-ftr .brand-w b{color:#fff}.brand-ftr .brand-w em{color:var(--moss-l)}.brand-ftr .brand-w small{color:#AEB79E}
.ftr address{font-style:normal;line-height:1.7}.ftr .big{font-size:1.3125rem;font-weight:700}
.ftr .hrs th,.ftr .hrs td{font-size:0.875rem}.ftr .fine{color:#9EA78F}
.sister{border-top:1px solid #2C3125;margin:40px 0 0;padding:20px 0;color:#AEB79E}
.ftr-base{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;border-top:1px solid #2C3125;padding:18px 0;font-size:0.8438rem}
.ftr-base nav{display:flex;flex-wrap:wrap;gap:16px}
.ftr-base button{background:none;border:0;color:#E3E9D5;font:inherit;cursor:pointer;padding:0}
.ftr-built{font:600 0.75rem/1 var(--f-body);letter-spacing:.08em;color:#7E876F;padding:0 0 26px}.ftr-built a{color:#AEB79E}.ftr-built span{font-style:italic;opacity:.8}


/* mobile action bar + consent */
.actbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:800;background:var(--ink);grid-template-columns:repeat(4,1fr);padding-bottom:env(safe-area-inset-bottom)}
.actbar a,.actbar button{display:flex;background:none;border:0;cursor:pointer;flex-direction:column;align-items:center;gap:3px;padding:10px 0;color:#fff;text-decoration:none;font:700 0.8125rem/1 var(--f-body)}
.actbar a:first-child{background:var(--rust)}.actbar svg{width:21px;height:21px}.actbar button{color:#fff;font:700 0.8125rem/1 var(--f-body)}
@media (max-width:1080px){.actbar{display:grid}body{padding-bottom:64px}}
.consent{position:fixed;right:18px;bottom:18px;z-index:1000;max-width:390px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 20px 50px rgba(0,0,0,.2);display:none;font-size:0.9062rem}
.consent.show{display:block}.cc-h{display:flex;align-items:center;gap:8px;font-weight:800;margin:0 0 6px}.cc-h svg{width:20px;height:20px;color:var(--moss)}
.consent .row{display:flex;gap:10px}.consent .btn{height:42px;padding:0 16px;font-size:0.9062rem}
@media (max-width:1080px){.consent{left:10px;right:10px;bottom:132px;max-width:none}}
@media print{.util,.hdr,.actbar,.consent,.ftr,.final{display:none!important}}
.mega-intro .mega-h{font-size:1.6875rem;color:var(--ink);font-family:var(--f-head);font-weight:600}
@media (max-width:1080px){#mvr-a11y-trigger{bottom:78px!important}}
.trust{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;margin:18px 0 0;padding:0;font-size:0.9062rem;color:var(--ink2)}
.trust li{display:flex;align-items:center;gap:7px}.trust svg{width:17px;height:17px;color:var(--moss)}.trust a{color:var(--ink2);text-decoration:none}.trust a:hover{color:var(--rust)}
.open-now{font-weight:700;color:#F2C14E}.open-now.is-open{color:var(--moss-l)}
.card-stock{border:2px solid var(--rust)}
a.tile .go{display:block}
@media (max-width:700px){.util .open-now{display:none}}
.soc{display:flex;gap:10px;margin:14px 0 0}.soc a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#262B1F;color:#E3E9D5}.soc a:hover{background:var(--rust);color:#fff;text-decoration:none}.soc svg{width:18px;height:18px}
.gloss dt{font:600 1.25rem/1.3 var(--f-head);margin-top:22px;scroll-margin-top:110px}.gloss dd{margin:6px 0 0;color:var(--ink2)}
[hidden]{display:none!important}
.sec.tint a:not(.btn):not(.mega-all),.faq a,.tint .eyebrow,.phero .eyebrow{color:#4B6318}
.band a:not(.btn),.sec.dark a:not(.btn),.final a:not(.btn),.card-dark a:not(.btn){color:var(--moss-l)}
.ftr-built span{opacity:1}.ftr-built{color:#A3AC93}
.sister a,.ftr-built a{text-decoration:underline;text-underline-offset:2px}
[id]{scroll-margin-top:96px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ftr-built{text-align:center;padding-bottom:90px}
@media (max-width:1080px){.ftr-built{padding-bottom:26px}}
/* widget dismiss x + restore tray (ported from NWD 9/28 standard) */
.mvr-x{position:fixed;z-index:2147482000;width:24px;height:24px;border-radius:50%;border:2px solid #fff;background:var(--ink);color:#fff;font:700 1rem/1 var(--f-body);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.35);padding:0}
.mvr-x:hover{background:var(--rust)}.mvr-x[hidden]{display:none!important}
.mvr-restore-tray{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:16px 0 4px}.mvr-restore-tray[hidden]{display:none!important}
.mvr-restore{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:999px;padding:8px 15px;font:600 0.8438rem/1 var(--f-body);cursor:pointer}
.mvr-restore:hover{background:#fff;color:var(--ink)}.mvr-restore[hidden]{display:none!important}.mvr-restore svg{width:16px;height:16px}
body.chat-open .mvr-x,.nav.open~* .mvr-x{display:none!important}
.final .lead-card h2{color:var(--ink)}.final .lead-card .sub{color:var(--muted)}
/* legal pages + counted site map (ported from NWD 9/28) */
.lg-head{background:var(--ink);color:#fff;padding:clamp(30px,5vw,60px) 0 clamp(36px,5vw,56px)}
.lg-head h1{color:#fff;margin:0 0 8px}.lg-head .lede{color:#DCE3CF;max-width:860px;margin:0}.lg-head .crumbs ol,.lg-head .crumbs a{color:#C8D0BA}
.lg-eff{color:var(--moss-l);font-weight:700;letter-spacing:.5px;margin:0 0 14px}
.lg-grid{display:grid;grid-template-columns:270px 1fr;gap:52px;align-items:start}.lg-grid>*{min-width:0}
.lg-toc{position:sticky;top:104px;background:var(--sand);border-radius:16px;padding:20px 22px 16px;font-size:0.9062rem}
.lg-toc p{font:800 0.7812rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.14em;color:var(--ink);margin:0 0 12px}
.lg-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}.lg-toc a{color:var(--ink2);text-decoration:none}.lg-toc a:hover{color:var(--rust)}
.lg-body{max-width:820px}.lg-sec{scroll-margin-top:110px}.lg-body h2{font-size:clamp(1.4375rem,2.4vw,1.8125rem);margin:32px 0 12px}.lg-body p,.lg-body li{line-height:1.75}
.lg-list{padding-left:22px;margin:0 0 16px}.lg-list li{margin-bottom:8px}
@media (max-width:980px){.lg-grid{grid-template-columns:1fr;gap:26px}.lg-toc{position:static}}
.smx-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));gap:12px;margin-top:24px}
.smx-stats div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:12px 14px}
.smx-stats b{display:block;font:600 1.875rem/1 var(--f-head);color:#fff}.smx-stats span{font-size:0.75rem;letter-spacing:.08em;text-transform:uppercase;color:#C8D0BA}
.smx-toc{background:#fff;border-left:5px solid var(--rust);border-radius:14px;padding:20px 26px;margin-bottom:24px;box-shadow:var(--sh)}
.smx-toc-h{font:800 0.8125rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.14em;color:var(--ink);margin:0 0 14px}
.smx-toc ol{list-style:none;counter-reset:tc;display:grid;grid-template-columns:repeat(3,1fr);gap:9px 26px;padding:0;margin:0}
.smx-toc li{counter-increment:tc;position:relative;padding-left:28px}.smx-toc li:before{content:counter(tc);position:absolute;left:0;font:700 1rem/1.3 var(--f-head);color:var(--rust)}
.smx-toc a{color:var(--ink);font-weight:700;text-decoration:none}.smx-toc a:hover{color:var(--rust)}.smx-toc li span{color:var(--muted);font-size:0.8125rem;margin-left:4px}
.smx-card{background:#fff;border-radius:16px;padding:28px 32px;margin-bottom:20px;box-shadow:var(--sh);scroll-margin-top:104px}
.smx-card h2{font-size:1.75rem;margin:0 0 4px;display:flex;align-items:center;gap:12px}
.smx-count{background:var(--rust);color:#fff;border-radius:999px;font:700 0.8125rem/1 var(--f-body);padding:5px 12px}
.smx-intro{color:var(--muted);margin:0 0 16px}
.smx-sub{background:var(--sand);border-radius:12px;padding:16px 20px;margin-top:14px}
.smx-sub h3{display:flex;align-items:center;gap:10px;font-size:1.1875rem;margin:0 0 10px}.smx-sub h3 a{color:var(--ink);text-decoration:none}.smx-sub h3 a:hover{color:var(--rust)}
.smx-badge{background:var(--ink);color:#fff;border-radius:999px;font:700 0.7188rem/1 var(--f-body);padding:4px 10px}
.smx-list{list-style:none;padding:0;margin:0;display:grid;gap:0 26px;min-width:0}
.smx-list.two{grid-template-columns:repeat(2,1fr)}.smx-list.three{grid-template-columns:repeat(3,1fr)}.smx-list.four{grid-template-columns:repeat(4,1fr)}
.smx-list li{border-bottom:1px solid var(--line)}
.smx-list a{display:flex;flex-direction:column;padding:8px 0;color:var(--ink);font-weight:600;font-size:0.9375rem;text-decoration:none}.smx-list a:hover{color:var(--rust)}
.smx-list small{color:var(--muted);font-weight:400;font-size:0.8125rem;margin-top:2px}
.smx-top{margin:14px 0 0;text-align:right;font-size:0.8438rem}.smx-top a{color:var(--muted)}
@media (max-width:1080px){.smx-stats{grid-template-columns:repeat(3,1fr)}.smx-toc ol{grid-template-columns:1fr 1fr}.smx-list.four{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.smx-stats{grid-template-columns:1fr 1fr}.smx-toc ol,.smx-list.two,.smx-list.three{grid-template-columns:1fr}.smx-card{padding:22px 18px}}
/* 9/29 compact dropdown panels (Brandon standard, from NWD V=61): small panels under each item, names only */
.mega-more{display:none}
@media (min-width:1081px){
  .nav>li{position:relative}
  .mega{left:0;right:auto;width:max-content;min-width:300px;max-width:min(760px,92vw);border:1px solid var(--line);border-radius:14px;box-shadow:0 22px 48px rgba(29,33,28,.18);max-height:min(72vh,620px);overflow:auto}
  .nav>li:nth-last-child(-n+3)>.mega{left:auto;right:0}
  .mega .wrap{display:block;padding:16px 18px 14px;width:auto}
  .mega-intro{display:none}
  .mega-body{gap:18px}
  .mcat{padding:6px 8px;gap:10px}.mcat img{width:44px;height:40px}.mcat small{display:none}.mcat b{white-space:nowrap}
  .mcats{gap:2px 14px}.mpop{padding-left:18px}.mpop a{white-space:nowrap}
  .mlist a{padding:7px 10px;white-space:nowrap}.mlist a small{display:none}.mlist.c2{gap:0 12px}
  .mareas{padding-left:16px}
  .mega-more{display:block;margin:10px 8px 0;padding-top:10px;border-top:1px solid var(--line);font-size:0.9062rem}
}

/* 9/29 her logo art in the header and footer */
.brand-img{display:block;line-height:0;flex:none}
.brand-img img{display:block;height:76px;width:auto;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.18)}
.brand-ftr.brand-img img{height:96px;box-shadow:none}
@media (max-width:900px){.brand-img img{height:54px}}
@media (max-width:380px){.brand-img img{height:46px}}

/* ===================== DESIGN2 10/19/26: photo heroes, stock check, first screen (BENCHMARK s4), large-text safe ===================== */
h1{font-size:clamp(2rem,4.6vw,3.4rem)}
.lede{font-size:1.125rem}
.phero .answer{font-size:1.2rem}
.w100{width:100%}
img{max-width:100%}
/* header: Call filled + stock check outline on desktop; a round call icon on phones */
.hdr-cta{border-left:0;padding-left:6px;gap:10px}
.hdr-cta .btn{height:2.9rem;padding:0 1.05rem;font-size:.95rem;white-space:nowrap}
.hdr-call{display:none}
@media (max-width:1520px){.hdr-stock{display:none!important}}
@media (max-width:1240px){.hdr-cta{display:flex}}
@media (max-width:1080px){.hdr-cta{display:none}.hdr-call{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--rust);color:#fff;margin-left:auto;flex:none}
 .hdr-call svg{width:22px;height:22px}.burger{margin-left:4px}}
/* utility bar: open-now + rating on phones (no static hours) */
@media (max-width:700px){.util .u-hrs,.util .u-addr,.util .u-cnt{display:none}.util .open-now{display:inline}.util .wrap{justify-content:space-between;gap:10px;font-size:.8125rem;min-height:36px;flex-wrap:wrap}}
/* inner hero: copy left, photo the full height of the copy right; phones = crumbs, H1, photo, answer, actions, trust */
.phero .wrap{padding:1.75rem 0 2.75rem;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:3rem;align-items:stretch}
.phero.plain .wrap{grid-template-columns:minmax(0,1fr)}
.ph-text{min-width:0;align-self:center}
.phero-img{position:relative;margin:0;border-radius:18px;overflow:hidden;box-shadow:var(--sh);background:var(--sand2);min-height:22rem}
.phero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;aspect-ratio:auto}
.phero-img figcaption,.hero-ph figcaption{position:absolute;left:.6rem;bottom:.6rem;max-width:calc(100% - 1.2rem);background:rgba(20,22,18,.8);color:#fff;font-size:.78rem;line-height:1.35;padding:.35rem .6rem;border-radius:8px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin:1.4rem 0 0}
.ph-act2{display:contents}
.btn{white-space:nowrap}
.trust-line{margin:1rem 0 0;font-size:.9375rem;color:var(--ink2)}
.trust-line a{color:inherit;text-decoration:none;font-weight:700}.trust-line a:hover{color:var(--rust)}
.trust-line .stars{color:#B7791F}
.swatch-card{display:flex;align-items:center;gap:1rem;margin:1.25rem 0 0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.6rem;max-width:30rem}
.swatch-card img{width:12.5rem;max-width:272px;height:auto;flex:none;border-radius:8px}
.swatch-card figcaption{font-size:.875rem;color:var(--muted);line-height:1.4}.swatch-card b{display:block;color:var(--ink);margin-bottom:.2rem}
.rating-card{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;margin-top:1.25rem}
.rating-card>b{font:600 3.2rem/1 var(--f-head)}.rating-card .stars{font-size:1.3rem;color:#B7791F}
.rating-card .hero-ctas{flex-basis:100%;margin:.4rem 0 0}
@media (max-width:900px){
 .phero .wrap{display:flex;flex-direction:column;gap:0;padding:1rem 0 1.75rem}
 .ph-text{display:contents}
 .phero .crumbs{order:1}.phero .chips{order:2}.phero h1{order:3}.phero-img{order:4}.phero .answer{order:5}.phero .hero-ctas{order:6}.phero .trust-line{order:7}.phero .swatch-card,.phero .rating-card{order:8}
 .phero .crumbs ol{margin-bottom:.6rem}.crumbs .cur{display:none}
 .phero h1{font-size:clamp(1.65rem,6.6vw,2.2rem);margin-bottom:.6rem}
 .phero-img{min-height:0;aspect-ratio:16/9;max-height:46vh;margin:.2rem -20px 1rem;border-radius:0;box-shadow:none}
 .phero .answer{font-size:1.0625rem;margin-bottom:0}
 .hero-ctas{margin-top:1rem;gap:.6rem}
 .hero-ctas .btn-call{width:100%}
 .ph-act2{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:.6rem;width:100%}
 .ph-act2 .btn{height:auto;min-height:3.1rem;padding:.4rem .7rem;font-size:.95rem;white-space:normal;line-height:1.15;text-align:center}
 .trust-line{font-size:.875rem;margin-top:.8rem}.trust-line .tl-more{display:none}
 .swatch-card img{width:9.5rem}
}
@media (max-width:360px){.ph-act2{grid-template-columns:minmax(0,1fr)}}
/* home hero: dark, copy + the yard photo (gbp-38). Phones: copy then a 16:9 crop above the sticky bar */
.hero{background:var(--ink);color:#fff;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:3rem;padding:3rem 0 3.25rem;align-items:stretch}
.hero-tx{align-self:center;min-width:0}
.hero h1{color:#fff;max-width:20ch;font-size:clamp(2.1rem,3.4vw,3.1rem);line-height:1.1}
.hero .lede{color:#E8ECDD;max-width:52ch}
.hero .eyebrow{color:var(--moss-l)}
.hero .btn-line{border-color:rgba(255,255,255,.7);color:#fff}.hero .btn-line:hover{background:#fff;color:var(--ink)}
.hero .trust-line{color:#DCE3CF}.hero .trust-line .stars{color:#F2C14E}
.hero-ph{position:relative;margin:0;border-radius:20px;overflow:hidden;min-height:31rem;background:#2a2f27}
.hero-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ans-short{display:none}
@media (max-width:899px){
 .hero .wrap{display:flex;flex-direction:column;gap:0;padding:1rem 0 0}
 .hero .eyebrow{font-size:.72rem;letter-spacing:.1em;margin-bottom:.55rem}
 .hero h1{font-size:1.45rem;line-height:1.16;max-width:none;margin-bottom:.5rem}
 .ans-long{display:none}.ans-short{display:block;font-size:1rem;line-height:1.5;margin:0}
 .hero-ph{min-height:0;aspect-ratio:16/9;margin:1rem -20px 0;border-radius:0}
}
/* photo bands, pairs, strips, gallery */
.pfig,.pband{margin:0}
.pfig img,.pband img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;background:var(--sand2)}
.pband{margin:1.6rem 0 1.8rem}.pband img{aspect-ratio:3/2}
.pfig figcaption,.pband figcaption{font-size:.82rem;color:var(--muted);margin-top:.45rem;line-height:1.4}
.pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:14px;margin:1.6rem 0}
.pstrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:16px;margin-top:2rem}
.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:18px}
.credits{font-size:.82rem;color:var(--muted);margin-top:1.5rem}
.lg-strip img{width:100%;height:9rem;object-fit:cover;display:block}
.lg-ans{color:#E8ECDD;max-width:60ch;font-size:1.1rem}
/* bands */
.band .ph{position:relative;min-height:20rem}
.band .ph img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover}
.band .tx{padding:2.6rem}
.band-r .ph{order:2}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.7);color:#fff}
@media (max-width:860px){.band .ph{min-height:0;aspect-ratio:4/3}.band-r .ph{order:0}.band .tx{padding:1.8rem 1.4rem}}
/* home: what do I need path, proof, pickup/delivery */
.path{list-style:none;counter-reset:p;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:18px}
.path li{counter-increment:p;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.4rem 1.3rem 1.3rem;position:relative}
.path li:before{content:counter(p);display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--ink);color:var(--moss-l);font:700 1rem/1 var(--f-body);margin-bottom:.7rem}
.path b{display:block;font:600 1.25rem/1.2 var(--f-head);margin-bottom:.4rem}.path span{color:var(--ink2)}
.path-links{display:flex;flex-wrap:wrap;gap:.35rem .5rem}
.path-links a{display:inline-flex;align-items:center;min-height:2.75rem;padding:0 .8rem;border:1px solid var(--line);border-radius:999px;background:var(--paper);text-decoration:none;font-weight:600;font-size:.9rem;color:var(--ink)}
.path-links a:hover{border-color:var(--rust);color:var(--rust)}
.proof{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2.4rem;margin-bottom:1.6rem}.proof .rating-card{margin:0}.proof h2{margin:0}
.pd{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:18px}
.pd h3{display:flex;align-items:center;gap:.6rem}.pd h3 svg{width:1.5rem;height:1.5rem;color:var(--rust)}
.links-row{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;margin-top:1.4rem}.links-row a{min-height:2.75rem}
.card-h{font-size:1.3rem}.card-p{color:var(--muted);font-size:.95rem}
/* catalog: compact + first 24 on phones (DESIGN_AUDIT L9) */
.show-all{display:none;margin-top:1rem;text-align:center}
.tile-ask .ph.ask{display:grid;place-items:center;font:600 3rem/1 var(--f-head);color:var(--rust);background:var(--sand)}
.tile .ph-photo{aspect-ratio:4/3}
@media (max-width:700px){
 .grid.compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .grid.compact .tx{padding:.45rem .5rem .55rem}.grid.compact b{font-size:.82rem;overflow-wrap:anywhere}.grid.compact small,.grid.compact .go{display:none}
 .grid.clip>.tile:nth-child(n+25){display:none}
 .grid.clip~.show-all{display:block}
}
@media (max-width:340px){.grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* reviews: one column, long reviews clamp with Read more */
.rlist{display:grid;gap:14px;max-width:52rem}
.rq p{font-size:1.02rem}
.rq.clamp p{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.rq .more{align-self:flex-start;background:none;border:0;color:var(--rust);font:700 .95rem/1 var(--f-body);cursor:pointer;min-height:2.75rem;padding:0}
/* calculator */
.calc-opts{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.calc-x{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:700}
.calc-x select,.calc-cy input{font:inherit;padding:.6rem .8rem;border:1px solid #CFC5B2;border-radius:10px;background:var(--paper);min-height:2.75rem}
.calc-cy input{width:7rem;margin-top:.3rem}
.calc-h3{margin-top:1.6rem}
.calc-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));align-items:end}
.calc-row button.rm{justify-self:start}
/* stock-check sheet */
.sc{border:0;padding:0;background:transparent;width:min(32rem,calc(100% - 1.5rem));max-width:none;margin:auto}
.sc::backdrop{background:rgba(20,22,18,.62)}
.sc-card{position:relative;max-height:calc(100dvh - 2rem);overflow:auto;box-shadow:0 30px 60px rgba(0,0,0,.35)}
.sc-card h2{padding-right:3rem}
.sc-x{position:absolute;right:.5rem;top:.5rem;width:44px;height:44px;border-radius:50%;border:0;background:var(--sand);color:var(--ink);font:400 1.6rem/1 var(--f-body);cursor:pointer}
.sc-x:hover{background:var(--ink);color:#fff}
/* stone-page chip: one pill only (AUDIT2 #13 / L5) */
.chips li{list-style:none}
.chips a{display:inline-flex;align-items:center;min-height:2.75rem}
/* repetition on phones (L10): the aside visit card and the footer hours go; final() carries them */
@media (max-width:980px){.aside .card-dark{display:none}.ftr .hrs,.ftr-brand .fine{display:none}}
/* 44 px targets (AUDIT2 #14, L12) */
.crumbs a{display:inline-block;padding:.65rem 0}
.ticks a{display:inline-block;padding:.45rem 0}
@media (max-width:900px){.soc a{width:44px;height:44px}.ftr-base a,.ftr-base button,.u-rate,.mega-all,.related a{display:inline-flex;align-items:center;min-height:44px}.ftr-built a{display:inline-block;padding:15px 0}.ftr li a{display:inline-block;padding:.5rem 0}}
.mvr-x:before{content:"";position:absolute;inset:-10px}
/* launchers stay off the hero buttons on phones until the visitor scrolls (BENCHMARK 4a) */
@media (max-width:1080px){body:not(.scrolled) #mvr-a11y-trigger,body:not(.scrolled) .mvr-chat-btn,body:not(.scrolled) .mvr-x{opacity:0!important;pointer-events:none!important;visibility:hidden!important}}
.cat small{line-height:1.3}
@media (max-width:520px){.cat small{display:block;font-size:.75rem}.cat span{padding:2.4rem .7rem .7rem}.cat b{font-size:clamp(1rem,4.4vw,1.2rem)}}
.cat{aspect-ratio:4/3.6}

/* DESIGN2 r2 */
.band .eyebrow{color:var(--moss-l)}
.crumbs li{display:inline-flex;align-items:center}
.phero .answer{margin-bottom:0}.phero .answer-more{margin-top:.5em}
.phero .chips{margin:1rem 0 0}
.phero .hero-ctas .btn-lg,.hero .hero-ctas .btn-lg{padding:0 1.35rem}
@media (max-width:900px){.phero .answer-more{order:9;margin-top:1rem}.phero .chips{order:10}.phero .swatch-card{order:9}.phero-img{aspect-ratio:2/1}}
@media (max-width:899px){.hero h1{font-size:1.3rem;letter-spacing:-.015em}}
@media (min-width:900px){.hero h1{max-width:none;font-size:clamp(2.1rem,2.9vw,2.6rem)}}
/* DESIGN2 r3: nothing may force a column wider than a 320 px phone at 150% text */
.final .wrap{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.two-col{grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr)}.band{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:980px){.two-col{grid-template-columns:minmax(0,1fr)}}
@media (max-width:900px){.final .wrap{grid-template-columns:minmax(0,1fr)}}
@media (max-width:860px){.band{grid-template-columns:minmax(0,1fr)}}
.two-col>*,.final .wrap>*,.band>*{min-width:0}
@media (max-width:480px){.btn{white-space:normal;height:auto;min-height:3.1rem;padding:.55rem 1rem;text-align:center;line-height:1.2}.hrs th{padding-right:.6rem}}
@media (max-width:400px){.hdr>.wrap{gap:8px}.brand-img img{height:40px}.burger{padding:4px}.hdr-call{width:44px;height:44px}}
.search{flex-wrap:wrap}.search input{min-width:0;width:100%;flex:1 1 12rem}
.swatch-card{flex-wrap:wrap}.swatch-card img{width:min(12.5rem,45%)}.swatch-card figcaption{flex:1 1 8rem;min-width:0}
@media (max-width:900px){.swatch-card img{width:min(9.5rem,45%)}}
.kv{grid-template-columns:auto minmax(0,1fr)}.kv dd{overflow-wrap:anywhere}
.filter button{min-height:2.75rem}
a[href^="mailto"],address a,.card a{overflow-wrap:anywhere}
button{max-width:100%}
.btn svg{flex:none}

/* 11/11/26 stone pages: the big picture is the stone's own catalog photo (small originals, so it is shown at its real size, not stretched) */
.phero-img.stone-own{min-height:0;align-self:start;justify-self:center;width:100%;max-width:30rem;background:#fff;border:1px solid var(--line)}
.phero-img.stone-own img{position:static;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;display:block}
.phero-img.stone-own figcaption{position:static;max-width:none;background:#fff;color:var(--muted);font-size:.875rem;line-height:1.4;padding:.6rem .8rem;border-radius:0}
.phero-img.stone-own figcaption b{color:var(--ink)}
@media (max-width:900px){.phero-img.stone-own{aspect-ratio:auto;max-height:none;margin:.2rem auto 1rem;border-radius:14px;max-width:24rem}}
/* 11/11/26 header + top strip never wrap, at any browser text size: breakpoints in em, text growth capped inside the header */
.hdr>.wrap,.util>.wrap{width:min(1480px,100% - 40px)}
.nav-l,.util .ico,.util .open-now,.hdr-cta .btn{white-space:nowrap}
.nav-l{font-size:min(.9688rem,17px)}.hdr-cta .btn{font-size:min(.95rem,16.5px)}.util{font-size:min(.8438rem,14.5px)}
.util .wrap{flex-wrap:nowrap;overflow:hidden}.util .u-r{flex:none}
@media (max-width:104em){.hdr-stock{display:none!important}}
@media (max-width:96em){.util .u-r>a.ico{display:none}}
@media (max-width:84em){.u-wo{display:none}.brand-img img{height:62px}.nav-l{padding-left:8px}.hdr>.wrap{gap:12px}}
@media (min-width:1081px) and (max-width:74em){.util .u-addr{display:none}.hdr-cta .btn{padding:0 .75rem}.nav-c{padding-right:6px}.brand-img img{height:54px}}



/* 11/11/26 calculator: send-to-the-yard buttons + the calculation shown on the quote form */
.calc-go{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0 .5rem}.calc-go .btn{white-space:normal}
.calc-sum{margin:0 0 1rem;padding:.75rem .9rem;background:var(--sand);border-left:4px solid var(--rust);border-radius:8px;font-size:.9rem;line-height:1.45;color:var(--ink)}.calc-sum[hidden]{display:none}
.calc-sum b{display:block;margin-bottom:.2rem}
#calc-form{scroll-margin-top:90px}

@media (min-width:1200px){.hdr-stock{display:inline-flex!important}}


/* 11/11/26 third pass: the logo as large as ONE header row allows (desktop). Slims when the page is scrolled; no jump (margin makes up the height). */
:root{--lgh:clamp(64px,6.6vw,112px);--hh:calc(var(--lgh) + 18px)}
@media (min-width:1081px){
 .hdr>.wrap{height:var(--hh);gap:18px;transition:height .22s ease}
 .hdr .brand-img img{height:var(--lgh)!important;transition:height .22s ease;border-radius:10px}
 .hdr .wrap>nav{margin-left:auto}
 .hdr-cta{margin-left:0}
 .hdr-stock{display:none!important}
 body.hdr-compact .hdr>.wrap{height:68px}
 body.hdr-compact .hdr .brand-img img{height:54px!important}
 body.hdr-compact .hdr{margin-bottom:calc(var(--hh) - 68px)}
}
@media (min-width:1500px) and (min-width:94em){.hdr-stock{display:inline-flex!important}}
@media (prefers-reduced-motion:reduce){.hdr>.wrap,.hdr .brand-img img{transition:none}}

/* 11/11/26 art pass 2: the header row lines up with the page content (same 1240 px column); the stock-check button lives in the heroes, not the header */
:root{--lgh:clamp(62px,6.6vw,104px)}
@media (min-width:1081px){.hdr>.wrap,.util>.wrap{width:min(1240px,100% - 40px)}.hdr-stock{display:none!important}.hdr .wrap>nav{margin-left:auto}}

/* GOLIVE-1111 */
.ts-box{margin:0 0 .5rem}.ts-box:empty{display:none}
.ph-none{display:grid;place-items:center;width:100%;height:100%;min-height:8rem;background:var(--sand);color:var(--muted);font:600 .8125rem/1.3 var(--f-body);text-align:center;padding:.5rem}
.phero-img.stone-none{border-style:dashed}.phero-img.stone-none .ph-none{min-height:13rem;font-size:1rem}

/* UX-1111 (audit P2s) */
/* P2-1: phones under 360 px lost the menu button - the logo gives way first */
@media (max-width:380px){.hdr .brand-img img{height:50px!important}}
@media (max-width:359px){.hdr .brand-img img{height:42px!important}.hdr>.wrap{gap:6px}}
@media (max-width:330px){.hdr .brand-img img{height:36px!important}}
/* P2-3: the slim/tall header switch moved the content in one jump - the margin now animates with the height */
@media (min-width:1081px){.hdr{transition:margin-bottom .22s ease}}
@media (prefers-reduced-motion:reduce){.hdr{transition:none}}
/* P2-4 */
.calc-msg{margin:.5rem 0 0;font:700 .95rem/1.4 var(--f-body);color:#A94A22}.calc-msg:empty{display:none}
/* P2-6: the catalog photos are 272 px wide - show them near their real size so they stay sharp */
.phero-img.stone-own{max-width:20rem}
@media (max-width:900px){.phero-img.stone-own{max-width:20rem}}
.phero-img.stone-none{max-width:20rem}

/* MOBILE-1112 (independent mobile audit, P2s + two P3s) */
/* footer logo was squashed on tablets (fixed height + max-width) */
.brand-ftr.brand-img img{height:auto;width:auto;max-height:96px;max-width:100%}
/* the floating accessibility button no longer sits on top of the open menu, a dialog, or a field being typed in */
body:has(.nav.open) #mvr-a11y-trigger,body:has(dialog[open]) #mvr-a11y-trigger{display:none!important}
body:has(input:focus,textarea:focus,select:focus) #mvr-a11y-trigger{opacity:.2;pointer-events:none}
/* large text: hero buttons wrap their label, long email addresses break */
.hero-ctas .btn{white-space:normal;height:auto;min-height:3.1rem;padding-top:.5rem;padding-bottom:.5rem;text-align:center}
.phero .answer,.hero .lede,.prose p{overflow-wrap:anywhere}
.phero-img.stone-none .ph-none{min-height:9rem}

/* DESIGN2 rem */
/* ==== Mid Valley Rock widgets: "Ask the yard" chat + "before you go" panel (YelloPost 9/29/26; appended to site.css) ====
   Layout contract:
   - chat launcher bottom-RIGHT; its bottom offset is --mvr-chat-b, set by chatbot.js from the measured .actbar and #cc
     (privacy box), so it never sits on either. The a11y trigger (#mvr-a11y-trigger) is bottom-LEFT, so they never meet.
   - phones (<=700px): the open chat is full screen above everything (a11y trigger, privacy box and action bar are hidden
     under it while html.mvr-chat-full is set; page scroll locked without moving the scroll position).
   - exit panel is desktop only (exit.js), z-index above the header. */
.mvr-vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* launcher */
#mvr-chat-btn{position:fixed;right:18px;bottom:var(--mvr-chat-b,18px);z-index:990;height:58px;padding:0 20px 0 9px;border-radius:999px;border:0;background:#1D211C;color:#fff;display:flex;align-items:center;gap:10px;cursor:pointer;box-shadow:0 12px 30px rgba(29,33,28,.35);font:700 1rem/1 var(--f-body,"Figtree",system-ui,sans-serif);transition:bottom .2s,background .15s}
#mvr-chat-btn .av{width:40px;height:40px;border-radius:50%;background:#A94A22;display:grid;place-items:center;flex:none}
#mvr-chat-btn .av svg{width:23px;height:23px}
#mvr-chat-btn:hover{background:#343A31}
#mvr-chat-btn:focus-visible{outline:3px solid #9DB548;outline-offset:3px}
#mvr-chat-btn.open .lbl{display:none}#mvr-chat-btn.open{padding:0 9px}

/* window */
#mvr-chat-win{position:fixed;right:18px;bottom:calc(var(--mvr-chat-b,18px) + 70px);z-index:1001;width:384px;max-width:calc(100vw - 24px);height:570px;max-height:calc(100vh - var(--mvr-chat-b,18px) - 96px);background:#fff;border-radius:18px;box-shadow:0 28px 70px rgba(29,33,28,.30);display:flex;flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);pointer-events:none;transition:opacity .2s,transform .2s,visibility 0s .2s;font:400 0.9375rem/1.5 var(--f-body,"Figtree",system-ui,sans-serif);color:#1D211C}
#mvr-chat-win.open{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .2s,transform .2s}
#mvr-chat-hd{background:#1D211C;color:#fff;padding:14px 12px 14px 16px;display:flex;gap:12px;align-items:center;border-bottom:4px solid #5E7A1F}
#mvr-chat-hd .av{width:42px;height:42px;border-radius:50%;background:#A94A22;display:grid;place-items:center;flex:none}
#mvr-chat-hd .av svg{width:24px;height:24px}
#mvr-chat-hd .tt{min-width:0}
#mvr-chat-hd b{display:block;font:600 1.3125rem/1.1 var(--f-head,"Fraunces",Georgia,serif);color:#fff}
#mvr-chat-hd small{display:block;color:#D9D3C4;font-size:0.8125rem}
#mvr-chat-x{margin-left:auto;flex:none;width:40px;height:40px;border-radius:50%;background:transparent;border:0;color:#fff;font-size:1.625rem;line-height:1;cursor:pointer;display:grid;place-items:center}
#mvr-chat-x:hover{background:rgba(255,255,255,.12)}#mvr-chat-x:focus-visible{outline:3px solid #9DB548;outline-offset:1px}
#mvr-chat-note{margin:0;padding:7px 16px;background:#E9E1D2;color:#343A31;font-size:0.7812rem;font-weight:600}
#mvr-chat-m{flex:1;overflow:auto;overscroll-behavior:contain;padding:16px;background:#F4EFE6;display:flex;flex-direction:column;gap:10px}
.mvrm{max-width:86%;padding:10px 14px;border-radius:16px;font-size:0.9375rem;overflow-wrap:anywhere}
.mvrm.b{background:#fff;border:1px solid #DDD3C1;border-bottom-left-radius:5px;align-self:flex-start}
.mvrm.u{background:#1D211C;color:#fff;border-bottom-right-radius:5px;align-self:flex-end}
.mvrm a{color:#A94A22;font-weight:700}.mvrm.u a{color:#fff}.mvrm ul{margin:4px 0 0 18px;padding:0}
.mvr-typ{display:flex;gap:4px;padding:12px 14px;background:#fff;border:1px solid #DDD3C1;border-radius:16px;align-self:flex-start}
.mvr-typ span{width:7px;height:7px;border-radius:50%;background:#5E7A1F;animation:mvrb .8s infinite}
.mvr-typ span:nth-child(2){animation-delay:.12s}.mvr-typ span:nth-child(3){animation-delay:.24s}
@keyframes mvrb{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(-4px);opacity:1}}
@media (prefers-reduced-motion:reduce){.mvr-typ span{animation:none}#mvr-chat-win,#mvr-chat-btn{transition:none}}
#mvr-chat-q{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px 0;background:#fff}
#mvr-chat-q:empty{display:none}
.mvr-q{border:1.5px solid #DDD3C1;background:#fff;color:#1D211C;border-radius:999px;padding:7px 12px;font:600 0.8438rem/1.1 var(--f-body,"Figtree",sans-serif);cursor:pointer}
.mvr-q:hover,.mvr-q:focus-visible{border-color:#5E7A1F;background:#5E7A1F;color:#fff}
#mvr-chat-in{display:flex;gap:8px;padding:12px 14px;background:#fff}
#mvr-chat-ta{flex:1;resize:none;border:1.5px solid #DDD3C1;border-radius:12px;padding:10px 12px;font:inherit;color:#1D211C;min-height:44px;max-height:100px;background:#fff}
#mvr-chat-ta:focus{outline:0;border-color:#5E7A1F;box-shadow:0 0 0 3px rgba(94,122,31,.18)}
#mvr-chat-go{background:#A94A22;color:#fff;border:0;border-radius:12px;padding:0 16px;font:700 0.9375rem/1 var(--f-body,"Figtree",sans-serif);cursor:pointer}
#mvr-chat-go:hover{background:#8A3A18}#mvr-chat-go:disabled{opacity:.55;cursor:default}
#mvr-chat-ft{font-size:0.75rem;color:#5F6358;text-align:center;padding:0 0 10px;background:#fff}
#mvr-chat-ft a{color:#1D211C;font-weight:700;text-decoration:none}
#mvr-chat-ft .yp{display:block;margin-top:3px;font-size:0.6875rem;letter-spacing:.3px}
#mvr-chat-ft .yp b{color:#5E7A1F;font-weight:800}

/* tablets and phones: compact round launcher (the action bar carries the words) */
@media (max-width:1080px){
  #mvr-chat-btn{right:12px;height:54px;padding:0 7px}
  #mvr-chat-btn .lbl{display:none}
  #mvr-chat-win{right:12px}
}
/* phones: full-screen chat on top of everything */
@media (max-width:700px){
  #mvr-chat-win{left:0;right:0;top:0;bottom:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;border-radius:0;z-index:100001}
  #mvr-chat-ta{font-size:1rem}   /* 16px stops iOS zooming the page on focus */
  #mvr-chat-x{width:44px;height:44px}
  .mvr-q{padding:11px 14px}
}
html.mvr-chat-full,html.mvr-chat-full body{overflow:hidden}
html.mvr-chat-full #mvr-a11y-trigger,html.mvr-chat-full #cc,html.mvr-chat-full .actbar,html.mvr-chat-full #mvr-chat-btn{visibility:hidden}
@media print{#mvr-chat-widget,#mvr-exit{display:none!important}}

/* ---- "before you go" panel (desktop only; exit.js) ---- */
.mvr-xp{position:fixed;inset:0;z-index:1100;background:rgba(29,33,28,.55);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity .2s}
.mvr-xp[hidden]{display:none}
html.mvr-xp-open .mvr-xp{opacity:1}
.mvr-xp .xp-card{position:relative;width:min(560px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#FFFDF9;border-radius:20px;border-top:6px solid #5E7A1F;box-shadow:0 30px 80px rgba(0,0,0,.35);padding:30px 32px 24px;color:#1D211C;font:400 1rem/1.55 var(--f-body,"Figtree",system-ui,sans-serif)}
.mvr-xp .xp-x{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;border:0;background:#F4EFE6;color:#1D211C;font-size:1.625rem;line-height:1;cursor:pointer;display:grid;place-items:center}
.mvr-xp .xp-x:hover{background:#E9E1D2}
.mvr-xp .xp-k{margin:0 0 6px;font:800 0.75rem/1.2 var(--f-body,"Figtree",sans-serif);letter-spacing:.14em;text-transform:uppercase;color:#5E7A1F}
.mvr-xp h2{margin:0 0 8px;font:600 1.875rem/1.12 var(--f-head,"Fraunces",Georgia,serif);color:#1D211C;padding-right:36px}
.mvr-xp .xp-p{margin:0 0 18px;color:#343A31}
.mvr-xp fieldset{border:0;margin:0;padding:0;min-width:0}
.mvr-xp legend{font-weight:800;margin:0 0 10px;padding:0;display:flex;align-items:center;gap:10px}
.mvr-xp .xp-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mvr-xp .xp-o{border:1.5px solid #DDD3C1;background:#fff;color:#1D211C;border-radius:12px;padding:12px 14px;text-align:left;font:600 0.9375rem/1.25 var(--f-body,"Figtree",sans-serif);cursor:pointer}
.mvr-xp .xp-o:hover,.mvr-xp .xp-o:focus-visible{border-color:#5E7A1F;background:#F4EFE6;outline:0}
.mvr-xp .xp-pick{color:#5E7A1F}
.mvr-xp .xp-back{border:0;background:none;color:#A94A22;font:700 0.8125rem/1 var(--f-body,"Figtree",sans-serif);text-decoration:underline;cursor:pointer;padding:0}
.mvr-xp .xp-row{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.mvr-xp .xp-row label:last-child{grid-column:1/-1}
.mvr-xp label span{display:block;font-size:0.8125rem;font-weight:700;margin:0 0 4px;color:#343A31}
.mvr-xp input{width:100%;height:46px;border:1.5px solid #DDD3C1;border-radius:10px;padding:0 12px;font:inherit;color:#1D211C;background:#fff}
.mvr-xp input:focus{outline:0;border-color:#5E7A1F;box-shadow:0 0 0 3px rgba(94,122,31,.18)}
.mvr-xp .xp-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.mvr-xp .xp-go{margin-top:14px;width:100%;height:50px;border:0;border-radius:999px;background:#A94A22;color:#fff;font:700 1rem/1 var(--f-body,"Figtree",sans-serif);cursor:pointer}
.mvr-xp .xp-go:hover{background:#8A3A18}.mvr-xp .xp-go:disabled{opacity:.6;cursor:default}
.mvr-xp .xp-msg{min-height:1.4em;margin:8px 0 0;font-size:0.875rem;color:#343A31}
.mvr-xp .xp-msg.bad{color:#A94A22;font-weight:700}
.mvr-xp .xp-alt{margin:14px 0 0;text-align:center}
.mvr-xp .xp-call{display:inline-flex;align-items:center;gap:8px;color:#1D211C;font-weight:700;text-decoration:none}
.mvr-xp .xp-call svg{width:18px;height:18px;color:#5E7A1F}
.mvr-xp .xp-call:hover{color:#A94A22}
.mvr-xp .xp-fine{margin:10px 0 0;text-align:center;font-size:0.7812rem;color:#5F6358}
@media (prefers-reduced-motion:reduce){.mvr-xp{transition:none}}

/* 9/30 phones + tablets: no floating chat launcher (the bottom bar Ask button opens the same chat, like NWD); the chat can never be hidden there */
@media (max-width:1080px){#mvr-chat-btn,#mvr-x-mvr-chat-widget,#mvr-restore-mvr-chat-widget{display:none!important}#mvr-chat-widget{display:block!important}}
@media (max-width:1080px){#mvr-chat-win{transition:none}#mvr-chat-win.open{opacity:1!important;visibility:visible!important;transform:none!important}}
