:root{--navy: #1F5E8C;--navy-deep: #0E2A44;--gold: #C89B3C;--gold-soft: #E5C97A;--ivory: #F8F5EE;--bone: #FAFAF7;--ink: #0E1620;--mute: #5C6470;--line: #E8E4D9}*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased}html{scroll-behavior:smooth}body{font-family:Montserrat,sans-serif;color:var(--ink);line-height:1.6;background:#fff}.serif,h1,h2{font-family:Playfair Display,serif;font-weight:500;letter-spacing:-.015em;line-height:1.1}a{color:inherit;text-decoration:none}.container{max-width:1280px;margin:0 auto;padding:0 32px}.container-narrow{max-width:980px;margin:0 auto;padding:0 32px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:22px;display:inline-flex;align-items:center;gap:12px}.eyebrow:before{content:"";width:32px;height:1px;background:var(--gold)}.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 32px;border-radius:4px;font-weight:600;font-size:14px;cursor:pointer;transition:all .25s ease;border:1px solid transparent;font-family:inherit;letter-spacing:.04em;text-transform:uppercase}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-deep);transform:translateY(-1px)}.btn-gold{background:var(--gold);color:var(--navy-deep)}.btn-gold:hover{background:var(--gold-soft)}.btn-ghost{color:var(--ink);border-color:#0e162033;background:transparent}.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:12px 0;background:#fffffff7;backdrop-filter:blur(20px);box-shadow:0 1px #0000000f}.nav .container{display:flex;align-items:center;gap:36px}.brand-link{display:flex;align-items:center;gap:14px;color:var(--navy);text-decoration:none}.brand-mark{width:60px;height:60px;border-radius:50%;background:var(--gold);color:var(--navy-deep);display:grid;place-items:center;font-family:Playfair Display;font-weight:700;font-size:22px;box-shadow:0 2px 8px #00000014;transition:transform .2s}.brand-link:hover .brand-mark{transform:scale(1.04)}.brand-name{font-family:Playfair Display;font-size:28px;font-weight:700;line-height:1}.brand-tag{font-family:Montserrat;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);display:block;margin-top:3px}.nav-links{display:flex;gap:28px;margin-left:auto}.nav-links a{font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);position:relative;padding:6px 0}.nav-links a.active{color:var(--gold)}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .3s;transform-origin:left}.nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1)}.nav-links a:hover{color:var(--gold)}.nav .btn-primary{padding:12px 22px;font-size:12px}.brand-logo{height:56px;width:auto;padding:6px 12px;border-radius:6px;background:transparent;transition:transform .2s;display:block}.brand-link:hover .brand-logo{transform:scale(1.04)}.page-hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-deep) 100%);color:#fff;padding:140px 0 64px;position:relative;overflow:hidden}.page-hero:before{content:"";position:absolute;top:-160px;right:-160px;width:460px;height:460px;border:1px solid var(--gold);border-radius:50%;opacity:.1}.page-hero:after{content:"";position:absolute;bottom:-80px;left:-80px;width:320px;height:320px;border:1px solid var(--gold);border-radius:50%;opacity:.08}.page-hero .container{position:relative;z-index:2}.page-hero .eyebrow{color:var(--gold-soft)}.page-hero .eyebrow:before{background:var(--gold-soft)}.page-hero h1{font-size:clamp(38px,5.5vw,64px);margin-bottom:18px;max-width:900px}.page-hero h1 em{font-style:italic;color:var(--gold-soft);font-weight:400}.page-hero p{font-size:17px;color:#ffffffd9;max-width:620px;line-height:1.6;font-weight:300}.calc{background:var(--bone);padding:80px 0;border-bottom:1px solid var(--line)}.calc .grid{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:start}.calc h2{font-size:clamp(32px,4vw,48px);margin-bottom:14px}.calc h2 em{color:var(--gold);font-style:italic}.calc .sub{color:var(--mute);font-size:16px;margin-bottom:32px;max-width:480px;line-height:1.7}.calc-form{background:#fff;padding:36px;border-radius:12px;border:1px solid var(--line);box-shadow:0 12px 40px #1f5e8c0f}.calc-form .field{margin-bottom:24px}.calc-form .field:last-child{margin-bottom:0}.calc-form label{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);font-weight:600;margin-bottom:10px}.service-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.service-tab{background:var(--bone);border:1px solid var(--line);border-radius:4px;padding:13px 12px;cursor:pointer;transition:all .2s;text-align:center;font-weight:600;font-size:13px;color:var(--ink)}.service-tab:hover{border-color:var(--gold)}.service-tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}.sqft-display{display:flex;justify-content:space-between;margin-bottom:8px}.sqft-display .v{font-family:Playfair Display;font-size:26px;color:var(--navy);font-weight:700}.sqft-display .v em{color:var(--gold);font-style:normal}.sqft-display .r{font-size:12px;color:var(--mute)}.calc-form input[type=range]{width:100%;-webkit-appearance:none;appearance:none;height:4px;background:var(--line);border-radius:2px;outline:none}.calc-form input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:var(--gold);border-radius:50%;cursor:pointer;border:3px solid white;box-shadow:0 2px 8px #00000026}.calc-form input[type=range]::-moz-range-thumb{width:20px;height:20px;background:var(--gold);border-radius:50%;cursor:pointer;border:3px solid white;box-shadow:0 2px 8px #00000026}.range-marks{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:var(--mute)}.addons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.addon{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--bone);border:1px solid var(--line);border-radius:4px;cursor:pointer;transition:all .2s;font-size:13px}.addon:hover{border-color:var(--gold)}.addon.checked{background:#c89b3c14;border-color:var(--gold)}.addon input{margin:0;accent-color:var(--gold)}.addon .name{font-weight:500;color:var(--ink);flex:1}.addon .price{color:var(--gold);font-weight:700;font-size:13px}.addon.included .price{color:var(--mute);font-size:11px;font-style:italic}.service-block{display:none}.service-block.active{display:block}.prelisting-banner{background:#c89b3c14;border-left:3px solid var(--gold);padding:16px 20px;border-radius:0 6px 6px 0;margin-bottom:24px;font-size:14px;color:var(--ink);line-height:1.65}.prelisting-banner strong{color:var(--navy);font-weight:700}.prelisting-banner .tag{display:block;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}.residential-disclaimer{background:var(--bone);border-radius:6px;padding:16px 20px;margin-top:22px;font-size:13px;color:var(--mute);line-height:1.6}.residential-disclaimer strong{color:var(--ink);font-weight:600}.commercial-content{padding:6px 4px}.commercial-statement{font-size:15px;color:var(--ink);line-height:1.75;margin-bottom:10px}.commercial-statement .lead{font-family:Playfair Display;font-size:22px;font-weight:500;color:var(--navy);line-height:1.3;margin-bottom:14px}.commercial-statement strong{color:var(--navy);font-weight:600}.commercial-statement .factors{background:var(--bone);border-radius:6px;padding:14px 18px;margin:16px 0}.commercial-statement .factors-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:8px}.commercial-statement .factors-list{display:flex;gap:16px;flex-wrap:wrap;font-size:13.5px;color:var(--ink);font-weight:500}.commercial-statement .factors-list span{display:flex;align-items:center;gap:8px}.commercial-statement .factors-list span:before{content:"◆";color:var(--gold);font-size:7px}.commercial-statement .validity{font-size:13px;color:var(--mute);font-style:italic;padding-top:14px;border-top:1px solid var(--line);margin-top:16px;text-align:center}.commercial-cta{margin-top:24px}.commercial-cta .btn{width:100%;justify-content:center}.commercial-note{font-size:12px;color:var(--mute);margin-top:10px;text-align:center}.estimate{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-deep) 100%);color:#fff;padding:36px;border-radius:12px;position:sticky;top:96px}.estimate .label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:10px}.estimate .price{font-family:Playfair Display;font-size:66px;font-weight:700;line-height:1;margin-bottom:8px;color:#fff;letter-spacing:-.02em}.estimate .price .dollar{font-size:32px;color:var(--gold-soft);vertical-align:top;margin-right:4px;line-height:1}.estimate .range{font-size:13.5px;color:#ffffffb3;margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.15)}.estimate .breakdown{margin-bottom:22px}.estimate .breakdown .row{display:flex;justify-content:space-between;padding:5px 0;font-size:14px;color:#ffffffd9}.estimate .breakdown .row.total{color:#fff;font-weight:600;padding-top:10px;margin-top:8px;border-top:1px solid rgba(255,255,255,.15)}.estimate .btn{width:100%;justify-content:center}.estimate .note{font-size:11px;color:#ffffff80;margin-top:14px;line-height:1.5}.estimate-commercial{display:none}.estimate-commercial .label{color:var(--gold)}.estimate-commercial .headline{font-family:Playfair Display;font-size:44px;line-height:1.1;margin-bottom:14px;font-weight:500}.estimate-commercial .headline em{color:var(--gold-soft);font-style:italic}.estimate-commercial .body{font-size:14.5px;color:#fffc;line-height:1.7;margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.15)}.estimate-commercial .what-to-expect{margin-bottom:22px}.estimate-commercial .what-to-expect .row{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:7px 0;font-size:13.5px;color:#ffffffe6;align-items:center}.estimate-commercial .what-to-expect .row .step{width:24px;height:24px;border-radius:50%;background:var(--gold);color:var(--navy-deep);display:grid;place-items:center;font-family:Playfair Display;font-size:12px;font-weight:700}.estimate.commercial-mode .estimate-default{display:none}.estimate.commercial-mode .estimate-commercial{display:block}.tables{padding:80px 0}.tables h2{font-size:clamp(32px,4vw,48px);margin-bottom:14px;max-width:720px}.tables h2 em{font-style:italic;color:var(--gold)}.tables .lead{color:var(--mute);font-size:16px;max-width:640px;margin-bottom:56px;line-height:1.7}.table-block{margin-bottom:56px}.table-block .head{display:flex;align-items:baseline;gap:16px;margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid var(--line)}.table-block .head h3{font-family:Playfair Display;font-size:32px;font-weight:500;color:var(--ink);letter-spacing:-.015em}.table-block .head .tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600}.ptable{width:100%;border-collapse:collapse}.ptable tr{border-bottom:1px solid var(--line)}.ptable tr:hover{background:var(--bone)}.ptable td{padding:18px 0}.ptable td.name{font-weight:600;color:var(--ink);font-size:16px}.ptable td.desc{color:var(--mute);font-size:14px;max-width:480px}.ptable td.price{text-align:right;font-family:Playfair Display;font-size:22px;font-weight:600;color:var(--navy);white-space:nowrap}.ptable td.price .unit{font-size:13px;color:var(--mute);font-weight:400;margin-left:4px;font-family:Montserrat}.ptable td.price.included{color:var(--gold);font-style:italic;font-size:16px}.section-disclaimer{background:#c89b3c0f;border-left:3px solid var(--gold);padding:18px 22px;border-radius:0 6px 6px 0;margin-top:20px;font-size:14px;color:var(--ink);line-height:1.7}.section-disclaimer strong{color:var(--navy);font-weight:700}.faq{background:#fff;padding:80px 0}.faq h2{font-size:clamp(30px,3.8vw,44px);margin-bottom:40px;max-width:720px}.faq-item{border-top:1px solid var(--line);padding:22px 0;cursor:pointer}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-q{display:flex;justify-content:space-between;align-items:center;font-family:Playfair Display;font-size:19px;color:var(--ink);font-weight:500}.faq-q .plus{color:var(--gold);font-size:22px;transition:transform .3s;line-height:1}.faq-item.open .plus{transform:rotate(45deg)}.faq-a{display:none;padding-top:14px;color:var(--mute);font-size:15px;line-height:1.7;max-width:760px}.faq-item.open .faq-a{display:block}.cta-band{background:var(--bone);padding:80px 0;text-align:center;border-top:1px solid var(--line)}.cta-band h2{font-size:clamp(32px,4.5vw,48px);margin-bottom:14px}.cta-band h2 em{font-style:italic;color:var(--gold)}.cta-band p{color:var(--mute);font-size:16px;margin-bottom:28px;max-width:540px;margin-left:auto;margin-right:auto}.cta-band .row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}footer{background:var(--navy-deep);color:#ffffffb3;padding:64px 0 28px}footer .top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:22px}footer .brand-block .brand-link{color:#fff;margin-bottom:18px;display:inline-flex}footer .brand-block p{font-family:Playfair Display;font-size:19px;color:#fff;max-width:320px;font-style:italic}footer h4{color:var(--gold);font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:16px;font-weight:600}footer ul{list-style:none}footer li{padding:6px 0;font-size:14px}footer a:hover{color:var(--gold)}footer .bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12px;color:#fff6}.mockup-badge{position:fixed;bottom:18px;right:18px;background:var(--gold);color:var(--navy-deep);padding:9px 14px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.14em;box-shadow:0 12px 32px #00000040;z-index:999;text-transform:uppercase}@media (max-width: 1024px){.calc .grid{grid-template-columns:1fr;gap:40px}.estimate{position:relative;top:0}.addons{grid-template-columns:1fr}footer .top{grid-template-columns:1fr 1fr;gap:28px}}@media (max-width: 640px){.nav-links{display:none}.brand-mark{width:48px;height:48px;font-size:18px}.brand-name{font-size:22px}.page-hero{padding:110px 0 48px}.calc,.tables,.cta-band,.faq{padding:48px 0}.estimate,.calc-form{padding:24px}.estimate .price{font-size:52px}.estimate-commercial .headline{font-size:32px}.ptable td.desc{display:none}.commercial-statement .factors-list{flex-direction:column;gap:6px}footer .top{grid-template-columns:1fr}}
