
    :root {
      --ink: #173d46;
      --muted: #617e8b;
      --teal: #087b80;
      --teal-dark: #085e65;
      --aqua: #ddf4f1;
      --sand: #f5e3b6;
      --cream: #fbf7ef;
      --white: #ffffff;
      --coral: #ff846f;
      --line: #d7e6e4;
      --shadow: 0 18px 50px rgba(22, 69, 75, .12);
      --radius: 22px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      color: var(--ink);
      background: var(--cream);
      font-family: ui-rounded, "Avenir Next", Avenir, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      line-height: 1.55;
    }
    button, input, select, textarea { font: inherit; }
    a { color: inherit; }
    .shell { width: min(1140px, calc(100% - 40px)); margin-inline: auto; }
    .skip-link { position: absolute; left: -9999px; }
    .skip-link:focus { left: 12px; top: 12px; z-index: 99; background: var(--white); padding: 10px 14px; border-radius: 10px; }

    header {
      position: sticky;
      top: 0;
      z-index: 20;
      background: rgba(251, 247, 239, .96);
      border-bottom: 1px solid rgba(8, 114, 122, .12);
      backdrop-filter: blur(14px);
    }
    nav { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
    .brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; min-width: 0; }
    .brand-mark {
      width: 44px; height: 44px; flex: 0 0 auto; border-radius: 50%; display: grid; place-items: center;
      color: var(--white); background: linear-gradient(145deg, var(--teal), #11aab0); box-shadow: 0 8px 18px rgba(8,114,122,.22);
    }
    .brand-logo { width: 62px; height: 62px; object-fit: contain; flex-shrink: 0; border-radius: 4px; }
    .brand-name { font-weight: 850; letter-spacing: -.025em; line-height: 1.02; font-size: 17px; }
    .brand-name small { display: block; color: var(--teal); font-size: 11px; letter-spacing: .09em; text-transform: uppercase; margin-top: 4px; }
    .nav-cta, .button {
      border: 0; border-radius: 999px; padding: 13px 19px; font-weight: 800; text-decoration: none; cursor: pointer;
      display: inline-flex; align-items: center; justify-content: center; gap: 8px; transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
    }
    .nav-cta, .button-primary { color: var(--white); background: var(--teal); box-shadow: 0 9px 20px rgba(8,114,122,.2); }
    .nav-cta:hover, .button-primary:hover { transform: translateY(-1px); background: var(--teal-dark); }
    .button-secondary { color: var(--teal-dark); background: var(--aqua); }

    .hero { overflow: hidden; position: relative; padding: 82px 0 72px; background: radial-gradient(circle at 90% 15%, #c9f1ed 0 12%, transparent 38%), linear-gradient(160deg, #fbf7ef 35%, #eefaf7 100%); }
    .hero::after {
      content: ""; position: absolute; width: 520px; height: 520px; border: 72px solid rgba(244,226,191,.55); border-radius: 50%; right: -310px; bottom: -340px;
    }
    .hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 60px; }
    .eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--teal-dark); font-weight: 800; font-size: 14px; letter-spacing: .03em; text-transform: uppercase; }
    .eyebrow::before { content: ""; width: 28px; height: 3px; border-radius: 3px; background: var(--coral); }
    h1 { font-size: clamp(42px, 6.1vw, 76px); line-height: .98; letter-spacing: -.055em; margin: 20px 0 24px; max-width: 760px; }
    h1 span { color: var(--teal); }
    .hero-copy > p { max-width: 670px; margin: 0 0 30px; color: var(--muted); font-size: clamp(18px, 2.4vw, 22px); }
    .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 34px; }
    .direct-contact {
      display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -14px 0 30px;
      color: var(--muted); font-size: 16px;
    }
    .direct-contact a { color: var(--teal-dark); font-weight: 850; text-decoration-thickness: 2px; text-underline-offset: 3px; }
    .trust-row { display: flex; flex-wrap: wrap; gap: 16px 26px; color: var(--teal-dark); font-size: 14px; font-weight: 750; }
    .trust-row span { display: inline-flex; align-items: center; gap: 7px; }
    .trust-row span::before { content: "✓"; width: 21px; height: 21px; display: grid; place-items: center; border-radius: 50%; color: var(--white); background: var(--teal); font-size: 12px; }

    .welcome-card { position: relative; background: var(--white); padding: 18px; border-radius: 30px; box-shadow: var(--shadow); border: 1px solid rgba(8,114,122,.08); transform: none; }
    .welcome-card::before { content: ""; position: absolute; inset: 12px; border: 1px solid var(--sand); border-radius: 23px; pointer-events: none; }
    .logo-panel { position: relative; z-index: 1; overflow: hidden; border-radius: 18px 18px 10px 10px; background: #fff; }
    .logo-panel img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: contain; max-height: 380px; }
    .owner-panel { position: relative; z-index: 1; margin-top: 10px; min-height: 310px; overflow: hidden; border-radius: 10px 10px 18px 18px; background: var(--teal-dark); }
    .owner-panel img { display: block; width: 100%; height: 310px; object-fit: cover; object-position: 50% 33%; }
    .owner-label { position: absolute; left: 16px; right: 16px; bottom: 16px; color: var(--ink); background: rgba(255,255,255,.94); padding: 13px 16px; border-radius: 14px; box-shadow: 0 8px 24px rgba(25,65,70,.16); }
    .owner-label strong { display: block; font-size: 18px; }
    .owner-label small { color: var(--muted); }

    section { padding: 86px 0; }
    .section-head { display: grid; grid-template-columns: .8fr 1.2fr; align-items: end; gap: 40px; margin-bottom: 38px; }
    .section-head h2 { margin: 9px 0 0; font-size: clamp(34px, 5vw, 52px); line-height: 1.03; letter-spacing: -.045em; }
    .section-head p { color: var(--muted); margin: 0; font-size: 18px; max-width: 650px; justify-self: end; }

    .services { background: var(--white); }
    .service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
    .service-card { min-height: 190px; border: 1px solid var(--line); border-radius: var(--radius); padding: 23px; background: #fbfefd; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
    .service-card:hover { transform: translateY(-3px); border-color: #8dcac6; box-shadow: 0 14px 30px rgba(22,69,75,.08); }
    .service-icon { width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; background: var(--aqua); color: var(--teal); font-size: 23px; }
    .service-card h3 { margin: 20px 0 7px; font-size: 20px; letter-spacing: -.02em; }
    .service-card p { margin: 0; color: var(--muted); font-size: 15px; }
    .service-card-featured { grid-column: 1 / -1; min-height: auto; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 16px; background: linear-gradient(115deg, #eefaf8, #fbf7ef); }
    .service-card-featured h3 { margin: 0 0 7px; }

    .quote { background: linear-gradient(180deg, var(--cream), #e8f7f4); }
    .quote-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 28px; align-items: start; }
    .quote-intro { position: sticky; top: 105px; padding: 30px; border-radius: 26px; background: var(--teal-dark); color: var(--white); overflow: hidden; }
    .quote-intro::after { content: ""; position: absolute; width: 170px; height: 170px; border: 30px solid rgba(255,255,255,.07); border-radius: 50%; right: -90px; bottom: -90px; }
    .quote-intro h2 { font-size: clamp(34px, 4vw, 48px); line-height: 1.02; letter-spacing: -.04em; margin: 14px 0 18px; }
    .quote-intro p { color: #cfe7e6; }
    .steps { display: grid; gap: 16px; margin-top: 28px; }
    .step { display: grid; grid-template-columns: 30px 1fr; gap: 12px; align-items: start; }
    .step b { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; color: var(--teal-dark); background: var(--sand); }
    .step span { font-size: 14px; color: #e2f0ef; }

    .form-card { background: var(--white); padding: clamp(22px, 5vw, 38px); border-radius: 28px; box-shadow: var(--shadow); border: 1px solid rgba(8,114,122,.1); }
    fieldset { border: 0; padding: 0; margin: 0 0 30px; }
    legend { font-size: 20px; font-weight: 850; margin-bottom: 16px; letter-spacing: -.02em; }
    .service-options { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .check-option { position: relative; }
    .check-option input { position: absolute; opacity: 0; pointer-events: none; }
    .check-option label { min-height: 64px; padding: 12px 14px; display: flex; align-items: center; gap: 10px; border: 1.5px solid var(--line); border-radius: 15px; cursor: pointer; font-weight: 750; font-size: 14px; transition: .18s ease; }
    .check-option label::before { content: "+"; flex: 0 0 auto; width: 25px; height: 25px; border-radius: 8px; display: grid; place-items: center; background: #edf5f4; color: var(--teal); }
    .check-option input:checked + label { border-color: var(--teal); background: var(--aqua); color: var(--teal-dark); }
    .check-option input:checked + label::before { content: "✓"; color: var(--white); background: var(--teal); }
    .check-option input:focus-visible + label { outline: 3px solid rgba(239,116,92,.28); outline-offset: 2px; }
    .form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .field { display: grid; gap: 7px; }
    .field.full { grid-column: 1 / -1; }
    .field label { font-size: 14px; font-weight: 800; }
    input, select, textarea { width: 100%; color: var(--ink); background: #fbfdfc; border: 1.5px solid var(--line); border-radius: 13px; padding: 13px 14px; outline: none; }
    input:focus, select:focus, textarea:focus { border-color: var(--teal); box-shadow: 0 0 0 4px rgba(8,114,122,.1); }
    textarea { min-height: 112px; resize: vertical; }
    .hint { margin: 15px 0 0; color: var(--muted); font-size: 13px; }
    .error { min-height: 20px; margin: 10px 0 0; color: #a9392f; font-size: 14px; font-weight: 700; }
    .form-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; }

    .review { display: none; margin-top: 30px; padding: 23px; background: var(--aqua); border: 1px solid #a8d9d5; border-radius: 18px; }
    .review.visible { display: block; animation: rise .28s ease; }
    @keyframes rise { from { opacity: 0; transform: translateY(8px); } }
    .review h3 { margin: 0 0 8px; font-size: 23px; }
    .review p { margin: 0 0 18px; color: var(--muted); }
    .review pre { white-space: pre-wrap; word-break: break-word; font: 14px/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--ink); background: rgba(255,255,255,.72); border-radius: 13px; padding: 15px; margin: 0 0 18px; }
    .review-actions { display: flex; flex-wrap: wrap; gap: 10px; }
    .privacy-note { display: flex; gap: 9px; margin-top: 18px; color: var(--muted); font-size: 13px; }

    footer { color: #d9e9e7; background: #245f79; padding: 30px 0; }
    .footer-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
    footer strong { color: var(--white); }
    footer a { color: #bce9e5; }
    footer p { margin: 3px 0 0; font-size: 14px; }
    .footer-contact { text-align: right; }

    @media (max-width: 880px) {
      .hero-grid, .quote-layout { grid-template-columns: 1fr; }
      .welcome-card { max-width: 570px; transform: none; }
      .section-head { grid-template-columns: 1fr; gap: 14px; }
      .section-head p { justify-self: start; }
      .service-grid { grid-template-columns: repeat(2, 1fr); }
      .quote-intro { position: relative; top: auto; }
    }
    @media (max-width: 620px) {
      .shell { width: min(100% - 28px, 1140px); }
      nav { min-height: 68px; }
      .brand-logo { width: 48px; height: 48px; }
      .brand-name { font-size: 14px; }
      .brand-name small { font-size: 9px; }
      .nav-cta { padding: 10px 13px; font-size: 13px; }
      .hero { padding: 56px 0 48px; }
      h1 { font-size: clamp(40px, 13vw, 58px); }
      .hero-copy > p { font-size: 18px; }
      .hero-actions .button { width: 100%; }
      .welcome-card { padding: 15px; border-radius: 22px; }
      .owner-panel, .owner-panel img { min-height: 280px; height: 280px; }
      section { padding: 64px 0; }
      .service-grid, .service-options, .form-grid { grid-template-columns: 1fr; }
      .service-card-featured { grid-column: auto; align-items: start; }
      .field.full { grid-column: auto; }
      .service-card { min-height: auto; }
      .quote-intro, .form-card { border-radius: 21px; }
      .button { width: 100%; }
      .review-actions .button { width: 100%; }
      .footer-row { align-items: flex-start; flex-direction: column; }
      .footer-contact { text-align: left; }
    }

/* Brand direction: the supplied white, navy, teal, and sand coastal flyer. */
:root{--ink:#082b50;--muted:#4d6273;--teal:#047e96;--teal-dark:#075375;--aqua:#e6f6f7;--sand:#e5c99d;--cream:#fff;--line:#d6e7e9;--shadow:0 14px 40px rgba(8,43,80,.06)}
body{background:#fff;font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;font-size:16px;color:var(--ink)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400}
html{scroll-padding-top:110px}
header{background:rgba(255,255,255,.97);border-bottom:1px solid #e4e7e8;backdrop-filter:blur(14px)}
nav{min-height:84px;gap:24px}
.brand-name{font:italic bold 30px/1 Georgia,serif;letter-spacing:-.04em}
.brand-name small{font:600 12px/1.3 "Avenir Next",Arial,sans-serif;letter-spacing:.06em;margin-top:7px;color:var(--ink)}
.nav-links{display:flex;gap:30px;align-items:center}.nav-links>a{text-decoration:none;font-size:15px;font-weight:600}
.button,.nav-cta{border-radius:5px;padding:15px 23px;font-size:16px;font-weight:650;box-shadow:none}
.button-primary,.nav-cta{background:var(--ink);color:#fff}.button-primary:hover,.nav-cta:hover{background:#075375;box-shadow:none}
.button-secondary{background:#fff;border:1px solid #b9cccf;color:var(--ink)}
:focus-visible{outline:3px solid #08a9bf;outline-offset:5px}
.hero{background:#fff;padding:32px 0 54px;isolation:isolate;min-height:760px;position:relative;overflow:hidden}
.hero::after{display:none}
.hero-photo{position:absolute;inset:0 0 0 auto;width:70%;z-index:-2}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.96) 8%,rgba(255,255,255,.68) 29%,rgba(255,255,255,0) 62%),linear-gradient(0deg,#fff 0%,rgba(255,255,255,.7) 12%,transparent 58%)}
.hero-content{position:relative}.hero-logo{display:block;width:248px;height:248px;object-fit:contain;margin:0 0 12px -8px}
h1{font-size:clamp(56px,5.8vw,80px);line-height:1.06;letter-spacing:-.05em;margin:6px 0 18px;max-width:760px;color:var(--ink)}
h1:after{content:"";display:block;width:180px;height:5px;background:#4ec3ce;border-radius:50%;margin:12px 0 0 118px;transform:rotate(-3deg)}
.experience{font:26px/1.4 Georgia,serif;margin:15px 0;color:var(--ink)}
.brand-values{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font:600 14px/1.6 "Avenir Next",Arial,sans-serif;text-transform:uppercase;letter-spacing:.17em;margin:16px 0 25px}
.brand-values span{color:#24b6c8;font-size:19px}
.hero-actions{margin:0 0 16px;gap:12px}
.hero-contact{font-size:15px;line-height:1.7;margin:0 0 18px;color:var(--ink)}
.hero-contact a{text-underline-offset:4px}
.trust-row{gap:12px 20px;max-width:720px;font-size:14px;font-weight:500;color:var(--ink)}
.trust-row span::before{width:17px;height:17px;background:#0d8297;font-size:10px}
section{padding:72px 0}
.care-heading{display:flex;align-items:center;gap:26px;margin:0 0 36px}.care-heading span{height:1px;background:var(--sand);flex:1}.care-heading h2{font-size:25px;letter-spacing:.16em;text-transform:uppercase;margin:0;text-align:center}
.service-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:72px;row-gap:0}
.service-card{display:flex;align-items:flex-start;gap:20px;border:0;border-radius:0;background:none;padding:24px 0;min-height:0;box-shadow:none!important;transform:none!important}
.service-card:nth-child(even){border-left:1px solid var(--sand);padding-left:40px;margin-left:-40px}
.service-icon{width:62px;height:62px;flex:0 0 62px;background:#d4f0f2;border-radius:50%;color:var(--ink)}
.service-icon svg{width:31px;height:35px}.service-card h3{font-size:25px;line-height:1.25;letter-spacing:-.025em;margin:0 0 8px}.service-card p{font-size:16px;line-height:1.6;color:var(--muted)}
.owner-story{scroll-margin-top:100px;display:grid;grid-template-columns:220px 1fr;gap:48px;align-items:center;margin-top:64px;padding-top:64px;border-top:1px solid var(--sand)}
.owner-story>img{width:220px;height:250px;object-fit:cover;object-position:50% 32%;border-radius:5px}
.eyebrow{font-size:14px;letter-spacing:.12em;font-weight:600;color:var(--teal-dark);text-transform:uppercase}
.eyebrow:before{display:none}.owner-story h2{font-size:40px;margin:8px 0 16px;line-height:1.15;letter-spacing:-.04em}.owner-story p:not(.eyebrow){font-size:18px;line-height:1.7;max-width:680px;color:var(--muted)}
.text-link{color:var(--ink);font-weight:650;text-underline-offset:5px}
.contact-band{position:relative;background:#075375;padding:28px 0 42px;text-align:center;color:white;margin-top:65px}.wave{position:absolute;top:-78px;left:0;width:100%;height:80px;display:block}
.contact-band p:first-child{font-family:Georgia,serif;text-transform:uppercase;letter-spacing:.14em;font-size:17px;margin:0 0 2px}.large-phone{font:bold clamp(44px,7vw,92px)/1.25 Georgia,serif;text-decoration:none;letter-spacing:-.04em;display:inline-block}.quick-response{font:22px/1.4 Georgia,serif;margin:6px 0 0}
.quote{background:#f5fafb;padding:84px 0}.quote-intro{background:var(--ink);border-radius:5px;padding:34px;top:115px}.quote-intro:after{display:none}.quote-intro h2{font-size:44px;line-height:1.1}.quote-intro p{line-height:1.7}.step span{font-size:15px}.step b{background:#d4f0f2}.form-card{border-radius:5px;border:1px solid #dce8ea;box-shadow:none;padding:32px}.check-option label{border-radius:5px}.check-option label:before{border-radius:50%}input,select,textarea{border-radius:5px;background:#fff;font-size:16px}.hint,.privacy-note{font-size:14px}.review{border-radius:5px}.review h3{font-size:27px}.review pre{font-family:inherit;font-size:15px;line-height:1.6;border-radius:3px}.form-actions .hint{margin:0}.review-actions{align-items:center}
footer{background:var(--ink);padding:36px 0;color:#dfedef}footer strong{font-family:Georgia,serif;font-size:21px;font-weight:400}footer a{color:#fff;overflow-wrap:anywhere}footer p{font-size:14px;line-height:1.8}.footer-row{align-items:flex-start}.footer-contact{max-width:480px}.footer-contact p:last-child{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1000px){.hero-photo{width:78%;opacity:.8}.hero-photo:after{background:linear-gradient(90deg,#fff,rgba(255,255,255,.88) 30%,rgba(255,255,255,.05)),linear-gradient(0deg,#fff,transparent 60%)}.service-grid{column-gap:45px}.service-card:nth-child(even){padding-left:24px;margin-left:-24px}.quote-layout{grid-template-columns:1fr}.quote-intro{position:relative;top:auto}}
@media(max-width:700px){.shell{width:calc(100% - 36px)}nav{min-height:80px;gap:10px}.brand-name{font-size:27px}.brand-name small{font-size:12px;letter-spacing:0;max-width:190px}.nav-links{gap:10px}.nav-links>a:not(.nav-cta){display:none}.nav-links .nav-cta{font-size:14px;padding:12px 16px}.hero{padding:22px 0 38px;min-height:0}.hero-photo{inset:0 0 auto auto;width:100%;height:390px;opacity:1}.hero-photo img{object-position:63% 40%}.hero-photo:after{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.97) 12%,rgba(255,255,255,.35) 55%,transparent),linear-gradient(0deg,#fff 0%,rgba(255,255,255,.65) 30%,transparent 90%)}.hero-logo{width:205px;height:205px;margin:-3px 0 34px -5px}h1{font-size:clamp(39px,10.5vw,70px);line-height:1.08;margin:0 0 20px;letter-spacing:-.045em}h1:after{width:135px;margin:12px 0 0 70px}.experience{font-size:22px;max-width:300px;margin-bottom:15px}.brand-values{gap:6px;font-size:12px;letter-spacing:.02em;margin-bottom:24px}.hero-actions{display:grid;grid-template-columns:1fr;gap:11px;max-width:430px}.hero-actions .button{width:100%;font-size:15px;padding:15px 8px}.hero-contact{font-size:14px;max-width:370px}.trust-row{gap:10px 14px;font-size:13px}.care-heading{gap:13px;margin:0 0 24px}.care-heading h2{font-size:19px;letter-spacing:.09em}.services{padding-top:40px}.service-grid{grid-template-columns:1fr;gap:0}.service-card{padding:18px 0;gap:18px}.service-card:nth-child(even){margin:0;padding:18px 0;border:0}.service-icon{width:52px;height:52px;flex-basis:52px}.service-card h3{font-size:23px}.service-card p{font-size:16px}.owner-story{grid-template-columns:1fr;gap:22px;margin-top:35px;padding-top:40px}.owner-story>img{width:180px;height:210px}.owner-story h2{font-size:34px}.owner-story p:not(.eyebrow){font-size:17px}.owner-story .eyebrow{font-size:12px}.contact-band{margin-top:35px;padding:26px 0 35px}.wave{top:-49px;height:51px}.contact-band p:first-child{font-size:13px;line-height:1.6;letter-spacing:.09em;max-width:290px;margin:0 auto 8px}.large-phone{font-size:clamp(39px,10.7vw,70px);white-space:nowrap}.quick-response{font-size:19px}.quote{padding:50px 0}.quote-intro{padding:25px}.quote-intro h2{font-size:37px}.form-card{padding:24px 18px}.service-options,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.quote-intro,.form-card{border-radius:5px}.footer-contact{text-align:left}.footer-contact p:last-child{justify-content:flex-start}.footer-row{flex-direction:column;gap:24px}.review{padding:17px}section{padding:52px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
