/* Layout: "backyard at dusk" — one committed dark world. Huge condensed signage type, photos cropped like a magazine spread,
   string lights as the single orchestrated motion, and a build-your-yard picker that feeds the quote form. */
:root{
  color-scheme:dark;
  --night:#0A1B1E;      /* juniper ink */
  --night-2:#0F272A;
  --moss:#17393A;       /* deep juniper */
  --line:#23413F;
  --cream:#F2ECDF;
  --cream-2:#AFC0B7;
  --redwood:#B8642F;    /* copper */
  --glow:#E3A857;       /* lantern brass */
  --sage:#9DBE9A;       /* sage for labels */
  --sign:Cinzel,"Trajan Pro",Georgia,"Times New Roman",serif;
  --body:"Figtree",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--night);color:var(--cream);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
p{margin:0}
h1,h2,h3{margin:0;font-weight:800;text-wrap:balance}
.wrap{max-width:1240px;margin-inline:auto;padding-inline:20px}
.sign{font-family:var(--sign);font-weight:800;text-transform:uppercase;letter-spacing:.01em;line-height:1.02}
.it{font-family:var(--serif);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0;color:var(--glow)}
.kicker{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--sage)}
.muted{color:var(--cream-2)}
section{padding-block:96px}
@media (max-width:700px){section{padding-block:68px}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 24px;border-radius:999px;font-weight:700;font-size:16px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;font-family:var(--body);transition:transform .2s,background .2s}
.btn:hover{transform:translateY(-2px)}
.btn-glow{background:var(--glow);color:#1B1408}
.btn-line{border-color:color-mix(in srgb,var(--cream) 40%,transparent);color:var(--cream);background:transparent}
.btn-line:hover{background:color-mix(in srgb,var(--cream) 8%,transparent)}
.btn-sm{padding:10px 18px;font-size:14.5px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--glow);outline-offset:3px}

/* nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--night) 82%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;white-space:nowrap}
.logo b{color:var(--cream);font-family:Cinzel,"Trajan Pro",Georgia,serif;font-size:27px;font-weight:900;letter-spacing:.06em;line-height:1}
.logo .lk{display:flex;flex-direction:column;gap:4px}
.logo .lk span{font-family:Cinzel,Georgia,serif;font-weight:700;font-size:9.5px;letter-spacing:.16em;color:var(--cream-2);text-transform:uppercase;white-space:nowrap}
.logo span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--cream-2)}
.nav nav{display:flex;gap:28px;font-size:15px}
.nav nav a{text-decoration:none;color:var(--cream-2)}
.nav nav a:hover{color:var(--cream)}
@media (max-width:900px){.nav nav{display:none}}
@media (max-width:640px){.logo .lk span{display:none}}
@media (min-width:901px) and (max-width:1100px){.nav .logo .lk span{display:none}}
.nav .logo{min-width:0;flex:0 1 auto}
@media (max-width:480px){.nav .wrap{gap:10px}.nav .btn-sm{padding:9px 14px;font-size:14px}.logo .mark{width:38px;height:38px}.logo b{font-size:24px}}

.nav .btn{white-space:nowrap}

/* hero */
.hero{position:relative;padding-block:28px 80px;overflow:hidden}
.lights{position:absolute;inset:0 0 auto 0;height:170px;pointer-events:none}
.lights svg{width:100%;height:100%;overflow:visible}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:end;padding-top:90px}
.hero h1{font-size:clamp(32.4px,9.6vw,90.0px);font-weight:900}
@media (min-width:901px){.hero h1{font-size:clamp(38.4px,5.7vw,90.0px)}}
.hero h1 .it{font-size:.95em;display:block;margin-block:.06em .02em;line-height:1}
.hero .lede{font-size:clamp(17px,1.6vw,20px);max-width:44ch;margin-top:26px;color:var(--cream-2)}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.proof{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);font-size:14px;color:var(--cream-2);background:color-mix(in srgb,var(--night-2) 70%,transparent)}
.pill strong{color:var(--cream)}
.stars{color:var(--glow);letter-spacing:1px}
.mosaic{position:relative;height:clamp(420px,46vw,600px);min-width:0}
.mosaic figure{position:absolute;margin:0;overflow:hidden;border-radius:18px;box-shadow:0 40px 80px -30px rgba(0,0,0,.7)}
.mosaic img{width:100%;height:100%;object-fit:cover}
.m1{left:0;top:0;width:58%;height:100%}.m1 img{object-position:72% center}
.m2{right:0;top:6%;width:39%;height:44%}
.m3{right:0;bottom:4%;width:39%;height:42%}
.m1 figcaption{position:absolute;left:14px;bottom:14px;font-size:13px;font-weight:600;background:rgba(10,27,30,.78);backdrop-filter:blur(6px);padding:6px 12px;border-radius:999px}
@media (max-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr);padding-top:70px}.mosaic{height:min(110vw,520px)}}

/* ticker strip */
.strip{border-block:1px solid var(--line);background:var(--night-2)}
.strip .wrap{display:flex;flex-wrap:wrap;gap:8px 32px;justify-content:center;padding-block:20px}
.strip span{font-family:var(--sign);font-size:clamp(16.0px,1.92vw,22.4px);font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:var(--cream-2)}
.strip span::before{content:"✦";color:var(--redwood);font-size:.6em;margin-right:12px;vertical-align:.25em}

/* builder */
.sec-title{display:grid;gap:16px;margin-bottom:44px;max-width:780px}
.sec-title h2{font-size:clamp(27.6px,4.2vw,57.6px)}
.builder{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.tile{position:relative;aspect-ratio:3/4;border-radius:14px;overflow:hidden;border:0;padding:0;cursor:pointer;background:var(--night-2);color:var(--cream);text-align:left;font-family:var(--body)}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .3s;filter:saturate(.75) brightness(.72)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(6,17,19,.92));}
.tile span{position:absolute;left:14px;right:14px;bottom:12px;z-index:1;font-family:var(--sign);font-size:clamp(17.6px,1.76vw,22.4px);font-weight:800;text-transform:uppercase;line-height:.95}
.tile i{position:absolute;top:12px;right:12px;z-index:1;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--cream);display:grid;place-items:center;font-style:normal;font-size:16px;font-weight:700;transition:all .2s}
.tile i::before{content:"+"}
.tile:hover img{transform:scale(1.05);filter:saturate(.9) brightness(.85)}
.tile[aria-pressed="true"]{box-shadow:0 0 0 3px var(--glow),0 0 40px -6px color-mix(in srgb,var(--glow) 55%,transparent)}
.tile[aria-pressed="true"] img{filter:saturate(1) brightness(.95)}
.tile[aria-pressed="true"] i{background:var(--glow);border-color:var(--glow);color:#1B1408}
.tile[aria-pressed="true"] i::before{content:"✓"}
.plan-card{position:sticky;top:90px;background:var(--cream);color:#12282A;border-radius:18px;padding:26px;display:grid;gap:16px}
.plan-card h3{font-family:var(--sign);font-size:27.2px;text-transform:uppercase;line-height:.9}
.plan-card ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;min-height:60px}
.plan-card li{display:flex;justify-content:space-between;gap:10px;font-weight:600;padding-bottom:8px;border-bottom:1px dashed #C9C2B0;font-size:15.5px}
.plan-card li small{font-weight:500;color:#556863}
.plan-card .empty{color:#556863;font-size:15px}
.plan-card .btn-glow{background:var(--moss);color:var(--on-dark)}
.plan-card .note{font-size:13px;color:#556863}
@media (max-width:1000px){.builder{grid-template-columns:1fr}.plan-card{position:relative;top:0}}
@media (max-width:640px){.tiles{grid-template-columns:none;grid-auto-flow:column;grid-template-rows:repeat(2,auto);grid-auto-columns:40vw;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;margin-inline:-20px;padding-inline:20px}.tile{scroll-snap-align:start}}

/* gallery rail */
.work{background:var(--night-2)}
.rail-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:36px}
.rail-head h2{font-size:clamp(27.6px,4.2vw,57.6px)}
.arrows{display:flex;gap:10px}
.arrow{width:52px;height:52px;border-radius:50%;border:1.5px solid var(--line);background:transparent;color:var(--cream);font-size:22px;cursor:pointer}
.arrow:hover{border-color:var(--cream)}
.rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-inline:max(20px,calc((100vw - 1240px)/2 + 20px));padding-bottom:16px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.rail figure{margin:0;flex:0 0 auto;scroll-snap-align:start;display:flex;flex-direction:column;gap:12px;width:min-content}
.rail img{height:clamp(340px,44vw,500px);width:auto;max-width:none;border-radius:16px;object-fit:cover}
.rail .wide img{aspect-ratio:4/3}
.rail .tall img{aspect-ratio:3/4.4}
.rail figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 16px;font-size:14.5px;color:var(--cream-2)}
.rail figcaption b{color:var(--cream);font-weight:600}
@media (max-width:600px){.rail{align-items:flex-start}.rail img{height:auto;width:80vw}.rail .wide img,.rail .tall img{aspect-ratio:4/3}}

/* reviews */
.big-quote{display:grid;grid-template-columns:auto 1fr;gap:28px 48px;align-items:start;margin-bottom:64px}
.score{font-family:var(--sign);font-size:clamp(66.0px,9.6vw,132.0px);font-weight:900;line-height:.8;color:var(--glow)}
.score small{display:block;font-family:var(--body);font-size:15px;font-weight:500;color:var(--cream-2);letter-spacing:0;margin-top:14px}
blockquote{margin:0}
.big-quote blockquote p{font-family:var(--serif);font-style:italic;font-size:clamp(28px,3.6vw,48px);line-height:1.15}
.big-quote cite{display:block;margin-top:18px;font-style:normal;color:var(--cream-2);font-size:15px}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.quotes blockquote{padding:26px;border:1px solid var(--line);border-radius:16px;display:grid;gap:16px;align-content:space-between;min-width:0}
.quotes p{font-size:16px;color:var(--cream)}
.quotes cite{font-style:normal;font-size:14px;color:var(--cream-2);display:flex;justify-content:space-between}
@media (max-width:900px){.big-quote{grid-template-columns:1fr}.quotes{grid-template-columns:1fr}}

/* process */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;counter-reset:s}
.steps li{display:grid;gap:12px;align-content:start;padding-top:22px;border-top:2px solid var(--line);position:relative;min-width:0}
.steps li::before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--glow);box-shadow:0 0 18px var(--glow)}
.steps h3{font-family:var(--sign);font-size:clamp(20.4px,2.16vw,27.6px);text-transform:uppercase;line-height:.9}
.steps p{color:var(--cream-2);font-size:15.5px}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr;row-gap:44px}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* offer */
.offer{display:grid;grid-template-columns:1.1fr .9fr;gap:0;border-radius:22px;overflow:hidden;background:var(--moss)}
.offer-copy{padding:clamp(28px,5vw,56px);display:grid;gap:22px;align-content:center}
.offer-copy h2{font-size:clamp(26.4px,3.6vw,48.0px)}
.offer-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.offer-list li{display:flex;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid color-mix(in srgb,var(--cream) 18%,transparent);font-size:16px}
.offer-list li span:last-child{color:var(--glow);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.from{font-family:var(--sign);font-size:clamp(28.8px,3.6vw,43.2px);font-weight:900;line-height:.9}
.from small{font-family:var(--body);font-size:15px;font-weight:500;color:var(--cream-2);display:block;margin-bottom:6px}
.offer img{width:100%;height:100%;object-fit:cover;min-height:320px}
@media (max-width:860px){.offer{grid-template-columns:1fr}.offer img{max-height:340px}}

/* contact */
.contact{background:var(--night-2)}
.ct{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.ct h2{font-size:clamp(30.0px,4.5vw,62.4px)}
.phones{display:grid;gap:14px;margin-top:34px}
.phone{display:grid;gap:4px;padding:20px 22px;border:1px solid var(--line);border-radius:16px}
.phone small{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--glow);font-weight:600}
.phone a{font-family:var(--sign);font-size:clamp(20.4px,2.4vw,26.4px);font-weight:800;text-decoration:none;font-variant-numeric:tabular-nums;line-height:1.05}
.phone span{font-size:14.5px;color:var(--cream-2)}
.hours{margin-top:18px;font-size:15px;color:var(--cream-2)}
form{background:var(--cream);color:#12282A;border-radius:22px;padding:clamp(22px,4vw,40px);display:grid;gap:18px}
form h3{font-family:var(--sign);font-size:32.0px;text-transform:uppercase;line-height:.9}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.row{grid-template-columns:1fr}}
label{display:grid;gap:6px;font-size:14px;font-weight:600}
input,textarea{font:inherit;font-weight:400;font-size:16px;padding:13px 14px;border-radius:10px;border:1.5px solid #CFC8B6;background:#FBF8F1;color:#12282A;width:100%;min-width:0}
textarea{min-height:96px;resize:vertical}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:inherit;font-size:14px;font-weight:600;padding:8px 14px;border-radius:999px;border:1.5px solid #CFC8B6;background:transparent;color:#12282A;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--moss);border-color:var(--moss);color:var(--on-dark)}
form .btn-glow{background:var(--redwood);color:#fff;width:100%;padding:18px}
.sent{display:grid;gap:10px;text-align:left}
.sent h3{color:var(--moss)}
.fine{font-size:13px;color:#556863}
@media (max-width:960px){.ct{grid-template-columns:minmax(0,1fr);gap:40px}.ct form{order:-1}}

/* process with photo */
.proc{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:center}
.proc-photo{margin:0;position:relative;border-radius:20px;overflow:hidden}
.proc-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
.proc-photo figcaption{position:absolute;left:14px;bottom:14px;font-size:13px;font-weight:600;background:rgba(10,27,30,.78);backdrop-filter:blur(6px);padding:6px 12px;border-radius:999px}
.proc .steps{grid-template-columns:1fr 1fr;row-gap:40px}
@media (max-width:900px){.proc{grid-template-columns:minmax(0,1fr)}.proc-photo img{aspect-ratio:16/10}}
@media (max-width:520px){.proc .steps{grid-template-columns:1fr}}

/* booking */
.bk-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.bk-steps{list-style:none;margin:0;padding:0;display:flex;gap:6px}
.bk-steps li{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:#E4DDCB;color:#556863}
.bk-steps li.on{background:var(--moss);color:var(--on-dark)}
.bk-steps li.done{background:#CFE3DA;color:#1F3B2D}
fieldset.bk-group{border:0;margin:0;padding:0;display:grid;gap:12px;min-width:0}
legend{font-size:15px;font-weight:700;padding:0;margin-bottom:10px}
.days{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity}
.day{flex:0 0 auto;scroll-snap-align:start;display:grid;gap:0;justify-items:center;width:68px;padding:10px 0;border-radius:12px;border:1.5px solid #CFC8B6;background:#FBF8F1;color:#12282A;cursor:pointer;font-family:var(--body)}
.day small{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#556863}
.day b{font-family:var(--sign);font-size:22.4px;font-weight:800;line-height:1.05}
.day span{font-size:12px;color:#556863}
.day[aria-pressed="true"]{background:var(--moss);border-color:var(--moss);color:var(--on-dark)}
.day[aria-pressed="true"] small,.day[aria-pressed="true"] span{color:color-mix(in srgb,var(--on-dark) 75%,transparent)}
.times{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.time{font:inherit;font-size:15px;font-weight:600;padding:12px 6px;border-radius:10px;border:1.5px solid #CFC8B6;background:#FBF8F1;color:#12282A;cursor:pointer;font-variant-numeric:tabular-nums}
.time:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.time[aria-pressed="true"]{background:var(--moss);border-color:var(--moss);color:var(--on-dark)}
.bk-summary{padding:14px 16px;border-radius:12px;background:#E9E2D0;font-size:15px;font-weight:600}
#bk-go:disabled{opacity:.55;cursor:not-allowed;transform:none}
.sent .when{font-family:var(--sign);font-size:clamp(20.4px,3.0vw,27.6px);font-weight:800;text-transform:uppercase;line-height:.95;color:#12282A}
@media (max-width:420px){.times{grid-template-columns:repeat(2,1fr)}}

.links{display:grid;gap:10px;margin-top:22px}
.link-row{display:grid;gap:2px;padding:14px 18px;border:1px solid var(--line);border-radius:14px;text-decoration:none;transition:border-color .2s}
.link-row:hover{border-color:var(--glow)}
.link-row small{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--glow);font-weight:600}
.link-row span{font-size:16px;font-weight:600;overflow-wrap:anywhere}
footer a{color:var(--cream)}
.local{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:0;border:1px solid var(--line);border-radius:20px;overflow:hidden;margin-bottom:16px;background:var(--night-2)}
.local img{width:100%;height:100%;object-fit:cover;min-height:260px}
.local-copy{padding:clamp(24px,4vw,44px);display:grid;gap:18px;align-content:center;justify-items:start}
.local blockquote p{font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.6vw,34px);line-height:1.2}
.local cite{display:block;margin-top:12px;font-style:normal;font-size:15px;color:var(--cream-2)}
@media (max-width:800px){.local{grid-template-columns:minmax(0,1fr)}.local img{aspect-ratio:16/10;min-height:0}}
/* concrete */
.concrete{background:var(--night-2)}
.cc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.cc-copy{display:grid;gap:22px}
.cc-copy h2{font-size:clamp(27.6px,4.2vw,57.6px)}
.cc-list{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid var(--line)}
.cc-list li{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line);align-items:baseline}
.cc-list b{font-family:var(--sign);font-size:clamp(17.6px,1.76vw,22.4px);font-weight:800;text-transform:uppercase;line-height:1}
.cc-list span{font-size:15px;color:var(--cream-2)}
.cc-quote p{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2vw,26px);line-height:1.25}
.cc-quote cite{display:block;margin-top:8px;font-style:normal;font-size:14px;color:var(--cream-2)}
.cc-photos{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:14px}
.cc-photos figure{margin:0;position:relative;border-radius:16px;overflow:hidden}
.cc-photos img{width:100%;height:100%;object-fit:cover}
.cc-photos .c1{grid-column:1/-1;aspect-ratio:4/3}
.cc-photos .c2,.cc-photos .c3{aspect-ratio:1/1}
.cc-photos figcaption{position:absolute;left:12px;bottom:12px;font-size:13px;font-weight:600;background:rgba(10,27,30,.78);backdrop-filter:blur(6px);padding:5px 11px;border-radius:999px}
.cc-offer{margin-top:56px;border-radius:22px;background:var(--moss);padding:clamp(24px,4vw,44px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px 40px;align-items:end}
.cc-extras{grid-column:1/-1;order:3}
.cc-from{grid-template-columns:auto auto;align-items:end;column-gap:20px}.cc-from small{grid-column:1/-1}
.cc-offer h3{font-size:clamp(22.8px,2.76vw,36.0px);margin-top:10px}
.cc-extras{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cc-extras li{display:grid;gap:4px;padding-left:16px;border-left:1px solid color-mix(in srgb,var(--cream) 22%,transparent)}
.cc-extras b{font-family:var(--sign);font-size:24.0px;font-weight:800;color:var(--glow);line-height:1;font-variant-numeric:tabular-nums}
.cc-extras span{font-size:14px;color:var(--cream-2)}
.cc-extras .val{font-family:var(--body);font-size:13px;font-weight:600;color:var(--cream-2);text-transform:uppercase;letter-spacing:.08em}
.cc-from{display:grid;gap:8px;justify-items:start}
.cc-from small{font-size:14px;color:var(--cream-2)}
.cc-from b{font-family:var(--sign);font-size:clamp(28.8px,3.0vw,38.4px);font-weight:900;line-height:.9}
@media (max-width:900px){.cc-offer{grid-template-columns:minmax(0,1fr)}.cc-extras{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-from{grid-template-columns:auto}}
@media (max-width:900px){.cc-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:480px){.cc-list li{grid-template-columns:minmax(0,1fr);gap:4px}}

/* contact sheet */
[hidden]{display:none!important}
.sheet-bg{position:fixed;inset:0;z-index:50;background:rgba(4,11,12,.6);backdrop-filter:blur(4px);display:grid;align-items:end;justify-items:center;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
.sheet-box{width:min(420px,100%);background:var(--cream);color:#12282A;border-radius:22px;padding:22px;display:grid;gap:10px;animation:sheetup .22s ease-out}
.sheet-box h4{margin:0;font-family:var(--sign);font-size:24.0px;text-transform:uppercase;line-height:.95}
.sheet-box .who{font-size:15px;color:#556863;word-break:break-all;margin-bottom:6px}
.sheet-box a,.sheet-box button{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:15px 16px;border-radius:14px;border:1.5px solid #CFC8B6;background:#FBF8F1;color:#12282A;font:inherit;font-size:16px;font-weight:600;text-decoration:none;cursor:pointer;text-align:left}
.sheet-box a:hover,.sheet-box button:hover{border-color:var(--moss)}
.sheet-box .primary{background:var(--moss);border-color:var(--moss);color:var(--on-dark)}
.sheet-box .close{justify-content:center;border:0;background:transparent;color:#556863;font-weight:500}
@media (min-width:700px){.sheet-bg{align-items:center}}
@keyframes sheetup{from{transform:translateY(16px)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.sheet-box{animation:none}}

/* meet david */
.david{background:var(--night-2)}
.dv{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:center}
.dv-copy{display:grid;gap:20px;justify-items:start}
.dv-copy h2{font-size:clamp(27.6px,4.2vw,57.6px)}
.dv-lede{font-size:clamp(17px,1.5vw,19px);max-width:56ch}
.dv-copy .muted{max-width:56ch}
.dv-facts{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%;max-width:620px}
.dv-facts li{display:grid;gap:4px;padding-top:12px;border-top:2px solid var(--line)}
.dv-facts b{font-family:var(--sign);font-size:27.2px;font-weight:800;color:var(--glow);line-height:1}
.dv-facts span{font-size:14px;color:var(--cream-2)}
.dv-quote p{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.2vw,28px);line-height:1.2}
.dv-quote cite{display:block;margin-top:6px;font-style:normal;font-size:14px;color:var(--cream-2)}
@media (max-width:860px){.dv{grid-template-columns:minmax(0,1fr)}.dv-photo{max-width:360px;width:100%;justify-self:center}}
@media (max-width:460px){.dv-facts{grid-template-columns:minmax(0,1fr)}}

img[style*="background-image"]{background-size:cover;background-position:center;background-color:var(--night-2)}
.logo .mark{width:44px;height:44px;flex:0 0 auto;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}
footer .logo .mark{width:38px;height:38px}
.signoff{padding-block:80px 64px;border-top:1px solid var(--line)}
.so{display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center}
.so-disc{width:clamp(160px,22vw,220px);aspect-ratio:1;border-radius:50%;background:#FFFFFF;display:grid;place-items:center;box-shadow:0 30px 70px -30px rgba(0,0,0,.8),0 0 0 6px color-mix(in srgb,var(--glow) 18%,transparent)}
.so-disc img{width:90%;height:auto}
.so-word{display:grid;gap:8px}
.so-word b{font-family:Cinzel,"Trajan Pro",Georgia,serif;font-weight:900;font-size:clamp(56px,9vw,92px);letter-spacing:.06em;line-height:.9}
.so-word span{font-family:Cinzel,Georgia,serif;font-weight:700;font-size:clamp(12px,1.6vw,16px);letter-spacing:.16em;color:var(--cream-2);text-transform:uppercase}
/* ===== desktop showcase (phones untouched) ===== */
@media (min-width:1500px){.wrap{max-width:1380px}}
@media (min-width:1100px){
  .hero{min-height:min(860px,92vh);display:flex;align-items:center;padding-block:40px 90px}
  .hero-grid{position:static;grid-template-columns:minmax(0,600px);padding-top:110px;width:100%}
  .hero h1{position:relative;z-index:2}
  .hero-grid>div:first-child{position:relative;z-index:2}
  .lights{z-index:3}
  .mosaic{position:absolute;top:0;right:0;bottom:0;width:56vw;height:auto;z-index:1}
  .mosaic .m1{inset:0;width:100%;height:100%;border-radius:0;box-shadow:none;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 26%);mask-image:linear-gradient(to right,transparent 0,#000 26%)}
  .mosaic .m1::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--night) 0,transparent 28%),linear-gradient(to bottom,var(--night) 0,transparent 18%);pointer-events:none}
  .mosaic .m1 figcaption{left:auto;right:28px;bottom:34px;z-index:1}
  .mosaic .m2,.mosaic .m3{top:auto;right:auto;z-index:2;border:4px solid var(--night);box-shadow:0 30px 60px -20px rgba(0,0,0,.85)}
  .mosaic .m2{left:6%;bottom:120px;width:min(250px,17vw);height:min(180px,12.5vw)}
  .mosaic .m3{left:calc(6% + min(250px,17vw) - 40px);bottom:48px;width:min(230px,16vw);height:min(170px,12vw)}
}
@media (min-width:1100px) and (prefers-reduced-motion:no-preference){
  .mosaic .m1 img{animation:slowzoom 18s ease-out both}
  @keyframes slowzoom{from{transform:scale(1.08)}to{transform:scale(1)}}
}

/* magazine gallery on computers */
@media (min-width:1100px){
  #work .arrows{display:none}
  .rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,240px);gap:16px;overflow:visible;padding-inline:max(20px,calc((100vw - 1240px)/2 + 20px));scroll-snap-type:none}
  .rail figure{width:auto;position:relative;overflow:hidden;border-radius:16px}
  .rail figure img{width:100%;height:100%;aspect-ratio:auto!important;border-radius:0;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s}
  .rail figure:nth-child(1){grid-area:1/1/3/3}
  .rail figure:nth-child(2){grid-area:1/3/2/4}
  .rail figure:nth-child(5){grid-area:1/4/3/5}
  .rail figure:nth-child(4){grid-area:2/3/3/4}
  .rail figure:nth-child(6){grid-area:3/1/4/2}
  .rail figure:nth-child(7){grid-area:3/2/4/3}
  .rail figure:nth-child(9){grid-area:3/3/5/4}
  .rail figure:nth-child(8){grid-area:3/4/4/5}
  .rail figure:nth-child(3){grid-area:4/1/5/2}
  .rail figure:nth-child(10){grid-area:4/2/5/3}
  .rail figure:nth-child(11){grid-area:4/4/5/5}
  .rail figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 18px 16px;background:linear-gradient(to top,rgba(6,17,19,.88),transparent);transform:translateY(55%);transition:transform .35s ease;color:var(--cream)}
  .rail figcaption span{opacity:0;transition:opacity .35s}
  .rail figure:hover img{transform:scale(1.06)}
  .rail figure:hover figcaption{transform:none}
  .rail figure:hover figcaption span{opacity:1}
}
@media (min-width:1500px){.rail{padding-inline:max(20px,calc((100vw - 1380px)/2 + 20px))}}

/* porch-light glow that follows the mouse (computers only) */
.porch{display:none}
@media (pointer:fine) and (min-width:1100px) and (prefers-reduced-motion:no-preference){
  .porch{display:block;position:fixed;left:0;top:0;width:560px;height:560px;margin:-280px 0 0 -280px;border-radius:50%;pointer-events:none;z-index:15;background:radial-gradient(circle,rgba(227,168,87,.16) 0,rgba(227,168,87,.07) 35%,transparent 68%);mix-blend-mode:screen;opacity:0;transition:opacity .4s;will-change:transform}
  .porch.on{opacity:1}
  .tile:hover,.cc-photos figure:hover,.proc-photo:hover{transform:translateY(-4px)}
  .tile,.cc-photos figure,.proc-photo{transition:transform .3s ease, box-shadow .3s}
}

/* serif heading scale */
.sec-title h2,.rail-head h2,.ct h2,.cc-copy h2,.dv-copy h2{font-size:clamp(34px,4.8vw,66px)}
.hero h1{font-size:clamp(42px,12vw,100px)}
@media (min-width:901px){.hero h1{font-size:clamp(56px,6.4vw,104px)}}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
footer{padding-block:40px;border-top:1px solid var(--line);font-size:14px;color:var(--cream-2)}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer .logo b{font-size:24px}

@media (prefers-reduced-motion:no-preference){
  .bulb{animation:flick 4s ease-in-out infinite}
  .hero h1,.hero .lede,.hero .ctas,.proof{animation:up .9s cubic-bezier(.2,.7,.2,1) both}
  .hero .lede{animation-delay:.12s}.hero .ctas{animation-delay:.2s}.proof{animation-delay:.28s}
  .mosaic figure{animation:up 1s cubic-bezier(.2,.7,.2,1) both}.m2{animation-delay:.15s}.m3{animation-delay:.3s}
  @keyframes up{from{transform:translateY(18px)}to{transform:none}}
  @keyframes flick{0%,100%{opacity:1}45%{opacity:.55}55%{opacity:.95}}
}

/* ===== city pages + service areas ===== */
.crumbs{font-size:13px;color:var(--cream-2);display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{color:var(--cream-2)}
.why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.why article{padding:26px;border:1px solid var(--line);border-radius:18px;display:grid;gap:12px;align-content:start;background:var(--night-2)}
.why h3{font-family:var(--sign);font-weight:800;text-transform:uppercase;font-size:22px;line-height:1.1}
.why p{color:var(--cream-2);font-size:15.5px}
.why .num{font-family:var(--serif);font-style:italic;color:var(--glow);font-size:28px;line-height:1}
@media (max-width:900px){.why{grid-template-columns:minmax(0,1fr)}}
.rules{display:grid;gap:0;border-top:1px solid var(--line)}
.rule{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:24px;padding:26px 0;border-bottom:1px solid var(--line)}
.rule h3{font-family:var(--sign);font-weight:800;text-transform:uppercase;font-size:20px;line-height:1.15;color:var(--glow)}
.rule p{font-size:16px;max-width:68ch}
.rule .src{display:block;margin-top:10px;font-size:13.5px;color:var(--cream-2)}
.rule .src a{color:var(--cream-2)}
@media (max-width:700px){.rule{grid-template-columns:minmax(0,1fr);gap:8px}}
.asof{font-size:13px;color:var(--cream-2);margin-top:16px}
.svc-city{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.svc-city a{display:grid;gap:10px;text-decoration:none;color:var(--cream)}
.svc-city img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;transition:transform .4s}
.svc-city a:hover img{transform:translateY(-4px)}
.svc-city b{font-family:var(--sign);text-transform:uppercase;font-size:18px;line-height:1.15}
.svc-city span{font-size:14.5px;color:var(--cream-2)}
@media (max-width:900px){.svc-city{grid-template-columns:repeat(2,minmax(0,1fr))}}
.faq{display:grid;gap:12px;max-width:860px}
.faq details{border:1px solid var(--line);border-radius:14px;padding:18px 22px;background:var(--night-2)}
.faq summary{cursor:pointer;font-weight:700;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--glow);font-size:22px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:12px;color:var(--cream-2);font-size:15.5px;max-width:70ch}
.cta-band{border-radius:24px;background:var(--moss);padding:clamp(28px,5vw,56px);display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
.cta-band h2{font-size:clamp(30px,4vw,52px)}
.cta-band .ctas{display:flex;gap:12px;flex-wrap:wrap}
.areas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.areas-grid a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 22px;border:1px solid var(--line);border-radius:16px;text-decoration:none;background:var(--night-2);transition:border-color .2s,transform .2s}
.areas-grid a:hover{border-color:var(--glow);transform:translateY(-2px)}
.areas-grid b{font-family:var(--sign);font-weight:800;text-transform:uppercase;font-size:clamp(18px,1.8vw,24px);line-height:1.1}
.areas-grid small{display:block;font-size:13px;color:var(--cream-2);margin-top:4px;font-weight:500}
.areas-grid i{font-style:normal;color:var(--glow);font-size:22px}
@media (max-width:900px){.areas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.areas-grid{grid-template-columns:minmax(0,1fr)}}
.foot-areas{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14px}
.foot-areas a{color:var(--cream-2)}

/* ===== multi-page: header menu, home teasers, services grid ===== */
.nav-r{display:flex;align-items:center;gap:10px}
.nav nav a[aria-current="page"]{color:var(--cream);text-decoration:underline;text-decoration-color:var(--glow);text-underline-offset:6px}
.menu-btn{display:none;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0}
.menu-btn span{display:block;width:18px;height:2px;background:var(--cream);border-radius:2px;transition:transform .25s,opacity .25s}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media (max-width:900px){.menu-btn{display:flex}}
.mnav{border-top:1px solid var(--line);background:var(--night)}
.mnav-in{display:grid;padding-block:10px 22px}
.mnav-in a{font-family:var(--sign);font-weight:800;text-transform:uppercase;font-size:24px;text-decoration:none;padding:14px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}
.mnav-in a.mnav-call{font-family:var(--body);text-transform:none;font-size:16px;font-weight:700;color:var(--glow);border:0;padding-top:18px}
@media (min-width:901px){.mnav{display:none!important}}
.feat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.feat a{text-decoration:none;color:var(--cream)}
.feat figure{margin:0;position:relative;border-radius:16px;overflow:hidden}
.feat img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.feat a:hover img{transform:scale(1.05)}
.feat figcaption{position:absolute;left:12px;bottom:12px;font-size:13px;font-weight:600;background:rgba(10,27,30,.8);backdrop-filter:blur(6px);padding:6px 12px;border-radius:999px}
@media (max-width:700px){.feat{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.feat figcaption{font-size:12px;left:8px;bottom:8px;padding:5px 9px}}
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}
.svc-grid article{display:grid;gap:10px;align-content:start}
.svc-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}
.svc-grid h3{font-family:var(--sign);font-weight:800;text-transform:uppercase;font-size:22px;line-height:1.1}
.svc-grid p{color:var(--cream-2);font-size:15.5px}
@media (max-width:900px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.svc-grid{grid-template-columns:minmax(0,1fr)}}
.foot-pages{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14.5px;flex-basis:100%;font-weight:600}
.foot-pages a{color:var(--cream)}
.nav .mnav-in{display:grid;justify-content:stretch;gap:0;padding-block:10px 22px}
@media (max-width:520px){.areas-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.areas-grid a{padding:14px 14px}.areas-grid i{display:none}.areas-grid b{font-size:16px}}

/* ===================================================================
   DAYLIGHT THEME: stone + sage ground, forest ink, sunlit ochre accent
   =================================================================== */
:root{
  color-scheme:light;
  --night:#EEF1EB;      /* pale sage-stone page */
  --night-2:#E3E9E0;    /* alternate band */
  --moss:#1C3A2B;       /* deep forest panels */
  --line:#CDD5C9;
  --cream:#14231B;      /* ink */
  --cream-2:#4B5B51;    /* muted ink */
  --redwood:#B4561E;
  --glow:#A6650B;       /* ochre for text accents */
  --btn:#E2A23A;        /* ochre buttons */
  --sage:#4F7552;       /* labels */
  --on-dark:#F3EFE4;
  --on-dark-2:#BFCBBF;
}
body{background:var(--night)}
.btn-glow{background:var(--btn);color:#1C1406}
.btn-line{border-color:color-mix(in srgb,var(--cream) 30%,transparent)}
.btn-line:hover{background:color-mix(in srgb,var(--cream) 6%,transparent)}
.lights,.porch{display:none!important}
.nav{background:color-mix(in srgb,#FFFFFF 86%,transparent);border-bottom-color:var(--line)}
.logo .mark{width:52px;height:49px;filter:none}
footer .logo .mark{width:42px;height:40px}
.hero{background:linear-gradient(180deg,#F6F8F3 0%,var(--night) 100%)}
.hero .lede{color:var(--cream-2)}
.pill{background:#FFFFFF;border-color:var(--line)}
.mosaic figure{box-shadow:0 30px 60px -28px rgba(20,35,27,.45)}
@media (min-width:1100px){.mosaic .m2,.mosaic .m3{border-color:#FFFFFF}}
/* text sitting on photos or dark panels stays light */
.mosaic figcaption,.feat figcaption,.proc-photo figcaption,.cc-photos figcaption,.tile,.rail figcaption{color:var(--on-dark)}
@media (max-width:1099px){.rail figcaption{color:var(--cream)}.rail figcaption b{color:var(--cream)}}
.rail figcaption b{color:inherit}
.tile i{border-color:var(--on-dark)}
.tile[aria-pressed="true"]{box-shadow:0 0 0 3px var(--btn),0 10px 30px -10px rgba(20,35,27,.5)}
.tile[aria-pressed="true"] i{background:var(--btn);border-color:var(--btn)}
/* light cards */
.plan-card,form,.sheet-box{background:#FFFFFF;box-shadow:0 20px 50px -30px rgba(20,35,27,.35);border:1px solid var(--line)}
.plan-card .btn-glow{background:var(--moss);color:var(--on-dark)}
.phone,.link-row,.why article,.faq details,.areas-grid a,.quotes blockquote{background:#FFFFFF}
.contact,.work,.concrete,.david{background:var(--night-2)}
/* dark forest panels */
.cc-offer,.cta-band,.offer{background:var(--moss);color:var(--on-dark)}
.cc-offer .kicker,.cta-band .kicker{color:#A9C9A4!important}
.cc-extras span,.cc-from small,.cta-band p{color:var(--on-dark-2)}
.cc-extras li{border-left-color:rgba(243,239,228,.22)}
.cc-extras b,.cc-extras .val{color:#E9B358}
.cta-band .btn-line{border-color:rgba(243,239,228,.45);color:var(--on-dark)}
.cta-band .it,.cc-offer .it{color:#E9B358}
.signoff{background:#FFFFFF}
.so-disc{box-shadow:0 24px 60px -30px rgba(20,35,27,.45),0 0 0 6px rgba(226,162,58,.25)}
.steps li::before{background:var(--btn);box-shadow:none}
.score{color:var(--glow)}
.stars{color:#C98A16}
.sheet-bg{background:rgba(20,35,27,.45)}
.mnav{background:#FFFFFF}
.menu-btn span{background:var(--cream)}
/* social buttons */
.socials{display:flex;flex-wrap:wrap;gap:10px;flex-basis:100%}
.soc{display:inline-flex;align-items:center;gap:12px;padding:10px 16px 10px 12px;border:1px solid var(--line);border-radius:14px;background:#FFFFFF;text-decoration:none;color:var(--cream);transition:border-color .2s,transform .2s}
.soc:hover{border-color:var(--sage);transform:translateY(-2px)}
.soc svg{width:30px;height:30px;flex:0 0 auto;fill:none;stroke:var(--moss);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;background:var(--night-2);border-radius:9px;padding:4px}
.soc img{width:30px;height:30px;flex:0 0 auto}
.soc span{display:grid;line-height:1.2}
.soc b{font-size:14.5px}
.soc small{font-size:12.5px;color:var(--cream-2)}
footer{background:#FFFFFF}
@media (min-width:1100px){.mosaic .m1 figcaption{bottom:70px}}
/* roomier side margins */
.wrap{padding-inline:clamp(24px,5vw,40px)}
.rail{scroll-padding-inline:clamp(24px,5vw,40px);padding-inline:max(clamp(24px,5vw,40px),calc((100vw - 1240px)/2 + 40px))}
@media (max-width:640px){.tiles{margin-inline:calc(-1 * clamp(24px,5vw,40px));padding-inline:clamp(24px,5vw,40px);scroll-padding-inline:clamp(24px,5vw,40px)}}
@media (max-width:420px){.wrap{padding-inline:24px}}
.hero h1 .it{padding-left:.04em}

/* Meet David: garden-arch portrait, head breaks the frame */
.dv-photo{margin:0;position:relative;aspect-ratio:100/113;width:100%}
.dv-arch,.dv-ring{position:absolute;border-radius:999px 999px 16px 16px}
.dv-ring{left:6.5%;width:87%;top:14.60%;height:79.29%;border:1.5px solid color-mix(in srgb,var(--moss) 55%,transparent)}
.dv-arch{left:10%;width:80%;top:17.70%;height:73.10%;overflow:hidden;isolation:isolate;
  background:radial-gradient(70% 55% at 46% 34%,#F6D58E 0%,#E2A23A 48%,#B9771B 100%);
  box-shadow:0 34px 60px -28px rgba(28,58,43,.55),inset 0 0 0 1px rgba(255,255,255,.25)}
.dv-arch::before{content:"";position:absolute;inset:6% -14% auto;aspect-ratio:710/672;z-index:-1;opacity:.16;background:#5B3606;
  -webkit-mask:url(../img/dgs-emblem.svg) center/contain no-repeat;mask:url(../img/dgs-emblem.svg) center/contain no-repeat}
.dv-arch::after{content:"";position:absolute;inset:auto 0 0;height:22%;background:linear-gradient(transparent,rgba(28,58,43,.55));z-index:2}
.dv-me{position:absolute;max-width:none;height:auto;filter:drop-shadow(0 14px 22px rgba(60,30,0,.28))}
.dv-arch .dv-me{width:118%;left:-8.5%;bottom:0}
.dv-pop{width:94.4%;left:3.2%;bottom:9.20%;clip-path:inset(0 0 49% 0);z-index:3;pointer-events:none}
.dv-arc{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:1}
.dv-arc text{font-family:var(--sign);font-size:3.3px;font-weight:700;letter-spacing:.9px;fill:var(--sage)}
.dv-photo figcaption{position:absolute;left:50%;bottom:0;transform:translateX(-50%);z-index:4;display:grid;justify-items:center;gap:3px;
  background:var(--moss);color:var(--on-dark);padding:12px 22px 11px;border-radius:12px;white-space:nowrap;
  box-shadow:0 18px 30px -16px rgba(28,58,43,.7),inset 0 0 0 1px rgba(226,162,58,.35)}
.dv-photo figcaption b{font-family:var(--sign);font-size:19px;text-transform:uppercase;letter-spacing:.06em;line-height:1}
.dv-photo figcaption span{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--btn);line-height:1}
/* license verify link */
a.pill-link{text-decoration:none;color:inherit;transition:border-color .2s,transform .2s}
a.pill-link:hover{border-color:var(--sage);transform:translateY(-1px)}
.pill-link .vfy{font-weight:700;color:var(--glow);text-decoration:underline;text-underline-offset:2px}
.dv-facts span a{color:var(--glow);font-weight:600}
/* closing call to action */
.cta-band{align-items:flex-end}
.cb-copy{display:grid;gap:12px;max-width:640px}
.cb-points{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:8px;color:color-mix(in srgb,var(--on-dark) 86%,transparent);font-size:16px}
.cb-points li{display:flex;gap:10px;align-items:baseline}
.cb-points li::before{content:"";flex:0 0 auto;width:14px;height:8px;border-left:2px solid var(--btn);border-bottom:2px solid var(--btn);transform:rotate(-45deg) translateY(-3px)}
.cb-act{display:grid;gap:12px;justify-items:stretch;min-width:min(100%,260px)}
.cb-act .btn{justify-content:center;text-align:center}
.cta-band .btn-line{color:var(--on-dark);border-color:color-mix(in srgb,var(--on-dark) 40%,transparent)}
.cta-band .btn-line:hover{background:color-mix(in srgb,var(--on-dark) 10%,transparent)}
.cb-call{color:color-mix(in srgb,var(--on-dark) 80%,transparent);text-align:center;font-size:15px;text-decoration:none}
.cb-call b{color:var(--on-dark);text-decoration:underline;text-underline-offset:3px}
@media (max-width:640px){.cta-band{flex-direction:column;align-items:stretch}.cb-act{min-width:0}}
/* phone quick-contact bar */
.mbar{display:none}
@media (max-width:860px){
  .mbar{display:grid;grid-template-columns:auto auto 1fr;gap:8px;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:60;
    padding:8px;border-radius:18px;background:rgba(28,58,43,.96);backdrop-filter:blur(8px);box-shadow:0 18px 40px -12px rgba(0,0,0,.45);
    transform:translateY(140%);transition:transform .3s ease}
  .mbar.on{transform:none}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:0 16px;border-radius:12px;text-decoration:none;font-weight:700;font-size:15px;color:var(--on-dark);background:rgba(255,255,255,.08)}
  .mbar svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .mbar .mb-book{background:var(--btn);color:#14231B}
  body.has-mbar footer{padding-bottom:110px}
}
/* service pages */
.why.w4{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){.why.w4{grid-template-columns:minmax(0,1fr)}}
.svc-more{font-weight:700;font-size:15px;color:var(--glow);text-decoration:none;justify-self:start}
.svc-more:hover{text-decoration:underline;text-underline-offset:3px}
/* booking month calendar */
.cal{display:grid;gap:10px;max-width:440px}
.cal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cal-head b{font-family:var(--sign);font-weight:800;font-size:18px;text-transform:uppercase;letter-spacing:.04em;color:#12282A}
.cal-nav{width:40px;height:40px;border-radius:999px;border:1.5px solid #CFC8B6;background:#FBF8F1;color:#12282A;font-size:22px;line-height:1;cursor:pointer}
.cal-nav:hover:not(:disabled){border-color:var(--sage)}
.cal-nav:disabled{opacity:.3;cursor:default}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cal-dow{text-align:center;font-size:11.5px;font-weight:700;letter-spacing:.06em;color:#556863;padding-bottom:2px}
.cal-d{aspect-ratio:1;min-height:38px;border-radius:10px;border:1.5px solid #CFC8B6;background:#FBF8F1;color:#12282A;font-family:var(--body);font-weight:700;font-size:15px;cursor:pointer;transition:border-color .15s}
.cal-d:hover:not(:disabled){border-color:var(--sage)}
.cal-d:disabled{border-color:transparent;background:transparent;color:#AEB6B1;font-weight:500;cursor:default}
.cal-d[aria-pressed="true"]{background:var(--moss);border-color:var(--moss);color:var(--on-dark)}
.cal-note{margin:0;font-size:13px;color:#556863}
/* project gallery + before/after */
.gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gal figure{margin:0;display:grid;gap:10px;align-content:start}
.gal img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;background:var(--night-2)}
.gal figcaption{display:grid;gap:2px}
.gal figcaption b{font-family:var(--sign);font-weight:800;text-transform:uppercase;font-size:17px;line-height:1.1}
.gal figcaption span{font-size:14.5px;color:var(--cream-2)}
@media (max-width:700px){.gal{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gal figcaption b{font-size:15px}.gal figcaption span{font-size:13.5px}}
.ba{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ba figure{margin:0;position:relative;display:grid;gap:10px}
.ba img{width:100%;aspect-ratio:2.24/1;object-fit:cover;border-radius:16px;background:var(--night-2)}
.ba figcaption{font-size:15px;color:var(--cream-2)}
.ba-tag{position:absolute;top:12px;left:12px;z-index:1;padding:6px 12px;border-radius:999px;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:rgba(20,35,27,.82);color:var(--on-dark)}
.ba-after .ba-tag{background:var(--btn);color:#14231B}
@media (max-width:700px){.ba{grid-template-columns:minmax(0,1fr)}}
/* bento captions: title always visible, detail on hover */
@media (min-width:1100px){
  .rail figcaption{transform:none;padding:48px 18px 14px}
  .rail figcaption span{max-height:0;overflow:hidden;transition:max-height .35s ease,opacity .35s}
  .rail figure:hover figcaption span{max-height:3.2em}
}
/* footer legal row + legal pages */
.foot-legal{flex-basis:100%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;margin-top:8px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;color:var(--cream-2)}
.foot-legal span:last-child{display:flex;gap:18px}
.foot-legal a{color:var(--cream-2)}
.fine a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.legal-h1{margin-top:18px;font-size:clamp(40px,6vw,72px)}
.legal{max-width:68ch;margin-top:28px;display:grid;gap:14px;font-size:16.5px;line-height:1.65;color:var(--cream)}
.legal h2{font-family:var(--sign);font-weight:800;text-transform:uppercase;font-size:20px;margin-top:22px;line-height:1.2}
.legal p,.legal ul{margin:0}
.legal ul{padding-left:20px;display:grid;gap:6px}
.legal .eff{color:var(--cream-2);font-size:14px}
.legal a{color:var(--glow)}
/* time windows */
.times{grid-template-columns:repeat(3,minmax(0,1fr))}
.time{display:grid;gap:2px;justify-items:center;padding:12px 4px}
.time b{font-size:15px;font-weight:700}
.time small{font-size:12.5px;font-weight:500;color:#556863}
.time[aria-pressed="true"] small{color:color-mix(in srgb,var(--on-dark) 78%,transparent)}
@media (max-width:420px){.times{grid-template-columns:repeat(3,minmax(0,1fr))}.time small{font-size:11.5px}}

/* page-title h1s sized like section h2s */
.sec-title h1{font-size:clamp(27.6px,4.2vw,57.6px)}
.rail-head h1{font-size:clamp(27.6px,4.2vw,57.6px)}
.offer-copy h1{font-size:clamp(26.4px,3.6vw,48.0px)}
.ct h1{font-size:clamp(30.0px,4.5vw,62.4px)}
.cc-copy h1{font-size:clamp(27.6px,4.2vw,57.6px)}
.dv-copy h1{font-size:clamp(27.6px,4.2vw,57.6px)}
/* serif heading scale */
.sec-title h1,.rail-head h1,.ct h1,.cc-copy h1,.dv-copy h1{font-size:clamp(34px,4.8vw,66px)}
.cta-band h1{font-size:clamp(30px,4vw,52px)}
.legal h1{font-family:var(--sign);font-weight:800;text-transform:uppercase;font-size:20px;margin-top:22px;line-height:1.2}
/* no sticky hover outlines after a tap on phones */
@media (hover:none){
  .cal-d:hover:not(:disabled),.cal-nav:hover:not(:disabled){border-color:#CFC8B6}
  .soc:hover{transform:none;border-color:var(--line)}
  .rail figure:hover img{transform:none}
}
/* blog */
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.post-card{display:grid;gap:10px;align-content:start;text-decoration:none;color:var(--cream);padding:0 0 18px;border-radius:18px;background:#FFFFFF;border:1px solid var(--line);overflow:hidden;transition:transform .2s,border-color .2s}
.post-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.post-card>*:not(img){padding-inline:20px}
.post-card b{font-family:var(--sign);font-weight:800;text-transform:uppercase;font-size:19px;line-height:1.15}
.pc-meta{font-size:13px;color:var(--sage);font-weight:600;letter-spacing:.02em;margin-top:6px}
.pc-ex{font-size:15px;color:var(--cream-2);line-height:1.5}
.pc-more{font-weight:700;color:var(--glow);font-size:15px}
@media (hover:hover){.post-card:hover{transform:translateY(-3px);border-color:var(--sage)}}
@media (max-width:900px){.post-grid{grid-template-columns:minmax(0,1fr)}}
.post-wrap{max-width:860px}
.post-h1{font-family:var(--sign);font-weight:800;text-transform:uppercase;font-size:clamp(30px,4.6vw,52px);line-height:1.05;margin-top:18px}
.post-meta{margin-top:12px;font-size:14px;color:var(--cream-2)}
.post-hero{margin:26px 0 0}
.post-hero img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:18px}
.post{max-width:68ch;margin-top:30px;display:grid;gap:16px;font-size:17px;line-height:1.7;color:var(--cream)}
.post h2{font-family:var(--sign);font-weight:800;text-transform:uppercase;font-size:clamp(21px,2.4vw,26px);line-height:1.15;margin-top:18px}
.post p,.post ul,.post ol{margin:0}
.post ul,.post ol{padding-left:22px;display:grid;gap:8px}
.post a{color:var(--glow)}
.post-src{margin-top:18px;padding:18px 20px;border-radius:14px;background:var(--night-2);font-size:14.5px;display:grid;gap:8px}
.post-src ul{padding-left:18px;gap:4px}
.post-rel{margin-top:8px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 22px;align-items:baseline;font-size:15.5px}
.post-rel a{font-weight:700;text-decoration:none}
/* booking anchor + skip link */
#book{scroll-margin-top:64px}
.skip-cal{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:15px;color:var(--glow);text-decoration:underline;text-underline-offset:3px;margin-top:4px}

/* ===================================================================
   RANCHO CORDOVA THEME — DGS Hardscape Construction
   Layout: a hardscape yard map. Granite-gray ground scored like a running-bond paver course,
   American River teal for the heavy panels, iron-oxide rust (the stain on dredge-tailing cobble) as the one accent,
   California highway-sign type (Barlow). A river-cobble band marks the edges of the page.
   =================================================================== */
:root{
  color-scheme:light;
  --night:#E6E5E0;      /* granite ground */
  --night-2:#D9D7CF;    /* tailings band */
  --paper:#F4F3EF;      /* surface for cards */
  --moss:#173B3F;       /* American River deep teal panels */
  --line:#C4C1B7;
  --cream:#1D2122;      /* basalt ink */
  --cream-2:#545B5B;    /* muted ink */
  --redwood:#A8481F;
  --glow:#A3461D;       /* iron-oxide text accent */
  --btn:#AE4A23;        /* rust buttons, white text */
  --btn-ink:#FFFFFF;
  --sage:#2B6563;       /* river-teal labels */
  --on-dark:#EEECE6;
  --on-dark-2:#B5C6C3;
  --on-dark-accent:#F0A57C;
  --sign:"Barlow Condensed","Arial Narrow",ui-sans-serif,system-ui,sans-serif;
  --body:"Barlow",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Barlow Condensed","Arial Narrow",ui-sans-serif,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --cobble:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22160%22%20height%3D%2228%22%20viewBox%3D%220%200%20160%2028%22%3E%3Cellipse%20cx%3D%224.6%22%20cy%3D%2214.6%22%20rx%3D%228.6%22%20ry%3D%226.5%22%20fill%3D%22%23C9C5BB%22%20stroke%3D%22%238E8B82%22%20stroke-opacity%3D%22.35%22/%3E%3Cellipse%20cx%3D%2222.3%22%20cy%3D%2214.3%22%20rx%3D%2211.1%22%20ry%3D%226.3%22%20fill%3D%22%23A6A399%22%20stroke%3D%22%238E8B82%22%20stroke-opacity%3D%22.35%22/%3E%3Cellipse%20cx%3D%2239.5%22%20cy%3D%2213.7%22%20rx%3D%228.1%22%20ry%3D%226.3%22%20fill%3D%22%23B3B0A7%22%20stroke%3D%22%238E8B82%22%20stroke-opacity%3D%22.35%22/%3E%3Cellipse%20cx%3D%2253.1%22%20cy%3D%2215.3%22%20rx%3D%227.5%22%20ry%3D%227.5%22%20fill%3D%22%23C9C5BB%22%20stroke%3D%22%238E8B82%22%20stroke-opacity%3D%22.35%22/%3E%3Cellipse%20cx%3D%2270.2%22%20cy%3D%2214.3%22%20rx%3D%2211.7%22%20ry%3D%228.2%22%20fill%3D%22%23C9C5BB%22%20stroke%3D%22%238E8B82%22%20stroke-opacity%3D%22.35%22/%3E%3Cellipse%20cx%3D%2289.9%22%20cy%3D%2215.9%22%20rx%3D%229.9%22%20ry%3D%227.4%22%20fill%3D%22%23C9C5BB%22%20stroke%3D%22%238E8B82%22%20stroke-opacity%3D%22.35%22/%3E%3Cellipse%20cx%3D%22107.5%22%20cy%3D%2213.7%22%20rx%3D%229.8%22%20ry%3D%226.5%22%20fill%3D%22%23A6A399%22%20stroke%3D%22%238E8B82%22%20stroke-opacity%3D%22.35%22/%3E%3Cellipse%20cx%3D%22122.9%22%20cy%3D%2215.3%22%20rx%3D%227.6%22%20ry%3D%227.1%22%20fill%3D%22%23B3B0A7%22%20stroke%3D%22%238E8B82%22%20stroke-opacity%3D%22.35%22/%3E%3Cellipse%20cx%3D%22136.0%22%20cy%3D%2212.8%22%20rx%3D%227.5%22%20ry%3D%228.0%22%20fill%3D%22%23C9C5BB%22%20stroke%3D%22%238E8B82%22%20stroke-opacity%3D%22.35%22/%3E%3Cellipse%20cx%3D%22151.3%22%20cy%3D%2212.2%22%20rx%3D%229.7%22%20ry%3D%226.2%22%20fill%3D%22%23B3B0A7%22%20stroke%3D%22%238E8B82%22%20stroke-opacity%3D%22.35%22/%3E%3Cellipse%20cx%3D%22168.5%22%20cy%3D%2215.1%22%20rx%3D%229.5%22%20ry%3D%227.9%22%20fill%3D%22%23D4D0C6%22%20stroke%3D%22%238E8B82%22%20stroke-opacity%3D%22.35%22/%3E%3C/svg%3E");
  --pavers:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2296%22%20height%3D%2248%22%20viewBox%3D%220%200%2096%2048%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%231D2122%22%20stroke-opacity%3D%22.06%22%20stroke-width%3D%221%22%3E%3Cpath%20d%3D%22M0%20.5H96M0%2024.5H96M.5%200V24M48.5%200V24M24.5%2024V48M72.5%2024V48%22/%3E%3C/g%3E%3C/svg%3E");
  --pavers-dark:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2296%22%20height%3D%2248%22%20viewBox%3D%220%200%2096%2048%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23EEECE6%22%20stroke-opacity%3D%22.07%22%20stroke-width%3D%221%22%3E%3Cpath%20d%3D%22M0%20.5H96M0%2024.5H96M.5%200V24M48.5%200V24M24.5%2024V48M72.5%2024V48%22/%3E%3C/g%3E%3C/svg%3E");
}
body{background:var(--night);color:var(--cream);font-family:var(--body)}
.sign{font-family:var(--sign);font-weight:800;letter-spacing:.005em;line-height:.98}
.it{font-family:var(--serif);font-style:italic;font-weight:700;color:var(--glow);text-transform:uppercase}
.kicker{font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:.08em;color:var(--sage)}
.logo b{font-family:var(--sign);font-weight:800;font-size:30px;letter-spacing:.02em;color:var(--cream)}
.logo .lk span{font-family:var(--sign);font-weight:700;font-size:12px;letter-spacing:.14em;color:var(--cream-2)}
.logo .mark{filter:none;border-radius:9px}
.strip span,.post-card b,.post h2,.post-h1,.legal h2,.legal h1,.cal-head b,.sent .when{font-family:var(--sign)}

/* buttons: squared, like a cut paver */
.btn{border-radius:6px;letter-spacing:.01em}
.btn-glow{background:var(--btn);color:var(--btn-ink)}
.btn-glow:hover{background:color-mix(in srgb,var(--btn) 88%,#000)}
.btn-line{border-color:color-mix(in srgb,var(--cream) 38%,transparent);color:var(--cream)}
form .btn-glow{background:var(--btn);color:var(--btn-ink)}
.plan-card .btn-glow{background:var(--moss);color:var(--on-dark)}
.mbar .mb-book,.ba-after .ba-tag,.tile[aria-pressed="true"] i{color:var(--btn-ink)}
.steps li::before{color:var(--btn-ink)}
.stars{color:#B9831C}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:var(--sage)}

/* surfaces */
.nav{background:color-mix(in srgb,var(--paper) 90%,transparent);border-bottom:1px solid var(--line)}
.pill{border-radius:4px;background:var(--paper);border-color:var(--line)}
.pill.coord{font-family:var(--mono);font-size:12.5px;letter-spacing:.02em}
.plan-card,form,.sheet-box,.phone,.link-row,.why article,.faq details,.areas-grid a,.quotes blockquote,.signoff,.mnav,.soc,.post-card{background:var(--paper)}
.plan-card,form,.sheet-box{box-shadow:0 18px 40px -28px rgba(29,33,34,.45)}
footer{background:var(--paper);position:relative}
footer::before{content:"";position:absolute;left:0;right:0;top:-14px;height:28px;background:var(--cobble) repeat-x center/auto 28px}
.contact,.work,.concrete,.david{background:var(--night-2)}
.mosaic figure,.feat figure,.rail figure,.post-hero img,.post-card,.proc-photo,.cc-photos figure{border-radius:8px}
.mosaic figure{box-shadow:0 26px 50px -26px rgba(29,33,34,.55)}
@media (min-width:1100px){.mosaic .m2,.mosaic .m3{border-color:var(--paper)}}
.mosaic figcaption,.feat figcaption,.proc-photo figcaption,.cc-photos figcaption,.m1 figcaption{background:rgba(23,59,63,.86);border-radius:4px;font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.03em}

/* hero: a scored paver course behind the headline, cobble at its foot */
.hero{background:var(--pavers) 0 0/96px 48px,linear-gradient(180deg,var(--paper) 0%,var(--night) 100%);position:relative}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:28px;background:var(--cobble) repeat-x center/auto 28px}
.hero h1{font-weight:800}
.hero h1 .it{display:inline;margin:0}

/* ticker strip: course of paver joints */
.strip{background:var(--moss);border:0}
.strip span{color:var(--on-dark)}
.strip span::before{content:"";display:inline-block;width:.5em;height:.32em;background:var(--on-dark-accent);margin-right:12px;vertical-align:middle;border-radius:1px}

/* dark river panels */
.cc-offer,.cta-band,.offer{background:var(--pavers-dark) 0 0/96px 48px,var(--moss);color:var(--on-dark);border-radius:10px}
.cc-offer .kicker,.cta-band .kicker{color:#8FC3BE!important}
.cta-band .it,.cc-offer .it,.cc-extras b,.cc-extras .val{color:var(--on-dark-accent)}
.cta-band .btn-line{border-color:rgba(238,236,230,.45);color:var(--on-dark)}
.mbar{background:rgba(23,59,63,.97)!important}
.sheet-bg{background:rgba(29,33,34,.5)}
.so-disc{background:var(--paper);border-radius:14px;box-shadow:0 24px 60px -30px rgba(29,33,34,.45),0 0 0 6px color-mix(in srgb,var(--btn) 22%,transparent)}
.so-disc img{border-radius:12px}
.score{color:var(--glow);font-family:var(--sign)}
.areas-grid a{border-radius:6px}

/* crew band */
.crew{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,56px);align-items:center}
.crew figure{margin:0;position:relative}
.crew img{width:100%;aspect-ratio:1266/961;object-fit:cover;border-radius:8px;box-shadow:0 26px 50px -26px rgba(29,33,34,.55)}
.crew figcaption{margin-top:10px;font-family:var(--mono);font-size:12px;color:var(--cream-2);letter-spacing:.02em}
.crew-copy{display:grid;gap:16px;min-width:0}
.crew-copy h2{font-size:clamp(30px,4.4vw,58px)}
.crew-copy p{max-width:52ch;color:var(--cream-2)}
.crew-facts{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.crew-facts li{display:flex;justify-content:space-between;gap:16px;padding-block:11px;border-bottom:1px solid var(--line);font-size:15.5px}
.crew-facts li span{color:var(--cream-2)}
.crew-facts li b{font-family:var(--mono);font-weight:500;font-size:13.5px;text-align:right}
@media (max-width:860px){.crew{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.btn,.post-card{transition:none}}
.steps li::before{border-radius:2px;width:14px;height:9px}
/* About portrait: a squared slab of river teal instead of a garden arch */
.dv-arch,.dv-ring{border-radius:10px}
.dv-arch{background:var(--pavers-dark) 0 0/96px 48px,radial-gradient(70% 55% at 46% 34%,#2D5E61 0%,#173B3F 75%);box-shadow:0 34px 60px -28px rgba(29,33,34,.55)}
.dv-arch::before{background:#EEECE6;opacity:.07}
.dv-arch::after{background:linear-gradient(transparent,rgba(23,59,63,.6))}
.dv-photo figcaption{border-radius:6px;box-shadow:0 18px 30px -16px rgba(29,33,34,.7)}
.dv-photo figcaption span{font-family:var(--mono);font-style:normal;font-size:12px;letter-spacing:.06em;color:var(--on-dark-accent)}
.dv-arc text{font-family:var(--mono);font-weight:500}
.crew-band{background:var(--night-2)}
.crew img{height:auto}

/* Groundbreakers rebrand: longer wordmark */
@media (max-width:480px){.logo b{font-size:21px}}
@media (max-width:380px){.logo b{font-size:18px}.nav .btn-sm{padding:8px 11px;font-size:13px}}
.so-word b{font-size:clamp(38px,7.4vw,84px);letter-spacing:.03em;overflow-wrap:anywhere}
select{font:inherit;font-weight:400;font-size:16px;padding:13px 14px;border-radius:10px;border:1.5px solid #CFC8B6;background:#FBF8F1;color:#12282A;width:100%;min-width:0}
.bk-range{margin:0;font-size:14.5px;color:var(--cream-2)}
.so-word b,.so-word span{font-family:var(--sign)}
@media (max-width:480px){.nav .logo b{font-size:19px;letter-spacing:.01em}.nav .logo .mark{width:34px;height:34px}.nav .wrap{gap:8px}.nav .btn-sm{padding:9px 12px;font-size:13.5px}}
@media (max-width:360px){.nav .logo b{font-size:16px}}
@media (max-width:480px){.nav .nav-r .btn-sm{display:none}.nav .logo b{font-size:22px}}

/* ===== Granados: "foothill evening" — olive-charcoal ground, parchment type, lantern brass ===== */
:root{
  color-scheme:dark;
  --night:#151913;      /* olive charcoal ground */
  --night-2:#1B2018;    /* alternate band */
  --paper:#222920;      /* card surface */
  --moss:#2C3826;       /* deep olive panels */
  --line:#3A4434;
  --cream:#F1EBDD;      /* parchment ink */
  --cream-2:#B8B7A3;    /* muted olive-grey */
  --redwood:#B9743A;
  --glow:#D9A85B;       /* lantern brass text accent */
  --btn:#CF9C52;        /* brass buttons */
  --btn-ink:#1A1408;
  --sage:#A9B98C;       /* olive-sage labels */
  --on-dark:#F1EBDD;
  --on-dark-2:#C6C5B0;
  --on-dark-accent:#E3B76C;
}
body{background:var(--night);color:var(--cream)}
.hero{background:var(--pavers-dark) 0 0/96px 48px,radial-gradient(120% 80% at 20% 0%,#232B1F 0%,var(--night) 70%)}
.hero::after,footer::before{opacity:.35}
.cc-offer,.cta-band,.offer{background:var(--pavers-dark) 0 0/96px 48px,linear-gradient(135deg,#34432D 0%,var(--moss) 100%);border:1px solid #435239}
.cc-offer .kicker,.cta-band .kicker{color:var(--sage)!important}
.cta-band .btn-line{border-color:rgba(241,235,221,.4)}
.mbar{background:rgba(27,32,24,.97)!important;border-top:1px solid var(--line)}
.mosaic figcaption,.feat figcaption,.proc-photo figcaption,.cc-photos figcaption,.m1 figcaption{background:rgba(21,25,19,.82);color:var(--cream)}
.mosaic figure,.crew img,.feat figure{box-shadow:0 30px 60px -28px rgba(0,0,0,.8)}
.plan-card,form,.sheet-box{box-shadow:0 22px 50px -30px rgba(0,0,0,.8);border:1px solid var(--line)}
.why article,.faq details,.areas-grid a,.quotes blockquote,.post-card,.pill{border:1px solid var(--line)}
.areas-grid a:hover{border-color:var(--glow)}
input,textarea,select{background:#1A1F17;border-color:#46513F;color:var(--cream)}
input::placeholder,textarea::placeholder{color:#8C8E7C}
.dv-arch{background:var(--pavers-dark) 0 0/96px 48px,radial-gradient(70% 55% at 46% 34%,#3B4A33 0%,#222B1E 75%)}
.dv-arch::after{background:linear-gradient(transparent,rgba(21,25,19,.6))}
.btn-line{border-color:rgba(241,235,221,.38);color:var(--cream)}
.btn-line:hover{background:rgba(241,235,221,.06)}
.btn-glow:hover{background:#DDAE66}
.stars{color:var(--glow)}
.so-disc{background:var(--moss);box-shadow:0 24px 60px -30px rgba(0,0,0,.8),0 0 0 6px rgba(217,168,91,.18)}
.logo .mark{border-radius:9px}
/* phones: lead with a photo, not just text */
@media (max-width:900px){
  .hero-grid > .mosaic{order:-1;height:min(64vw,360px)}
  .hero-grid{padding-top:20px}
}
/* booking form + plan card on the dark ground */
form,.plan-card,.sheet-box{background:var(--paper);color:var(--cream)}
form label,form legend,form .bk-head h3,.plan-card h3,.plan-card li,.sent .when,.cal-head b{color:var(--cream)}
.plan-card li small,.plan-card .empty,.plan-card .note,.day small,.day span,.cal-dow,.cal-note,form .fine{color:var(--cream-2)}
.plan-card .btn-glow,form .btn-glow{background:var(--btn);color:var(--btn-ink)}
.chip{border-color:#46513F;color:var(--cream)}
.chip[aria-pressed="true"],.day[aria-pressed="true"],.cal-d[aria-pressed="true"],.bk-steps li.on{background:var(--btn);border-color:var(--btn);color:var(--btn-ink)}
.bk-steps li{background:#2B3328;color:var(--cream-2)}
.bk-steps li.done{background:#3A4A30;color:#DCE6C8}
.day,.cal-d,.cal-nav{background:#1A1F17;border-color:#46513F;color:var(--cream)}
.cal-d:disabled{background:transparent;border-color:transparent;color:#5E6455}
.bk-summary{background:#2B3328;color:var(--cream)}
.soc{background:var(--paper)}
input[type=file]{color:var(--cream-2)}
.time{background:#1A1F17;border-color:#46513F;color:var(--cream)}
.time small{color:var(--cream-2)}
.time[aria-pressed="true"]{background:var(--btn);border-color:var(--btn);color:var(--btn-ink)}
.time[aria-pressed="true"] small,.day[aria-pressed="true"] small,.day[aria-pressed="true"] span{color:rgba(26,20,8,.75)}
/* site photo -> 3D design pairs */
.d3-pairs{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(18px,3vw,36px);align-items:start}
.d3-pair{display:grid;grid-template-columns:1fr;gap:12px;min-width:0}
.d3-tall{grid-template-columns:1fr 1fr}
.d3-pair figure{margin:0;position:relative;min-width:0}
.d3-pair img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;box-shadow:0 26px 50px -28px rgba(0,0,0,.8)}
.d3-tall img{aspect-ratio:3/4}
.d3-cap{grid-column:1/-1;margin:2px 0 0;color:var(--cream-2);font-size:16px}
.d3-cap b{display:block;color:var(--cream);font-family:var(--sign);font-size:20px;text-transform:uppercase;letter-spacing:.02em}
.ba-tag{background:rgba(21,25,19,.85);color:var(--cream);font-family:var(--mono);font-weight:500;letter-spacing:.06em;font-size:11.5px;border-radius:4px}
.ba-after .ba-tag{background:var(--btn);color:var(--btn-ink)}
.mosaic .ba-tag{top:8px;left:8px;font-size:10.5px;padding:4px 8px}
@media (max-width:860px){.d3-pairs{grid-template-columns:minmax(0,1fr)}.d3-pair:not(.d3-tall){grid-template-columns:1fr 1fr}.d3-pair:not(.d3-tall) img{aspect-ratio:1/1}}
/* readability pass on the dark ground */
body{font-size:17px}
.muted,.sec-title p,.crew-copy p,.steps p,.why p,.rule p,.faq p,.svc-city span,.cb-points li,.quotes blockquote p{font-size:17px;line-height:1.6}
.muted{color:#C4C3AF}
.steps p,.svc-city span,.crew-copy p{color:#C4C3AF}
.crew-facts li{font-size:16px}
.crew-facts li b{font-size:14px}
.crew figcaption,.feat figcaption,.mosaic figcaption,.asof,.src{font-size:13px}
.kicker{font-size:13px;letter-spacing:.1em}
.lede{font-size:clamp(17px,1.5vw,19px);color:#D6D2C2}
@media (max-width:700px){.muted,.sec-title p,.steps p,.why p,.rule p,.faq p{font-size:16.5px}}
.d3-pairs{grid-template-columns:minmax(0,1fr);gap:40px}
.d3-pair{grid-template-columns:1fr 1fr}
.d3-tall{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr);align-items:end}
.d3-tall .d3-cap{grid-column:auto;align-self:end;padding-bottom:6px}
@media (max-width:860px){.d3-pair:not(.d3-tall) img{aspect-ratio:4/3}.d3-tall{grid-template-columns:1fr 1fr}.d3-tall .d3-cap{grid-column:1/-1}}
@media (min-width:1100px){.mosaic .m1 figcaption{top:22px;bottom:auto}}

/* ===== 10/10 pass: rhythm, distinct bands, sage + gold, survey contours ===== */
:root{
  --night:#131710;
  --night-2:#1D241A;     /* clearly distinct olive band */
  --paper:#232B20;
  --line:#37422F;
  --glow:#E0B160;        /* warmer, richer gold */
  --btn:#D6A04B;
  --btn-ink:#1A1306;
  --sage:#9DB585;        /* living green accent */
  --sage-deep:#4E6A3C;
  --contours:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22600%22%20height%3D%22320%22%20viewBox%3D%220%200%20600%20320%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%236B6A4E%22%20stroke-width%3D%221%22%20opacity%3D%22.16%22%3E%3Cpolyline%20points%3D%22-10%2C17.7%205%2C21.1%2020%2C24.4%2035%2C27.4%2050%2C29.7%2065%2C31.3%2080%2C32.1%2095%2C32.1%20110%2C31.4%20125%2C30.1%20140%2C28.6%20155%2C27.0%20170%2C25.5%20185%2C24.4%20200%2C23.7%20215%2C23.4%20230%2C23.5%20245%2C23.8%20260%2C24.2%20275%2C24.5%20290%2C24.4%20305%2C23.9%20320%2C22.7%20335%2C21.0%20350%2C18.7%20365%2C16.0%20380%2C13.2%20395%2C10.5%20410%2C8.1%20425%2C6.2%20440%2C5.2%20455%2C5.1%20470%2C5.8%20485%2C7.4%20500%2C9.7%20515%2C12.4%20530%2C15.3%20545%2C18.1%20560%2C20.7%20575%2C22.7%20590%2C24.1%20605%2C24.9%22/%3E%3Cpolyline%20points%3D%22-10%2C65.9%205%2C68.4%2020%2C70.0%2035%2C70.7%2050%2C70.5%2065%2C69.5%2080%2C68.0%2095%2C66.1%20110%2C64.1%20125%2C62.2%20140%2C60.6%20155%2C59.3%20170%2C58.4%20185%2C57.9%20200%2C57.6%20215%2C57.2%20230%2C56.8%20245%2C55.9%20260%2C54.7%20275%2C52.9%20290%2C50.6%20305%2C47.8%20320%2C44.9%20335%2C41.9%20350%2C39.3%20365%2C37.1%20380%2C35.7%20395%2C35.2%20410%2C35.7%20425%2C37.2%20440%2C39.6%20455%2C42.6%20470%2C46.1%20485%2C49.7%20500%2C53.2%20515%2C56.4%20530%2C58.9%20545%2C60.8%20560%2C62.1%20575%2C62.7%20590%2C62.9%20605%2C62.7%22/%3E%3Cpolyline%20points%3D%22-10%2C109.5%205%2C108.9%2020%2C107.3%2035%2C105.2%2050%2C102.7%2065%2C100.0%2080%2C97.5%2095%2C95.2%20110%2C93.2%20125%2C91.7%20140%2C90.4%20155%2C89.4%20170%2C88.3%20185%2C87.2%20200%2C85.7%20215%2C83.9%20230%2C81.6%20245%2C79.0%20260%2C76.1%20275%2C73.2%20290%2C70.5%20305%2C68.2%20320%2C66.6%20335%2C65.9%20350%2C66.2%20365%2C67.7%20380%2C70.1%20395%2C73.4%20410%2C77.4%20425%2C81.7%20440%2C86.1%20455%2C90.3%20470%2C93.9%20485%2C97.0%20500%2C99.2%20515%2C100.7%20530%2C101.5%20545%2C101.7%20560%2C101.6%20575%2C101.4%20590%2C101.1%20605%2C101.0%22/%3E%3Cpolyline%20points%3D%22-10%2C130.2%205%2C127.7%2020%2C125.4%2035%2C123.4%2050%2C121.9%2065%2C121.0%2080%2C120.5%2095%2C120.5%20110%2C120.7%20125%2C120.9%20140%2C121.0%20155%2C120.8%20170%2C120.2%20185%2C119.0%20200%2C117.4%20215%2C115.5%20230%2C113.4%20245%2C111.4%20260%2C109.7%20275%2C108.6%20290%2C108.3%20305%2C108.7%20320%2C110.1%20335%2C112.2%20350%2C115.0%20365%2C118.2%20380%2C121.5%20395%2C124.7%20410%2C127.5%20425%2C129.8%20440%2C131.3%20455%2C132.0%20470%2C132.0%20485%2C131.5%20500%2C130.5%20515%2C129.4%20530%2C128.3%20545%2C127.4%20560%2C126.9%20575%2C126.8%20590%2C127.1%20605%2C127.7%22/%3E%3Cpolyline%20points%3D%22-10%2C157.1%205%2C155.1%2020%2C153.5%2035%2C152.5%2050%2C151.9%2065%2C151.6%2080%2C151.4%2095%2C151.0%20110%2C150.4%20125%2C149.4%20140%2C148.1%20155%2C146.4%20170%2C144.6%20185%2C142.8%20200%2C141.2%20215%2C140.1%20230%2C139.7%20245%2C140.2%20260%2C141.5%20275%2C143.8%20290%2C146.8%20305%2C150.4%20320%2C154.4%20335%2C158.4%20350%2C162.1%20365%2C165.4%20380%2C167.9%20395%2C169.6%20410%2C170.4%20425%2C170.5%20440%2C169.8%20455%2C168.8%20470%2C167.5%20485%2C166.1%20500%2C165.0%20515%2C164.1%20530%2C163.5%20545%2C163.3%20560%2C163.2%20575%2C163.3%20590%2C163.1%20605%2C162.6%22/%3E%3Cpolyline%20points%3D%22-10%2C182.8%205%2C181.8%2020%2C181.1%2035%2C180.5%2050%2C179.9%2065%2C179.2%2080%2C178.2%2095%2C177.0%20110%2C175.6%20125%2C174.2%20140%2C172.9%20155%2C172.1%20170%2C171.8%20185%2C172.3%20200%2C173.8%20215%2C176.2%20230%2C179.4%20245%2C183.4%20260%2C187.8%20275%2C192.5%20290%2C197.0%20305%2C201.1%20320%2C204.6%20335%2C207.2%20350%2C208.8%20365%2C209.5%20380%2C209.2%20395%2C208.3%20410%2C206.8%20425%2C205.0%20440%2C203.2%20455%2C201.5%20470%2C200.0%20485%2C198.8%20500%2C197.8%20515%2C197.0%20530%2C196.2%20545%2C195.3%20560%2C194.0%20575%2C192.2%20590%2C189.9%20605%2C187.1%22/%3E%3Cpolyline%20points%3D%22-10%2C218.7%205%2C219.2%2020%2C219.3%2035%2C219.1%2050%2C218.4%2065%2C217.4%2080%2C216.2%2095%2C215.0%20110%2C214.1%20125%2C213.6%20140%2C213.8%20155%2C214.6%20170%2C216.3%20185%2C218.7%20200%2C221.6%20215%2C224.9%20230%2C228.2%20245%2C231.4%20260%2C234.0%20275%2C236.0%20290%2C237.2%20305%2C237.6%20320%2C237.1%20335%2C235.9%20350%2C234.2%20365%2C232.2%20380%2C230.2%20395%2C228.4%20410%2C226.9%20425%2C226.0%20440%2C225.4%20455%2C225.3%20470%2C225.5%20485%2C225.8%20500%2C225.9%20515%2C225.8%20530%2C225.2%20545%2C224.1%20560%2C222.4%20575%2C220.3%20590%2C217.9%20605%2C215.4%22/%3E%3Cpolyline%20points%3D%22-10%2C248.9%205%2C248.5%2020%2C247.9%2035%2C247.3%2050%2C246.8%2065%2C246.6%2080%2C247.0%2095%2C248.1%20110%2C249.9%20125%2C252.4%20140%2C255.6%20155%2C259.2%20170%2C263.1%20185%2C266.8%20200%2C270.2%20215%2C273.0%20230%2C275.0%20245%2C276.0%20260%2C276.0%20275%2C275.1%20290%2C273.4%20305%2C271.2%20320%2C268.7%20335%2C266.2%20350%2C263.8%20365%2C261.8%20380%2C260.3%20395%2C259.2%20410%2C258.4%20425%2C257.9%20440%2C257.6%20455%2C257.1%20470%2C256.3%20485%2C255.2%20500%2C253.5%20515%2C251.5%20530%2C249.2%20545%2C246.7%20560%2C244.3%20575%2C242.2%20590%2C240.8%20605%2C240.1%22/%3E%3Cpolyline%20points%3D%22-10%2C280.0%205%2C280.3%2020%2C281.1%2035%2C282.4%2050%2C284.4%2065%2C287.0%2080%2C290.4%2095%2C294.3%20110%2C298.4%20125%2C302.7%20140%2C306.6%20155%2C310.0%20170%2C312.5%20185%2C314.1%20200%2C314.6%20215%2C314.0%20230%2C312.5%20245%2C310.1%20260%2C307.2%20275%2C303.9%20290%2C300.7%20305%2C297.6%20320%2C294.9%20335%2C292.7%20350%2C291.0%20365%2C289.6%20380%2C288.6%20395%2C287.6%20410%2C286.6%20425%2C285.4%20440%2C283.9%20455%2C282.1%20470%2C280.0%20485%2C277.7%20500%2C275.5%20515%2C273.6%20530%2C272.1%20545%2C271.4%20560%2C271.6%20575%2C272.7%20590%2C275.0%20605%2C278.1%22/%3E%3C/g%3E%3C/svg%3E");
}
.work,.crew-band,.contact,.david,.concrete{background:var(--night-2)}
.steps li::before{background:var(--sage);box-shadow:none}
.kicker{color:var(--sage)}
.areas-grid a i,.svc-more{color:var(--sage)}
.btn-glow{background:linear-gradient(180deg,#E0AC58 0%,#CC9440 100%);color:var(--btn-ink);box-shadow:0 1px 0 rgba(255,236,190,.35) inset,0 10px 24px -14px rgba(214,160,75,.7)}
.btn-glow:hover{background:linear-gradient(180deg,#E8B867 0%,#D29B48 100%)}

/* light parchment sections */
.sec-light{
  --night:#EEE7D7; --night-2:#E5DDCA; --paper:#F8F3E7; --line:#D4CAB2;
  --cream:#1E2318; --cream-2:#565A48; --glow:#8E5F1C; --sage:#4E6A3C;
  --on-dark:#F1EBDD;
  background:var(--contours) center/600px 320px,linear-gradient(180deg,#F1EADB 0%,#E9E1CF 100%);
  color:var(--cream);color-scheme:light;
}
.sec-light .muted,.sec-light .steps p,.sec-light .d3-cap,.sec-light .why p,.sec-light .rule p,.sec-light .faq p,.sec-light .asof,.sec-light .src{color:#4F5341}
.sec-light .d3-cap b,.sec-light h2,.sec-light h3{color:#1E2318}
.sec-light .it{color:#8E5F1C}
.sec-light .rule{border-color:#D4CAB2}
.sec-light .rule h3{color:#7A5016}
.sec-light a{color:inherit}
.sec-light .rule .src a{color:#4E6A3C}
.sec-light .d3-pair img,.sec-light .proc-photo img{box-shadow:0 24px 46px -26px rgba(40,34,18,.55)}
.sec-light .score{color:#8E5F1C}
.sec-light .stars{color:#B07A22}
.sec-light .btn-line{border-color:rgba(30,35,24,.35);color:#1E2318}
.sec-light .btn-line:hover{background:rgba(30,35,24,.05)}
.sec-light .steps li{border-top-color:#CFC4AA}
.sec-light .proc-photo figcaption{background:rgba(21,25,19,.85);color:#F1EBDD}
.sec-quote{padding-block:88px}
.sec-quote .big-quote blockquote p{color:#1E2318}
.sec-quote .big-quote cite{color:#565A48}
/* thin gold rule above section kickers: a drafting-sheet detail */
.sec-title .kicker::before{content:"";display:inline-block;width:22px;height:1px;background:currentColor;opacity:.7;vertical-align:middle;margin-right:10px}
.ba-tag{color:#F1EBDD}
.ba-after .ba-tag{color:var(--btn-ink);background:#D6A04B}

/* ===================== Granite & Poppy ===================== */
/* light granite ground, deep slate sections, California-poppy accent, dusty sage */
:root{
  color-scheme:light;
  --night:#F2EFE9;      /* granite white ground */
  --night-2:#E8E3DA;    /* alternate band */
  --paper:#FFFFFF;      /* cards */
  --moss:#1B2633;       /* slate panels */
  --line:#D8D1C4;
  --cream:#1A1F26;      /* ink */
  --cream-2:#565D68;    /* muted ink */
  --redwood:#C4521F;
  --glow:#C4521F;       /* poppy, dark enough for text on granite */
  --btn:#C4521F;
  --btn-ink:#FFFFFF;
  --sage:#5B7757;
  --on-dark:#F2EFE9;
  --on-dark-2:#B9C2CE;
  --on-dark-accent:#F28A4E;
  --contours:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22600%22%20height%3D%22320%22%20viewBox%3D%220%200%20600%20320%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%233E5068%22%20stroke-width%3D%221%22%20opacity%3D%22.13%22%3E%3Cpolyline%20points%3D%22-10%2C17.7%205%2C21.1%2020%2C24.4%2035%2C27.4%2050%2C29.7%2065%2C31.3%2080%2C32.1%2095%2C32.1%20110%2C31.4%20125%2C30.1%20140%2C28.6%20155%2C27.0%20170%2C25.5%20185%2C24.4%20200%2C23.7%20215%2C23.4%20230%2C23.5%20245%2C23.8%20260%2C24.2%20275%2C24.5%20290%2C24.4%20305%2C23.9%20320%2C22.7%20335%2C21.0%20350%2C18.7%20365%2C16.0%20380%2C13.2%20395%2C10.5%20410%2C8.1%20425%2C6.2%20440%2C5.2%20455%2C5.1%20470%2C5.8%20485%2C7.4%20500%2C9.7%20515%2C12.4%20530%2C15.3%20545%2C18.1%20560%2C20.7%20575%2C22.7%20590%2C24.1%20605%2C24.9%22/%3E%3Cpolyline%20points%3D%22-10%2C65.9%205%2C68.4%2020%2C70.0%2035%2C70.7%2050%2C70.5%2065%2C69.5%2080%2C68.0%2095%2C66.1%20110%2C64.1%20125%2C62.2%20140%2C60.6%20155%2C59.3%20170%2C58.4%20185%2C57.9%20200%2C57.6%20215%2C57.2%20230%2C56.8%20245%2C55.9%20260%2C54.7%20275%2C52.9%20290%2C50.6%20305%2C47.8%20320%2C44.9%20335%2C41.9%20350%2C39.3%20365%2C37.1%20380%2C35.7%20395%2C35.2%20410%2C35.7%20425%2C37.2%20440%2C39.6%20455%2C42.6%20470%2C46.1%20485%2C49.7%20500%2C53.2%20515%2C56.4%20530%2C58.9%20545%2C60.8%20560%2C62.1%20575%2C62.7%20590%2C62.9%20605%2C62.7%22/%3E%3Cpolyline%20points%3D%22-10%2C109.5%205%2C108.9%2020%2C107.3%2035%2C105.2%2050%2C102.7%2065%2C100.0%2080%2C97.5%2095%2C95.2%20110%2C93.2%20125%2C91.7%20140%2C90.4%20155%2C89.4%20170%2C88.3%20185%2C87.2%20200%2C85.7%20215%2C83.9%20230%2C81.6%20245%2C79.0%20260%2C76.1%20275%2C73.2%20290%2C70.5%20305%2C68.2%20320%2C66.6%20335%2C65.9%20350%2C66.2%20365%2C67.7%20380%2C70.1%20395%2C73.4%20410%2C77.4%20425%2C81.7%20440%2C86.1%20455%2C90.3%20470%2C93.9%20485%2C97.0%20500%2C99.2%20515%2C100.7%20530%2C101.5%20545%2C101.7%20560%2C101.6%20575%2C101.4%20590%2C101.1%20605%2C101.0%22/%3E%3Cpolyline%20points%3D%22-10%2C130.2%205%2C127.7%2020%2C125.4%2035%2C123.4%2050%2C121.9%2065%2C121.0%2080%2C120.5%2095%2C120.5%20110%2C120.7%20125%2C120.9%20140%2C121.0%20155%2C120.8%20170%2C120.2%20185%2C119.0%20200%2C117.4%20215%2C115.5%20230%2C113.4%20245%2C111.4%20260%2C109.7%20275%2C108.6%20290%2C108.3%20305%2C108.7%20320%2C110.1%20335%2C112.2%20350%2C115.0%20365%2C118.2%20380%2C121.5%20395%2C124.7%20410%2C127.5%20425%2C129.8%20440%2C131.3%20455%2C132.0%20470%2C132.0%20485%2C131.5%20500%2C130.5%20515%2C129.4%20530%2C128.3%20545%2C127.4%20560%2C126.9%20575%2C126.8%20590%2C127.1%20605%2C127.7%22/%3E%3Cpolyline%20points%3D%22-10%2C157.1%205%2C155.1%2020%2C153.5%2035%2C152.5%2050%2C151.9%2065%2C151.6%2080%2C151.4%2095%2C151.0%20110%2C150.4%20125%2C149.4%20140%2C148.1%20155%2C146.4%20170%2C144.6%20185%2C142.8%20200%2C141.2%20215%2C140.1%20230%2C139.7%20245%2C140.2%20260%2C141.5%20275%2C143.8%20290%2C146.8%20305%2C150.4%20320%2C154.4%20335%2C158.4%20350%2C162.1%20365%2C165.4%20380%2C167.9%20395%2C169.6%20410%2C170.4%20425%2C170.5%20440%2C169.8%20455%2C168.8%20470%2C167.5%20485%2C166.1%20500%2C165.0%20515%2C164.1%20530%2C163.5%20545%2C163.3%20560%2C163.2%20575%2C163.3%20590%2C163.1%20605%2C162.6%22/%3E%3Cpolyline%20points%3D%22-10%2C182.8%205%2C181.8%2020%2C181.1%2035%2C180.5%2050%2C179.9%2065%2C179.2%2080%2C178.2%2095%2C177.0%20110%2C175.6%20125%2C174.2%20140%2C172.9%20155%2C172.1%20170%2C171.8%20185%2C172.3%20200%2C173.8%20215%2C176.2%20230%2C179.4%20245%2C183.4%20260%2C187.8%20275%2C192.5%20290%2C197.0%20305%2C201.1%20320%2C204.6%20335%2C207.2%20350%2C208.8%20365%2C209.5%20380%2C209.2%20395%2C208.3%20410%2C206.8%20425%2C205.0%20440%2C203.2%20455%2C201.5%20470%2C200.0%20485%2C198.8%20500%2C197.8%20515%2C197.0%20530%2C196.2%20545%2C195.3%20560%2C194.0%20575%2C192.2%20590%2C189.9%20605%2C187.1%22/%3E%3Cpolyline%20points%3D%22-10%2C218.7%205%2C219.2%2020%2C219.3%2035%2C219.1%2050%2C218.4%2065%2C217.4%2080%2C216.2%2095%2C215.0%20110%2C214.1%20125%2C213.6%20140%2C213.8%20155%2C214.6%20170%2C216.3%20185%2C218.7%20200%2C221.6%20215%2C224.9%20230%2C228.2%20245%2C231.4%20260%2C234.0%20275%2C236.0%20290%2C237.2%20305%2C237.6%20320%2C237.1%20335%2C235.9%20350%2C234.2%20365%2C232.2%20380%2C230.2%20395%2C228.4%20410%2C226.9%20425%2C226.0%20440%2C225.4%20455%2C225.3%20470%2C225.5%20485%2C225.8%20500%2C225.9%20515%2C225.8%20530%2C225.2%20545%2C224.1%20560%2C222.4%20575%2C220.3%20590%2C217.9%20605%2C215.4%22/%3E%3Cpolyline%20points%3D%22-10%2C248.9%205%2C248.5%2020%2C247.9%2035%2C247.3%2050%2C246.8%2065%2C246.6%2080%2C247.0%2095%2C248.1%20110%2C249.9%20125%2C252.4%20140%2C255.6%20155%2C259.2%20170%2C263.1%20185%2C266.8%20200%2C270.2%20215%2C273.0%20230%2C275.0%20245%2C276.0%20260%2C276.0%20275%2C275.1%20290%2C273.4%20305%2C271.2%20320%2C268.7%20335%2C266.2%20350%2C263.8%20365%2C261.8%20380%2C260.3%20395%2C259.2%20410%2C258.4%20425%2C257.9%20440%2C257.6%20455%2C257.1%20470%2C256.3%20485%2C255.2%20500%2C253.5%20515%2C251.5%20530%2C249.2%20545%2C246.7%20560%2C244.3%20575%2C242.2%20590%2C240.8%20605%2C240.1%22/%3E%3Cpolyline%20points%3D%22-10%2C280.0%205%2C280.3%2020%2C281.1%2035%2C282.4%2050%2C284.4%2065%2C287.0%2080%2C290.4%2095%2C294.3%20110%2C298.4%20125%2C302.7%20140%2C306.6%20155%2C310.0%20170%2C312.5%20185%2C314.1%20200%2C314.6%20215%2C314.0%20230%2C312.5%20245%2C310.1%20260%2C307.2%20275%2C303.9%20290%2C300.7%20305%2C297.6%20320%2C294.9%20335%2C292.7%20350%2C291.0%20365%2C289.6%20380%2C288.6%20395%2C287.6%20410%2C286.6%20425%2C285.4%20440%2C283.9%20455%2C282.1%20470%2C280.0%20485%2C277.7%20500%2C275.5%20515%2C273.6%20530%2C272.1%20545%2C271.4%20560%2C271.6%20575%2C272.7%20590%2C275.0%20605%2C278.1%22/%3E%3C/g%3E%3C/svg%3E");
}
body{background:var(--night);color:var(--cream)}
.porch{display:none!important}

/* slate sections */
.hero,.crew-band,.sec-dark,footer,.cta-band,.cc-offer,.offer{--night:#1B2633;--night-2:#212E3D;--paper:#243243;--moss:#243243;--line:#34465C;--cream:#F2EFE9;--cream-2:#B9C2CE;--glow:#F28A4E;--sage:#A5BFA1;--on-dark:#F2EFE9;--on-dark-2:#B9C2CE;--on-dark-accent:#F28A4E;color-scheme:dark;color:var(--cream)}
.hero{background:var(--pavers-dark) 0 0/96px 48px,radial-gradient(120% 90% at 15% 0%,#26364A 0%,#1B2633 65%)}
.crew-band,.sec-dark{background:var(--contours) center/600px 320px,#1B2633}
.sec-dark{background:#1B2633}
footer{background:#161F2A}
.cta-band,.cc-offer,.offer{background:var(--pavers-dark) 0 0/96px 48px,linear-gradient(135deg,#26364A 0%,#1B2633 100%);border:1px solid #2E3E52}
.cta-band .kicker,.cc-offer .kicker{color:var(--sage)!important}
.cta-band .it{color:var(--on-dark-accent)}

/* light bands */
.work{background:var(--night-2)}
.sec-light{--night:#ECE7DE;--night-2:#E4DED3;--paper:#FFFFFF;--line:#D3CBBC;--cream:#1A1F26;--cream-2:#4F5661;--glow:#C4521F;--sage:#5B7757;
  background:var(--contours) center/600px 320px,linear-gradient(180deg,#EEE9E0 0%,#E6E0D5 100%);color:var(--cream);color-scheme:light}
.sec-light .muted,.sec-light .steps p,.sec-light .d3-cap,.sec-light .why p,.sec-light .rule p,.sec-light .faq p,.sec-light .asof,.sec-light .src{color:#4F5661}
.sec-light .d3-cap b,.sec-light h2,.sec-light h3{color:#1A1F26}
.sec-light .it,.sec-light .rule h3,.sec-light .score{color:#C4521F}
.sec-light .rule .src a{color:#41603E}
.sec-light .btn-line{border-color:rgba(26,31,38,.3);color:#1A1F26}
.sec-quote .big-quote blockquote p{color:#F2EFE9}
.sec-quote .big-quote cite{color:#B9C2CE}
.sec-quote .score{color:#F28A4E}

/* type colors that were fixed for the old dark theme */
.muted,.steps p,.svc-city span,.crew-copy p,.lede{color:var(--cream-2)}
.kicker{color:var(--sage)}
.it{color:var(--glow)}
.stars{color:#D9902C}
.steps li::before{background:var(--sage)}
.areas-grid a i,.svc-more{color:var(--glow)}

/* buttons */
.btn-glow,form .btn-glow,.plan-card .btn-glow{background:var(--btn);color:#fff;box-shadow:0 10px 24px -14px rgba(196,82,31,.75)}
.btn-glow:hover,form .btn-glow:hover{background:#D45E28}
.hero .btn-glow,.cta-band .btn-glow,.sec-dark .btn-glow{background:#E2703A;color:#14181E}
.hero .btn-glow:hover,.cta-band .btn-glow:hover{background:#EC7E47}
.btn-line{border-color:color-mix(in srgb,var(--cream) 32%,transparent);color:var(--cream)}
.btn-line:hover{background:color-mix(in srgb,var(--cream) 6%,transparent)}
.mbar{background:rgba(22,31,42,.97)!important;border-top:1px solid #2E3E52}
.mbar .mb-book{background:#E2703A;color:#14181E}

/* cards + chips on granite */
.why article,.faq details,.areas-grid a,.quotes blockquote,.post-card,.pill,.soc,.plan-card,form,.sheet-box{background:var(--paper);border:1px solid var(--line)}
.hero .pill{background:rgba(255,255,255,.06);border-color:#34465C;color:var(--cream)}
.plan-card,form,.sheet-box{box-shadow:0 22px 50px -32px rgba(27,38,51,.45)}
.mosaic figure,.crew img,.feat figure,.d3-pair img{box-shadow:0 26px 50px -28px rgba(20,28,38,.55)}
.mosaic figcaption,.feat figcaption,.proc-photo figcaption,.cc-photos figcaption,.m1 figcaption{background:rgba(27,38,51,.86);color:#F2EFE9}
.ba-tag{background:rgba(27,38,51,.88);color:#F2EFE9}
.ba-after .ba-tag{background:#E2703A;color:#14181E}
.so-disc{background:#1B2633;box-shadow:0 24px 60px -30px rgba(27,38,51,.6),0 0 0 6px rgba(226,112,58,.16)}
.dv-arch{background:var(--pavers-dark) 0 0/96px 48px,radial-gradient(70% 55% at 46% 34%,#33475F 0%,#1B2633 75%)}
.dv-arch::after{background:linear-gradient(transparent,rgba(27,38,51,.6))}

/* form controls */
input,textarea,select{background:#FFFFFF;border-color:#CFC7B8;color:var(--cream)}
input::placeholder,textarea::placeholder{color:#9097A0}
form label,form legend,form .bk-head h3,.plan-card h3,.plan-card li,.sent .when,.cal-head b{color:var(--cream)}
.chip{border-color:#CFC7B8;color:var(--cream)}
.day,.cal-d,.cal-nav,.time{background:#FFFFFF;border-color:#D8D1C4;color:var(--cream)}
.cal-d:disabled{background:transparent;border-color:transparent;color:#B3ADA2}
.bk-steps li{background:#ECE7DE;color:var(--cream-2)}
.bk-steps li.done{background:#DDE8D8;color:#2F4A2C}
.bk-summary{background:#F2EEE6;color:var(--cream)}
.chip[aria-pressed="true"],.day[aria-pressed="true"],.cal-d[aria-pressed="true"],.bk-steps li.on,.time[aria-pressed="true"]{background:var(--btn);border-color:var(--btn);color:#fff}
.time[aria-pressed="true"] small,.day[aria-pressed="true"] small,.day[aria-pressed="true"] span{color:rgba(255,255,255,.82)}
.tile[aria-pressed="true"]{box-shadow:0 0 0 3px #E2703A}
.tile[aria-pressed="true"] i{background:#E2703A;border-color:#E2703A;color:#14181E}
.so-word b{text-transform:uppercase;letter-spacing:.04em}

/* =================== Granados · luxury light =================== */
/* ivory + warm stone ground, slate ink used sparingly, terracotta-poppy as a fine accent.
   Carved-stone serif headings (Marcellus), italic Garamond accents, Figtree body. Sharp corners. */
:root{--night:#F6F2EA;--night-2:#EEE8DD;--paper:#FFFDF8;--moss:#1C2430;--line:#DED5C5;--cream:#1C2430;--cream-2:#5D636D;--glow:#B4532A;--sage:#56724F;color-scheme:light;
  --btn:#1C2430; --btn-ink:#F6F2EA; --accent:#B4532A; --accent-bright:#E07A47;
  --sign:"Marcellus","Trajan Pro",Georgia,serif;
  --serif:"Cormorant Garamond",Georgia,serif;
  --body:"Figtree",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Figtree",ui-sans-serif,system-ui,sans-serif;
  --contours:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22600%22%20height%3D%22320%22%20viewBox%3D%220%200%20600%20320%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%237A6E58%22%20stroke-width%3D%221%22%20opacity%3D%22.10%22%3E%3Cpolyline%20points%3D%22-10%2C17.7%205%2C21.1%2020%2C24.4%2035%2C27.4%2050%2C29.7%2065%2C31.3%2080%2C32.1%2095%2C32.1%20110%2C31.4%20125%2C30.1%20140%2C28.6%20155%2C27.0%20170%2C25.5%20185%2C24.4%20200%2C23.7%20215%2C23.4%20230%2C23.5%20245%2C23.8%20260%2C24.2%20275%2C24.5%20290%2C24.4%20305%2C23.9%20320%2C22.7%20335%2C21.0%20350%2C18.7%20365%2C16.0%20380%2C13.2%20395%2C10.5%20410%2C8.1%20425%2C6.2%20440%2C5.2%20455%2C5.1%20470%2C5.8%20485%2C7.4%20500%2C9.7%20515%2C12.4%20530%2C15.3%20545%2C18.1%20560%2C20.7%20575%2C22.7%20590%2C24.1%20605%2C24.9%22/%3E%3Cpolyline%20points%3D%22-10%2C65.9%205%2C68.4%2020%2C70.0%2035%2C70.7%2050%2C70.5%2065%2C69.5%2080%2C68.0%2095%2C66.1%20110%2C64.1%20125%2C62.2%20140%2C60.6%20155%2C59.3%20170%2C58.4%20185%2C57.9%20200%2C57.6%20215%2C57.2%20230%2C56.8%20245%2C55.9%20260%2C54.7%20275%2C52.9%20290%2C50.6%20305%2C47.8%20320%2C44.9%20335%2C41.9%20350%2C39.3%20365%2C37.1%20380%2C35.7%20395%2C35.2%20410%2C35.7%20425%2C37.2%20440%2C39.6%20455%2C42.6%20470%2C46.1%20485%2C49.7%20500%2C53.2%20515%2C56.4%20530%2C58.9%20545%2C60.8%20560%2C62.1%20575%2C62.7%20590%2C62.9%20605%2C62.7%22/%3E%3Cpolyline%20points%3D%22-10%2C109.5%205%2C108.9%2020%2C107.3%2035%2C105.2%2050%2C102.7%2065%2C100.0%2080%2C97.5%2095%2C95.2%20110%2C93.2%20125%2C91.7%20140%2C90.4%20155%2C89.4%20170%2C88.3%20185%2C87.2%20200%2C85.7%20215%2C83.9%20230%2C81.6%20245%2C79.0%20260%2C76.1%20275%2C73.2%20290%2C70.5%20305%2C68.2%20320%2C66.6%20335%2C65.9%20350%2C66.2%20365%2C67.7%20380%2C70.1%20395%2C73.4%20410%2C77.4%20425%2C81.7%20440%2C86.1%20455%2C90.3%20470%2C93.9%20485%2C97.0%20500%2C99.2%20515%2C100.7%20530%2C101.5%20545%2C101.7%20560%2C101.6%20575%2C101.4%20590%2C101.1%20605%2C101.0%22/%3E%3Cpolyline%20points%3D%22-10%2C130.2%205%2C127.7%2020%2C125.4%2035%2C123.4%2050%2C121.9%2065%2C121.0%2080%2C120.5%2095%2C120.5%20110%2C120.7%20125%2C120.9%20140%2C121.0%20155%2C120.8%20170%2C120.2%20185%2C119.0%20200%2C117.4%20215%2C115.5%20230%2C113.4%20245%2C111.4%20260%2C109.7%20275%2C108.6%20290%2C108.3%20305%2C108.7%20320%2C110.1%20335%2C112.2%20350%2C115.0%20365%2C118.2%20380%2C121.5%20395%2C124.7%20410%2C127.5%20425%2C129.8%20440%2C131.3%20455%2C132.0%20470%2C132.0%20485%2C131.5%20500%2C130.5%20515%2C129.4%20530%2C128.3%20545%2C127.4%20560%2C126.9%20575%2C126.8%20590%2C127.1%20605%2C127.7%22/%3E%3Cpolyline%20points%3D%22-10%2C157.1%205%2C155.1%2020%2C153.5%2035%2C152.5%2050%2C151.9%2065%2C151.6%2080%2C151.4%2095%2C151.0%20110%2C150.4%20125%2C149.4%20140%2C148.1%20155%2C146.4%20170%2C144.6%20185%2C142.8%20200%2C141.2%20215%2C140.1%20230%2C139.7%20245%2C140.2%20260%2C141.5%20275%2C143.8%20290%2C146.8%20305%2C150.4%20320%2C154.4%20335%2C158.4%20350%2C162.1%20365%2C165.4%20380%2C167.9%20395%2C169.6%20410%2C170.4%20425%2C170.5%20440%2C169.8%20455%2C168.8%20470%2C167.5%20485%2C166.1%20500%2C165.0%20515%2C164.1%20530%2C163.5%20545%2C163.3%20560%2C163.2%20575%2C163.3%20590%2C163.1%20605%2C162.6%22/%3E%3Cpolyline%20points%3D%22-10%2C182.8%205%2C181.8%2020%2C181.1%2035%2C180.5%2050%2C179.9%2065%2C179.2%2080%2C178.2%2095%2C177.0%20110%2C175.6%20125%2C174.2%20140%2C172.9%20155%2C172.1%20170%2C171.8%20185%2C172.3%20200%2C173.8%20215%2C176.2%20230%2C179.4%20245%2C183.4%20260%2C187.8%20275%2C192.5%20290%2C197.0%20305%2C201.1%20320%2C204.6%20335%2C207.2%20350%2C208.8%20365%2C209.5%20380%2C209.2%20395%2C208.3%20410%2C206.8%20425%2C205.0%20440%2C203.2%20455%2C201.5%20470%2C200.0%20485%2C198.8%20500%2C197.8%20515%2C197.0%20530%2C196.2%20545%2C195.3%20560%2C194.0%20575%2C192.2%20590%2C189.9%20605%2C187.1%22/%3E%3Cpolyline%20points%3D%22-10%2C218.7%205%2C219.2%2020%2C219.3%2035%2C219.1%2050%2C218.4%2065%2C217.4%2080%2C216.2%2095%2C215.0%20110%2C214.1%20125%2C213.6%20140%2C213.8%20155%2C214.6%20170%2C216.3%20185%2C218.7%20200%2C221.6%20215%2C224.9%20230%2C228.2%20245%2C231.4%20260%2C234.0%20275%2C236.0%20290%2C237.2%20305%2C237.6%20320%2C237.1%20335%2C235.9%20350%2C234.2%20365%2C232.2%20380%2C230.2%20395%2C228.4%20410%2C226.9%20425%2C226.0%20440%2C225.4%20455%2C225.3%20470%2C225.5%20485%2C225.8%20500%2C225.9%20515%2C225.8%20530%2C225.2%20545%2C224.1%20560%2C222.4%20575%2C220.3%20590%2C217.9%20605%2C215.4%22/%3E%3Cpolyline%20points%3D%22-10%2C248.9%205%2C248.5%2020%2C247.9%2035%2C247.3%2050%2C246.8%2065%2C246.6%2080%2C247.0%2095%2C248.1%20110%2C249.9%20125%2C252.4%20140%2C255.6%20155%2C259.2%20170%2C263.1%20185%2C266.8%20200%2C270.2%20215%2C273.0%20230%2C275.0%20245%2C276.0%20260%2C276.0%20275%2C275.1%20290%2C273.4%20305%2C271.2%20320%2C268.7%20335%2C266.2%20350%2C263.8%20365%2C261.8%20380%2C260.3%20395%2C259.2%20410%2C258.4%20425%2C257.9%20440%2C257.6%20455%2C257.1%20470%2C256.3%20485%2C255.2%20500%2C253.5%20515%2C251.5%20530%2C249.2%20545%2C246.7%20560%2C244.3%20575%2C242.2%20590%2C240.8%20605%2C240.1%22/%3E%3Cpolyline%20points%3D%22-10%2C280.0%205%2C280.3%2020%2C281.1%2035%2C282.4%2050%2C284.4%2065%2C287.0%2080%2C290.4%2095%2C294.3%20110%2C298.4%20125%2C302.7%20140%2C306.6%20155%2C310.0%20170%2C312.5%20185%2C314.1%20200%2C314.6%20215%2C314.0%20230%2C312.5%20245%2C310.1%20260%2C307.2%20275%2C303.9%20290%2C300.7%20305%2C297.6%20320%2C294.9%20335%2C292.7%20350%2C291.0%20365%2C289.6%20380%2C288.6%20395%2C287.6%20410%2C286.6%20425%2C285.4%20440%2C283.9%20455%2C282.1%20470%2C280.0%20485%2C277.7%20500%2C275.5%20515%2C273.6%20530%2C272.1%20545%2C271.4%20560%2C271.6%20575%2C272.7%20590%2C275.0%20605%2C278.1%22/%3E%3C/g%3E%3C/svg%3E");
}
body{background:var(--night);color:var(--cream);font-family:var(--body)}
/* every band is light unless it is one of the few slate accents */
.hero,.crew-band,.work,.sec-light{--night:#F6F2EA;--night-2:#EEE8DD;--paper:#FFFDF8;--moss:#1C2430;--line:#DED5C5;--cream:#1C2430;--cream-2:#5D636D;--glow:#B4532A;--sage:#56724F;color-scheme:light;color:var(--cream)}
.hero{background:var(--contours) center/600px 320px,linear-gradient(180deg,#F8F5EE 0%,#F1ECE2 100%)}
.hero .lights,.hero::after,footer::before{display:none!important}
.crew-band{background:#EEE8DD}
.work{background:#F1ECE3}
.sec-light{background:var(--contours) center/600px 320px,#EFE9DF}
.sec-dark,footer,.cta-band,.cc-offer,.offer{--night:#1C2430;--night-2:#222C3A;--paper:#26313F;--line:#384556;--cream:#F5F0E6;--cream-2:#B7BFCA;--glow:#E58A57;--sage:#A6BDA0;color-scheme:dark;color:var(--cream)}
.sec-dark{background:#1C2430}
footer{background:#18202B}
.cta-band,.cc-offer,.offer{background:linear-gradient(135deg,#243041 0%,#1C2430 100%);border:0;border-radius:2px}

/* type */
.sign,h1.sign,h2.sign{font-family:var(--sign);font-weight:400;text-transform:none;letter-spacing:-.005em;line-height:1.06}
.hero h1.sign{font-weight:400;font-size:clamp(40px,5.4vw,74px)}
h2.sign{font-size:clamp(32px,4vw,54px)}
.it,.sec-light .it,.cta-band .it{font-family:var(--serif);font-style:italic;font-weight:500;text-transform:none;letter-spacing:0;font-size:1.1em;color:var(--glow)}
.kicker,.sec-light .kicker{font-family:var(--body);font-weight:600;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--sage)}
.cta-band .kicker{color:var(--sage)!important}
.steps h3,.why h3,.svc-city b,.d3-cap b,.rule h3,.feat figcaption,.gal figcaption b,.post-card b,.tile span,.mnav-in a,.strip span{font-family:var(--sign);font-weight:400;text-transform:none;letter-spacing:.01em}
.steps h3{font-size:clamp(22px,2vw,26px)}
.svc-city b{font-size:20px}
.rule h3,.sec-light .rule h3{font-size:21px;color:var(--cream)}
.score,.sec-light .score,.sec-quote .score{font-family:var(--sign);font-weight:400}
.lede{font-size:clamp(17px,1.4vw,19px);color:var(--cream-2);line-height:1.65}
.muted,.steps p,.svc-city span,.crew-copy p,.why p,.rule p,.faq p,.d3-cap{color:var(--cream-2)}
.sec-light .muted,.sec-light .steps p,.sec-light .d3-cap,.sec-light .rule p,.sec-light .faq p,.sec-light .asof,.sec-light .src{color:#5D636D}
.sec-light .d3-cap b,.sec-light h2,.sec-light h3{color:var(--cream)}
.sec-title .kicker::before{background:var(--accent);opacity:1;width:28px}

/* logo */
.logo b{font-family:var(--sign);font-weight:400;font-size:25px;letter-spacing:.16em;color:var(--cream);text-transform:uppercase}
.logo .lk span{font-family:var(--body);font-weight:600;font-size:10.5px;letter-spacing:.24em;color:var(--sage)}
.logo .mark,.nav .logo .mark{width:46px;height:46px;border-radius:0;filter:none;box-shadow:none}
footer .logo .mark{width:44px;height:44px}
footer .logo b{color:#F5F0E6}
@media (max-width:480px){.nav .logo b{font-size:20px;letter-spacing:.12em}.nav .logo .mark{width:38px;height:38px}}

/* nav */
.nav{background:rgba(248,245,238,.92);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line)}
.nav nav a{font-weight:500;letter-spacing:.02em}
.nav-phone{font-weight:600;font-size:14.5px;text-decoration:none;color:var(--cream);white-space:nowrap}
.nav-phone:hover{color:var(--accent)}
@media (max-width:1100px){.nav-phone{display:none}}

/* buttons: slate, squared, letter-spaced */
.btn{border-radius:2px;letter-spacing:.1em;text-transform:uppercase;font-size:13.5px;font-weight:600;padding:17px 26px}
.btn-sm{padding:11px 18px;font-size:12.5px}
.btn-glow,form .btn-glow,.plan-card .btn-glow,.hero .btn-glow,.sec-dark .btn-glow{background:var(--btn);color:var(--btn-ink);box-shadow:none}
.btn-glow:hover,form .btn-glow:hover,.hero .btn-glow:hover{background:var(--accent);color:#fff}
.cta-band .btn-glow,.sec-dark .btn-glow{background:#F5F0E6;color:#1C2430}
.cta-band .btn-glow:hover,.sec-dark .btn-glow:hover{background:var(--accent-bright);color:#1C2430}
.btn-line,.hero .btn-line{border:1px solid rgba(28,36,48,.35);color:var(--cream);background:transparent}
.btn-line:hover{background:rgba(28,36,48,.04);border-color:var(--cream)}
.sec-dark .btn-line,.cta-band .btn-line{border-color:rgba(245,240,230,.4);color:#F5F0E6}
.mbar{background:rgba(24,32,43,.97)!important}
.mbar .mb-book{background:#F5F0E6;color:#1C2430;border-radius:2px}

/* surfaces: hairlines instead of heavy cards, sharp corners */
.why article,.faq details,.areas-grid a,.quotes blockquote,.post-card,.soc,.plan-card,form,.sheet-box{background:var(--paper);border:1px solid var(--line);border-radius:2px;box-shadow:none}
.plan-card,form,.sheet-box{box-shadow:0 30px 60px -40px rgba(28,36,48,.35)}
.pill,.hero .pill{background:transparent;border:1px solid var(--line);border-radius:2px;color:var(--cream)}
.pill.coord{font-family:var(--body);letter-spacing:.12em;font-size:11.5px;color:var(--cream-2)}
.areas-grid a{padding:22px 24px}
.areas-grid a b{font-family:var(--sign);font-weight:400;font-size:22px;text-transform:none}
.areas-grid a:hover{border-color:var(--cream);transform:none}
.mosaic figure,.feat figure,.rail figure,.post-hero img,.post-card,.proc-photo,.cc-photos figure,.crew img,.d3-pair img,.gal img,.svc-city img,.ba img,.tile{border-radius:2px}
.mosaic figure,.crew img,.feat figure,.d3-pair img{box-shadow:0 30px 60px -36px rgba(28,36,48,.45)}
@media (min-width:1100px){.mosaic .m2,.mosaic .m3{border:6px solid #FFFDF8}}
.mosaic figcaption,.feat figcaption,.proc-photo figcaption,.cc-photos figcaption,.m1 figcaption{background:rgba(255,253,248,.92);color:#1C2430;font-family:var(--body);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:10.5px;border-radius:0}
.ba-tag{background:rgba(255,253,248,.94);color:#1C2430;font-family:var(--body);font-weight:600;letter-spacing:.16em;font-size:10.5px;border-radius:0}
.ba-after .ba-tag{background:#1C2430;color:#F5F0E6}
.steps li{border-top:1px solid var(--line)}
.steps li::before{background:var(--accent);width:28px;height:2px;top:-1.5px;border-radius:0;box-shadow:none}
.crew-facts li b{font-family:var(--body);font-weight:600;letter-spacing:.04em}
.stars{color:#B98A2E}
.so-disc{background:transparent;box-shadow:none;border-radius:0}
.so-word b{font-family:var(--sign);font-weight:400;letter-spacing:.2em}
.so-word span{font-family:var(--body);letter-spacing:.3em;font-weight:600;color:var(--sage)}
.dv-arch{background:radial-gradient(70% 55% at 46% 34%,#E9E1D2 0%,#DCD2BF 75%)}
.dv-arch::after{background:linear-gradient(transparent,rgba(28,36,48,.25))}
.dv-photo figcaption{background:#1C2430}

/* form controls */
input,textarea,select{background:#FFFFFF;border:1px solid #D6CDBD;border-radius:2px;color:var(--cream)}
.chip{border-radius:2px;border-color:#D6CDBD}
.day,.cal-d,.cal-nav,.time{border-radius:2px;border-color:#DED5C5}
.chip[aria-pressed="true"],.day[aria-pressed="true"],.cal-d[aria-pressed="true"],.bk-steps li.on,.time[aria-pressed="true"]{background:#1C2430;border-color:#1C2430;color:#F6F2EA}
.bk-steps li{border-radius:2px}
.tile[aria-pressed="true"]{box-shadow:0 0 0 3px #1C2430}
.tile[aria-pressed="true"] i{background:#1C2430;border-color:#1C2430;color:#F6F2EA}
.sec-light .btn-glow,.work .btn-glow,.crew-band .btn-glow{color:#F6F2EA}
.sec-light .btn-glow:hover{color:#fff}
.cb-points li::before{border-color:var(--accent-bright)}
@media (min-width:1100px){.mosaic .m1 .ba-tag{display:none}}
/* feedback: Rate this site */
.fb-btn{position:fixed;left:18px;bottom:18px;z-index:70;display:inline-flex;align-items:center;gap:9px;padding:11px 16px;border:1px solid var(--line);border-radius:2px;background:rgba(255,253,248,.96);color:#1C2430;font:600 12px var(--body);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;box-shadow:0 14px 30px -18px rgba(28,36,48,.45);backdrop-filter:blur(6px)}
.fb-btn:hover{border-color:#1C2430}
.fb-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-bright)}
.fb-panel{position:fixed;left:18px;bottom:72px;z-index:71;width:min(380px,calc(100vw - 36px));max-height:calc(100vh - 110px);overflow:auto;background:#FFFDF8;color:#1C2430;border:1px solid var(--line);border-radius:2px;padding:22px;box-shadow:0 40px 80px -40px rgba(28,36,48,.55);display:grid;gap:14px}
.fb-head{display:flex;justify-content:space-between;gap:12px;align-items:start}
.fb-head h2{font-family:var(--sign);font-weight:400;font-size:24px;line-height:1.15;margin:6px 0 4px}
.fb-head p{margin:0;color:#5D636D;font-size:14.5px}
.fb-x{border:0;background:transparent;font-size:26px;line-height:1;color:#5D636D;cursor:pointer;padding:0 4px}
#fb-form{display:grid;gap:12px;background:transparent;border:0;padding:0;box-shadow:none}
.fb-rate{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.fb-rate button{display:grid;justify-items:center;gap:4px;padding:6px 2px;border:0;background:transparent;cursor:pointer;color:#5D636D;font:600 10.5px/1.15 var(--body);text-align:center}
.fb-rate svg{width:40px;height:28px}
.fb-rate ellipse{fill:#EEE8DD;stroke:#CFC6B5;stroke-width:1.2;transition:fill .15s,stroke .15s}
.fb-rate button.hov ellipse{fill:#F3D9C8;stroke:#E0A27F}
.fb-rate button.on ellipse{fill:#C25A2C;stroke:#A84B22}
.fb-rate button[aria-pressed="true"]{color:#1C2430}
.fb-read{margin:0;font:600 12px var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--sage)}
#fb-form label{display:grid;gap:6px;font-size:14px;font-weight:600}
#fb-form textarea{min-height:80px}
#fb-form .btn-glow{width:100%}
.fb-msg{margin:0;font-size:14px;color:#5D636D;min-height:1em}
.mbar .mb-rate{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:0 12px;border:0;border-radius:12px;font:700 14px var(--body);color:#F5F0E6;background:rgba(255,255,255,.08);cursor:pointer}
.mbar .mb-rate svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
@media (max-width:860px){
  .mbar{grid-template-columns:auto auto auto 1fr}
  .mbar a{padding:0 12px}
  .fb-btn{display:none}
  .fb-panel{left:10px;right:10px;width:auto;bottom:calc(84px + env(safe-area-inset-bottom))}
}
@media print{.fb-btn,.fb-panel{display:none}}
.fb-link{border:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;cursor:pointer;padding:0;margin-right:16px}
.mbar .mb-book{white-space:nowrap}
.logo b{font-size:20px;letter-spacing:.13em}
.logo .lk{gap:5px}
footer .logo b{font-size:18px}
.so-word b{font-size:clamp(26px,4.6vw,56px);letter-spacing:.16em}
@media (min-width:901px) and (max-width:1180px){.nav nav a{font-size:14.5px}.nav nav{gap:18px}}
@media (max-width:480px){.nav .logo b{font-size:15.5px;letter-spacing:.1em}.nav .logo .lk span{display:block;font-size:9px;letter-spacing:.2em}}
@media (max-width:360px){.nav .logo b{font-size:13.5px}}
.fb-btn{left:auto;right:18px}.fb-panel{left:auto;right:18px}@media (max-width:860px){.fb-panel{left:10px;right:10px}}
@media (max-width:860px){.mbar{grid-template-columns:auto auto 1fr}}
