.passport-help{padding-block:64px;border-top:1px solid #dce5ef}
.passport-help>p{max-width:680px;color:var(--muted);line-height:1.7;margin:20px 0 28px}
.passport-help-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.passport-help-links a{display:flex;flex-direction:column;gap:12px;padding:24px;border:1px solid #dce5ef;border-radius:20px;background:#fff;color:var(--navy);text-decoration:none}
.passport-help-links strong{font-size:18px;line-height:1.4}
.passport-help-links span{font-size:14px;line-height:1.6;color:var(--blue)}
.passport-help-links a:hover{border-color:var(--blue)}
.passport-help-links a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(max-width:760px){.passport-help-links{grid-template-columns:1fr}.passport-help{padding-block:40px}}
:root {
  --navy: #07172f;
  --navy-2: #0b2347;
  --blue: #2168f6;
  --blue-dark: #1553d4;
  --mint: #28d8bd;
  --mint-pale: #dffaf4;
  --ink: #0b1c34;
  --muted: #607086;
  --line: #dbe5f1;
  --surface: #ffffff;
  --soft: #f4f7fb;
  --shadow: 0 30px 80px rgba(7, 23, 47, .14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; color: var(--ink); background: #fff; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
.ambient { position: absolute; inset: 0 0 auto; height: 900px; z-index: -1; overflow: hidden; background: radial-gradient(circle at 86% 18%, rgba(33,104,246,.13), transparent 29rem), radial-gradient(circle at 6% 58%, rgba(40,216,189,.1), transparent 25rem), linear-gradient(180deg,#f7faff 0%,#fff 82%); }
.ambient::after { content:""; position:absolute; width:48rem; height:48rem; top:-33rem; right:-9rem; border:1px solid rgba(33,104,246,.09); border-radius:50%; box-shadow:0 0 0 3rem rgba(33,104,246,.025),0 0 0 6rem rgba(33,104,246,.018); }
.section-shell, .site-header, footer { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.site-header { min-height: 88px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--navy); font-size:.84rem; font-weight:800; letter-spacing:.13em; }
.brand > span:last-child span { color:var(--blue); }
.brand-mark { width:35px; height:35px; display:grid; place-items:center; flex:none; border-radius:11px; background:var(--navy); box-shadow:0 8px 18px rgba(7,23,47,.18); }
.brand-mark svg { width:22px; fill:#fff; }
.brand-mark .brand-check { fill:none; stroke:var(--mint); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
nav { display:flex; align-items:center; gap:30px; }
nav a { color:#52657c; text-decoration:none; font-size:.86rem; font-weight:650; }
nav a:hover { color:var(--blue); }
.header-actions { display:flex; align-items:center; gap:12px; }
.header-login { display:inline-flex; align-items:center; min-height:42px; padding:0 12px; color:var(--navy); font-size:.76rem; font-weight:800; }
.pricing-grid.with-gift { grid-template-columns:repeat(2,minmax(280px,430px)); justify-content:center; }
.site-language { position:relative; min-width:132px; height:42px; display:flex; align-items:center; gap:7px; padding:0 34px 0 12px; border:1px solid #cbd9ea; border-radius:999px; background:rgba(255,255,255,.86); box-shadow:0 8px 20px rgba(17,53,96,.05); }
.site-language::after { content:""; position:absolute; right:13px; top:50%; width:7px; height:7px; border:solid #607086; border-width:0 2px 2px 0; transform:translateY(-68%) rotate(45deg); pointer-events:none; }
.site-language svg { width:16px; flex:none; fill:none; stroke:var(--blue); stroke-width:1.7; }
.site-language select { width:100%; min-width:0; padding:0; border:0; color:var(--navy); background:transparent; font-size:.75rem; font-weight:750; outline:none; appearance:none; cursor:pointer; }
.header-cta { padding:11px 17px; border:1px solid #cbd9ea; border-radius:999px; color:var(--navy); background:rgba(255,255,255,.8); text-decoration:none; font-size:.82rem; font-weight:750; box-shadow:0 8px 20px rgba(17,53,96,.06); }

.hero { display:grid; grid-template-columns:minmax(0,.94fr) minmax(480px,1.06fr); align-items:center; gap:72px; padding-block:68px 90px; }
.eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 22px; color:var(--blue); font-size:.72rem; font-weight:800; letter-spacing:.15em; }
.eyebrow b { font:inherit; }
.eyebrow > span { width:8px; height:8px; border-radius:50%; background:currentColor; box-shadow:0 0 0 6px rgba(33,104,246,.1); }
.eyebrow.light { color:var(--mint); }
h1,h2 { font-family:Georgia, "Times New Roman", serif; color:var(--navy); }
h1 { margin:0; max-width:640px; font-size:clamp(3.55rem,5.4vw,5.35rem); font-weight:600; line-height:.93; letter-spacing:-.055em; }
h1 .headline-opening,h1 em { display:block; }
h1 em { margin-top:.08em; color:var(--navy); font-size:.78em; font-weight:500; letter-spacing:-.045em; }
.word-window { display:grid; min-height:1em; overflow:hidden; color:var(--blue); text-shadow:0 12px 32px rgba(33,104,246,.15); }
.word-window > span { display:block; transform-origin:left center; }
.word-window > span.is-long { align-self:center; font-size:.72em; line-height:1.25; letter-spacing:-.035em; }
.word-window > span.is-leaving { animation:wordLeave .34s cubic-bezier(.4,0,1,1) forwards; }
.word-window > span.is-entering { animation:wordEnter .5s cubic-bezier(.16,1,.3,1) forwards; }
@keyframes wordLeave { to { opacity:0; transform:translateY(-55%) rotateX(35deg); filter:blur(8px); } }
@keyframes wordEnter { from { opacity:0; transform:translateY(65%) rotateX(-35deg); filter:blur(8px); } to { opacity:1; transform:none; filter:blur(0); } }
.hero-intro { max-width:570px; margin:30px 0 28px; color:var(--muted); font-size:1.08rem; line-height:1.68; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.gift-cta { display:inline-flex; align-items:center; gap:7px; margin-top:17px; color:#17667b; font-size:.78rem; font-weight:780; text-decoration:underline; text-underline-offset:3px; }
.gift-cta:hover { color:var(--blue); }
.button { min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:15px; padding:0 20px; border:1px solid transparent; border-radius:14px; text-decoration:none; font-size:.9rem; font-weight:760; cursor:pointer; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.button b { font:inherit; }
.button:hover { transform:translateY(-2px); }
.button-primary { color:#fff; background:var(--blue); box-shadow:0 15px 30px rgba(33,104,246,.23); }
.button-primary:hover { background:var(--blue-dark); }
.button-primary span { font-size:1.2rem; }
.button-quiet { color:var(--navy); border-color:#cedbea; background:#fff; }
.button-quiet:hover { border-color:#aabfd9; box-shadow:0 12px 25px rgba(7,23,47,.08); }
.trust-row { display:flex; flex-wrap:wrap; gap:18px; margin-top:27px; color:#5d6f84; font-size:.75rem; font-weight:650; }
.trust-row span { display:flex; align-items:center; gap:7px; }
.trust-row svg { width:16px; fill:none; stroke:var(--blue); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }

.product-stage { position:relative; min-height:650px; display:grid; place-items:center; overflow:hidden; padding:92px 24px 100px; border-radius:36px; background:linear-gradient(145deg,#07172f,#0c2c59); box-shadow:0 34px 70px rgba(7,23,47,.22); }
.product-stage::before { content:""; position:absolute; inset:0; opacity:.12; background-image:repeating-radial-gradient(ellipse at 90% 10%,transparent 0 9px,rgba(40,216,189,.8) 10px 11px,transparent 12px 19px); mask-image:linear-gradient(to bottom left,#000,transparent 65%); }
.stage-orbit { position:absolute; border:1px solid rgba(40,216,189,.13); border-radius:50%; }
.orbit-one { width:380px; height:380px; left:-230px; bottom:-230px; box-shadow:0 0 0 28px rgba(40,216,189,.025),0 0 0 56px rgba(40,216,189,.018); }
.orbit-two { width:230px; height:230px; right:-160px; top:-130px; box-shadow:0 0 0 25px rgba(33,104,246,.04),0 0 0 50px rgba(33,104,246,.025); }
.scan-badge { display:flex; align-items:center; gap:7px; color:rgba(255,255,255,.68); font-size:.58rem; font-weight:800; letter-spacing:.1em; white-space:nowrap; }
.scan-badge span { width:7px; height:7px; border-radius:50%; background:var(--mint); box-shadow:0 0 0 5px rgba(40,216,189,.12); }
.finder-card { position:relative; z-index:2; width:min(402px,100%); padding:24px; border:1px solid rgba(255,255,255,.5); border-radius:24px; background:#fff; box-shadow:0 28px 55px rgba(0,0,0,.26); transform:rotate(-1.2deg); }
.finder-top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:24px; }
.mini-brand { display:flex; align-items:center; gap:6px; color:var(--navy); font-size:.59rem; font-weight:850; letter-spacing:.12em; }
.mini-brand i { width:21px; height:21px; border-radius:7px; background:var(--navy); }
.language-pill { display:flex; align-items:center; gap:5px; padding:6px 9px; border:1px solid #e0e7f0; border-radius:999px; color:#56677b; font-size:.62rem; }
.language-pill svg { width:13px; fill:none; stroke:var(--blue); stroke-width:1.7; }
.finder-kicker { margin:0 0 12px; color:var(--blue); font-size:.6rem; font-weight:800; letter-spacing:.14em; }
.finder-card h2 { margin:0; font-size:2.35rem; line-height:.96; letter-spacing:-.035em; }
.finder-card h2 span { display:block; }
.finder-content > p:not(.finder-kicker) { margin:13px 0; color:#6a788b; font-size:.75rem; line-height:1.5; }
.finder-content { transform-origin:center top; }
.finder-content.is-leaving,.finder-action.is-leaving,.finder-safe.is-leaving { animation:cardLeave .24s ease-in forwards; }
.finder-content.is-entering,.finder-action.is-entering,.finder-safe.is-entering { animation:cardEnter .42s cubic-bezier(.16,1,.3,1) forwards; }
@keyframes cardLeave { to { opacity:0; transform:translateY(-8px); filter:blur(4px); } }
@keyframes cardEnter { from { opacity:0; transform:translateY(12px); filter:blur(4px); } to { opacity:1; transform:none; filter:blur(0); } }
.finder-reward { padding:8px 10px; border:1px solid #efdfb2; border-radius:8px; color:#75550f; background:#fff9ea; font-size:.63rem; font-weight:700; }
.finder-action { width:100%; min-height:64px; display:flex; align-items:center; gap:11px; margin-top:16px; padding:10px; border:0; border-radius:14px; color:#fff; background:var(--blue); text-align:left; }
.finder-icon { width:39px; height:39px; display:grid; place-items:center; flex:none; border-radius:11px; background:rgba(255,255,255,.15); }
.finder-icon svg { width:21px; fill:none; stroke:#fff; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.finder-action > span:nth-child(2) { display:grid; gap:2px; flex:1; }
.finder-action strong { font-size:.75rem; }
.finder-action small { color:rgba(255,255,255,.72); font-size:.59rem; }
.finder-action b { font-size:1rem; }
.delivery-route { display:grid; grid-template-columns:auto auto 1fr; align-items:center; gap:7px; margin-top:11px; color:#7a8798; }
.route-label { font-size:.46rem; font-weight:850; letter-spacing:.09em; white-space:nowrap; }
.route-arrow { color:var(--blue); font-size:.7rem; }
.route-channels { display:flex; justify-content:flex-end; gap:3px; min-width:0; }
.route-channels i { padding:3px 5px; border:1px solid #dbe4ef; border-radius:999px; color:#607086; background:#f8fbff; font-size:.43rem; font-style:normal; font-weight:720; white-space:nowrap; }
.finder-safe { display:flex; align-items:center; gap:9px; margin-top:13px; padding:10px; border:1px solid #e0e8f1; border-radius:11px; background:#f7faff; }
.finder-safe svg { width:17px; flex:none; fill:none; stroke:var(--blue); stroke-width:1.6; }
.finder-safe span { display:grid; gap:1px; }
.finder-safe strong { font-size:.62rem; }
.finder-safe small { color:#6e7d8f; font-size:.55rem; }
.stage-topline { position:absolute; z-index:3; top:24px; left:24px; right:24px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.language-cloud { display:flex; flex-wrap:wrap; gap:6px; }
.language-cloud span { width:max-content; padding:6px 9px; border:1px solid rgba(255,255,255,.11); border-radius:999px; color:rgba(255,255,255,.38); background:rgba(255,255,255,.04); font-size:.55rem; font-weight:700; transition:color .3s ease,background .3s ease,border-color .3s ease,transform .3s ease; }
.language-cloud span.is-active { color:var(--navy); border-color:var(--mint); background:var(--mint); transform:translateY(3px); box-shadow:0 8px 20px rgba(40,216,189,.22); }
.stage-footer { position:absolute; z-index:3; left:24px; right:24px; bottom:20px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.worldwide-note { display:flex; align-items:center; gap:8px; padding:9px 11px; border:1px solid rgba(255,255,255,.13); border-radius:12px; color:#fff; background:rgba(255,255,255,.06); backdrop-filter:blur(8px); }
.worldwide-note svg { width:18px; flex:none; fill:none; stroke:var(--mint); stroke-width:1.6; }
.worldwide-note > span { display:grid; gap:1px; }
.worldwide-note strong { font-size:.59rem; }
.worldwide-note small { color:rgba(255,255,255,.48); font-size:.49rem; }
.item-tabs { display:flex; flex-wrap:wrap; gap:6px; }
.item-tabs span { padding:6px 9px; border:1px solid rgba(255,255,255,.12); border-radius:999px; color:rgba(255,255,255,.48); background:rgba(255,255,255,.05); font-size:.57rem; font-weight:650; transition:color .3s ease,background .3s ease,border-color .3s ease; }
.item-tabs span.is-active { color:var(--navy); border-color:#fff; background:#fff; }

.proof-strip { width:100%; display:grid; grid-template-columns:repeat(4,1fr); gap:1px; padding:1px; background:#1c3e66; box-shadow:0 24px 60px rgba(4,20,44,.18); }
.proof-strip div { min-height:170px; display:grid; place-content:center; justify-items:center; gap:8px; padding:26px 32px; background:linear-gradient(145deg,#071a36,#0b2b52); color:#fff; text-align:center; }
.proof-strip i { width:32px; height:32px; display:grid; place-items:center; margin-bottom:3px; border:1px solid rgba(51,223,192,.36); border-radius:50%; background:rgba(51,223,192,.09); color:var(--mint); font-size:.75rem; font-style:normal; font-weight:900; }
.proof-strip strong { color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.8rem,3vw,2.45rem); line-height:1; letter-spacing:-.035em; }
.proof-strip span { max-width:220px; color:#bdd0e2; font-size:.79rem; font-weight:700; line-height:1.45; }

.reward-feature { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; padding-block:96px; }
.reward-copy h2 { margin:0; max-width:620px; font-size:clamp(2.7rem,4.7vw,4.5rem); font-weight:600; line-height:.98; letter-spacing:-.045em; }
.reward-copy > p:not(.eyebrow) { max-width:590px; margin:24px 0 30px; color:var(--muted); font-size:1rem; line-height:1.68; }
.reward-rules { display:flex; flex-wrap:wrap; gap:10px; }
.reward-rules > span { display:flex; align-items:center; gap:7px; padding:8px 10px; border:1px solid var(--line); border-radius:999px; color:#506176; background:#fff; font-size:.68rem; font-weight:700; }
.reward-rules i { width:20px; height:20px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--blue); font-size:.58rem; font-style:normal; }
.reward-demo { position:relative; min-height:430px; overflow:hidden; padding:44px; border-radius:30px; background:linear-gradient(145deg,#081a36,#0d315e); box-shadow:0 28px 65px rgba(7,23,47,.18); }
.reward-demo::before { content:""; position:absolute; width:330px; height:330px; right:-180px; top:-190px; border:1px solid rgba(40,216,189,.16); border-radius:50%; box-shadow:0 0 0 34px rgba(40,216,189,.03),0 0 0 68px rgba(40,216,189,.02); }
.reward-setting { position:relative; z-index:1; width:min(330px,88%); padding:25px; border-radius:22px; background:#fff; box-shadow:0 25px 55px rgba(0,0,0,.22); transform:rotate(-2deg); }
.setting-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.setting-head > span { color:var(--blue); font-size:.62rem; font-weight:850; letter-spacing:.13em; }
.setting-head > strong { padding:5px 8px; border-radius:999px; color:#07806a; background:var(--mint-pale); font-size:.55rem; }
.reward-amount { display:flex; align-items:flex-start; gap:7px; margin:25px 0 22px; }
.reward-amount span { margin-top:10px; color:#718096; font-size:.78rem; font-weight:750; }
.reward-amount strong { color:var(--navy); font-family:Georgia,serif; font-size:4.4rem; font-weight:500; line-height:.8; }
.transport-toggle { display:flex; align-items:center; gap:12px; padding-top:17px; border-top:1px solid var(--line); }
.transport-toggle > span { width:37px; height:21px; display:flex; align-items:center; justify-content:flex-end; flex:none; padding:3px; border-radius:999px; background:var(--blue); }
.transport-toggle > span i { width:15px; height:15px; border-radius:50%; background:#fff; }
.transport-toggle > div { display:grid; gap:2px; }
.transport-toggle strong { font-size:.7rem; }
.transport-toggle small { color:#748296; font-size:.58rem; }
.reward-result { position:absolute; z-index:2; right:30px; bottom:30px; width:min(300px,72%); padding:20px; border:1px solid rgba(255,255,255,.2); border-radius:18px; color:#fff; background:rgba(255,255,255,.09); backdrop-filter:blur(12px); transform:rotate(2deg); }
.reward-result > span { display:block; margin-bottom:10px; color:var(--mint); font-size:.55rem; font-weight:850; letter-spacing:.12em; }
.reward-result > div { padding:12px; border:1px solid rgba(255,255,255,.16); border-radius:11px; background:rgba(255,255,255,.08); font-size:.78rem; }
.reward-result small { display:block; margin-top:10px; color:rgba(255,255,255,.58); font-size:.58rem; }

.story,.pricing,.faq { padding-block:96px; }
.section-heading { max-width:650px; }
.section-heading.centered { margin-inline:auto; text-align:center; }
.section-heading.centered .eyebrow { justify-content:center; }
.section-heading h2,.included h2,.kindness h2 { margin:0; font-size:clamp(2.7rem,4.8vw,4.6rem); font-weight:600; line-height:.98; letter-spacing:-.045em; }
.story .section-heading h2 { font-size:clamp(2.45rem,4vw,3.8rem); }
.section-heading > p:last-child { margin:20px 0 0; color:var(--muted); font-size:1rem; line-height:1.65; }
.steps-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:42px 0 0; padding:0; list-style:none; counter-reset:steps; }
.steps-grid li { position:relative; min-height:240px; padding:24px; border:1px solid var(--line); border-radius:22px; background:#fff; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.steps-grid li:hover { transform:translateY(-5px); border-color:#b9cbea; box-shadow:0 20px 40px rgba(7,23,47,.09); }
.step-no { position:absolute; top:22px; right:22px; color:#a5b1bf; font-family:Georgia,serif; font-size:.8rem; }
.step-icon { width:48px; height:48px; display:grid; place-items:center; margin-bottom:32px; border-radius:14px; color:var(--blue); background:#eaf2ff; }
.step-icon svg { width:24px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.steps-grid h3 { margin:0 0 12px; color:var(--navy); font-size:1.02rem; }
.steps-grid p { margin:0; color:var(--muted); font-size:.85rem; line-height:1.58; }

.included { padding-bottom:96px; }
.included-panel { display:grid; grid-template-columns:1.02fr .98fr; min-height:650px; overflow:hidden; border-radius:32px; background:var(--navy); box-shadow:var(--shadow); }
.included-copy { padding:clamp(44px,7vw,80px); color:#fff; }
.included-copy h2 { color:#fff; }
.included-copy > p:not(.eyebrow) { max-width:570px; margin:22px 0 34px; color:rgba(255,255,255,.63); line-height:1.65; }
.included-copy ul { display:grid; gap:0; margin:0; padding:0; list-style:none; }
.included-copy li { display:grid; grid-template-columns:30px 1fr; gap:11px; padding:16px 0; border-top:1px solid rgba(255,255,255,.1); }
.included-copy li i { display:grid; width:24px; height:24px; place-items:center; border-radius:50%; color:var(--navy); background:var(--mint); font-size:.72rem; font-style:normal; font-weight:900; }
.included-copy li span { display:grid; gap:4px; }
.included-copy li strong { font-size:.9rem; }
.included-copy li small { color:rgba(255,255,255,.55); font-size:.76rem; line-height:1.4; }
.kit-preview { position:relative; min-width:0; overflow:hidden; padding:38px 34px 28px; background:radial-gradient(circle at 82% 18%,rgba(33,104,246,.22),transparent 17rem),linear-gradient(145deg,#edf5ff,#dce9fb); }
.kit-preview::before { content:""; position:absolute; inset:0; opacity:.25; background-image:linear-gradient(rgba(33,104,246,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(33,104,246,.08) 1px,transparent 1px); background-size:32px 32px; }
.kit-preview-head,.kit-tabs,.kit-stage { position:relative; z-index:1; }
.kit-preview-head > span { color:var(--blue); font-size:.62rem; font-weight:850; letter-spacing:.15em; }
.kit-preview-head h3 { max-width:430px; margin:10px 0 8px; color:var(--navy); font-family:Georgia,serif; font-size:2rem; font-weight:600; line-height:1; letter-spacing:-.035em; }
.kit-preview-head p { margin:0; color:#687990; font-size:.78rem; line-height:1.45; }
.kit-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:24px 0 12px; }
.kit-tabs button { min-height:42px; padding:8px 10px; border:1px solid #c8d7e8; border-radius:12px; color:#5b6e85; background:rgba(255,255,255,.72); font:inherit; font-size:.68rem; font-weight:760; cursor:pointer; transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease; }
.kit-tabs button:hover { transform:translateY(-1px); border-color:#9bb7df; }
.kit-tabs button.is-active { color:#fff; border-color:var(--blue); background:var(--blue); box-shadow:0 10px 20px rgba(33,104,246,.2); }
.kit-tabs button:focus-visible { outline:3px solid rgba(33,104,246,.3); outline-offset:2px; }
.kit-stage { min-height:410px; display:grid; place-items:center; }
.kit-format { position:absolute; inset:0; display:grid; place-items:center; align-content:center; gap:18px; opacity:0; pointer-events:none; transform:translateY(18px) scale(.97); transition:opacity .28s ease,transform .38s cubic-bezier(.16,1,.3,1); }
.kit-format.is-active { opacity:1; pointer-events:auto; transform:none; }
.kit-format[aria-hidden="true"] { visibility:hidden; transition:opacity .2s ease,transform .25s ease,visibility 0s linear .25s; }
.kit-brand { font-size:.58rem; font-weight:900; letter-spacing:.15em; }
.kit-qr { display:block; width:132px; height:132px; padding:7px; border-radius:10px; background:#fff; }
.passport-insert,.wallet-format-card,.luggage-format-tag,.airtag-format-card { box-shadow:0 28px 60px rgba(7,23,47,.2); }
.passport-insert { width:min(300px,88%); display:grid; justify-items:center; padding:24px 22px 22px; border:1px solid rgba(255,255,255,.8); border-radius:22px; color:var(--navy); background:#fff; text-align:center; transform:rotate(-1.5deg); }
.passport-insert p,.luggage-format-tag p { margin:18px 0 10px; color:var(--blue); font-size:.62rem; font-weight:900; letter-spacing:.14em; }
.passport-insert strong { margin-top:14px; font-family:Georgia,serif; font-size:1.25rem; line-height:1; }
.passport-insert small,.luggage-format-tag small { margin-top:8px; color:#718198; font-size:.56rem; }
.wallet-format-card { width:min(410px,96%); min-height:220px; display:grid; grid-template-columns:1fr 124px; align-items:center; gap:18px; padding:25px; border-radius:24px; color:#fff; background:linear-gradient(145deg,#0a1c39,#123b70); transform:rotate(1deg); }
.wallet-format-card p,.airtag-format-card p { margin:26px 0 7px; color:var(--mint); font-size:.58rem; font-weight:900; letter-spacing:.14em; }
.wallet-format-card strong,.airtag-format-card strong { display:block; font-family:Georgia,serif; font-size:1.22rem; line-height:1.05; }
.wallet-format-card small,.airtag-format-card small { display:block; margin-top:12px; color:rgba(255,255,255,.62); font-size:.56rem; line-height:1.4; }
.wallet-format-card .kit-qr { width:124px; height:124px; padding:6px; }
.luggage-format-tag { width:min(255px,82%); display:grid; justify-items:center; padding:20px 24px 25px; border-radius:30px 30px 22px 22px; color:var(--navy); background:#fff; text-align:center; transform:rotate(1.5deg); }
.luggage-format-tag > i { width:58px; height:15px; margin-bottom:15px; border:5px solid #dce6f1; border-radius:999px; background:#eef4fa; }
.luggage-format-tag strong { margin-top:14px; font-family:Georgia,serif; font-size:1.05rem; }
.airtag-format-card { width:min(430px,98%); display:grid; grid-template-columns:86px 1fr 104px; align-items:center; gap:15px; padding:22px; border-radius:26px; color:#fff; background:linear-gradient(145deg,#0a1c39,#123b70); transform:rotate(-1deg); }
.airtag-pocket { display:grid; justify-items:center; gap:7px; }
.airtag-pocket i { width:72px; height:72px; border:9px solid rgba(255,255,255,.18); border-radius:50%; background:radial-gradient(circle,#fff 0 34%,#dfe8f2 36% 42%,#f8fbff 44%); box-shadow:inset 0 0 0 1px rgba(255,255,255,.35); }
.airtag-pocket span { color:rgba(255,255,255,.62); font-size:.48rem; }
.airtag-format-card p { margin-top:16px; }
.airtag-format-card .kit-qr { width:104px; height:104px; padding:5px; }
.kit-format-note { width:min(440px,96%); display:grid; gap:4px; padding:13px 15px; border:1px solid rgba(255,255,255,.78); border-radius:14px; color:#687990; background:rgba(255,255,255,.74); backdrop-filter:blur(8px); text-align:left; }
.kit-format-note strong { color:var(--navy); font-size:.76rem; }
.kit-format-note span { font-size:.62rem; line-height:1.45; }
.compatibility-note { width:min(440px,96%); margin:-10px 0 0; color:#718198; font-size:.48rem; text-align:center; }

.kindness { display:grid; grid-template-columns:.9fr 1.1fr; gap:74px; align-items:start; padding-block:96px; border-top:1px solid var(--line); }
.kindness-intro { position:sticky; top:40px; }
.kindness-intro > p:last-child { max-width:550px; margin:24px 0 0; color:var(--muted); font-size:1rem; line-height:1.68; }
.promise-grid { display:grid; grid-template-columns:1fr; gap:12px; }
.promise-grid article { display:grid; grid-template-columns:38px 1fr; gap:18px; align-items:start; min-height:0; padding:24px; border:1px solid var(--line); border-radius:22px; background:linear-gradient(145deg,#fff,#f8fbff); }
.promise-grid article > span { display:grid; width:38px; height:38px; place-items:center; border-radius:50%; color:var(--blue); background:#eaf2ff; font-family:Georgia,serif; font-size:.72rem; }
.promise-grid h3 { margin:1px 0 8px; color:var(--navy); font-size:1rem; }
.promise-grid p { margin:0; color:var(--muted); font-size:.82rem; line-height:1.55; }

.pricing { border-top:1px solid var(--line); }
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); align-items:stretch; gap:16px; margin-top:52px; }
.plan-card { position:relative; display:flex; flex-direction:column; min-height:520px; padding:30px; border:1px solid #d4e0ed; border-radius:26px; background:#fff; box-shadow:0 18px 45px rgba(7,23,47,.07); }
.plan-card.plan-personal { border-color:#a9c6fb; box-shadow:0 24px 55px rgba(33,104,246,.12); }
.plan-card.plan-gift { border-color:#bfe8df; background:linear-gradient(150deg,#fff 0%,#f4fffc 100%); box-shadow:0 20px 48px rgba(7,78,68,.09); }
.gift-plan-heading { display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:start; }
.gift-plan-mark { width:42px; height:42px; display:grid; place-items:center; flex:none; border-radius:14px; color:#087663; background:var(--mint-pale); font-size:1.05rem; box-shadow:inset 0 0 0 1px rgba(40,216,189,.28); }
.plan-gift .plan-top > p { color:#087663; }
.plan-card.plan-kind { overflow:hidden; color:#fff; border-color:#16467c; background:linear-gradient(145deg,#0d315e,var(--navy)); box-shadow:0 26px 60px rgba(7,23,47,.2); }
.kind-label { position:absolute; top:0; right:0; display:flex; align-items:center; gap:6px; padding:9px 13px; border-radius:0 25px 0 14px; color:var(--navy); background:var(--mint); font-size:.58rem; font-weight:900; letter-spacing:.1em; }
.kind-label span { font-size:.9rem; }
.plan-top > p { margin:0 0 22px; color:var(--blue); font-size:.65rem; font-weight:850; letter-spacing:.14em; }
.plan-kind .plan-top > p { color:var(--mint); }
.plan-top h3 { margin:0; color:var(--navy); font-family:Georgia,serif; font-size:3.5rem; font-weight:500; line-height:.9; }
.plan-top > span { display:block; margin-top:11px; color:#748398; font-size:.72rem; font-weight:650; }
.plan-kind .plan-top > span { color:rgba(255,255,255,.55); }
.plan-price { display:flex; align-items:flex-start; gap:4px; }
.plan-price sup { margin-top:9px; color:#65758a; font-size:.7rem; font-weight:750; }
.plan-kind .plan-price sup { color:rgba(255,255,255,.58); }
.plan-price strong { color:var(--navy); font-family:Georgia,serif; font-size:3.7rem; font-weight:500; line-height:.88; letter-spacing:-.04em; }
.plan-kind .plan-price strong { color:#fff; }
.plan-summary { min-height:70px; margin:27px 0 24px; color:var(--muted); font-size:.84rem; line-height:1.55; }
.plan-kind .plan-summary { color:rgba(255,255,255,.65); }
.plan-card ul { display:grid; gap:12px; margin:0 0 30px; padding:22px 0 0; border-top:1px solid var(--line); list-style:none; }
.plan-kind ul { border-color:rgba(255,255,255,.12); }
.plan-card li { position:relative; padding-left:21px; color:#43566e; font-size:.78rem; line-height:1.45; }
.plan-kind li { color:rgba(255,255,255,.76); }
.plan-card li::before { content:"✓"; position:absolute; left:0; color:#07866f; font-weight:900; }
.plan-kind li::before { color:var(--mint); }
.plan-card .button { margin-top:auto; }
.wide { width:100%; }
.pricing-footnote { max-width:860px; margin:26px auto 0; color:#7a8899; font-size:.7rem; line-height:1.55; text-align:center; }

.faq { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); align-items:start; gap:76px; padding-top:96px; border-top:1px solid var(--line); }
.faq-heading { position:sticky; top:40px; }
.faq-intro { max-width:430px; margin:24px 0 0; color:var(--muted); font-size:.9rem; line-height:1.65; }
.faq-list { display:grid; gap:10px; margin:0; }
.faq-list details { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:linear-gradient(145deg,#fff,#f9fbfe); transition:border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.faq-list details[open] { border-color:#b8cef2; background:#fff; box-shadow:0 14px 34px rgba(7,23,47,.07); }
.faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:76px; padding:20px 20px 20px 22px; color:var(--navy); font-size:.88rem; font-weight:760; line-height:1.4; cursor:pointer; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-question { min-width:0; color:inherit; font:inherit; transform:none !important; animation:none !important; }
.faq-toggle { width:32px; height:32px; display:grid; place-items:center; flex:none; border-radius:50%; color:var(--blue); background:#eaf2ff; font-size:1.25rem; font-weight:400; line-height:1; transition:transform .22s ease,color .22s ease,background .22s ease; }
.faq-list details[open] .faq-toggle { color:var(--navy); background:var(--mint-pale); transform:rotate(45deg); }
.faq-list details p { max-width:760px; margin:-3px 62px 22px 22px; color:var(--muted); font-size:.82rem; line-height:1.65; animation:faqAnswerIn .24s ease-out; }
@keyframes faqAnswerIn { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:none; } }

footer { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); align-items:start; gap:40px 64px; margin-top:28px; margin-bottom:20px; padding:44px 46px 24px; border:1px solid rgba(255,255,255,.1); border-radius:28px; color:rgba(255,255,255,.68); background:linear-gradient(145deg,#07172f,#0b2852); box-shadow:0 24px 60px rgba(7,23,47,.16); font-size:.72rem; }
.footer-about { display:grid; gap:30px; }
.footer-brand { width:max-content; display:flex; align-items:center; gap:11px; color:inherit; text-decoration:none; }
.footer-brand .brand-mark { width:36px; height:36px; border-radius:11px; background:#fff; box-shadow:none; }
.footer-brand .brand-mark svg { width:22px; fill:var(--navy); }
.footer-brand .brand-mark .brand-check { stroke:var(--mint); }
.footer-brand > div { display:grid; gap:3px; }
.footer-brand strong { color:#fff; font-size:.76rem; letter-spacing:.13em; }
.footer-brand small { color:rgba(255,255,255,.55); font-size:.66rem; }
.footer-story { max-width:620px; }
.footer-story strong { display:block; margin-bottom:10px; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:1.6rem; font-weight:500; letter-spacing:-.025em; }
.footer-story p { max-width:590px; margin:0; color:rgba(255,255,255,.68); font-size:.84rem; line-height:1.65; }
.footer-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 22px; padding-top:4px; }
.footer-links a { min-height:38px; display:flex; align-items:center; color:rgba(255,255,255,.78); font-weight:720; text-decoration:none; }
.footer-links a:hover { color:var(--mint); }
.footer-bottom { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:20px; border-top:1px solid rgba(255,255,255,.11); }
.footer-bottom p { margin:0; color:rgba(255,255,255,.42); font-size:.64rem; }
.footer-bottom span { color:var(--mint); font-size:.62rem; font-weight:720; letter-spacing:.04em; }

dialog { width:min(680px,calc(100% - 28px)); max-height:calc(100dvh - 28px); overflow-y:auto; overscroll-behavior:contain; padding:36px; border:0; border-radius:26px; color:var(--ink); background:#fff; box-shadow:0 35px 100px rgba(4,17,36,.36); }
dialog::backdrop { background:rgba(5,18,37,.65); backdrop-filter:blur(8px); }
dialog[open] { animation:dialogIn .22s ease-out; }
@keyframes dialogIn { from { opacity:0; transform:translateY(14px) scale(.98); } }
.dialog-close { position:absolute; top:17px; right:17px; width:38px; height:38px; border:1px solid var(--line); border-radius:50%; color:#607086; background:#fff; font-size:1.2rem; cursor:pointer; }
.dialog-kicker { margin:0 0 9px; color:var(--blue); font-size:.65rem; font-weight:850; letter-spacing:.14em; }
dialog h2 { max-width:500px; margin:0; font-size:2.5rem; line-height:1; }
.dialog-intro { max-width:560px; margin:16px 0 0; color:var(--muted); font-size:.9rem; line-height:1.55; }
.demo-flow { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; gap:11px; margin:30px 0; }
.demo-flow div { display:grid; gap:4px; min-width:0; padding:15px; border:1px solid var(--line); border-radius:14px; background:#f8fbff; }
.demo-flow div span { width:24px; height:24px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--blue); font-size:.65rem; font-weight:800; }
.demo-flow strong { margin-top:7px; font-size:.78rem; }
.demo-flow small { color:#738194; font-size:.62rem; line-height:1.3; }
.demo-flow > i { color:#9aabba; font-style:normal; }
.demo-preview-button { width:100%; min-height:62px; display:flex; align-items:center; justify-content:center; gap:14px; padding:0 20px; border:0; border-radius:16px; color:#fff; background:linear-gradient(135deg,#07172f,#0c2b55); box-shadow:0 16px 35px rgba(7,23,47,.16); font:inherit; font-size:.9rem; font-weight:800; cursor:pointer; }
.demo-preview-button:hover { background:linear-gradient(135deg,#0b2347,#114079); }
.demo-preview-button b { font-size:1.2rem; }
.demo-preview-button:focus-visible { outline:3px solid rgba(33,104,246,.34); outline-offset:3px; }
.demo-note { margin:16px 0 0; color:var(--muted); font-size:.75rem; line-height:1.5; text-align:center; }

@media (max-width:950px) {
  nav { display:none; }
  .hero { grid-template-columns:1fr; gap:58px; padding:70px 0 78px; }
  .hero-copy { text-align:center; }
  .eyebrow,.hero-actions,.trust-row { justify-content:center; }
  .gift-cta { justify-content:center; }
  .hero-intro { margin-inline:auto; }
  .product-stage { width:min(650px,100%); margin-inline:auto; }
  .proof-strip { grid-template-columns:1fr 1fr; }
  .reward-feature { grid-template-columns:1fr; gap:42px; }
  .reward-demo { width:min(650px,100%); margin-inline:auto; }
  .steps-grid { grid-template-columns:repeat(3,1fr); }
  .included-panel { grid-template-columns:1fr; }
  .kit-preview { min-height:600px; }
  .kindness { grid-template-columns:1fr; gap:42px; }
  .kindness-intro { position:static; }
  .faq { grid-template-columns:1fr; gap:36px; }
  .faq-heading { position:static; }
  .pricing-grid,.pricing-grid.with-gift { grid-template-columns:minmax(0,1fr); width:100%; max-width:620px; margin-inline:auto; }
  .plan-card { min-height:auto; }
  .plan-summary { min-height:auto; }
}

@media (max-width:640px) {
  .section-shell,.site-header,footer { width:min(100% - 24px,1180px); }
  .site-header { min-height:74px; }
  .header-cta { display:none; }
  .header-actions { margin-left:auto; }
  .site-language { min-width:126px; height:40px; padding-left:10px; }
  .brand { font-size:.76rem; }
  .hero { min-height:auto; gap:46px; padding:46px 0 62px; }
  h1 { font-size:clamp(3.05rem,14vw,4.35rem); }
  h1 em { font-size:.72em; }
  .hero-intro { font-size:1rem; }
  .hero-actions { display:grid; }
  .trust-row { gap:11px; }
  .product-stage { min-height:610px; padding:82px 16px 108px; border-radius:25px; }
  .finder-card { width:100%; padding:20px; transform:rotate(-.6deg); }
  .finder-card h2 { font-size:2.12rem; }
  .stage-topline { top:18px; left:18px; right:18px; align-items:flex-start; }
  .scan-badge { font-size:.48rem; }
  .language-cloud span { font-size:.49rem; padding:5px 7px; }
  .stage-footer { left:15px; right:15px; bottom:16px; display:grid; justify-items:center; }
  .worldwide-note { display:none; }
  .item-tabs { justify-content:center; }
  .item-tabs span { padding:5px 7px; font-size:.5rem; }
  .delivery-route { grid-template-columns:auto auto 1fr; gap:5px; }
  .route-label { font-size:.41rem; }
  .route-channels i { padding:3px 4px; font-size:.39rem; }
  .proof-strip div { min-height:150px; padding:22px 14px; }
  .proof-strip strong { font-size:1.6rem; }
  .proof-strip span { font-size:.72rem; }
  .reward-feature { padding-block:72px; }
  .reward-copy h2 { font-size:clamp(2.45rem,12vw,3.4rem); }
  .reward-demo { min-height:410px; padding:28px 18px; border-radius:24px; }
  .reward-setting { width:88%; padding:21px; }
  .reward-result { right:16px; bottom:22px; width:78%; }
  .story,.pricing,.faq { padding-block:64px; }
  .section-heading h2,.included h2,.kindness h2 { font-size:clamp(2.45rem,12vw,3.4rem); }
  .story .section-heading h2 { font-size:clamp(2.35rem,10.5vw,2.85rem); line-height:1.02; }
  .story .section-heading > p:last-child { margin-top:16px; line-height:1.55; }
  .steps-grid { grid-template-columns:1fr; }
  .steps-grid li { display:grid; grid-template-columns:48px 1fr; align-items:start; gap:16px; min-height:auto; padding:20px; }
  .step-icon { margin:0; }
  .step-copy { padding:2px 28px 0 0; }
  [dir="rtl"] .step-copy { padding:2px 0 0 28px; }
  .steps-grid h3 { margin-bottom:7px; }
  .included { width:100%; padding-bottom:72px; }
  .included-panel { border-radius:0; }
  .included-copy { padding:55px 22px; }
  .kit-preview { min-height:640px; padding:34px 18px 24px; }
  .kit-preview-head h3 { font-size:1.8rem; }
  .kit-stage { min-height:430px; }
  .wallet-format-card { grid-template-columns:1fr 104px; gap:12px; padding:20px; }
  .wallet-format-card .kit-qr { width:104px; height:104px; }
  .airtag-format-card { grid-template-columns:68px 1fr 82px; gap:10px; padding:17px; }
  .airtag-pocket i { width:58px; height:58px; border-width:7px; }
  .airtag-format-card .kit-qr { width:82px; height:82px; }
  .airtag-format-card strong { font-size:.9rem; }
  .kindness { padding-block:72px; }
  .promise-grid { grid-template-columns:1fr; }
  .promise-grid article { min-height:auto; padding:20px; }
  .pricing-grid,.pricing-grid.with-gift { grid-template-columns:minmax(0,1fr); gap:14px; margin-top:38px; }
  .plan-card { padding:27px 22px; border-radius:22px; }
  .gift-plan-heading { grid-template-columns:1fr; gap:14px; }
  .faq { gap:28px; padding-top:64px; }
  .faq-list { gap:8px; }
  .faq-list summary { min-height:70px; padding:17px 16px 17px 18px; font-size:.96rem; line-height:1.38; }
  .faq-list details p { margin:-1px 52px 19px 18px; font-size:.9rem; line-height:1.62; }
  footer { grid-template-columns:1fr; gap:30px; margin-bottom:12px; padding:32px 24px 22px; border-radius:24px; }
  .footer-about { gap:24px; }
  .footer-story strong { font-size:1.45rem; }
  .footer-story p { font-size:.9rem; line-height:1.62; }
  .footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 18px; }
  .footer-bottom { grid-column:1; align-items:flex-start; flex-direction:column; gap:8px; }
  dialog { padding:30px 20px 22px; }
  dialog h2 { font-size:2rem; }
  .demo-flow { grid-template-columns:1fr; }
  .demo-flow > i { transform:rotate(90deg); text-align:center; }
  .demo-flow { gap:8px; margin:22px 0; }
  .demo-flow div { padding:14px 15px; }
  .demo-preview-button { min-height:58px; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; }
}
@media (max-width:760px){
  .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px 0 18px}
  .site-header nav{display:none}
  .site-header .brand{grid-column:1;grid-row:1;min-height:44px}
  .header-actions{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:10px;
    width:100%;
    margin:0;
  }
  .header-login{
    min-height:46px;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    padding:0 15px;
    border:1px solid #cbd9ea;
    border-radius:14px;
    white-space:nowrap;
    line-height:1;
  }
  .header-login{color:var(--navy);background:rgba(255,255,255,.82);box-shadow:0 8px 20px rgba(17,53,96,.05)}
  .header-cta{display:none!important}
  .site-language{grid-column:2;grid-row:1;width:100%;min-width:0;height:46px;order:initial;border-radius:14px}
}
