/* AMS Renovations — site-specific styles. Loaded after base.css. */

/* Archivo variable (wght + wdth), latin only, preloaded in <head>. display:optional avoids the reflow (CLS) on big headings. */
@font-face{font-family:"Archivo";font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:optional;src:url(https://fonts.gstatic.com/s/archivo/v25/k3kQo8UDI-1M0wlSfdnoLg.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{font-family:var(--font-body);color:var(--ink)}
h1,h2,h3{font-family:var(--font-display);font-stretch:80%;font-weight:800;letter-spacing:-.01em;line-height:1.05;text-wrap:balance}
h2{font-size:var(--fs-2xl)}
a{color:var(--brand)}
.btn{font-weight:600;border-radius:var(--radius)}
.btn-primary{box-shadow:none}
.btn-outline{border-width:2px}

/* Header */
.site-header .brand img{height:46px;width:auto}
.nav a{font-size:var(--fs-md);color:var(--ink)}
.header-call{display:none}
@media(max-width:860px){
  .header-call{display:inline-flex;margin-left:auto;padding:.55em .8em;font-size:var(--fs-sm)}
  .site-header .brand img{height:38px}
}

/* Hero */
.hero{padding-block:clamp(2rem,6vw,5rem) clamp(2.5rem,6vw,5rem)}
.hero-grid{display:grid;gap:clamp(1.5rem,4vw,4rem);align-items:center}
@media(min-width:900px){.hero-grid{grid-template-columns:1.15fr .85fr}}
.hero h1{font-size:clamp(2.4rem,1.6rem + 4vw,4.6rem);max-width:14ch;margin:0}
.hero .lede{margin-top:var(--s-5);color:var(--ink-2)}
.hero .actions{margin-top:var(--s-6)}
.hero-facts{margin-top:var(--s-6);display:grid;gap:.35em;font-size:var(--fs-sm);color:var(--ink-2)}
.hero-facts strong{color:var(--ink);font-weight:600}
.hero-photo{margin:0;position:relative}
.hero-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 40%;border-radius:var(--radius);animation:settle 900ms var(--ease) both}
.hero-photo figcaption{margin-top:var(--s-2);font-size:var(--fs-xs);color:var(--ink-2)}
@media(max-width:899px){.hero-photo img{aspect-ratio:4/3;object-position:50% 35%}}
@keyframes settle{from{transform:scale(1.035)}to{transform:none}}
@media(prefers-reduced-motion:reduce){.hero-photo img{animation:none}}

/* Services */
.services .section-head{margin-bottom:var(--s-6)}
.services .list-rows li{grid-template-columns:minmax(0,1fr) auto;padding:var(--s-5) 0}
.services .list-rows h3{font-size:var(--fs-xl)}
.services .list-rows p{font-size:var(--fs-md);max-width:62ch}
.services .list-rows a{font-weight:600;white-space:nowrap}
.services .list-rows h3 a{color:inherit;text-decoration:none}
.services .list-rows h3 a:hover{color:var(--brand);text-decoration:underline}

/* Reviews: the loud section */
.reviews{background:var(--ice)}
.reviews .big{margin:0 0 var(--s-7);max-width:min(100%,58rem)}
.reviews .big blockquote{margin:0;font-family:var(--font-display);font-stretch:85%;font-weight:700;font-size:clamp(2rem,1.3rem + 3.2vw,3.9rem);line-height:1.08;color:var(--brand);text-wrap:balance}
.reviews .big blockquote::before{content:"\201C";display:block;color:var(--accent);font-size:1.4em;line-height:.6;margin-bottom:.1em}
.reviews .big figcaption{margin-top:var(--s-4);font-weight:600}
.review-list{display:grid;gap:var(--s-6) var(--s-7);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));list-style:none;margin:0;padding:0}
.review-list blockquote{margin:0;color:var(--ink);font-size:var(--fs-md);line-height:1.55}
.review-list figcaption{margin-top:var(--s-3);font-weight:600;color:var(--brand)}
.review-list figure{margin:0;padding-top:var(--s-4);border-top:2px solid color-mix(in srgb,var(--steel) 35%,transparent)}

/* License + work */
.license{background:#fff;border:1px solid var(--line);border-top:6px solid var(--brand);padding:clamp(1.25rem,3vw,2.25rem);max-width:640px}
.license h3{font-size:var(--fs-xl);margin:0}
.license .num{font-size:var(--fs-lg);font-weight:700;color:var(--brand);margin-top:var(--s-2)}
.license dl{display:grid;grid-template-columns:auto 1fr;gap:.5em var(--s-5);margin:var(--s-5) 0 0;font-size:var(--fs-sm)}
.license dt{font-weight:600}
.license dd{margin:0;color:var(--ink-2)}
.license p{margin-top:var(--s-5);font-size:var(--fs-sm)}
.proof-grid{display:grid;gap:var(--s-7);align-items:start}
@media(min-width:960px){.proof-grid{grid-template-columns:1fr 1fr}}
.work{display:grid;gap:var(--s-3);grid-template-columns:repeat(3,1fr)}
.work figure{margin:0}
.work img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius)}
.work figcaption{font-size:var(--fs-xs);color:var(--ink-2);margin-top:var(--s-2)}
@media(max-width:560px){.work{grid-template-columns:1fr 1fr}.work figure:last-child{grid-column:1/-1}.work figure:last-child img{aspect-ratio:4/3}}

/* Areas */
.towns{columns:4 11rem;column-gap:var(--s-6);list-style:none;padding:0;margin:var(--s-5) 0 0}
.towns li{padding:.3em 0;break-inside:avoid;border-bottom:1px solid var(--line)}

/* Contact */
.contact-grid{display:grid;gap:var(--s-7)}
@media(min-width:900px){.contact-grid{grid-template-columns:.9fr 1.1fr}}
.contact-info .item strong{display:block}
.map{aspect-ratio:16/10;margin-top:var(--s-6)}
.form-success{outline:none}

/* Inner pages */
.h3{font-size:var(--fs-xl)}
.crumbs{font-size:var(--fs-sm);color:var(--ink-2);margin-bottom:var(--s-4)}
.crumbs a{color:var(--ink-2)}
.page-hero{padding-block:clamp(2rem,5vw,4rem) clamp(1.5rem,4vw,3rem);border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(2.1rem,1.5rem + 2.8vw,3.6rem);max-width:18ch;margin:0}
.page-hero .lede{margin-top:var(--s-4)}
.page-hero-grid{display:grid;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
@media(min-width:900px){.has-photo .page-hero-grid{grid-template-columns:1.1fr .9fr}}
.page-photo{margin:0}
.page-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
.prose{max-width:70ch}
.prose h2{font-size:var(--fs-xl);margin:var(--s-7) 0 var(--s-3)}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{font-size:var(--fs-md);line-height:1.65}
.prose p+p{margin-top:var(--s-4)}
.prose ul{padding-left:1.2em;margin:var(--s-4) 0}
.prose li+li{margin-top:var(--s-2)}
.prose .pull{font-family:var(--font-display);font-stretch:85%;font-weight:700;font-size:var(--fs-xl);color:var(--brand);line-height:1.2}
.prose-sec{padding-bottom:var(--s-7)}
.work.two{grid-template-columns:repeat(2,1fr);max-width:820px}
.work.two figure:last-child{grid-column:auto}
.work.two figure:last-child img{aspect-ratio:3/4}
.areas-grid{display:grid;gap:var(--s-7)}
.area-group .towns{margin-top:var(--s-4)}
.page-cta{border-top:1px solid var(--line)}
.page-cta h2{font-size:var(--fs-2xl)}
.services .list-rows li>a{font-size:var(--fs-sm);align-self:center}
@media(max-width:640px){.services .list-rows li{grid-template-columns:1fr}.services .list-rows li>a{justify-self:start}}

/* Footer */
.site-footer{background:var(--ink)}
.site-footer .foot-logo{background:#fff;display:inline-block;padding:.5rem .75rem;border-radius:var(--radius)}
.site-footer .foot-logo img{height:40px;width:auto}
.site-footer p{max-width:40ch;margin-top:var(--s-4)}
