/* ───────── Fonts ───────── */
@font-face{font-family:'Geist';font-style:normal;font-weight:500 600;font-display:swap;src:url("../fonts/geist-cyrillic-ext.woff2") format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:'Geist';font-style:normal;font-weight:500 600;font-display:swap;src:url("../fonts/geist-cyrillic.woff2") format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Geist';font-style:normal;font-weight:500 600;font-display:swap;src:url("../fonts/geist-vietnamese.woff2") format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:'Geist';font-style:normal;font-weight:500 600;font-display:swap;src:url("../fonts/geist-latin-ext.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Geist';font-style:normal;font-weight:500 600;font-display:swap;src:url("../fonts/geist-latin.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Noto Sans Ethiopic';font-style:normal;font-weight:500 600;font-stretch:100%;font-display:swap;src:url("../fonts/noto-ethiopic-ethiopic.woff2") format('woff2');unicode-range:U+030E,U+1200-1399,U+2D80-2DDE,U+AB01-AB2E,U+1E7E0-1E7E6,U+1E7E8-1E7EB,U+1E7ED-1E7EE,U+1E7F0-1E7FE}
@font-face{font-family:'Noto Sans Ethiopic';font-style:normal;font-weight:500 600;font-stretch:100%;font-display:swap;src:url("../fonts/noto-ethiopic-latin-ext.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Noto Sans Ethiopic';font-style:normal;font-weight:500 600;font-stretch:100%;font-display:swap;src:url("../fonts/noto-ethiopic-latin.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ───────── Tokens ───────── */
:root{
  --ink:#0a0d12;--ink-2:#181d27;--muted:#535862;--muted-2:#93979f;--muted-3:#656a73;
  --bg:#ebf5ff;--surface:#fafdff;--blue:#0069e0;--blue-soft:#cce7ff;--blue-faint:#e5f3ff;
  --lilac:#f1e6ff;--mint:#d3f6e3;--red:#b31942;--navy:#0a3161;--green:#1ec773;
  --ease:cubic-bezier(.16,1,.3,1);
  --shadow:0 14px 20px 4px rgba(4,69,144,.08);
  --btn-shadow:0 1px 2px rgba(10,13,18,.8),0 0 0 1px #0a0d12;
}

/* ───────── Base ───────── */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:'Geist','Noto Sans Ethiopic',ui-sans-serif,system-ui,sans-serif;font-weight:500;letter-spacing:-0.01em;-webkit-font-smoothing:antialiased}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--blue)}
img{display:block}
ul{list-style:none}
button{font:inherit}

/* ───────── Keyframes ───────── */
@keyframes dvRise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes dvFloat{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-18px) rotate(3deg)}}
@keyframes dvFloat2{0%,100%{transform:translateY(0) rotate(4deg)}50%{transform:translateY(-26px) rotate(-2deg)}}
@keyframes dvMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes dvPulse{0%,100%{box-shadow:0 0 0 0 rgba(0,105,224,.45)}70%{box-shadow:0 0 0 14px rgba(0,105,224,0)}}
@keyframes dvBlob{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(40px,-30px) scale(1.08)}66%{transform:translate(-30px,20px) scale(.95)}}
@keyframes dvTick{from{opacity:.3;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes dvWave{0%,100%{transform:perspective(1400px) rotateY(-9deg) skewY(1.6deg)}50%{transform:perspective(1400px) rotateY(9deg) skewY(-1.6deg)}}
@keyframes dvShimmer{from{transform:translateX(-70%)}to{transform:translateX(70%)}}
@keyframes dvDrift{from{background-position:0 0}to{background-position:220px 0}}
@keyframes dvTwinkle{0%,100%{opacity:.25;transform:scale(.7)}50%{opacity:1;transform:scale(1.15)}}
@keyframes dvOrbit{from{transform:rotate(0) translateX(260px) rotate(0)}to{transform:rotate(360deg) translateX(260px) rotate(-360deg)}}
@keyframes dvPlane{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(3px,-3px) rotate(8deg)}}

.rise{animation:dvRise 1s var(--ease) both}
.rise-0{animation-duration:.9s}
.rise-1{animation-delay:.1s}
.rise-2{animation-delay:.2s}
.rise-3{animation-delay:.3s}
.rise-4{animation-duration:1.2s;animation-delay:.4s}

/* Scroll reveal */
[data-reveal]{transition:opacity .9s var(--ease),transform .9s var(--ease)}
[data-reveal="out"]{opacity:0;transform:translateY(32px)}

/* ───────── Layout ───────── */
.page{position:relative;overflow:clip;min-height:100vh}
.blob{position:absolute;border-radius:50%;pointer-events:none}
.blob--lilac{top:-120px;left:-80px;width:520px;height:520px;background:var(--lilac);filter:blur(90px);opacity:.8;animation:dvBlob 18s ease-in-out infinite}
.blob--mint{top:400px;right:-160px;width:600px;height:600px;background:var(--mint);filter:blur(100px);opacity:.7;animation:dvBlob 22s ease-in-out infinite reverse}
.blob--lilac-2{top:2300px;left:-220px;width:560px;height:560px;background:var(--lilac);filter:blur(110px);opacity:.55;animation:dvBlob 24s ease-in-out infinite}
.blob--blue-2{top:3900px;right:-200px;width:620px;height:620px;background:var(--blue-soft);filter:blur(110px);opacity:.6;animation:dvBlob 26s ease-in-out infinite reverse}
.sec{position:relative;max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}
.ph{background:repeating-linear-gradient(45deg,var(--blue-soft) 0 12px,var(--blue-faint) 12px 24px)}
.tg-icon{flex:none}
.nowrap{white-space:nowrap}

/* Mini US-flag marks */
.flag{position:relative;display:inline-block;flex:none;overflow:hidden}
.flag::after{content:"";position:absolute;left:0;top:0;width:42%;height:54%;background-color:var(--navy)}
.flag--brand{width:34px;height:24px;border-radius:6px;background:repeating-linear-gradient(var(--red) 0 1.85px,#fff 1.85px 3.7px);box-shadow:0 0 0 1px rgba(10,13,18,.08)}
.flag--brand::after{background-image:radial-gradient(#fff .6px,transparent 1px);background-size:3.5px 3px}
.flag--pill{width:26px;height:18px;border-radius:4px;background:repeating-linear-gradient(var(--red) 0 1.4px,#fff 1.4px 2.8px)}

/* ───────── Buttons ───────── */
.btn{display:inline-flex;align-items:center;gap:10px;border-radius:9999px;padding:16px 32px;font-size:18px}
.btn--dark{background:var(--ink-2);color:#fff;box-shadow:var(--btn-shadow)}
.btn--dark:hover{color:#fff}
.btn--light{background:var(--surface);color:var(--ink)}
.btn--lift{transition:transform .4s var(--ease)}
.btn--lift:hover{transform:translateY(-3px)}
.btn--block{display:flex;justify-content:center}
.btn--sm{padding:10px 20px;font-size:14px;gap:8px}
.btn--sm:hover{background:var(--ink)}
.btn__handle{opacity:.6}
.plane{animation:dvPlane 2.4s ease-in-out infinite}

/* ───────── Nav ───────── */
.nav{position:sticky;top:0;z-index:20;background:rgba(235,245,255,.75);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.nav__inner{max-width:1200px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font-size:18px;letter-spacing:-0.02em}
.nav__links{display:flex;gap:28px;font-size:16px}
.nav__links a{color:var(--muted)}
.nav__links a:hover{color:var(--blue)}
.nav__right{display:flex;align-items:center;gap:12px}
.lang{display:flex;background:var(--surface);border-radius:9999px;padding:3px}
.lang__btn{border:0;cursor:pointer;border-radius:9999px;padding:6px 12px;font-size:13px;font-weight:500;background:transparent;color:var(--muted)}
.lang__btn.is-active{background:var(--ink-2);color:#fff}

/* ───────── Hero ───────── */
.hero{position:relative;overflow:hidden}
.hero__bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hero__stripes{position:absolute;inset:-10% -20%;opacity:.35;background:repeating-linear-gradient(115deg,transparent 0 160px,rgba(179,25,66,.08) 160px 190px,transparent 190px 350px,rgba(10,49,97,.08) 350px 380px);background-size:220px 100%;animation:dvDrift 14s linear infinite}
.hero__flag{position:absolute;left:50%;top:60px;width:min(1100px,130vw);aspect-ratio:19/10;transform:translateX(-50%);opacity:.13;-webkit-mask-image:radial-gradient(ellipse at center,#000 25%,transparent 70%);mask-image:radial-gradient(ellipse at center,#000 25%,transparent 70%)}
.hero__flag-wave{position:absolute;inset:0;border-radius:56px;overflow:hidden;background:repeating-linear-gradient(var(--red) 0 7.69%,#fff 7.69% 15.38%);animation:dvWave 8s ease-in-out infinite}
.hero__flag-canton{position:absolute;left:0;top:0;width:40%;height:53.8%;background-color:var(--navy);background-image:radial-gradient(#fff 2px,transparent 2.8px);background-size:30px 26px;background-position:8px 6px}
.hero__flag-shine{position:absolute;inset:-30%;background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.75) 50%,transparent 65%);animation:dvShimmer 6s linear infinite}
.twinkle{position:absolute;border-radius:50%;animation:dvTwinkle ease-in-out infinite}
/* Soft light glow between the flag background and the headline, for legibility */
.hero__glow{position:absolute;left:50%;top:40px;width:min(1100px,120vw);height:640px;transform:translateX(-50%);background:radial-gradient(ellipse 50% 46% at 50% 42%,rgba(250,253,255,.92) 0%,rgba(250,253,255,.6) 45%,rgba(250,253,255,0) 75%);pointer-events:none}

.hero__inner{position:relative;max-width:1200px;margin:0 auto;padding:88px 24px 40px;text-align:center}
.eyebrow{position:relative;display:inline-flex;align-items:center;gap:10px;background:var(--surface);border-radius:9999px;padding:8px 16px 8px 10px;font-size:14px;box-shadow:var(--shadow)}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--blue);animation:dvPulse 2s infinite}
.hero__title{position:relative;font-size:clamp(48px,9vw,132px);font-weight:500;line-height:1.02;letter-spacing:-0.025em;margin:28px auto 0;max-width:1100px;text-wrap:balance}
.accent{background:linear-gradient(100deg,#479dff 0%,#0069e0 55%,#0a3161 120%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.06em}
.hero__sub{position:relative;font-size:20px;line-height:1.4;color:#41464f;max-width:640px;margin:28px auto 0;text-wrap:pretty}
.hero__btns{position:relative;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:36px}

.hero__media{position:relative;margin:64px auto 0;max-width:1000px;height:clamp(260px,38vw,460px)}
.orbit{position:absolute;left:50%;top:50%;width:0;height:0}
.orbit span{position:absolute;border-radius:50%;animation:dvOrbit 16s linear infinite}
.orbit span:first-child{width:12px;height:12px;margin:-6px;background:var(--red)}
.orbit span:last-child{width:9px;height:9px;margin:-4px;background:var(--navy);animation-delay:-8s}
.hero__main{position:absolute;left:50%;top:0;transform:translateX(-50%);width:62%;height:100%;object-fit:cover;border-radius:36px;border:3px solid transparent;background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(rgb(71,157,255) 11%,rgb(0,105,224) 78%) border-box;box-shadow:0 30px 60px -20px rgba(4,69,144,.35)}
.hero__float{position:absolute;width:22%;aspect-ratio:1;object-fit:cover;border-radius:24px;border:4px solid var(--surface);box-shadow:0 18px 30px -12px rgba(10,13,18,.35)}
.hero__float--left{left:2%;top:12%;animation:dvFloat 7s ease-in-out infinite}
.hero__float--right{right:2%;top:30%;animation:dvFloat2 8s ease-in-out infinite}
.hero__badge{position:absolute;right:16%;bottom:-6%;background:var(--surface);border-radius:16px;padding:12px 16px;font-size:14px;display:flex;align-items:center;gap:10px;animation:dvFloat 6s 1s ease-in-out infinite;box-shadow:var(--shadow)}
.dot-green{width:10px;height:10px;border-radius:50%;background:var(--green)}

/* ───────── Countdown ───────── */
.countdown{padding-top:40px;padding-bottom:40px}
.count-card{background:var(--ink-2);color:#fff;border-radius:32px;padding:40px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px;position:relative;overflow:hidden}
.count-card__glow{position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(71,157,255,.5),transparent 70%)}
.count-card__text{position:relative}
.count-card__label{font-size:14px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.06em}
.count-card__title{font-size:32px;letter-spacing:-0.02em;margin-top:8px;max-width:420px;line-height:1.2}
.count{display:flex;gap:12px;position:relative}
.count__box{background:rgba(255,255,255,.08);border-radius:16px;padding:16px 10px;min-width:84px;text-align:center}
.count__num{font-size:44px;line-height:1;letter-spacing:-0.02em;font-variant-numeric:tabular-nums}
.count__num.tick{animation:dvTick .4s ease}
.count__unit{font-size:12px;color:var(--muted-2);margin-top:8px}

/* ───────── Marquee ───────── */
.marquee{padding:40px 0;overflow:hidden}
.marquee__track{display:flex;gap:20px;width:max-content;animation:dvMarquee 40s linear infinite}
.marquee__item{position:relative;width:300px;height:200px;border-radius:24px;overflow:hidden;flex:none}
.marquee__item img{width:100%;height:100%;object-fit:cover}
.marquee__cap{position:absolute;left:12px;bottom:12px;background:rgba(250,253,255,.9);border-radius:9999px;padding:6px 12px;font-size:13px}

/* ───────── Shared section heads ───────── */
.head{text-align:center;max-width:720px;margin:0 auto}
.h2{font-size:clamp(36px,5vw,64px);font-weight:500;line-height:1.1;letter-spacing:-0.02em;text-wrap:balance}
.h2s{font-size:clamp(28px,3.5vw,40px);font-weight:500;line-height:1.1;letter-spacing:-0.02em}
.lead{font-size:18px;color:var(--muted);margin-top:16px;line-height:1.4}
.tag{display:inline-block;background:var(--surface);border-radius:9999px;padding:6px 14px;font-size:13px}
.check{flex:none;width:22px;height:22px;border-radius:50%;font-size:12px;display:flex;align-items:center;justify-content:center;margin-top:1px}
.check--dark{background:var(--ink-2);color:#fff}
.check--light{background:var(--surface);color:var(--ink)}
.check--blue{width:24px;height:24px;margin-top:0;font-size:13px;background:var(--blue-soft);color:var(--blue)}
.lift{transition:transform .5s var(--ease)}
.lift:hover{transform:translateY(-6px)}

/* ───────── How it works ───────── */
.how{padding-top:80px;padding-bottom:80px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px}
.step{background:var(--surface);border-radius:32px;padding:32px;display:flex;flex-direction:column;gap:20px;min-height:240px}
.step__n{width:48px;height:48px;border-radius:9999px;display:flex;align-items:center;justify-content:center;font-size:18px}
.step__title{font-size:22px;letter-spacing:-0.02em;line-height:1.2}
.step__body{font-size:16px;color:var(--muted);margin-top:10px;line-height:1.4}

/* ───────── Key dates ───────── */
.dates{padding-bottom:40px}
.dates-card{background:var(--surface);border-radius:32px;padding:40px}
.dates-card__head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between}
.dates-card__note{font-size:14px;color:var(--muted-3)}
.timeline{position:relative;margin-top:36px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.timeline__line{position:absolute;left:14px;right:14px;top:13px;height:2px;background:linear-gradient(90deg,var(--blue),var(--blue-soft))}
.date{position:relative;padding-top:40px}
.date__dot{position:absolute;left:4px;top:4px;width:20px;height:20px;border-radius:50%;background:var(--surface);border:4px solid}
.date__when{font-size:14px;color:var(--blue)}
.date__title{font-size:20px;letter-spacing:-0.02em;margin-top:6px;line-height:1.2}
.date__body{font-size:15px;color:var(--muted);margin-top:8px;line-height:1.4}

/* ───────── Photo ───────── */
.photo{padding-top:40px;padding-bottom:80px}
.photo-card{background:var(--mint);border-radius:32px;padding:40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;align-items:center}
.photo-card .h2s{font-size:clamp(32px,4vw,48px);margin-top:16px;text-wrap:balance}
.photo-card__sub{font-size:17px;color:var(--muted);margin-top:16px;line-height:1.4}
.rules{margin-top:24px;display:grid;gap:12px}
.rules li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.4}
.photo-frame-wrap{display:flex;justify-content:center}
.photo-frame{position:relative;width:min(100%,340px);aspect-ratio:1;border-radius:24px;overflow:hidden;background:var(--surface)}
.photo-frame img{width:100%;height:100%;object-fit:cover}
.photo-frame__oval{position:absolute;inset:14%;border:2px dashed rgba(0,105,224,.8);border-radius:50% 50% 45% 45%}
.photo-frame__chip{position:absolute;border-radius:9999px;padding:6px 12px;font-size:12px}
.photo-frame__chip--size{left:12px;top:12px;background:var(--surface)}
.photo-frame__chip--ok{right:12px;bottom:12px;background:var(--ink-2);color:#fff}

/* ───────── What to prepare ───────── */
.prepare{padding-bottom:80px}
.prepare .head{margin-bottom:40px}
.groups{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.group{border-radius:32px;padding:32px}
.group__title{font-size:26px;letter-spacing:-0.02em;margin-top:16px;line-height:1.15}
.group__items{margin-top:20px;display:grid;gap:10px}
.group__items li{display:flex;gap:10px;align-items:flex-start;font-size:16px;line-height:1.4}
.prepare__note{text-align:center;font-size:15px;color:var(--muted);margin:28px auto 0;max-width:640px;line-height:1.5}

/* ───────── Pricing ───────── */
.price{padding-top:40px;padding-bottom:80px}
.price .head{margin-bottom:48px}
.price-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));border-radius:32px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}
.price-card__plan{background:var(--ink-2);color:#fff;padding:48px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.glow{position:absolute;border-radius:50%}
.glow--blue{right:-120px;bottom:-120px;width:360px;height:360px;background:radial-gradient(circle,rgba(71,157,255,.55),transparent 70%)}
.glow--red{left:-60px;top:-60px;width:200px;height:200px;background:radial-gradient(circle,rgba(179,25,66,.35),transparent 70%)}
.price-card__inner{position:relative}
.plan-chip{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.1);border-radius:9999px;padding:6px 14px;font-size:13px}
.plan-chip .dot-green{width:8px;height:8px}
.amount{display:flex;align-items:baseline;gap:12px;margin-top:28px}
.amount__num{font-size:clamp(72px,9vw,120px);line-height:1;letter-spacing:-0.04em}
.amount__cur{font-size:26px;color:var(--muted-2)}
.price-card__note{color:var(--muted-2);font-size:15px;margin-top:10px}
.pay__title{font-size:13px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.06em}
.pay__methods{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.pay-badge{display:inline-flex;align-items:center;gap:10px;background:var(--surface);color:var(--ink);border-radius:14px;padding:8px 16px 8px 10px;font-size:15px}
.pay-badge img{height:42px;width:auto;display:block}
.pay__text{font-size:15px;color:rgba(255,255,255,.75);margin-top:16px;line-height:1.5}
.price-card__list{padding:48px;display:flex;flex-direction:column;gap:28px}
.price-card__included{font-size:22px;letter-spacing:-0.02em}
.price-items{display:grid}
.price-items li{display:flex;gap:14px;align-items:flex-start;font-size:16px;line-height:1.4;padding:14px 0;border-top:1px solid var(--bg)}
.price-card__cta{margin-top:auto;display:grid;gap:12px}
.price-card__guarantee{font-size:13px;color:var(--muted-3);text-align:center}

/* ───────── FAQ ───────── */
.faq{max-width:860px;padding-top:40px;padding-bottom:80px}
.faq .h2{margin-bottom:40px;text-align:center}
.faq__list{display:grid;gap:12px}
.faq__item{background:var(--surface);border-radius:24px}
.faq__q{width:100%;border:0;background:none;cursor:pointer;text-align:left;color:inherit;padding:24px 28px;display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:18px;line-height:1.3;letter-spacing:inherit;transition:padding-bottom .65s ease}
.faq__icon{flex:none;width:32px;height:32px;border-radius:50%;background:var(--bg);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:20px;transition:transform .5s var(--ease),background .3s}
.faq__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .65s ease}
.faq__body>div{overflow:hidden}
.faq__a{padding:0 28px 24px;font-size:16px;color:var(--muted);line-height:1.5}
.faq__item.is-open .faq__icon{background:var(--ink-2);color:#fff;transform:rotate(45deg)}
.faq__item.is-open .faq__q{padding-bottom:14px}
.faq__item.is-open .faq__body{grid-template-rows:1fr}

/* ───────── Footer ───────── */
.footer{padding-top:40px;padding-bottom:48px}
.foot-card{background:var(--blue-soft);border-radius:32px;padding:clamp(40px,6vw,72px) 40px;text-align:center;position:relative;overflow:hidden}
.foot-card__plane{position:absolute;right:-40px;top:-40px;width:220px;height:220px;object-fit:cover;border-radius:50%;opacity:.9;animation:dvFloat2 9s ease-in-out infinite}
.foot-card .h2{font-size:clamp(36px,5vw,72px);line-height:1.05;letter-spacing:-0.025em;position:relative}
.foot-card__sub{font-size:18px;color:var(--muted);margin:16px auto 0;max-width:520px;position:relative}
.foot-card .btn{margin-top:28px;position:relative}
.disclaimer{text-align:center;font-size:13px;color:var(--muted-3);margin:32px auto 0;max-width:640px;line-height:1.5}

/* ───────── Desktop ───────── */
/* Slightly tighter hero so the photos show above the fold */
@media (min-width:1024px){
  .hero__inner{padding-top:64px}
  .hero__title{font-size:clamp(48px,7.6vw,116px)}
  .hero__media{margin-top:52px}
}

/* ───────── Tablet ───────── */
@media (max-width:1023px){
  .steps{grid-template-columns:repeat(2,1fr)}
  .timeline{grid-template-columns:repeat(2,1fr);row-gap:8px}
  .timeline__line{display:none}
  .groups{grid-template-columns:repeat(2,1fr)}
  .groups>:last-child{grid-column:1/-1}
}
/* Pricing stacks before the button text starts wrapping */
@media (max-width:899px){
  .price-card{grid-template-columns:1fr}
}
/* Hide the text links so the nav stays on one row */
@media (max-width:819px){
  .nav__links{display:none}
}

/* ───────── Mobile ───────── */
@media (max-width:640px){
  .steps,.timeline,.groups{grid-template-columns:1fr}
  .groups>:last-child{grid-column:auto}
  .hero__glow{top:20px;height:520px}
  .hero__bg .twinkle:not(:nth-of-type(4)){display:none}
  .hero__main{width:70%}
  .hero__float{width:28%}
  .hero__float--left{left:-2%;top:6%}
  .hero__float--right{right:-2%;top:44%}
  .hero__badge{right:auto;left:10%;bottom:-18px;font-size:13px}
  .sec{padding-left:16px;padding-right:16px}
  .m-hide{display:none!important}
  .nav__inner{padding:12px 16px}
  .btn--sm{padding:10px 12px}
  .hero__inner{padding:40px 16px 24px}
  .hero__title{font-size:46px;letter-spacing:-0.03em;line-height:1.04}
  .h2{font-size:34px}
  .h2s,.photo-card .h2s{font-size:28px}
  .amount__num{font-size:76px}
  .hero__sub{font-size:17px}
  .card-m{padding:24px!important;border-radius:24px!important}
  .hero__media{height:280px;margin-top:36px;margin-bottom:24px}
  .count{width:100%;gap:8px}
  .count__box{flex:1;min-width:0;padding:12px 4px}
  .count__num{font-size:28px}
  .hero__btns>a{width:100%;justify-content:center}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
}
