@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--navy:#102b54;--teal:#177f82;--sky:#eaf5f5;--ink:#18283b;--muted:#607086;--white:#fff;--line:#dbe5ec}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff;line-height:1.6}a{text-decoration:none;color:inherit}.container{width:min(1120px,92%);margin:auto}
.site-header{position:absolute;top:0;left:0;right:0;z-index:10;color:#fff}.nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:155px;height:auto;background:#fff;border-radius:10px;padding:6px}.nav nav{display:flex;align-items:center;gap:28px;font-weight:600}.nav nav a{opacity:.94}.nav-cta{padding:11px 18px;border:1px solid rgba(255,255,255,.6);border-radius:999px}.lang{border:1px solid rgba(255,255,255,.55);background:transparent;color:#fff;border-radius:999px;padding:8px 11px;font-weight:700;cursor:pointer}
.hero{min-height:690px;position:relative;display:flex;align-items:center;background:linear-gradient(90deg,rgba(10,35,69,.98) 0%,rgba(16,54,83,.88) 47%,rgba(16,54,83,.3) 100%),url('logo.jpg') right 18% center/520px auto no-repeat,#0d2b51}.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 80% 35%,rgba(23,127,130,.22),transparent 35%)}.hero-content{position:relative;padding-top:65px}.hero-copy{max-width:650px;color:#fff}.eyebrow{font-size:12px;letter-spacing:2.2px;font-weight:800;color:var(--teal)}.hero .eyebrow{color:#7ed2d0}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(42px,6vw,72px);line-height:1.03;margin:18px 0 22px;letter-spacing:-2px}.hero p{font-size:19px;max-width:590px;color:#e3edf6}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:8px;font-weight:800;border:1px solid transparent;cursor:pointer;font:inherit}.primary{background:var(--teal);color:#fff}.primary:hover{filter:brightness(.95)}.secondary{border-color:rgba(255,255,255,.6);color:#fff}.full{width:100%}
.trust{background:#f7fafb;border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:25px 0}.trust-grid div{padding:5px 28px;border-right:1px solid var(--line)}.trust-grid div:last-child{border:0}.trust strong,.trust span{display:block}.trust strong{font-size:18px}.trust span{color:var(--muted);font-size:14px}
.section{padding:105px 0}.section-heading{max-width:720px;margin-bottom:46px}.section h2,.about h2,.quote-section h2{font-family:Manrope,sans-serif;font-size:clamp(34px,4vw,52px);line-height:1.1;letter-spacing:-1.5px;margin:10px 0 15px}.section-heading p,.about p,.quote-section p{color:var(--muted);font-size:17px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);border-radius:14px;padding:27px;background:#fff;transition:.2s}.card:hover{transform:translateY(-3px);box-shadow:0 15px 40px rgba(16,43,84,.08)}.icon{width:42px;height:42px;border-radius:10px;background:var(--sky);color:var(--teal);display:grid;place-items:center;font-size:23px;font-weight:700}.card h3{font-family:Manrope,sans-serif;font-size:21px;margin:18px 0 7px}.card p{color:var(--muted);font-size:15px;min-height:72px}.card a,.text-link{color:var(--teal);font-weight:800}
.about{background:#f5f8f8;padding:100px 0}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:center}.mountain-card{background:#fff;border-radius:22px;padding:40px;box-shadow:0 25px 60px rgba(16,43,84,.12)}.mountain-card img{width:100%;display:block}.checklist{list-style:none;padding:0;margin:25px 0}.checklist li{margin:12px 0;font-weight:600}.checklist li:before{content:'✓';color:var(--teal);font-weight:900;margin-right:10px}
.quote-section{padding:105px 0;background:var(--navy);color:#fff}.quote-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.quote-section h2{color:#fff}.quote-section p{color:#d5e0ec}.quote-section .eyebrow{color:#7ed2d0}.contact-mini{margin-top:35px;display:flex;flex-direction:column;gap:4px}.contact-mini a{color:#b9e7e5}.quote-section form{background:#fff;color:var(--ink);padding:30px;border-radius:16px;display:grid;gap:15px}.quote-section label{font-size:13px;font-weight:800;display:grid;gap:6px}.quote-section input,.quote-section select,.quote-section textarea{font:inherit;border:1px solid #ccd8e2;border-radius:7px;padding:12px 13px;outline:none}.quote-section input:focus,.quote-section select:focus,.quote-section textarea:focus{border-color:var(--teal)}.form-note{font-size:12px!important;margin:0;color:#718096!important;text-align:center}
footer{background:#0b203d;color:#d8e3ee;padding:55px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:45px}.footer-logo{width:180px;background:#fff;border-radius:10px;padding:6px}.footer-grid h4{color:#fff;margin:0 0 10px}.footer-grid a{display:block;color:#b8c8d8;margin:7px 0;font-size:14px}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:18px;color:#91a5ba;font-size:12px}
@media(max-width:800px){.nav nav{display:none}.hero{min-height:700px;background:linear-gradient(180deg,rgba(10,35,69,.97),rgba(16,54,83,.94)),url('logo.jpg') center 85%/300px auto no-repeat}.hero-copy{padding-top:55px}.hero h1{font-size:45px}.trust-grid,.cards,.about-grid,.quote-grid,.footer-grid{grid-template-columns:1fr}.trust-grid div{border-right:0;border-bottom:1px solid var(--line);padding:14px 0}.section,.about,.quote-section{padding:75px 0}.about-grid{gap:40px}.footer-grid{gap:28px}}

.isabella-photo{position:relative;border-radius:22px;overflow:hidden;background:#dfe9e8;box-shadow:0 25px 60px rgba(16,43,84,.14);min-height:520px}
.isabella-photo img{width:100%;height:560px;object-fit:cover;object-position:center top;display:block}
.photo-badge{position:absolute;left:22px;right:22px;bottom:22px;background:rgba(16,43,84,.94);color:#fff;border-radius:12px;padding:15px 18px;display:flex;flex-direction:column}
.photo-badge strong{font-family:Manrope,sans-serif;font-size:18px}
.photo-badge span{font-size:13px;color:#bfe2e1;margin-top:2px}
.about p{margin:0 0 14px}
@media(max-width:800px){.isabella-photo{min-height:420px}.isabella-photo img{height:470px}}

.family-note{margin-top:24px;padding:18px 20px;border-left:4px solid var(--teal);background:#eef7f6;border-radius:0 10px 10px 0}
.family-note strong{font-family:Manrope,sans-serif;color:var(--navy)}

/* Step 1 content polish */
.why{background:#fff;padding-top:90px;padding-bottom:90px}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.why h2{font-family:Manrope,sans-serif;font-size:clamp(34px,4vw,52px);line-height:1.1;letter-spacing:-1.5px;margin:10px 0 15px}.why> .container > div>p,.why-grid>div>p{color:var(--muted);font-size:17px;max-width:620px}.why-list{display:grid;gap:22px}.why-list>div{display:grid;grid-template-columns:48px 1fr;gap:16px;padding-bottom:22px;border-bottom:1px solid var(--line)}.why-list>div:last-child{border-bottom:0}.why-list>div>span{font-family:Manrope,sans-serif;color:var(--teal);font-weight:800;font-size:13px;padding-top:5px}.why-list h3{font-family:Manrope,sans-serif;margin:0 0 5px;font-size:20px}.why-list p{margin:0;color:var(--muted);font-size:15px}.faq{background:#f5f8f8;padding-top:90px;padding-bottom:90px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 22px}.faq summary{cursor:pointer;font-family:Manrope,sans-serif;font-weight:700;font-size:17px;list-style:none;padding-right:25px;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:0;top:-2px;color:var(--teal);font-size:24px;font-weight:500}.faq details[open] summary:after{content:'–'}.faq details p{color:var(--muted);font-size:15px;margin:14px 0 0}.footer-note{color:#91a5ba;max-width:300px;font-size:14px;margin:15px 0 0}
@media(max-width:800px){.why-grid,.faq-grid{grid-template-columns:1fr}.why{padding:75px 0}.faq{padding:75px 0}}

.google-form-card{background:#fff;color:var(--ink);padding:34px;border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.12)}
.google-form-card h3{font-family:Manrope,sans-serif;font-size:28px;margin:12px 0 8px}
.google-form-card p{color:var(--muted)}
.form-icon{width:48px;height:48px;border-radius:12px;background:var(--sky);color:var(--teal);display:grid;place-items:center;font-size:22px;font-weight:800}


/* v6: clearer logo and friendlier arrow-style Why Ecusta points */
.site-header .nav{height:100px}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{
  width:205px;
  max-height:82px;
  object-fit:contain;
  object-position:left center;
  background:#fff;
  border-radius:12px;
  padding:7px 10px;
  box-shadow:0 8px 26px rgba(6,30,61,.16)
}
.why-list-arrows>div{
  grid-template-columns:46px 1fr;
  gap:16px;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,43,84,.045)
}
.why-list-arrows>div:last-child{border-bottom:1px solid var(--line)}
.why-list-arrows .why-arrow{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  padding:0;
  border-radius:50%;
  background:var(--sky);
  color:var(--teal);
  font-size:23px;
  font-weight:800;
  line-height:1
}
@media(max-width:800px){
  .site-header .nav{height:84px}
  .brand img{width:158px;max-height:66px;padding:6px 8px}
  .why-list-arrows>div{grid-template-columns:38px 1fr;padding:16px 15px;gap:12px}
  .why-list-arrows .why-arrow{width:34px;height:34px;font-size:20px}
}
@media(max-width:420px){
  .brand img{width:145px;max-height:60px}
}

.review-section{padding:82px 0;background:#fff}
.review-card{
  display:grid;
  grid-template-columns:70px 1fr auto;
  gap:26px;
  align-items:center;
  padding:34px 38px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(135deg,#ffffff 0%,#f3f9f8 100%);
  box-shadow:0 14px 38px rgba(16,43,84,.07)
}
.review-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--sky);
  color:var(--teal);
  font-size:27px;
  font-weight:800
}
.review-copy h2{
  font-family:Manrope,sans-serif;
  font-size:32px;
  line-height:1.15;
  margin:8px 0 10px;
  color:var(--navy)
}
.review-copy p{margin:0;color:var(--muted);max-width:720px}
.review-action{display:flex;flex-direction:column;gap:9px;align-items:flex-start}
.review-action span{font-size:12px;color:var(--muted)}
@media(max-width:900px){
  .review-card{grid-template-columns:58px 1fr}
  .review-action{grid-column:2}
}
@media(max-width:600px){
  .review-section{padding:62px 0}
  .review-card{grid-template-columns:1fr;padding:26px 22px}
  .review-icon{width:50px;height:50px}
  .review-action{grid-column:1}
  .review-copy h2{font-size:27px}
  .review-action .btn{width:100%}
}


/* v8: clean, unboxed header logo treatment */
.site-header{
  background:rgba(255,255,255,.96);
  color:var(--navy);
  box-shadow:0 1px 0 rgba(16,43,84,.08);
}
.site-header .nav{
  height:94px;
}
.site-header .brand{
  display:flex;
  align-items:center;
  flex:0 0 auto;
}
.site-header .brand img{
  width:235px;
  height:auto;
  max-height:76px;
  object-fit:contain;
  object-position:left center;
  background:transparent !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
}
.site-header .nav nav a{
  color:var(--navy);
}
.site-header .nav-cta{
  color:#fff !important;
  background:var(--teal);
  border-color:var(--teal);
}
.site-header .lang{
  color:var(--navy);
  border-color:rgba(16,43,84,.25);
}
.hero-content{
  padding-top:100px;
}
@media(max-width:800px){
  .site-header .nav{
    height:82px;
  }
  .site-header .brand img{
    width:175px;
    max-height:60px;
  }
  .hero-content{
    padding-top:90px;
  }
}
@media(max-width:420px){
  .site-header .brand img{
    width:154px;
    max-height:54px;
  }
}


/* v9: keep the large hero/background Ecusta logo fully visible */
.hero{
  background:
    linear-gradient(90deg,rgba(10,35,69,.98) 0%,rgba(16,54,83,.88) 47%,rgba(16,54,83,.30) 100%),
    url('logo.jpg') right 6% center / min(42vw, 560px) auto no-repeat,
    #0d2b51;
  overflow:hidden;
}

@media(max-width:1000px){
  .hero{
    background:
      linear-gradient(90deg,rgba(10,35,69,.98) 0%,rgba(16,54,83,.90) 55%,rgba(16,54,83,.48) 100%),
      url('logo.jpg') right 3% center / min(46vw, 470px) auto no-repeat,
      #0d2b51;
  }
}

@media(max-width:800px){
  .hero{
    background:
      linear-gradient(180deg,rgba(10,35,69,.97),rgba(16,54,83,.94)),
      url('logo.jpg') center 88% / min(74vw, 360px) auto no-repeat,
      #0d2b51;
    min-height:760px;
  }
}

@media(max-width:480px){
  .hero{
    background:
      linear-gradient(180deg,rgba(10,35,69,.97),rgba(16,54,83,.95)),
      url('logo.jpg') center 91% / min(78vw, 320px) auto no-repeat,
      #0d2b51;
    min-height:780px;
  }
}


/* v10: richer blue accents + fully visible hero background logo */
:root{
  --soft-blue:#eef6fb;
  --soft-blue-2:#e3f1f8;
  --mid-blue:#d5eaf4;
}

/* Add a touch more blue across the page without changing the overall Ecusta palette */
.trust{background:linear-gradient(180deg,#f5fbfd 0%,var(--soft-blue) 100%)}
.section{background:linear-gradient(180deg,#ffffff 0%,#f8fbfd 100%)}
.about{background:linear-gradient(135deg,var(--soft-blue) 0%,#f4faf9 62%,#ffffff 100%)}
.review-section{background:linear-gradient(180deg,#f7fbfd 0%,var(--soft-blue) 100%)}
.review-card{background:linear-gradient(135deg,#ffffff 0%,#edf7fa 100%)}
.card{background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)}

/* Hero: keep the large logo as a separate, contain-scaled element so it never crops */
.hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(10,35,69,.98) 0%,rgba(16,54,83,.90) 48%,rgba(21,78,110,.56) 100%),
    #0d2b51 !important;
}

.hero::after{
  content:"";
  position:absolute;
  z-index:0;
  right:4%;
  top:50%;
  transform:translateY(-50%);
  width:min(40vw,520px);
  height:min(70%,520px);
  background:url('logo.jpg') center / contain no-repeat;
  opacity:.32;
  pointer-events:none;
}

.hero-overlay,
.hero-content{
  position:relative;
  z-index:1;
}

/* Slight blue glow behind the logo for better definition */
.hero::before{
  content:"";
  position:absolute;
  z-index:0;
  right:-6%;
  top:12%;
  width:52%;
  height:76%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(77,164,204,.30) 0%,rgba(77,164,204,.12) 38%,transparent 72%);
  pointer-events:none;
}

@media(max-width:1000px){
  .hero::after{
    right:2%;
    width:min(42vw,440px);
    height:min(64%,440px);
    opacity:.28;
  }
}

@media(max-width:800px){
  .hero{
    min-height:790px;
    background:
      linear-gradient(180deg,rgba(10,35,69,.98) 0%,rgba(16,54,83,.95) 62%,rgba(21,78,110,.90) 100%),
      #0d2b51 !important;
  }
  .hero::after{
    left:50%;
    right:auto;
    top:auto;
    bottom:34px;
    transform:translateX(-50%);
    width:min(72vw,340px);
    height:260px;
    opacity:.24;
  }
  .hero::before{
    left:12%;
    right:auto;
    top:auto;
    bottom:0;
    width:76%;
    height:330px;
  }
}

@media(max-width:480px){
  .hero{
    min-height:815px;
  }
  .hero::after{
    bottom:28px;
    width:min(76vw,300px);
    height:230px;
  }
}


/* v11: soften plain white areas with more Ecusta blue/teal */
:root{
  --powder-blue:#eef7fb;
  --powder-blue-2:#e3f1f8;
  --powder-blue-3:#d9ecf5;
}

/* Top trust strip */
.trust{
  background:linear-gradient(180deg,#f5fbfe 0%,var(--powder-blue-2) 100%) !important;
}

/* Main services section */
.section{
  background:linear-gradient(180deg,#ffffff 0%,#f5fafd 48%,var(--powder-blue) 100%) !important;
}

/* Service cards stay clean, but gain a subtle blue cast */
.cards .card{
  background:linear-gradient(180deg,#ffffff 0%,#f7fbfd 100%) !important;
  border-color:#cfe4ee !important;
}

/* About Isabella gets a richer soft-blue backdrop */
.about{
  background:linear-gradient(135deg,var(--powder-blue-2) 0%,#eef8f8 55%,#f8fbfd 100%) !important;
}

/* Review area gets a little more color */
.review-section{
  background:linear-gradient(180deg,#edf7fb 0%,var(--powder-blue-2) 100%) !important;
}

.review-card{
  background:linear-gradient(135deg,#ffffff 0%,#eef8fb 58%,#e5f2f8 100%) !important;
  border-color:#c8e0eb !important;
}

/* Quote card is less stark white */
.google-form-card{
  background:linear-gradient(180deg,#ffffff 0%,#f2f9fc 100%) !important;
  border:1px solid #cfe4ee;
}

/* Footer gets a slightly richer blue finish */
footer{
  background:linear-gradient(180deg,#0b203d 0%,#0e2b4d 100%) !important;
}

/* Slightly bluer icon/feature accents */
.icon,
.review-icon,
.why-list-arrows .why-arrow{
  background:#dff1f6 !important;
}

/* Mobile keeps the same gentle blue treatment */
@media(max-width:800px){
  .section{
    background:linear-gradient(180deg,#fbfdff 0%,#edf7fb 100%) !important;
  }
  .about{
    background:linear-gradient(180deg,#e8f4f9 0%,#f5fbfc 100%) !important;
  }
  .review-section{
    background:linear-gradient(180deg,#edf7fb 0%,#e3f1f8 100%) !important;
  }
}
