html{scroll-behavior:smooth;}
body{margin:0;background:#FBF8F4;}
a{color:#1F5E5B;}a:hover{color:#163F3D;}
h1,h2,h3,.hd{font-family:Manrope,system-ui,sans-serif;}
@keyframes rise{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
@keyframes up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes kb{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(46,160,120,.55)}70%{box-shadow:0 0 0 12px rgba(46,160,120,0)}100%{box-shadow:0 0 0 0 rgba(46,160,120,0)}}
@keyframes fadeTab{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes ring{0%,100%{transform:rotate(0)}10%{transform:rotate(-14deg)}20%{transform:rotate(12deg)}30%{transform:rotate(-8deg)}40%{transform:rotate(0)}}
@keyframes bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@property --yrs{syntax:'<integer>';initial-value:0;inherits:false}
@keyframes yrs{to{--yrs:36}}
.cnt{animation:yrs 2.4s cubic-bezier(.2,.8,.2,1) 1s forwards;counter-reset:y var(--yrs);}
.cnt::after{content:counter(y);}
.in{opacity:0;animation:up .9s cubic-bezier(.2,.7,.2,1) forwards;}
.kb{animation:kb 14s cubic-bezier(.2,.6,.3,1) forwards;}
.bob{animation:bob 6s ease-in-out infinite;}
.dot{width:10px;height:10px;border-radius:50%;background:#2EA078;animation:pulse 2s infinite;flex:none;}
.tabpane{animation:fadeTab .6s cubic-bezier(.2,.8,.2,1);}
.ring{animation:ring 3s ease-in-out infinite;transform-origin:50% 20%;}
.prog{position:fixed;top:0;left:0;right:0;height:3px;background:#1F5E5B;transform-origin:0 50%;transform:scaleX(0);z-index:80;}
@supports (animation-timeline: view()){
  .rv{animation:rise linear both;animation-timeline:view();animation-range:entry 0% cover 25%;}
  .prog{animation:bar linear both;animation-timeline:scroll(root);}
}
.ph{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 20% 15%,#F7DCCB 0%,rgba(247,220,203,0) 55%),radial-gradient(100% 80% at 85% 90%,#CFE3DA 0%,rgba(207,227,218,0) 60%),#EFE7DD;}
.ph-l{position:absolute;left:18px;bottom:18px;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:rgba(255,255,255,.85);font:500 12px/1.35 Inter,sans-serif;color:#425250;max-width:calc(100% - 60px);}
.eyebrow{font:700 14px Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#1F5E5B;}
.h2{margin:0;font-family:Manrope,sans-serif;font-size:clamp(34px,3.8vw,56px);line-height:1.08;font-weight:800;letter-spacing:-.03em;}
.lead{margin:0;font-size:19px;line-height:1.7;color:#5B6B69;}
.prose p{margin:0 0 18px;font-size:18px;line-height:1.75;color:#3F4F4D;}
.prose p:last-child{margin-bottom:0;}
.wrap{max-width:1320px;margin:0 auto;padding-left:32px;padding-right:32px;box-sizing:border-box;}
/* nav */
.nav-a{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:#1C2B2A;text-decoration:none;font:600 15px Inter,sans-serif;padding:0 4px;background:none;border:0;cursor:pointer;}
.nav-a:hover{color:#1F5E5B;}
.nav-on{color:#1F5E5B;box-shadow:inset 0 -2px 0 #1F5E5B;}
.dd{position:relative;}
.dd-m{position:absolute;top:100%;left:-16px;min-width:260px;padding:10px;border-radius:18px;background:#FFFFFF;box-shadow:0 24px 50px -20px rgba(28,43,42,.35);display:none;flex-direction:column;z-index:90;}
.dd:hover .dd-m,.dd:focus-within .dd-m{display:flex;animation:drop .25s ease;}
.dd-a{display:flex;align-items:center;min-height:44px;padding:0 14px;border-radius:12px;color:#1C2B2A;text-decoration:none;font:500 15px Inter,sans-serif;}
.dd-a:hover{background:#F3EEE7;color:#1F5E5B;}
.burger{display:none;width:48px;height:48px;border-radius:14px;border:0;background:#F3EEE7;cursor:pointer;align-items:center;justify-content:center;}
.mob{display:none;}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 26px;border-radius:16px;text-decoration:none;font:700 16px Manrope,sans-serif;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,background .3s;border:0;cursor:pointer;}
.btn:hover{transform:translateY(-2px);}
.b-pri{background:#1F5E5B;color:#FFFFFF;box-shadow:0 10px 24px -12px rgba(31,94,91,.7);}
.b-pri:hover{background:#174A48;color:#FFFFFF;}
.b-wh{background:#FFFFFF;color:#1C2B2A;}
.b-wh:hover{color:#1C2B2A;box-shadow:0 18px 34px -14px rgba(0,0,0,.35);}
.b-gh{background:rgba(255,255,255,.14);color:#FFFFFF;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55);}
.b-gh:hover{color:#FFFFFF;background:rgba(255,255,255,.24);}
.b-ol{background:transparent;color:#1F5E5B;box-shadow:inset 0 0 0 1.5px #1F5E5B;}
.b-ol:hover{color:#1F5E5B;background:#E6F0EC;}
.tab{min-height:52px;padding:0 22px;border-radius:14px;border:0;cursor:pointer;font:700 15px Manrope,sans-serif;transition:background .3s,color .3s;}
.card{transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s;}
.card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(28,43,42,.35);}
a.card{text-decoration:none;color:#1C2B2A;}
a.card:hover{color:#1C2B2A;}
.arr{transition:transform .35s;}
.card:hover .arr{transform:translateX(6px);}
.faq-b{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:20px 0;background:none;border:0;cursor:pointer;text-align:left;font:700 19px/1.35 Manrope,sans-serif;color:#1C2B2A;}
.faq-b:hover{color:#1F5E5B;}
.pm{transition:transform .35s;flex:none;}
.strip{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;}
.strip > *{scroll-snap-align:start;}
.fab{position:fixed;right:24px;bottom:24px;z-index:70;display:flex;align-items:center;gap:10px;min-height:56px;padding:0 22px 0 18px;border-radius:999px;background:#1F5E5B;color:#FFFFFF;text-decoration:none;font:700 15px Manrope,sans-serif;box-shadow:0 18px 40px -14px rgba(31,94,91,.8);}
.fab:hover{color:#FFFFFF;background:#174A48;}
.ft-a{color:#B9CBC7;text-decoration:none;}
.ft-a:hover{color:#FFFFFF;}
.crumb{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:#5B6B69;}
.crumb a{color:#5B6B69;text-decoration:none;}
.crumb a:hover{color:#1F5E5B;}
/* forms */
.fld{display:flex;flex-direction:column;gap:8px;}
.fld label{font:600 14px Inter,sans-serif;color:#1C2B2A;}
.fld input,.fld textarea{font:400 16px Inter,sans-serif;color:#1C2B2A;padding:14px 16px;min-height:52px;box-sizing:border-box;border-radius:14px;border:1.5px solid #D9D2C7;background:#FFFFFF;transition:border-color .2s,box-shadow .2s;}
.fld input:focus,.fld textarea:focus{outline:none;border-color:#1F5E5B;box-shadow:0 0 0 4px rgba(31,94,91,.14);}
@media (max-width: 960px){
  .nav-links,.topbar,.nav-cta{display:none !important;}
  .burger{display:inline-flex;}
  .mob{display:flex;}
  .two{grid-template-columns:1fr !important;}
  .hide-m{display:none !important;}
  .pad-m{padding:40px 28px !important;}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;animation-delay:0s !important;transition:none !important;}
  .in{opacity:1;}
}

/* ===== v2: dark header ===== */
.hdr{background:linear-gradient(100deg,#123A38 0%,#1F5E5B 60%,#2A7470 100%);box-shadow:0 10px 30px -18px rgba(10,30,29,.7);}
.hdr .nav-a{color:#E8F4F0;}
.hdr .nav-a:hover{color:#FFFFFF;}
.hdr .nav-on{color:#FFFFFF;box-shadow:inset 0 -2px 0 #9FE3CB;}
.hdr .burger{background:rgba(255,255,255,.14);}
.logo-badge{width:58px;height:58px;border-radius:18px;background:#FFFFFF;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px -8px rgba(0,0,0,.4);flex:none;}
@keyframes shine{0%{transform:translateX(-120%) skewX(-20deg)}60%,100%{transform:translateX(320%) skewX(-20deg)}}
.shine{position:relative;overflow:hidden;}
.shine::after{content:'';position:absolute;top:0;bottom:0;left:0;width:30%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.35),rgba(255,255,255,0));animation:shine 4.5s ease-in-out infinite;}

/* ===== v2: new animations ===== */
@keyframes heart{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:.85}100%{transform:translateY(-520px) scale(1.1) rotate(18deg);opacity:0}}
.heart{position:absolute;bottom:-30px;animation:heart 9s linear infinite;opacity:0;pointer-events:none;}
@keyframes cue{0%,100%{transform:translateY(0);opacity:.9}50%{transform:translateY(10px);opacity:.4}}
.cue{animation:cue 1.8s ease-in-out infinite;}
@keyframes wordIn{from{opacity:0;transform:translateY(.55em);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}
.w{display:inline-block;opacity:0;animation:wordIn .9s cubic-bezier(.2,.7,.2,1) forwards;}
@keyframes marq{to{transform:translateX(-50%)}}
.marq{display:flex;width:max-content;animation:marq 38s linear infinite;}
.marq-wrap:hover .marq{animation-play-state:paused;}
@property --n{syntax:'<integer>';initial-value:0;inherits:false}
@keyframes countup{from{--n:0}to{--n:var(--to)}}
.num{counter-reset:n var(--n);animation:countup 2.2s cubic-bezier(.2,.8,.2,1) .4s both;}
.num::after{content:counter(n);}
@keyframes reveal{from{clip-path:inset(0 0 100% 0 round 28px)}to{clip-path:inset(0 0 0 0 round 28px)}}
@keyframes par{from{transform:translateY(-6%) scale(1.12)}to{transform:translateY(6%) scale(1.12)}}
@keyframes drawline{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.uline{display:block;height:4px;width:72px;border-radius:4px;background:linear-gradient(90deg,#1F5E5B,#9FE3CB);transform-origin:left;}
@supports (animation-timeline: view()){
  .num{animation:countup linear both;animation-timeline:view();animation-range:entry 10% cover 35%;}
  .reveal{animation:reveal linear both;animation-timeline:view();animation-range:entry 0% cover 35%;}
  .par{animation:par linear both;animation-timeline:view();}
  .uline{animation:drawline linear both;animation-timeline:view();animation-range:entry 20% cover 40%;}
}
.glow{position:relative;}
.glow::before{content:'';position:absolute;inset:-2px;border-radius:inherit;background:conic-gradient(from var(--a,0deg),#9FE3CB,#1F5E5B,#F2B880,#9FE3CB);opacity:0;transition:opacity .4s;z-index:-1;}
@property --a{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes spinA{to{--a:360deg}}
.glow:hover::before{opacity:1;animation:spinA 3s linear infinite;}

/* ===== v2: blog ===== */
.tag{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border-radius:999px;background:#E6F0EC;color:#1F5E5B;font:700 13px Inter,sans-serif;text-decoration:none;}
.tag:hover{background:#1F5E5B;color:#FFFFFF;}
.share{width:46px;height:46px;border-radius:14px;border:0;background:#F3EEE7;color:#1C2B2A;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;transition:background .3s,color .3s,transform .3s;}
.share:hover{background:#1F5E5B;color:#FFFFFF;transform:translateY(-2px);}
.search{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 16px;border-radius:16px;background:#FFFFFF;border:1.5px solid #D9D2C7;}
.search input{border:0;outline:none;font:400 16px Inter,sans-serif;flex:1;min-width:0;background:transparent;color:#1C2B2A;}
.search:focus-within{border-color:#1F5E5B;box-shadow:0 0 0 4px rgba(31,94,91,.14);}
.article p{margin:0 0 22px;font-size:19px;line-height:1.85;color:#2E3D3B;}
.article p:first-of-type::first-letter{float:left;font:800 64px/0.9 Manrope,sans-serif;color:#1F5E5B;padding:6px 10px 0 0;}

/* ===== v2: accessibility ===== */
.a11y-btn{position:fixed;left:20px;bottom:24px;z-index:75;width:56px;height:56px;border-radius:50%;border:0;background:#1C2B2A;color:#FFFFFF;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 14px 30px -12px rgba(0,0,0,.6);}
.a11y-panel{position:fixed;left:20px;bottom:92px;z-index:75;width:280px;padding:18px;border-radius:22px;background:#FFFFFF;box-shadow:0 30px 60px -20px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:10px;font-family:Inter,sans-serif;color:#1C2B2A;}
.a11y-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:0 14px;border-radius:14px;border:0;background:#F3EEE7;cursor:pointer;font:600 15px Inter,sans-serif;color:#1C2B2A;text-align:left;}
.a11y-opt[aria-pressed="true"]{background:#1F5E5B;color:#FFFFFF;}
html.a11y-big body{zoom:1.15;}
html.a11y-contrast body{filter:contrast(1.25) saturate(1.1);}
html.a11y-still *,html.a11y-still *::before,html.a11y-still *::after{animation:none !important;transition:none !important;}
html.a11y-still .in,html.a11y-still .w{opacity:1 !important;}
html.a11y-links a{text-decoration:underline !important;text-underline-offset:3px;}

/* ===== v2: mobile ===== */
.hero-h{height:820px;}
@media (max-width: 960px){
  .hero-h{height:680px;}
  .sec{padding-top:80px !important;padding-bottom:80px !important;}
}
@media (max-width: 600px){
  .wrap{padding-left:20px;padding-right:20px;}
  .hero-h{height:620px;}
  .h2{font-size:32px;}
  .btn{min-height:50px;padding:0 20px;font-size:15px;}
  .fab{right:14px;bottom:16px;padding:0 18px 0 14px;}
  .fab span.lbl{display:none;}
  .a11y-btn{left:14px;bottom:16px;}
  .a11y-panel{left:14px;right:14px;width:auto;bottom:84px;}
  .faq-b{font-size:17px;}
  .article p{font-size:17px;}
  .pad-m{padding:28px 22px !important;}
  .stack-m{flex-direction:column !important;align-items:flex-start !important;}
  .r-m{border-radius:24px !important;}
}

/* ===== v3: Cambria everywhere (logo text excluded) ===== */
html, body, body *:not(text):not(tspan){font-family:Cambria,"Caladea",Georgia,"Times New Roman",serif !important;}
.h2,h1,h2,h3,.hd{letter-spacing:-.01em !important;}
