  @font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2")}
  @font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2")}
  @font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2")}
  @font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:600;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-600-italic.woff2) format("woff2")}
  @font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter-latin-400-normal.woff2) format("woff2")}
  @font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/inter-latin-500-normal.woff2) format("woff2")}
  @font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/inter-latin-600-normal.woff2) format("woff2")}

  :root{
    --gold:#E2B33C; --gold-hi:#F0CC6A; --gold-deep:#A87F22; --on-gold:#0B0B0C;
    --black:#0B0B0C; --black-2:#111112; --black-3:#17171A; --black-4:#1E1E22;
    --ivory:#F5F0E6; --ivory-2:#D9D2C4; --muted:#A39C8F;
    --line:rgba(226,179,60,.18); --line-2:rgba(226,179,60,.38); --hair:rgba(245,240,230,.10);
    --danger:#F08A6B;
    --r-sm:4px; --r-md:6px; --r-lg:10px;
    --gutter:28px; --wrap:1180px; --wrap-wide:1480px; --header-h:120px;
    --serif:"Cormorant Garamond",Garamond,"Times New Roman",serif; --sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  }
  *{box-sizing:border-box} html{scroll-behavior:smooth;background:var(--black);scroll-padding-top:var(--header-h);-webkit-text-size-adjust:100%} body{overflow-x:hidden}
  body{margin:0;font-family:var(--sans);color:var(--ivory);background:var(--black);font-size:16px;line-height:26px;-webkit-font-smoothing:antialiased}
  a{color:var(--gold)} a:hover{color:var(--gold-hi)}
  ::selection{background:var(--gold);color:var(--on-gold)}
  :focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
  .wrap{width:min(100% - 2*var(--gutter), var(--wrap));margin-inline:auto} .wrap-wide{width:min(100% - 2*var(--gutter), var(--wrap-wide));margin-inline:auto}
  @media (max-width:640px){ :root{--gutter:18px} }
  h1,h2,h3{font-family:var(--serif);font-weight:600;margin:0;letter-spacing:-.005em}
  .eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:11.5px;line-height:16px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}
  .eyebrow::before{content:"";width:36px;height:1px;background:var(--gold)}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 30px;border-radius:var(--r-sm);font:inherit;font-size:13px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border:0;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
  .btn-cyan,.btn-gold{background:var(--gold);color:var(--on-gold)} .btn-cyan:hover,.btn-gold:hover{background:var(--gold-hi);color:var(--on-gold)}
  .btn-ghost{background:transparent;color:var(--ivory);border:1px solid var(--line-2)} .btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
  .btn-navy{background:transparent;color:var(--ivory);border:1px solid var(--line-2)} .btn-navy:hover{border-color:var(--gold);color:var(--gold)}
  .btn[disabled]{opacity:.6;cursor:progress}
  .topbar{background:var(--black-2);border-bottom:1px solid var(--hair);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
  .topbar .wrap{display:flex;justify-content:space-between;gap:16px;padding-top:9px;padding-bottom:9px;flex-wrap:wrap}
  .topbar a{color:var(--ivory-2);text-decoration:none} .topbar a:hover{color:var(--gold)}
  header.site{background:rgba(11,11,12,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ivory);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}
  header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
  .brand{display:flex;align-items:center;gap:14px;color:var(--ivory);text-decoration:none}
  .brand img{width:46px;height:46px;display:block}
  .brand span{font-family:var(--serif);font-weight:600;font-size:25px;letter-spacing:.01em}
  .brand b{color:var(--gold);font-weight:700}
  nav.main{display:flex;align-items:center;gap:30px;flex-wrap:wrap;font-weight:500;font-size:12px;letter-spacing:.22em;text-transform:uppercase}
  nav.main a{color:var(--ivory-2);text-decoration:none} nav.main a:hover{color:var(--gold)}
  nav.main a.btn{color:var(--on-gold);min-height:44px;padding:0 20px;font-size:11.5px}
  @media (max-width:900px){ nav.main a:not(.btn){display:none} }
  .hero{position:relative;overflow:hidden;background:var(--black);padding:96px 0 112px;border-bottom:1px solid var(--line);min-height:min(calc(100svh / var(--z, 1) - var(--header-h)), 980px);display:flex;align-items:center}
  .hero > .wrap{width:min(100% - 2*var(--gutter), var(--wrap))}
  .hero::before{content:"";position:absolute;inset:28px;border:1px solid var(--line);pointer-events:none}
  .hero::after{content:"";position:absolute;right:-180px;top:-180px;width:620px;height:620px;border-radius:50%;border:1px solid var(--line);pointer-events:none}
  .hero .wrap{position:relative;display:flex;flex-wrap:wrap;gap:64px;align-items:center}
  .hero-copy{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:28px}
  .chip{align-self:flex-start;display:inline-flex;align-items:center;gap:14px;color:var(--gold);font-size:11.5px;line-height:16px;font-weight:600;letter-spacing:.32em;text-transform:uppercase}
  .chip::before{content:"";width:36px;height:1px;background:var(--gold)}
  .hero h1{font-size:clamp(46px,6.4vw,82px);line-height:1.02;font-weight:500}
  .hero h1 span{display:block;color:var(--gold);font-style:italic;font-weight:500}
  .hero p.lead{margin:0;max-width:560px;font-size:18px;line-height:31px;color:var(--ivory-2);font-weight:400}
  .hero .ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:4px}
  .hero-logo{flex:0 1 380px;display:flex;justify-content:center;position:relative}
  .hero-logo::before{content:"";position:absolute;inset:-18px;border:1px solid var(--line-2);border-radius:18px}
  .hero-logo img{width:100%;max-width:380px;height:auto;display:block;border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
  .trust{display:flex;flex-wrap:wrap;gap:12px 30px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding:22px 0 0;margin:6px 0 0;list-style:none;border-top:1px solid var(--hair)}
  .trust li{display:flex;align-items:center;gap:10px}
  .trust li::before{content:"";width:6px;height:6px;transform:rotate(45deg);background:var(--gold)}
  .trust svg{display:none}
  section{scroll-margin-top:var(--header-h)}
  .section{padding:112px 0}
  .section-head{display:flex;flex-direction:column;gap:16px;max-width:760px;margin-bottom:52px}
  .section-head h2{font-size:clamp(38px,4.6vw,58px);line-height:1.06;font-weight:500}
  .section-head p{margin:0;font-size:17px;line-height:29px;color:var(--ivory-2)}
  .services{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
  .svc{background:var(--black-2);padding:36px 32px;display:flex;flex-direction:column;gap:22px;align-items:flex-start;transition:background .25s}
  .svc:hover{background:var(--black-3)}
  .svc img{width:88px;height:88px;flex:none;border-radius:12px}
  .svc div{display:flex;flex-direction:column;gap:12px;min-width:0}
  .svc h3{font-size:28px;line-height:32px;font-weight:600}
  .svc p{margin:0;color:var(--ivory-2);font-size:15px;line-height:25px}
  .svc a{margin-top:6px;font-weight:600;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;color:var(--gold)} .svc a:hover{color:var(--gold-hi)}
  .band{background:var(--black-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px}
  .step{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--line-2);padding-top:26px}
  .step strong{font-family:var(--serif);font-style:italic;font-weight:500;font-size:56px;line-height:56px;color:var(--gold)}
  .step h3{font-size:26px;line-height:30px}
  .step p{margin:0;color:var(--ivory-2);font-size:15px;line-height:25px}
  .quote{background:var(--black-2);color:var(--ivory);border:1px solid var(--line);border-radius:var(--r-lg);padding:64px;display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start;position:relative}
  .quote::before{content:"";position:absolute;inset:10px;border:1px solid var(--hair);border-radius:6px;pointer-events:none}
  @media (max-width:640px){ .quote{padding:26px} .quote::before{display:none} }
  .quote-copy{flex:1 1 300px;display:flex;flex-direction:column;gap:20px;position:relative}
  .quote-copy h2{font-size:clamp(38px,4.6vw,56px);line-height:1.06;font-weight:500}
  .quote-copy p{margin:0;color:var(--ivory-2);font-size:17px;line-height:29px}
  .quote-copy .eyebrow{color:var(--gold)}
  .phone-big{font-family:var(--serif);font-size:34px;line-height:40px;color:var(--gold);text-decoration:none;font-weight:600}
  .phone-big:hover{color:var(--gold-hi)}
  .card{flex:1 1 540px;max-width:660px;background:var(--black);color:var(--ivory);border:1px solid var(--line);border-radius:var(--r-lg);padding:34px;position:relative}
  form.lead{display:flex;flex-direction:column;gap:18px}
  fieldset{border:0;margin:0;padding:0;min-width:0}
  legend,.field label{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;padding:0}
  .picks{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
  .pick input{position:absolute;opacity:0;pointer-events:none}
  .pick label{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 12px;border:1px solid var(--hair);background:var(--black-2);border-radius:var(--r-md);cursor:pointer;font-size:14px;font-weight:500;line-height:18px;color:var(--ivory);transition:border-color .2s,background .2s}
  .pick label:hover{border-color:var(--line-2)}
  .pick label img{width:34px;height:34px;border-radius:6px;flex:none}
  .pick input:checked + label{border-color:var(--gold);background:rgba(226,179,60,.08);box-shadow:inset 0 0 0 1px var(--gold)}
  .pick input:focus-visible + label{outline:2px solid var(--gold);outline-offset:2px}
  .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  @media (max-width:560px){ .row{grid-template-columns:1fr} }
  .field{display:flex;flex-direction:column}
  .field input,.field select,.field textarea{font:inherit;font-size:16px;color:var(--ivory);min-height:52px;padding:12px 14px;border:1px solid var(--hair);border-radius:var(--r-md);background:var(--black-2);transition:border-color .2s}
  .field select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
  .field select option{background:var(--black-2);color:var(--ivory)}
  .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px rgba(226,179,60,.15)}
  .field textarea{min-height:104px;resize:vertical}
  .consent{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:19px;color:var(--muted)}
  .consent input{margin-top:1px;width:18px;height:18px;flex:none;accent-color:var(--gold)}
  .fine{margin:0;font-size:12.5px;line-height:18px;color:var(--muted);text-align:center;letter-spacing:.04em}
  .err{margin:0;font-size:14px;color:var(--danger);font-weight:600}
  .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
  #submit-btn{width:100%;min-height:58px}
  .app{display:flex;flex-wrap:wrap;gap:36px;align-items:center;justify-content:space-between;background:var(--black-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:52px}
  @media (max-width:640px){ .app{padding:28px} }
  .app h2{font-size:clamp(32px,3.6vw,44px);line-height:1.1;font-weight:500;margin-top:14px}
  .app p{margin:12px 0 0;color:var(--ivory-2);max-width:560px}
  .stores{display:flex;gap:12px;flex-wrap:wrap}
  .stores .btn{min-width:210px}
  .faq-list{max-width:860px;border-top:1px solid var(--line)}
  details{border-bottom:1px solid var(--line);padding:24px 4px}
  summary{cursor:pointer;font-family:var(--serif);font-size:25px;line-height:32px;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center}
  summary::-webkit-details-marker{display:none}
  summary::after{content:"+";font-family:var(--sans);font-weight:300;font-size:26px;color:var(--gold);transition:transform .2s}
  details[open] summary::after{transform:rotate(45deg)}
  details p{margin:14px 0 0;color:var(--ivory-2);max-width:720px}
  footer{background:var(--black-2);color:var(--muted);padding:64px 0 40px;border-top:1px solid var(--line);font-size:14px}
  footer .wrap{display:flex;flex-wrap:wrap;gap:24px 40px;align-items:center;justify-content:space-between}
  footer a{color:var(--ivory-2)} footer a:hover{color:var(--gold)}
  footer .brand span{font-size:22px}
  .foot-base{margin-top:36px;padding-top:24px;border-top:1px solid var(--hair);width:100%;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
  @media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} *{transition:none!important} }

  /* inner pages */
  .crumbs{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 18px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
  .crumbs li+li::before{content:"/";margin-right:8px;color:var(--line-2)} .crumbs a{color:var(--ivory-2);text-decoration:none} .crumbs a:hover{color:var(--gold)}
  .page-hero{padding:80px 0 72px;border-bottom:1px solid var(--line);position:relative}
  .page-hero .wrap{display:flex;flex-wrap:wrap;gap:48px;align-items:center}
  .page-hero .copy{flex:1 1 520px;display:flex;flex-direction:column;gap:22px;min-width:0}
  .page-hero h1{font-size:clamp(40px,5.4vw,68px);line-height:1.04;font-weight:500}
  .page-hero h1 em{color:var(--gold);font-weight:500}
  .page-hero .logo{flex:0 1 260px} .page-hero .logo img{width:100%;max-width:260px;height:auto;border-radius:12px;display:block}
  .prose{max-width:760px} .prose h2{font-size:clamp(30px,3.4vw,40px);line-height:1.12;font-weight:500;margin:48px 0 14px} .prose h2:first-child{margin-top:0}
  .prose p,.prose li{color:var(--ivory-2);font-size:17px;line-height:29px} .prose ul{padding-left:20px} .prose li{margin:6px 0}
  .prose li::marker{color:var(--gold)}
  .split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:64px;align-items:start}
  @media (max-width:960px){ .split{grid-template-columns:1fr} }
  .aside{position:sticky;top:calc(var(--header-h) + 20px);background:var(--black-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;display:flex;flex-direction:column;gap:16px}
  .aside h3{font-size:26px;line-height:30px} .aside p{margin:0;color:var(--ivory-2);font-size:15px;line-height:24px}
  .chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
  .chips a{display:inline-block;padding:8px 14px;border:1px solid var(--line);border-radius:999px;color:var(--ivory-2);text-decoration:none;font-size:13px} .chips a:hover{border-color:var(--gold);color:var(--gold)}
  .towns{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
  .towns a{background:var(--black-2);padding:26px 24px;text-decoration:none;color:var(--ivory);display:flex;flex-direction:column;gap:6px}
  .towns a:hover{background:var(--black-3)} .towns b{font-family:var(--serif);font-size:26px;font-weight:600} .towns span{color:var(--muted);font-size:14px}
  .ts-wrap{min-height:65px}
  .notfound{padding:140px 0;text-align:center} .notfound h1{font-size:64px;font-weight:500;margin-bottom:16px}
  /* fit every screen: scale the whole page on desktop monitors */
  @media (hover:hover) and (pointer:fine){
    @media (min-width:1360px){ :root{--z:1} }
    @media (min-width:1480px){ :root{--z:1.04} }
    @media (min-width:1660px){ :root{--z:1.1} }
    @media (min-width:1880px){ :root{--z:1.16} }
    @media (min-width:2200px){ :root{--z:1.26} }
    @media (min-width:2800px){ :root{--z:1.44} }
    @media (min-width:1360px){ html{zoom:var(--z)} }
  }
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px 48px;align-items:start}
  @media (max-width:860px){ .foot-grid{grid-template-columns:1fr} }
  .foot-brand p{margin:16px 0 0;line-height:26px}
  .foot-h{font-family:var(--sans);font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:0 0 14px}
  .foot-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14px}
  .foot-list a{text-decoration:none}
  .foot-grid .foot-base{grid-column:1/-1;margin-top:8px}
  a.plain{color:inherit;text-decoration:none} a.plain:hover{color:var(--gold)}
  .small{font-size:15px !important;margin-top:8px !important}
  .center{text-align:center;justify-content:center;margin-left:auto;margin-right:auto}
  .lead.center{max-width:560px;color:var(--ivory-2);font-size:18px;line-height:30px;margin-top:0}
  .thanks-logo{border-radius:14px;margin:0 auto 28px;display:block}
  .page-hero .lead{margin:0;max-width:640px;font-size:18px;line-height:31px;color:var(--ivory-2)}
  .page-hero .ctas,.notfound .ctas{display:flex;flex-wrap:wrap;gap:14px}
  .notfound .ctas{margin-top:28px}
  .card,.quote-copy{min-width:0}
  .picks{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))}
  .services{grid-template-columns:repeat(auto-fit,minmax(min(330px,100%),1fr))}
  @media (max-width:640px){ .card{padding:20px} .hero{padding:64px 0 72px} .page-hero{padding:56px 0 48px} .section{padding:80px 0} }
