
:root{
  
  
  
  
  
  
  
  
  
  
  
  --shadow:0 22px 65px rgba(7,47,105,.16);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  
  
  
}
a{text-decoration:none;color:inherit;}
button{font:inherit;}
body.modal-open{overflow:hidden;}

.page-shell{
  min-height:100vh;
  position:relative;
  
  isolation:isolate;
  
}
.page-shell:before{
  content:"";
  position:absolute;
  z-index:-3;
  left:-12%;
  right:-12%;
  bottom:-150px;
  height:330px;
  border-radius:50% 50% 0 0/55% 55% 0 0;
  background:
    linear-gradient(171deg,transparent 0 38%,rgba(68,177,24,.95) 39% 43%,transparent 44%),
    linear-gradient(176deg,transparent 0 48%,rgba(0,111,220,.92) 49% 59%,rgba(71,176,24,.93) 60% 65%,transparent 66%);
  opacity:.9;
  pointer-events:none;
}
.page-shell:after{
  content:"";
  position:absolute;
  z-index:-4;
  inset:0;
  background:
    radial-gradient(circle at 8% 12%,rgba(255,255,255,.72) 0 3px,transparent 4px),
    radial-gradient(circle at 92% 16%,rgba(255,255,255,.75) 0 3px,transparent 4px),
    radial-gradient(circle at 72% 36%,rgba(255,255,255,.68) 0 2px,transparent 3px);
  background-size:150px 150px,190px 190px,130px 130px;
  opacity:.7;
  pointer-events:none;
}

.site-header{
  
  
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  
  
  margin:0 auto;
  
  
}
.site-header:before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0 -40px;
  background:rgba(255,255,255,.58);
  border-bottom:1px solid rgba(255,255,255,.65);
  backdrop-filter:blur(12px);
}
.logo{position:relative;flex-direction:column;}
.logo-small{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:800;color:var(--blue);}
.logo-main{font-weight:950;background:linear-gradient(120deg,#006bd3 10%,#2fa91c 80%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.logo-house{right:0;color:var(--green2);}
.main-nav{justify-self:center;display:flex;align-items:center;font-weight:800;}
.main-nav a{position:relative;}
.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:3px;border-radius:3px;background:var(--green);transition:.2s;}
.main-nav a:hover:after,.main-nav a.active:after{right:0;}
.header-actions{display:flex;align-items:center;}
.header-wa{border-radius:999px;color:white;font-weight:900;}
.header-phone{font-weight:800;white-space:nowrap;}

.hero{
  position:relative;
  z-index:2;
  
  display:grid;
  
  align-items:center;
  
  
  
  
  overflow:hidden;
}
.hero:before{
  content:"";
  position:absolute;
  z-index:-4;
  inset:0;
  
  background:
    linear-gradient(90deg,rgba(232,249,255,.98) 0 17%,rgba(232,249,255,.83) 33%,rgba(232,249,255,.28) 62%,rgba(226,246,255,.78) 100%),
    linear-gradient(180deg,rgba(255,255,255,.13),rgba(237,250,255,.86)),
    image-set(url("../images/hero-scene-1200.avif") type("image/avif"),url("../images/hero-scene-1200.webp") type("image/webp")) right 8% center/58% auto no-repeat;
}
.hero:after{
  content:"";
  position:absolute;
  z-index:-3;
  width:590px;
  height:590px;
  right:-165px;
  top:70px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.14) 0 46%,rgba(13,119,211,.12) 47% 62%,transparent 63%);
  pointer-events:none;
}
.hero-mascot{
  align-self:end;
  
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:visible;
  
}
.hero-mascot img{
  
  width:auto;
  max-width:100%;
  object-fit:contain;
  object-position:center bottom;
  border-radius:0;
  mix-blend-mode:normal;
}
.hero-center{
  text-align:center;
  align-self:start;
  
  position:relative;
  z-index:2;
}
.hero-slogan{
  margin:0 auto 19px;
  max-width:860px;
  
  line-height:1.08;
  font-style:italic;
  font-weight:950;
  
  letter-spacing:-.035em;
  text-shadow:0 1px 0 rgba(255,255,255,.7);
}
.hero-center h1{
  margin:0 auto;
  
  
  
  
  
}
.hero-center>p:not(.hero-slogan){
  
  margin:18px auto 0;
  
  
  
  
}
.hero-cta{display:flex;justify-content:center;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:900;}

.btn-wa{color:white;}
.btn-outline{color:var(--blue);backdrop-filter:blur(7px);}

.hero-benefits{
  display:grid;
  
  align-self:center;
  
  
  
  
  
  
}

.hero-benefits div{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  
  
  
  
  
  font-weight:800;
  line-height:1.35;
  text-align:left;
}

.hero-benefits div::before{
  content:"✓";
  display:grid;
  place-items:center;
  flex:0 0 31px;
  
  
  border-radius:50%;
  
  
  
  line-height:1;
  font-weight:950;
}

.hero-benefits div span{
  display:block;
  flex:1 1 auto;
  min-width:0;
  margin:0;
}

.bubble{
  position:absolute;
  z-index:1;
  border:2px solid rgba(255,255,255,.82);
  border-radius:50%;
  background:
    radial-gradient(circle at 28% 24%,rgba(255,255,255,.92) 0 7%,transparent 9%),
    linear-gradient(135deg,rgba(255,255,255,.42),rgba(38,156,238,.09));
  box-shadow:inset 0 0 15px rgba(255,255,255,.82),0 8px 25px rgba(15,120,200,.08);
}
.b1{width:58px;height:58px;left:1.3%;top:27%;}
.b2{width:34px;height:34px;right:4.7%;top:18%;}
.b3{width:43px;height:43px;left:8%;bottom:15%;}
.leaf{
  position:absolute;
  width:122px;
  height:62px;
  background:
    linear-gradient(32deg,transparent 47%,rgba(255,255,255,.2) 48% 50%,transparent 51%),
    linear-gradient(135deg,#79ca34,#268f18);
  border-radius:100% 0 100% 0;
  opacity:.93;
  filter:drop-shadow(0 6px 9px rgba(35,108,17,.18));
  z-index:0;
}
.leaf-1{left:-39px;top:10px;transform:rotate(25deg);}
.leaf-2{right:-35px;top:35px;transform:rotate(165deg);}
.leaf-3{left:-42px;bottom:62px;transform:rotate(-25deg);}
.leaf-4{right:-28px;bottom:70px;transform:rotate(205deg);}

.services-wrap{position:relative;z-index:5;padding-top:10px;}
.services-head{display:flex;align-items:center;justify-content:center;text-align:center;gap:30px;margin:0 0 22px;}.eyebrow{text-transform:uppercase;font-weight:900;}.services-head h2{margin:4px 0 0;font-size:30px;}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.service-card{position:relative;text-align:left;color:var(--ink);cursor:pointer;}

.service-card .service-icon{display:grid;place-items:center;font-size:28px;font-weight:950;}
.service-card strong{display:block;}.service-card>span:not(.service-icon){display:block;}.service-card i{position:absolute;font-style:normal;font-weight:900;}

footer{position:relative;z-index:3;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;align-items:center;}footer>div:first-child{display:flex;flex-direction:column;gap:4px;}footer span{font-size:13px;}.footer-links{display:flex;flex-wrap:wrap;font-weight:800;}


@media(max-width:1180px){.site-header{grid-template-columns:auto 1fr;}.header-actions{grid-column:1/-1;justify-content:flex-end;margin-top:-5px;}.hero{grid-template-columns:.8fr 1.2fr;}.hero-benefits{display:none;}.service-grid{grid-template-columns:repeat(2,1fr);}.services-wrap{margin-top:-30px;}}
@media(max-width:820px){.site-header{display:flex;flex-wrap:wrap;}.main-nav{order:3;width:100%;justify-content:center;gap:20px;}.header-actions{margin-left:auto;}.header-phone{display:none;}.hero{grid-template-columns:1fr;padding:20px 18px 110px;min-height:auto;}.hero-mascot{order:2;height:380px;}.hero-mascot img{height:420px;}.hero-center{order:1;padding-top:30px;}.hero-benefits{display:none;}.hero:after{opacity:.35;width:100%;height:100%;}.services-wrap{margin-top:-100px;}}
@media(max-width:620px){.site-header{width:calc(100% - 28px);padding:12px 0;}.logo{min-width:160px;}.logo-small{font-size:18px;}.logo-main{font-size:38px;}.logo-house{font-size:28px;}.header-wa{font-size:12px;padding:11px 14px;}.main-nav{font-size:13px;gap:14px;overflow-x:auto;justify-content:flex-start;}.hero-slogan{font-size:28px;}.hero-center h1{font-size:38px;}.hero-center>p:not(.hero-slogan){font-size:16px;}.hero-mascot{height:330px;}.hero-mascot img{height:365px;}.services-wrap,footer{width:calc(100% - 28px);}.services-head{display:flex;align-items:center;justify-content:center;text-align:center;gap:30px;margin:0 0 22px;}.service-grid{grid-template-columns:1fr;}.service-card{min-height:155px;}footer{align-items:flex-start;flex-direction:column;}.footer-links{flex-direction:column;gap:8px;}}

/* Visual consolidation */
.services-head > div{margin-inline:auto;}
.services-head .eyebrow,
.services-head h2{text-align:center;}


/* About page */
.about-page{min-height:100vh;}
.about-page .page-shell{position:relative;overflow:hidden;min-height:100vh;}
.about-page .site-header{position:relative;z-index:20;}
.story-section{position:relative;z-index:3;width:min(1180px,calc(100% - 60px));margin:34px auto 0;}
.story-kicker{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:end;
  width:100%;
  gap:30px;
  }
.story-kicker>span{grid-column:1;justify-self:start;}
.story-kicker>h1{
  grid-column:2;
  justify-self:center;
  width:max-content;
  max-width:min(620px,70vw);
  margin:0;
  
  
  line-height:1.05;
  letter-spacing:-.035em;
  text-align:center
;}
.story-card{position:relative;display:grid;grid-template-columns:90px 1fr;margin-top:16px;backdrop-filter:blur(10px);}

.story-number{display:grid;place-items:center;font-size:20px;font-weight:950;}
.story-content h2{margin:0 0 16px;max-width:850px;line-height:1.07;letter-spacing:-.035em;}
.story-content p{max-width:900px;margin:0 0 13px;font-size:16px;line-height:1.72;}.story-content p:last-child{margin-bottom:0;}
.about-principles{position:relative;width:min(1180px,calc(100% - 60px));margin:0 auto 70px;overflow:hidden;}
.about-principles::after{content:"";position:absolute;width:360px;height:360px;right:-120px;top:-160px;border-radius:50%;background:rgba(255,255,255,.08);}
.principles-heading{position:relative;z-index:2;max-width:720px;margin-bottom:28px;}.principles-heading .eyebrow{color:#a9ee73;}.principles-heading .eyebrow::before{background:#a9ee73;}
.principles-heading h2{margin:12px 0 0;color:white;font-size:clamp(34px,4vw,52px);line-height:1.02;letter-spacing:-.04em;}
.principles-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);}
.principles-grid article{padding:24px 20px 22px;border:1px solid rgba(255,255,255,.12);color:white;}
.principle-icon{display:grid;place-items:center;width:46px;height:46px;margin-bottom:17px;color:white;font-size:21px;font-weight:950;}
.principles-grid h3{margin:0 0 8px;font-size:19px;}.principles-grid p{margin:0;color:rgba(255,255,255,.78);font-size:14px;line-height:1.55;}
.about-quote{position:relative;width:min(950px,calc(100% - 60px));margin:0 auto 70px;padding:42px 54px;text-align:center;}
.quote-mark{height:55px;color:var(--green);font-family:Georgia,serif;font-size:86px;line-height:1;}
.about-quote blockquote{margin:0 auto 16px;color:var(--blue);font-family:Georgia,serif;font-size:clamp(27px,3.4vw,44px);font-style:italic;font-weight:700;line-height:1.18;letter-spacing:-.025em;}.about-quote>span{color:var(--green2);font-weight:900;}
.about-cta{position:relative;width:min(1180px,calc(100% - 60px));margin:0 auto 55px;display:flex;align-items:center;justify-content:space-between;gap:34px;border:1px solid rgba(7,59,143,.1);}
.about-cta h2{margin:9px 0 7px;color:var(--blue);font-size:clamp(28px,3.8vw,46px);letter-spacing:-.04em;}.about-cta p{margin:0;color:var(--muted);}.about-cta-button{white-space:nowrap;}
@media(max-width:980px){.story-kicker{display:block;text-align:center;}.story-kicker>span{display:block;margin-bottom:10px;text-align:center;}.story-kicker>h1{display:block;width:auto;max-width:620px;margin:0 auto;text-align:center;}.story-card-alt{margin-left:0;}.principles-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:700px){.story-section,.about-principles,.about-quote,.about-cta{width:calc(100% - 28px);}.story-section{padding-bottom:45px;}.story-card{grid-template-columns:1fr;padding:26px 22px;}.story-number{width:54px;height:54px;border-radius:18px;}.about-principles{padding:28px 20px;}.principles-grid{grid-template-columns:1fr;}.about-quote{padding:26px 10px 34px;}.about-cta{align-items:stretch;flex-direction:column;padding:28px 22px;}.about-cta-button{width:100%;justify-content:center;}}


/* About page refinements */
.about-choices{
  width:min(1180px,calc(100% - 60px));
  margin:0 auto 58px;
  
  
  
  
  
}
.choices-heading{
  max-width:780px;
  margin:0 auto 28px;
  text-align:center;
}
.choices-heading .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--green2);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.choices-heading .eyebrow::before{
  content:"";
  width:28px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--green),var(--blue2));
}
.choices-heading h2{
  margin:11px 0 10px;
  color:var(--blue);
  font-size:clamp(31px,4vw,50px);
  line-height:1.04;
  letter-spacing:-.04em;
}
.choices-heading p{
  margin:0 auto;
  max-width:690px;
  color:var(--muted);
  line-height:1.6;
}
.choices-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.choice-card{
  position:relative;
  min-height:156px;
  display:grid;
  grid-template-columns:52px 1fr 24px;
  gap:14px;
  align-items:center;
  padding:22px;
  border:1px solid rgba(7,59,143,.10);
  
  
  
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.choice-card:hover{
  transform:translateY(-3px);
  
  border-color:rgba(7,59,143,.18);
}
.choice-icon{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  
  background:linear-gradient(145deg,#edf9ff,#dff3ff);
  color:var(--blue);
  font-size:20px;
  font-weight:950;
}
.choice-copy{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.choice-copy strong{
  color:var(--blue);
  font-size:19px;
  line-height:1.1;
}
.choice-copy small{
  color:#5d7590;
  font-size:13px;
  line-height:1.45;
}
.choice-arrow{
  justify-self:end;
  color:var(--blue2);
  font-size:22px;
  font-weight:900;
}
.choice-services{
  background:linear-gradient(145deg,#fff,#f4fbff);
}
.choice-services .choice-icon{
  background:linear-gradient(145deg,#e8f8ff,#d8efff);
}
.choice-home{
  background:linear-gradient(145deg,#fff,#fbfdff);
}
.choice-whatsapp{
  background:linear-gradient(145deg,#effbea,#e4f8de);
  border-color:rgba(64,165,29,.18);
}
.choice-whatsapp .choice-icon{
  background:linear-gradient(145deg,#58bd20,#159321);
  color:#fff;
}
.choice-whatsapp .choice-copy strong,
.choice-whatsapp .choice-arrow{
  color:#197f1e;
}
.explore-link{
  width:max-content;
  display:flex;
  align-items:center;
  gap:8px;
  margin:24px auto 0;
  color:var(--blue);
  font-weight:850;
  text-decoration:none;
}
.explore-link:hover{
  color:var(--green2);
}
@media(max-width:900px){
  .choices-grid{grid-template-columns:1fr;}
  .choice-card{min-height:auto;}
}
@media(max-width:700px){
  .about-choices{
    width:calc(100% - 28px);
    padding:28px 18px;
  }
  .choice-card{
    grid-template-columns:46px 1fr 20px;
    padding:18px;
    border-radius:20px;
  }
  .choice-icon{
    width:42px;
    height:42px;
  }
}


/* Conversion, trust and responsive UI */
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden;}
.ui-icon,.service-svg,.panel-svg,.safety-svg,.wa-svg,.nav-svg,
.feature-svg,.proof-svg,.mini-star,.logo-svg,.principle-svg,.choice-svg,
.choice-arrow-svg,.sticky-wa-svg,.list-check-svg,.arrow-svg{
  width:1em;height:1em;display:block;fill:currentColor
;}


.arrow-svg{width:18px;height:18px;}
.principle-svg{width:22px;height:22px;}
.choice-svg{width:21px;height:21px;}
.choice-arrow-svg{width:20px;height:20px;}

.section-heading{max-width:760px;margin:0 auto 28px;}
.section-heading.centered{text-align:center;}
.section-heading h2{
  margin:9px 0 9px;color:var(--blue);font-size:clamp(32px,4vw,48px);
  line-height:1.04;letter-spacing:-.04em
;}
.section-heading p{margin:0;line-height:1.65;}
.section-heading .eyebrow{color:var(--green2);}


.how-grid{display:grid;grid-template-columns:repeat(3,1fr);}
.how-grid article{
  position:relative;
  
  }
.how-grid article b{
  position:absolute;
  font-weight:950
;}
.step-icon,.feature-badge,.pending-icon{
  display:grid;place-items:center;
  
  }
.feature-svg{width:25px;height:25px;}

.how-grid p{margin:0;}

.area-offer-section{
  
  
  display:grid;grid-template-columns:1fr 1fr;}
.area-card,.offer-card{
  display:grid;align-items:center;
  border:1px solid rgba(7,59,143,.1);
  background:linear-gradient(145deg,#fff,#f2fbff);
  }

.area-card h2,.offer-card h2{
  
  line-height:1.08;letter-spacing:-.03em
;}
.area-card p,.offer-card p{margin:0;}
.area-card .eyebrow,.offer-card .eyebrow{
  color:var(--green2);font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase
;}
.compact-cta{
  white-space:nowrap;
  color:#fff;font-weight:850;font-size:13px
;}

.compact-cta:hover{transform:translateY(-1px);}


.mobile-wa-sticky{display:none;}

@media(max-width:1000px){
  .area-offer-section{grid-template-columns:1fr;}
  .area-card,.offer-card{grid-template-columns:58px 1fr auto;}
}
@media(max-width:820px){
  .how-grid{grid-template-columns:1fr;}
  .how-section,.area-offer-section{width:calc(100% - 28px);}
  .how-section{margin-top:52px;}
}
@media(max-width:640px){
  body{padding-bottom:72px;}
  .area-card,.offer-card{grid-template-columns:48px 1fr;padding:22px 18px;}
  .area-card .compact-cta,.offer-card .compact-cta{
    grid-column:1/-1;text-align:center;width:100%
  ;}
  .feature-badge{width:46px;height:46px;}
  .mobile-wa-sticky{
    position:fixed;z-index:90;left:14px;right:14px;bottom:12px;
    min-height:54px;display:flex;align-items:center;justify-content:center;gap:10px;
    border-radius:18px;background:linear-gradient(135deg,#16952d,#25b83f);
    color:#fff;font-weight:900;box-shadow:0 14px 32px rgba(20,128,39,.3);
    border:1px solid rgba(255,255,255,.32)
  ;}
}


/* About cards */
.story-cards-equal{
  display:grid;
  grid-template-columns:1fr;
  grid-auto-rows:1fr;
  gap:18px;
}

.story-cards-equal .story-card{
  width:100%;
  height:100%;
  margin:0;
}

.story-cards-equal .story-card-alt{
  margin-left:0;
}

/* Conținutul intern se întinde uniform chiar dacă textele diferă */
.story-cards-equal .story-content{
  display:flex;
  flex-direction:column;
  height:100%;
}

/* Pe mobil păstrăm aceeași regulă de egalizare */
@media(max-width:700px){
  .story-cards-equal{
    grid-auto-rows:1fr;
    gap:14px;
  }
}


/* Legal pages and consent UI */
.legal-strip{
  
  margin:0 auto;
  
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  
  font-size:12px;
}
.legal-strip nav{display:flex;gap:18px;flex-wrap:wrap;}
.legal-strip a{font-weight:800;}
.legal-strip a:hover{text-decoration:underline;}

.legal-page{
  min-height:100vh;
  
}
.legal-header{position:relative;z-index:5;}
.legal-main{
  
  margin:0 auto;
  
}
.legal-hero{
  max-width:820px;
  margin:0 auto 28px;
  text-align:center;
}
.legal-kicker{
  display:inline-block;
  margin-bottom:10px;
  color:var(--green2);
  font-size:12px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.legal-hero h1{
  margin:0 0 14px;
  
  
  line-height:1;
  
}
.legal-hero p{
  max-width:720px;
  margin:0 auto 10px;
  
  
  line-height:1.65;
}
.legal-hero small{color:#8191a4;}

.legal-document section+section{
  margin-top:26px;
  padding-top:26px;
  border-top:1px solid rgba(7,59,143,.08);
}
.legal-document h2{
  margin:0 0 10px;
  
  font-size:22px;
  letter-spacing:-.02em;
}
.legal-document p{
  margin:0 0 10px;
  
  line-height:1.72;
}
.legal-document p:last-child{margin-bottom:0;}
.legal-document a{color:var(--blue2);font-weight:800;}
.legal-note{
  margin-top:18px;
  padding:20px 22px;
  border-radius:20px;
  border:1px solid #eed99c;
  background:#fff9e8;
  color:#6d5618;
}
.legal-note strong{display:block;margin-bottom:5px;}
.legal-note p{margin:0;line-height:1.55;}
.cookie-table-wrap{overflow-x:auto;}
.cookie-table{
  width:100%;
  border-collapse:collapse;
  min-width:650px;
}
.cookie-table th,.cookie-table td{
  padding:13px 14px;
  border:1px solid #dbe7f0;
  text-align:left;
  vertical-align:top;
  color:#526d88;
  line-height:1.45;
}
.cookie-table th{
  
  color:var(--blue);
  font-size:13px;
}
.cookie-table code{
  padding:3px 6px;
  border-radius:7px;
  background:#f0f5f8;
  color:#27577e;
}
.cookie-reset-btn{
  margin-top:5px;
  padding:12px 17px;
  border:0;
  border-radius:999px;
  background:var(--blue);
  color:#fff;
  font:inherit;
  font-weight:850;
  cursor:pointer;
}
.cookie-reset-btn:hover{transform:translateY(-1px);}
.cookie-reset-status{
  margin-top:8px!important;
  color:var(--green2)!important;
  font-size:13px;
  font-weight:800;
}

.cookie-banner[hidden]{display:none!important;}
.cookie-banner{
  position:fixed;
  z-index:200;
  left:18px;
  right:18px;
  bottom:18px;
  width:min(920px,calc(100% - 36px));
  margin:0 auto;
  padding:18px 20px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:22px;
  align-items:center;
  border:1px solid rgba(7,59,143,.14);
  border-radius:22px;
  background:rgba(255,255,255,.97);
  box-shadow:0 22px 65px rgba(6,49,109,.24);
  backdrop-filter:blur(18px);
}
.cookie-banner-copy strong{
  display:block;
  margin-bottom:5px;
  color:var(--blue);
  font-size:16px;
}
.cookie-banner-copy p{
  margin:0;
  color:#61768d;
  font-size:13px;
  line-height:1.48;
}
.cookie-banner-actions{
  
  
  
  
  flex-wrap:wrap;
}
.cookie-btn{
  min-height:41px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid transparent;
  font:inherit;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.cookie-btn-primary{background:var(--blue);color:#fff;}

.cookie-details{color:var(--blue);font-size:12px;font-weight:850;text-decoration:underline;}

@media(max-width:820px){
  .legal-strip{width:calc(100% - 28px);align-items:flex-start;flex-direction:column;}
  .legal-main{width:calc(100% - 28px);padding-top:42px;}
  .legal-document{padding:27px 23px;}
  .cookie-banner{
    bottom:82px;
    grid-template-columns:1fr;
    gap:12px;
  }
  .cookie-banner-actions{justify-content:flex-start;}
}
@media(max-width:560px){
  .cookie-banner{left:10px;right:10px;width:calc(100% - 20px);padding:15px;border-radius:18px;}
  .cookie-banner-actions{display:grid;grid-template-columns:1fr 1fr;}
  .cookie-btn{width:100%;}
  .cookie-details{grid-column:1/-1;text-align:center;padding-top:3px;}
}


/* First-visit privacy notice */
.privacy-first-visit[hidden]{display:none!important;}
.privacy-first-visit{
  position:fixed;
  z-index:300;
  inset:0;
  display:grid;
  place-items:center;
  padding:22px;
}
.privacy-first-backdrop{
  position:absolute;
  inset:0;
  background:rgba(5,33,72,.58);
  backdrop-filter:blur(9px);
}
.privacy-first-card{
  position:relative;
  z-index:2;
  width:min(720px,100%);
  max-height:min(86vh,760px);
  overflow:auto;
  padding:34px;
  border:1px solid rgba(255,255,255,.5);
  border-radius:30px;
  background:
    radial-gradient(circle at 95% 6%,rgba(88,173,19,.11),transparent 25%),
    #fff;
  box-shadow:0 35px 95px rgba(4,36,82,.35);
}
.privacy-kicker{
  display:inline-block;
  margin-bottom:8px;
  color:var(--green2);
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.13em;
}
.privacy-first-card h2{
  max-width:610px;
  margin:0 0 12px;
  color:var(--blue);
  font-size:clamp(31px,5vw,46px);
  line-height:1.03;
  letter-spacing:-.04em;
}
.privacy-first-card>p{
  margin:0;
  color:#58708a;
  line-height:1.62;
}
.privacy-points{
  display:grid;
  gap:10px;
  margin:22px 0;
}
.privacy-points>div{
  position:relative;
  padding:15px 17px 15px 46px;
  border:1px solid #dfedf5;
  border-radius:17px;
  background:#f8fcff;
}
.privacy-points>div::before{
  content:"✓";
  position:absolute;
  left:16px;
  top:16px;
  display:grid;
  place-items:center;
  width:21px;
  height:21px;
  border-radius:50%;
  background:var(--green);
  color:white;
  font-size:12px;
  font-weight:950;
}
.privacy-points strong{
  display:block;
  margin-bottom:4px;
  color:var(--blue);
  font-size:14px;
}
.privacy-points span{
  display:block;
  color:#657b91;
  font-size:13px;
  line-height:1.48;
}
.privacy-clarification{
  padding:13px 15px;
  border-radius:15px;
  background:#fff8e8;
  border:1px solid #f1dfab;
  color:#745b19!important;
  font-size:12.5px;
  line-height:1.5!important;
}
.privacy-first-actions{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:20px;
  flex-wrap:wrap;
}
.privacy-understood{
  min-height:48px;
  padding:0 22px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,var(--blue),#0863ce);
  color:white;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.privacy-details-link{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  padding:0 18px;
  border-radius:999px;
  border:1px solid #d7e6f1;
  color:var(--blue);
  font-size:13px;
  font-weight:850;
  background:#f8fcff;
}
.privacy-modal-open,
.privacy-modal-open body{
  overflow:hidden;
}
@media(max-width:620px){
  .privacy-first-visit{padding:12px;}
  .privacy-first-card{
    max-height:92vh;
    padding:24px 18px;
    border-radius:23px;
  }
  .privacy-first-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .privacy-understood,
  .privacy-details-link{
    width:100%;
    justify-content:center;
  }
}


/* Legal UI consolidation */
.cookie-banner-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;}
@media(max-width:560px){
  .cookie-banner-actions{display:flex;align-items:center;justify-content:stretch;gap:10px;}
  .cookie-banner-actions .cookie-btn{flex:1;}
  .cookie-banner-actions .cookie-details{white-space:nowrap;}
}


/* Privacy, opt-in and focus accessibility */
.marketing-optin{
  margin:18px 0 0;
  padding:14px 15px;
  border:1px solid #d7ead0;
  border-radius:16px;
  background:#f5fbf2;
}
.marketing-optin label,
.marketing-preferences-box label{
  display:flex;
  align-items:flex-start;
  gap:12px;
  cursor:pointer;
}
.marketing-optin input,
.marketing-preferences-box input{
  flex:0 0 auto;
  width:19px;
  height:19px;
  margin-top:2px;
  accent-color:var(--green2);
}
.marketing-optin strong,
.marketing-preferences-box strong{
  display:block;
  color:var(--blue);
  font-size:14px;
  line-height:1.35;
}
.marketing-optin small,
.marketing-preferences-box small{
  display:block;
  margin-top:4px;
  color:#647b91;
  font-size:12px;
  line-height:1.45;
}

.marketing-preferences-box{
  margin-top:14px;
  padding:18px;
  border:1px solid #d8e7f1;
  border-radius:18px;
  background:#f8fcff;
}
.marketing-preference-actions{
  display:flex;
  gap:10px;
  margin-top:16px;
  flex-wrap:wrap;
}
.marketing-save-btn,
.marketing-withdraw-btn{
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  font:inherit;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.marketing-save-btn{
  border:0;
  background:var(--blue);
  color:#fff;
}
.marketing-withdraw-btn{
  border:1px solid #d7e4ec;
  background:#fff;
  color:var(--blue);
}
.marketing-status{
  margin-top:10px!important;
  color:var(--green2)!important;
  font-size:12.5px;
  font-weight:800;
}




/* SEO + CWV v7 */
.hero-mascot picture{display:flex;align-items:flex-end;justify-content:center;width:100%;height:100%;}
.service-card{display:block;}
.service-card:focus-visible,.compact-cta:focus-visible,.btn:focus-visible,.header-wa:focus-visible,.main-nav a:focus-visible,.footer-links a:focus-visible{outline:3px solid #0b57c9;outline-offset:4px;}
.services-seo-intro{margin:26px auto 0;text-align:center;}
.services-seo-intro strong{color:var(--blue);}
.how-section,.area-offer-section,footer,.legal-strip{content-visibility:auto;contain-intrinsic-size:auto 520px;}
img{max-width:100%;}
@media(max-width:820px){.hero:before{background:linear-gradient(90deg,rgba(232,249,255,.98) 0 17%,rgba(232,249,255,.83) 33%,rgba(232,249,255,.28) 62%,rgba(226,246,255,.78) 100%),linear-gradient(180deg,rgba(255,255,255,.13),rgba(237,250,255,.86)),image-set(url("../images/hero-scene-720.avif") type("image/avif"),url("../images/hero-scene-720.webp") type("image/webp")) right 8% center/cover no-repeat;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}}

/* Mobile-first refinement v8 — 360/384/390/393/412/414/430px */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:16px;}
body{min-width:320px;overflow-x:clip;}
img,svg{max-width:100%;}

/* Safe-area support for modern edge-to-edge phones */
@supports(padding:max(0px)){
  body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);}
}

/* Touch-first interaction without penalizing mouse users */
@media(any-pointer:coarse){
  .btn,.header-wa,.compact-cta,.mobile-wa-sticky,.privacy-understood,.privacy-details-link,
  .cookie-btn,.marketing-save-btn,.marketing-withdraw-btn{min-height:48px;}
  .main-nav a,.footer-links a,.legal-strip a,.breadcrumbs a,.related-grid a,.faq-grid summary{min-height:44px;}
  .main-nav a,.footer-links a,.legal-strip a,.breadcrumbs a{display:inline-flex;align-items:center;}
}

@media(max-width:820px){
  .page-shell{overflow:clip;}
  .site-header{
    width:calc(100% - 28px);
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px 12px;
    padding:11px 0 9px;
  }
  .site-header:before{inset:0 -14px;}
  .logo{min-width:0;width:max-content;max-width:100%;}
  .header-actions{grid-column:2;grid-row:1;margin:0;justify-self:end;}
  .header-phone{display:none;}
  .header-wa{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:0 15px;white-space:nowrap;}
  .main-nav{
    grid-column:1/-1;
    grid-row:2;
    order:initial;
    width:100%;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    padding:4px;
    border-radius:15px;
    background:rgba(255,255,255,.54);
    overflow:visible;
  }
  .main-nav a{
    justify-content:center;
    min-width:0;
    padding:10px 6px;
    border-radius:11px;
    text-align:center;
    line-height:1.15;
  }
  .main-nav a:after{left:18%;right:82%;bottom:4px;height:2px;}
  .main-nav a:hover:after,.main-nav a.active:after{right:18%;}

  .hero{
    width:100%;
    grid-template-columns:1fr;
    gap:0;
    padding:16px 14px 78px;
    min-height:0;
  }
  .hero-center{order:1;padding-top:18px;}
  .hero-center h1{
    max-width:620px;
    font-size:clamp(32px,8.9vw,44px);
    line-height:1.03;
    letter-spacing:-.038em;
    text-wrap:balance;
  }
  .hero-slogan{font-size:clamp(22px,6.4vw,29px);margin-bottom:12px;}
  .hero-center>p:not(.hero-slogan){max-width:560px;margin-top:14px;font-size:16px;line-height:1.48;text-wrap:pretty;}
  .hero-cta{margin-top:21px;gap:10px;}
  .btn{min-height:52px;padding-inline:19px;}
  .hero-mascot{order:2;height:clamp(300px,84vw,390px);margin-top:4px;}
  .hero-mascot img{height:clamp(330px,92vw,430px);max-width:min(100%,360px);}
  .hero:after{right:-45%;top:35%;width:130%;height:60%;opacity:.24;}
  .bubble,.leaf{display:none;}

  .services-wrap{width:calc(100% - 28px);margin:-62px auto 42px;padding-top:0;}
  .services-head{margin-bottom:17px;}
  .services-head h2{font-size:clamp(26px,7vw,31px);line-height:1.08;}
  .service-grid{grid-template-columns:1fr;gap:11px;}
  .service-card{
    min-height:0;
    display:grid;
    grid-template-columns:52px minmax(0,1fr) 20px;
    grid-template-rows:auto auto;
    column-gap:14px;
    row-gap:4px;
    align-items:center;
    padding:15px 16px;
    border-radius:19px;
  }
  .service-card .service-icon{grid-column:1;grid-row:1/3;width:50px;height:50px;}
  .service-card strong{grid-column:2;grid-row:1;margin:0;font-size:20px;line-height:1.12;}
  .service-card>span:not(.service-icon){grid-column:2;grid-row:2;margin:0;font-size:13px;line-height:1.38;}
  .service-card i{position:static;grid-column:3;grid-row:1/3;align-self:center;justify-self:end;}
  .services-seo-intro{margin-top:20px;padding:0 5px;font-size:14px;line-height:1.58;}

  .how-section{width:calc(100% - 28px);margin-top:44px;padding-top:32px;}
  .section-heading{margin-bottom:20px;}
  .section-heading h2{font-size:clamp(29px,8vw,38px);}
  .section-heading p{font-size:15px;line-height:1.55;}
  .how-grid{gap:11px;}
  .how-grid article{padding:20px 18px 19px;border-radius:20px;}
  .how-grid h3{margin:14px 0 6px;font-size:20px;}
  .how-grid article b{right:16px;top:14px;font-size:26px;}

  .area-offer-section{width:calc(100% - 28px);margin-top:34px;gap:12px;}
  .area-card,.offer-card{grid-template-columns:48px minmax(0,1fr);gap:13px;padding:20px 17px;border-radius:22px;}
  .area-card h2,.offer-card h2{font-size:clamp(22px,6vw,28px);}
  .area-card .compact-cta,.offer-card .compact-cta{grid-column:1/-1;width:100%;text-align:center;display:flex;align-items:center;justify-content:center;}

  footer{width:calc(100% - 28px);gap:18px;padding:24px 0 28px;}
  .footer-links{width:100%;gap:2px;}
  .footer-links a{width:100%;padding:8px 0;}
  .legal-strip{width:calc(100% - 28px);padding-bottom:24px;}
  .legal-strip nav{gap:2px 14px;}
  .legal-strip nav a{padding:7px 0;}

  .cookie-banner{left:10px;right:10px;width:calc(100% - 20px);bottom:calc(78px + env(safe-area-inset-bottom));padding:15px 16px;border-radius:19px;}
  .privacy-first-visit{padding:12px max(12px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));}
  .privacy-first-card{max-height:calc(100dvh - 24px);}

  .mobile-wa-sticky{
    left:max(12px,env(safe-area-inset-left));
    right:max(12px,env(safe-area-inset-right));
    bottom:max(10px,env(safe-area-inset-bottom));
  }
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom));}
}

@media(max-width:560px){
  .logo-small{font-size:16px;}
  .logo-main{font-size:35px;}
  .logo-house{font-size:26px;right:-2px;}
  .logo-svg{width:30px;height:30px;}
  .header-wa{font-size:11.5px;padding-inline:13px;}
  .main-nav{font-size:12.5px;}
  .hero{padding-inline:14px;padding-top:10px;padding-bottom:74px;}
  .hero-center{padding-top:14px;}
  .hero-cta{display:grid;grid-template-columns:1fr;width:100%;max-width:430px;margin-inline:auto;margin-top:20px;}
  .hero-cta .btn{width:100%;}
  .hero-mascot{height:clamp(286px,84vw,350px);}
  .hero-mascot img{height:clamp(315px,92vw,385px);}
  .services-wrap{margin-top:-58px;}
  .service-card{padding:14px 14px;column-gap:12px;}
  .service-card .service-icon{width:48px;height:48px;}
  .service-svg{width:28px;height:28px;}
  .service-card strong{font-size:19px;}
  .service-card>span:not(.service-icon){font-size:12.8px;}
  .about-page .story-section{margin-top:18px;}
  .story-kicker>h1{font-size:clamp(27px,8vw,34px);}
  .story-card{padding:22px 18px;border-radius:22px;}
  .story-content h2{font-size:clamp(25px,7.2vw,32px);}
  .story-content p{font-size:15px;line-height:1.62;}
  .about-principles,.about-choices{border-radius:24px;}
  .about-quote blockquote{font-size:clamp(25px,7.3vw,34px);}
  .legal-main{padding-top:30px;}
  .legal-document{padding:22px 18px;border-radius:22px;}
  .legal-document h1{overflow-wrap:anywhere;}
  .cookie-banner-copy p{font-size:12.5px;}
  .cookie-banner-actions{display:grid;grid-template-columns:1fr;gap:6px;}
  .cookie-banner-actions .cookie-btn{width:100%;}
  .cookie-banner-actions .cookie-details{justify-content:center;text-align:center;padding:7px 0;}
}

@media(max-width:430px){
  .site-header{width:calc(100% - 22px);gap:8px 9px;}
  .site-header:before{inset:0 -11px;}
  .logo-small{font-size:15px;}
  .logo-main{font-size:33px;}
  .header-wa{min-height:44px;padding-inline:11px;font-size:11px;}
  .hero-center h1{font-size:clamp(31px,8.7vw,37px);}
  .hero-center>p:not(.hero-slogan){font-size:15px;}
  .services-wrap,.how-section,.area-offer-section,footer,.legal-strip{width:calc(100% - 22px);}
  .services-head h2{font-size:27px;}
  .service-card{grid-template-columns:47px minmax(0,1fr) 18px;padding:13px;}
  .service-card .service-icon{width:45px;height:45px;}
  .section-heading h2{font-size:30px;}
  .area-card,.offer-card{padding:18px 15px;}
  .privacy-first-card{padding:21px 16px;}
  .privacy-first-card h2{font-size:clamp(28px,8vw,34px);}
  .privacy-points>div{padding:13px 13px 13px 42px;}
  .privacy-points>div::before{left:13px;top:14px;}
}

@media(max-width:374px){
  .site-header{width:calc(100% - 18px);}
  .logo-small{font-size:14px;}
  .logo-main{font-size:30px;}
  .logo-house{font-size:23px;}
  .header-wa{padding-inline:9px;font-size:10.5px;}
  .main-nav{gap:4px;font-size:12px;}
  .main-nav a{padding-inline:3px;}
  .hero{padding-inline:10px;}
  .hero-center h1{font-size:31px;}
  .hero-center>p:not(.hero-slogan){font-size:14.5px;}
  .services-wrap,.how-section,.area-offer-section,footer,.legal-strip{width:calc(100% - 18px);}
  .service-card>span:not(.service-icon){font-size:12.3px;}
  .mobile-wa-sticky{left:max(9px,env(safe-area-inset-left));right:max(9px,env(safe-area-inset-right));}
}

/* Short landscape phones: prioritize content and controls over decoration */
@media(max-width:900px) and (max-height:600px) and (orientation:landscape){
  .hero{grid-template-columns:minmax(0,1fr) minmax(220px,.55fr);padding-bottom:36px;align-items:center;}
  .hero-center{order:1;padding-top:8px;}
  .hero-center h1{font-size:clamp(30px,5vw,42px);}
  .hero-center>p:not(.hero-slogan){font-size:14px;margin-top:10px;}
  .hero-cta{margin-top:14px;}
  .hero-mascot{order:2;height:280px;margin:0;}
  .hero-mascot img{height:305px;}
  .services-wrap{margin-top:-24px;}
}

/* ========================================================================== 
   Harmonic Design System v10 — visual consolidation
   Keeps the existing SEO/PWA/mobile architecture while unifying layout,
   spacing, radii, shadows, typography and interaction states.
   ========================================================================== */
:root{
  --blue:#0a3f88;
  --blue2:#0b6fc8;
  --blue3:#1559aa;
  --green:#63b82c;
  --green2:#2d8f27;
  --wa:#20a33b;
  --sky:#eef8fd;
  --ink:#14395f;
  --muted:#607991;
  --white:#fff;
  --line:rgba(18,61,107,.11);
  --line-strong:rgba(18,61,107,.17);
  --surface:#ffffff;
  --surface-soft:#f6fafc;
  --surface-blue:#eff7fd;
  --surface-green:#f2faee;
  --shadow-sm:0 8px 24px rgba(18,61,107,.07);
  --shadow-md:0 18px 48px rgba(18,61,107,.10);
  --shadow-lg:0 26px 72px rgba(18,61,107,.14);
  --radius-sm:14px;
  --radius-md:22px;
  --radius-lg:30px;
  --radius-xl:38px;
  --container:1240px;
}

body{
  color:var(--ink);
  background:#f4f8fb;
  font-family:"Segoe UI Variable","Segoe UI",Inter,Arial,Helvetica,sans-serif;
  font-feature-settings:"kern" 1,"liga" 1;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.page-shell{
  overflow:clip;
  background:
    radial-gradient(circle at 12% 8%,rgba(255,255,255,.92),transparent 28%),
    radial-gradient(circle at 89% 18%,rgba(80,165,226,.09),transparent 27%),
    linear-gradient(180deg,#f1f9fd 0%,#f8fbfd 46%,#f4f8fb 100%);
}
.page-shell::before{
  left:0;right:0;bottom:-210px;height:360px;
  border-radius:50% 50% 0 0/35% 35% 0 0;
  background:linear-gradient(180deg,rgba(81,174,41,.08),rgba(13,103,188,.05));
  opacity:1;
}
.page-shell::after{display:none;}
.bubble,.leaf{display:none;}

.site-header{
  position:sticky;
  top:0;
  z-index:80;
  width:min(var(--container),calc(100% - 40px));
  gap:28px;
  padding:12px 0;
  border-bottom:0;
}
.site-header::before{
  inset:0 -18px;
  border:1px solid rgba(255,255,255,.76);
  border-top:0;
  border-radius:0 0 22px 22px;
  background:rgba(250,253,255,.88);
  box-shadow:0 10px 30px rgba(18,61,107,.06);
  backdrop-filter:blur(18px) saturate(1.1);
  -webkit-backdrop-filter:blur(18px) saturate(1.1);
}
.logo{min-width:194px;line-height:.82;}
.logo-small{font-size:20px;letter-spacing:-.015em;}
.logo-main{font-size:46px;letter-spacing:-.065em;}
.logo-house{top:2px;font-size:32px;}
.logo-svg{width:34px;height:34px;}
.main-nav{gap:30px;font-size:14px;color:#244a70;}
.main-nav a{padding:11px 2px;font-weight:800;}
.main-nav a::after{height:2px;background:linear-gradient(90deg,var(--blue2),var(--green));}
.header-actions{gap:14px;}
.header-wa{
  min-height:46px;
  display:inline-flex;align-items:center;justify-content:center;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.25);
  background:linear-gradient(135deg,#218f38,#38ae4b);
  box-shadow:0 9px 22px rgba(32,143,55,.18);
  font-size:13px;
  letter-spacing:.005em;
}
.header-phone{font-size:13px;color:#244a70;}

.hero{
  width:min(var(--container),calc(100% - 40px));
  min-height:610px;
  margin:26px auto 0;
  padding:30px 34px 26px;
  grid-template-columns:minmax(240px,.78fr) minmax(460px,1.35fr) minmax(235px,.72fr);
  gap:26px;
  border:1px solid rgba(18,61,107,.09);
  border-radius:var(--radius-xl);
  background:linear-gradient(120deg,rgba(255,255,255,.96),rgba(245,251,254,.91));
  box-shadow:var(--shadow-md);
  isolation:isolate;
}
.hero::before{
  inset:0;
  border-radius:inherit;
  background:
    linear-gradient(90deg,rgba(255,255,255,.99) 0 24%,rgba(255,255,255,.82) 42%,rgba(247,252,255,.30) 66%,rgba(245,251,254,.86) 100%),
    image-set(url("../images/hero-scene-1200.avif") type("image/avif"),url("../images/hero-scene-1200.webp") type("image/webp")) right 6% center/56% auto no-repeat;
  opacity:.94;
}
.hero::after{
  width:430px;height:430px;right:-120px;top:92px;
  background:radial-gradient(circle,rgba(255,255,255,.10) 0 46%,rgba(15,113,199,.06) 47% 62%,transparent 63%);
}
.hero-mascot{height:530px;filter:drop-shadow(0 20px 30px rgba(18,61,107,.15));}
.hero-mascot img{height:520px;}
.hero-center{padding-top:72px;}
.hero-slogan{margin-bottom:10px;font-size:clamp(24px,2.5vw,38px);color:#2b6295;}
.hero-center h1{
  max-width:730px;
  color:#103f79;
  font-size:clamp(38px,4.35vw,62px);
  line-height:1.02;
  letter-spacing:-.048em;
  text-wrap:balance;
}
.hero-center>p:not(.hero-slogan){
  max-width:610px;
  margin-top:17px;
  color:#58748e;
  font-size:17px;
  line-height:1.6;
  font-weight:560;
  text-wrap:pretty;
}
.hero-cta{margin-top:25px;gap:10px;}
.btn{
  min-height:52px;
  padding:0 21px;
  border-radius:16px;
  font-size:14px;
  letter-spacing:.005em;
  box-shadow:none;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;
}
.btn:hover{transform:translateY(-2px);}
.btn-wa{background:linear-gradient(135deg,#218f38,#38ae4b);box-shadow:0 10px 22px rgba(32,143,55,.18);}
.btn-outline{border:1px solid rgba(10,63,136,.24);background:rgba(255,255,255,.80);box-shadow:0 8px 20px rgba(18,61,107,.06);}
.btn-outline:hover{border-color:rgba(10,63,136,.38);background:#fff;box-shadow:var(--shadow-sm);}
.hero-benefits{
  gap:2px;
  padding:15px;
  border:1px solid rgba(18,61,107,.09);
  border-radius:var(--radius-md);
  background:rgba(255,255,255,.84);
  box-shadow:0 14px 34px rgba(18,61,107,.08);
  backdrop-filter:blur(14px);
}
.hero-benefits div{min-height:49px;padding:5px 7px;gap:11px;font-size:13px;color:#31587d;}
.hero-benefits div::before{
  flex-basis:28px;width:28px;height:28px;
  background:#eef8e9;color:var(--green2);font-size:14px;
  box-shadow:inset 0 0 0 1px rgba(45,143,39,.12);
}

.services-wrap{
  width:min(var(--container),calc(100% - 40px));
  margin:74px auto 76px;
  padding:0;
}
.services-head{margin-bottom:27px;}
.eyebrow{
  color:var(--green2);
  font-size:11px;
  letter-spacing:.14em;
}
.services-head h2,.section-heading h2{
  margin-top:8px;
  color:#123f77;
  font-size:clamp(31px,3.2vw,43px);
  line-height:1.06;
  letter-spacing:-.04em;
  text-wrap:balance;
}
.service-grid{gap:16px;}
.service-card{
  min-height:210px;
  padding:24px 23px 23px;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:linear-gradient(180deg,#fff 0%,#fbfdfe 100%);
  box-shadow:var(--shadow-sm);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.service-card:hover{
  transform:translateY(-4px);
  border-color:rgba(45,143,39,.25);
  box-shadow:var(--shadow-md);
}
.service-card .service-icon{
  width:54px;height:54px;
  border-radius:17px;
  background:linear-gradient(145deg,#eaf7e5,#f5fbf2);
  color:var(--green2);
  box-shadow:inset 0 0 0 1px rgba(45,143,39,.11);
}
.service-svg{width:28px;height:28px;}
.service-card strong{margin-top:18px;color:#123f77;font-size:21px;letter-spacing:-.018em;}
.service-card>span:not(.service-icon){margin-top:9px;color:#657d93;font-size:14px;line-height:1.55;}
.service-card i{right:21px;bottom:21px;color:#6e94b8;font-size:19px;opacity:1;}
.services-seo-intro{
  max-width:790px;
  margin-top:27px;
  padding:0;
  color:#667e94;
  font-size:14px;
  line-height:1.7;
}

.how-section{
  width:min(var(--container),calc(100% - 40px));
  margin:0 auto 76px;
  padding:54px 44px 46px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,251,253,.96));
  box-shadow:var(--shadow-sm);
}
.section-heading{margin-bottom:30px;}
.section-heading p{color:#687f94;font-size:15px;}
.how-grid{gap:14px;}
.how-grid article{
  min-height:195px;
  padding:27px 24px;
  border:1px solid rgba(18,61,107,.08);
  border-radius:var(--radius-md);
  background:#fff;
  box-shadow:none;
}
.how-grid article b{right:20px;top:18px;color:rgba(18,61,107,.12);font-size:27px;}
.step-icon,.feature-badge,.pending-icon{
  width:48px;height:48px;
  border-radius:15px;
  background:linear-gradient(145deg,#edf8e9,#f7fcf4);
  color:var(--green2);
  box-shadow:inset 0 0 0 1px rgba(45,143,39,.11);
}
.how-grid h3{margin:17px 0 8px;color:#173f70;font-size:20px;}
.how-grid p{color:#647d94;font-size:14px;line-height:1.6;}

.area-offer-section{
  width:min(var(--container),calc(100% - 40px));
  margin:0 auto 74px;
  gap:16px;
}
.area-card,.offer-card{
  grid-template-columns:58px 1fr auto;
  gap:18px;
  min-height:185px;
  padding:28px 28px;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
}
.area-card{border-color:rgba(11,111,200,.11);background:linear-gradient(145deg,#fff,#f1f8fd);}
.offer-card{border-color:rgba(45,143,39,.13);background:linear-gradient(145deg,#fff,#f3f9ef);}
.area-card h2,.offer-card h2{margin:7px 0 8px;color:#173f70;font-size:clamp(23px,2.25vw,30px);}
.area-card p,.offer-card p{color:#667e94;font-size:14px;line-height:1.58;}
.compact-cta{
  min-height:46px;
  display:inline-flex;align-items:center;justify-content:center;
  padding:0 17px;
  border-radius:14px;
  background:#164f8b;
  box-shadow:0 8px 18px rgba(22,79,139,.12);
}
.compact-cta-green{background:#268f3c;}

footer{
  width:min(var(--container),calc(100% - 40px));
  margin:0 auto 16px;
  padding:28px 30px;
  border:0;
  border-radius:var(--radius-lg);
  background:linear-gradient(135deg,#123e70,#0d5794);
  color:#fff;
  box-shadow:var(--shadow-md);
}
footer>div:first-child strong{font-size:18px;letter-spacing:-.01em;}
footer span{color:rgba(255,255,255,.68);}
.footer-links{gap:12px 20px;}
.footer-links a{color:rgba(255,255,255,.92);font-size:13px;}
.footer-links a:hover{color:#fff;}
.legal-strip{
  width:min(var(--container),calc(100% - 40px));
  padding:13px 2px 32px;
  color:#7d8fa1;
}
.legal-strip a{color:#41698d;}

/* About / informational page harmonization */
.about-page{background:linear-gradient(180deg,#f1f9fd 0%,#f7fbfd 45%,#f4f8fb 100%);}
.story-section,.about-principles,.about-choices,.about-cta{width:min(var(--container),calc(100% - 40px));}
.story-section{margin-top:42px;padding:24px 0 68px;}
.story-kicker{margin-bottom:24px;}
.story-kicker>h1{color:#123f77;font-size:clamp(28px,3.1vw,42px);}
.story-card{
  gap:25px;
  padding:32px 34px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.story-card-alt{margin-left:0;background:linear-gradient(145deg,#fff,#f5faf2);}
.story-number{
  width:62px;height:62px;
  border-radius:18px;
  background:#eff8eb;color:var(--green2);
  box-shadow:inset 0 0 0 1px rgba(45,143,39,.12);
}
.story-content h2{color:#173f70;font-size:clamp(27px,2.8vw,37px);}
.story-content p{color:#617b93;}
.about-principles{
  margin-bottom:64px;
  padding:43px;
  border-radius:var(--radius-xl);
  background:linear-gradient(135deg,#123f73,#0f65aa);
  box-shadow:var(--shadow-lg);
}
.principles-grid{gap:12px;}
.principles-grid article{border-radius:var(--radius-md);background:rgba(255,255,255,.075);}
.principle-icon{border-radius:15px;background:rgba(255,255,255,.13);box-shadow:none;}
.about-choices{
  margin-bottom:64px;
  padding:42px;
  border-radius:var(--radius-xl);
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.choice-card{border-radius:var(--radius-md);box-shadow:none;background:#fbfdfe;}
.choice-card:hover{box-shadow:var(--shadow-sm);}
.choice-icon{border-radius:15px;}
.about-quote{margin-bottom:58px;}
.about-cta{
  margin-bottom:58px;
  padding:32px 34px;
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-sm);
}

/* Legal / consent pages harmonization */
.legal-page{
  background:linear-gradient(180deg,#f1f9fd 0%,#f8fbfd 42%,#f4f8fb 100%);
}
.legal-main{width:min(1040px,calc(100% - 40px));padding:56px 0 72px;}
.legal-hero{margin-bottom:30px;}
.legal-hero h1{color:#123f77;font-size:clamp(40px,5vw,60px);letter-spacing:-.045em;}
.legal-hero p{color:#647e95;font-size:16px;}
.legal-document{
  padding:38px 42px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.legal-document h2{color:#173f70;}
.legal-document p{color:#607990;}
.cookie-table th{background:#f1f7fb;}

/* Cohesive focus, selection and active states */
::selection{background:rgba(11,111,200,.18);color:#0d3766;}
.service-card:focus-visible,.choice-card:focus-visible,.related-grid a:focus-visible{
  outline:3px solid rgba(11,111,200,.32);
  outline-offset:3px;
}

@media(max-width:1180px){
  .hero{grid-template-columns:minmax(220px,.75fr) minmax(440px,1.25fr);}
  .hero-benefits{display:none;}
}

@media(max-width:820px){
  .site-header{width:calc(100% - 24px);padding:10px 0 8px;gap:8px 10px;}
  .site-header::before{inset:0 -12px;border-radius:0 0 18px 18px;}
  .logo-small{font-size:15px;}.logo-main{font-size:34px;}.logo-house{font-size:25px;}
  .header-wa{min-height:43px;padding:0 12px;font-size:11px;border-radius:13px;}
  .main-nav{
    padding:3px;
    border:1px solid rgba(18,61,107,.07);
    border-radius:13px;
    background:#f4f8fb;
    box-shadow:none;
  }
  .main-nav a{padding:9px 5px;border-radius:10px;color:#365a7d;}
  .main-nav a.active{background:#fff;box-shadow:0 4px 12px rgba(18,61,107,.06);}
  .main-nav a::after{display:none;}

  .hero{
    width:calc(100% - 24px);
    margin-top:16px;
    padding:18px 16px 32px;
    border-radius:28px;
    background:#fff;
  }
  .hero::before{
    background:
      linear-gradient(180deg,rgba(255,255,255,.95) 0 38%,rgba(249,252,254,.56) 62%,rgba(244,250,253,.92) 100%),
      image-set(url("../images/hero-scene-720.avif") type("image/avif"),url("../images/hero-scene-720.webp") type("image/webp")) center bottom/cover no-repeat;
    opacity:.84;
  }
  .hero-center{padding-top:15px;}
  .hero-center h1{font-size:clamp(31px,8.6vw,42px);line-height:1.04;}
  .hero-center>p:not(.hero-slogan){font-size:15.5px;line-height:1.55;}
  .hero-cta{margin-top:20px;}
  .btn{min-height:50px;border-radius:14px;}
  .hero-mascot{height:clamp(290px,77vw,350px);margin-top:6px;}
  .hero-mascot img{height:clamp(315px,84vw,390px);}

  .services-wrap{width:calc(100% - 24px);margin:46px auto 54px;}
  .services-head{margin-bottom:19px;}
  .service-card{
    grid-template-columns:48px minmax(0,1fr) 18px;
    padding:15px;
    border-radius:18px;
    background:#fff;
  }
  .service-card .service-icon{width:46px;height:46px;border-radius:14px;}
  .service-card strong{font-size:19px;}
  .service-card>span:not(.service-icon){color:#6c8296;}

  .how-section{
    width:calc(100% - 24px);
    margin-bottom:54px;
    padding:34px 16px 18px;
    border-radius:26px;
  }
  .how-grid article{min-height:0;padding:20px 18px;border-radius:18px;}
  .step-icon,.feature-badge{border-radius:14px;}

  .area-offer-section{width:calc(100% - 24px);margin-bottom:54px;gap:11px;}
  .area-card,.offer-card{min-height:0;padding:20px 17px;border-radius:22px;}
  .compact-cta{min-height:48px;border-radius:13px;}

  footer{width:calc(100% - 24px);padding:25px 22px;border-radius:24px;}
  .legal-strip{width:calc(100% - 24px);padding-bottom:26px;}

  .story-section,.about-principles,.about-choices,.about-cta{width:calc(100% - 24px);}
  .story-section{margin-top:24px;padding-bottom:48px;}
  .story-card{padding:24px 20px;border-radius:22px;}
  .about-principles,.about-choices{padding:28px 20px;border-radius:26px;}
  .about-cta{padding:25px 20px;border-radius:24px;}

  .legal-main{width:calc(100% - 24px);padding-top:36px;}
  .legal-document{padding:25px 20px;border-radius:24px;}
}

@media(max-width:560px){
  .site-header{width:calc(100% - 20px);}
  .hero{width:calc(100% - 20px);padding-inline:13px;border-radius:24px;}
  .hero-center h1{font-size:clamp(30px,8.5vw,37px);}
  .hero-cta{max-width:100%;}
  .services-wrap,.how-section,.area-offer-section,footer,.legal-strip{width:calc(100% - 20px);}
  .services-wrap{margin-top:38px;}
  .service-card{padding:14px 13px;}
  .how-section{padding:30px 13px 14px;}
  footer{padding:23px 18px;}
  .story-section,.about-principles,.about-choices,.about-cta,.legal-main{width:calc(100% - 20px);}
}

/* v10.1 — Logo lockup: home icon sits inline immediately after IOAN */
.logo{
  display:inline-grid;
  grid-template-columns:max-content max-content;
  grid-template-rows:auto auto;
  column-gap:5px;
  align-items:center;
  justify-items:start;
}
.logo-small{
  grid-column:1 / -1;
  grid-row:1;
}
.logo-main{
  grid-column:1;
  grid-row:2;
}
.logo-house{
  position:static;
  grid-column:2;
  grid-row:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  margin:0;
  line-height:1;
  transform:translateY(-1px);
}
.logo-svg{display:block;flex:0 0 auto;}
@media(max-width:820px){
  .logo{column-gap:4px;}
  .logo-house{transform:translateY(-1px);}
}
\n/* Accessibility + PWA controls — v11 production-hardened */
/* PWA controls — v11 production-hardened */
.pwa-toast{
  position:fixed;z-index:10050;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));
  transform:translate(-50%,16px);max-width:min(92vw,520px);padding:11px 16px;border-radius:999px;
  background:#0c2450;color:#fff;font:700 14px/1.35 system-ui,-apple-system,"Segoe UI",sans-serif;
  box-shadow:0 12px 35px rgba(4,28,69,.24);opacity:0;pointer-events:none;
  transition:opacity .2s ease,transform .2s ease;text-align:center
}
.pwa-toast.is-visible{opacity:1;transform:translate(-50%,0)}
.pwa-install-inline{display:none}
.pwa-install-inline[hidden]{display:none!important}
.pwa-install-icon{font-size:16px;line-height:1;font-weight:950}
.pwa-update{
  position:fixed;z-index:10060;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));
  transform:translateX(-50%);width:min(92vw,520px);display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:11px 12px 11px 16px;border:1px solid rgba(255,255,255,.12);border-radius:16px;
  background:#0c2450;color:#fff;box-shadow:0 16px 42px rgba(4,28,69,.28)
}
.pwa-update[hidden]{display:none!important}
.pwa-update-copy{font:700 13px/1.35 system-ui,-apple-system,"Segoe UI",sans-serif}
.pwa-update-button{
  min-height:44px;padding:9px 13px;border:0;border-radius:11px;background:#fff;color:#0a3f88;
  font:850 13px/1 system-ui,-apple-system,"Segoe UI",sans-serif;cursor:pointer;white-space:nowrap
}
.pwa-update-button:focus-visible,.pwa-install-inline:focus-visible{outline:3px solid rgba(112,188,255,.55);outline-offset:3px}
@media(max-width:820px){
  .pwa-install-inline:not([hidden]){
    appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;
    padding:8px 12px;border:1px solid rgba(11,111,200,.16);border-radius:11px;background:rgba(255,255,255,.76);
    color:#365a7d;font:800 12px/1 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.01em;
    box-shadow:0 4px 14px rgba(18,61,107,.045);cursor:pointer;-webkit-tap-highlight-color:transparent
  }
  .pwa-install-inline:hover{background:#fff;color:#0b6fc8}
}
@media(min-width:821px){.pwa-install-inline{display:none!important}}
@media(max-width:640px){
  .pwa-toast{bottom:calc(82px + env(safe-area-inset-bottom))}
  .pwa-update{top:calc(12px + env(safe-area-inset-top));bottom:auto}
}
@media(max-width:430px){
  .pwa-update{align-items:stretch;flex-direction:column;padding:13px 14px}
  .pwa-update-button{width:100%}
}
@media(prefers-reduced-motion:reduce){.pwa-toast{transition:none}}
/* WhatsApp brand icon — self-hosted; inherits the CTA text color. */
.wa-brand-icon{
  display:inline-block;
  width:1.12em;height:1.12em;
  flex:0 0 auto;
  vertical-align:-.16em;
  margin-right:.48em;
  background:currentColor;
  -webkit-mask:url("../icons/whatsapp-brand.svg") center/contain no-repeat;
  mask:url("../icons/whatsapp-brand.svg") center/contain no-repeat;
}
.mobile-wa-sticky .wa-brand-icon-sticky{width:23px;height:23px;margin-right:0;}
.step-icon .wa-brand-icon-step{width:24px;height:24px;margin:0;background:currentColor;}
.choice-icon .wa-brand-icon-choice{width:22px;height:22px;margin:0;background:currentColor;}
.choice-whatsapp .choice-icon{display:grid;place-items:center;}
.footer-links .wa-brand-icon{width:1em;height:1em;margin-right:.38em;}


/* ========================================================================== 
   v11.2 — Hero aqua gradient + botanical vector accents
   ========================================================================== */
:root{
  --hero-aqua-1:#7efff5;
  --hero-aqua-2:#18dcff;
}

.hero,
footer{
  position:relative;
  overflow:hidden;
}

.hero > *,
footer > *,
footer .footer-links,
footer strong,
footer span{
  position:relative;
  z-index:1;
}

.hero{
  border:0;
  background:
    radial-gradient(circle at 16% 15%, rgba(255,255,255,.60) 0, rgba(255,255,255,0) 23%),
    radial-gradient(circle at 82% 20%, rgba(255,255,255,.30) 0, rgba(255,255,255,0) 26%),
    radial-gradient(circle at 51% 100%, rgba(255,255,255,.28) 0, rgba(255,255,255,0) 32%),
    linear-gradient(135deg,var(--hero-aqua-1) 0%, #6efaf6 18%, #57f0fa 38%, #36e6fd 68%, var(--hero-aqua-2) 100%);
  box-shadow:0 24px 56px rgba(24,220,255,.18),0 18px 42px rgba(18,61,107,.10);
}
.hero::before{
  inset:0;
  border-radius:inherit;
  background:
    linear-gradient(90deg, rgba(255,255,255,.36) 0 25%, rgba(255,255,255,.14) 43%, rgba(255,255,255,0) 60%),
    image-set(url("../images/hero-scene-1200.avif") type("image/avif"),url("../images/hero-scene-1200.webp") type("image/webp")) right 3% center/57% auto no-repeat;
  opacity:.44;
}
.hero::after{
  width:500px;
  height:500px;
  right:-105px;
  top:42px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.24) 0 28%, rgba(255,255,255,.08) 29% 45%, rgba(10,63,136,.08) 46% 63%, transparent 64%);
  filter:blur(0);
  opacity:.75;
}
.hero-center,
.hero-mascot,
.hero-benefits{
  z-index:1;
}
.hero-center{
  padding-top:78px;
}
.hero-slogan{
  color:#0872a1;
}
.hero-center h1{
  color:#093d70;
  text-shadow:0 1px 0 rgba(255,255,255,.15);
}
.hero-center>p:not(.hero-slogan){
  color:#15567d;
}
.hero-benefits{
  border:1px solid rgba(255,255,255,.46);
  background:rgba(255,255,255,.32);
  box-shadow:0 14px 34px rgba(18,61,107,.10);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.hero-benefits div{
  color:#0f5a80;
}
.hero-benefits div::before{
  background:rgba(255,255,255,.72);
  box-shadow:inset 0 0 0 1px rgba(9,93,127,.10);
}
.btn-outline{
  background:rgba(255,255,255,.42);
  border-color:rgba(9,61,112,.16);
  box-shadow:0 10px 22px rgba(18,61,107,.08);
}
.btn-outline:hover{
  background:rgba(255,255,255,.62);
}
.leaf{
  display:block;
  position:absolute;
  width:112px;
  height:112px;
  background:url("../icons/leaf-deco.svg") no-repeat center/contain;
  opacity:.78;
  filter:drop-shadow(0 14px 18px rgba(12,90,72,.10));
  pointer-events:none;
  z-index:0;
}
.leaf-1{left:-10px;top:-8px;transform:rotate(8deg) scale(1.04);}
.leaf-2{right:-2px;top:12px;transform:rotate(124deg) scale(.96);}
.leaf-3{left:18px;bottom:12px;transform:rotate(-58deg) scale(.86);}
.leaf-4{right:14px;bottom:18px;transform:rotate(194deg) scale(.92);}

footer{
  background:linear-gradient(135deg,#103c6b 0%, #0e4d83 45%, #0d5f93 100%);
}
footer::before,
footer::after{
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  background:url("../icons/leaf-deco.svg") no-repeat center/contain;
  opacity:.18;
  pointer-events:none;
}
footer::before{left:-24px;bottom:-42px;transform:rotate(-26deg) scale(1.05);}
footer::after{right:-16px;bottom:-46px;transform:rotate(22deg) scale(1.0);}

@media(max-width:1180px){
  .hero{background:
    radial-gradient(circle at 16% 14%, rgba(255,255,255,.58) 0, rgba(255,255,255,0) 24%),
    radial-gradient(circle at 83% 20%, rgba(255,255,255,.28) 0, rgba(255,255,255,0) 26%),
    linear-gradient(135deg,var(--hero-aqua-1) 0%, #65f7f5 22%, #4befff 53%, var(--hero-aqua-2) 100%);
  }
  .hero-center{padding-top:56px;}
}
@media(max-width:820px){
  .hero{
    margin-top:18px;
    padding:24px 18px 28px;
    background:
      radial-gradient(circle at 18% 14%, rgba(255,255,255,.56) 0, rgba(255,255,255,0) 24%),
      radial-gradient(circle at 83% 24%, rgba(255,255,255,.24) 0, rgba(255,255,255,0) 25%),
      linear-gradient(145deg,var(--hero-aqua-1) 0%, #60f7f8 28%, #3ce9ff 65%, var(--hero-aqua-2) 100%);
  }
  .hero::before{background:
    linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.06)),
    image-set(url("../images/hero-scene-1200.avif") type("image/avif"),url("../images/hero-scene-1200.webp") type("image/webp")) center bottom/94% auto no-repeat;
    opacity:.25;
  }
  .hero::after{right:-140px;top:auto;bottom:-140px;width:360px;height:360px;opacity:.52;}
  .hero-center{padding-top:16px;}
  .hero-benefits{
    display:flex;
    margin-top:10px;
    background:rgba(255,255,255,.28);
  }
  .leaf{display:block;width:84px;height:84px;opacity:.62;}
  .leaf-1{left:-6px;top:-6px;}
  .leaf-2{right:0;top:10px;}
  .leaf-3{left:12px;bottom:12px;}
  .leaf-4{right:12px;bottom:12px;}
  footer::before,footer::after{width:116px;height:116px;opacity:.16;}
}
@media(max-width:620px){
  .hero{padding:22px 16px 24px;}
  .hero-center>p:not(.hero-slogan){max-width:34ch;}
  .hero-benefits{padding:12px;gap:4px;}
  .hero-benefits div{min-height:44px;font-size:12px;}
}
@media(max-width:430px){
  .leaf{width:72px;height:72px;opacity:.58;}
  .leaf-3{left:8px;bottom:10px;}
  .leaf-4{right:10px;bottom:12px;}
  .hero-benefits{padding:10px;}
  footer::before{left:-30px;bottom:-36px;}
  footer::after{right:-24px;bottom:-40px;}
}


/* ========================================================================== 
   v11.3 — Premium typography + motion system
   ========================================================================== */
:root{
  --font-premium:"Manrope","Inter","Segoe UI Variable","Segoe UI",Arial,sans-serif;
  --ease-premium:cubic-bezier(.22,1,.36,1);
}
body{
  font-family:var(--font-premium);
  font-optical-sizing:auto;
  letter-spacing:-.006em;
}
button,input,textarea,select{font:inherit;}
h1,h2,h3,.logo-main,.service-card strong,.main-nav a,.btn,.compact-cta{
  font-family:var(--font-premium);
  font-kerning:normal;
}
h1,h2,h3{
  letter-spacing:-.045em;
  font-weight:780;
}
p,li,summary,a,button{
  font-variation-settings:"wght" 520;
}
.hero-center h1{font-weight:790;letter-spacing:-.055em;}
.hero-slogan{font-weight:720;letter-spacing:-.025em;}
.hero-center>p:not(.hero-slogan){font-weight:520;line-height:1.72;}
.services-head h2,.section-heading h2{font-weight:770;}
.service-card strong{font-weight:760;letter-spacing:-.025em;}
.service-card>span:not(.service-icon){line-height:1.65;}
.services-seo-intro{max-width:880px;font-size:15px;line-height:1.78;}
.how-grid h3{font-weight:750;letter-spacing:-.025em;}
.how-grid p,.area-card p,.offer-card p{line-height:1.7;}
.eyebrow{font-weight:800;}

/* Entry motion — activated by JS only, so content stays visible without JS. */
.motion-ready [data-reveal]{
  opacity:0;
  transform:translate3d(0,24px,0) scale(.985);
  transition:
    opacity .72s var(--ease-premium),
    transform .72s var(--ease-premium),
    box-shadow .28s ease,
    border-color .28s ease,
    background .28s ease;
  transition-delay:var(--reveal-delay,0ms);
  will-change:transform,opacity;
}
.motion-ready [data-reveal].is-visible{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  will-change:auto;
}

@media(hover:hover) and (pointer:fine){
  .service-card,.how-grid article,.area-card,.offer-card,.story-card,.choice-card,.service-detail-card,.faq-grid details,.related-grid a{
    transition:transform .28s var(--ease-premium),box-shadow .28s ease,border-color .28s ease,background .28s ease;
  }
  .service-card:hover{
    transform:translateY(-7px) scale(1.012);
    box-shadow:0 22px 48px rgba(18,61,107,.14);
  }
  .how-grid article:hover,
  .service-detail-card:hover,
  .story-card:hover,
  .choice-card:hover{
    transform:translateY(-5px);
    box-shadow:0 18px 42px rgba(18,61,107,.10);
    border-color:rgba(24,220,255,.28);
  }
  .area-card:hover,.offer-card:hover{
    transform:translateY(-5px) scale(1.006);
    box-shadow:0 20px 44px rgba(18,61,107,.11);
  }
  .faq-grid details:hover,.related-grid a:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 28px rgba(18,61,107,.09);
  }
  .service-card .service-icon,.step-icon,.feature-badge{
    transition:transform .32s var(--ease-premium),box-shadow .32s ease;
  }
  .service-card:hover .service-icon,
  .how-grid article:hover .step-icon,
  .area-card:hover .feature-badge,
  .offer-card:hover .feature-badge{
    transform:translateY(-2px) rotate(-2deg) scale(1.06);
    box-shadow:0 10px 24px rgba(45,143,39,.10),inset 0 0 0 1px rgba(45,143,39,.12);
  }
}

@media(prefers-reduced-motion:reduce){
  .motion-ready [data-reveal]{opacity:1!important;transform:none!important;transition:none!important;}
  .service-card,.how-grid article,.area-card,.offer-card,.story-card,.choice-card,.service-detail-card,.faq-grid details,.related-grid a,.service-icon,.step-icon,.feature-badge{transition:none!important;}
}
