:root{--black:#000;--white:#fff;--gold:#D0AC4C;--gold-grad:linear-gradient(135deg,#E6C76A 0%,#D0AC4C 55%,#B8912F 100%);--dgold:#8C6F12;--char:#2B2B2B;--light:#F4F4F4}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Montserrat,Arial,sans-serif;color:var(--char);background:#fff;line-height:1.6;font-size:17px}
h1,h2,h3.serif,.price{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;color:var(--black);line-height:1.15}
h1{font-size:clamp(40px,5vw,64px)}h2{font-size:clamp(30px,3.4vw,42px);margin-bottom:16px}
.eyebrow,.label{font-weight:600;text-transform:uppercase;letter-spacing:.25em;font-size:12px;color:var(--dgold)}
.dark .eyebrow{color:var(--gold)}
.wrap{max-width:1140px;margin:0 auto;padding:0 28px}
header{background:var(--black);color:#fff}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:84px}
.logo{color:#fff;text-decoration:none;line-height:1}
.logo b{font-family:"Cormorant Garamond",serif;font-size:34px;letter-spacing:.08em;display:block}
.logo small{font-size:9px;letter-spacing:.5em;font-weight:500}
nav a{color:#fff;text-decoration:none;margin-left:26px;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
nav a.cta{border:1px solid var(--gold);padding:10px 18px;color:var(--gold)}
section{padding:88px 0}.dark{background:var(--black);color:#ddd}.dark h1,.dark h2,.dark .price{color:#fff}
.panel{background:var(--light)}
.rule{border:0;border-top:1px solid var(--gold);width:72px;margin:22px 0}
.hero{background:var(--black);color:#ddd;padding:0}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding-top:80px;padding-bottom:80px}
.hero h1{color:#fff;margin:14px 0}.hero p{max-width:540px}
.ph{background:#1a1a1a;border:1px dashed #555;color:#999;display:flex;align-items:center;justify-content:center;text-align:center;font-size:13px;letter-spacing:.08em;padding:20px;min-height:380px}
.panel .ph,section:not(.dark):not(.hero) .ph{background:#eee;border-color:#bbb;color:#777}
.btn{display:inline-block;background:var(--gold);color:#000;text-decoration:none;padding:15px 28px;font-weight:600;font-size:13px;letter-spacing:.15em;text-transform:uppercase;margin-top:26px;border:0;cursor:pointer}
.btn.ghost{background:transparent;border:1px solid currentColor;color:inherit;margin-left:10px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:40px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.card{border-top:2px solid var(--gold);padding-top:22px}
.card h3{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#000;margin-bottom:10px}
.dark .card h3{color:#fff}
.price{font-size:56px}.price small{font-family:Montserrat;font-size:15px;font-weight:500;color:inherit}
.tiers{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #ddd;margin-top:40px}
.tier{padding:44px}.tier.sig{background:#000;color:#ddd}.tier.sig .price{color:#fff}
.tier ul{list-style:none;margin-top:20px}.tier li{padding:8px 0;border-bottom:1px solid rgba(128,128,128,.25);font-size:15px}
.tier li:before{content:"— ";color:var(--gold)}
.fine{font-size:13px;color:#777;margin-top:22px}.dark .fine{color:#999}
.marker{display:inline-block;background:#fff3c4;color:#6b5200;font-size:11px;padding:2px 8px;letter-spacing:.08em;font-weight:600;border:1px solid #e0c95c}
table{width:100%;border-collapse:collapse;margin-top:20px}td{padding:12px 0;border-bottom:1px solid #ddd}td:last-child{text-align:right;font-weight:600}
form{display:grid;gap:14px}label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
input,select,textarea{width:100%;padding:12px;border:1px solid #bbb;font:inherit;font-size:15px;margin-top:6px;background:#fff}
footer{background:#000;color:#ccc;padding:56px 0;font-size:15px}
footer .wrap{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap}footer strong{color:#fff}footer a{color:var(--gold);text-decoration:none}
.banner{background:#fff3c4;color:#5a4500;text-align:center;font-size:12px;padding:8px;letter-spacing:.05em}
@media(max-width:820px){.hero .wrap,.grid2,.grid3,.tiers{grid-template-columns:1fr}nav a:not(.cta){display:none}}
/* savings calculator v2 */
.calc{background:#000;color:#ddd}
.calc h2{color:#fff}
.calc label.l{display:block;color:#fff;margin-top:24px}
.calc-input{display:flex;align-items:center;max-width:440px;margin-top:10px;border:1px solid var(--gold);background:#fff}
.calc-input span{padding:0 4px 0 18px;font-family:"Cormorant Garamond",serif;font-size:34px;color:#000}
.calc-input input{border:0;margin:0;font-family:"Cormorant Garamond",serif;font-weight:600;font-size:34px;padding:10px 12px 10px 4px;color:#000;outline:none;background:transparent}
.calc-input:focus-within{outline:2px solid var(--gold);outline-offset:3px}
.calc-results{display:grid;grid-template-columns:1.35fr 1fr;gap:24px;margin-top:36px;transition:opacity .2s}
.calc-results.dim{opacity:.25}
.sv-card{border:1px solid #333;padding:34px 34px 30px;position:relative}
.sv-flat{border-color:var(--gold);border-top-width:4px}
.sv-sig{border-top:4px solid #555}
.sv-label{display:block;font-weight:600;text-transform:uppercase;letter-spacing:.22em;font-size:12px;color:var(--gold);margin-bottom:12px}
.sv-head{font-family:"Cormorant Garamond",serif;font-weight:600;color:#fff;line-height:1.02}
.sv-lead,.sv-more{font-size:clamp(22px,2.4vw,30px);display:inline-block}
.sv-num{display:block;color:var(--gold);font-size:clamp(64px,8.6vw,118px);letter-spacing:-.01em;font-variant-numeric:lining-nums tabular-nums;margin:2px 0 4px}
.sv-sig .sv-num{font-size:clamp(48px,5.4vw,72px)}
.sv-fees{margin-top:16px;font-size:14px;color:#bbb}.sv-fees b{color:#fff;font-weight:600}.sv-vs{color:#777;margin:0 4px}
.sv-bars{margin-top:20px;display:grid;gap:10px}
.sv-bar{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:10px}
.sv-bl{font-size:11px;font-weight:600;letter-spacing:.15em;color:#999}
.sv-track{height:14px;background:#151515;display:block}
.sv-fill{display:block;height:100%;transition:width .55s cubic-bezier(.2,.7,.2,1)}
.sv-fill-pct{background:#6b6b6b}.sv-fill-raw{background:var(--gold)}
.sv-card.neg .sv-num{color:#fff}.sv-card.neg{border-color:#444}
.calc-msg{margin-top:18px;font-size:15px;color:#ddd;min-height:1.2em}
.calc .fine{color:#888;font-size:11.5px;max-width:820px;margin-top:10px}
@media(prefers-reduced-motion:reduce){.sv-fill{transition:none}}
@media(max-width:820px){.calc-results{grid-template-columns:1fr;gap:16px}.sv-card{padding:24px 22px}.sv-num{font-size:clamp(56px,17vw,84px)}.sv-sig .sv-num{font-size:clamp(42px,12vw,60px)}.calc-input{max-width:none}.calc-input input,.calc-input span{font-size:30px}}
.price,.calc-input input{font-variant-numeric:lining-nums}
/* services comparison */
.svc{background:var(--light)}
.svc-intro{max-width:640px}
.svc-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:28px;margin-top:40px;align-items:stretch}
.svc-card{background:#fff;border:1px solid #ddd;padding:40px 38px;display:flex;flex-direction:column;position:relative}
.svc-card .price{font-size:52px;font-variant-numeric:lining-nums;margin-top:8px}
.svc-sub{font-size:14px;color:#666;margin-top:4px}
.svc-h{font-family:Montserrat,sans-serif;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#000;margin:26px 0 6px}
.svc-list{list-style:none}
.svc-list li{padding:10px 0 10px 26px;border-bottom:1px solid #e6e6e6;font-size:15px;position:relative}
.svc-list li:before{content:"";position:absolute;left:2px;top:17px;width:12px;height:6px;border-left:2px solid var(--dgold);border-bottom:2px solid var(--dgold);transform:rotate(-45deg)}
.svc-cta{margin-top:auto;align-self:flex-start}
.svc-card .svc-list{margin-bottom:28px}
.svc-sig{background:#000;color:#ddd;border:1px solid var(--gold);border-top:4px solid var(--gold)}
.svc-sig .label{color:var(--gold)}.svc-sig .price{color:#fff}.svc-sig .svc-sub{color:#aaa}
.svc-sig .svc-h{color:var(--gold)}.svc-sig .svc-plus{color:#fff;font-family:"Cormorant Garamond",serif;font-size:24px;letter-spacing:0;text-transform:none}
.svc-sig .svc-list li{border-bottom-color:#2a2a2a}.svc-sig .svc-list li:before{border-color:var(--gold)}
.svc-badge{position:absolute;top:-1px;right:24px;background:var(--gold);color:#000;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:6px 10px}
.svc-more{margin:-14px 0 26px}.svc-more a{color:var(--gold);text-decoration:none;font-size:14px;font-weight:600}
.tbc{display:inline-block;margin-left:6px;font-size:9.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#8C6F12;border:1px dashed #D0AC4C;padding:1px 6px;vertical-align:2px}
@media(max-width:820px){.svc-grid{grid-template-columns:1fr;gap:20px}.svc-card{padding:30px 22px}.svc-card .price{font-size:44px}.svc-cta{align-self:stretch;text-align:center}}
/* photos + hero video */
.photo{display:block}.photo img{display:block;width:100%;height:auto;object-fit:cover;object-position:50% 0}
#about .photo img{aspect-ratio:2/3;max-height:none}
.process .photo img{aspect-ratio:2/3;max-height:none}
.dark .photo img{aspect-ratio:3/2}
.hero{position:relative;overflow:hidden}
.hero .wrap{position:relative;z-index:2}
.hero-media{position:absolute;inset:0;z-index:0;background:#000 url(video/hero-16x9-poster.jpg) 50% 0/cover no-repeat}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.72) 55%,rgba(0,0,0,.55) 100%)}
.hero-photo{justify-self:end;max-width:440px;width:100%;border:1px solid rgba(208,172,76,.6)}
.hero-photo img{aspect-ratio:2/3}
.steps{list-style:none;counter-reset:s;margin:10px 0 0}
.steps li{counter-increment:s;position:relative;padding:12px 0 12px 46px;border-bottom:1px solid #e6e6e6}
.steps li:before{content:counter(s);position:absolute;left:0;top:8px;font-family:"Cormorant Garamond",serif;font-weight:600;font-size:30px;color:var(--dgold);font-variant-numeric:lining-nums}
@media(max-width:820px){.hero-media{background-image:url(video/hero-9x16-poster.jpg)}.hero-overlay{background:rgba(0,0,0,.72)}.hero-photo{justify-self:stretch;max-width:none}.hero-photo img{aspect-ratio:4/5;object-position:50% 0}}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}}
/* logo */
.logo img{display:block;height:52px;width:auto}
.foot-logo{display:block;height:58px;width:auto;margin-bottom:16px}
/* mobile fixes */
.hero .btn{margin-right:10px}.btn.ghost{margin-left:0}
nav a.cta{white-space:nowrap}
@media(max-width:820px){
 header .wrap{height:68px;gap:12px}
 .logo img{height:52px}
 nav{display:flex;align-items:center;flex-shrink:0}
 nav a.cta{margin-left:0;padding:9px 12px;font-size:11px;letter-spacing:.1em}
 .hero .btn,.process .btn,.svc-cta,#contact .btn,.dark .btn{display:block;width:100%;text-align:center;margin-right:0}
 .hero .btn+.btn{margin-top:12px}
 .btn{padding:15px 18px;letter-spacing:.12em}
 .steps li{padding-left:40px}
 .tbc{white-space:nowrap}
 .eyebrow{letter-spacing:.18em}
 section{padding:64px 0}
 .wrap{padding:0 20px}
 footer .wrap>div[style]{text-align:left!important}
}
@media(max-width:370px){nav a.cta{padding:8px 9px;font-size:10px;letter-spacing:.06em}.logo img{height:51px}}
/* metallic gold (brand B) on large accents */
.sv-flat{border-image:var(--gold-grad) 1;border-top-width:4px}
.svc-sig{border-image:var(--gold-grad) 1}
.svc-badge{background:var(--gold-grad)}
.btn:not(.ghost){background:var(--gold-grad)}
@supports (-webkit-background-clip:text){.sv-flat .sv-num{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.sv-card.neg .sv-num{background:none;color:#fff}}

.fl-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:30px}.fl-card{border:1px solid #e3e3e3;background:#fff}.fl-img{aspect-ratio:3/2;background:radial-gradient(circle at 30% 20%,#2b2b2b,#000);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;border-bottom:2px solid var(--gold)}.fl-img img{width:140px;height:auto;opacity:.9}.fl-img span{color:var(--gold);font-size:11px;letter-spacing:.3em;text-transform:uppercase}.fl-body{padding:22px 24px 26px}.fl-body h3{margin:12px 0 4px}.fl-city{color:#666;margin:0}.fl-price{font-weight:600;margin:12px 0 0;color:var(--dgold)}@media(max-width:820px){.fl-grid{grid-template-columns:1fr}}
.disclosure{margin-top:12px}.eho-line{display:flex;align-items:center;gap:10px;margin-top:10px}.eho{flex:none}
.fl-status{display:inline-block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;background:var(--gold);color:#000;padding:4px 10px;font-weight:600}.fl-facts{margin:10px 0 0;font-size:14px;color:#333}.fl-teaser{margin:12px 0 0;font-size:15px}.fl-hl{margin:12px 0 0;padding-left:18px;font-size:14px;color:#333}.fl-meta{margin:14px 0 0;font-size:12px;color:#777}.fl-cta{margin-top:18px}
.fl-photo{display:block;position:relative;width:100%;padding:0;border:0;border-bottom:2px solid var(--gold);cursor:zoom-in;background:#000}.fl-photo img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.fl-count{position:absolute;right:12px;bottom:12px;background:rgba(0,0,0,.7);color:#fff;font-size:11px;letter-spacing:.15em;text-transform:uppercase;padding:5px 10px}.fl-thumbs{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;padding:4px;background:#f4f4f4}.fl-thumbs button{padding:0;border:0;cursor:pointer;background:none}.fl-thumbs img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}@media(max-width:820px){.fl-thumbs{grid-template-columns:repeat(4,1fr)}}#fl-lightbox{border:0;padding:0;background:#000;max-width:96vw;max-height:94vh}#fl-lightbox::backdrop{background:rgba(0,0,0,.88)}#fl-lightbox img{display:block;max-width:96vw;max-height:84vh}.lb-cap{color:#ddd;font-size:13px;margin:0;padding:10px 14px}#fl-lightbox button{position:absolute;background:rgba(0,0,0,.55);color:#fff;border:0;font-size:34px;line-height:1;padding:6px 14px;cursor:pointer}.lb-close{top:6px;right:6px}.lb-prev{left:6px;top:45%}.lb-next{right:6px;top:45%}
#fl-lightbox{margin:auto;inset:0}
.t-head{font-size:15px;letter-spacing:.04em;margin:10px 0 0;color:#ccc}.t-avg{color:var(--gold);font-weight:600;font-size:18px}.t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px}.t-card{margin:0;border-top:2px solid var(--gold);padding:22px 0 0;display:flex;flex-direction:column}.t-stars{color:var(--gold);letter-spacing:.15em;font-size:15px}.t-off{color:#555}.t-card blockquote{margin:12px 0 16px;font-family:"Cormorant Garamond",serif;font-size:20px;line-height:1.4;flex:1}.t-card figcaption strong{display:block;font-size:14px;letter-spacing:.05em}.t-card figcaption span{display:block;font-size:12px;color:#999;margin-top:2px}.t-link{margin-top:30px}.t-link a{color:var(--gold)}.t-strip{background:#f4f4f4}.t-strip .t-head{color:#444}.t-strip .t-off{color:#ccc}.t-strip .t-card figcaption span{color:#666}.t-strip .t-link a{color:var(--dgold)}@media(max-width:900px){.t-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.t-grid{grid-template-columns:1fr;gap:20px}.t-card blockquote{font-size:18px}}
.lead-error{color:#b3261e;border-left:3px solid var(--gold);background:#fff4f2;padding:10px 12px;margin-top:12px}.lead-error strong{font-weight:600}.lead-error a{color:#b3261e;text-decoration:underline}.lead-success{border:1px solid var(--gold);border-top:4px solid var(--gold);background:#fff;padding:36px 30px;text-align:center;outline:none}.lead-check{color:var(--gold);display:block;margin:0 auto 14px}.lead-success h3{font-family:"Cormorant Garamond",serif;font-size:30px;font-weight:600;margin:0 0 10px;color:#000}.lead-success p{margin:0;color:#333}.lead-success a{color:var(--dgold);font-weight:600;white-space:nowrap}button[aria-busy=true]{opacity:.7;cursor:progress}@media(max-width:600px){.lead-success{padding:28px 18px}.lead-success h3{font-size:26px}}
