/* Copper & Comb sample site. Editorial, warm, modern. */
:root{
  --charcoal:#1c1917;
  --ink:#2a2522;
  --muted:#5f5650;
  --copper:#b87333;
  --copper-ink:#8f5422;
  --copper-soft:#d9a273;
  --blush:#f3e7df;
  --blush-deep:#e8d3c6;
  --cream:#faf6f1;
  --line:#e3d6cc;
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --sans:Jost,"Helvetica Neue",Arial,sans-serif;
  --wrap:1240px;
  --gut:clamp(20px,4vw,48px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:400 17px/1.65 var(--sans);overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;color:var(--charcoal);line-height:1.08;margin:0 0 .5em;letter-spacing:-.01em}
h1 em,h2 em,h3 em,.ital{font-style:italic;color:var(--copper-ink)}
p{margin:0 0 1em}
:focus-visible{outline:2px solid var(--copper);outline-offset:3px;border-radius:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:12px;top:12px;z-index:50;background:var(--charcoal);color:var(--cream);padding:10px 14px}

/* Eyebrow + small caps labels */
.eyebrow{display:inline-flex;align-items:center;gap:12px;font:500 12.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--copper-ink);margin:0 0 22px}
.eyebrow::before{content:"";width:34px;height:1px;background:currentColor}
.on-dark .eyebrow{color:var(--copper-soft)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 26px;border-radius:999px;
  font:500 14px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:1px solid var(--charcoal);
  background:var(--charcoal);color:var(--cream);transition:background .2s,color .2s,border-color .2s}
.btn:hover{background:var(--copper-ink);border-color:var(--copper-ink)}
.btn--ghost{background:transparent;color:var(--charcoal)}
.btn--ghost:hover{background:var(--charcoal);color:var(--cream);border-color:var(--charcoal)}
.btn--copper{background:var(--copper);border-color:var(--copper);color:var(--charcoal)}
.btn--copper:hover{background:var(--cream);border-color:var(--cream);color:var(--charcoal)}
.btn--light{background:transparent;border-color:rgba(250,246,241,.55);color:var(--cream)}
.btn--light:hover{background:var(--cream);color:var(--charcoal);border-color:var(--cream)}
.btn .arr{font-family:var(--serif);font-size:18px;letter-spacing:0;text-transform:none}
.link-u{color:var(--charcoal);text-decoration:none;font:500 14px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;
  border-bottom:1px solid var(--copper);padding-bottom:6px;display:inline-block}
.link-u:hover{color:var(--copper-ink)}

/* Header */
.site-head{position:sticky;top:0;z-index:40;background:rgba(250,246,241,.94);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.brand{display:flex;align-items:baseline;gap:2px;text-decoration:none;color:var(--charcoal);font:400 27px/1 var(--serif);letter-spacing:-.01em;white-space:nowrap}
.brand em{color:var(--copper);font-style:italic;padding:0 .12em}
.brand small{display:block}
.nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,34px)}
.nav a{text-decoration:none;font:400 15px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);padding:10px 0;position:relative}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--copper);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav a[aria-current="page"]{color:var(--copper-ink)}
.nav .btn{min-height:44px;padding:0 20px;color:var(--cream);font-size:13px}
.nav .btn::after{display:none}
.nav .btn:hover{color:var(--cream)}
.menu-btn{display:none;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer;position:relative;color:var(--charcoal)}
.menu-btn span,.menu-btn::before,.menu-btn::after{content:"";position:absolute;left:14px;right:14px;height:1.5px;background:currentColor;transition:transform .25s,opacity .2s}
.menu-btn::before{top:17px}.menu-btn span{top:23px}.menu-btn::after{top:29px}
.menu-btn.is-open::before{transform:translateY(6px) rotate(45deg)}
.menu-btn.is-open span{opacity:0}
.menu-btn.is-open::after{transform:translateY(-6px) rotate(-45deg)}

@media (max-width:900px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--cream);
    border-bottom:1px solid var(--line);padding:8px var(--gut) 24px;box-shadow:0 20px 40px rgba(28,25,23,.08)}
  .nav.is-open{display:flex}
  .nav a{padding:18px 0;border-bottom:1px solid var(--line);font-size:16px}
  .nav a::after{display:none}
  .nav .btn{margin-top:20px;min-height:52px;border-bottom:1px solid var(--charcoal)}
  .head-in{min-height:68px}
  .brand{font-size:24px}
}

/* Sections */
section{position:relative}
.sec{padding:clamp(72px,10vw,136px) 0}
.sec--tight{padding:clamp(56px,7vw,96px) 0}
.on-dark{background:var(--charcoal);color:#e9e1da}
.on-dark h1,.on-dark h2,.on-dark h3{color:var(--cream)}
.on-dark h2 em,.on-dark h1 em,.on-dark h3 em{color:var(--copper-soft)}
.on-blush{background:var(--blush)}
.lede{font-size:clamp(19px,1.6vw,22px);line-height:1.6;color:var(--muted);max-width:40ch}
.display{font-size:clamp(44px,7.4vw,104px);line-height:.98;letter-spacing:-.025em}
.h2{font-size:clamp(34px,4.6vw,62px)}
.h3{font-size:clamp(24px,2.4vw,32px)}
.num{font:italic 400 15px/1 var(--serif);color:var(--copper-ink);letter-spacing:.02em}

/* Home hero */
.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:min(86vh,860px);border-bottom:1px solid var(--line)}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,6vw,96px) clamp(24px,5vw,80px) clamp(48px,6vw,96px) max(var(--gut),calc((100vw - var(--wrap))/2 + var(--gut)))}
.hero-copy .display{margin-bottom:28px}
.hero-copy .display em{display:block}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px}
.hero-meta{display:flex;flex-wrap:wrap;gap:10px 36px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line);font-size:14px;letter-spacing:.06em;color:var(--muted)}
.hero-meta b{display:block;font:400 22px/1.2 var(--serif);color:var(--charcoal);letter-spacing:0;margin-bottom:2px}
.hero-media{position:relative;overflow:hidden;background:var(--charcoal)}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.hero-tag{position:absolute;left:24px;bottom:24px;background:var(--cream);padding:14px 18px;max-width:270px;font-size:14px;line-height:1.45;color:var(--ink)}
.hero-tag b{display:block;font:italic 400 20px/1.2 var(--serif);color:var(--copper-ink);margin-bottom:4px}
@media (max-width:900px){
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-media{order:-1;aspect-ratio:4/3.4}
  .hero-copy{padding:44px var(--gut) 56px}
  .hero-meta{margin-top:36px}
  .hero-tag{display:none}
}

/* Ribbon */
.ribbon{background:var(--charcoal);color:var(--cream);overflow:hidden;border-bottom:1px solid #000}
.ribbon ul{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 34px;list-style:none;margin:0;padding:20px var(--gut)}
.ribbon ul{gap:10px 26px}
.ribbon li{font:italic 400 clamp(18px,2vw,24px)/1.2 var(--serif);display:inline-flex;align-items:center;gap:26px;white-space:nowrap}
.ribbon li+li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--copper);flex:none}

/* Intro split */
.split{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(24px,4vw,64px);align-items:center}
.split > .a{grid-column:1 / span 6}
.split > .b{grid-column:7 / span 6}
.split--wide-left > .a{grid-column:1 / span 7}
.split--wide-left > .b{grid-column:8 / span 5}
@media (max-width:900px){.split > .a,.split > .b,.split--wide-left > .a,.split--wide-left > .b{grid-column:1 / -1}}
.stack-img{position:relative;padding:0 0 64px 0}
.stack-img .main{width:78%;aspect-ratio:3/4;object-fit:cover}
.stack-img .over{position:absolute;right:0;bottom:0;width:48%;aspect-ratio:3/4;object-fit:cover;border:10px solid var(--cream)}
.on-blush .stack-img .over{border-color:var(--blush)}
.pull{font:italic 400 clamp(26px,3vw,38px)/1.28 var(--serif);color:var(--charcoal);margin:0 0 28px;max-width:22ch}
.sig{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* Service cards (home) */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px);margin-top:56px}
.svc-card{text-decoration:none;color:inherit;display:block}
.svc-card figure{margin:0 0 18px;overflow:hidden;aspect-ratio:3/4;background:var(--blush)}
.svc-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.svc-card:hover img{transform:scale(1.04)}
.svc-card h3{font-size:26px;margin-bottom:6px}
.svc-card p{font-size:15.5px;color:var(--muted);margin-bottom:10px}
.svc-card .from{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--copper-ink)}
@media (max-width:1000px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.svc-grid{grid-template-columns:1fr}.svc-card figure{aspect-ratio:4/3.6}}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.sec-head .h2{margin:0;max-width:16ch}

/* Late band */
.late{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center}
.late-hours{border-top:1px solid rgba(250,246,241,.2)}
.late-hours div{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid rgba(250,246,241,.2);font-size:16px}
.late-hours .hi{color:var(--copper-soft)}
.late-hours .hi span:first-child::after{content:"Late";margin-left:10px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--copper-soft);padding:3px 7px;border-radius:999px;vertical-align:2px}
@media (max-width:900px){.late{grid-template-columns:1fr}}

/* Team teaser + cards */
.team-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(12px,1.6vw,22px);margin-top:52px}
.team-strip figure{margin:0}
.team-strip img{aspect-ratio:3/4;object-fit:cover;width:100%;margin-bottom:14px}
.team-strip b{display:block;font:400 21px/1.2 var(--serif);color:var(--charcoal)}
.team-strip span{font-size:14px;color:var(--muted)}
@media (max-width:1000px){.team-strip{grid-template-columns:repeat(3,1fr)}}
@media (max-width:620px){.team-strip{grid-template-columns:repeat(2,1fr)}.team-strip figure:last-child{grid-column:1/-1}.team-strip figure:last-child img{aspect-ratio:16/10}}

/* Reviews */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,44px);margin-top:52px}
.review{margin:0;border-top:1px solid var(--charcoal);padding-top:26px}
.review blockquote{margin:0 0 18px;font:italic 400 clamp(21px,1.8vw,25px)/1.4 var(--serif);color:var(--charcoal)}
.review cite{font-style:normal;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.stars{color:var(--copper-ink);letter-spacing:.2em;font-size:14px;margin-bottom:14px;display:block}
@media (max-width:900px){.reviews{grid-template-columns:1fr}}

/* Gallery strip (home) */
.strip{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:auto auto;gap:clamp(10px,1.4vw,18px);margin-top:48px}
.strip img{width:100%;height:100%;object-fit:cover}
.strip .tall{grid-row:span 2}
.strip .sq{aspect-ratio:1/1}
@media (max-width:700px){.strip{grid-template-columns:1fr 1fr}.strip .tall{grid-column:1/-1;grid-row:auto;aspect-ratio:4/3}}

/* Visit CTA */
.visit{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(32px,5vw,80px);align-items:end}
.visit dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:12px 28px;font-size:16px}
.visit dt{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--copper-ink);padding-top:4px}
.visit dd{margin:0}
.visit a{text-decoration:none;border-bottom:1px solid var(--copper)}
@media (max-width:900px){.visit{grid-template-columns:1fr}}

/* Page hero (inner pages) */
.page-hero{padding:clamp(64px,9vw,128px) 0 clamp(48px,6vw,80px);border-bottom:1px solid var(--line)}
.page-hero .display{font-size:clamp(46px,7vw,96px);max-width:14ch}
.page-hero .lede{margin-top:8px}
.page-hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(24px,4vw,64px);align-items:end}
@media (max-width:900px){.page-hero-grid{grid-template-columns:1fr}}

/* Price list */
.price-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.price-nav a{text-decoration:none;font-size:14px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:12px 18px;background:var(--cream)}
.price-nav a:hover{border-color:var(--copper);color:var(--copper-ink)}
.menu-sec{display:grid;grid-template-columns:5fr 7fr;gap:clamp(28px,5vw,88px);padding:clamp(56px,7vw,96px) 0;border-bottom:1px solid var(--line);scroll-margin-top:90px}
.menu-sec:last-of-type{border-bottom:0}
.menu-side img{width:100%;aspect-ratio:4/5;object-fit:cover;margin-top:28px}
.menu-side .h2{margin-bottom:14px}
.menu-side p{color:var(--muted);max-width:38ch}
.menu-side{align-self:start;position:sticky;top:110px}
@media (max-width:900px){.menu-sec{grid-template-columns:1fr}.menu-side{position:static}.menu-side img{aspect-ratio:16/10}}
.plist{list-style:none;margin:0;padding:0}
.plist li{display:grid;grid-template-columns:1fr auto;gap:4px 20px;padding:22px 0;border-bottom:1px solid var(--line)}
.plist li:first-child{border-top:1px solid var(--charcoal)}
.plist h3{font-size:23px;margin:0}
.plist .price{font:400 23px/1.1 var(--serif);color:var(--charcoal);text-align:right;white-space:nowrap}
.plist .price small{font:400 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:6px;vertical-align:3px}
.plist p{grid-column:1 / 2;margin:0;font-size:15.5px;color:var(--muted)}
.plist .time{grid-column:2;grid-row:2;text-align:right;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--copper-ink);white-space:nowrap}
@media (max-width:480px){.plist li{grid-template-columns:1fr auto}.plist h3{font-size:21px}.plist .price{font-size:21px}}
.note-box{background:var(--blush);padding:24px 26px;margin-top:28px;font-size:15.5px}
.note-box b{font-weight:500;color:var(--charcoal)}

/* Team page */
.member{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(24px,4vw,64px);align-items:center;padding:clamp(56px,7vw,100px) 0;border-bottom:1px solid var(--line)}
.member:last-child{border-bottom:0}
.member .ph{grid-column:1 / span 5;position:relative}
.member .ph img{width:100%;aspect-ratio:4/5;object-fit:cover}
.member .ph figcaption{font-size:13px;color:var(--muted);margin-top:10px;letter-spacing:.04em}
.member .tx{grid-column:7 / span 6}
.member:nth-child(even) .ph{grid-column:8 / span 5;order:2}
.member:nth-child(even) .tx{grid-column:1 / span 6;order:1}
.member .role{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--copper-ink);margin-bottom:12px;display:block}
.member h2{font-size:clamp(36px,4.2vw,56px)}
.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:22px 0 26px;padding:0}
.tags li{font-size:13.5px;letter-spacing:.06em;padding:8px 14px;border-radius:999px;background:var(--blush);color:var(--ink)}
.member .meta{display:flex;flex-wrap:wrap;gap:10px 32px;font-size:14px;color:var(--muted);margin-bottom:26px}
.member .meta b{display:block;font:400 19px/1.2 var(--serif);color:var(--charcoal)}
@media (max-width:900px){.member .ph,.member .tx,.member:nth-child(even) .ph,.member:nth-child(even) .tx{grid-column:1 / -1;order:0}.member .ph img{aspect-ratio:4/3.4}}

/* Values */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px);margin-top:48px}
.values div{border-top:1px solid rgba(250,246,241,.25);padding-top:22px}
.values h3{font-size:26px}
.values p{color:#cfc5bd;font-size:16px}
@media (max-width:900px){.values{grid-template-columns:1fr}}

/* Gallery */
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;list-style:none;padding:0}
.filters li{font-size:13.5px;letter-spacing:.12em;text-transform:uppercase;padding:10px 16px;border:1px solid var(--line);border-radius:999px}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(150px,19vw,280px);grid-auto-flow:dense;gap:clamp(10px,1.3vw,18px);margin:0;padding:0;list-style:none}
.gallery li{position:relative;overflow:hidden;background:var(--blush)}
.gallery li.t{grid-row:span 2}
.gallery li.w{grid-column:span 2}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.gallery li:hover img{transform:scale(1.035)}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 18px 16px;color:var(--cream);font-size:14px;line-height:1.35;
  background:linear-gradient(to top,rgba(28,25,23,.82),rgba(28,25,23,0))}
.gallery figcaption b{display:block;font:italic 400 19px/1.2 var(--serif);margin-bottom:2px}
.gallery figure{margin:0;height:100%}
@media (max-width:900px){.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:clamp(150px,44vw,300px)}}
@media (max-width:420px){.gallery figcaption{padding:36px 12px 12px;font-size:13px}.gallery figcaption b{font-size:17px}}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(32px,5vw,80px);align-items:start}
@media (max-width:960px){.contact-grid{grid-template-columns:1fr}}
.form{background:#fff;border:1px solid var(--line);padding:clamp(24px,4vw,48px)}
.form h2{font-size:clamp(30px,3.4vw,42px)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:560px){.form .row{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.field label,.field legend{font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);font-weight:500}
.field input,.field select,.field textarea{font:400 16px/1.4 var(--sans);color:var(--charcoal);background:var(--cream);border:1px solid #cdbfb4;border-radius:0;padding:14px 14px;min-height:52px;width:100%}
.field select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--charcoal) 50%),linear-gradient(135deg,var(--charcoal) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--copper);outline-offset:0;border-color:var(--copper)}
fieldset.field{border:0;padding:0;margin:0 0 18px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.chips label{position:relative;cursor:pointer;text-transform:none;letter-spacing:.02em;font-size:15px;font-weight:400}
.chips input{position:absolute;opacity:0;width:1px;height:1px}
.chips span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid #cdbfb4;border-radius:999px;background:var(--cream)}
.chips input:checked + span{background:var(--charcoal);color:var(--cream);border-color:var(--charcoal)}
.chips input:focus-visible + span{outline:2px solid var(--copper);outline-offset:2px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--muted);margin:4px 0 24px}
.check input{width:20px;height:20px;margin-top:3px;accent-color:var(--copper-ink);flex:none}
.form .btn{width:100%}
.form .small{font-size:13.5px;color:var(--muted);margin-top:14px}

.info h2{font-size:clamp(30px,3.4vw,42px)}
.hours{margin:0 0 36px;border-top:1px solid var(--charcoal)}
.hours div{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:16px}
.hours .late-row{color:var(--copper-ink);font-weight:500}
.hours .closed{color:var(--muted)}
.contact-lines{list-style:none;padding:0;margin:0 0 32px;display:grid;gap:14px}
.contact-lines li{display:grid;grid-template-columns:90px 1fr;gap:12px;font-size:16px}
.contact-lines span{font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--copper-ink);padding-top:4px}
.contact-lines a{text-decoration:none;border-bottom:1px solid var(--copper)}

.map{position:relative;background:var(--blush);border:1px solid var(--line);overflow:hidden}
.map svg{display:block;width:100%;height:auto}
.map-card{position:absolute;right:16px;top:16px;background:var(--cream);padding:14px 18px;font-size:14px;line-height:1.45;box-shadow:0 10px 24px rgba(28,25,23,.12);max-width:calc(100% - 32px)}
.map-card b{display:block;font:400 19px/1.2 var(--serif);color:var(--charcoal)}
.transport{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,44px)}
.transport h3{font-size:24px}
.transport p{color:var(--muted);font-size:16px}
@media (max-width:900px){.transport{grid-template-columns:1fr}}

.faq{max-width:860px}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-of-type{border-top:1px solid var(--charcoal)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font:400 clamp(20px,2vw,24px)/1.3 var(--serif);color:var(--charcoal)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:300 28px/1 var(--sans);color:var(--copper-ink);transition:transform .2s;flex:none}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--muted);margin:0 0 22px;max-width:64ch}

/* CTA band */
.cta-band{text-align:center}
.cta-band .h2{max-width:18ch;margin:0 auto 22px}
.cta-band p{max-width:48ch;margin:0 auto 32px;color:#cfc5bd}
.cta-band .hero-actions{justify-content:center}

/* Footer */
.site-foot{background:var(--charcoal);color:#cfc5bd;padding:clamp(64px,8vw,104px) 0 36px;font-size:15.5px}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:clamp(28px,4vw,56px);padding-bottom:56px;border-bottom:1px solid rgba(250,246,241,.15)}
.site-foot .brand{color:var(--cream);font-size:34px;margin-bottom:18px}
.site-foot h2{font:500 12.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--copper-soft);margin:6px 0 18px}
.site-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.site-foot a{color:var(--cream);text-decoration:none}
.site-foot a:hover{color:var(--copper-soft)}
.site-foot p{margin:0 0 8px}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding-top:28px;font-size:13.5px;color:#a99f97}
.foot-base a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:900px){.foot-top{grid-template-columns:1fr 1fr}.foot-top > div:first-child{grid-column:1/-1}}
@media (max-width:480px){.foot-top{grid-template-columns:1fr}}

.mt0{margin-top:0}.center{text-align:center}
.muted,.on-blush.cta-band p{color:var(--muted)}
@media (max-width:600px){
  .map-card{position:static;max-width:none;box-shadow:none;border-top:1px solid var(--line)}
  .ribbon ul{gap:8px 22px}
  .ribbon li{gap:0}
  .ribbon li+li::before{display:none}
}
