:root{--ink:#0c2233;--muted:#5a6d78;--brand:#0b6b74;--brand2:#083f48;--accent:#d88743;--bg:#f5fbfb;--wash:#eaf7f6;--sand:#fff8ee;--line:#d7e7e9;--card:#fff;--shadow:0 18px 48px rgba(10,54,66,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:122px}#quote{scroll-margin-top:122px}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink);background:#fbfefe;line-height:1.65}a{color:inherit}.wrap{max-width:1160px;margin:auto;padding:0 20px}.topline{background:#082f3a;color:#fff;font-weight:800;font-size:.92rem}.topbar{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 20px}.topbar a{color:#fff;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 .2rem}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 20px}.brand{display:flex;align-items:center;gap:.65rem;font-weight:950;text-decoration:none;color:var(--brand2);letter-spacing:-.03em}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--brand);color:#fff}.primary-menu{display:flex;align-items:center;gap:.45rem}.primary-menu a,.drop-toggle,.menu-toggle,.btn{min-height:44px;border:1px solid var(--line);border-radius:999px;background:#fff;text-decoration:none;font-weight:850;padding:.78rem 1rem;color:var(--ink);font:inherit}.drop-toggle{cursor:pointer}.nav-cta,.btn{background:var(--brand)!important;border-color:var(--brand)!important;color:#fff!important;box-shadow:0 12px 24px rgba(11,107,116,.2)}.btn.ghost{background:#fff!important;color:var(--brand2)!important;border-color:#b7d4d8!important;box-shadow:none}.dropdown{position:relative}.dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:230px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:.5rem;box-shadow:var(--shadow);display:none}.dropdown.open .dropdown-menu,.dropdown:focus-within .dropdown-menu{display:grid}.dropdown-menu a{border:0;border-radius:12px;box-shadow:none}.menu-toggle{display:none}.hero{padding:clamp(2.5rem,6vw,5.2rem) 0;background:radial-gradient(circle at 92% 10%,#bde8ef 0,transparent 30rem),linear-gradient(135deg,#fff 0%,#edf9f8 100%)}.page-hero{padding:clamp(2.8rem,6vw,5rem) 0;background:linear-gradient(135deg,#fff,var(--wash));border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.78fr);gap:1.5rem;align-items:start}.hero-copy{padding-top:.5rem}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--brand);font-weight:950;font-size:.78rem;margin:0 0 .75rem}h1{font-size:clamp(2rem,5vw,4.2rem);line-height:.98;letter-spacing:-.06em;margin:0 0 1rem;max-width:12ch}h2{font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.05;letter-spacing:-.045em;margin:.1rem 0 1rem}h3{font-size:1.08rem;line-height:1.18;margin:.1rem 0 .5rem}.lead{font-size:clamp(1.05rem,2vw,1.28rem);color:#294452;max-width:68ch}.cta-row{display:flex;gap:.75rem;flex-wrap:wrap;margin:1.2rem 0}.mini-list{display:grid;gap:.35rem;margin:1rem 0 0;padding-left:1.2rem;color:#36525e}.hero-photo,.photo-card,.lead-form,.card,.side-panel,.trust-grid article{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}.hero-photo{margin:0}.hero-photo img,.photo-card img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.hero-photo figcaption,.photo-card figcaption{padding:.85rem 1rem;color:var(--muted);font-size:.92rem}.lead-form{padding:1rem;display:grid;gap:.78rem}.lead-form.compact{grid-column:2;max-width:420px;justify-self:end}.lead-form h2{font-size:1.35rem;margin:0}.lead-form p{margin:.1rem 0;color:var(--muted)}.lead-form label{display:grid;gap:.3rem;font-weight:800}.lead-form input,.lead-form select,.lead-form textarea{width:100%;border:1px solid #c9dde0;border-radius:13px;padding:.85rem;font:inherit;background:#fff}.lead-form .full{grid-column:1/-1}.lead-form button{border:0;cursor:pointer;width:100%;justify-content:center}.form-small{font-size:.82rem;line-height:1.35}.hp{position:absolute!important;left:-10000px!important}.trust-band{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.1rem 0}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.trust-grid article{padding:1rem}.trust-grid strong{display:block;color:var(--brand2);font-size:1rem}.trust-grid p{margin:.3rem 0 0;color:var(--muted)}.section{padding:clamp(2.5rem,6vw,4.5rem) 0}.section.alt{background:var(--bg)}.section.tint{background:var(--sand)}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:1.5rem;align-items:start}.prose{max-width:860px}.prose p,.split p{color:#314b58}.card-grid,.photo-grid,.area-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.area-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card,.side-panel{padding:1.2rem}.side-panel ul,.steps{margin:0;padding-left:1.2rem}.steps{display:grid;gap:.7rem}.steps li{padding:.7rem .9rem;background:#fff;border:1px solid var(--line);border-radius:14px}.area-list{display:grid;gap:.6rem}.area-list a,.text-link{font-weight:900;color:var(--brand2);text-underline-offset:4px}.faq details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem;margin:.75rem 0}.faq summary{font-weight:950;cursor:pointer}.site-footer{background:#092d37;color:#e8fbff;padding:2rem 0 calc(2rem + env(safe-area-inset-bottom))}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:1.5rem}.site-footer a{color:#fff;min-height:44px;display:inline-flex;align-items:center}.legal{display:flex;gap:.6rem;margin-top:1rem;color:#bfe3e9}.mobile-cta{display:none}.submitted .lead-form:after{content:'Thanks — redirecting now.';display:block;color:var(--brand2);font-weight:900}@media(max-width:900px){.topbar{justify-content:center;text-align:center}.topbar span{display:none}.menu-toggle{display:inline-flex;align-items:center;justify-content:center}.primary-menu{position:absolute;left:12px;right:12px;top:calc(100% + 1px);display:none;max-height:calc(100vh - 118px);overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:.75rem;box-shadow:var(--shadow);align-items:stretch}.primary-menu.open{display:grid}.primary-menu a,.drop-toggle{width:100%;justify-content:flex-start;text-align:left}.dropdown-menu{position:static;box-shadow:none;margin:.35rem 0 .5rem 1rem;border-radius:14px;display:none}.dropdown:hover .dropdown-menu{display:none!important}.dropdown.open .dropdown-menu{display:grid!important}.hero-grid,.split{grid-template-columns:1fr}.lead-form.compact{grid-column:auto;max-width:none;justify-self:stretch}.card-grid,.photo-grid,.area-card-grid,.trust-grid,.footer-grid{grid-template-columns:1fr}h1{max-width:15ch}.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:25;display:flex;gap:.5rem;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--line);transform:translateY(115%);transition:transform .22s ease;box-shadow:0 -12px 28px rgba(10,54,66,.12)}.mobile-cta.is-visible{transform:translateY(0)}.mobile-cta .btn{flex:1;min-height:46px;padding:.8rem .6rem}.site-footer{padding-bottom:5.5rem}body{overflow-x:hidden}}@media(max-width:520px){.wrap{padding:0 16px}.nav-wrap{padding:.7rem 16px}.brand span:last-child{font-size:.92rem}.hero{padding-top:2rem}.primary-menu{left:8px;right:8px}.cta-row .btn{width:100%}.lead-form{padding:.9rem;border-radius:18px}.lead-form.compact{order:3}.hero-photo{order:2}.hero-copy{order:1}.mini-list{font-size:.95rem}}

.wl-phone-cta{background:#0f172a;color:#fff;padding:.7rem 0;font-weight:700}.wl-phone-cta .wrap{display:flex;gap:.5rem;align-items:center;justify-content:center;flex-wrap:wrap}.wl-phone-cta a{color:#fff;text-decoration:underline;text-underline-offset:3px}

/* Portfolio above-fold form normalization — 2026-05-19
   Keeps the primary intake card in the first mobile viewport without changing lead routing. */
.hero .quote-card,
.hero form.quote-card,
.hero .compact-quote-form,
.hero .mini-quote {
  max-width: 100%;
}
.hero .quote-card h2,
.hero form.quote-card h2 {
  font-size: clamp(1.15rem, 2vw, 1.35rem);
  line-height: 1.15;
  margin: 0 0 .45rem;
}
.hero .quote-card p,
.hero form.quote-card p,
.hero .form-note {
  margin-top: 0;
  margin-bottom: .7rem;
}
.hero .quote-card input,
.hero .quote-card textarea,
.hero .quote-card select,
.hero form.quote-card input,
.hero form.quote-card textarea,
.hero form.quote-card select {
  padding: .72rem .78rem;
  margin: .28rem 0 .62rem;
}
.hero .quote-card textarea,
.hero form.quote-card textarea {
  min-height: 4.5rem;
}
.hero .quote-card button,
.hero form.quote-card button {
  width: 100%;
}
.hero-form-media,
.hero-form-media.hero-inline-photo,
.hero-form-media.hero-photo {
  margin-top: .9rem;
}
@media (min-width: 900px) {
  .hero .quote-card,
  .hero form.quote-card {
    position: sticky;
    top: 88px;
  }
}
@media (max-width: 760px) {
  .hero {
    padding-top: 1.15rem;
    padding-bottom: 1.6rem;
  }
  .hero-grid {
    gap: 1rem;
  }
  .hero .pill,
  .hero .eyebrow {
    margin-bottom: .35rem;
  }
  .hero h1 {
    margin-top: .45rem;
    margin-bottom: .55rem;
  }
  .hero .lead {
    font-size: 1rem;
    line-height: 1.42;
    margin: .45rem 0 .7rem;
  }
  .hero .cta-row {
    margin-top: .65rem;
    margin-bottom: .2rem;
    gap: .55rem;
  }
  .hero .quote-card,
  .hero form.quote-card {
    padding: .95rem;
    border-radius: 16px;
  }
  .hero .quote-card label,
  .hero form.quote-card label {
    font-size: .86rem;
  }
  .hero .quote-card input,
  .hero .quote-card textarea,
  .hero .quote-card select,
  .hero form.quote-card input,
  .hero form.quote-card textarea,
  .hero form.quote-card select {
    padding: .62rem .68rem;
    margin: .18rem 0 .5rem;
  }
  .hero .quote-card textarea,
  .hero form.quote-card textarea {
    min-height: 3.75rem;
  }
  .hero-form-media.hero-inline-photo figcaption,
  .hero-form-media figcaption {
    display: none;
  }
  .hero-form-media img,
  .hero-inline-photo img,
  .hero-photo img {
    max-height: 180px;
    object-fit: cover;
  }
}

.brand-with-logo{display:flex!important;align-items:center!important;gap:.65rem!important}.brand-with-logo img{width:56px;height:56px;display:block;flex:0 0 56px}
