:root{
  --navy:#13284b; --navy-2:#1c3966; --navy-d:#0c1a33; --ink:#1d2433; --muted:#5b5446;
  --gold:#c99a3b; --gold-l:#f1cf75; --gold-m:#dcae4f; --gold-d:#a77a22;
  --cream:#f7efe0; --cream-2:#efe2c8; --paper:#fffaf1;
  --serif:"Cinzel","Trajan Pro",Georgia,serif; --italic:"Libre Baskerville",Georgia,serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --gold-grad:linear-gradient(180deg,#f8dc8c 0%,#efc666 35%,#d9a542 70%,#b9832a 100%);
  --shadow:0 6px 16px rgba(80,55,15,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;font-family:var(--sans);color:var(--ink);line-height:1.55;font-size:17px;padding-bottom:58px;
  background-color:var(--cream);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .35 0 0 0 0 .2 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),radial-gradient(ellipse at 50% 0%,#fbf5ea 0,var(--cream) 60%,#f1e5cf 100%)}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy-2)}
h1,h2,h3{margin:0;color:var(--navy);line-height:1.12}
p{margin:0 0 1em}
figure{margin:0}
.wrap{max-width:1180px;margin:0 auto;padding:0 18px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:100}
.hp{position:absolute;left:-9999px}
.nw{white-space:nowrap}
.muted{color:var(--muted);font-size:.95rem}

/* Gold buttons */
.btn-gold{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--gold-grad);color:var(--navy-d);text-decoration:none;font-family:var(--sans);font-weight:800;text-transform:uppercase;letter-spacing:.02em;border:1.5px solid #b9832a;box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 4px 10px rgba(90,60,10,.35);border-radius:999px;cursor:pointer}
.btn-gold:hover{filter:brightness(1.06)}
.btn,.btn-accent,.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:.8em 1.5em;border-radius:999px;font-weight:800;text-decoration:none;font-size:1rem;font-family:inherit;cursor:pointer;border:1.5px solid #b9832a}
.btn-accent{background:var(--gold-grad);color:var(--navy-d);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 4px 10px rgba(90,60,10,.3);text-transform:uppercase}
.btn-primary{background:var(--navy);color:#fff;border-color:var(--gold)}
.btn-lg{padding:.95em 1.8em;font-size:1.05rem}
.btn-block{width:100%}

/* ---------- Top: nav + logo + hero ---------- */
.top{position:relative}
.site-header{background:linear-gradient(180deg,#fdf8ee,#f3e7d2);border-bottom:1px solid #e3cf9f;box-shadow:0 2px 6px rgba(80,55,15,.08);position:relative;z-index:3}
.nav{display:flex;justify-content:center;gap:10px;padding:0 6px;height:44px;align-items:center}
.nav-l,.nav-r{display:flex;gap:9px}
.nav a{font-family:var(--serif);font-weight:700;color:var(--navy);text-decoration:none;font-size:.68rem;letter-spacing:.02em;text-transform:uppercase;padding:6px 0;position:relative}
.nav a.active::after{content:"";position:absolute;left:-4px;right:-4px;bottom:0;height:3px;border-radius:2px;background:var(--gold-grad)}
.nav a span{font-size:.8em}
.logo{position:relative;z-index:4;display:block;width:min(74vw,300px);margin:6px auto -150px}
.logo img{width:100%;filter:drop-shadow(0 6px 10px rgba(60,40,10,.35))}
.hero{position:relative;background:#e9e4dc url("images/hero-bg-m.webp") center top/cover no-repeat;padding:160px 0 26px}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(180deg,rgba(247,239,224,0),var(--cream));pointer-events:none}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr);gap:18px;text-align:center}
.hero-gap{display:none}
.hero h1{font-family:var(--serif);font-weight:900;font-size:2.1rem;line-height:1.08;text-transform:uppercase;color:var(--navy);text-shadow:0 1px 0 rgba(255,255,255,.7),0 0 18px rgba(255,250,240,.9)}

.rule{display:block;width:150px;height:3px;margin:12px auto;background:linear-gradient(90deg,transparent,var(--gold) 20%,var(--gold-l) 50%,var(--gold) 80%,transparent)}
.sub{font-family:var(--italic);font-style:italic;color:var(--navy);font-size:1.05rem;line-height:1.45;margin:0 auto;max-width:22em;text-shadow:0 0 12px rgba(255,250,240,.95)}
.creed{display:flex;flex-direction:column;align-items:center}
.creed p{font-family:var(--serif);font-weight:800;text-transform:uppercase;color:var(--navy);font-size:1.12rem;line-height:1.35;margin:6px 0;text-shadow:0 0 14px rgba(255,250,240,.95)}
.rule-star{display:flex;align-items:center;gap:8px;width:240px;color:var(--gold)}
.rule-star::before,.rule-star::after{content:"";flex:1;height:2px;background:linear-gradient(90deg,transparent,var(--gold))}
.rule-star::after{background:linear-gradient(90deg,var(--gold),transparent)}
.st{width:20px;height:20px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}
.btn-quote{margin-top:16px;padding:13px 22px;font-size:1.02rem}
.btn-quote .ico{width:24px;height:24px}
.chev{font-size:1.6rem;line-height:.6;margin-left:4px}

/* ---------- Trust strip ---------- */
.trust{background:linear-gradient(180deg,#f7ecd8,#ead9b8);border-top:2px solid var(--gold);border-bottom:2px solid var(--gold);box-shadow:inset 0 1px 0 #fff6e2}
.trust-grid{display:grid;grid-template-columns:1fr 1fr}
.ti{display:flex;align-items:center;gap:10px;padding:12px 8px;border-right:1px solid rgba(167,122,34,.45)}
.ti:nth-child(2n){border-right:0}
.ti:nth-child(-n+2){border-bottom:1px solid rgba(167,122,34,.3)}
.ti svg{width:34px;height:34px;flex:none;color:var(--gold)}
.ti p{margin:0;font-family:var(--sans);font-weight:700;text-transform:uppercase;color:var(--navy);font-size:.72rem;line-height:1.25;letter-spacing:.02em}

/* ---------- Section headings ---------- */
.sec{padding:34px 0 30px}
.h{display:flex;align-items:center;justify-content:center;gap:14px;font-family:var(--serif);font-weight:900;text-transform:uppercase;font-size:1.65rem;letter-spacing:.02em;text-align:center}
.h::before,.h::after{content:"";flex:0 0 36px;height:3px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--gold) 40%,var(--gold-l))}
.h::after{background:linear-gradient(90deg,var(--gold-l),var(--gold) 60%,transparent)}
.h-left{justify-content:flex-start}.h-left::before{display:none}
.lede{font-family:var(--italic);font-style:italic;text-align:center;color:var(--navy);margin:8px auto 22px;font-size:.98rem}

/* ---------- Services tiles ---------- */
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tile{display:flex;align-items:center;gap:10px;min-height:66px;padding:10px 10px;border-radius:14px;background:linear-gradient(180deg,#fffdf8,#f7eedd);border:2px solid var(--gold-m);box-shadow:inset 0 0 0 1px #fff7e3,var(--shadow)}
.tile svg{width:36px;height:36px;flex:none;color:#9a6b1c;stroke-width:3}
.tile h3{font-family:var(--sans);font-weight:800;font-size:.86rem;line-height:1.2;color:var(--navy)}
.also{text-align:center;color:var(--muted);font-size:.9rem;margin:16px 0 0}

/* ---------- Projects ---------- */
.sec-scenic{position:relative;padding-top:40px}
.sec-scenic::before{content:"";position:absolute;left:0;right:0;top:0;height:130px;opacity:.55;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 130' preserveAspectRatio='none'%3E%3Cpath d='M0 130 L0 92 L90 70 L170 88 L260 52 L340 80 L430 60 L520 84 L600 66 L700 88 L780 58 L860 80 L950 50 L1040 78 L1120 62 L1200 84 L1200 130Z' fill='%23aab4c4' opacity='.55'/%3E%3Cpath d='M0 130 L0 104 L120 92 L240 106 L380 94 L520 108 L660 96 L800 108 L940 94 L1080 106 L1200 96 L1200 130Z' fill='%23c9cfd6' opacity='.7'/%3E%3Cg fill='%23465a4a' opacity='.55'%3E%3Cpath d='M20 130 L34 70 L48 130Z M44 130 L60 50 L76 130Z M74 130 L86 84 L98 130Z M104 130 L114 96 L124 130Z M1180 130 L1166 70 L1152 130Z M1156 130 L1140 50 L1124 130Z M1126 130 L1114 84 L1102 130Z M1096 130 L1086 96 L1076 130Z'/%3E%3C/g%3E%3C/svg%3E") center top/100% 130px no-repeat}
.sec-scenic .wrap{position:relative}
.projects{display:grid;gap:16px}
.proj{background:var(--paper);border:2px solid var(--gold-m);border-radius:16px;padding:8px 8px 10px;box-shadow:inset 0 0 0 1px #fff4dc,var(--shadow)}
.proj-photos{display:grid;grid-template-columns:1fr 1fr;gap:3px;border-radius:12px;overflow:hidden;border:2px solid var(--gold-l)}
.proj-photos figure{position:relative}
.proj-photos img{width:100%;aspect-ratio:4/5;object-fit:cover}
.pill{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);padding:5px 16px;border-radius:999px;font-family:var(--sans);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.pill-before{background:linear-gradient(180deg,#2a3346,#0f1624);color:#fff;border:1.5px solid #c9b07a}
.pill-after{background:var(--gold-grad);color:var(--navy-d);border:1.5px solid #fff1c4}
.proj h3{text-align:center;font-family:var(--sans);font-weight:800;text-transform:uppercase;font-size:.92rem;letter-spacing:.02em;margin-top:10px;color:var(--navy)}
.proj h3 span{display:block;text-transform:none;font-weight:600;font-size:.8rem;margin-top:2px}

/* ---------- CTA ---------- */
.cta-wrap{padding-top:10px;padding-bottom:30px}
.cta{background:linear-gradient(180deg,#1d3a64,#13284b 60%,#0f2140);border:3px solid var(--gold-m);box-shadow:inset 0 0 0 1px #f3d48a,0 8px 18px rgba(20,30,50,.3);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:14px;color:#fff}
.cta-l{display:flex;align-items:center;gap:12px;justify-content:center}
.cta-ico{width:46px;height:46px;color:var(--gold-l);flex:none}
.cta-l p{margin:0;line-height:1.2}
.cta-l strong{display:block;font-family:var(--sans);font-weight:800;text-transform:uppercase;font-size:1.05rem;letter-spacing:.02em}
.cta-l em{font-family:var(--italic);font-size:.92rem;color:#e9e0cc}
.cta-btns{display:grid;grid-template-columns:1fr;gap:10px}
.cbtn{border-radius:14px;padding:10px 14px;justify-content:center}
.cbtn svg{width:30px;height:30px;flex:none;color:var(--navy-d)}
.cbtn span{display:flex;flex-direction:column;line-height:1.15;font-size:.82rem;font-weight:800;text-align:left}
.cbtn b{font-size:1.15rem}

/* ---------- Rest of page ---------- */
.section{padding:48px 0}
.section-alt{background:rgba(239,226,200,.55);border-top:1px solid #e6d3a8;border-bottom:1px solid #e6d3a8}
.section-dark{background:linear-gradient(180deg,#1d3a64,#13284b);color:#ece4d2;border-top:3px solid var(--gold-m);border-bottom:3px solid var(--gold-m)}
.section-dark h2{color:#fff;font-family:var(--serif);font-weight:800;font-size:1.6rem;margin-bottom:.4em}
.section-dark .eyebrow{color:var(--gold-l);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.center{text-align:center}
.about-inner{display:grid;gap:22px;align-items:center}
.about-logo{width:220px;margin:0 auto;filter:drop-shadow(0 6px 10px rgba(60,40,10,.3))}
.tagline{font-family:var(--serif);color:var(--gold-d);font-weight:800;font-size:1rem;margin:10px 0 14px}
.grid{display:grid}
.gallery{grid-template-columns:1fr 1fr;gap:12px}
.gallery figure img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;border:2px solid var(--gold-m)}
.gallery figcaption{font-size:.85rem;font-weight:700;color:var(--navy);margin-top:6px;text-align:center}
.pros-inner{max-width:760px}
.checks{list-style:none;padding:0;margin:1.2em 0 1.6em}
.checks li{padding:6px 0 6px 30px;position:relative}
.checks li::before{content:"★";position:absolute;left:0;color:var(--gold-l)}
.area-inner{display:grid;gap:26px;align-items:center}
.cities{list-style:none;padding:0;margin:1em 0;display:flex;flex-wrap:wrap;gap:8px}
.cities li{background:var(--paper);border:1.5px solid var(--gold-m);border-radius:999px;padding:6px 14px;font-weight:700;color:var(--navy);font-size:.92rem}
.map-card{border-radius:16px;border:2px solid var(--gold-m);background:radial-gradient(circle at 50% 45%,#2a4c84 0,var(--navy) 70%);color:#ece4d2;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;padding:20px}
.map-card strong{color:#fff;font-size:1.25rem;font-family:var(--serif)}
.pin{color:var(--gold-l);font-size:2rem;line-height:1}
.section-lead{color:var(--muted);text-align:center;margin:8px auto 20px;max-width:40em}
.quote-inner{display:grid;gap:26px}
.quote-direct{font-weight:700;font-size:1.05rem;margin-top:1em}
.quote-direct a{font-size:1.6rem;color:var(--navy);text-decoration:none;font-family:var(--serif);font-weight:800}
.quote-form{background:var(--paper);border:2px solid var(--gold-m);border-radius:16px;padding:20px;box-shadow:var(--shadow)}
.field{margin-bottom:14px;display:flex;flex-direction:column;gap:6px}
.field-row{display:grid;gap:0 14px}
label{font-weight:700;font-size:.92rem;color:var(--navy)}
.opt{font-weight:400;color:var(--muted)}
input,select,textarea{font:inherit;font-size:16px;padding:12px;border:1px solid #d3c29a;border-radius:10px;background:#fff;color:var(--ink);width:100%}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(201,154,59,.35);border-color:var(--gold)}
.form-note{font-size:.86rem;color:var(--muted);margin:12px 0 0;text-align:center}
.site-footer{background:linear-gradient(180deg,#13284b,#0c1a33);color:#c9c1ae;padding:30px 0 14px;font-size:.94rem;border-top:3px solid var(--gold-m)}
.site-footer strong{color:#fff}
.site-footer a{color:var(--gold-l)}
.footer-inner{display:grid;gap:12px}
.copyright{font-size:.8rem;color:#8b8472;margin-top:16px}

@media (min-width:420px){.nav-l,.nav-r{gap:14px}.nav a{font-size:.76rem}}
@media (min-width:600px){
  .tiles{grid-template-columns:repeat(3,1fr)}
  .projects{grid-template-columns:1fr 1fr}
  .field-row{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:repeat(3,1fr)}
  .cta-btns{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:900px){
  /* --u = 1px of the 1024-wide mockup, scaled with viewport and capped at 1280 */
  :root{--u:min(.0977vw,1.25px)}
  body{padding-bottom:0}
  .mobile-bar{display:none}
  .wrap{max-width:calc(var(--u)*1024);padding:0 calc(var(--u)*20)}
  .nav{height:calc(var(--u)*64);justify-content:space-between;padding:0 calc(var(--u)*30)}
  .nav-l,.nav-r{gap:calc(var(--u)*38);flex:1}
  .nav-r{justify-content:flex-end}
  .nav a{font-size:calc(var(--u)*19.5);letter-spacing:.03em;padding:calc(var(--u)*8) 0}
  .nav a.active::after{height:calc(var(--u)*4);bottom:calc(var(--u)*-2)}
  .logo{position:absolute;left:50%;top:calc(var(--u)*4);transform:translateX(-50%);margin:0;width:calc(var(--u)*370)}
  .hero{background-image:url("images/hero-bg.webp");background-position:center 35%;padding:0;height:calc(var(--u)*404);display:flex;align-items:flex-start}
  .hero::after{height:22%}
  .hero-grid{width:100%;grid-template-columns:calc(var(--u)*290) 1fr calc(var(--u)*310);gap:0;align-items:start;text-align:left;padding-top:calc(var(--u)*72)}
  .hero-l{padding-left:calc(var(--u)*24)}
  .hero-gap{display:block}
  .hero h1{font-size:calc(var(--u)*41);line-height:1.18}
  .hero h1 br{display:inline}
  .rule{display:none}
  .sub{margin-top:calc(var(--u)*16);font-size:calc(var(--u)*21);line-height:1.3;max-width:calc(var(--u)*240)}
  .hero-r{display:flex;flex-direction:column;align-items:center;padding-top:calc(var(--u)*56);padding-right:calc(var(--u)*6)}
  .creed p{font-size:calc(var(--u)*21.5);text-align:center;margin:calc(var(--u)*2) 0;line-height:1.3}
  .rule-star{width:calc(var(--u)*230);gap:calc(var(--u)*8)}
  .st{width:calc(var(--u)*20);height:calc(var(--u)*20)}
  .btn-quote{white-space:nowrap;font-size:calc(var(--u)*19);padding:calc(var(--u)*12) calc(var(--u)*20);margin-top:calc(var(--u)*22);border-radius:calc(var(--u)*14);gap:calc(var(--u)*12)}
  .btn-quote .ico{width:calc(var(--u)*30);height:calc(var(--u)*30)}
  .chev{font-size:calc(var(--u)*34)}
  .trust-grid{grid-template-columns:repeat(4,1fr)}
  .ti{justify-content:center;padding:calc(var(--u)*15) calc(var(--u)*8);border-bottom:0!important;border-right:1px solid rgba(167,122,34,.45)!important;gap:calc(var(--u)*14)}
  .ti:last-child{border-right:0!important}
  .ti svg{width:calc(var(--u)*60);height:calc(var(--u)*60);margin:calc(var(--u)*-6) 0}
  .ti p{font-size:calc(var(--u)*18.5)}
  .sec{padding:calc(var(--u)*32) 0 calc(var(--u)*22)}
  .h{font-size:calc(var(--u)*40);gap:calc(var(--u)*22)}
  .h::before,.h::after{flex-basis:calc(var(--u)*150);height:calc(var(--u)*4)}
  .lede{font-size:calc(var(--u)*19);margin:calc(var(--u)*4) auto calc(var(--u)*22)}
  .tiles{grid-template-columns:repeat(4,1fr);gap:calc(var(--u)*14) calc(var(--u)*16)}
  .tile{min-height:calc(var(--u)*86);padding:calc(var(--u)*10) calc(var(--u)*12);gap:calc(var(--u)*12);border-radius:calc(var(--u)*16)}
  .tile svg{width:calc(var(--u)*64);height:calc(var(--u)*64);margin:calc(var(--u)*-6) calc(var(--u)*-4)}
  .tile h3{font-size:calc(var(--u)*19.5);line-height:1.12}
  .sec-scenic{padding-top:calc(var(--u)*40)}
  .sec-scenic::before{opacity:.85;height:calc(var(--u)*160);background-size:100% 100%}
  .projects{grid-template-columns:repeat(3,1fr);gap:calc(var(--u)*14)}
  .proj{padding:calc(var(--u)*6) calc(var(--u)*6) calc(var(--u)*8);border-radius:calc(var(--u)*14)}
  .proj-photos img{aspect-ratio:3/4}
  .pill{font-size:calc(var(--u)*15);padding:calc(var(--u)*4) calc(var(--u)*14)}
  .proj h3{letter-spacing:0;white-space:nowrap;font-size:calc(var(--u)*17.5);margin-top:calc(var(--u)*6)}
  .proj h3 span{font-size:calc(var(--u)*14)}
  .cta-wrap{padding-top:calc(var(--u)*18)}
  .cta{flex-direction:row;align-items:center;padding:calc(var(--u)*16) calc(var(--u)*18);gap:calc(var(--u)*18);border-radius:calc(var(--u)*18)}
  .cta-l{flex:none;padding-right:calc(var(--u)*20);border-right:2px solid var(--gold-m);justify-content:flex-start;gap:calc(var(--u)*14)}
  .cta-ico{width:calc(var(--u)*62);height:calc(var(--u)*62)}
  .cta-l strong{font-size:calc(var(--u)*25);max-width:calc(var(--u)*220);line-height:1.15}
  .cta-l em{font-size:calc(var(--u)*19)}
  .cta-btns{flex:1;gap:calc(var(--u)*14)}
  .cbtn{padding:calc(var(--u)*10) calc(var(--u)*8);gap:calc(var(--u)*12);border-radius:calc(var(--u)*14)}
  .cbtn svg{width:calc(var(--u)*40);height:calc(var(--u)*40)}
  .cbtn span{font-size:calc(var(--u)*17);text-align:center}
  .cbtn b{font-size:calc(var(--u)*25)}
  .section{padding:72px 0}
  .about-inner{grid-template-columns:260px 1fr;gap:48px}
  .about-logo{width:260px}
  .gallery{grid-template-columns:repeat(4,1fr)}
  .area-inner{grid-template-columns:1.2fr 1fr}
  .quote-inner{grid-template-columns:1fr 1.3fr;align-items:start}
  .footer-inner{grid-template-columns:1fr auto}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.h-left{white-space:nowrap}
.h-left::after{flex:1 1 40px;max-width:150px}
@media (min-width:900px){.h-left{font-size:calc(var(--u)*34)}.tagline{font-size:1.15rem}}
@media (max-width:420px){.h-left{font-size:1.45rem}}
.note{margin-top:1.2em;padding:14px 18px;background:rgba(255,250,241,.85);border:1px solid #e6d3a8;border-left:4px solid var(--gold);border-radius:10px;font-size:.94rem;color:#3b3a36}
.note h3{font-family:var(--serif);font-weight:800;font-size:1rem;color:var(--navy);margin:0 0 6px;text-transform:uppercase;letter-spacing:.03em}
.note p{margin:0}

/* ---- Contact button bar (Call / Text / Email / Free Quote) ---- */
.cbar{display:grid;gap:0;grid-template-columns:1fr 1fr 1fr 1.45fr;align-items:stretch;padding:4px;background:linear-gradient(180deg,#1e3b66 0%,#132a4e 55%,#0e2140 100%);border:1.5px solid var(--gold-m);border-radius:16px;box-shadow:inset 0 0 0 1px rgba(241,207,117,.18),0 0 0 1px rgba(201,154,59,.25),0 0 16px rgba(220,174,79,.45),0 6px 14px rgba(10,20,40,.35)}
.cbar a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:58px;padding:7px 2px;color:#fff;text-decoration:none;font-family:var(--serif);font-weight:700;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;line-height:1.1;white-space:nowrap;border-radius:12px;-webkit-tap-highlight-color:transparent}
.cbar a+a::before{content:"";position:absolute;left:0;top:16%;bottom:16%;width:1px;background:linear-gradient(180deg,transparent,var(--gold-m) 25%,var(--gold-l) 50%,var(--gold-m) 75%,transparent)}
.cbar a:hover{background:rgba(241,207,117,.08)}
.cbar svg{width:26px;height:26px;flex:none;fill:none;stroke:var(--gold-l);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px rgba(241,207,117,.35))}
.cbar small{display:none;font-family:var(--sans);font-weight:600;font-size:.72rem;letter-spacing:.02em;text-transform:none;color:#e6dcc6}
.cbar a.q{margin-left:4px;letter-spacing:.02em;padding:7px 4px;background:var(--gold-grad);color:var(--navy-d);border:1px solid #fff0c0;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 0 10px rgba(241,207,117,.45)}
.cbar a.q::before{display:none}
.cbar a.q svg{stroke:var(--navy-d);filter:none}
.cbar a.q small{color:#3a2c0e}
.cbar a.q:hover{filter:brightness(1.05);background:var(--gold-grad)}
.cta .cbar{width:100%}
.mobile-bar{position:fixed;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:60}
body{padding-bottom:92px}
@media (max-width:359px){.cbar a{font-size:.66rem;letter-spacing:.03em}.cbar svg{width:22px;height:22px}}
@media (min-width:900px){
  body{padding-bottom:0}
  .mobile-bar{display:none}
  .cta .cbar{flex:1;padding:5px;border-radius:calc(var(--u)*16)}
  .cta .cbar a{min-height:calc(var(--u)*92);gap:calc(var(--u)*5);font-size:calc(var(--u)*19)}
  .cta .cbar svg{width:calc(var(--u)*34);height:calc(var(--u)*34)}
  .cta .cbar small{display:block;font-size:calc(var(--u)*13.5)}
}
@media (max-width:899px){.cta{padding:16px 12px}.cta .cbar a{font-size:.7rem}}

/* ---- Recent Projects crossfade (JS adds .flip) ---- */
.pill-during{background:linear-gradient(180deg,#4a3a1c,#2a200e);color:#f8dc8c;border:1.5px solid var(--gold-m)}
.proj-photos:not(.flip) figure.dur{display:none}
.proj-photos.flip{display:block;position:relative;aspect-ratio:1/1;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#1b2436}
.proj-photos.flip figure{position:absolute;inset:0;opacity:0;transition:opacity .6s ease}
.proj-photos.flip figure.on{opacity:1}
.proj-photos.flip img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.proj-photos.flip .pill{bottom:30px}
.proj-photos.flip:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:2px;z-index:2}
.dots button{width:22px;height:16px;padding:0;border:0;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center}
.dots button::before{content:"";width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:0 0 0 1px rgba(15,22,36,.45);transition:background .3s,transform .3s}
.dots button.on::before{background:var(--gold-l);transform:scale(1.2)}
@media (prefers-reduced-motion:reduce){.proj-photos.flip figure{transition:none}}

/* ---- More Work carousel ---- */
.carousel{position:relative;margin:0 -4px}
.car-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 4px;padding:6px 4px 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.car-track::-webkit-scrollbar{display:none}
.car-track:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:14px}
.car-card{flex:0 0 80%;scroll-snap-align:start}
.car-btn{position:absolute;top:calc(50% - 30px);z-index:3;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;background:linear-gradient(180deg,#1e3b66,#0e2140);border:1.5px solid var(--gold-m);box-shadow:0 0 10px rgba(220,174,79,.45),0 4px 10px rgba(10,20,40,.35)}
.car-btn svg{width:22px;height:22px;fill:none;stroke:var(--gold-l);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.car-btn:hover{filter:brightness(1.15)}
.car-prev{left:-2px}.car-next{right:-2px}
.car-dots{display:flex;justify-content:center;gap:4px;margin-top:8px}
.car-dots button{width:26px;height:22px;padding:0;border:0;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center}
.car-dots button::before{content:"";width:10px;height:10px;border-radius:50%;background:#fffaf1;border:1.5px solid var(--gold-m);transition:background .3s,transform .3s}
.car-dots button.on::before{background:var(--navy);border-color:var(--gold);transform:scale(1.15);box-shadow:0 0 6px rgba(220,174,79,.6)}
@media (min-width:600px){.car-card{flex-basis:calc((100% - 14px)/2)}}
@media (min-width:900px){.car-card{flex-basis:calc((100% - 28px)/3)}.car-btn{width:48px;height:48px}.car-prev{left:-18px}.car-next{right:-18px}}

/* ---- Meet the Owner ---- */
.owner{display:grid;gap:20px;align-items:center;margin-top:36px;padding-top:30px;border-top:1px solid #e3cf9f}
.owner-photo{margin:0 auto;width:min(100%,340px);padding:6px;border-radius:20px;background:linear-gradient(180deg,#1e3b66,#0e2140);border:2px solid var(--gold-m);box-shadow:0 0 0 1px rgba(241,207,117,.35),0 0 16px rgba(220,174,79,.35),0 8px 18px rgba(10,20,40,.25)}
.owner-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:14px;border:1.5px solid var(--gold-l)}
.owner-text{text-align:center}
.owner-text .h-left{justify-content:center}
.owner-text .h-left::before{display:block}
.owner-name{font-family:var(--serif);font-weight:800;font-size:1.5rem;color:var(--navy);margin:12px 0 10px;line-height:1.2}
.owner-name span{display:block;font-family:var(--italic);font-style:italic;font-weight:400;font-size:1rem;color:var(--gold-d);margin-top:6px}
@media (min-width:900px){
  .owner{grid-template-columns:320px 1fr;gap:48px;margin-top:48px;padding-top:40px}
  .owner-photo{width:100%}
  .owner-text{text-align:left}
  .owner-text .h-left{justify-content:flex-start}
  .owner-text .h-left::before{display:none}
  .owner-name{font-size:1.9rem}
  .owner-name span{font-size:1.15rem}
}
