@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&display=swap');
:root{--navy:#0D1B2A;--navy-deep:#080f18;--gold:#C8A84B;--gold-lt:#E4CF94;--gold-deep:#a9873a;--cream:#F7F3EA;--paper:#FBF9F4;--ink:#1b2a38;--muted:#556070;--line:#e8e0d0}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Manrope',sans-serif;background:var(--paper);color:var(--ink);font-size:16.5px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%;height:auto}
.container{max-width:1140px;margin:0 auto;padding:0 1.5rem}
header{background:rgba(251,249,244,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:.85rem 1.5rem;position:sticky;top:0;z-index:100}
.hdr{max-width:1140px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}
.logo-name{font-family:'Fraunces',serif;font-size:1.5rem;font-weight:600;color:var(--navy);line-height:.95;letter-spacing:.02em}
.logo-sub{font-size:.56rem;font-weight:800;letter-spacing:.16em;color:var(--gold-deep);margin-top:2px}
.logo-tag{font-size:.52rem;font-weight:800;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-deep);margin-top:2px}
.hdr-right{display:flex;align-items:center;gap:1rem}
.hdr-phone{color:var(--navy);font-weight:800;font-size:.95rem;display:inline-flex;align-items:center;gap:.35rem}
.hdr-phone svg{color:var(--gold-deep)}
.btn-gold{display:inline-flex;align-items:center;gap:.4rem;background:var(--gold);color:var(--navy);padding:.65rem 1.3rem;font-size:.9rem;font-weight:700;font-family:'Manrope',sans-serif;border:none;cursor:pointer;border-radius:2px;transition:.2s}
.btn-gold:hover{background:var(--gold-lt);transform:translateY(-1px)}
.btn-gold-lg{padding:.95rem 2rem;font-size:1rem;font-weight:700}
.hero-local{background:linear-gradient(160deg,var(--navy),var(--navy-deep));padding:4.5rem 1.5rem;color:#fff}
.hero-local .eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:1rem}
.hero-local h1{font-family:'Fraunces',serif;font-weight:500;font-size:2.4rem;line-height:1.06;letter-spacing:-.015em;max-width:40rem;margin-bottom:1.1rem;color:#fff}
.hero-local p{font-size:1.08rem;color:rgba(255,255,255,.84);max-width:38rem;line-height:1.75;margin-bottom:1.6rem}
.trust-bar{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin-bottom:1.6rem}
.trust-pill{font-size:.9rem;font-weight:700;color:rgba(255,255,255,.9);display:flex;align-items:center;gap:.4rem}
.trust-pill svg{color:var(--gold)}
.hero-btns{display:flex;flex-wrap:wrap;gap:.75rem}
.sec{padding:4.5rem 0;border-bottom:1px solid var(--line)}
.sec-white{background:var(--paper)}
.sec-light{background:var(--cream)}
.sec-dark{background:var(--navy);border-color:rgba(255,255,255,.08);color:#fff}
.kicker{font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:.7rem}
.kicker-gold{color:var(--gold-lt)}
h1{font-family:'Fraunces',serif}
h2{font-family:'Fraunces',serif;font-size:2rem;font-weight:500;color:var(--navy);line-height:1.1;letter-spacing:-.015em;margin-bottom:.85rem}
h2.w{color:#fff}
.intro{font-size:1.05rem;color:var(--muted);line-height:1.75;margin-bottom:1.6rem;max-width:40rem}
.intro.w{color:rgba(255,255,255,.72)}
.grid-2{display:grid;grid-template-columns:1fr;gap:1.1rem}
.card{background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);padding:1.5rem;border-radius:4px}
.card h3{font-size:1rem;font-weight:800;color:var(--navy);margin-bottom:.4rem}
.card p{font-size:.9rem;color:var(--muted);line-height:1.65}
.card.dark{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);border-left-color:var(--gold)}
.card.dark h3{color:#fff}.card.dark p{color:rgba(255,255,255,.68)}
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-top:1.4rem}
.srv-item{background:#fff;border:1px solid var(--line);padding:.85rem 1.1rem;font-size:.9rem;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:.55rem;border-radius:3px}
.srv-item svg{color:var(--gold-deep);flex-shrink:0}
.areas-list{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem}
.area-tag{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);padding:.5rem .95rem;font-size:.88rem;font-weight:600;color:#fff;border-radius:2px;display:inline-flex;align-items:center;gap:.35rem}
.area-tag svg{color:var(--gold)}
.form-wrap{background:#fff;padding:2rem;box-shadow:0 20px 50px rgba(9,23,38,.12);border-top:4px solid var(--gold);margin-top:1.5rem;border-radius:5px}
.form-wrap h3{font-family:'Fraunces',serif;font-weight:500;font-size:1.35rem;color:var(--navy);margin-bottom:1.1rem;padding-bottom:.7rem;border-bottom:1px solid var(--line)}
.qf input,.qf select,.qf textarea{width:100%;border:1.5px solid var(--line);padding:.8rem 1rem;font-size:.92rem;font-family:'Manrope',sans-serif;color:var(--ink);outline:none;transition:border .2s;background:#fff;margin-bottom:.65rem;border-radius:3px}
.qf input:focus,.qf select:focus,.qf textarea:focus{border-color:var(--gold)}
.qf textarea{min-height:5rem;resize:vertical}
.qf select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236a7c8b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;padding-right:2.5rem}
.qf-submit{width:100%;background:var(--gold);color:var(--navy);padding:1rem;font-size:1rem;font-weight:800;border:none;cursor:pointer;font-family:'Manrope',sans-serif;border-radius:2px;transition:.2s}
.qf-submit:hover{background:var(--gold-lt)}
.qf-note{font-size:.78rem;color:var(--muted);text-align:center;margin-top:.5rem}
.phone-big{font-family:'Fraunces',serif;font-size:1.7rem;font-weight:500;color:var(--navy);display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}
.phone-big svg{color:var(--gold-deep)}
.phone-big.w{color:#fff}
.faq-item{border-bottom:1px solid var(--line);padding:1.2rem 0}
.faq-item:last-child{border-bottom:none}
.faq-q{font-size:1rem;font-weight:800;color:var(--navy);margin-bottom:.4rem}
.faq-a{font-size:.92rem;color:var(--muted);line-height:1.7}
footer{background:var(--navy-deep);color:#fff;padding:3rem 1.5rem}
.footer-inner{max-width:1140px;margin:0 auto;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-brand p:first-child{font-family:'Fraunces',serif;font-size:1.3rem;font-weight:600}
.footer-brand p:nth-child(2){font-size:.58rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:.35rem 0 .6rem}
.footer-brand p:last-child{font-size:.86rem;color:rgba(255,255,255,.55);max-width:26rem;line-height:1.65}
.footer-links{display:grid;gap:.4rem;font-size:.88rem}
.footer-links a{color:rgba(255,255,255,.6)}.footer-links a:hover{color:var(--gold-lt)}
.footer-contact a{display:block;font-size:.88rem;color:rgba(255,255,255,.7);line-height:1.9}
.footer-contact a:hover{color:var(--gold-lt)}
.footer-bottom{max-width:1140px;margin:1rem auto 0;font-size:.74rem;color:rgba(255,255,255,.35)}
.mob-sticky{position:fixed;bottom:0;left:0;right:0;display:flex;z-index:100;border-top:1px solid rgba(0,0,0,.15)}
.mob-call{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;background:var(--gold);color:var(--navy);font-weight:800;font-size:.9rem;padding:.9rem;text-decoration:none}
.mob-email{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;background:var(--navy);color:#fff;font-weight:800;font-size:.9rem;padding:.9rem;text-decoration:none}
.toast{position:fixed;bottom:5rem;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:.9rem 1.5rem;font-size:.875rem;font-weight:600;display:none;z-index:999;box-shadow:0 8px 24px rgba(0,0,0,.2);white-space:nowrap;border-radius:3px}
.toast.ok{background:#0c6d41}
@media(min-width:600px){.grid-2{grid-template-columns:1fr 1fr}.services-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:768px){.mob-sticky{display:none}.hero-local h1{font-size:3rem}}
svg{display:inline-block;vertical-align:middle}/* header nav */
.hdr-nav{display:flex;gap:1.3rem;align-items:center}
.hdr-nav a{font-size:.88rem;font-weight:600;color:var(--navy);opacity:.82;transition:.15s}
.hdr-nav a:hover{opacity:1;color:var(--gold-deep)}
@media(max-width:960px){.hdr-nav{display:none}}

/* mobile navigation */
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.burger span{width:24px;height:2px;background:var(--navy,#0d1b2a);display:block;border-radius:2px}
@media(max-width:1080px){.hdr-nav{display:none}.burger{display:flex}}
.mnav{position:fixed;inset:0;background:#0d1b2a;z-index:300;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.15rem;transform:translateX(100%);transition:transform .3s;padding:2rem;text-align:center}
.mnav.open{transform:translateX(0)}
.mnav a{color:#fff;font-size:1.4rem;font-weight:700;text-decoration:none}
.mnav a:hover{color:#c8a84b}
.mnav .x{position:absolute;top:1.4rem;right:1.6rem;background:none;border:none;color:#fff;font-size:2.6rem;cursor:pointer;line-height:1}
.mnav .mc{display:flex;flex-direction:column;gap:.7rem;margin-top:1.2rem;width:100%;max-width:300px}
.mnav .btn{width:100%;text-align:center;justify-content:center}
.mnav .btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.45)}
