:root{--paper:#FAF7F2;--paper-2:#F1ECE3;--teal:#0E4A4F;--teal-2:#14636A;--teal-l:#DCEAE8;--ink:#1C2423;--ink-2:#55605E;--line:#E2DBCF;
--c-mari:#E8A93B;--c-blush:#E3B5A4;--c-sage:#9DB39A;--c-navy:#2B3F6B;--c-linen:#EDE6DA;--c-rust:#B4583A}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:"Instrument Sans",system-ui,sans-serif;background:var(--paper);color:var(--ink);font-size:17px;line-height:1.62;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:"Bricolage Grotesque",sans-serif;line-height:1.05;letter-spacing:-.025em;font-weight:700}
:focus-visible{outline:3px solid var(--c-mari);outline-offset:2px}
.wrap{width:min(1200px,92%);margin:0 auto}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.95rem 1.5rem;border-radius:4px;font:600 1rem "Instrument Sans",sans-serif;text-decoration:none;border:0;cursor:pointer;transition:background .15s,color .15s}
.btn-teal{background:var(--teal);color:#fff}.btn-teal:hover{background:var(--teal-2)}
.btn-mari{background:var(--c-mari);color:var(--ink)}.btn-mari:hover{background:#F0BA57}
.btn-line{box-shadow:inset 0 0 0 1.5px currentColor;background:transparent}
.btn-line:hover{background:var(--ink);color:#fff;box-shadow:none}
/* swatch bar */
.swbar{display:flex;height:8px}
.swbar i{flex:1}
.swbar i:nth-child(1){background:var(--teal)}.swbar i:nth-child(2){background:var(--c-sage)}.swbar i:nth-child(3){background:var(--c-linen)}.swbar i:nth-child(4){background:var(--c-blush)}.swbar i:nth-child(5){background:var(--c-mari)}.swbar i:nth-child(6){background:var(--c-rust)}.swbar i:nth-child(7){background:var(--c-navy)}
/* header */
.site-h{position:sticky;top:0;z-index:60;background:rgba(250,247,242,.95);backdrop-filter:blur(8px);transition:box-shadow .2s}
.site-h.scrolled{box-shadow:0 1px 0 var(--line),0 10px 30px rgba(28,36,35,.06)}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px;gap:1rem}
.logo{display:flex;align-items:center;gap:.65rem;text-decoration:none;font:700 1.45rem "Bricolage Grotesque";letter-spacing:-.04em}
.logo svg{width:38px;height:38px}
.menu{display:flex;list-style:none;gap:2rem}
.menu a{text-decoration:none;font-weight:500;padding:.3rem 0;border-bottom:2px solid transparent}
.menu a:hover,.menu a[aria-current=page]{border-color:var(--c-mari)}
.nav-r{display:flex;align-items:center;gap:1.2rem}
.nav-r .tel{font-weight:600;text-decoration:none;white-space:nowrap}
.burger{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer}
.burger span{display:block;width:24px;height:2px;background:var(--ink);margin:5px auto}
.mnav{display:none}
/* page hero (inner) */
.phero{background:var(--teal);color:#fff;padding:5rem 0 4.5rem;position:relative;overflow:hidden}
.phero h1{font-size:clamp(2.6rem,6vw,5rem);max-width:15ch}
.phero p{margin-top:1.2rem;max-width:52ch;color:#CFE3E0;font-size:1.15rem}
.crumb{font-size:.9rem;color:#9CC4BF;margin-bottom:1.2rem}
.crumb a{text-decoration:none}
.phero .chips{position:absolute;right:4%;top:50%;transform:translateY(-50%) rotate(8deg);display:flex;gap:10px}
.phero .chips i{width:56px;height:190px;border-radius:6px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
section{padding:6rem 0}
.sh{max-width:680px;margin-bottom:3rem}
.sh h2{font-size:clamp(2rem,4vw,3.3rem);margin-bottom:1rem}
.sh p{color:var(--ink-2);font-size:1.1rem}
/* chip (paint card) */
.chip{background:#fff;border-radius:6px;box-shadow:0 1px 0 var(--line),0 12px 28px rgba(28,36,35,.08);overflow:hidden}
.chip .c{height:120px}
.chip .t{padding:.8rem 1rem;font-size:.9rem}
.chip .t b{display:block;font-family:"Bricolage Grotesque";font-size:1.05rem}
.chip .t span{color:var(--ink-2)}
/* forms */
.f{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.92rem}
.f input,.f select,.f textarea{font:400 1rem "Instrument Sans";padding:.8rem .95rem;border:1.5px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);width:100%}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--teal);outline:none}
.f .err{color:#B23A1E;font-size:.82rem;font-weight:500;min-height:1em}
.f.bad input,.f.bad select,.f.bad textarea{border-color:#B23A1E}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fgrid .full{grid-column:1/-1}
.okmsg{display:none;padding:2rem;text-align:center;background:var(--teal-l);border-radius:6px}
.okmsg h3{font-size:1.5rem;margin-bottom:.4rem}
form.sent .fields{display:none}
form.sent .okmsg{display:block}
/* faq */
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:1.4rem 3rem 1.4rem 0;font:600 1.2rem "Bricolage Grotesque";position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;background:var(--teal-l);color:var(--teal);display:grid;place-items:center;font:500 1.4rem "Instrument Sans";transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{padding-bottom:1.4rem;color:var(--ink-2);max-width:70ch}
/* cta band */
.cta-band{background:var(--c-mari);padding:4.5rem 0}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
.cta-band h2{font-size:clamp(2rem,4vw,3.2rem);max-width:18ch}
/* footer */
.site-f{background:var(--ink);color:#B9C3C1;padding:4rem 0 2rem;font-size:.95rem}
.site-f .logo{color:#fff}
.fcols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;padding-bottom:2.5rem;border-bottom:1px solid #34403E}
.fcols h4{color:#fff;font-size:1.05rem;margin-bottom:.8rem}
.fcols a{display:block;text-decoration:none;padding:.15rem 0}
.fcols a:hover{color:#fff}
.copy{padding-top:1.5rem;font-size:.85rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
@media (max-width:980px){
 .menu,.nav-r .tel{display:none}
 .burger{display:block}
 .mnav{display:block;position:fixed;top:86px;left:0;right:0;background:var(--paper);padding:1rem 4% 1.6rem;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:transform .25s;z-index:55;box-shadow:0 20px 30px rgba(0,0,0,.08)}
 .mnav.open{transform:none}
 .mnav a{display:block;padding:.85rem 0;border-bottom:1px solid var(--line);text-decoration:none;font-weight:600}
 .mnav .btn{margin-top:1rem;width:100%;justify-content:center;border-bottom:0;color:#fff;padding-left:1rem}
 .fcols{grid-template-columns:1fr 1fr}
 .phero .chips{display:none}
}
@media (max-width:600px){
 body{font-size:16px}
 section{padding:4.2rem 0}
 .nav-r .btn{display:none}
 .fgrid{grid-template-columns:1fr}
 .fcols{grid-template-columns:1fr}
 .phero{padding:3.5rem 0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}
