
:root{
  --navy:#08294d; --navy2:#123b60; --blue:#12a5c8; --pale:#eaf7fa;
  --paper:#fbfaf7; --white:#fff; --muted:#61788a; --line:rgba(8,41,77,.11);
  --shadow:0 18px 55px rgba(8,41,77,.10);
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--navy);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit}.shell{width:min(1160px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}
.nav{height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{height:100%;display:flex;align-items:center;text-decoration:none}
.brand img{display:block;width:235px;max-height:78px;object-fit:contain}
.desktop-nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:750}
.desktop-nav a{text-decoration:none}.nav-cta,.button{min-height:52px;padding:0 24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;text-decoration:none;transition:.2s ease}
.nav-cta,.button-primary{background:var(--navy);color:#fff;box-shadow:0 10px 26px rgba(8,41,77,.17)}
.button-secondary{background:#fff;border:1px solid var(--line)}
.button:hover,.nav-cta:hover{transform:translateY(-2px)}
.menu-button{display:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:12px 18px;font:inherit;color:var(--navy)}
.mobile-nav{display:none}

.hero{min-height:720px;position:relative;overflow:hidden;display:grid;align-items:center}
.hero-media{position:absolute;inset:0;background:url("assets/hero-pool.jpg") 58% center/cover no-repeat;transform:scale(1.005)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,23,43,.78) 0%,rgba(4,23,43,.56) 42%,rgba(4,23,43,.15) 73%,rgba(4,23,43,.04) 100%)}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(to bottom,transparent,var(--paper))}
.hero-inner{position:relative;z-index:2}.hero-copy{max-width:700px;padding:100px 0 140px}
.eyebrow{margin:0 0 14px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:900;color:#64d0e4}
.eyebrow.dark{color:#138dac}
h1,h2,h3{margin:0;line-height:1.04;letter-spacing:-.035em}h1{font-size:clamp(54px,7vw,88px);color:#fff}
.hero-lede{font-size:20px;max-width:600px;color:#e7eff4;margin:26px 0 34px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}

.trust-wrap{position:relative;z-index:4;margin-top:-48px}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);overflow:hidden}
.trust-grid article{padding:30px;border-right:1px solid var(--line)}.trust-grid article:last-child{border-right:0}
.trust-grid span{font-size:12px;letter-spacing:.16em;color:var(--blue);font-weight:900}.trust-grid h3{font-size:19px;margin:11px 0 8px}.trust-grid p{margin:0;color:var(--muted);font-size:14px}

.section{padding:112px 0}.section-heading{display:grid;grid-template-columns:.85fr 1.15fr;gap:52px;align-items:end;margin-bottom:52px}
.section-heading h2,.area-card h2{font-size:clamp(40px,5vw,64px)}.section-heading>p,.area-card>p,.quote-intro>p{color:var(--muted);font-size:18px}
.services{background:linear-gradient(180deg,var(--paper),#eff8f9)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.service-card{background:rgba(255,255,255,.94);border:1px solid rgba(8,41,77,.075);border-radius:26px;padding:30px;min-height:254px;box-shadow:0 10px 32px rgba(8,41,77,.055);transition:.2s ease}
.service-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(8,41,77,.10)}
.icon{width:56px;height:56px;border-radius:18px;background:var(--pale);display:grid;place-items:center;margin-bottom:30px;color:#0d84a5}
.icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.service-card h3{font-size:22px;margin-bottom:12px}.service-card p{color:var(--muted);margin:0}

.about{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.about:before{content:"";position:absolute;width:760px;height:380px;right:-120px;bottom:-210px;border:1px solid rgba(100,208,228,.22);border-radius:50%;transform:rotate(-8deg)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;position:relative}.about h2{font-size:clamp(46px,6vw,76px)}
.about-copy p{font-size:21px;color:#d5e5ed;margin:0 0 24px}.pill{display:inline-block;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:10px 14px;font-size:13px;color:#8bd9e8;margin-bottom:18px}

.area-grid{display:grid;grid-template-columns:1fr .92fr;gap:28px}
.area-card,.quote-card{border:1px solid var(--line);border-radius:30px;padding:48px;background:#fff;box-shadow:0 12px 36px rgba(8,41,77,.06)}
.area-card h2{margin:12px 0 24px}.chips{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}.chips span{border:1px solid var(--line);border-radius:999px;padding:10px 14px;font-weight:700;font-size:14px;background:#f8fcfc}
.map-art{position:relative;border-radius:30px;overflow:hidden;min-height:440px;background:linear-gradient(45deg,transparent 47%,rgba(8,41,77,.07) 49% 51%,transparent 53%),linear-gradient(-45deg,transparent 47%,rgba(8,41,77,.05) 49% 51%,transparent 53%),#edf6f4;background-size:74px 74px;box-shadow:0 12px 36px rgba(8,41,77,.06)}
.radius{position:absolute;left:50%;top:50%;width:280px;height:280px;transform:translate(-50%,-50%);border-radius:50%;background:rgba(18,165,200,.15);border:1px solid rgba(18,165,200,.45)}
.pin{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50% 50% 50% 0;background:var(--navy);rotate:-45deg;box-shadow:0 16px 30px rgba(8,41,77,.24)}
.pin:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;left:20px;top:20px}.map-label{position:absolute;left:50%;top:68%;transform:translateX(-50%);background:#fff;padding:11px 16px;border-radius:999px;font-weight:800;box-shadow:0 12px 30px rgba(8,41,77,.12)}

.quote{background:linear-gradient(180deg,#eef8f9,var(--paper))}.quote-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px}.quote-intro{padding:42px 15px}
.quote-intro h2{font-size:clamp(44px,6vw,72px);margin:12px 0 24px}.quote-card form{display:grid;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{font-size:13px;font-weight:800;display:grid;gap:7px}input,select,textarea{width:100%;border:1px solid var(--line);background:#fbfdfd;border-radius:14px;padding:15px 16px;font:inherit;color:var(--navy);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(18,165,200,.12)}button{border:0;cursor:pointer;font:inherit}

footer{background:#061f3a;color:#fff;padding:48px 0}.footer-grid{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.footer-grid strong{display:block;font-size:22px;margin-bottom:5px}.footer-grid span,.footer-grid a{color:#bfd0dc;text-decoration:none}.scripture{font-size:13px;letter-spacing:.08em}

@media(max-width:900px){
  .desktop-nav{display:none}.menu-button{display:block}.nav{height:86px}.brand img{width:215px;max-height:72px}
  .mobile-nav.open{display:grid;padding:10px 20px 20px;background:#fff;border-top:1px solid var(--line)}
  .mobile-nav a{padding:13px 0;text-decoration:none;font-weight:750;border-bottom:1px solid var(--line)}
  .mobile-nav a:last-child{border-bottom:0}
  .hero{min-height:790px}.hero-media{background-position:58% center}
  .trust-grid{grid-template-columns:1fr 1fr}.trust-grid article:nth-child(2){border-right:0}.trust-grid article{border-bottom:1px solid var(--line)}
  .section-heading,.about-grid,.area-grid,.quote-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .shell{width:min(100% - 24px,1160px)}.nav{height:82px}.brand img{width:205px;max-height:70px}
  .hero{min-height:820px}.hero-media{background-position:64% center}
  .hero-shade{background:linear-gradient(180deg,rgba(4,23,43,.08) 0%,rgba(4,23,43,.18) 28%,rgba(4,23,43,.64) 59%,rgba(4,23,43,.88) 100%)}
  .hero-copy{padding:270px 0 118px}.eyebrow{font-size:11px}.hero h1{font-size:50px}.hero-lede{font-size:17px;margin:22px 0 28px}
  .hero-actions{display:grid}.hero-actions .button{width:100%;min-height:56px}.trust-wrap{margin-top:-24px}.trust-grid{grid-template-columns:1fr}.trust-grid article{border-right:0}
  .section{padding:82px 0}.section-heading{gap:18px;margin-bottom:30px}.service-grid{grid-template-columns:1fr}.about-grid{gap:38px}.area-card,.quote-card{padding:28px}.form-row{grid-template-columns:1fr}.footer-grid{display:grid}
}


/* V7 POLISH */
.site-header{
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(18px) saturate(1.12);
  -webkit-backdrop-filter:blur(18px) saturate(1.12);
}
.nav{height:100px}
.brand img{width:250px;max-height:82px}
.desktop-nav{gap:24px}
.desktop-nav>a:not(.nav-cta){position:relative;padding:10px 0}
.desktop-nav>a:not(.nav-cta)::after{
  content:"";position:absolute;left:0;right:100%;bottom:3px;height:2px;
  background:var(--blue);border-radius:999px;transition:right .2s ease;
}
.desktop-nav>a:not(.nav-cta):hover::after{right:0}

.hero-media{
  animation:hero-settle 1.2s cubic-bezier(.2,.7,.2,1) both;
  transform-origin:center;
}
@keyframes hero-settle{
  from{transform:scale(1.035)}
  to{transform:scale(1.005)}
}
.hero-shade{
  background:
    linear-gradient(90deg,rgba(4,23,43,.80) 0%,rgba(4,23,43,.56) 42%,rgba(4,23,43,.12) 72%,rgba(4,23,43,.02) 100%),
    linear-gradient(180deg,rgba(4,23,43,.08),rgba(4,23,43,.18) 72%,rgba(4,23,43,.34));
}
.hero-copy{padding-top:108px}
.hero-actions{gap:16px;margin-top:4px}
.button,.nav-cta{min-height:56px}
.button-primary{box-shadow:0 14px 30px rgba(8,41,77,.25)}
.button-secondary{border-color:rgba(8,41,77,.14)}
.button:hover,.nav-cta:hover{transform:translateY(-3px)}
.button:active,.nav-cta:active{transform:translateY(-1px)}

.quick-trust{
  display:flex;justify-content:center;align-items:center;gap:12px;
  margin-bottom:14px;flex-wrap:wrap;
}
.quick-trust span{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.94);border:1px solid var(--line);
  border-radius:999px;padding:9px 14px;font-size:13px;font-weight:800;
  box-shadow:0 8px 22px rgba(8,41,77,.06);
}
.quick-trust span::before{
  content:"✓";color:var(--blue);font-weight:950;
}

.service-card{min-height:236px;padding:28px}
.icon{width:60px;height:60px;margin-bottom:26px}
.icon svg{width:30px;height:30px}
.service-card,.area-card,.quote-card{
  box-shadow:0 12px 34px rgba(8,41,77,.065);
}
.service-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 46px rgba(8,41,77,.115);
}
.about-copy{max-width:630px}
.about-copy p{line-height:1.58}
.about-copy p:last-child{margin-bottom:0}

.reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .65s ease,transform .65s ease;
}
.reveal.is-visible{opacity:1;transform:none}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .hero-media{animation:none}
  .reveal{opacity:1;transform:none;transition:none}
  .button,.nav-cta,.service-card{transition:none}
}

@media(max-width:900px){
  .nav{height:90px}
  .brand img{width:228px;max-height:76px}
}
@media(max-width:600px){
  .nav{height:88px}
  .brand img{width:220px;max-height:76px}
  .menu-button{padding:10px 16px;font-size:16px}
  .hero{min-height:800px}
  .hero-media{background-position:68% center}
  .hero-shade{
    background:
      linear-gradient(180deg,rgba(4,23,43,.04) 0%,rgba(4,23,43,.10) 24%,rgba(4,23,43,.56) 56%,rgba(4,23,43,.88) 100%);
  }
  .hero-copy{padding:250px 0 112px}
  .hero h1{font-size:47px;line-height:1.03}
  .hero-lede{margin-top:24px}
  .hero-actions{gap:14px;margin-top:14px}
  .quick-trust{gap:8px;margin-bottom:12px}
  .quick-trust span{padding:8px 11px;font-size:12px}
  .service-card{min-height:0;padding:28px}
}
