
:root{
  --ink:#0d0d0d;--near-black:#111410;--charcoal:#1c1c1a;--gold:#b8922a;--gold-hi:#d4aa42;--gold-pale:#f0dfa0;
  --off-white:#f5f2ec;--warm-mid:#c8c0aa;--muted:#7a7568;--paper:#f7f3ea;--paper-soft:#fffaf4;--paper-text:#181915;--paper-muted:#625d52;--line:#e7dccb;--sage:#53674a;
  --shadow:0 24px 70px rgba(17,20,16,.14);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:88px;}
body{font-family:'Montserrat',sans-serif;background:var(--paper);color:var(--paper-text);overflow-x:hidden;}
a{color:inherit;}
.skip-link{position:absolute;left:-999px;top:12px;z-index:9999;background:var(--gold-hi);color:var(--ink);padding:12px 16px;text-decoration:none;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:11px;}
.skip-link:focus{left:12px;}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold-hi);outline-offset:4px;}
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:18px 46px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(17,20,16,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(184,146,42,.15);}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0;}
.nav-logo-copy{display:flex;flex-direction:column;line-height:1;min-width:0;}
.nav-logo-text{font-weight:300;font-size:14px;letter-spacing:.24em;color:var(--off-white);text-transform:uppercase;white-space:nowrap;}
.nav-logo-text b{font-weight:700;color:var(--gold-hi);}
.nav-logo-sub{font-size:7px;letter-spacing:.3em;text-transform:uppercase;color:rgba(245,242,236,.45);margin-top:5px;white-space:nowrap;}
.nav-links{display:flex;align-items:center;gap:24px;list-style:none;}
.nav-links a{font-weight:400;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(245,242,236,.66);text-decoration:none;position:relative;transition:color .2s;}
.nav-links a:hover,.nav-links a.active{color:var(--gold-hi);}
.nav-cta{font-weight:700;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);background:var(--gold-hi);padding:12px 22px;text-decoration:none;white-space:nowrap;transition:background .2s,transform .2s;}
.nav-cta:hover{background:var(--gold-pale);transform:translateY(-1px);}
.nav-toggle{display:none;background:transparent;border:1px solid rgba(212,170,66,.35);width:44px;height:40px;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;z-index:1002;}
.nav-toggle span[aria-hidden="true"]{width:20px;height:1.5px;background:var(--gold-hi);display:block;transition:transform .25s,opacity .25s;}
body.nav-open .nav-toggle span[aria-hidden="true"]:nth-of-type(1){transform:translateY(6.5px) rotate(45deg);} body.nav-open .nav-toggle span[aria-hidden="true"]:nth-of-type(2){opacity:0;} body.nav-open .nav-toggle span[aria-hidden="true"]:nth-of-type(3){transform:translateY(-6.5px) rotate(-45deg);}
.page-hero{min-height:78svh;padding:150px 56px 82px;background:linear-gradient(145deg,rgba(17,20,16,.88),rgba(17,20,16,.62)),var(--near-black);display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,500px);gap:clamp(32px,6vw,78px);align-items:center;position:relative;overflow:hidden;color:var(--off-white);}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 15% 10%,rgba(212,170,66,.16),transparent 30%),radial-gradient(circle at 85% 85%,rgba(255,255,255,.08),transparent 34%);pointer-events:none;}
.page-hero::after{content:'';position:absolute;right:-120px;top:-100px;width:430px;height:430px;border:1px solid rgba(212,170,66,.18);border-radius:50%;}
.hero-copy,.hero-card{position:relative;z-index:2;}
.breadcrumb{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:28px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:rgba(245,242,236,.58);}
.breadcrumb a{text-decoration:none;color:rgba(245,242,236,.75);} .breadcrumb a:hover{color:var(--gold-hi);}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:.42em;text-transform:uppercase;color:var(--gold-hi);margin-bottom:18px;display:flex;align-items:center;gap:14px;}
.eyebrow::before{content:'';width:34px;height:1px;background:var(--gold-hi);}
h1{font-family:'Cormorant Garamond',serif;font-size:clamp(48px,7vw,92px);font-weight:300;line-height:.98;letter-spacing:-.025em;text-wrap:balance;margin-bottom:26px;} h1 em{font-style:italic;color:var(--gold-hi);}
.hero-lead{font-size:15px;font-weight:300;line-height:1.9;color:var(--warm-mid);max-width:660px;letter-spacing:.03em;margin-bottom:34px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;}
.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;border:none;cursor:pointer;font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;padding:17px 30px;transition:transform .2s,background .2s,border-color .2s;color:inherit;}
.btn-primary{background:var(--gold-hi);color:var(--ink);} .btn-primary:hover{background:var(--gold-pale);transform:translateY(-2px);} .btn-secondary{border:1px solid rgba(245,242,236,.26);color:var(--off-white);background:rgba(245,242,236,.04);} .btn-secondary:hover{border-color:var(--gold-hi);color:var(--gold-hi);transform:translateY(-2px);}
.hero-card{background:rgba(255,255,255,.96);color:var(--paper-text);padding:16px;box-shadow:0 34px 90px rgba(0,0,0,.38);border:1px solid rgba(212,170,66,.18);}
.hero-card img{display:block;width:100%;height:320px;object-fit:cover;}
.hero-card-copy{padding:24px 22px 14px;} .hero-card-copy p:first-child{font-size:10px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;} .hero-card-copy p:last-child{font-size:13px;line-height:1.75;color:var(--paper-muted);}
.section{padding:98px 56px;position:relative;overflow:hidden;} .section.dark{background:var(--near-black);color:var(--off-white);} .section.white{background:linear-gradient(135deg,#fff,var(--paper));} .section-inner{max-width:1180px;margin:0 auto;position:relative;z-index:2;}
.section-head{display:flex;justify-content:space-between;gap:34px;align-items:flex-end;margin-bottom:48px;flex-wrap:wrap;} .sec-kicker{font-size:10px;font-weight:700;letter-spacing:.36em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;} h2{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4.6vw,62px);font-weight:300;line-height:1.05;text-wrap:balance;} h2 em{font-style:italic;color:var(--gold);} .section.dark h2 em{color:var(--gold-hi);} .section-note{max-width:460px;font-size:14px;font-weight:300;line-height:1.85;color:var(--paper-muted);} .section.dark .section-note{color:rgba(245,242,236,.58);}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:46px;align-items:start;} .rich-copy p{font-size:15px;line-height:1.95;color:var(--paper-muted);margin-bottom:20px;font-weight:300;} .section.dark .rich-copy p{color:rgba(245,242,236,.65);} .rich-copy strong{color:var(--paper-text);} .section.dark .rich-copy strong{color:var(--off-white);}
.stat-panel{background:#fff;border:1px solid var(--line);padding:30px;box-shadow:var(--shadow);} .stat-panel.dark-panel{background:rgba(255,255,255,.06);border-color:rgba(212,170,66,.14);} .mini-stat{display:flex;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);} .dark-panel .mini-stat{border-bottom-color:rgba(245,242,236,.1);} .mini-stat:last-child{border-bottom:none;} .mini-stat strong{font-family:'Cormorant Garamond',serif;color:var(--gold);font-size:42px;font-weight:300;min-width:54px;} .mini-stat span{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;line-height:1.55;color:var(--paper-text);} .dark-panel .mini-stat span{color:var(--off-white);}
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;} .feature-card{background:#fff;border:1px solid var(--line);padding:30px 26px;min-height:210px;box-shadow:0 14px 40px rgba(17,20,16,.06);transition:transform .2s,box-shadow .2s;} .feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);} .feature-card .num{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:42px;color:rgba(184,146,42,.25);margin-bottom:18px;} .feature-card h3{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px;} .feature-card p{font-size:13px;line-height:1.8;color:var(--paper-muted);font-weight:300;}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;} .process-step{background:rgba(255,255,255,.055);padding:32px;border:1px solid rgba(212,170,66,.08);} .process-step strong{font-family:'Cormorant Garamond',serif;font-size:38px;font-style:italic;color:rgba(212,170,66,.5);font-weight:300;} .process-step h3{margin:20px 0 12px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;} .process-step p{font-size:13px;line-height:1.8;color:rgba(245,242,236,.62);font-weight:300;}
.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:16px;} .faq-item{background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px rgba(17,20,16,.05);} .faq-question{width:100%;text-align:left;padding:22px 24px;border:none;background:transparent;cursor:pointer;font-weight:700;letter-spacing:.06em;color:var(--paper-text);display:flex;justify-content:space-between;gap:18px;font-family:'Montserrat',sans-serif;} .faq-answer{display:none;padding:0 24px 24px;} .faq-answer.open{display:block;} .faq-answer p{font-size:13px;line-height:1.85;color:var(--paper-muted);font-weight:300;} .faq-icon{color:var(--gold);}
.links-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;} .link-card{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff;border:1px solid var(--line);padding:24px;text-decoration:none;box-shadow:0 12px 28px rgba(17,20,16,.05);transition:transform .2s,border-color .2s;} .link-card:hover{transform:translateY(-4px);border-color:rgba(184,146,42,.5);} .link-card span:first-child{font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;} .link-card span:last-child{color:var(--gold);font-size:22px;}
.cta-band{background:linear-gradient(135deg,var(--near-black),#25241e);color:var(--off-white);padding:82px 56px;position:relative;overflow:hidden;} .cta-band::after{content:'';position:absolute;right:-80px;top:-120px;width:340px;height:340px;border:1px solid rgba(212,170,66,.18);border-radius:50%;} .cta-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,470px);gap:44px;align-items:center;position:relative;z-index:2;} .cta-inner h2{margin-bottom:18px;} .cta-inner p{color:rgba(245,242,236,.64);font-size:14px;line-height:1.8;font-weight:300;max-width:650px;}
.quote-form{background:#fff;color:var(--paper-text);padding:28px;border:1px solid rgba(212,170,66,.22);box-shadow:0 24px 70px rgba(0,0,0,.23);} .quote-form h3{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:32px;margin-bottom:18px;color:var(--paper-text);} .form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;} .field{margin-bottom:10px;} .field label{display:block;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-muted);margin-bottom:8px;} input,select,textarea{width:100%;border:1px solid var(--line);background:var(--paper-soft);padding:14px 14px;font-family:'Montserrat',sans-serif;font-size:13px;color:var(--paper-text);} textarea{min-height:110px;resize:vertical;} .submit-btn{width:100%;margin-top:8px;background:var(--gold-hi);color:var(--ink);border:none;padding:16px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:10px;letter-spacing:.24em;text-transform:uppercase;cursor:pointer;}
footer{background:var(--near-black);padding:34px 56px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-top:1px solid rgba(184,146,42,.1);color:rgba(245,242,236,.35);} .footer-copy{font-size:9px;letter-spacing:.2em;text-transform:uppercase;line-height:1.7;} .footer-links{display:flex;gap:26px;list-style:none;flex-wrap:wrap;} .footer-links a{font-size:9px;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;} .footer-links a:hover{color:var(--gold-hi);}
@media(max-width:1100px){.nav-links{gap:16px}.nav-links a{font-size:9px;letter-spacing:.16em}.card-grid,.process-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:900px){nav{padding:14px 22px;}.nav-toggle{display:flex;}.nav-links{display:flex;position:fixed;top:68px;left:0;right:0;z-index:1000;flex-direction:column;align-items:stretch;gap:0;padding:14px 24px 24px;background:rgba(17,20,16,.985);border-bottom:1px solid rgba(184,146,42,.18);box-shadow:0 24px 60px rgba(0,0,0,.45);transform:translateY(-130%);opacity:0;pointer-events:none;transition:transform .28s ease,opacity .28s ease;}.nav-links li{border-bottom:1px solid rgba(245,242,236,.08);}.nav-links a{display:block;padding:16px 0;font-size:12px;color:rgba(245,242,236,.88);}body.nav-open .nav-links{transform:translateY(0);opacity:1;pointer-events:auto;}nav>.nav-cta{display:none;}.page-hero,.split,.cta-inner{grid-template-columns:1fr;}.page-hero{padding:128px 24px 60px;}.section,.cta-band{padding:76px 24px;}.hero-card img{height:240px;}.faq-list,.links-grid{grid-template-columns:1fr;}footer{padding:30px 24px;flex-direction:column;align-items:flex-start;}}
@media(max-width:560px){.nav-logo-text{font-size:12px;letter-spacing:.16em;}.nav-logo-sub{display:none;}h1{font-size:clamp(42px,13vw,62px);}.hero-actions .btn-primary,.hero-actions .btn-secondary{width:100%;}.card-grid,.process-grid,.form-row{grid-template-columns:1fr;}.hero-card{padding:10px;}.hero-card-copy{padding:18px 14px 8px;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{animation:none!important;transition:none!important;}}



/* ── FIRST-VISIT QUOTE POPUP ───────────────────────── */
.km-popup{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:24px;background:rgba(9,10,8,.58);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .28s ease;}
.km-popup.is-visible{opacity:1;pointer-events:auto;}
.km-popup-card{width:min(560px,100%);position:relative;overflow:hidden;background:linear-gradient(135deg,#fffaf4 0%,#f5f2ec 62%,#efe1bd 100%);color:#181915;border:1px solid rgba(184,146,42,.34);box-shadow:0 32px 100px rgba(0,0,0,.44);padding:38px clamp(24px,5vw,44px);}
.km-popup-card::before{content:'';position:absolute;right:-80px;top:-90px;width:210px;height:210px;border:1px solid rgba(184,146,42,.26);border-radius:50%;}
.km-popup-card::after{content:'';position:absolute;left:-36px;bottom:-36px;width:120px;height:120px;background:rgba(184,146,42,.08);transform:rotate(45deg);}
.km-popup-close{position:absolute;right:14px;top:14px;width:40px;height:40px;border:1px solid rgba(17,20,16,.12);background:rgba(255,255,255,.55);color:#111410;font-size:24px;line-height:1;cursor:pointer;z-index:3;transition:transform .2s,background .2s;}
.km-popup-close:hover{transform:rotate(90deg);background:#fff;}
.km-popup-kicker{position:relative;z-index:2;font-size:10px;font-weight:700;letter-spacing:.36em;text-transform:uppercase;color:#9a7018;margin-bottom:14px;}
.km-popup h2{position:relative;z-index:2;font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(34px,7vw,52px);line-height:1.02;letter-spacing:-.02em;margin:0 0 16px;color:#111410;}
.km-popup h2 em{font-style:italic;color:#b8922a;}
.km-popup p{position:relative;z-index:2;font-size:14px;line-height:1.85;color:#625d52;font-weight:300;margin:0 0 24px;max-width:440px;}
.km-popup-actions{position:relative;z-index:2;display:flex;gap:12px;flex-wrap:wrap;}
.km-popup-actions a{display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;padding:15px 22px;}
.km-popup-primary{background:#d4aa42;color:#0d0d0d;}
.km-popup-secondary{border:1px solid rgba(17,20,16,.18);color:#181915;background:rgba(255,255,255,.35);}
.km-popup-small{position:relative;z-index:2;display:block;margin-top:16px!important;font-size:11px!important;color:#7a7568!important;}
body.km-popup-open{overflow:hidden;}
@media(max-width:560px){.km-popup{padding:16px;align-items:end;}.km-popup-card{padding:34px 22px 24px;}.km-popup-actions a{width:100%;}.km-popup-close{right:10px;top:10px;}}
@media(prefers-reduced-motion:reduce){.km-popup,.km-popup-close{transition:none!important;}}

