/* Voyage IA — design system (aligné SnapMarket) */
:root {
  --r-sm:12px; --r-md:16px; --r-lg:22px; --r-pill:999px;
  --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px; --sp-6:24px; --sp-8:32px;
  --f-head:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --f-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --ease:cubic-bezier(.4,0,.2,1); --t:.2s var(--ease); --t-slow:.4s var(--ease);
  --accent:#13b0a2; --accent-2:#5cab83;
  --accent-grad:linear-gradient(135deg,#13b0a2 0%,#5cab83 100%);
  --glow:0 10px 26px -10px rgba(19,176,162,.4);
  --safe-top:env(safe-area-inset-top,0px); --safe-bottom:env(safe-area-inset-bottom,0px);
}
/* NUIT — bleu nuit océan */
[data-theme="dark"]{--bg:#081a2e;--surface:#0e2740;--surface-2:#143251;--surface-3:#1c3f63;--text:#e9f2f9;--text-2:#a6c0d6;--text-3:#6c87a1;--border:#1b3a58;--border-2:#264a6c;--shadow-sm:0 1px 2px rgba(0,8,20,.5);--shadow-md:0 14px 36px -12px rgba(0,10,25,.6);--bar:rgba(8,26,46,.9);--scrim:rgba(8,26,46,.72);}
/* JOUR — pastel beige / vert / turquoise */
[data-theme="light"]{--bg:#f4f0e6;--surface:#fdfbf5;--surface-2:#ece6d6;--surface-3:#e0d9c6;--text:#2b3a33;--text-2:#5c6b61;--text-3:#8a9890;--border:#e3ddcd;--border-2:#d5ccb9;--shadow-sm:0 1px 2px rgba(80,90,70,.07);--shadow-md:0 14px 36px -14px rgba(60,80,70,.18);--bar:rgba(244,240,230,.9);--scrim:rgba(244,240,230,.74);}

*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{height:100%;}
html{background:var(--bg);}
body{font-family:var(--f-body);background:transparent;color:var(--text);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:color var(--t);}
button,input{font-family:inherit;color:inherit;}
.hidden{display:none!important;}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(40% 32% at 84% -6%, rgba(94,202,178,.30), transparent 72%),
    radial-gradient(44% 34% at 112% 28%, rgba(140,196,162,.26), transparent 74%),
    radial-gradient(46% 32% at -8% 10%, rgba(110,206,196,.30), transparent 74%),
    radial-gradient(50% 40% at -10% 108%, rgba(214,198,166,.34), transparent 74%),
    radial-gradient(46% 38% at 58% 120%, rgba(168,210,178,.22), transparent 74%);
}
[data-theme="light"] body::before{opacity:.7;}
.ic{width:1.2em;height:1.2em;display:inline-block;vertical-align:-.22em;flex:none;}

.app-header{position:sticky;top:0;z-index:20;height:calc(60px + var(--safe-top));padding:var(--safe-top) var(--sp-5) 0;display:flex;align-items:center;justify-content:space-between;background:var(--bar);backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid var(--border);}
.brand{display:flex;align-items:center;gap:8px;}
.brand-mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--accent-grad);color:#fff;box-shadow:var(--shadow-sm);}
.brand-mark .ic{width:18px;height:18px;}
.brand-name{font-family:var(--f-head);font-size:19px;font-weight:800;letter-spacing:-.4px;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.brand-by{font-size:11px;color:var(--text-3);font-weight:600;align-self:flex-end;margin-bottom:3px;}
.icon-btn{width:44px;height:44px;border-radius:var(--r-pill);display:grid;place-items:center;background:var(--surface);border:1px solid var(--border);color:var(--text-2);cursor:pointer;transition:transform var(--t);}
.icon-btn:active{transform:scale(.9);}

.app-main{max-width:680px;margin:0 auto;padding:var(--sp-5) var(--sp-4) var(--sp-4);}
.hero{text-align:center;padding:var(--sp-5) var(--sp-2) var(--sp-6);}
.hero-title{font-family:var(--f-head);font-size:30px;font-weight:800;letter-spacing:-.6px;}
.hero-sub{color:var(--text-2);margin-top:6px;font-size:15px;}

.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);box-shadow:var(--shadow-md);margin-bottom:var(--sp-4);}

.field{display:block;margin-bottom:var(--sp-4);}
.field-label{display:block;font-size:12.5px;color:var(--text-2);margin-bottom:6px;font-weight:600;}
.field-row{display:flex;gap:var(--sp-3);}
.field-row .field{flex:1;}
.input{width:100%;background:var(--bg);border:1px solid var(--border-2);border-radius:var(--r-sm);padding:14px;font-size:16px;min-height:50px;transition:border-color var(--t),box-shadow var(--t);}
.input::placeholder{color:var(--text-3);}
.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent);}
.input-affix{position:relative;display:flex;align-items:center;}
.input-affix .affix{position:absolute;right:14px;font-weight:700;color:var(--text-2);}
.input-affix .input{padding-right:32px;}

.vibes{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 var(--sp-5);}
.vibe{font-family:var(--f-head);font-size:13.5px;font-weight:600;padding:9px 13px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border-2);color:var(--text-2);cursor:pointer;transition:all var(--t);}
.vibe:active{transform:scale(.95);}
.vibe.is-on{background:var(--accent-grad);color:#fff;border-color:transparent;box-shadow:var(--glow);}

/* ===== "Quand ?" — date-picker minimaliste ===== */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.when{margin-bottom:var(--sp-5);}
.when-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap;}
.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--r-pill);padding:3px;gap:2px;}
.seg-btn{font-family:var(--f-head);font-size:12.5px;font-weight:600;padding:7px 13px;border-radius:var(--r-pill);background:transparent;border:0;color:var(--text-2);cursor:pointer;transition:all var(--t);}
.seg-btn.is-on{background:var(--accent-grad);color:#fff;box-shadow:var(--glow);}
.when-panel{animation:whenFade .25s ease;}
@keyframes whenFade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
.chiprow{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.chiprow::-webkit-scrollbar{display:none;}
.chiprow--wrap{flex-wrap:wrap;overflow:visible;}
.chip{flex:none;font-family:var(--f-head);font-size:13px;font-weight:600;padding:9px 14px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border-2);color:var(--text-2);cursor:pointer;white-space:nowrap;transition:all var(--t);}
.chip:active{transform:scale(.95);}
.chip.is-on{background:var(--accent-grad);color:#fff;border-color:transparent;box-shadow:var(--glow);}
.when-hint{font-size:12.5px;color:var(--text-2);margin:8px 2px 0;min-height:16px;}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border-2);background:var(--surface-2);color:var(--text);padding:13px 16px;min-height:48px;border-radius:var(--r-sm);font-size:15px;font-weight:600;font-family:var(--f-head);white-space:nowrap;cursor:pointer;transition:transform var(--t),box-shadow var(--t),opacity var(--t);}
.btn:active{transform:scale(.97);}
.btn:disabled{opacity:.5;}
.btn--block{width:100%;}
.btn--lg{padding:15px 18px;font-size:16px;}
.btn--accent{background:var(--accent-grad);color:#fff;border-color:transparent;box-shadow:var(--glow);}

.loader-card{text-align:center;padding:var(--sp-8) var(--sp-5);}
.ai-loader{position:relative;width:84px;height:84px;margin:0 auto var(--sp-5);display:grid;place-items:center;}
.ai-loader__ring{position:absolute;inset:0;border-radius:50%;border:3px solid var(--border-2);border-top-color:var(--accent);animation:spin .85s linear infinite;}
.ai-loader__icon{width:32px;height:32px;color:var(--accent-2);animation:float 1.6s var(--ease) infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-5px);}}
.loader-text{font-family:var(--f-head);font-size:17px;font-weight:700;}
.loader-subtext{font-size:13px;color:var(--text-2);margin-top:4px;}

.results{display:flex;flex-direction:column;gap:var(--sp-4);}
.dest{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md);animation:fadeUp .34s var(--ease);}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.dest__head{display:flex;align-items:flex-start;gap:12px;padding:var(--sp-5) var(--sp-5) var(--sp-3);}
.dest__emoji{font-size:34px;line-height:1;}
.dest__loc{flex:1;}
.dest__city{font-family:var(--f-head);font-size:20px;font-weight:800;letter-spacing:-.4px;}
.dest__country{font-size:13px;color:var(--text-3);}
.dest__budget{text-align:right;}
.dest__budget b{font-family:var(--f-head);font-size:19px;font-weight:800;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.dest__budget span{display:block;font-size:10.5px;color:var(--text-3);}
.dest__body{padding:0 var(--sp-5) var(--sp-4);}
.dest__why{color:var(--text-2);font-size:14.5px;}
.dest__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--sp-3);}
.tag{font-family:var(--f-head);font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-2);border:1px solid var(--border);}
.dest__hl{margin-top:var(--sp-3);display:flex;flex-direction:column;gap:5px;}
.dest__hl li{list-style:none;font-size:13.5px;color:var(--text-2);display:flex;gap:8px;align-items:flex-start;}
.dest__hl li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);margin-top:7px;flex:none;}
.dest__meta{font-size:12px;color:var(--text-3);margin-top:var(--sp-3);}
.dest__actions{display:flex;gap:8px;padding:var(--sp-3) var(--sp-5) var(--sp-5);border-top:1px solid var(--border);}
.dest__actions .btn{flex:1;font-size:13.5px;padding:11px 8px;min-height:46px;gap:5px;}
.dest__actions .ic{width:16px;height:16px;}

.legal{max-width:680px;margin:0 auto;padding:0 var(--sp-4) var(--sp-8);text-align:center;font-size:11.5px;color:var(--text-3);}

.empty{text-align:center;color:var(--text-2);padding:var(--sp-6);font-size:14px;}
.toast-err{border-color:#ef4444!important;}

/* === Photo destination (banner + overlay) — design 2026 === */
.dest{overflow:hidden;}
.dest__photo{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#202a3a,#2f3a52);background-size:cover;background-position:center;display:flex;align-items:flex-end;transition:transform .5s var(--ease,ease);}
.dest__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.74),rgba(0,0,0,.12) 50%,rgba(0,0,0,.04));}
.dest__photo.is-loaded{animation:photoIn .55s var(--ease,ease);}
@keyframes photoIn{from{opacity:.35;filter:blur(6px);}to{opacity:1;filter:blur(0);}}
.dest:hover .dest__photo{transform:scale(1.035);}
.dest__photo-cap{position:relative;z-index:2;display:flex;align-items:flex-end;gap:10px;width:100%;padding:14px;color:#fff;}
.dest__photo-cap .dest__emoji{font-size:26px;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.55));}
.dest__photo-cap .dest__loc{flex:1;min-width:0;}
.dest__photo-cap .dest__city{font-family:var(--f-head);font-size:20px;font-weight:800;letter-spacing:-.3px;text-shadow:0 2px 10px rgba(0,0,0,.65);}
.dest__photo-cap .dest__country{font-size:13px;opacity:.93;text-shadow:0 1px 5px rgba(0,0,0,.6);}
.dest__photo-cap .dest__budget{text-align:right;background:rgba(0,0,0,.34);backdrop-filter:blur(7px);padding:6px 10px;border-radius:var(--r-pill,999px);border:1px solid rgba(255,255,255,.14);}
.dest__photo-cap .dest__budget b{display:block;font-family:var(--f-head);font-size:16px;font-weight:800;color:#fff;-webkit-text-fill-color:#fff;}
.dest__photo-cap .dest__budget span{font-size:10px;opacity:.85;}

/* === Skeleton shimmer (loading pro) === */
.skel{position:relative;overflow:hidden;background:var(--surface-2);border-radius:var(--r-sm,10px);}
.skel::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--text) 9%,transparent),transparent);animation:shimmer 1.25s infinite;}
@keyframes shimmer{100%{transform:translateX(100%);}}
.skel-photo{aspect-ratio:16/9;border-radius:0;}
.skel-line{height:12px;margin:11px 14px;}
.skel-line.w90{width:88%;}.skel-line.w70{width:66%;}.skel-line.w50{width:46%;}
.dest--skel{pointer-events:none;}

/* === Hero coloré === */
.hero-title{background:linear-gradient(100deg,#0ea5a3 0%,#3b82f6 42%,#a855f7 72%,#f4725d 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}

/* === Séjours présélectionnés === */
.featured-wrap{margin-top:var(--sp-8);}
.featured-head{margin-bottom:var(--sp-4);}
.featured-title{font-family:var(--f-head);font-size:22px;font-weight:800;letter-spacing:-.4px;}
.featured-sub{color:var(--text-2);font-size:14px;margin-top:2px;}
.dest--featured{position:relative;border-color:transparent;background:
  linear-gradient(var(--surface),var(--surface)) padding-box,
  linear-gradient(135deg,#0ea5a3,#3b82f6 45%,#a855f7) border-box;
  border:1.5px solid transparent;}
.dest--featured::before{content:"Coup de cœur";position:absolute;top:10px;left:10px;z-index:3;font-family:var(--f-head);font-size:10.5px;font-weight:800;letter-spacing:.3px;padding:4px 9px;border-radius:var(--r-pill);background:linear-gradient(135deg,#f4725d,#a855f7);color:#fff;box-shadow:0 4px 12px -3px rgba(168,85,247,.6);}
.dest--flash{background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(135deg,#f59e0b,#f4725d) border-box;}
.dest--flash::before{content:"⚡ Offre éclair";background:linear-gradient(135deg,#f59e0b,#f4725d);box-shadow:0 4px 12px -3px rgba(245,158,11,.6);}
/* Badges personnalisés (priment sur "Coup de cœur") */
.dest--featured[data-badge="Nouveau"]::before{content:"✨ Nouveau";background:linear-gradient(135deg,#10b981,#0ea5a3);box-shadow:0 4px 12px -3px rgba(16,185,129,.55);}
.dest--featured[data-badge="Tendance"]::before{content:"🔥 Tendance";background:linear-gradient(135deg,#3b82f6,#a855f7);box-shadow:0 4px 12px -3px rgba(59,130,246,.55);}

/* === Onglets catégories === */
.cat-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin-bottom:var(--sp-4);-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.cat-tabs::-webkit-scrollbar{display:none;}
.cat-tab{flex:none;font-family:var(--f-head);font-size:13.5px;font-weight:700;padding:9px 14px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border-2);color:var(--text-2);cursor:pointer;white-space:nowrap;transition:all var(--t);display:inline-flex;align-items:center;gap:6px;}
.cat-tab:active{transform:scale(.95);}
.cat-tab.is-on{background:var(--accent-grad);color:#fff;border-color:transparent;box-shadow:var(--glow);}
.cat-badge{font-size:9.5px;font-weight:800;padding:2px 6px;border-radius:var(--r-pill);background:linear-gradient(135deg,#f59e0b,#f4725d);color:#fff;letter-spacing:.2px;}

/* === Barre de confiance (CRO) === */
.trust{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center;margin:0 auto var(--sp-4);max-width:560px;}
.trust__i{font-size:12px;font-weight:600;color:var(--text-2);}
.trust__i:first-letter{color:#10b981;}
.catpick{margin-bottom:var(--sp-4);}

/* ===== Avis clients ===== */
.reviews{margin-top:var(--sp-8);}
.reviews-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-4);}
.review-agg{font-size:14px;color:var(--text-2);}
.rv-stars{color:#f5b301;letter-spacing:1px;}
.reviews-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--sp-3);margin-bottom:var(--sp-4);}
.review{background:var(--surface,#14171f);border:1px solid var(--border,#262b36);border-radius:14px;padding:var(--sp-4);}
.review__top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;}
.review__name{font-weight:700;font-size:13px;}
.review__text{font-size:14px;line-height:1.5;color:var(--text-2);}
.review__dest{display:inline-block;margin-top:8px;font-size:12px;color:var(--text-3);}
.reviews-empty{color:var(--text-3);font-size:14px;margin-bottom:var(--sp-3);}
.review-form{display:flex;flex-direction:column;gap:var(--sp-3);margin-top:var(--sp-3);max-width:480px;}
.rv-pick{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-2);}
.rv-pick__stars{font-size:22px;cursor:pointer;user-select:none;}

/* ===== Itinéraire + extra cartes ===== */
.dest__extra{display:flex;gap:8px;padding:0 var(--sp-4,16px) var(--sp-4,16px);}
.dest__extra .btn{flex:1;font-size:13px;min-height:40px;}
.ic-spin{animation:spin 0.8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.itin-modal{position:fixed;inset:0;z-index:80;display:none;}
.itin-modal.open{display:block;}
.itin-scrim{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(3px);}
.itin-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,92vw);max-height:88vh;overflow-y:auto;background:var(--surface,#14171f);border:1px solid var(--border,#262b36);border-radius:18px;padding:24px;}
.itin-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:999px;border:none;background:var(--surface-2,#1c2029);color:var(--text,#fff);font-size:16px;cursor:pointer;}
.itin-title{font-family:var(--f-head,sans-serif);font-size:20px;font-weight:800;margin-bottom:6px;}
.itin-total{color:var(--text-2,#aeb4c2);font-size:14px;margin-bottom:14px;}
.itin-load{color:var(--text-2);display:flex;align-items:center;gap:8px;padding:18px 0;}
.itin-day{border-left:3px solid var(--accent,#0891b2);padding:10px 0 10px 14px;margin-bottom:12px;}
.itin-day__h{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.itin-day__n{background:var(--accent,#0891b2);color:#fff;font-weight:800;font-size:12px;padding:2px 9px;border-radius:999px;}
.itin-day__c{margin-left:auto;color:var(--accent,#0891b2);font-weight:700;font-size:13px;}
.itin-day p{font-size:13.5px;line-height:1.5;color:var(--text-2,#aeb4c2);margin:3px 0;}
.itin-tips{background:var(--surface-2,#1c2029);border-radius:12px;padding:12px 16px;margin:10px 0;font-size:13px;}
.itin-tips ul{margin:6px 0 0 16px;}
.itin-cta{display:block;text-align:center;margin-top:14px;text-decoration:none;}
.itin-err{color:#fca5a5;margin-top:10px;}
/* ── Animation d entrée pro (fade + rise subtil, GPU-safe, reduced-motion ok) 2026-05-29 ── */
@keyframes lzFade{from{opacity:0}to{opacity:1}}
@keyframes lzFadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
body{animation:lzFade .45s ease-out both}
.hero,.featured,.sejours,.mapwrap,.why,.geo,.art,.avis,#surmesure,.reviews{animation:lzFadeUp .6s cubic-bezier(.22,.61,.36,1) both}
.featured{animation-delay:.06s}.mapwrap{animation-delay:.1s}.sejours{animation-delay:.14s}.why{animation-delay:.18s}
@media (prefers-reduced-motion:reduce){body,.hero,.featured,.sejours,.mapwrap,.why,.geo,.art,.avis,#surmesure,.reviews{animation:none!important}}

/* ── GLOBE terrestre rotatif (fond, theme-aware jour/nuit) 2026-05-30 ── */
[data-theme="light"]{--g-ocean:#7fd9cf;--g-ocean2:#a9e3d5;--g-land:#bcd9a8;--g-land2:#e6dcc0;--g-atmo:rgba(94,202,178,.45);--g-shine:rgba(255,255,255,.55);}
[data-theme="dark"]{--g-ocean:#0c2c4a;--g-ocean2:#0a2238;--g-land:#16466b;--g-land2:#1f5d83;--g-atmo:rgba(40,180,210,.42);--g-shine:rgba(130,205,235,.20);}
.globe{position:fixed;z-index:-1;pointer-events:none;left:50%;bottom:-34vmin;transform:translateX(-50%);
  width:96vmin;height:96vmin;border-radius:50%;overflow:hidden;opacity:.5;
  box-shadow:inset -26px -26px 70px rgba(0,0,0,.30),0 0 90px var(--g-atmo);}
.globe::before{content:"";position:absolute;inset:-2px;border-radius:50%;
  background:
    radial-gradient(22% 18% at 16% 30%,var(--g-land) 0 58%,transparent 62%),
    radial-gradient(16% 24% at 38% 58%,var(--g-land2) 0 58%,transparent 62%),
    radial-gradient(20% 16% at 62% 36%,var(--g-land) 0 58%,transparent 62%),
    radial-gradient(14% 20% at 82% 62%,var(--g-land2) 0 58%,transparent 62%),
    radial-gradient(18% 14% at 50% 20%,var(--g-land) 0 58%,transparent 62%),
    linear-gradient(180deg,var(--g-ocean2),var(--g-ocean) 50%,var(--g-ocean2));
  background-size:200% 100%,200% 100%,200% 100%,200% 100%,200% 100%,200% 100%;
  animation:globespin 60s linear infinite;}
.globe::after{content:"";position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(circle at 34% 26%,var(--g-shine),transparent 56%),radial-gradient(circle at 72% 82%,rgba(0,0,0,.22),transparent 60%);}
@keyframes globespin{to{background-position:-200% 0,-200% 0,-200% 0,-200% 0,-200% 0,0 0}}
@media (prefers-reduced-motion:reduce){.globe::before{animation:none}}
