:root{
  --ink:#08111f;
  --ink-2:#101c2d;
  --cream:#f7f5ef;
  --paper:#fffdfa;
  --soft:#eef1f4;
  --line:#dfe4e8;
  --muted:#66717f;
  --gold:#d6b45a;
  --gold-2:#f0d787;
  --yellow:#ffd84d;
  --green:#61c797;
  --shadow:0 24px 80px rgba(5,16,28,.11);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Manrope",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.55;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
img,svg{display:block;max-width:100%}
.container{width:min(1160px,calc(100% - 36px));margin:auto}
.section{padding:110px 0;position:relative}
.page-glow{position:fixed;z-index:-1;filter:blur(10px);border-radius:50%;opacity:.32;pointer-events:none}
.glow-a{width:460px;height:460px;background:#f0d787;top:-240px;right:-200px}
.glow-b{width:520px;height:520px;background:#ced9e6;top:38%;left:-340px}

.site-header{
  position:sticky;top:0;z-index:50;
  backdrop-filter:blur(20px);
  background:rgba(247,245,239,.82);
  border-bottom:1px solid rgba(8,17,31,.06);
}
.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:inline-flex;align-items:center;gap:11px;font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:20px;letter-spacing:-.5px}

.brand-logo{
  width:40px;
  height:40px;
  border-radius:12px;
  object-fit:cover;
  flex:0 0 auto;
  box-shadow:0 8px 20px rgba(7,17,31,.13);
}
.footer-brand .brand-logo{
  width:42px;
  height:42px;
  border-radius:13px;
}
.brand-mark{
  width:36px;height:36px;border-radius:12px;background:var(--ink);position:relative;display:inline-block;box-shadow:0 8px 20px rgba(7,17,31,.16)
}
.brand-mark:before,.brand-mark:after{content:"";position:absolute;border:2px solid var(--gold);border-radius:50%;inset:8px}
.brand-mark:after{inset:13px;background:var(--gold)}
.vault-line{position:absolute;width:14px;height:2px;background:var(--gold);left:11px;top:17px;transform:rotate(35deg);transform-origin:left center}
.vault-dot{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--paper);left:16px;top:16px}
.desktop-nav{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:700;color:#344050}
.desktop-nav a{transition:.2s}
.desktop-nav a:hover{color:var(--gold)}
.nav-actions{display:flex;align-items:center;gap:12px}
.menu-button{display:none;background:none;border:0;padding:8px;width:42px;height:42px}
.menu-button span{display:block;width:22px;height:2px;background:var(--ink);margin:6px auto;transition:.25s}
.menu-button.active span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-button.active span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mobile-nav{display:none}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border-radius:14px;padding:13px 18px;font-weight:800;font-size:14px;
  transition:transform .2s ease,box-shadow .2s ease,background .2s;
  border:1px solid transparent;
}
.btn:hover{transform:translateY(-2px)}
.btn svg{width:19px;height:19px;fill:currentColor}
.btn-small{padding:10px 15px;border-radius:12px}
.btn-large{padding:15px 21px;font-size:15px}
.btn-gold{background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#17140b;box-shadow:0 10px 28px rgba(214,180,90,.25)}
.btn-outline{border-color:#cfd5da;background:rgba(255,255,255,.45)}
.btn-dark{background:var(--ink);color:#fff}

.hero{padding-top:88px;padding-bottom:84px}
.hero-grid,.split-grid{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:70px}
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;border:1px solid #d9ddd8;background:rgba(255,255,255,.58);
  padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800;color:#4e5965;text-transform:uppercase;letter-spacing:.08em
}
.status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(97,199,151,.15)}
.hero h1{
  font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(43px,5.6vw,76px);line-height:1.03;letter-spacing:-3.2px;
  margin:24px 0 22px;max-width:800px
}
.hero h1 span{color:#576375}
.hero-lead{font-size:18px;color:#5d6875;max-width:690px;margin:0 0 30px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.trust-row{display:flex;gap:34px;margin-top:34px}
.trust-row span{display:flex;flex-direction:column}
.trust-row b{font-size:14px}
.trust-row small{color:#7b8590;font-size:12px;margin-top:2px}

.hero-visual{position:relative;min-height:650px;display:grid;place-items:center}
.phone-shell{
  width:340px;padding:11px;border-radius:42px;background:#091321;box-shadow:0 36px 90px rgba(7,17,31,.28);transform:rotate(2deg)
}
.phone-top{height:24px;display:grid;place-items:center}
.phone-top span{width:72px;height:6px;border-radius:99px;background:#263449}
.app-screen{background:#f7f7f4;border-radius:30px;padding:20px;min-height:584px;overflow:hidden}
.app-head{display:flex;justify-content:space-between;align-items:center}
.app-head small,.app-head strong{display:block}
.app-head small{font-size:11px;color:#7c8590}
.app-head strong{font-size:17px;margin-top:2px}
.mini-avatar{width:34px;height:34px;border-radius:12px;background:#101b2b;color:var(--gold-2);display:grid;place-items:center;font-size:11px;font-weight:900}
.value-card{margin-top:18px;background:linear-gradient(145deg,#0c1726,#12243a);color:white;border-radius:22px;padding:19px;position:relative;overflow:hidden}
.value-card:after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;background:rgba(214,180,90,.13);top:-60px;right:-20px}
.value-card span,.value-card strong,.value-card em{display:block}
.value-card span{font-size:11px;color:#aab6c5}
.value-card strong{font-size:28px;margin-top:5px}
.value-card em{font-style:normal;color:#7ed8ad;font-size:11px;font-weight:800;margin-top:3px}
.sparkline{height:62px;display:flex;align-items:end;gap:6px;margin-top:13px}
.sparkline i{flex:1;background:linear-gradient(to top,#d6b45a,#f3dea3);border-radius:4px 4px 2px 2px;opacity:.9}
.screen-title{display:flex;justify-content:space-between;margin:20px 0 10px;align-items:center}
.screen-title strong{font-size:13px}.screen-title span{font-size:10px;color:#818995}
.mini-card-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.generic-card{height:120px;border-radius:13px;padding:9px;display:flex;flex-direction:column;justify-content:space-between;color:white;position:relative;overflow:hidden;box-shadow:0 8px 20px rgba(20,30,40,.12)}
.generic-card:before{content:"";position:absolute;inset:0;background:linear-gradient(150deg,rgba(255,255,255,.2),transparent 40%)}
.card-one{background:linear-gradient(150deg,#1d4b66,#112b43)}
.card-two{background:linear-gradient(150deg,#745a9a,#392c60)}
.card-three{background:linear-gradient(150deg,#c29a44,#7d5b20)}
.card-orb{width:50px;height:50px;border-radius:50%;border:8px solid rgba(255,255,255,.12);align-self:center;margin-top:4px}
.generic-card span{font-weight:900;font-size:14px}.generic-card small{font-size:8px;opacity:.8}
.scan-pill{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e2e5e6;border-radius:16px;padding:12px;margin-top:16px;box-shadow:0 10px 28px rgba(20,30,40,.06)}
.scan-icon{width:38px;height:38px;border-radius:12px;background:var(--gold-2);position:relative}
.scan-icon:before{content:"";position:absolute;inset:10px;border:2px solid var(--ink);border-top-color:transparent;border-radius:4px}
.scan-pill div:nth-child(2){flex:1}.scan-pill strong,.scan-pill small{display:block}.scan-pill strong{font-size:11px}.scan-pill small{font-size:8.5px;color:#838d99;margin-top:2px}
.scan-pill b{font-size:16px}
.floating-chip{position:absolute;background:white;border:1px solid #e2e5e6;box-shadow:0 18px 40px rgba(7,17,31,.13);padding:12px 15px;border-radius:14px;font-weight:900;font-size:14px}
.floating-chip span{display:block;color:#7a8490;font-weight:600;font-size:10px;margin-top:1px}
.chip-top{top:95px;right:10px}.chip-bottom{bottom:100px;left:4px}

.feature-strip{padding:0 0 42px}
.strip-card{border:1px solid #dde1df;background:rgba(255,255,255,.5);border-radius:20px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between}
.strip-card>span{color:#7a8490;font-size:13px;font-weight:700}
.strip-items{display:flex;align-items:center;gap:18px;font-size:13px}
.strip-items i{width:4px;height:4px;border-radius:50%;background:var(--gold)}

.section-kicker{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.11em;color:#8b6c24;margin-bottom:16px}
.section-kicker.gold{color:var(--gold-2)}
.feature-copy h2,.section-heading h2,.faq-intro h2,.plus-copy h2,.download-card h2{
  font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(34px,4.2vw,56px);line-height:1.08;letter-spacing:-2px;margin:0 0 20px
}
.feature-copy p,.section-heading p,.faq-intro p,.plus-copy p{font-size:16px;color:#68727e;margin:0;max-width:590px}
.check-list{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:13px}
.check-list li{position:relative;padding-left:30px;font-weight:700;font-size:14px}
.check-list li:before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:7px;background:#e7f6ef;color:#2c9063;display:grid;place-items:center;font-size:12px}

.scanner-demo{position:relative;background:#e9eceb;border-radius:34px;padding:34px;min-height:560px;display:grid;place-items:center;overflow:hidden}
.scanner-demo:before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:#d7b55b;opacity:.16;filter:blur(2px);top:-120px;right:-100px}
.scan-frame{width:min(320px,90%);height:430px;border-radius:26px;border:1px solid rgba(8,17,31,.12);display:grid;place-items:center;position:relative;background:rgba(255,255,255,.32)}
.scan-corners{position:absolute;inset:16px;border:2px solid transparent;border-top-color:#0c1724;border-left-color:#0c1724;border-radius:17px}
.scan-corners:after{content:"";position:absolute;width:44px;height:44px;border-right:2px solid #0c1724;border-bottom:2px solid #0c1724;right:-2px;bottom:-2px;border-radius:0 0 17px 0}
.scan-line{position:absolute;height:2px;width:78%;background:linear-gradient(90deg,transparent,var(--gold),transparent);box-shadow:0 0 14px var(--gold);animation:scan 3.2s ease-in-out infinite}
@keyframes scan{0%,100%{top:15%}50%{top:82%}}
.demo-card{width:220px;height:310px;border-radius:18px;background:#fbfaf5;border:8px solid #dec267;padding:12px;box-shadow:0 25px 45px rgba(12,24,38,.18);transform:rotate(-3deg)}
.demo-card-top{display:flex;justify-content:space-between;font-size:10px}.demo-card-top b{font-size:9px}
.demo-art{height:150px;margin-top:8px;border-radius:10px;background:linear-gradient(145deg,#1f3851,#76889b);display:grid;place-items:center;overflow:hidden}
.abstract-creature{width:86px;height:86px;border-radius:48% 52% 45% 55%;background:linear-gradient(145deg,#f0d787,#aa7b27);box-shadow:30px -12px 0 -18px #fff8,-24px 20px 0 -15px #fff7;transform:rotate(22deg)}
.demo-copy-lines{display:grid;gap:9px;margin-top:16px}.demo-copy-lines i{height:5px;background:#d5d8d9;border-radius:9px}.demo-copy-lines i:nth-child(2){width:78%}.demo-copy-lines i:nth-child(3){width:53%}
.demo-card-bottom{display:flex;justify-content:space-between;margin-top:19px;font-size:9px}
.result-bubble{position:absolute;bottom:25px;right:26px;background:white;border-radius:16px;padding:12px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 18px 38px rgba(8,17,31,.13)}
.result-check{width:31px;height:31px;border-radius:10px;background:#e6f6ee;color:#2b9463;display:grid;place-items:center;font-weight:900}
.result-bubble small,.result-bubble strong{display:block}.result-bubble small{font-size:9px;color:#77818c}.result-bubble strong{font-size:11px;margin-top:2px}

.dark-section{background:linear-gradient(135deg,#07111f,#0b1b2e 55%,#12243a);color:white;overflow:hidden}
.dark-section:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(214,180,90,.15);border-radius:50%;right:-180px;top:-220px;box-shadow:0 0 0 80px rgba(214,180,90,.03),0 0 0 160px rgba(214,180,90,.02)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:50px}
.section-heading>div{max-width:700px}
.section-heading p{max-width:420px}
.section-heading.light p{color:#aab5c2}.section-heading.light h2{color:white}
.dashboard-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:16px}
.dashboard-card{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.055);border-radius:22px;padding:24px;backdrop-filter:blur(8px)}
.dashboard-card.large{min-height:280px;grid-column:span 1}
.dashboard-label{color:#aab5c2;font-size:12px}
.dashboard-value{font-size:38px;font-weight:800;letter-spacing:-1px;margin-top:4px}
.dashboard-delta{display:inline-block;font-size:11px;font-weight:800;padding:6px 8px;border-radius:9px;margin-top:8px}
.up{color:#42c589}.dashboard-delta.up{background:rgba(66,197,137,.11)}
.area-chart{height:110px;margin-top:20px}.area-chart svg{width:100%;height:100%}
.area-chart .area{fill:url(#areaFill)}.area-chart .line{fill:none;stroke:#d6b45a;stroke-width:3}
.dashboard-card.stat{display:flex;flex-direction:column;justify-content:center;min-height:175px}
.dashboard-card.stat small{color:#99a6b5;font-size:11px}.dashboard-card.stat strong{font-size:35px;margin:5px 0}.dashboard-card.stat span{color:#b5bfca;font-size:11px}

.catalogue-window{border-radius:28px;background:white;border:1px solid #e1e4e6;box-shadow:var(--shadow);padding:24px}
.catalogue-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px}.catalogue-toolbar strong,.catalogue-toolbar small{display:block}.catalogue-toolbar strong{font-size:17px}.catalogue-toolbar small{color:#8a939d;font-size:10px;margin-top:3px}
.search-pill{background:#f1f3f4;border-radius:12px;padding:9px 11px;font-size:10px;color:#7b858f}
.catalogue-tabs{display:flex;gap:8px;margin:18px 0}.catalogue-tabs span{padding:8px 12px;border-radius:10px;background:#f3f4f3;font-size:10px;font-weight:800}.catalogue-tabs .active{background:var(--ink);color:white}
.catalogue-list{display:grid;gap:9px}
.catalogue-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid #eaeced;border-radius:15px;padding:11px}
.catalogue-item b,.catalogue-item small{display:block}.catalogue-item b{font-size:12px}.catalogue-item small{font-size:9px;color:#89929b;margin-top:3px}.catalogue-item>span{font-size:10px;background:#edf7f2;color:#398a63;padding:5px 7px;border-radius:8px;font-weight:800}
.set-logo{width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,#16263b,#314a68);color:#e9d38a;display:grid;place-items:center;font-weight:900;font-size:10px}
.metric-row{display:flex;gap:40px;margin-top:30px}.metric-row div{display:flex;flex-direction:column}.metric-row strong{font-size:28px}.metric-row span{font-size:11px;color:#818b96}

.soft-section{background:#eef1f3}
.price-panel{background:white;border:1px solid #dfe3e5;border-radius:28px;padding:28px;box-shadow:0 22px 60px rgba(10,20,30,.07)}
.price-panel-head{display:flex;justify-content:space-between;gap:20px;align-items:end}.price-panel-head small,.price-panel-head strong{display:block}.price-panel-head small{font-size:11px;color:#7f8994}.price-panel-head strong{font-size:34px;margin-top:3px}
.periods{display:flex;gap:5px;background:#f1f3f4;border-radius:12px;padding:4px}.periods button{border:0;background:transparent;border-radius:9px;padding:8px 10px;font-size:10px;font-weight:800;color:#6d7781;cursor:pointer}.periods button.active{background:var(--ink);color:white}
.price-chart{height:310px;position:relative;margin-top:15px;padding-left:55px}.price-chart svg{width:100%;height:100%}.grid-lines line{stroke:#e6e9eb;stroke-width:1}.price-area{fill:url(#priceFill)}.price-line{fill:none;stroke:#183a5f;stroke-width:4;stroke-linecap:round}
.y-labels{position:absolute;left:0;top:20px;bottom:20px;display:flex;flex-direction:column;justify-content:space-between;font-size:9px;color:#9aa2aa}
.price-summary{display:flex;gap:12px;justify-content:flex-end;font-size:12px;font-weight:700}.price-summary .up{background:#e9f7ef;padding:5px 8px;border-radius:8px}

.opening-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}.opening-stats>div{background:white;border:1px solid #e2e5e6;border-radius:15px;padding:14px}.opening-stats small,.opening-stats strong{display:block}.opening-stats small{font-size:9px;color:#858f99}.opening-stats strong{font-size:15px;margin-top:3px}.opening-stats .positive strong{color:#2f9867}
.opening-stack{position:relative;min-height:520px;display:grid;place-items:center}
.pack-card{position:absolute;width:300px;height:390px;border-radius:27px;box-shadow:0 25px 60px rgba(8,17,31,.16);padding:28px}
.back-pack{background:#c8d0d8;transform:translate(70px,-20px) rotate(9deg);color:#76818d}
.mid-pack{background:#263d56;transform:translate(35px,-5px) rotate(4deg);color:#dbe3ea}
.front-pack{background:linear-gradient(150deg,#0c1828,#112a44);color:white;display:flex;flex-direction:column;justify-content:flex-end}
.pack-card>span{font-size:10px;font-weight:900;letter-spacing:.13em}
.pack-badge{position:absolute;top:28px;left:28px;background:#d7b55b;color:#15130c;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:900}
.front-pack h3{font-family:"Plus Jakarta Sans";font-size:30px;margin:0 0 6px;letter-spacing:-1px}.front-pack p{color:#afbac7;font-size:12px;margin:0 0 20px}
.opening-meter{height:7px;background:#30445a;border-radius:99px;overflow:hidden}.opening-meter i{display:block;height:100%;background:linear-gradient(90deg,#d6b45a,#f0d787);border-radius:99px}
.pack-footer{display:flex;justify-content:space-between;margin-top:11px;font-size:11px}.pack-footer strong{color:#79d3a8}

.plus-section{padding-top:80px}
.plus-shell{border-radius:34px;background:radial-gradient(circle at 80% 20%,#1c3550,#091522 58%);color:white;padding:65px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;overflow:hidden;position:relative}
.plus-shell:before{content:"";position:absolute;width:360px;height:360px;background:rgba(214,180,90,.07);border-radius:50%;filter:blur(2px);right:-110px;top:-140px}
.plus-copy{position:relative;z-index:2}.plus-badge{font-family:"Plus Jakarta Sans";font-weight:800;font-size:15px;margin-bottom:18px}.plus-badge span{color:var(--gold-2);margin-left:2px}.plus-copy h2{font-size:clamp(36px,4.4vw,57px);max-width:720px}.plus-copy p{color:#afbac7;max-width:600px}
.plus-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:26px 0 30px;max-width:570px}.plus-features span{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.045);border-radius:12px;padding:11px 12px;font-size:11px;font-weight:700}
.plus-orbit{min-height:390px;position:relative;display:grid;place-items:center}
.plus-core{width:128px;height:128px;border-radius:40px;background:linear-gradient(145deg,#f0d787,#bb8d2f);color:#111823;display:grid;place-items:center;font-family:"Plus Jakarta Sans";font-size:28px;font-weight:900;box-shadow:0 0 70px rgba(214,180,90,.23);z-index:2}.plus-core span{position:absolute;margin-left:72px;margin-top:-58px;font-size:20px}
.orbit-ring{position:absolute;border:1px solid rgba(221,190,103,.18);border-radius:50%}.ring-1{width:260px;height:260px}.ring-2{width:350px;height:350px}
.orbit-card{position:absolute;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);border-radius:12px;padding:10px 12px;font-size:11px;font-weight:900;color:#f0d787}.orbit-a{top:50px;right:40px}.orbit-b{bottom:60px;right:70px}.orbit-c{left:22px;top:170px}

.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}
.text-link{display:inline-block;margin-top:20px;font-weight:800;font-size:13px;color:#765b1e}
.faq-list{display:grid;gap:10px}
.faq-list details{background:white;border:1px solid #e0e4e6;border-radius:16px;padding:0 17px}
.faq-list summary{padding:17px 28px 17px 0;cursor:pointer;font-size:13px;font-weight:800;position:relative;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:0;top:13px;font-size:20px;color:#7d8791}
.faq-list details[open] summary:after{content:"–"}
.faq-list p{font-size:12px;color:#69747f;margin:0;padding:0 24px 17px 0}

.download-section{padding-top:30px}
.download-card{background:linear-gradient(135deg,#e7cd82,#f3dfa5);border-radius:32px;padding:50px 55px;display:flex;align-items:center;justify-content:space-between;gap:50px;box-shadow:0 20px 60px rgba(150,115,35,.12)}
.download-card h2{font-size:clamp(32px,3.8vw,50px);max-width:690px;margin-top:15px}
.download-card p{max-width:650px;color:#5f553c;margin:0}
.dark-eyebrow{background:rgba(255,255,255,.38);border-color:rgba(80,60,20,.15);color:#4f462f}
.download-actions{display:flex;flex-direction:column;gap:9px;min-width:260px}.download-actions small{font-size:9px;color:#6f6245;text-align:center}.download-actions code{font-size:9px}

.site-footer{padding:65px 0 28px;background:#07111f;color:white;margin-top:50px}
.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-top p{color:#9cabb9;font-size:12px}.footer-brand .brand-mark{background:#12243a}
.footer-links{display:flex;flex-wrap:wrap;gap:22px;padding:24px 0;font-size:11px;color:#b7c1ca}.footer-links a:hover{color:var(--gold-2)}
.footer-bottom{display:flex;justify-content:space-between;gap:30px;color:#778695;font-size:9.5px}.legal-note{max-width:560px;text-align:right}

/* Legal pages */
.legal-page{background:#f7f5ef}
.legal-hero{padding:90px 0 40px}
.legal-hero h1{font-family:"Plus Jakarta Sans";font-size:clamp(38px,5vw,62px);letter-spacing:-2px;margin:14px 0}
.legal-hero p{color:#66717d;max-width:720px}
.legal-shell{display:grid;grid-template-columns:230px 1fr;gap:50px;padding-bottom:100px}
.legal-nav{position:sticky;top:105px;height:max-content;background:white;border:1px solid #e0e4e6;border-radius:18px;padding:12px;display:grid;gap:4px}
.legal-nav a{padding:10px 11px;border-radius:10px;font-size:11px;font-weight:700;color:#66717d}.legal-nav a:hover,.legal-nav a.active{background:#eef1f3;color:#111c2a}
.legal-content{background:white;border:1px solid #e0e4e6;border-radius:22px;padding:34px}
.legal-content h2{font-family:"Plus Jakarta Sans";font-size:22px;margin:30px 0 10px}.legal-content h2:first-child{margin-top:0}
.legal-content h3{font-size:15px;margin:22px 0 8px}
.legal-content p,.legal-content li{font-size:13px;color:#5f6a75}
.legal-content ul{padding-left:20px}
.notice{background:#fff6da;border:1px solid #ead48d;border-radius:14px;padding:14px 16px;font-size:12px;color:#6b5a2c;margin:18px 0}
.support-form{display:grid;gap:13px;margin-top:20px}
.support-form label{font-size:11px;font-weight:800;color:#48535e}
.support-form input,.support-form textarea{width:100%;border:1px solid #dce1e4;background:#fbfbfa;border-radius:12px;padding:12px;outline:none}
.support-form textarea{min-height:130px;resize:vertical}
.support-form input:focus,.support-form textarea:focus{border-color:#baa05c;box-shadow:0 0 0 3px rgba(214,180,90,.12)}
.account-steps{counter-reset:item;display:grid;gap:12px;margin-top:18px}
.account-step{position:relative;padding:16px 16px 16px 58px;border:1px solid #e0e4e6;border-radius:14px;background:#fff}
.account-step:before{counter-increment:item;content:counter(item);position:absolute;left:15px;top:14px;width:28px;height:28px;border-radius:9px;background:#0e1a29;color:#f0d787;display:grid;place-items:center;font-weight:900;font-size:11px}
.account-step b{display:block;font-size:12px}.account-step span{display:block;font-size:11px;color:#717b85;margin-top:3px}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.1s}

@media(max-width:960px){
  .desktop-nav,.desktop-cta{display:none}.menu-button{display:block}
  .mobile-nav{
    position:absolute;top:78px;left:0;right:0;background:rgba(247,245,239,.97);border-bottom:1px solid #dde1df;
    padding:12px 18px 20px;display:grid;gap:2px;transform:translateY(-12px);opacity:0;pointer-events:none;transition:.2s
  }
  .mobile-nav.open{transform:none;opacity:1;pointer-events:auto}
  .mobile-nav a:not(.btn){padding:11px 8px;font-size:13px;font-weight:800}
  .hero-grid,.split-grid{grid-template-columns:1fr;gap:45px}.hero{padding-top:60px}.hero-copy{text-align:center}.hero-lead{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.trust-row{justify-content:center}
  .hero-visual{min-height:600px}.chip-top{right:7%}.chip-bottom{left:8%}
  .section{padding:85px 0}.section-heading{display:block}.section-heading p{margin-top:10px}
  .dashboard-grid{grid-template-columns:repeat(3,1fr)}.dashboard-card.large{grid-column:1/-1}
  .reverse-mobile .catalogue-ui{order:2}.reverse-mobile .feature-copy{order:1}
  .plus-shell{grid-template-columns:1fr;padding:50px}.plus-orbit{min-height:360px}
  .faq-grid{grid-template-columns:1fr;gap:35px}
  .download-card{display:block}.download-actions{margin-top:28px;max-width:340px}
  .legal-shell{grid-template-columns:1fr}.legal-nav{position:static;grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .container{width:min(100% - 24px,1160px)}.section{padding:72px 0}
  .nav-wrap{height:70px}.mobile-nav{top:70px}
  .hero{padding-top:46px;padding-bottom:58px}.hero h1{letter-spacing:-2px}.hero-lead{font-size:15px}
  .hero-actions{display:grid}.hero-actions .btn{width:100%}
  .trust-row{gap:18px;justify-content:space-between}.trust-row b{font-size:12px}.trust-row small{font-size:9px}
  .hero-visual{min-height:530px}.phone-shell{width:292px}.app-screen{min-height:510px;padding:16px}.value-card strong{font-size:23px}.generic-card{height:103px}.chip-top{top:45px;right:0}.chip-bottom{bottom:55px;left:0}
  .floating-chip{font-size:12px;padding:10px 12px}
  .strip-card{display:block;text-align:center}.strip-card>span{display:block;margin-bottom:12px}.strip-items{justify-content:center;gap:10px;flex-wrap:wrap}
  .feature-copy h2,.section-heading h2,.faq-intro h2,.plus-copy h2,.download-card h2{letter-spacing:-1.4px}
  .scanner-demo{min-height:500px;padding:18px}.scan-frame{height:395px}.demo-card{width:195px;height:278px}.demo-art{height:130px}
  .dashboard-grid{grid-template-columns:1fr}.dashboard-card.large{grid-column:auto}.dashboard-card.stat{min-height:120px}
  .catalogue-toolbar{display:block}.search-pill{display:inline-block;margin-top:12px}
  .price-panel{padding:18px}.price-panel-head{display:block}.periods{margin-top:14px;width:max-content}.price-chart{height:260px;padding-left:43px}.price-summary{justify-content:flex-start;flex-wrap:wrap}
  .opening-stats{grid-template-columns:1fr}.opening-stack{min-height:470px}.pack-card{width:255px;height:350px}.back-pack{transform:translate(44px,-14px) rotate(8deg)}.mid-pack{transform:translate(22px,-3px) rotate(4deg)}
  .plus-shell{padding:35px 22px}.plus-features{grid-template-columns:1fr}.plus-orbit{min-height:320px}.ring-2{width:290px;height:290px}.orbit-a{right:0}.orbit-c{left:0}
  .download-card{padding:34px 22px}.download-actions{min-width:0}.footer-top,.footer-bottom{display:block}.footer-top p{margin-top:13px}.legal-note{display:block;text-align:left;margin-top:12px}
  .legal-hero{padding-top:60px}.legal-shell{gap:22px}.legal-nav{grid-template-columns:1fr}.legal-content{padding:22px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.scan-line{animation:none}}



/* Hero marketing emphasis */
.hero-proof{
  display:flex;flex-wrap:wrap;gap:9px 16px;margin:20px 0 4px;
  color:#3f4b58;font-size:11px;font-weight:800
}
.hero-proof span{
  display:inline-flex;align-items:center;background:rgba(255,255,255,.56);
  border:1px solid #dde1df;border-radius:999px;padding:7px 10px
}
@media(max-width:620px){
  .hero-proof{justify-content:center}
  .hero-proof span{font-size:9px}
}
/* Evolution section */
.evolution-section{padding-top:55px}
.evolution-shell{
  display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;
  background:linear-gradient(135deg,#0b1828,#10263f);
  border-radius:34px;padding:58px;color:white;position:relative;overflow:hidden;
  box-shadow:0 26px 70px rgba(7,17,31,.14)
}
.evolution-shell:before{
  content:"";position:absolute;width:420px;height:420px;border-radius:50%;
  border:1px solid rgba(214,180,90,.13);right:-140px;top:-190px;
  box-shadow:0 0 0 75px rgba(214,180,90,.025),0 0 0 150px rgba(214,180,90,.015)
}
.evolution-copy{position:relative;z-index:2}
.evolution-copy h2{
  font-family:"Plus Jakarta Sans",sans-serif;
  font-size:clamp(34px,4.2vw,54px);
  line-height:1.08;letter-spacing:-2px;margin:0 0 18px
}
.evolution-copy p{
  color:#aeb9c6;font-size:15px;max-width:650px;margin:0 0 16px
}
.evolution-highlight{
  border-left:3px solid var(--gold);padding:12px 0 12px 16px;
  color:#e6ebef!important;font-weight:600
}
.evolution-highlight strong{color:var(--gold-2)}
.evolution-roadmap{
  position:relative;z-index:2;background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.09);border-radius:24px;padding:22px
}
.roadmap-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.roadmap-head span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:#aab5c2}
.roadmap-head b{width:34px;height:34px;border-radius:11px;background:rgba(214,180,90,.12);color:var(--gold-2);display:grid;place-items:center;font-size:18px}
.roadmap-item{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:15px 0;border-top:1px solid rgba(255,255,255,.08)}
.roadmap-item:first-of-type{border-top:0}
.roadmap-dot{width:10px;height:10px;border-radius:50%;background:#526477;margin-top:4px;box-shadow:0 0 0 5px rgba(255,255,255,.035)}
.roadmap-item.active .roadmap-dot{background:var(--gold);box-shadow:0 0 0 5px rgba(214,180,90,.12)}
.roadmap-item strong,.roadmap-item small{display:block}
.roadmap-item strong{font-size:12px}
.roadmap-item small{font-size:10px;color:#9eabb8;margin-top:3px;line-height:1.5}
.roadmap-badge{
  display:inline-block;margin-top:8px;padding:8px 10px;border-radius:10px;
  background:rgba(214,180,90,.1);border:1px solid rgba(214,180,90,.18);
  color:var(--gold-2);font-size:9px;font-weight:900
}
@media(max-width:960px){
  .evolution-shell{grid-template-columns:1fr;padding:42px}
}
@media(max-width:620px){
  .evolution-shell{padding:30px 20px}
  .evolution-copy h2{letter-spacing:-1.3px}
}


/* PokéCoffre uploaded logo */
.brand-logo{
  width:42px;
  height:42px;
  object-fit:contain;
  flex:0 0 auto;
  display:block;
}
.footer-brand .brand-logo{
  width:46px;
  height:46px;
}
@media(max-width:620px){
  .brand-logo{width:38px;height:38px}
  .footer-brand .brand-logo{width:42px;height:42px}
}


/* Hero scan animation — Pikachu & Zekrom GX */
.hero-scan-demo{
  min-height:650px;
  display:grid;
  place-items:center;
  position:relative;
}
.scan-stage-v2{
  width:min(438px,100%);
  border-radius:34px;
  padding:14px;
  background:linear-gradient(160deg,#091523,#0e2238 68%,#152e49);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 34px 85px rgba(7,17,31,.28);
  position:relative;
  overflow:hidden;
}
.scan-stage-v2:before{
  content:"";
  position:absolute;
  width:260px;height:260px;
  border-radius:50%;
  background:rgba(214,180,90,.10);
  top:-150px;right:-100px;
}
.scan-stage-top{
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 8px;
  color:#d9e2ea;
  font-size:10px;
  font-weight:800;
  letter-spacing:.03em;
}
.scan-live{display:flex;align-items:center;gap:9px}
.live-dot{
  width:8px;height:8px;border-radius:50%;
  background:#6bd0a0;
  box-shadow:0 0 0 5px rgba(107,208,160,.12);
}
.scan-free-badge{
  color:#f0d787;
  border:1px solid rgba(240,215,135,.24);
  background:rgba(240,215,135,.08);
  padding:6px 8px;
  border-radius:999px;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
}
.scan-camera-v2{
  position:relative;
  height:486px;
  border-radius:26px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 45%,rgba(255,255,255,.06),transparent 43%),
    linear-gradient(145deg,#172739,#0a1421);
  border:1px solid rgba(255,255,255,.08);
}
.scan-ambient{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:32px 32px;
  mask-image:radial-gradient(circle at center,#000 20%,transparent 80%);
}
.scan-guide-v2{
  position:absolute;
  inset:28px 55px;
  display:grid;
  place-items:center;
  --corner-x:38px;
  --corner-y:59px;
  --corner-x-neg:-38px;
  --corner-y-neg:-59px;
}
.corner{
  position:absolute;
  width:44px;
  height:44px;
  border-color:#f0d787;
  border-style:solid;
  opacity:.85;
  z-index:4;
  filter:drop-shadow(0 0 0 rgba(91,211,150,0));
  will-change:transform,width,height,border-color,filter;
}
.corner.tl{
  left:0;top:0;
  border-width:3px 0 0 3px;
  border-radius:13px 0 0 0;
  animation:cornerLockTL 2.8s cubic-bezier(.2,.85,.25,1) infinite;
}
.corner.tr{
  right:0;top:0;
  border-width:3px 3px 0 0;
  border-radius:0 13px 0 0;
  animation:cornerLockTR 2.8s cubic-bezier(.2,.85,.25,1) infinite;
}
.corner.bl{
  left:0;bottom:0;
  border-width:0 0 3px 3px;
  border-radius:0 0 0 13px;
  animation:cornerLockBL 2.8s cubic-bezier(.2,.85,.25,1) infinite;
}
.corner.br{
  right:0;bottom:0;
  border-width:0 3px 3px 0;
  border-radius:0 0 13px 0;
  animation:cornerLockBR 2.8s cubic-bezier(.2,.85,.25,1) infinite;
}

.scan-card-wrap-v2{
  position:relative;
  width:224px;
  aspect-ratio:736/1024;
  border-radius:15px;
  overflow:hidden;
  box-shadow:0 30px 55px rgba(0,0,0,.38);
  transform:translate(240px,42px) scale(.90) rotate(9deg);
  opacity:0;
  animation:cardFlyIn 2.8s cubic-bezier(.18,.82,.23,1) infinite;
  will-change:transform,opacity;
}
.scan-card-image{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.scan-edge-glow{
  position:absolute;inset:0;
  border-radius:15px;
  box-shadow:inset 0 0 0 0 rgba(245,215,115,0);
  animation:edgeConfirm 2.8s ease infinite;
  pointer-events:none;
}
.scan-beam-v2{
  position:absolute;
  left:-10%;right:-10%;
  height:5px;
  top:12%;
  opacity:0;
  background:linear-gradient(90deg,transparent,#ffe68d 20%,#fff 50%,#ffe68d 80%,transparent);
  box-shadow:
    0 0 10px #f2d269,
    0 0 25px rgba(242,210,105,.95);
  animation:fastScanBeam 2.8s ease-in-out infinite;
}
.scan-success-flash{
  position:absolute;
  width:32px;height:32px;
  display:grid;place-items:center;
  opacity:0;
  transform:scale(.2);
  animation:successFlash 2.8s ease-out infinite;
  pointer-events:none;
}
.scan-success-flash:before,
.scan-success-flash:after{
  content:"";
  position:absolute;
  width:170px;height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#fff4bd,transparent);
  box-shadow:0 0 18px rgba(255,228,132,.9);
}
.scan-success-flash:after{transform:rotate(90deg)}
.scan-success-flash span{
  width:70px;height:70px;border-radius:50%;
  background:radial-gradient(circle,#fff 0 8%,#ffe27d 20%,rgba(236,183,61,.42) 45%,transparent 72%);
  filter:blur(.2px);
}
.scan-success-flash i{
  position:absolute;
  width:130px;height:130px;border-radius:50%;
  border:2px solid rgba(255,226,126,.78);
  animation:flashRing 2.8s ease-out infinite;
}

.scan-target-text{
  position:absolute;
  padding:7px 9px;
  border-radius:9px;
  background:rgba(7,17,31,.86);
  border:1px solid rgba(240,215,135,.28);
  color:#f3dda0;
  font-size:8px;
  font-weight:900;
  letter-spacing:.04em;
  opacity:0;
  animation:targetInfo 2.8s ease infinite;
}
.target-name{left:28px;top:46px}
.target-number{right:28px;bottom:42px}

.scan-info-panel{
  margin-top:12px;
  min-height:82px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:16px;
  align-items:center;
  padding:14px 15px;
  border-radius:18px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.09);
  opacity:0;
  visibility:hidden;
  transform:translateY(14px) scale(.985);
  animation:infoReveal 2.8s ease infinite;
}
.scan-recognized{
  color:#6fd1a0;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.10em;
  margin-bottom:3px;
}
.scan-info-main strong{
  color:#f6f8fa;
  display:block;
  font-size:13px;
  letter-spacing:-.2px;
}
.scan-meta{
  color:#93a2b1;
  font-size:8.5px;
  font-weight:700;
  margin-top:3px;
}
.scan-price{
  text-align:right;
  padding-left:14px;
  border-left:1px solid rgba(255,255,255,.10);
}
.scan-price small,.scan-price strong{display:block}
.scan-price small{font-size:7.5px;color:#8fa0af}
.scan-price strong{
  color:#f0d787;
  font-size:18px;
  margin-top:2px;
  letter-spacing:-.4px;
}
.scan-floating-card{
  position:absolute;
  z-index:4;
  background:#fff;
  border:1px solid #e1e5e7;
  box-shadow:0 18px 46px rgba(7,17,31,.13);
  border-radius:15px;
  padding:11px 14px;
  min-width:82px;
}
.scan-floating-card strong,.scan-floating-card span{display:block}
.scan-floating-card strong{font-size:17px;color:#0a1625}
.scan-floating-card span{
  font-size:8px;color:#7d8892;font-weight:800;
  text-transform:uppercase;letter-spacing:.08em;
}
.scan-floating-a{
  left:-4px;bottom:105px;
  animation:floatA 4.4s ease-in-out infinite;
}
.scan-floating-b{
  right:-8px;top:95px;
  animation:floatB 5s ease-in-out infinite;
}

@keyframes cardFlyIn{
  0%,4%{
    transform:translate(245px,48px) scale(.84) rotate(10deg);
    opacity:0;
  }
  10%{opacity:1}
  22%,64%{
    transform:translate(0,0) scale(1) rotate(0);
    opacity:1;
  }
  72%{
    transform:translate(-24px,-3px) scale(.98) rotate(-1deg);
    opacity:1;
  }
  88%,100%{
    transform:translate(-250px,-42px) scale(.86) rotate(-9deg);
    opacity:0;
  }
}
  14%{
    opacity:1;
  }
  21%,72%{
    transform:translate(0,0) scale(1) rotate(0);
    opacity:1;
  }
  82%{
    transform:translate(-20px,-2px) scale(.98) rotate(-1deg);
    opacity:1;
  }
  100%{
    transform:translate(-250px,-42px) scale(.86) rotate(-9deg);
    opacity:0;
  }
}
@keyframes fastScanBeam{
  0%,13%{top:16%;opacity:0}
  15%{opacity:1}
  17%{top:18%;opacity:1}
  21%{top:82%;opacity:1}
  23%,100%{top:82%;opacity:0}
}
  16%{opacity:1}
  18%{top:18%;opacity:1}
  22%{top:82%;opacity:1}
  24%,100%{top:82%;opacity:0}
}
  23%{opacity:1}
  26%{top:16%;opacity:1}
  35%{top:83%;opacity:1}
  39%,100%{top:83%;opacity:0}
}
@keyframes successFlash{
  0%,21%{opacity:0;transform:scale(.2) rotate(0)}
  23%{opacity:1;transform:scale(1.12) rotate(6deg)}
  27%{opacity:.88;transform:scale(.88) rotate(0)}
  34%,100%{opacity:0;transform:scale(1.45)}
}
  25%{opacity:1;transform:scale(1.12) rotate(6deg)}
  29%{opacity:.88;transform:scale(.88) rotate(0)}
  35%,100%{opacity:0;transform:scale(1.45)}
}
  38%{opacity:1;transform:scale(1.15) rotate(8deg)}
  43%{opacity:.9;transform:scale(.86) rotate(0)}
  50%,100%{opacity:0;transform:scale(1.5)}
}
@keyframes flashRing{
  0%,21%{opacity:0;transform:scale(.2)}
  23%{opacity:1;transform:scale(.65)}
  31%{opacity:0;transform:scale(1.5)}
  100%{opacity:0}
}
  25%{opacity:1;transform:scale(.65)}
  33%{opacity:0;transform:scale(1.5)}
  100%{opacity:0}
}
  38%{opacity:1;transform:scale(.65)}
  47%{opacity:0;transform:scale(1.5)}
  100%{opacity:0}
}
@keyframes edgeConfirm{
  0%,21%{box-shadow:inset 0 0 0 0 rgba(91,211,150,0)}
  23%,64%{
    box-shadow:
      inset 0 0 0 3px rgba(91,211,150,.96),
      0 0 26px rgba(91,211,150,.20)
  }
  72%,100%{box-shadow:inset 0 0 0 0 rgba(91,211,150,0)}
}
  25%,72%{
    box-shadow:
      inset 0 0 0 3px rgba(91,211,150,.96),
      0 0 26px rgba(91,211,150,.20)
  }
  82%,100%{box-shadow:inset 0 0 0 0 rgba(91,211,150,0)}
}
  39%,55%{box-shadow:inset 0 0 0 3px rgba(245,215,115,.95),0 0 28px rgba(245,215,115,.26)}
  70%,100%{box-shadow:inset 0 0 0 0 rgba(245,215,115,0)}
}
@keyframes targetInfo{
  0%,11%{opacity:0;transform:translateY(4px)}
  13%,20%{opacity:1;transform:none}
  22%,100%{opacity:0;transform:translateY(-2px)}
}
  16%,22%{opacity:1;transform:none}
  24%,100%{opacity:0;transform:translateY(-2px)}
}
  28%,36%{opacity:1;transform:none}
  40%,100%{opacity:0;transform:translateY(-2px)}
}
@keyframes infoReveal{
  0%,22%{
    opacity:0;
    visibility:hidden;
    transform:translateY(10px) scale(.985)
  }
  24%,64%{
    opacity:1;
    visibility:visible;
    transform:none
  }
  70%,100%{
    opacity:0;
    visibility:hidden;
    transform:translateY(10px) scale(.985)
  }
}
  25%,75%{
    opacity:1;
    visibility:visible;
    transform:none
  }
  84%,100%{
    opacity:0;
    visibility:hidden;
    transform:translateY(10px) scale(.985)
  }
}
  43%,75%{
    opacity:1;
    visibility:visible;
    transform:none
  }
  88%,100%{
    opacity:0;
    visibility:hidden;
    transform:translateY(14px) scale(.985)
  }
}
  46%,77%{opacity:1;transform:none}
  88%,100%{opacity:.15;transform:translateY(12px)}
}
@keyframes floatA{
  0%,100%{transform:translateY(0) rotate(-2deg)}
  50%{transform:translateY(-9px) rotate(1deg)}
}
@keyframes floatB{
  0%,100%{transform:translateY(0) rotate(2deg)}
  50%{transform:translateY(8px) rotate(-1deg)}
}

@media(max-width:620px){
  .hero-scan-demo{min-height:570px}
  .scan-stage-v2{width:min(360px,100%);padding:11px}
  .scan-camera-v2{height:420px}
  .scan-guide-v2{
    inset:25px 43px;
    --corner-x:30.5px;
    --corner-y:52px;
    --corner-x-neg:-30.5px;
    --corner-y-neg:-52px;
  }
  .scan-card-wrap-v2{width:191px}
  .scan-free-badge{font-size:7px}
  .scan-info-panel{gap:10px;padding:12px}
  .scan-info-main strong{font-size:11px}
  .scan-meta{font-size:7.4px}
  .scan-price strong{font-size:15px}
  .scan-floating-a{left:-2px;bottom:92px}
  .scan-floating-b{right:-3px;top:78px}
}
@media(prefers-reduced-motion:reduce){
  .scan-card-wrap-v2,
  .scan-beam-v2,
  .scan-edge-glow,
  .scan-success-flash,
  .scan-success-flash i,
  .scan-target-text,
  .scan-info-panel,
  .scan-floating-a,
  .scan-floating-b{
    animation:none!important;
  }
  .scan-card-wrap-v2{transform:none;opacity:1}
  .scan-info-panel{opacity:1;visibility:visible;transform:none}
  .scan-edge-glow{box-shadow:inset 0 0 0 3px rgba(245,215,115,.9)}
}


/* Pokémon / affiliation disclaimer */
.legal-note{
  max-width:760px;
  line-height:1.55;
}
@media(max-width:960px){
  .footer-bottom{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .legal-note{
    text-align:left;
    max-width:100%;
  }
}


/* Hide recognized card details until scan validation */
.scan-price-floating{
  opacity:0;
  visibility:hidden;
  transform:translateY(8px) scale(.94);
  animation:priceAfterValidation 2.8s ease infinite !important;
}
@keyframes priceAfterValidation{
  0%,22%{
    opacity:0;
    visibility:hidden;
    transform:translateY(7px) scale(.95)
  }
  24%,64%{
    opacity:1;
    visibility:visible;
    transform:none
  }
  70%,100%{
    opacity:0;
    visibility:hidden;
    transform:translateY(7px) scale(.95)
  }
}
  25%,74%{
    opacity:1;
    visibility:visible;
    transform:none
  }
  84%,100%{
    opacity:0;
    visibility:hidden;
    transform:translateY(7px) scale(.95)
  }
}
  45%,74%{
    opacity:1;
    visibility:visible;
    transform:translateY(0) scale(1)
  }
  88%,100%{
    opacity:0;
    visibility:hidden;
    transform:translateY(8px) scale(.94)
  }
}

/* Generic scan hints can appear during analysis, but never reveal the card identity early */
.scan-target-text{
  text-transform:uppercase;
  letter-spacing:.08em;
}

/* Reduced motion: keep the final recognized state visible */
@media(prefers-reduced-motion:reduce){
  .scan-price-floating{
    opacity:1;
    visibility:visible;
    transform:none;
  }
}


/* PokéCoffre+ exclusivity markers */
.section-plus-badge,
.plus-only-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:linear-gradient(135deg,#f0d787,#d6b45a);
  color:#17140b;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:none;
}
.section-plus-badge{
  margin-left:7px;
  padding:4px 7px;
  font-size:8px;
  vertical-align:middle;
}
.plus-only-card{
  position:relative;
  border-color:rgba(214,180,90,.28)!important;
  background:linear-gradient(145deg,rgba(214,180,90,.09),rgba(255,255,255,.045))!important;
}
.plus-only-badge{
  position:absolute;
  top:10px;
  right:10px;
  padding:4px 7px;
  font-size:7px;
}
.plus-access-note{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:14px;
  padding:12px 14px;
  border-radius:14px;
  background:#fff7df;
  border:1px solid #ead592;
  color:#5f512b;
}
.plus-access-note strong{
  flex:0 0 auto;
  font-size:10px;
  color:#765b1e;
}
.plus-access-note span{
  font-size:10px;
  line-height:1.45;
}
@media(max-width:620px){
  .plus-access-note{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
}


/* Section 05 — Full PokéCoffre+ marketing */
.plus-sales-section{
  background:#07111f;
  color:#fff;
  overflow:hidden;
}
.plus-sales-section:before{
  content:"";
  position:absolute;
  width:700px;height:700px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(214,180,90,.11),transparent 68%);
  right:-310px;top:-260px;
  pointer-events:none;
}
.plus-sales-hero{
  display:grid;
  grid-template-columns:1.03fr .97fr;
  gap:55px;
  align-items:center;
  position:relative;
  z-index:1;
}
.plus-sales-copy h2{
  font-family:"Plus Jakarta Sans",sans-serif;
  font-size:clamp(38px,4.8vw,62px);
  line-height:1.06;
  letter-spacing:-2.4px;
  margin:15px 0 20px;
}
.plus-sales-badge{
  display:inline-flex;
  align-items:center;
  gap:2px;
  padding:8px 11px;
  border-radius:11px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
}
.plus-sales-badge span{color:var(--gold-2)}
.plus-sales-lead{
  color:#aeb9c5;
  font-size:15px;
  max-width:640px;
}
.plus-sales-points{
  display:grid;
  gap:10px;
  margin-top:26px;
}
.plus-sales-points>div{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:start;
  gap:11px;
  padding:12px 13px;
  border-radius:14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
}
.plus-check{
  width:26px;height:26px;
  border-radius:9px;
  background:rgba(214,180,90,.13);
  color:var(--gold-2);
  display:grid;
  place-items:center;
  font-size:11px;
  font-weight:900;
}
.plus-sales-points p{margin:0}
.plus-sales-points strong{
  display:block;
  font-size:11px;
  color:#f4f7f9;
}
.plus-sales-points small{
  display:block;
  color:#94a3b2;
  font-size:9px;
  margin-top:3px;
  line-height:1.5;
}
.plus-sales-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
  margin-top:26px;
}
.plus-sales-actions>span{
  color:#8d9baa;
  font-size:9px;
  font-weight:700;
}

.plus-sales-visual{position:relative}
.plus-dashboard-card{
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.035));
  backdrop-filter:blur(8px);
  border-radius:23px;
}
.plus-dashboard-card.main-card{
  padding:22px;
  box-shadow:0 25px 60px rgba(0,0,0,.22);
}
.plus-dashboard-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
}
.plus-dashboard-head small,.plus-dashboard-head strong{display:block}
.plus-dashboard-head small{font-size:9px;color:#99a7b5}
.plus-dashboard-head strong{font-size:30px;margin-top:4px}
.premium-chip{
  width:35px;height:35px;border-radius:11px;
  display:grid;place-items:center;
  background:linear-gradient(145deg,#f0d787,#c69b3c);
  color:#101620;font-size:18px;font-weight:900;
}
.plus-gain{
  display:inline-flex;align-items:center;gap:5px;
  margin-top:8px;
  padding:5px 8px;
  border-radius:9px;
  background:rgba(97,199,151,.10);
  color:#65d09d;
  font-size:9px;font-weight:900;
}
.plus-gain small{color:#8da59a}
.plus-mini-chart{height:130px;margin-top:12px}
.plus-mini-chart svg{width:100%;height:100%}
.plus-periods{
  display:flex;
  gap:5px;
  justify-content:flex-end;
}
.plus-periods span{
  padding:6px 8px;
  border-radius:8px;
  background:rgba(255,255,255,.045);
  color:#7f8f9e;
  font-size:8px;
  font-weight:900;
}
.plus-periods .active{
  background:rgba(214,180,90,.13);
  color:var(--gold-2);
}

.plus-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:9px;
  margin-top:9px;
}
.plus-dashboard-grid article{
  min-height:112px;
  padding:14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.plus-dashboard-grid small,.plus-dashboard-grid strong,.plus-dashboard-grid span{display:block}
.plus-dashboard-grid small{font-size:8px;color:#8797a7}
.plus-dashboard-grid strong{font-size:18px;margin:4px 0}
.plus-dashboard-grid span{font-size:8px;color:#a9b4bf}
.plus-positive{color:#65d09d!important}
.opening-premium-card{
  border-color:rgba(214,180,90,.20)!important;
  background:linear-gradient(145deg,rgba(214,180,90,.10),rgba(255,255,255,.035))!important;
}
.mini-plus-label{
  display:inline-block;
  width:max-content;
  border-radius:999px;
  padding:5px 7px;
  margin-bottom:10px;
  background:rgba(214,180,90,.13);
  color:var(--gold-2);
  font-size:7px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.plus-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:55px;
  position:relative;
  z-index:1;
}
.plus-feature-grid article{
  position:relative;
  min-height:215px;
  padding:22px;
  border-radius:20px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
}
.plus-feature-grid h3{
  font-family:"Plus Jakarta Sans",sans-serif;
  font-size:16px;
  margin:28px 0 8px;
}
.plus-feature-grid p{
  color:#94a2b0;
  font-size:10px;
  line-height:1.6;
  margin:0;
}
.feature-number{
  color:var(--gold-2);
  font-size:9px;
  font-weight:900;
  letter-spacing:.10em;
}
.premium-highlight-card{
  border-color:rgba(214,180,90,.22)!important;
  background:linear-gradient(145deg,rgba(214,180,90,.08),rgba(255,255,255,.035))!important;
}
.premium-highlight-card .mini-plus-label{
  position:absolute;
  top:18px;
  right:18px;
  margin:0;
}
.opening-inline-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
  margin-top:17px;
}
.opening-inline-stats span{
  padding:8px;
  border-radius:10px;
  background:rgba(255,255,255,.045);
}
.opening-inline-stats small,.opening-inline-stats strong{display:block}
.opening-inline-stats small{font-size:7px;color:#7e8e9e}
.opening-inline-stats strong{font-size:10px;margin-top:2px}

.plus-conversion-banner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  margin-top:24px;
  padding:27px 30px;
  border-radius:22px;
  background:linear-gradient(135deg,#dec067,#f0d787);
  color:#111722;
  position:relative;
  z-index:1;
}
.plus-conversion-banner span{
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
}
.plus-conversion-banner h3{
  font-family:"Plus Jakarta Sans",sans-serif;
  font-size:clamp(19px,2.4vw,29px);
  letter-spacing:-.8px;
  max-width:720px;
  margin:5px 0 0;
}
.plus-conversion-banner .btn-gold{
  background:#08111f;
  color:#fff;
  box-shadow:none;
  flex:0 0 auto;
}

@media(max-width:960px){
  .plus-sales-hero{grid-template-columns:1fr}
  .plus-feature-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .plus-sales-copy h2{letter-spacing:-1.5px}
  .plus-feature-grid{grid-template-columns:1fr}
  .plus-dashboard-grid{grid-template-columns:1fr 1fr}
  .plus-conversion-banner{display:block;padding:23px 20px}
  .plus-conversion-banner .btn{margin-top:18px;width:100%}
  .opening-inline-stats{grid-template-columns:1fr 1fr 1fr}
}


@keyframes cornerLockTL{
  0%,19%{
    transform:translate(0,0);
    width:44px;height:44px;
    border-color:#f0d787;
    filter:drop-shadow(0 0 0 rgba(91,211,150,0));
  }
  22%,64%{
    transform:translate(var(--corner-x),var(--corner-y));
    width:29px;height:29px;
    border-color:#5bd396;
    filter:drop-shadow(0 0 5px rgba(91,211,150,.72));
  }
  72%,100%{
    transform:translate(0,0);
    width:44px;height:44px;
    border-color:#f0d787;
    filter:drop-shadow(0 0 0 rgba(91,211,150,0));
  }
}
  24%,73%{
    transform:translate(var(--corner-x),var(--corner-y));
    width:29px;height:29px;
    border-color:#5bd396;
    filter:drop-shadow(0 0 5px rgba(91,211,150,.72));
  }
  84%,100%{
    transform:translate(0,0);
    width:44px;height:44px;
    border-color:#f0d787;
    filter:drop-shadow(0 0 0 rgba(91,211,150,0));
  }
}
@keyframes cornerLockTR{
  0%,19%{
    transform:translate(0,0);
    width:44px;height:44px;
    border-color:#f0d787;
    filter:drop-shadow(0 0 0 rgba(91,211,150,0));
  }
  22%,64%{
    transform:translate(var(--corner-x-neg),var(--corner-y));
    width:29px;height:29px;
    border-color:#5bd396;
    filter:drop-shadow(0 0 5px rgba(91,211,150,.72));
  }
  72%,100%{
    transform:translate(0,0);
    width:44px;height:44px;
    border-color:#f0d787;
    filter:drop-shadow(0 0 0 rgba(91,211,150,0));
  }
}
  24%,73%{
    transform:translate(var(--corner-x-neg),var(--corner-y));
    width:29px;height:29px;
    border-color:#5bd396;
    filter:drop-shadow(0 0 5px rgba(91,211,150,.72));
  }
  84%,100%{
    transform:translate(0,0);
    width:44px;height:44px;
    border-color:#f0d787;
    filter:drop-shadow(0 0 0 rgba(91,211,150,0));
  }
}
@keyframes cornerLockBL{
  0%,19%{
    transform:translate(0,0);
    width:44px;height:44px;
    border-color:#f0d787;
    filter:drop-shadow(0 0 0 rgba(91,211,150,0));
  }
  22%,64%{
    transform:translate(var(--corner-x),var(--corner-y-neg));
    width:29px;height:29px;
    border-color:#5bd396;
    filter:drop-shadow(0 0 5px rgba(91,211,150,.72));
  }
  72%,100%{
    transform:translate(0,0);
    width:44px;height:44px;
    border-color:#f0d787;
    filter:drop-shadow(0 0 0 rgba(91,211,150,0));
  }
}
  24%,73%{
    transform:translate(var(--corner-x),var(--corner-y-neg));
    width:29px;height:29px;
    border-color:#5bd396;
    filter:drop-shadow(0 0 5px rgba(91,211,150,.72));
  }
  84%,100%{
    transform:translate(0,0);
    width:44px;height:44px;
    border-color:#f0d787;
    filter:drop-shadow(0 0 0 rgba(91,211,150,0));
  }
}
@keyframes cornerLockBR{
  0%,19%{
    transform:translate(0,0);
    width:44px;height:44px;
    border-color:#f0d787;
    filter:drop-shadow(0 0 0 rgba(91,211,150,0));
  }
  22%,64%{
    transform:translate(var(--corner-x-neg),var(--corner-y-neg));
    width:29px;height:29px;
    border-color:#5bd396;
    filter:drop-shadow(0 0 5px rgba(91,211,150,.72));
  }
  72%,100%{
    transform:translate(0,0);
    width:44px;height:44px;
    border-color:#f0d787;
    filter:drop-shadow(0 0 0 rgba(91,211,150,0));
  }
}
  24%,73%{
    transform:translate(var(--corner-x-neg),var(--corner-y-neg));
    width:29px;height:29px;
    border-color:#5bd396;
    filter:drop-shadow(0 0 5px rgba(91,211,150,.72));
  }
  84%,100%{
    transform:translate(0,0);
    width:44px;height:44px;
    border-color:#f0d787;
    filter:drop-shadow(0 0 0 rgba(91,211,150,0));
  }
}

@media(prefers-reduced-motion:reduce){
  .corner{
    width:29px!important;
    height:29px!important;
    border-color:#5bd396!important;
    filter:drop-shadow(0 0 5px rgba(91,211,150,.72))!important;
  }
  .corner.tl{transform:translate(var(--corner-x),var(--corner-y))!important}
  .corner.tr{transform:translate(var(--corner-x-neg),var(--corner-y))!important}
  .corner.bl{transform:translate(var(--corner-x),var(--corner-y-neg))!important}
  .corner.br{transform:translate(var(--corner-x-neg),var(--corner-y-neg))!important}
}


/* Detailed PokéCoffre+ feature catalog */
.plus-full-intro{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:40px;
  margin-top:58px;
  padding-top:34px;
  border-top:1px solid rgba(255,255,255,.09);
  position:relative;
  z-index:1;
}
.plus-full-intro>div{max-width:620px}
.plus-full-intro h3{
  font-family:"Plus Jakarta Sans",sans-serif;
  font-size:clamp(27px,3.4vw,42px);
  line-height:1.1;
  letter-spacing:-1.3px;
  margin:10px 0 0;
}
.plus-full-intro p{
  max-width:440px;
  margin:0;
  color:#94a2b0;
  font-size:11px;
  line-height:1.7;
}
.plus-feature-grid-full{
  margin-top:25px;
}
.plus-feature-grid-full article{
  min-height:240px;
}
.plus-feature-grid-full .premium-wide{
  grid-column:span 3;
  min-height:auto;
}
.premium-tags{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:17px;
}
.premium-tags span{
  padding:5px 7px;
  border-radius:7px;
  background:rgba(214,180,90,.10);
  color:var(--gold-2);
  font-size:7px;
  font-weight:900;
}
.premium-kpi-row{
  display:flex;
  gap:8px;
  margin-top:17px;
}
.premium-kpi-row b{
  padding:7px 8px;
  border-radius:9px;
  background:rgba(255,255,255,.045);
  font-size:9px;
}
.premium-down{color:#e58d8d}
.premium-mini-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin-top:17px;
}
.premium-mini-list span{
  padding:7px 8px;
  border-radius:9px;
  background:rgba(255,255,255,.045);
  color:#9eacb9;
  font-size:8px;
  font-weight:800;
}
.premium-rank{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:8px;
  align-items:center;
  margin-top:17px;
  padding:9px 10px;
  border-radius:10px;
  background:rgba(255,255,255,.045);
  color:var(--gold-2);
  font-size:8px;
  font-weight:900;
}
.premium-rank strong{
  color:#e8edf2;
  font-size:8px;
}
.premium-rank b{color:#f0d787}
.variant-cloud{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:15px;
}
.variant-cloud span{
  padding:5px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.07);
  color:#9eacb9;
  font-size:7px;
  font-weight:800;
}
.completion-mini{
  position:relative;
  height:24px;
  margin-top:17px;
  border-radius:9px;
  background:rgba(255,255,255,.045);
  overflow:hidden;
}
.completion-mini i{
  display:block;
  height:100%;
  background:linear-gradient(90deg,rgba(214,180,90,.32),rgba(240,215,135,.18));
}
.completion-mini span{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  padding-left:8px;
  color:#e7edf2;
  font-size:7px;
  font-weight:900;
}
.graph-mini-bars{
  height:45px;
  display:flex;
  align-items:end;
  gap:5px;
  margin-top:15px;
}
.graph-mini-bars i{
  flex:1;
  border-radius:4px 4px 2px 2px;
  background:linear-gradient(to top,rgba(214,180,90,.28),rgba(240,215,135,.72));
}
.graph-mini-bars i:nth-child(1){height:34%}
.graph-mini-bars i:nth-child(2){height:48%}
.graph-mini-bars i:nth-child(3){height:43%}
.graph-mini-bars i:nth-child(4){height:68%}
.graph-mini-bars i:nth-child(5){height:58%}
.graph-mini-bars i:nth-child(6){height:86%}
.future-plus-line{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  margin-top:20px;
}
.future-plus-line span{
  color:#d8e0e7;
  font-size:8px;
  font-weight:900;
}
.future-plus-line i{
  width:22px;
  height:1px;
  background:rgba(214,180,90,.45);
}
@media(max-width:960px){
  .plus-full-intro{
    display:block;
  }
  .plus-full-intro p{
    margin-top:14px;
    max-width:650px;
  }
  .plus-feature-grid-full .premium-wide{
    grid-column:span 2;
  }
}
@media(max-width:620px){
  .plus-feature-grid-full .premium-wide{
    grid-column:auto;
  }
  .plus-full-intro{
    margin-top:42px;
  }
  .premium-mini-list{
    grid-template-columns:1fr;
  }
  .future-plus-line i{
    width:12px;
  }
}


/* Four-corner lock precision fix */
.scan-guide-v2 .corner{
  transition:none;
}
.scan-guide-v2 .corner.tl,
.scan-guide-v2 .corner.tr,
.scan-guide-v2 .corner.bl,
.scan-guide-v2 .corner.br{
  transform-origin:center;
}


/* Reliable four-corner lock — JS synchronized */
.scan-guide-v2 .corner{
  animation:none!important;
  transform:none!important;
  width:44px;
  height:44px;
  border-color:#f0d787;
  filter:drop-shadow(0 0 0 rgba(91,211,150,0));
  transition:
    left .14s cubic-bezier(.2,.85,.25,1),
    right .14s cubic-bezier(.2,.85,.25,1),
    top .14s cubic-bezier(.2,.85,.25,1),
    bottom .14s cubic-bezier(.2,.85,.25,1),
    width .14s ease,
    height .14s ease,
    border-color .10s ease,
    filter .10s ease;
}

/* Initial open framing */
.scan-guide-v2 .corner.tl{left:0;top:0;right:auto;bottom:auto}
.scan-guide-v2 .corner.tr{right:0;top:0;left:auto;bottom:auto}
.scan-guide-v2 .corner.bl{left:0;bottom:0;right:auto;top:auto}
.scan-guide-v2 .corner.br{right:0;bottom:0;left:auto;top:auto}

/* Once the card is perfectly centered, all 4 corners snap onto its rounded edges */
.scan-guide-v2.is-locked .corner{
  width:29px;
  height:29px;
  border-color:#5bd396;
  filter:drop-shadow(0 0 6px rgba(91,211,150,.78));
}
.scan-guide-v2.is-locked .corner.tl{
  left:var(--corner-x);
  top:var(--corner-y);
}
.scan-guide-v2.is-locked .corner.tr{
  right:var(--corner-x);
  top:var(--corner-y);
}
.scan-guide-v2.is-locked .corner.bl{
  left:var(--corner-x);
  bottom:var(--corner-y);
}
.scan-guide-v2.is-locked .corner.br{
  right:var(--corner-x);
  bottom:var(--corner-y);
}

@media(prefers-reduced-motion:reduce){
  .scan-guide-v2 .corner{
    transition:none!important;
  }
  .scan-guide-v2 .corner.tl{
    left:var(--corner-x)!important;
    top:var(--corner-y)!important;
  }
  .scan-guide-v2 .corner.tr{
    right:var(--corner-x)!important;
    top:var(--corner-y)!important;
  }
  .scan-guide-v2 .corner.bl{
    left:var(--corner-x)!important;
    bottom:var(--corner-y)!important;
  }
  .scan-guide-v2 .corner.br{
    right:var(--corner-x)!important;
    bottom:var(--corner-y)!important;
  }
}


/* Reliable result reveal — synchronized with green corner lock */
.scan-info-panel{
  opacity:0!important;
  visibility:hidden!important;
  transform:translateY(10px) scale(.985)!important;
  transition:
    opacity .12s ease,
    transform .12s ease,
    visibility 0s linear .12s!important;
  animation:none!important;
}
.scan-price-floating{
  opacity:0!important;
  visibility:hidden!important;
  transform:translateY(7px) scale(.95)!important;
  transition:
    opacity .12s ease,
    transform .12s ease,
    visibility 0s linear .12s!important;
  animation:none!important;
}
.scan-stage-v2.show-result .scan-info-panel{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  transition-delay:0s!important;
}
.scan-stage-v2.show-result .scan-price-floating{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  transition-delay:0s!important;
}
@media(prefers-reduced-motion:reduce){
  .scan-info-panel,
  .scan-price-floating{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
}


/* Compact hero scan sizing */
.hero-scan-demo{
  min-height:540px!important;
}
.scan-stage-v2{
  width:min(370px,100%)!important;
  padding:11px!important;
  border-radius:28px!important;
}
.scan-stage-top{
  min-height:40px!important;
}
.scan-camera-v2{
  height:405px!important;
  border-radius:22px!important;
}
.scan-guide-v2{
  inset:24px 46px!important;
  --corner-x:32px!important;
  --corner-y:50px!important;
}
.scan-card-wrap-v2{
  width:188px!important;
  border-radius:13px!important;
}
.scan-guide-v2 .corner{
  width:38px!important;
  height:38px!important;
}
.scan-guide-v2.is-locked .corner{
  width:25px!important;
  height:25px!important;
}
.scan-info-panel{
  min-height:70px!important;
  padding:11px 12px!important;
  border-radius:15px!important;
}
.scan-info-main strong{
  font-size:11.5px!important;
}
.scan-meta{
  font-size:7.6px!important;
}
.scan-price strong{
  font-size:16px!important;
}
.scan-floating-card{
  min-width:72px!important;
  padding:9px 11px!important;
  border-radius:13px!important;
}
.scan-floating-card strong{
  font-size:14px!important;
}
.scan-floating-card span{
  font-size:7px!important;
}
.scan-floating-a{
  left:4px!important;
  bottom:82px!important;
}
.scan-floating-b{
  right:4px!important;
  top:78px!important;
}
.scan-free-badge{
  font-size:7px!important;
  padding:5px 7px!important;
}
.scan-stage-top{
  font-size:9px!important;
}
.scan-success-flash:before,
.scan-success-flash:after{
  width:140px!important;
}
.scan-success-flash span{
  width:58px!important;
  height:58px!important;
}
.scan-success-flash i{
  width:108px!important;
  height:108px!important;
}

@media(max-width:620px){
  .hero-scan-demo{
    min-height:485px!important;
  }
  .scan-stage-v2{
    width:min(320px,100%)!important;
    padding:9px!important;
  }
  .scan-camera-v2{
    height:350px!important;
  }
  .scan-guide-v2{
    inset:21px 39px!important;
    --corner-x:27px!important;
    --corner-y:44px!important;
  }
  .scan-card-wrap-v2{
    width:163px!important;
  }
  .scan-floating-a{
    bottom:74px!important;
  }
  .scan-floating-b{
    top:66px!important;
  }
}


/* Real Bulbizarre card in the second scan animation */
.demo-card-real{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  overflow:hidden;
  width:220px;
  height:auto;
  aspect-ratio:373 / 528;
  border-radius:18px;
  box-shadow:0 25px 45px rgba(12,24,38,.20);
}
.demo-card-real img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:inherit;
}
@media(max-width:620px){
  .demo-card-real{
    width:195px;
    height:auto;
  }
}


/* Regular alternating section backgrounds */
#scan{
  background:var(--cream);
}

/* Section 02 — Collection: dark */
#collection.dark-section{
  background:linear-gradient(135deg,#07111f,#0b1b2e 55%,#12243a);
}

/* Section 03 — Catalogue: light */
#catalogue{
  background:var(--cream);
}

/* Section 04 — Historique: dark */
.history-dark-section{
  background:linear-gradient(135deg,#081321,#0d1f33);
  color:#fff;
}
.history-dark-section .section-kicker{
  color:var(--gold-2);
}
.history-dark-section .section-heading p{
  color:#aab5c2;
}
.history-dark-section .price-panel{
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.10);
  box-shadow:none;
  color:#fff;
}
.history-dark-section .price-panel-head small,
.history-dark-section .y-labels{
  color:#91a0ae;
}
.history-dark-section .periods{
  background:rgba(255,255,255,.06);
}
.history-dark-section .periods button{
  color:#9aa8b5;
}
.history-dark-section .periods button.active{
  background:linear-gradient(135deg,#f0d787,#d6b45a);
  color:#15130c;
}
.history-dark-section .grid-lines line{
  stroke:rgba(255,255,255,.09);
}
.history-dark-section .price-line{
  stroke:#e0c36d;
}
.history-dark-section .price-area{
  opacity:.9;
}

/* Section 05 — PokéCoffre+: premium light stripe */
.plus-sales-light{
  background:linear-gradient(180deg,#f7f5ef,#f0ede5)!important;
  color:var(--ink)!important;
}
.plus-sales-light:before{
  background:radial-gradient(circle,rgba(214,180,90,.16),transparent 68%)!important;
}
.plus-sales-light .plus-sales-copy h2,
.plus-sales-light .plus-full-intro h3,
.plus-sales-light .plus-feature-grid h3,
.plus-sales-light .plus-dashboard-head strong{
  color:var(--ink);
}
.plus-sales-light .plus-sales-lead,
.plus-sales-light .plus-full-intro p,
.plus-sales-light .plus-feature-grid p{
  color:#66717d;
}
.plus-sales-light .plus-sales-badge,
.plus-sales-light .plus-sales-points>div,
.plus-sales-light .plus-dashboard-card,
.plus-sales-light .plus-dashboard-grid article,
.plus-sales-light .plus-feature-grid article{
  background:rgba(255,255,255,.72);
  border-color:#dedfdc;
}
.plus-sales-light .plus-sales-points strong{
  color:#172231;
}
.plus-sales-light .plus-sales-points small,
.plus-sales-light .plus-sales-actions>span,
.plus-sales-light .plus-dashboard-grid small,
.plus-sales-light .plus-dashboard-grid span{
  color:#72808d;
}
.plus-sales-light .plus-dashboard-card.main-card{
  box-shadow:0 22px 55px rgba(7,17,31,.09);
}
.plus-sales-light .plus-dashboard-grid strong{
  color:#152130;
}
.plus-sales-light .plus-periods span,
.plus-sales-light .premium-mini-list span,
.plus-sales-light .premium-kpi-row b,
.plus-sales-light .variant-cloud span,
.plus-sales-light .opening-inline-stats span{
  background:#eceae4;
  color:#5e6974;
}
.plus-sales-light .plus-full-intro{
  border-top-color:#d9d9d3;
}
.plus-sales-light .premium-highlight-card,
.plus-sales-light .opening-premium-card{
  background:linear-gradient(145deg,rgba(214,180,90,.13),rgba(255,255,255,.78))!important;
  border-color:rgba(180,145,58,.28)!important;
}

/* Evolution: full dark stripe after the light Plus section */
.evolution-dark-section{
  background:#07111f;
  color:#fff;
}
.evolution-dark-section .evolution-shell{
  box-shadow:none;
  border:1px solid rgba(255,255,255,.07);
}

/* FAQ stays light after evolution */
#faq{
  background:var(--cream);
}

/* Remove gaps that weaken the stripe effect */
#scan,
#collection,
#catalogue,
#historique,
#plus,
#evolution,
#faq{
  margin:0;
}


/* =========================================================
   ALTERNANCE CORRIGÉE — 01 sombre / 02 clair / 03 sombre...
   ========================================================= */
.alt-dark-section{
  background:linear-gradient(135deg,#07111f,#0b1b2e 58%,#10243a)!important;
  color:#fff!important;
}
.alt-light-section{
  background:var(--cream)!important;
  color:var(--ink)!important;
}

/* 01 — Scan intelligent : sombre */
#scan .section-kicker{color:var(--gold-2)!important}
#scan .feature-copy h2{color:#fff!important}
#scan .feature-copy p{color:#aeb9c5!important}
#scan .check-list li{color:#e7edf2!important}
#scan .check-list li:before{
  background:rgba(97,199,151,.13)!important;
  color:#72d7a7!important;
}
#scan .scanner-demo{
  background:linear-gradient(145deg,#101f31,#172c43)!important;
  border:1px solid rgba(255,255,255,.08)!important;
}
#scan .scan-frame{
  background:rgba(255,255,255,.035)!important;
  border-color:rgba(255,255,255,.12)!important;
}
#scan .scan-corners{
  border-top-color:var(--gold-2)!important;
  border-left-color:var(--gold-2)!important;
}
#scan .scan-corners:after{
  border-right-color:var(--gold-2)!important;
  border-bottom-color:var(--gold-2)!important;
}

/* 02 — Collection : clair */
#collection:before{display:none!important}
#collection .section-kicker{color:#8b6c24!important}
#collection .section-heading h2{color:var(--ink)!important}
#collection .section-heading p{color:#68727e!important}
#collection .dashboard-card{
  background:#fff!important;
  border-color:#e0e4e6!important;
  color:var(--ink)!important;
  box-shadow:0 12px 35px rgba(8,17,31,.055)!important;
}
#collection .dashboard-label,
#collection .dashboard-card.stat small,
#collection .dashboard-card.stat span{
  color:#74808c!important;
}
#collection .area-chart .line{stroke:#c49c38!important}

/* 03 — Catalogue : sombre */
#catalogue .section-kicker{color:var(--gold-2)!important}
#catalogue .feature-copy h2{color:#fff!important}
#catalogue .feature-copy p{color:#aeb9c5!important}
#catalogue .metric-row strong{color:#fff!important}
#catalogue .metric-row span{color:#97a5b2!important}
#catalogue .catalogue-window{
  box-shadow:0 26px 70px rgba(0,0,0,.24)!important;
}

/* 04 — Historique : clair */
#historique .section-kicker{color:#8b6c24!important}
#historique .section-heading h2{color:var(--ink)!important}
#historique .section-heading p{color:#68727e!important}
#historique .price-panel{
  background:#fff!important;
  border-color:#dfe3e5!important;
  box-shadow:0 22px 60px rgba(10,20,30,.07)!important;
  color:var(--ink)!important;
}
#historique .price-panel-head small,
#historique .y-labels{color:#7f8994!important}
#historique .periods{background:#f1f3f4!important}
#historique .periods button{color:#6d7781!important}
#historique .periods button.active{
  background:var(--ink)!important;
  color:#fff!important;
}
#historique .grid-lines line{stroke:#e6e9eb!important}
#historique .price-line{stroke:#183a5f!important}

/* 05 — PokéCoffre+ : sombre */
#plus{
  background:linear-gradient(135deg,#07111f,#0b1b2e 58%,#10243a)!important;
  color:#fff!important;
}
#plus:before{
  background:radial-gradient(circle,rgba(214,180,90,.12),transparent 68%)!important;
}
#plus .plus-sales-copy h2,
#plus .plus-full-intro h3,
#plus .plus-feature-grid h3{
  color:#fff!important;
}
#plus .plus-sales-lead,
#plus .plus-full-intro p,
#plus .plus-feature-grid p{
  color:#98a6b4!important;
}
#plus .plus-sales-badge,
#plus .plus-sales-points>div,
#plus .plus-dashboard-card,
#plus .plus-dashboard-grid article,
#plus .plus-feature-grid article{
  background:rgba(255,255,255,.045)!important;
  border-color:rgba(255,255,255,.085)!important;
}
#plus .plus-sales-points strong,
#plus .plus-dashboard-grid strong,
#plus .plus-dashboard-head strong{
  color:#f5f7f9!important;
}
#plus .plus-sales-points small,
#plus .plus-sales-actions>span,
#plus .plus-dashboard-grid small,
#plus .plus-dashboard-grid span{
  color:#91a0af!important;
}
#plus .plus-full-intro{
  border-top-color:rgba(255,255,255,.09)!important;
}
#plus .premium-highlight-card,
#plus .opening-premium-card{
  background:linear-gradient(145deg,rgba(214,180,90,.09),rgba(255,255,255,.035))!important;
  border-color:rgba(214,180,90,.22)!important;
}

/* Suite de l'alternance : Evolution claire */
#evolution{
  background:var(--cream)!important;
  color:var(--ink)!important;
}
#evolution .evolution-shell{
  box-shadow:0 22px 60px rgba(8,17,31,.10)!important;
}

/* FAQ sombre */
#faq .section-kicker{color:var(--gold-2)!important}
#faq .faq-intro h2{color:#fff!important}
#faq .faq-intro p{color:#aeb9c5!important}
#faq .text-link{color:var(--gold-2)!important}
#faq .faq-list details{
  background:rgba(255,255,255,.055)!important;
  border-color:rgba(255,255,255,.09)!important;
}
#faq .faq-list summary{color:#f3f6f8!important}
#faq .faq-list p{color:#a6b2be!important}
#faq .faq-list summary:after{color:var(--gold-2)!important}

/* Neutralise les anciennes règles d'alternance qui pouvaient reprendre le dessus */
.history-dark-section,
.plus-sales-light,
.evolution-dark-section{
  background:unset;
}


/* Section 01 — scan visual left, text right */
@media(min-width:961px){
  #scan .scan-section-layout .scanner-demo{
    order:1;
  }
  #scan .scan-section-layout .feature-copy{
    order:2;
  }
}

/* Mobile: keep the visual first as well */
@media(max-width:960px){
  #scan .scan-section-layout .scanner-demo{
    order:1;
  }
  #scan .scan-section-layout .feature-copy{
    order:2;
  }
}


/* Section 05 — compact premium overview */
.plus-compact-section{
  padding-top:88px!important;
  padding-bottom:88px!important;
}
.plus-compact-hero{
  display:block!important;
  max-width:1050px;
  margin:0 auto;
}
.plus-compact-hero .plus-sales-copy{
  max-width:none!important;
}
.plus-compact-hero .plus-sales-copy h2{
  max-width:760px;
}
.plus-compact-hero .plus-sales-lead{
  max-width:820px;
  margin-bottom:28px;
}
.plus-all-benefits{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px!important;
  margin-top:26px!important;
}
.plus-all-benefits>div{
  min-height:112px;
  align-items:flex-start!important;
  padding:18px 20px!important;
}
.plus-all-benefits .plus-check{
  flex:0 0 auto;
  margin-top:2px;
}
.plus-all-benefits p{
  margin:0;
}
.plus-all-benefits strong{
  display:block;
  margin-bottom:5px;
}
.plus-all-benefits small{
  display:block;
  line-height:1.5;
}
.plus-compact-section .plus-sales-actions{
  margin-top:26px!important;
}

@media(max-width:760px){
  .plus-compact-section{
    padding-top:68px!important;
    padding-bottom:68px!important;
  }
  .plus-all-benefits{
    grid-template-columns:1fr;
  }
  .plus-all-benefits>div{
    min-height:auto;
  }
}


/* Privacy policy — production-oriented legal layout */
.legal-status{
  padding:20px 22px;
  margin-bottom:28px;
  border:1px solid #d9c88f;
  border-radius:16px;
  background:#fbf7e9;
}
.legal-status-badge{
  display:inline-block;
  margin-right:10px;
  padding:5px 8px;
  border-radius:999px;
  background:#0d1b2b;
  color:#fff;
  font-size:9px;
  font-weight:800;
  letter-spacing:.6px;
  text-transform:uppercase;
}
.legal-status strong{
  font-size:11px;
  color:#554a2b;
}
.legal-status p{
  margin:12px 0 0;
}
.legal-todo{
  margin:18px 0 22px;
  padding:17px 19px;
  border-left:4px solid #d1aa49;
  border-radius:10px;
  background:#faf6e9;
}
.legal-todo strong{
  display:block;
  margin-bottom:7px;
  color:#725a20;
  font-size:12px;
}
.legal-todo p,
.legal-todo li{
  margin-top:4px;
  color:#6b6250;
}
.privacy-table-wrap{
  overflow-x:auto;
  margin:16px 0 24px;
  border:1px solid #e0e4e6;
  border-radius:14px;
}
.privacy-table{
  width:100%;
  min-width:720px;
  border-collapse:collapse;
  font-size:12px;
}
.privacy-table th,
.privacy-table td{
  padding:13px 14px;
  border-bottom:1px solid #e8eaeb;
  text-align:left;
  vertical-align:top;
}
.privacy-table th{
  background:#f3f5f5;
  color:#172231;
  font-size:10px;
  letter-spacing:.25px;
  text-transform:uppercase;
}
.privacy-table td{
  color:#5f6a75;
}
.privacy-table tr:last-child td{
  border-bottom:0;
}
.legal-final-check{
  margin-top:34px;
  padding:22px;
  border-radius:16px;
  background:#07111f;
  color:#fff;
}
.legal-final-check strong{
  display:block;
  margin-bottom:7px;
  color:#ead083;
  font-size:13px;
}
.legal-final-check p{
  margin:0;
  color:#b4c0ca;
}
@media(max-width:620px){
  .legal-status{padding:17px}
  .legal-status-badge{display:block;width:max-content;margin-bottom:8px}
  .privacy-table-wrap{margin-left:-4px;margin-right:-4px}
}


/* Final legal pages additions */
.legal-mail-button{
  display:inline-flex;
  margin:8px 0 8px;
  text-decoration:none;
}
.legal-small{
  margin-top:5px!important;
  font-size:11px!important;
  color:#7a8490!important;
}
.legal-content a.text-link{
  overflow-wrap:anywhere;
}
.legal-content .legal-status p{
  max-width:850px;
}
@media(max-width:620px){
  .legal-mail-button{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}


/* Section 05 — improved readability */
#plus .plus-all-benefits > div{
  background:rgba(255,255,255,.075)!important;
  border-color:rgba(255,255,255,.14)!important;
  padding:20px 22px!important;
}

#plus .plus-all-benefits strong{
  color:#ffffff!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:800!important;
  letter-spacing:.05px!important;
  margin-bottom:7px!important;
}

#plus .plus-all-benefits small{
  color:#c8d1da!important;
  font-size:11.5px!important;
  line-height:1.62!important;
  font-weight:500!important;
}

#plus .plus-all-benefits .plus-check{
  color:#f0d787!important;
  background:rgba(240,215,135,.12)!important;
  border:1px solid rgba(240,215,135,.28)!important;
  width:27px!important;
  height:27px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  font-size:13px!important;
  font-weight:900!important;
}

@media(max-width:760px){
  #plus .plus-all-benefits strong{
    font-size:13.5px!important;
  }
  #plus .plus-all-benefits small{
    font-size:11.25px!important;
  }
}


/* Hero CTA — clean Play icon */
.hero-actions .play-icon{
  width:19px!important;
  height:19px!important;
  flex:0 0 19px;
  display:block;
  fill:#111!important;
}
.hero-actions .play-icon path{
  fill:#111!important;
}


/* Section 03 — screen recording replacing catalogue visual */
.catalogue-video-shell{
  position:relative;
  overflow:hidden;
  width:min(390px,100%);
  margin-inline:auto;
  border-radius:28px;
  padding:10px;
  background:linear-gradient(145deg,#122338,#0b1626);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 30px 70px rgba(0,0,0,.28);
}

.catalogue-demo-video{
  display:block;
  width:100%;
  max-height:620px;
  object-fit:contain;
  border-radius:20px;
  background:#050b12;
}

@media(max-width:960px){
  .catalogue-video-shell{
    width:min(350px,100%);
  }
}

@media(max-width:620px){
  .catalogue-video-shell{
    width:min(300px,100%);
    border-radius:23px;
    padding:8px;
  }
  .catalogue-demo-video{
    max-height:530px;
    border-radius:16px;
  }
}


/* Section 03 — premium video implementation */
@media(min-width:961px){
  #catalogue .catalogue-premium-layout{
    grid-template-columns:minmax(380px,.9fr) minmax(0,1.1fr)!important;
    align-items:center!important;
    gap:78px!important;
  }
  #catalogue .catalogue-product-demo{
    order:1;
  }
  #catalogue .feature-copy{
    order:2;
  }
}

.catalogue-product-demo{
  position:relative;
  width:min(420px,100%);
  min-height:620px;
  margin-inline:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  isolation:isolate;
}

.catalogue-glow{
  position:absolute;
  width:300px;
  height:440px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(226,195,106,.20),rgba(48,89,132,.08) 45%,transparent 72%);
  filter:blur(16px);
  z-index:-1;
}

.catalogue-phone{
  position:relative;
  width:276px;
  padding:9px;
  border-radius:38px;
  background:linear-gradient(145deg,#17283a,#050a11 56%,#26384a);
  border:1px solid rgba(255,255,255,.15);
  box-shadow:
    0 34px 75px rgba(0,0,0,.40),
    inset 0 0 0 1px rgba(255,255,255,.035);
  transform:rotate(-1.4deg);
}

.catalogue-phone:before{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:34px;
  pointer-events:none;
  border:1px solid rgba(255,255,255,.05);
}

.catalogue-phone-speaker{
  position:absolute;
  top:14px;
  left:50%;
  z-index:3;
  width:62px;
  height:6px;
  transform:translateX(-50%);
  border-radius:999px;
  background:#05080c;
  box-shadow:0 1px 0 rgba(255,255,255,.06);
}

.catalogue-phone-screen{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  background:#02060a;
  aspect-ratio:9/19.5;
}

.catalogue-demo-video{
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  display:block;
  object-fit:cover!important;
  border-radius:0!important;
  background:#050b12;
}

.catalogue-float-card{
  position:absolute;
  z-index:4;
  min-width:154px;
  padding:13px 15px;
  border-radius:15px;
  background:rgba(9,20,34,.88);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 18px 45px rgba(0,0,0,.30);
  backdrop-filter:blur(12px);
}

.catalogue-float-card small{
  display:block;
  margin-bottom:4px;
  color:#c0cad4;
  font-size:8px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.8px;
}

.catalogue-float-card strong{
  color:#fff;
  font-size:11px;
  line-height:1.2;
}

.catalogue-float-top{
  top:92px;
  right:-3px;
}

.catalogue-float-bottom{
  bottom:105px;
  left:-12px;
  border-color:rgba(226,195,106,.20);
}

#catalogue .feature-copy{
  max-width:580px;
}

#catalogue .feature-copy h2{
  max-width:560px;
}

#catalogue .feature-copy p{
  max-width:540px;
}

@media(max-width:960px){
  #catalogue .catalogue-premium-layout{
    gap:42px!important;
  }
  #catalogue .catalogue-product-demo{
    order:1;
  }
  #catalogue .feature-copy{
    order:2;
    text-align:left;
  }
  .catalogue-product-demo{
    min-height:560px;
  }
  .catalogue-phone{
    width:250px;
  }
}

@media(max-width:620px){
  .catalogue-product-demo{
    width:min(330px,100%);
    min-height:505px;
  }
  .catalogue-phone{
    width:218px;
    border-radius:32px;
    padding:7px;
  }
  .catalogue-phone-screen{
    border-radius:25px;
  }
  .catalogue-phone:before{
    border-radius:28px;
  }
  .catalogue-float-card{
    min-width:132px;
    padding:10px 12px;
  }
  .catalogue-float-card strong{
    font-size:10px;
  }
  .catalogue-float-top{
    top:76px;
    right:0;
  }
  .catalogue-float-bottom{
    bottom:84px;
    left:0;
  }
}


/* Section 03 — force true side-by-side desktop layout */
#catalogue .catalogue-side-by-side{
  display:grid!important;
  grid-template-columns:420px minmax(0,1fr)!important;
  align-items:center!important;
  gap:82px!important;
}

#catalogue .catalogue-product-demo{
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  max-width:420px!important;
  margin:0!important;
  justify-self:start!important;
}

#catalogue .feature-copy{
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  max-width:620px!important;
  margin:0!important;
  align-self:center!important;
}

#catalogue .feature-copy h2{
  margin-top:18px!important;
  font-size:clamp(42px,4.6vw,68px)!important;
  line-height:1.02!important;
}

#catalogue .feature-copy p{
  font-size:16px!important;
  line-height:1.65!important;
}

@media(max-width:1050px){
  #catalogue .catalogue-side-by-side{
    grid-template-columns:350px minmax(0,1fr)!important;
    gap:52px!important;
  }
  #catalogue .catalogue-product-demo{
    max-width:350px!important;
    min-height:540px!important;
  }
  #catalogue .catalogue-phone{
    width:238px!important;
  }
  #catalogue .feature-copy h2{
    font-size:clamp(38px,4.3vw,56px)!important;
  }
}

@media(max-width:820px){
  #catalogue .catalogue-side-by-side{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
  #catalogue .catalogue-product-demo{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:center!important;
    max-width:350px!important;
  }
  #catalogue .feature-copy{
    grid-column:1!important;
    grid-row:2!important;
    max-width:650px!important;
    justify-self:center!important;
  }
}


/* =========================================================
   MOBILE-FIRST POLISH — PokéCoffre
   Optimized primarily for phones, desktop rules remain intact
   ========================================================= */

@media(max-width:820px){

  html{
    scroll-padding-top:72px;
  }

  body{
    overflow-x:hidden;
  }

  .page-glow{
    display:none!important;
  }

  .container{
    width:min(100% - 36px,1160px)!important;
  }

  .section{
    padding:68px 0!important;
  }

  /* Header / navigation */
  .site-header{
    backdrop-filter:blur(14px);
  }

  .nav-wrap{
    height:66px!important;
  }

  .brand{
    gap:8px!important;
  }

  .brand-logo{
    width:35px!important;
    height:35px!important;
  }

  .brand span{
    font-size:16px!important;
  }

  .menu-button{
    width:44px!important;
    height:44px!important;
    display:grid!important;
    place-content:center!important;
    gap:6px!important;
  }

  .mobile-nav{
    top:66px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-height:calc(100vh - 82px);
    overflow-y:auto;
    padding:12px!important;
    border-radius:0 0 18px 18px!important;
    box-shadow:0 18px 42px rgba(7,17,31,.16);
  }

  .mobile-nav a:not(.btn){
    min-height:44px;
    display:flex;
    align-items:center;
    padding:10px 12px!important;
    border-radius:10px;
    font-size:13px!important;
  }

  .mobile-nav .btn{
    min-height:48px;
    margin-top:5px;
  }

  /* Hero: faster to understand and act on */
  .hero{
    padding-top:40px!important;
    padding-bottom:58px!important;
  }

  .hero-grid{
    gap:32px!important;
  }

  .hero-copy{
    text-align:left!important;
  }

  .eyebrow{
    width:max-content;
    max-width:100%;
    font-size:9.5px!important;
    line-height:1.3;
  }

  .hero h1{
    font-size:clamp(38px,11.5vw,53px)!important;
    line-height:1.01!important;
    letter-spacing:-2.3px!important;
    margin:18px 0 17px!important;
  }

  .hero-lead{
    margin:0 0 20px!important;
    font-size:14.5px!important;
    line-height:1.65!important;
  }

  .hero-proof{
    justify-content:flex-start!important;
    margin:15px 0 4px!important;
  }

  .hero-actions{
    display:grid!important;
    gap:10px!important;
    margin-top:18px!important;
  }

  .hero-actions .btn{
    width:100%!important;
    min-height:52px;
    justify-content:center;
    font-size:13px!important;
  }

  .trust-row{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px!important;
    margin-top:24px!important;
    text-align:left;
  }

  .trust-row span{
    padding:10px 9px;
    border:1px solid #e0e4e5;
    border-radius:12px;
    background:rgba(255,255,255,.48);
  }

  .trust-row b{
    font-size:10.5px!important;
    line-height:1.2;
  }

  .trust-row small{
    font-size:8px!important;
    line-height:1.3;
  }

  /* Hero scanner: contained inside phone width, no floating clutter */
  .hero-visual{
    min-height:auto!important;
  }

  .hero-scan-demo{
    min-height:0!important;
    padding:0 2px 8px;
  }

  .scan-stage-v2{
    width:100%!important;
    max-width:330px!important;
    margin-inline:auto;
  }

  .scan-camera-v2{
    height:350px!important;
  }

  .scan-floating-card{
    display:none!important;
  }

  /* Generic section typography */
  .section-kicker{
    font-size:10px!important;
    margin-bottom:12px!important;
  }

  .feature-copy h2,
  .section-heading h2,
  .faq-intro h2,
  .plus-copy h2,
  .download-card h2{
    font-size:clamp(31px,9vw,42px)!important;
    line-height:1.06!important;
    letter-spacing:-1.6px!important;
    margin-bottom:15px!important;
  }

  .feature-copy p,
  .section-heading p,
  .faq-intro p,
  .plus-copy p{
    font-size:14px!important;
    line-height:1.65!important;
  }

  /* 01 Scan: text first on phones, compact demo second */
  #scan .scan-section-layout{
    gap:30px!important;
  }

  #scan .feature-copy{
    order:1!important;
  }

  #scan .scanner-demo{
    order:2!important;
    min-height:430px!important;
    padding:20px!important;
    border-radius:26px!important;
  }

  #scan .scan-frame{
    height:350px!important;
    width:min(280px,94%)!important;
  }

  #scan .demo-card-real{
    width:170px!important;
  }

  #scan .result-bubble{
    bottom:15px!important;
    right:15px!important;
    left:15px!important;
    width:auto!important;
    padding:10px 12px!important;
  }

  .check-list{
    gap:11px!important;
    margin-top:20px!important;
  }

  .check-list li{
    font-size:12.5px!important;
    line-height:1.45;
  }

  /* 02 Collection */
  .section-heading{
    display:block!important;
    margin-bottom:28px!important;
  }

  .section-heading p{
    margin-top:8px!important;
  }

  .dashboard-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }

  .dashboard-card{
    padding:16px!important;
    border-radius:17px!important;
  }

  .dashboard-card.large{
    grid-column:1 / -1!important;
    min-height:230px!important;
  }

  .dashboard-card.stat{
    min-height:120px!important;
  }

  .dashboard-card.stat strong{
    font-size:28px!important;
  }

  /* 03 Catalogue: copy first, demo directly below */
  #catalogue .catalogue-side-by-side{
    grid-template-columns:1fr!important;
    gap:22px!important;
  }

  #catalogue .feature-copy{
    grid-column:1!important;
    grid-row:1!important;
    max-width:none!important;
  }

  #catalogue .catalogue-product-demo{
    grid-column:1!important;
    grid-row:2!important;
    justify-self:center!important;
    width:100%!important;
    max-width:320px!important;
    min-height:485px!important;
  }

  #catalogue .feature-copy h2{
    font-size:clamp(31px,9vw,42px)!important;
    line-height:1.06!important;
  }

  #catalogue .feature-copy p{
    font-size:14px!important;
    line-height:1.65!important;
  }

  .catalogue-phone{
    width:218px!important;
    transform:none!important;
  }

  .catalogue-float-card{
    min-width:125px!important;
    padding:10px 11px!important;
  }

  .catalogue-float-top{
    top:66px!important;
    right:0!important;
  }

  .catalogue-float-bottom{
    bottom:70px!important;
    left:0!important;
  }

  .metric-row{
    gap:30px!important;
    margin-top:20px!important;
  }

  .metric-row strong{
    font-size:24px!important;
  }

  /* 04 Statistics */
  .price-panel{
    padding:17px!important;
    border-radius:20px!important;
  }

  .price-panel-head{
    display:block!important;
  }

  .price-panel-head strong{
    font-size:28px!important;
  }

  .periods{
    width:100%;
    margin-top:15px;
    justify-content:space-between;
  }

  .periods button{
    flex:1;
    min-height:38px;
  }

  .price-chart{
    height:225px!important;
    padding-left:42px!important;
  }

  .price-summary{
    justify-content:flex-start!important;
    flex-wrap:wrap;
    gap:8px!important;
  }

  /* 05 Premium */
  .plus-compact-section{
    padding-top:66px!important;
    padding-bottom:66px!important;
  }

  .plus-sales-copy h2{
    font-size:clamp(32px,9vw,43px)!important;
    line-height:1.06!important;
    letter-spacing:-1.7px!important;
  }

  .plus-all-benefits{
    grid-template-columns:1fr!important;
    gap:9px!important;
  }

  #plus .plus-all-benefits > div{
    min-height:0!important;
    padding:15px 16px!important;
    border-radius:14px!important;
  }

  #plus .plus-all-benefits strong{
    font-size:13px!important;
  }

  #plus .plus-all-benefits small{
    font-size:10.8px!important;
    line-height:1.55!important;
  }

  .plus-sales-actions{
    display:block!important;
  }

  .plus-sales-actions .btn{
    width:100%!important;
    justify-content:center;
  }

  /* Evolution */
  .evolution-section{
    padding-top:54px!important;
  }

  .evolution-shell{
    padding:28px 20px!important;
    border-radius:22px!important;
  }

  /* FAQ */
  .faq-list details{
    border-radius:14px!important;
  }

  .faq-list summary{
    min-height:52px;
    display:flex;
    align-items:center;
    font-size:12px!important;
    line-height:1.4;
  }

  .faq-list p{
    font-size:11.5px!important;
    line-height:1.6;
  }

  /* Download CTA */
  .download-section{
    padding-top:16px!important;
  }

  .download-card{
    padding:28px 20px!important;
    border-radius:24px!important;
  }

  .download-actions{
    max-width:none!important;
    width:100%!important;
  }

  .download-actions .btn{
    width:100%!important;
    justify-content:center;
    min-height:52px;
  }

  /* Footer */
  .footer-top,
  .footer-bottom{
    display:block!important;
  }

  .footer-links{
    margin-top:22px;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px!important;
  }

  .legal-note{
    margin-top:16px!important;
    text-align:left!important;
    line-height:1.55;
  }
}

@media(max-width:420px){

  .container{
    width:min(100% - 28px,1160px)!important;
  }

  .section{
    padding:58px 0!important;
  }

  .hero h1{
    font-size:clamp(36px,11.8vw,47px)!important;
  }

  .trust-row{
    grid-template-columns:1fr!important;
  }

  .trust-row span{
    display:grid!important;
    grid-template-columns:110px 1fr;
    align-items:center;
  }

  .scan-stage-v2{
    max-width:305px!important;
  }

  .scan-camera-v2{
    height:330px!important;
  }

  #scan .scanner-demo{
    min-height:405px!important;
  }

  #catalogue .catalogue-product-demo{
    max-width:295px!important;
    min-height:455px!important;
  }

  .catalogue-phone{
    width:205px!important;
  }

  .catalogue-float-card{
    min-width:118px!important;
  }

  .dashboard-grid{
    grid-template-columns:1fr!important;
  }

  .dashboard-card.large,
  .dashboard-card.stat{
    grid-column:auto!important;
  }

  .price-chart{
    height:205px!important;
  }

  .footer-links{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   SECTION 04 — animated interactive price chart
   ========================================================= */

.animated-price-panel{
  position:relative;
  overflow:hidden;
}

.animated-price-panel:before{
  content:"";
  position:absolute;
  width:340px;
  height:340px;
  right:-130px;
  top:-170px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(24,58,95,.075),transparent 70%);
  pointer-events:none;
}

.animated-price-chart{
  overflow:hidden;
}

.animated-price-chart svg{
  overflow:visible;
}

.animated-price-area{
  opacity:0;
  transform-origin:center bottom;
  transition:opacity .7s ease .55s;
}

.animated-price-line{
  stroke-dasharray:1;
  stroke-dashoffset:1;
  transition:stroke-dashoffset 1.35s cubic-bezier(.18,.8,.22,1);
}

.animated-price-panel.chart-visible .animated-price-line{
  stroke-dashoffset:0;
}

.animated-price-panel.chart-visible .animated-price-area{
  opacity:1;
}

.chart-points circle{
  fill:#ffffff;
  stroke:#183a5f;
  stroke-width:4;
  opacity:0;
  transform-box:fill-box;
  transform-origin:center;
  transform:scale(.2);
  transition:
    opacity .28s ease,
    transform .38s cubic-bezier(.2,1.5,.4,1);
}

.chart-points circle:nth-child(1){transition-delay:.18s}
.chart-points circle:nth-child(2){transition-delay:.38s}
.chart-points circle:nth-child(3){transition-delay:.58s}
.chart-points circle:nth-child(4){transition-delay:.78s}
.chart-points circle:nth-child(5){transition-delay:.98s}
.chart-points circle:nth-child(6){transition-delay:1.18s}

.animated-price-panel.chart-visible .chart-points circle{
  opacity:1;
  transform:scale(1);
}

.chart-points .last-point{
  fill:#183a5f;
  stroke:#ffffff;
  stroke-width:5;
}

.chart-live-dot{
  position:absolute;
  right:0;
  top:24%;
  width:15px;
  height:15px;
  border-radius:50%;
  background:#183a5f;
  border:4px solid #fff;
  box-shadow:
    0 0 0 0 rgba(24,58,95,.28),
    0 4px 14px rgba(24,58,95,.22);
  opacity:0;
  transform:translate(50%,-50%) scale(.4);
  pointer-events:none;
}

.animated-price-panel.chart-visible .chart-live-dot{
  animation:chartDotArrive .38s ease 1.18s forwards,
            chartDotPulse 2.1s ease 1.65s infinite;
}

@keyframes chartDotArrive{
  to{opacity:1;transform:translate(50%,-50%) scale(1)}
}

@keyframes chartDotPulse{
  0%{box-shadow:0 0 0 0 rgba(24,58,95,.30),0 4px 14px rgba(24,58,95,.22)}
  70%{box-shadow:0 0 0 11px rgba(24,58,95,0),0 4px 14px rgba(24,58,95,.22)}
  100%{box-shadow:0 0 0 0 rgba(24,58,95,0),0 4px 14px rgba(24,58,95,.22)}
}

.animated-price-summary{
  opacity:0;
  transform:translateY(8px);
  transition:opacity .42s ease 1.05s,transform .42s ease 1.05s;
}

.animated-price-panel.chart-visible .animated-price-summary{
  opacity:1;
  transform:none;
}

.animated-price-panel .periods button{
  min-width:42px;
  transition:
    background .2s ease,
    color .2s ease,
    transform .18s ease;
}

.animated-price-panel .periods button:active{
  transform:scale(.95);
}

.animated-price-panel.chart-redrawing .animated-price-line{
  transition:none!important;
  stroke-dashoffset:1!important;
}

.animated-price-panel.chart-redrawing .animated-price-area,
.animated-price-panel.chart-redrawing .chart-points circle,
.animated-price-panel.chart-redrawing .animated-price-summary,
.animated-price-panel.chart-redrawing .chart-live-dot{
  transition:none!important;
  animation:none!important;
  opacity:0!important;
}

.price-main-value strong{
  font-variant-numeric:tabular-nums;
}

@media(max-width:820px){
  .animated-price-panel:before{
    width:260px;
    height:260px;
  }

  .animated-price-chart{
    margin-top:20px!important;
  }

  .animated-price-chart .chart-points circle{
    r:7;
  }

  .chart-live-dot{
    width:13px;
    height:13px;
  }
}

@media(prefers-reduced-motion:reduce){
  .animated-price-line{
    stroke-dashoffset:0!important;
    transition:none!important;
  }

  .animated-price-area,
  .chart-points circle,
  .animated-price-summary,
  .chart-live-dot{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
  }

  .chart-live-dot{
    display:none;
  }
}


/* Section 04 — slower, richer looping animation */
.animated-price-line{
  transition:stroke-dashoffset 2.75s cubic-bezier(.18,.78,.18,1)!important;
}

.animated-price-area{
  transition:opacity 1.05s ease 1.15s!important;
}

.chart-points circle{
  transition:
    opacity .38s ease,
    transform .48s cubic-bezier(.2,1.45,.4,1)!important;
}

.chart-points circle:nth-child(1){transition-delay:.30s!important}
.chart-points circle:nth-child(2){transition-delay:.52s!important}
.chart-points circle:nth-child(3){transition-delay:.74s!important}
.chart-points circle:nth-child(4){transition-delay:.96s!important}
.chart-points circle:nth-child(5){transition-delay:1.18s!important}
.chart-points circle:nth-child(6){transition-delay:1.40s!important}
.chart-points circle:nth-child(7){transition-delay:1.62s!important}
.chart-points circle:nth-child(8){transition-delay:1.84s!important}
.chart-points circle:nth-child(9){transition-delay:2.06s!important}
.chart-points circle:nth-child(10){transition-delay:2.30s!important}

.animated-price-summary{
  transition:opacity .55s ease 2.15s,transform .55s ease 2.15s!important;
}

.animated-price-panel.chart-visible .chart-live-dot{
  animation:
    chartDotArrive .50s ease 2.40s forwards,
    chartDotPulse 2.45s ease 3.0s infinite!important;
}


/* =========================================================
   SECTION 02 — animated collection cards
   ========================================================= */

#collection .animated-collection-grid .dashboard-card{
  opacity:0;
  transform:translateY(24px) scale(.985);
  transition:
    opacity .65s ease,
    transform .80s cubic-bezier(.18,.78,.18,1),
    box-shadow .45s ease,
    border-color .45s ease;
  will-change:transform,opacity;
}

#collection .animated-collection-grid .dashboard-card:nth-child(1){transition-delay:.08s}
#collection .animated-collection-grid .dashboard-card:nth-child(2){transition-delay:.22s}
#collection .animated-collection-grid .dashboard-card:nth-child(3){transition-delay:.36s}
#collection .animated-collection-grid .dashboard-card:nth-child(4){transition-delay:.50s}
#collection .animated-collection-grid .dashboard-card:nth-child(5){transition-delay:.64s}
#collection .animated-collection-grid .dashboard-card:nth-child(6){transition-delay:.78s}

#collection .animated-collection-grid.collection-visible .dashboard-card{
  opacity:1;
  transform:none;
}

#collection .animated-collection-grid .dashboard-card.collection-pulse{
  animation:collectionCardPulse 2.8s ease-in-out;
}

@keyframes collectionCardPulse{
  0%,100%{
    transform:translateY(0) scale(1);
    box-shadow:0 12px 35px rgba(8,17,31,.055);
  }
  45%{
    transform:translateY(-4px) scale(1.012);
    box-shadow:0 22px 50px rgba(8,17,31,.10);
  }
}

#collection .collection-animated-value{
  font-variant-numeric:tabular-nums;
}

#collection .dashboard-card.large .area-chart{
  opacity:0;
  transform:translateY(8px);
  transition:
    opacity .75s ease .55s,
    transform .75s ease .55s;
}

#collection .animated-collection-grid.collection-visible .dashboard-card.large .area-chart{
  opacity:1;
  transform:none;
}

#collection .dashboard-card.large .area-chart .line{
  stroke-dasharray:1;
  stroke-dashoffset:1;
  transition:stroke-dashoffset 2.4s cubic-bezier(.18,.78,.18,1) .55s;
}

#collection .animated-collection-grid.collection-visible .dashboard-card.large .area-chart .line{
  stroke-dashoffset:0;
}

#collection .animated-collection-grid.collection-replay .dashboard-card{
  transition:none!important;
  opacity:0!important;
  transform:translateY(20px) scale(.985)!important;
}

#collection .animated-collection-grid.collection-replay .dashboard-card.large .area-chart{
  transition:none!important;
  opacity:0!important;
  transform:translateY(8px)!important;
}

#collection .animated-collection-grid.collection-replay .dashboard-card.large .area-chart .line{
  transition:none!important;
  stroke-dashoffset:1!important;
}

@media(prefers-reduced-motion:reduce){
  #collection .animated-collection-grid .dashboard-card,
  #collection .dashboard-card.large .area-chart{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
  }

  #collection .dashboard-card.large .area-chart .line{
    stroke-dashoffset:0!important;
    transition:none!important;
  }
}


/* =========================================================
   SECTION 02 — synchronized collection growth animation
   ========================================================= */

#collection .collection-live-dashboard{
  position:relative;
}

#collection .collection-live-dashboard .dashboard-card{
  opacity:1!important;
  transform:none!important;
}

#collection .collection-value-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-top:4px;
}

#collection .collection-live-dashboard .dashboard-value{
  font-variant-numeric:tabular-nums;
}

#collection .collection-live-dashboard .dashboard-delta{
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

#collection .collection-progress-note{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:8px;
  font-size:10px;
  color:#7b8490;
}

#collection .collection-progress-note b{
  color:#9b7925;
  font-size:10px;
  font-variant-numeric:tabular-nums;
}

#collection .collection-animated-chart{
  position:relative;
  overflow:visible;
}

#collection .collection-gridlines line{
  stroke:#e8e9e5;
  stroke-width:1;
}

#collection .collection-live-line{
  fill:none;
  stroke:#c39b39;
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:1;
  stroke-dashoffset:1;
}

#collection .collection-live-dot{
  fill:#c39b39;
  stroke:#fff;
  stroke-width:4;
  opacity:0;
  filter:drop-shadow(0 4px 8px rgba(132,101,27,.25));
}

#collection .collection-stat-card{
  position:relative;
  overflow:hidden;
  transition:
    transform .35s ease,
    box-shadow .35s ease,
    border-color .35s ease;
}

#collection .collection-stat-card.is-updating{
  transform:translateY(-4px);
  border-color:rgba(195,155,57,.32)!important;
  box-shadow:0 18px 42px rgba(8,17,31,.09)!important;
}

#collection .collection-stat-card strong{
  font-variant-numeric:tabular-nums;
}

#collection .stat-mini-progress{
  height:4px;
  margin-top:12px;
  overflow:hidden;
  border-radius:999px;
  background:#eceeea;
}

#collection .stat-mini-progress i{
  display:block;
  width:0%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#c39b39,#e2c978);
  transition:width .14s linear;
}

#collection .collection-main-card.is-finished{
  animation:collectionMainFinish 1.3s ease;
}

@keyframes collectionMainFinish{
  0%,100%{box-shadow:0 12px 35px rgba(8,17,31,.055)}
  45%{box-shadow:0 22px 55px rgba(195,155,57,.16)}
}

@media(max-width:820px){
  #collection .collection-value-row{
    display:block;
  }

  #collection .collection-live-dashboard .dashboard-delta{
    margin-top:5px;
  }

  #collection .collection-progress-note{
    margin-top:10px;
  }
}

@media(prefers-reduced-motion:reduce){
  #collection .collection-stat-card,
  #collection .collection-main-card{
    animation:none!important;
    transition:none!important;
  }
}
