/* Maidsway — site-specific styles. Loaded after base.css. */
/* Google Fonts, latin subset, declared here so no extra stylesheet blocks the first paint */
@font-face{font-family:'Figtree';font-style:normal;font-weight:400 700;font-display:optional;src:url(https://fonts.gstatic.com/s/figtree/v9/_Xms-HUzqDCFdgfMm4S9DQ.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Outfit';font-style:normal;font-weight:500 700;font-display:optional;src:url(https://fonts.gstatic.com/s/outfit/v15/QGYvz_MVcBeNP4NJtEtq.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

body{color:var(--ink)}
h1,h2,h3{font-weight:600;letter-spacing:-.015em}
h2{font-size:clamp(1.8rem,1.35rem + 1.8vw,2.6rem);line-height:1.12}
h3{font-size:var(--fs-lg)}
a{color:var(--brand)}
.btn{min-height:48px;font-family:var(--font-body);font-weight:650}
.btn-primary{box-shadow:none}
.btn-night{background:var(--night);color:#fff}
.btn-night:hover{filter:brightness(1.25)}
.btn-line{background:transparent;color:var(--night);border-color:var(--night)}
.btn-line:hover{background:var(--night);color:#fff}

/* Header */
.site-header{background:#fff}
.brand img{height:34px;width:auto}
@media (max-width:640px){.brand img{height:28px}}

/* Hero: the brand teal, the headline, and a customer's own words */
.hero-mw{background:var(--teal);color:var(--night);padding-block:clamp(2.5rem,7vw,6rem)}
.hero-mw .grid-hero{display:grid;gap:clamp(2rem,5vw,4.5rem);align-items:end}
@media (min-width:900px){.hero-mw .grid-hero{grid-template-columns:1.15fr .85fr}}
.hero-mw h1{font-size:clamp(2.35rem,1.4rem + 4.2vw,4.6rem);line-height:1.02;letter-spacing:-.03em;max-width:13ch;margin:0}
.hero-mw .lede{color:var(--night);font-size:var(--fs-lg);max-width:46ch;margin-top:var(--s-5)}
.hero-mw .actions{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-6)}
.hero-quote{margin:0;padding-left:clamp(1rem,2vw,1.6rem);border-left:3px solid var(--night)}
.hero-quote blockquote{margin:0;font-family:var(--font-display);font-weight:500;font-size:clamp(1.45rem,1.1rem + 1.4vw,2.2rem);line-height:1.2;letter-spacing:-.01em}
.hero-quote figcaption{margin-top:var(--s-4);font-size:var(--fs-sm)}
.hero-quote figcaption details{margin-top:var(--s-3)}
.hero-quote summary{cursor:pointer;text-decoration:underline;text-underline-offset:.2em;display:inline-block;padding:.35em 0}
.hero-quote details p{margin-top:var(--s-2);max-width:48ch}

/* Services: two editorial lists */
.svc-cols{display:grid;gap:var(--s-7)}
@media (min-width:900px){.svc-cols{grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem)}}
.svc-cols h3.col-title{font-size:var(--fs-sm);font-family:var(--font-body);font-weight:650;color:var(--ink-2);margin-bottom:var(--s-3)}
.list-rows li{grid-template-columns:1fr}
.list-rows h3{font-size:clamp(1.15rem,1.05rem + .4vw,1.35rem)}
.list-rows p{font-size:var(--fs-md);max-width:52ch}

/* Reviews */
.reviews{display:grid;gap:var(--s-6)}
@media (min-width:760px){.reviews{grid-template-columns:1fr 1fr;gap:var(--s-7) clamp(2rem,5vw,5rem)}}
.review{margin:0}
.review blockquote{margin:0;font-family:var(--font-display);font-weight:500;font-size:var(--fs-lg);line-height:1.35}
.review figcaption{margin-top:var(--s-2);color:var(--ink-2);font-size:var(--fs-sm)}
.review-note{margin-top:var(--s-6);color:var(--ink-2);font-size:var(--fs-sm)}

/* Trust + steps */
.trust{display:grid;gap:var(--s-7)}
@media (min-width:900px){.trust{grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem)}}
.keys{margin:0;display:grid;gap:var(--s-5)}
.keys dt{font-family:var(--font-display);font-weight:600;font-size:var(--fs-lg)}
.keys dd{margin:.3em 0 0;color:var(--ink-2);max-width:48ch}
.steps{margin:0;padding-left:1.4em;display:grid;gap:var(--s-5)}
.steps li{padding-left:.3em}
.steps li::marker{font-family:var(--font-display);font-weight:600;color:var(--brand)}
.steps strong{display:block;font-family:var(--font-display);font-weight:600;font-size:var(--fs-lg)}
.steps span{color:var(--ink-2)}

/* Areas */
.areas{font-size:var(--fs-lg);max-width:60ch}

/* Quote request */
.quote-grid{display:grid;gap:var(--s-7)}
@media (min-width:900px){.quote-grid{grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,5rem)}}
.call-big{display:inline-block;font-family:var(--font-display);font-weight:600;font-size:clamp(1.8rem,1.3rem + 2vw,2.6rem);color:var(--brand);text-decoration:none;padding:.15em 0;letter-spacing:-.01em}
.call-big:hover{text-decoration:underline}
.contact-lines{list-style:none;padding:0;margin:var(--s-5) 0 0;display:grid;gap:.6em;color:var(--ink-2)}
.form select{appearance:auto}
.form button{justify-self:start}

/* Inner pages */
.page-head{background:var(--rinse);padding-block:clamp(2.5rem,6vw,4.5rem)}
.page-head h1{font-size:clamp(2.1rem,1.4rem + 3vw,3.6rem);line-height:1.05;letter-spacing:-.025em;max-width:18ch;margin:0}
.page-head .lede{margin-top:var(--s-4);max-width:56ch}
.page-head .actions,.section .actions{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-5)}
.prose-grid{display:grid;gap:var(--s-7)}
@media (min-width:900px){.prose-grid{grid-template-columns:1.3fr .9fr;gap:clamp(2rem,5vw,5rem)}}
.prose h2{font-size:clamp(1.4rem,1.2rem + .9vw,1.9rem);margin-top:var(--s-7)}
.prose h2:first-child{margin-top:0}
.prose p{max-width:62ch}
.side .col-title,.svc-cols .col-title{font-size:var(--fs-sm);font-family:var(--font-body);font-weight:650;color:var(--ink-2);margin-bottom:var(--s-3);letter-spacing:0}
.ticks{list-style:none;padding:0;margin:0 0 var(--s-7);border-top:1px solid var(--line)}
.ticks li{padding:.7em 0 .7em 1.6em;border-bottom:1px solid var(--line);position:relative}
.ticks li::before{content:"";position:absolute;left:.2em;top:1.05em;width:.7em;height:.38em;border-left:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:rotate(-45deg)}
.reviews.one{grid-template-columns:1fr;gap:var(--s-5)}
.area-list{list-style:none;padding:0;margin:0 0 var(--s-6);display:flex;flex-wrap:wrap;gap:.6em}
.area-list li{padding:.45em .9em;border:1px solid var(--line);border-radius:999px;background:#fff}
.list-rows h3 a{color:var(--ink);text-decoration:none}
.list-rows h3 a:hover{color:var(--brand);text-decoration:underline}

/* Footer */
.site-footer{background:var(--night);color:#d7e6e8}
.site-footer .brand img{height:30px}
.footer-bottom{color:#a9c3c7}
