@font-face{font-family:"DM Sans";src:url("assets/fonts/dm-sans-regular.woff") format("woff");font-style:normal;font-weight:400 500;font-display:swap}
@font-face{font-family:"DM Sans";src:url("assets/fonts/dm-sans-bold.woff") format("woff");font-style:normal;font-weight:600 700;font-display:swap}
@font-face{font-family:"DM Sans";src:url("assets/fonts/dm-sans-extrabold.woff") format("woff");font-style:normal;font-weight:800 900;font-display:swap}
@font-face{font-family:Caveat;src:url("assets/fonts/caveat-brand.woff2") format("woff2");font-style:normal;font-weight:700;font-display:block}

:root{--navy:#073b63;--turquoise:#13b5b5;--pale:#ddf5f3;--white:#fff;--ink-soft:#3b5b70;--line:#d6e8ec;--ease:cubic-bezier(.22,1,.36,1);font-family:"DM Sans",Arial,sans-serif;color:var(--navy);background:#fff;font-synthesis:none;color-scheme:light}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
button,a{touch-action:manipulation}
button:focus-visible,a:focus-visible{outline:3px solid var(--navy);outline-offset:6px}
button{border:0}
img{display:block;max-width:100%}
svg{display:block}
.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.icon.whatsapp-icon{fill:currentColor;stroke:none}
.icon-library{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:14px 20px;border-radius:8px;background:var(--navy);color:#fff;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0);outline-color:var(--turquoise)}

.site-header{position:sticky;z-index:20;top:0;background:rgba(248,253,254,.96);border-bottom:1px solid transparent;transition:box-shadow .3s,border-color .3s,background .3s}
.site-header.is-scrolled{background:rgba(255,255,255,.97);border-bottom-color:#d8ecee;box-shadow:0 8px 28px #073b6308}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:108px}
.brand{flex:0 0 auto;position:relative}
.brand img{width:207px;height:auto}
.main-nav{display:flex;align-items:center;justify-content:center;gap:23px;margin-left:auto}
.nav-item{position:relative;display:block;padding:16px 0;background:none;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;transition:color .2s}
.nav-item::after{content:"";position:absolute;bottom:7px;left:0;width:100%;height:2px;border-radius:2px;background:var(--turquoise);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.nav-item:hover{color:#078383}
.nav-item:hover::after,.nav-item:focus-visible::after,.nav-item.is-current::after{transform:scaleX(1)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid transparent;border-radius:100px;font-weight:700;line-height:1.25;color:#fff;background:linear-gradient(110deg,#008178,#007486);box-shadow:0 8px 20px #008b9120;transition:transform .25s var(--ease),box-shadow .25s,filter .25s;cursor:pointer}
.button:hover{transform:translateY(-3px);box-shadow:0 12px 26px #008b9130;filter:brightness(1.035)}
.button:active{transform:translateY(0)}
.button[aria-disabled="true"]{cursor:default}
.button--header{font-size:14px;padding:15px 21px;white-space:nowrap;margin-left:4px}
.button--header .icon{width:24px;height:24px}
.menu-toggle{display:none}

.hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(120deg,#f0f9fc 0%,#fff 54%,#fbfefe 100%)}
.hero-wash{position:absolute;z-index:-2;inset:0;background:radial-gradient(ellipse at 17% 8%,#ddf0f26b 0,transparent 49%),radial-gradient(ellipse at 86% 96%,#dbf8f470 0,transparent 44%)}
.hero-waves{position:absolute;z-index:-1;inset:auto 0 0;width:100%;height:91%;pointer-events:none}
.wave-back{fill:#ddf5f3;opacity:.94}
.wave-front{fill:#13b5b5;opacity:.31}
.hero-inner{display:grid;grid-template-columns:.85fr 1.15fr;position:relative;min-height:clamp(650px,calc(100svh - 205px),800px);gap:24px}
.portrait{position:relative;align-self:stretch;min-width:0}
.portrait-orbit{position:absolute;left:-12%;top:21%;width:113%;aspect-ratio:1;border:1px solid #a8d9dc88;border-radius:50%;background:radial-gradient(circle at 50% 50%,#e2f6f580,transparent 70%)}
.portrait-image{position:absolute;top:-12%;left:50%;width:119%;max-width:none;height:auto;transform:translateX(-50%);animation:portrait-enter 1.1s var(--ease) both}
.portrait-signature{position:absolute;left:3%;bottom:47px;z-index:2;min-width:174px;padding:17px 25px 15px;border:1px solid #ffffffcf;border-radius:18px;background:#ffffffed;box-shadow:0 9px 30px #073b6312;transform:rotate(-3deg);animation:signature-enter 1s .5s var(--ease) both}
.portrait-signature span{display:block;font-family:Caveat,cursive;font-size:34px;font-weight:700;line-height:1;color:var(--navy)}
.portrait-signature small{display:block;margin-top:5px;font-size:11px;font-weight:700;letter-spacing:.05em;color:#48717a}
.hero-copy{position:relative;align-self:center;padding:40px 0 62px 4px;z-index:3}
.eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 23px;color:#287479;font-size:10px;line-height:1.5;font-weight:800;letter-spacing:.17em;animation:copy-enter .8s .1s var(--ease) both}
.eyebrow span{width:7px;height:7px;border-radius:50%;background:var(--turquoise);box-shadow:0 0 0 5px #13b5b515}
h1{margin:0;font-size:clamp(44px,4.32vw,66px);line-height:1.05;letter-spacing:-.045em;font-weight:800}
.headline-main{display:inline}
/* Fixed font-metric box reserves the full phrase before the pen begins. */
.handwritten{display:inline-block;position:relative;width:3.911em;height:.86em;margin-left:.1em;vertical-align:-.08em;color:#0ba9ab;font-family:Caveat,cursive;font-weight:700;font-size:1.36em;line-height:.86;letter-spacing:0;white-space:nowrap;transform:rotate(-2deg)}
.handwritten-source{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.handwritten .handwritten-svg{position:absolute;top:-.22em;left:0;width:100%;height:1.08em;overflow:visible}
.ink-stroke{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round}
.handwritten .handwritten-underline{position:absolute;top:calc(100% + 8px);left:-2%;width:106%;height:15px;overflow:visible}
.handwritten-underline path{fill:none;stroke:var(--turquoise);stroke-width:6;stroke-linecap:round}
.handwriting-fallback{height:.86em}
.handwriting-fallback .handwritten-source{position:absolute;inset:0;width:100%;height:100%;overflow:visible;clip-path:none;font-family:Caveat,cursive;font-weight:700}
.handwriting-fallback .handwritten-svg{display:none}
.hero-question{text-wrap:balance;max-width:580px;margin:35px 0 12px;font-size:clamp(22px,1.9vw,28px);font-weight:700;line-height:1.25;letter-spacing:-.035em;animation:copy-enter .8s .25s var(--ease) both}
.hero-description{max-width:560px;margin:0 0 24px;font-size:clamp(17px,1.4vw,20px);font-weight:400;line-height:1.46;letter-spacing:-.02em;animation:copy-enter .8s .35s var(--ease) both}
.hero-actions{animation:copy-enter .95s .48s var(--ease) both}
.button--primary{min-height:64px;padding:15px 22px;font-size:clamp(16px,1.56vw,22px);letter-spacing:-.035em;box-shadow:inset 0 2px 3px #b5fff582,0 9px 17px #008b912a;border-color:#07aaa64a}
.button--primary>.icon:first-child{width:35px;height:35px;stroke-width:1.65}
.button--primary .button-arrow{width:20px;height:20px;margin-left:4px;transition:transform .25s}
.button--primary:hover .button-arrow{transform:translateX(3px)}
.contact-status{margin:12px 0 0 8px;font-size:11px;font-weight:500;letter-spacing:.005em;color:#456878}
.hero-spark{position:absolute;right:-19px;top:8px;width:52px;height:60px;fill:none;stroke:var(--turquoise);stroke-width:7;stroke-linecap:round;transform:rotate(8deg);animation:spark-drift 5s 1s ease-in-out infinite alternate}

.site-footer {
  position: relative;
  isolation: isolate;
  overflow: clip;
  background: var(--navy);
  color: #fff;
}
.site-footer::before, .site-footer::after {
  position: absolute;
  z-index: -1;
  width: clamp(150px, 25vw, 390px);
  aspect-ratio: 1.65;
  border-radius: 50%;
  background: #13b5b530;
  box-shadow: 0 0 0 28px #13b5b516;
  content: "";
  pointer-events: none;
}
.site-footer::before { top: -25%; left: -8%; transform: rotate(-26deg); }
.site-footer::after { bottom: 0; right: -12%; transform: rotate(-28deg) translateY(39%); }
.footer-wrap { padding-top: clamp(30px, 3.4vw, 53px); }
.footer-columns {
  display: grid;
  grid-template-columns: 1.06fr .83fr 1.05fr;
  gap: clamp(24px, 4vw, 60px);
  align-items: stretch;
  padding-bottom: clamp(24px, 3vw, 40px);
}
.footer-columns > * { min-width: 0; }
.footer-columns > * + * { border-left: 1px solid #13b5b563; padding-left: clamp(24px, 4vw, 60px); }
.footer-columns h2 { margin: 0 0 12px; font-size: clamp(19px, 1.7vw, 24px); letter-spacing: -.03em; line-height: 1.2; }
.footer-columns p { max-width: 32ch; margin: 0; color: #edf9fc; font-size: 15px; line-height: 1.55; }
.footer-home { display: inline-block; margin: -5px 0 9px -7px; border-radius: 5px; }
.footer-home img { display: block; width: clamp(166px, 16vw, 228px); height: auto; }
.footer-nav ul, .footer-legal { padding: 0; margin: 0; list-style: none; }
.footer-nav a, .footer-legal-label, .footer-social a {
  color: inherit;
  text-decoration: none;
}
.footer-nav a, .footer-legal a { text-underline-offset: .23em; }
.footer-nav a { display: inline-flex; align-items: center; min-height: 28px; font-size: 15px; }
.footer-nav a:hover, .footer-legal a:hover { text-decoration: underline; }
.site-footer :is(.footer-home, .footer-nav a, .footer-legal a, .footer-social a, .footer-whatsapp, .footer-email):focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}
.footer-social { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 14px 0 12px; }
.footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 44px;
  padding: 5px 12px;
  border: 1px solid #ddf5f344;
  border-radius: 100px;
  background: #ffffff0b;
  font-size: 14px;
  font-weight: 700;
  transition: background-color .2s, border-color .2s;
}
.footer-social a:hover { background: #ffffff20; border-color: #ddf5f37d; }
.footer-social img { width: 26px; height: 26px; border-radius: 7px; object-fit: contain; }
.footer-whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  max-width: 100%;
  padding: 9px 14px;
  border: 1px solid #ddf5f3cc;
  border-radius: 100px;
  background: linear-gradient(125deg, #087678, #065b77);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.28;
  text-decoration: none;
  transition: box-shadow .2s;
}
.footer-whatsapp .icon { width: 23px; height: 23px; }
.footer-whatsapp[href]:hover { box-shadow: 0 0 0 3px #13b5b54d; }
.footer-whatsapp[aria-disabled="true"] { opacity: .68; cursor: default; }
.footer-email:not([hidden]) {
  display: flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  max-width: 100%;
  min-height: 32px;
  margin-top: 6px;
  color: #edf9fc;
  font-size: 14px;
  text-underline-offset: .23em;
}
.footer-email .icon { flex: none; width: 17px; height: 17px; }
.footer-email span { overflow-wrap: anywhere; }
.footer-bottom {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: clamp(15px, 2.5vw, 36px);
  padding: 13px 0 17px;
  border-top: 1px solid #13b5b57d;
  color: #edf9fc;
  font-size: 13px;
  line-height: 1.45;
}
.footer-copyright { margin: 0; }
.footer-legal { display: flex; flex-wrap: wrap; gap: 10px 18px; }
.footer-legal li { display: flex; flex-direction: column; }
.footer-legal li + li { padding-left: 18px; border-left: 1px solid #13b5b563; }
.footer-legal a { text-decoration: underline; }
.footer-legal small { color: #b9e4e8; font-size: 11px; }
.footer-credit { min-width: 0; min-height: 44px; justify-self: end; }

@media (max-width: 1050px) {
  .footer-bottom { grid-template-columns: 1fr auto; }
  .footer-legal { grid-column: 1; }
  .footer-credit { grid-area: 1 / 2 / span 2; }
}
@media (max-width: 720px) {
  .site-footer::before { top: -55px; left: -55px; }
  .site-footer::after { right: -72px; }
  .footer-columns { grid-template-columns: 1fr; gap: 0; padding-bottom: 19px; }
  .footer-columns > * + * { margin-top: 18px; padding: 18px 0 0; border: 0; border-top: 1px solid #13b5b54d; }
  .footer-columns h2 { margin-bottom: 8px; }
  .footer-home { margin-bottom: 3px; }
  .footer-nav ul { display: grid; grid-template-columns: 1fr 1fr; column-gap: 10px; }
  .footer-nav a { min-height: 35px; }
  .footer-bottom { grid-template-columns: 1fr; gap: 10px; padding: 17px 0 13px; }
  .footer-credit { grid-area: auto; justify-self: start; }
}
@media (prefers-reduced-motion: reduce) {
  .site-footer :is(.footer-social a, .footer-whatsapp) { transition: none; }
}
.notice{position:fixed;z-index:50;left:50%;bottom:24px;max-width:calc(100% - 36px);width:max-content;padding:16px 24px;border:1px solid #d4e8e9;border-radius:14px;background:#fff;color:var(--navy);box-shadow:0 8px 40px #073b6320;font-size:14px;line-height:1.5;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,20px);transition:opacity .2s,transform .3s var(--ease)}
.notice.is-visible{opacity:1;transform:translate(-50%,0)}
.noscript-note{padding:15px;text-align:center;font-size:12px;background:var(--pale)}

@keyframes copy-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes portrait-enter{from{opacity:0;transform:translate(-54%,20px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes signature-enter{from{opacity:0;transform:rotate(-3deg) translateY(14px)}to{opacity:1;transform:rotate(-3deg) translateY(0)}}
@keyframes draw-line{to{stroke-dashoffset:0}}
@keyframes spark-drift{from{transform:rotate(8deg) translateY(0)}to{transform:rotate(12deg) translateY(-5px)}}

@media(min-width:1500px){.hero-inner{gap:34px}.hero-copy{padding-left:10px}h1{font-size:66px}.hero-spark{right:-10px}.portrait-image{top:-12%}}
@media(max-width:1200px) and (min-width:1001px){.wrap{width:calc(100% - 64px)}.header-inner{gap:18px}.brand img{width:174px}.main-nav{gap:17px}.nav-item{font-size:12px}.button--header{font-size:12px;padding:13px 17px;gap:7px}.button--header .icon{width:21px;height:21px}.hero-inner{grid-template-columns:.78fr 1.22fr;gap:18px;min-height:650px}.hero-copy{padding-right:5px}.portrait-image{width:135%;top:-12%}.portrait-signature{left:-2%;bottom:35px}.hero-spark{right:-16px;top:9px;width:38px}h1{font-size:4.75vw}.hero-description{max-width:485px;font-size:18px}.hero-question{font-size:23px}.button--primary{font-size:17px;padding-inline:19px}.button--primary>.icon:first-child{width:30px;height:30px}}

@media(max-width:1000px){
  html{scroll-padding-top:85px}.wrap{width:calc(100% - 56px)}.header-inner{min-height:90px;gap:18px}.brand img{width:177px}.button--header{margin-left:auto;font-size:12px;padding:13px 17px}.menu-toggle{order:3;position:relative;display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;padding:10px;border:1px solid #d0e9e9;border-radius:50%;background:#fff;cursor:pointer;z-index:3}.menu-toggle span{display:block;width:22px;height:2px;background:var(--navy);border-radius:2px;transition:transform .2s}.menu-is-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.menu-is-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}.main-nav{position:absolute;left:0;right:0;top:100%;display:none;align-items:stretch;gap:0;padding:12px 28px 20px;background:#f8fdfefc;border-bottom:1px solid #d3e9eb;box-shadow:0 14px 20px #073b630d}.menu-is-open .main-nav{display:flex;flex-direction:column}.nav-item{text-align:left;padding:14px 0;font-size:16px}.nav-item::after{width:28px;bottom:9px}.hero-inner{grid-template-columns:.8fr 1.2fr;gap:10px;min-height:625px}.hero-copy{padding:38px 0 65px}h1{font-size:4.85vw}.eyebrow{font-size:8px;letter-spacing:.12em}.hero-question{font-size:21px;margin-top:29px}.hero-description{font-size:17px}.button--primary{font-size:14px;padding:15px;gap:8px;min-height:58px}.button--primary>.icon:first-child{width:28px;height:28px}.button--primary .button-arrow{width:15px;height:15px}.portrait-image{width:154%;top:-12%;left:45%}.portrait-signature{left:0;bottom:32px;padding:15px 20px;min-width:160px}.portrait-signature span{font-size:30px}.hero-spark{right:0;top:4px;width:33px;height:41px}.contact-status{font-size:10px}
}
@media(min-width:701px) and (max-width:1200px){.hero-description,.hero-actions{margin-left:56px}}
@media(max-width:700px){
  .wrap{width:calc(100% - 40px)}.header-inner{min-height:84px}.brand img{width:157px}.button--header{display:none}.menu-toggle{margin-left:auto;width:42px;height:42px}.hero-inner{display:flex;flex-direction:column;min-height:0;gap:0}.hero-copy{order:1;align-self:auto;padding:35px 0 18px;text-align:center}.eyebrow{justify-content:center;margin-bottom:17px;font-size:8px;letter-spacing:.16em}h1{font-size:clamp(34px,8.2vw,50px);line-height:1.08;max-width:560px;margin-inline:auto;letter-spacing:-.045em}.desktop-break{display:none}.headline-main{display:block;text-wrap:balance}.handwritten{display:block;width:3.911em;max-width:100%;margin:9px auto 0;font-size:1.5em;line-height:.95}.handwritten .handwritten-underline{top:calc(100% + 1px);height:12px;width:105%;left:-2%}.hero-question{max-width:450px;margin:26px auto 12px;font-size:22px;line-height:1.25}.hero-description{max-width:450px;margin:0 auto 21px;font-size:17px;line-height:1.43;letter-spacing:-.025em}.hero-actions{display:flex;flex-direction:column;align-items:center}.button--primary{min-height:58px;gap:9px;width:max-content;max-width:100%;padding:14px 18px;font-size:15px;letter-spacing:-.03em}.button--primary>.icon:first-child{width:29px;height:29px}.button--primary .button-arrow{width:17px;height:17px;margin-left:0}.contact-status{max-width:100%;font-size:11px;line-height:1.5;margin:10px 0 0}.hero-spark{right:0;top:24px;width:29px;height:35px;opacity:.85}.portrait{order:2;width:100%;height:390px;min-height:0;align-self:auto;margin-top:0}.portrait-image{width:360px;top:auto;left:50%;bottom:-210px}.portrait-orbit{width:390px;max-width:115%;left:50%;top:15%;transform:translateX(-50%)}.portrait-signature{left:calc(50% - 175px);bottom:25px;min-width:150px;padding:13px 18px}.portrait-signature span{font-size:28px}.portrait-signature small{font-size:10px}.hero-waves{height:61%;width:175%;left:-43%}.notice{font-size:13px;padding:14px 18px;bottom:18px}
}
@media(max-width:370px){.wrap{width:calc(100% - 32px)}.brand img{width:148px}.hero-copy{padding-top:30px}h1{font-size:32px}.hero-spark{width:22px;right:-1px;top:13px}.eyebrow{font-size:7px}.hero-question{font-size:20px}.hero-description{font-size:16px}.button--primary{font-size:13px;padding-inline:13px;gap:8px;min-height:55px}.button--primary>.icon:first-child{width:27px;height:27px}.portrait{height:355px}.portrait-image{width:330px;bottom:-195px}.portrait-signature{left:-2px}.contact-status{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
