:root{--navy: #0e2240;--gold: #c6a35a;--gold-bright: #f0e2c0;--ink: #1c2430;--muted: #5c6570;--paper: #f3f0e8;--line: #e3dccf;--white: #ffffff;--danger: #8c2f2f;--ok: #1f6b45;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--paper);color:var(--ink);font-family:Outfit,Segoe UI,sans-serif;font-size:1.05rem;line-height:1.5}a{color:inherit}h1,h2,.brand-name{font-family:Barlow Condensed,Arial Narrow,sans-serif}button,input,select,textarea{font:inherit}.page{min-height:100vh;overflow-x:clip}section[id]{scroll-margin-top:160px}.container{width:min(1120px,calc(100% - 2rem));margin-inline:auto}.site-header{position:sticky;top:0;z-index:10;background:var(--paper);border-top:4px solid var(--gold);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:84px;padding:.7rem 0;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:.75rem;color:var(--navy);text-decoration:none}.mark{width:52px;height:52px;color:var(--navy)}.brand-text{display:flex;flex-direction:column;line-height:1}.brand-name{font-size:2rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.brand-sub{margin-top:.2rem;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#8a6424}nav{display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap}nav a{color:var(--navy);font-weight:600;text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.65rem 1.1rem;border-radius:999px;border:2px solid transparent;text-decoration:none;font-weight:700;cursor:pointer}.btn-gold{background:var(--gold);color:var(--navy)}.btn-navy{background:var(--navy);color:var(--white)}.btn-line{background:transparent;border-color:var(--navy);color:var(--navy)}.btn:disabled{opacity:.7;cursor:wait}.hero{padding:3.2rem 0 4rem}.hero-grid{display:grid;gap:2.4rem;align-items:center}.eyebrow{margin:0 0 .6rem;font-size:.82rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--navy)}.eyebrow.on-navy{color:var(--gold-bright)}h1{margin:0;color:var(--navy);font-size:clamp(3.5rem,8vw,6.4rem);font-weight:700;line-height:.88;letter-spacing:.01em}h1 span{display:block}h1 .gold{color:#8a6424}.tagline{max-width:38rem;margin:1.2rem 0 0;color:var(--muted);font-size:1.15rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem}.service-panel{list-style:none;margin:0;padding:.6rem 1.4rem;background:var(--white);border-radius:20px;box-shadow:0 18px 40px #0e224014}.service-panel li{display:flex;align-items:center;gap:.9rem;padding:.95rem 0;border-bottom:1px solid var(--line);color:var(--navy);font-weight:600}.service-panel li:last-child{border-bottom:0}.service-panel svg{flex:none;color:#8a6424}.contact{background:var(--navy);color:var(--white);padding:4.2rem 0 4.6rem}.contact-grid{display:grid;gap:2rem;align-items:start}h2{margin:0;font-size:clamp(2.8rem,6vw,4.4rem);line-height:.9;letter-spacing:.01em}.slogan{margin:1rem 0 0;color:var(--gold-bright);font-size:1.15rem}.contact-list{list-style:none;margin:1.4rem 0 0;padding:0}.contact-list li+li{margin-top:.45rem}.contact-list a{color:var(--white);font-weight:600;overflow-wrap:anywhere}.form{display:grid;gap:.9rem;padding:1.3rem;background:var(--white);color:var(--ink);border-radius:20px}.form-row{display:grid;gap:.9rem}label{display:grid;gap:.35rem;font-size:.92rem;font-weight:600;color:var(--navy)}input,select,textarea{width:100%;padding:.75rem .8rem;border:1px solid #d7d0c4;border-radius:10px;background:var(--white);color:var(--ink)}textarea{resize:vertical;min-height:120px}.form-status{min-height:1.4rem;margin:0;font-weight:600}.form-status.is-ok{color:var(--ok)}.form-status.is-error{color:var(--danger)}.site-footer{background:#0b1b33;color:#d9dee6;padding:1.4rem 0 1.8rem}.footer-inner{display:grid;gap:.25rem}.footer-inner p{margin:0}.footer-inner p:first-child{color:var(--white);font-weight:700}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@media(min-width:720px){.form-row{grid-template-columns:1fr 1fr}}h2{margin:0}h3{margin:.85rem 0 .35rem;color:var(--navy);font-size:1.35rem;font-family:Outfit,Segoe UI,sans-serif;font-weight:700}.lede{max-width:40rem;color:var(--muted)}.hero-rule,.reveal-rule{display:block;width:min(180px,40%);height:3px;margin:1rem 0 .2rem;background:var(--gold);transform-origin:left center;will-change:transform}.band{padding:1rem 0 4.2rem}.band-tight{padding-top:.4rem}.service-grid{display:grid;gap:.9rem;margin-top:1.6rem}.service-card{padding:1.15rem 1.1rem 1.25rem;background:var(--white);border-radius:18px;box-shadow:0 14px 32px #0e22400f;will-change:transform}.service-card svg{color:#8a6424}.service-card p{margin:.35rem 0 0;color:var(--muted)}.compare-list{display:grid;gap:2.2rem;margin-top:1.8rem}.compare-frame{position:relative;aspect-ratio:16 / 9;overflow:hidden;border-radius:20px;background:#d9d3c7}.compare-before,.compare-after,.compare-after img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.compare-after{clip-path:inset(0 50% 0 0)}.compare-frame{touch-action:none;cursor:ew-resize}.compare-handle{position:absolute;z-index:3;top:0;bottom:0;width:44px;transform:translate(-50%);cursor:ew-resize}.compare-handle:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translate(-50%);background:#fff}.compare-tab{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:52px;height:34px;border:2px solid var(--gold);border-radius:999px;background:var(--navy);color:var(--gold-bright);font-weight:700;letter-spacing:.08em;box-shadow:0 8px 18px #0e224047}.compare-label{position:absolute;z-index:2;bottom:.8rem;padding:.25rem .6rem;border-radius:999px;background:#0e2240d1;color:var(--white);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.compare-label.is-before{left:.8rem}.compare-label.is-after{right:.8rem}.compare p{margin:0;color:var(--muted)}.fine-print{margin:1.2rem 0 0;color:var(--muted);font-size:.88rem}.charlotte{overflow:hidden;background:var(--navy);color:var(--white);padding:3.4rem 0 3.8rem}.drift-line{margin:0;color:var(--gold-bright);font-family:Barlow Condensed,Arial Narrow,sans-serif;font-size:clamp(3.4rem,10vw,7rem);font-weight:700;line-height:.86;letter-spacing:.01em;will-change:transform}.charlotte-copy{max-width:40rem;margin:1.2rem 0 1.4rem;color:#e7edf5}.owner{padding:4rem 0}.owner-grid{display:grid;gap:1.6rem;align-items:center}.owner-frame{margin:0;overflow:hidden;border-radius:20px}.owner-photo{display:block;width:100%;height:100%;max-height:520px;object-fit:cover;transform-origin:center center;will-change:transform}.owner-copy p{color:var(--muted)}.owner-meta{color:var(--navy);font-weight:600}.owner-meta a{color:var(--navy)}.reviews{padding:.4rem 0 3.4rem}.review-viewport{position:relative;overflow:hidden;min-height:230px;margin-top:1.4rem}.review-track{position:relative;display:flex;gap:18px;min-height:230px}.review-card{width:320px;flex:none;padding:1.15rem 1.15rem 1rem;background:var(--white);border-radius:18px;box-shadow:0 14px 32px #0e22400f;will-change:transform}.stars{margin:0;color:#8a6424;letter-spacing:.12em}.quote{margin:.55rem 0 .8rem;min-height:4.6rem}.review-meta{margin:0;color:var(--navy);font-weight:700}.review-meta span{display:block;margin-top:.15rem;color:var(--muted);font-weight:600}.hero-grid,.service-card,.owner-copy,.form{will-change:transform}@media(min-width:720px){.service-grid{grid-template-columns:1fr 1fr}}@media(min-width:900px){.hero-grid,.contact-grid,.owner-grid{grid-template-columns:1.05fr .95fr;gap:3rem}}@media(min-width:1100px){.service-grid{grid-template-columns:1fr 1fr 1fr 1fr}}@media(max-width:720px){nav{width:100%;gap:.7rem .9rem}nav a:not(.btn){font-size:.92rem}.header-inner{flex-wrap:wrap}.review-card{width:min(320px,78vw)}}@media(max-width:640px){.header-inner{min-height:72px}.mark{width:42px;height:42px}.brand-name{font-size:1.65rem}.brand-sub{font-size:.62rem;letter-spacing:.08em}.btn-gold{padding:.5rem .75rem;font-size:.88rem}}@media(max-width:720px){.compare-frame{display:grid;grid-template-columns:1fr 1fr;aspect-ratio:auto;gap:.5rem;background:transparent;cursor:default;touch-action:auto}.compare-before,.compare-after{position:relative;inset:auto;height:190px;clip-path:none!important;overflow:hidden;border-radius:14px}.compare-frame{overflow:visible}.compare-handle{display:none}.compare-label{z-index:3}}@media(prefers-reduced-motion:reduce){.review-viewport{height:auto;overflow-x:auto}}
