@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');:root{--deep:#073943;--sea:#0b6873;--aqua:#87c5c3;--gold:#d2b57b;--paper:#f7f8f4;--ink:#17383c;--muted:#617779}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 'DM Sans',sans-serif;background:var(--paper)}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.wrap{width:min(1160px,calc(100% - 44px));margin:auto}.skip{position:absolute;top:-60px;background:white;z-index:100;padding:10px}.skip:focus{top:0}.header{position:sticky;top:0;background:#f7f8f4f2;backdrop-filter:blur(12px);z-index:20;border-bottom:1px solid #e4eae5}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:500;letter-spacing:.11em;line-height:1.15;font-size:16px;white-space:nowrap}.brand b{font-weight:700}.brand small{display:block;font-size:10px;letter-spacing:.35em;margin-top:5px}.mark{display:grid;place-items:center;border:1px solid var(--sea);border-radius:50%;height:44px;width:44px;font:34px/1 Georgia;color:var(--sea)}nav{display:flex;align-items:center;gap:27px}nav a{text-decoration:none;font-size:13px;font-weight:600}nav a:hover,.textlink:hover{color:var(--sea)}.navcta{border:1px solid var(--sea);padding:10px 17px;border-radius:4px}.menu{display:none;background:none;border:1px solid #b6cbc7;padding:8px 12px;border-radius:4px;font:inherit}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 85% 22%,#1b7782 0,#0b5864 32%,#073943 70%);color:white;min-height:660px}.hero:before{content:"";position:absolute;right:-180px;top:0;width:600px;height:600px;border:1px solid #ffffff25;border-radius:50%;box-shadow:0 0 0 70px #ffffff09,0 0 0 140px #ffffff07}.hero-inner{position:relative;z-index:1;padding:115px 0 155px}.eyebrow,.kicker{letter-spacing:.22em;font-size:12px;font-weight:700;color:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.13}h1{font-size:clamp(43px,6.2vw,78px);max-width:820px;margin:24px 0}h1 em,h2 em{font-weight:500;color:var(--gold)}.hero p{max-width:630px;color:#d5e6e5;font-size:18px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin:34px 0}.btn{display:inline-block;text-decoration:none;border:0;background:var(--gold);color:#133b3c;padding:14px 24px;border-radius:4px;font:700 14px 'DM Sans',sans-serif;cursor:pointer}.btn:hover{background:#e2c895}.btn.ghost{background:transparent;border:1px solid #b6d6d6;color:white}.hero-tags{display:flex;gap:20px;flex-wrap:wrap;color:#b7d5d6;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.hero-tags span+span:before{content:'✦';margin-right:20px;color:var(--gold)}.waves{position:absolute;bottom:-2px;width:100%;height:160px}.waves svg{width:100%;height:100%}.section{padding:105px 0}.section h2{font-size:clamp(35px,4.1vw,54px);max-width:800px;margin:16px 0 24px}.section h2 em{color:var(--sea)}.intro{max-width:740px;color:var(--muted);font-size:17px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:44px 0 20px}.card{background:white;padding:30px 25px;border:1px solid #e1e9e5;border-radius:8px;min-height:255px}.card .num{font-family:Georgia,serif;font-size:30px;color:#8aada8}.card h3{font-family:'Playfair Display',Georgia,serif;font-size:24px;line-height:1.2;margin:26px 0 13px}.card p,.note{font-size:14px;color:var(--muted)}.split-section{background:#e9f0ec}.split{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.visual{position:relative;min-height:460px;background:#c6dfda;border-radius:190px 190px 8px 8px;overflow:hidden}.arch{position:absolute;inset:18px;border:2px solid #ffffff88;border-radius:170px 170px 4px 4px;overflow:hidden;background:linear-gradient(#83bfc4 0%,#cce3d5 54%,#237b82 55%,#07505e 100%)}.sun{position:absolute;width:125px;height:125px;border-radius:50%;background:#f0d6a3;top:115px;left:50%;transform:translateX(-50%)}.sea{position:absolute;width:120%;height:120px;border-radius:50%;left:-10%;background:#287f88;bottom:55px;transform:rotate(-4deg)}.sea2{bottom:-30px;background:#0a5665;transform:rotate(6deg)}.pane{position:absolute;inset:0;border-left:13px solid #e8e4d6;border-right:13px solid #e8e4d6}.visual-caption{position:absolute;bottom:20px;left:30px;color:white;font-size:12px;letter-spacing:.12em;text-shadow:0 1px 5px #0008}.ticks{padding:0;list-style:none;margin:25px 0}.ticks li{margin:12px 0;padding-left:28px;position:relative}.ticks li:before{content:'✓';position:absolute;left:0;color:var(--sea);font-weight:700}.textlink{font-weight:700;text-decoration:none;color:var(--sea)}.areas{background:var(--deep);color:white}.areas .intro{color:#c7dedd}.islands{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:45px}.islands span{padding:22px 12px;border:1px solid #6ba4a6;border-radius:6px;text-align:center;font:22px 'Playfair Display',Georgia,serif}.about{display:grid;grid-template-columns:1fr 1fr;gap:90px}.about p{color:var(--muted)}.contact{background:#e9f0ec}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.contact-details{margin-top:35px}.contact-details p{margin-bottom:16px}.contact-details span{color:var(--muted)}.form{background:white;padding:34px;border-radius:10px;box-shadow:0 18px 60px #0c4c4b12}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form label{display:block;font-size:13px;font-weight:700;margin-bottom:17px}.form input:not([type=checkbox]),.form select,.form textarea{width:100%;display:block;padding:12px 13px;margin-top:7px;border:1px solid #c9d6d3;border-radius:4px;font:15px 'DM Sans',sans-serif;background:white;color:var(--ink)}.form textarea{resize:vertical}.consent{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important}.consent input{margin-top:5px}.full{width:100%}.form-foot{font-size:12px;color:var(--muted);margin:15px 0 0}.hidden{position:absolute;left:-10000px}footer{background:#062c35;color:#e5f0ee;padding:55px 0 20px}.foot{display:flex;justify-content:space-between;gap:30px}.foot p{margin:17px 0;color:#b6d1cf;font-size:13px}.foot>div:last-child{display:flex;gap:25px;align-items:flex-start}.foot a{text-decoration:none}.foot>div:last-child a{font-size:13px}.copyright{border-top:1px solid #ffffff26;padding-top:20px;margin-top:35px;font-size:12px;color:#a9c7c6}.legal{max-width:850px;padding:70px 0 110px}.legal h1{font-size:46px;color:var(--deep)}.legal h2{font-size:25px;margin-top:35px}.legal p,.legal li{color:#50676a}.legal a{color:var(--sea)}@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}.split,.about,.contact-grid{gap:35px}.hero{min-height:580px}.hero-inner{padding:90px 0 150px}nav{gap:14px}}@media(max-width:700px){.wrap{width:min(100% - 32px,1160px)}.nav{min-height:70px}.brand{font-size:13px}.brand small{font-size:8px}.mark{height:38px;width:38px}.menu{display:block}nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:18px 20px 25px;flex-direction:column;align-items:stretch;box-shadow:0 12px 15px #0002}nav.open{display:flex}.hero-inner{padding:85px 0 145px}.hero p{font-size:16px}.hero-tags{gap:10px}.hero-tags span+span:before{margin-right:10px}.section{padding:70px 0}.cards,.split,.about,.contact-grid,.islands{grid-template-columns:1fr}.cards{gap:12px}.card{min-height:auto}.visual{min-height:350px}.form{padding:22px}.form-row{grid-template-columns:1fr;gap:0}.foot{flex-direction:column}.foot>div:last-child{flex-wrap:wrap}.legal{padding:45px 0 80px}.legal h1{font-size:36px}}

/* Enhanced visual presentation */
.header{background:#062d37;color:#f8f4eb}.mark{border-color:#d2b57b;color:#d2b57b}.navcta{border-color:#d2b57b;color:#d2b57b}.hero{background:linear-gradient(90deg,rgba(4,26,33,.98) 0%,rgba(4,30,39,.94) 38%,rgba(4,30,39,.23) 100%),url('/hero-interior.jpg') center right/cover no-repeat}.hero:before{display:none}.hero .waves{display:none}.hero-inner{padding-top:120px;padding-bottom:125px}.hero h1{max-width:710px}.hero p{max-width:540px}.card{padding:0 0 25px;overflow:hidden}.card img{width:100%;height:165px;object-fit:cover;display:block}.card .num,.card h3,.card p{margin-left:22px;margin-right:22px}.card .num{display:block;margin-top:18px}.card h3{margin-top:10px}.interior-visual{background:url('/hero-interior.jpg') center/cover no-repeat;border-radius:8px}.interior-visual .visual-caption{background:#052c34b5;padding:7px 12px;left:12px;bottom:12px;border-radius:4px}.section{padding-top:85px;padding-bottom:85px}@media(max-width:700px){.hero{background:linear-gradient(90deg,rgba(4,26,33,.96),rgba(4,30,39,.68)),url('/hero-interior.jpg') center/cover no-repeat}.hero-inner{padding-top:80px;padding-bottom:90px}.card img{height:190px}}

.price-promise{max-width:620px;margin:1.35rem 0;padding:1rem 1.2rem;border-left:3px solid #d5b16c;background:rgba(5,35,42,.68);color:#fff;line-height:1.65;border-radius:0 10px 10px 0}.price-promise strong{color:#f5d58e;font-size:1.08rem}

/* Bright company logo */
.brand-logo{display:block;width:190px;height:auto;max-height:75px;object-fit:contain}.header{background:#fff;color:#073943}.nav{min-height:96px}.navcta{color:#073943;border-color:#0b6873}footer .brand{background:#fff;border-radius:6px;padding:5px;width:max-content}footer .brand-logo{width:185px}@media(max-width:700px){.brand-logo{width:138px;max-height:66px}.nav{min-height:76px}nav{top:76px}}

/* Larger, legible brand identity on desktop and mobile */
.header .brand-logo{width:320px;max-height:none;height:auto}
.header .nav{min-height:136px}
footer .brand-logo{width:300px;max-height:none;height:auto}
@media(max-width:700px){.header .brand-logo{width:min(265px,68vw);max-height:none;height:auto}.header .nav{min-height:112px}nav{top:112px}footer .brand-logo{width:min(290px,82vw)}}
@media(max-width:380px){.header .brand-logo{width:230px}}

.trap-field{position:absolute!important;left:-9999px!important;opacity:0!important;height:1px!important;width:1px!important;pointer-events:none!important}

/* Balanced logo sizing: readable without dominating the header */
.header .brand-logo{width:205px;max-width:100%;height:auto;max-height:82px;object-fit:contain}
.header .nav{min-height:88px}
footer .brand-logo{width:190px;max-width:100%;height:auto}
@media(max-width:700px){.header .brand-logo{width:165px;max-height:68px}.header .nav{min-height:78px}nav{top:78px}footer .brand-logo{width:175px}}
@media(max-width:380px){.header .brand-logo{width:150px}}

/* Mobile header improvements */
@media (max-width: 700px) {
  .header .brand-logo {
    width: 170px;
    max-width: 100%;
    height: auto;
  }

  .header .nav {
    min-height: 76px;
  }
}


/* Mobile layout improvements */
@media (max-width: 700px) {
  .header .brand-logo {
    width: 155px;
    height: auto;
  }

  .header .nav {
    min-height: 68px;
  }

  .hero .actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
  }

  .hero .actions a {
    max-width: 100%;
    text-align: center;
  }
}


/* Mobile homepage buttons */
@media (max-width: 700px) {
  .hero .actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hero .actions a {
    width: 100%;
    box-sizing: border-box;
  }
}

/* Mobile homepage heading improvements */
@media (max-width: 700px) {
  .hero h1 {
    font-size: clamp(34px, 9vw, 48px);
    line-height: 1.12;
    overflow-wrap: break-word;
  }

  .hero .actions a {
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 18px;
  }
}

/* Stack homepage buttons on mobile */
@media screen and (max-width: 700px) {
  .hero .actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px;
  }

  .hero .actions a {
    display: flex !important;
    width: 100% !important;
    box-sizing: border-box;
    justify-content: center;
    align-items: center;
  }
}
