/* V5 summer base. V4 tokens and fonts only, plus two status colours (DESIGN-V5.md).
   Spacing scale: 4, 8, 12, 16, 24, 32, 48, 64, 96, 128. */
@font-face{font-family:"Archivo";font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/archivo-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-weight:800;font-style:normal;font-display:swap;src:url(/fonts/archivo-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/source-sans-3-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/source-sans-3-latin-600-normal.woff2) format("woff2")}
:root{
  --wine:#472732;--ink:#472732;--paper:#FAFBFC;--white:#FFFFFF;--mist:#E6EDF1;--muted:#655E65;--rule:#CFD7DA;
  --cold:#D5E6F4;--warm:#F6E0B8;--apricot:#E9A86A;
  --solid:#1F6B45;--leak:#A3262A;--look:#7A5300;
  --display:"Archivo",system-ui,sans-serif;--body:"Source Sans 3",system-ui,sans-serif;
  --r-control:4px;--r-paper:2px;
  --paper-shadow:0 2px 3px #4727320A,0 12px 24px #4727320A;
  --gutter:24px;--max:1328px;
  /* Round 3: one easing, three speeds (press, open, slide), three depths (flat, resting --paper-shadow, raised --lift). */
  --ease:cubic-bezier(.2,.8,.2,1);--t-press:120ms;--t-open:200ms;--t-slide:320ms;
  --amber:#E7A44A;--lift:0 4px 10px #47273214,0 18px 36px #47273224;
}
@media (max-width:767px){:root{--gutter:20px}}
@media (max-width:374px){:root{--gutter:16px}}
@media (min-width:768px){:root{--gutter:48px}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.55 var(--body);overflow-x:hidden}
img,svg,video,canvas,iframe{max-width:100%}
img,svg{display:block}
h1,h2,h3,h4{font-family:var(--display);font-weight:800;line-height:1.08;letter-spacing:-.02em;margin:0;text-wrap:balance}
h1{font-size:clamp(40px,7vw,86px);letter-spacing:-.035em}
h2{font-size:clamp(32px,4.4vw,56px)}
h3{font-size:clamp(22px,2.2vw,28px);letter-spacing:-.01em}
p{margin:0}
p+p{margin-top:12px}
a{color:inherit;text-underline-offset:3px}
button,input,select,textarea{font:inherit;color:inherit}
input,select,textarea{font-size:max(16px,1em)}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:48px}
@media (min-width:768px){.section{padding-block:80px}}@media (min-width:1000px){.section{padding-block:96px}}
.kicker{font:600 16px/1.4 var(--body);color:var(--muted)}
.lede{font-size:20px;line-height:1.5;max-width:46ch}
.small{font-size:16px;color:var(--muted)}
.tabular{font-variant-numeric:tabular-nums}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:8px;top:-60px;z-index:100;background:var(--ink);color:var(--paper);padding:12px 16px;border-radius:var(--r-control)}
.skip-link:focus{top:8px}

/* Buttons and chips: 44px floor everywhere. */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:12px 24px;border-radius:var(--r-control);border:2px solid var(--ink);background:transparent;color:var(--ink);font:600 18px/1.2 var(--body);text-decoration:none;cursor:pointer;transition:transform 120ms ease}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--ink);color:var(--paper)}
.btn-primary:hover{background:#5a3340}
.btn-ghost{border-color:var(--rule)}
.text-link{font-weight:600}
.chip{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid var(--rule);border-radius:999px;background:var(--white);color:var(--ink);font:600 16px/1.2 var(--body);text-decoration:none;cursor:pointer}
.chip[aria-pressed="true"],.chip[aria-selected="true"],.chip[aria-current="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.example-tag{display:inline-block;padding:2px 8px;border:1px solid var(--muted);border-radius:2px;font:600 14px/1.4 var(--body);color:var(--muted);background:var(--white)}
.estimate-tag{display:inline-block;padding:2px 8px;border-radius:2px;background:var(--warm);font:600 14px/1.4 var(--body);color:var(--ink)}

/* Status: icon + text + colour, never colour alone. */
.status{display:inline-flex;align-items:center;gap:6px;font:600 16px/1.3 var(--body)}
.status-solid{color:var(--solid)}
.status-look{color:var(--look)}
.status-leak{color:var(--leak)}

/* Header and footer */
.site-header{background:var(--paper);border-bottom:1px solid var(--rule)}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;flex-wrap:wrap}
.wordmark{font:800 22px/1 var(--display);letter-spacing:-.02em;text-decoration:none;color:var(--ink);min-height:44px;display:inline-flex;align-items:center}
.site-nav{display:flex;gap:4px 16px;align-items:center;flex-wrap:wrap}
.site-nav a{min-height:44px;display:inline-flex;align-items:center;font-size:16px;font-weight:600;text-decoration:none}
.site-nav a:hover{text-decoration:underline}
.site-nav .nav-cta{padding:0 16px;border:2px solid var(--ink);border-radius:var(--r-control)}
@media (max-width:767px){.site-nav a:not(.nav-cta){display:none}}
.site-footer{border-top:1px solid var(--rule);background:var(--paper);padding-block:32px;font-size:16px}
.footer-row{display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;align-items:center}
.site-footer nav{display:flex;flex-wrap:wrap;gap:4px 24px;align-items:center}
.site-footer nav a{min-height:44px;display:inline-flex;align-items:center}
.footer-pending{color:var(--muted)}

/* Long-form text: guides, privacy, promises */
.prose{max-width:68ch}
.prose h2{font-size:clamp(26px,3vw,36px);margin-top:48px}
.prose h3{margin-top:32px}
.prose p,.prose ul,.prose ol{margin-top:16px}
.prose li+li{margin-top:8px}
.prose blockquote{margin:16px 0 0;padding:16px 24px;background:var(--white);border-left:4px solid var(--warm);border-radius:var(--r-paper)}

/* Booking card */
.booking-card{max-width:640px;padding:24px;background:var(--white);border:1px solid var(--rule);border-radius:var(--r-paper)}
.booking-card-h{font-size:clamp(22px,3vw,28px);margin-bottom:12px}
.booking-card-list{margin:12px 0 0;padding-left:22px}
.booking-card-list li+li{margin-top:6px}
.booking-card-cta{margin-top:20px}
.booking-card-cta .btn{width:100%;min-height:56px;font-size:20px}
@media (min-width:640px){.booking-card-cta .btn{width:auto;min-width:240px}}
.booking-card-note{margin-top:10px;font-size:15px;color:var(--muted)}

/* Round 3: phone and desktop variants of the same content (plan section 2). */
@media (max-width:767px){.wide-only{display:none!important}}
@media (min-width:768px){.narrow-only{display:none!important}}
/* Every control answers a press inside 120 ms: a small scale and a dip in strength. Transform and opacity only. */
.btn,.chip,.text-link,.site-nav a,.wordmark{transition:transform var(--t-press) var(--ease),opacity var(--t-press) var(--ease)}
.btn:active,.chip:active,.site-nav .nav-cta:active{transform:scale(.98);opacity:.86}
.text-link:active{opacity:.7}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
