:root{
  --bg:#05050b;
  --bg2:#0a0915;
  --panel:rgba(17,14,32,.72);
  --panel2:rgba(22,17,41,.88);
  --line:rgba(189,145,255,.18);
  --line2:rgba(221,196,255,.34);
  --text:#f8f6ff;
  --muted:#aaa4bd;
  --violet:#9c63ff;
  --violet2:#d6b8ff;
  --pink:#f28dff;
  --shadow:0 24px 90px rgba(65,28,128,.24);
  --radius:24px;
  --max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(900px 600px at 80% -10%,rgba(119,61,255,.16),transparent 60%),
    radial-gradient(800px 500px at -10% 20%,rgba(190,90,255,.09),transparent 65%),
    linear-gradient(180deg,var(--bg),#070610 50%,#05050a);
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,black,transparent 82%);
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{color:inherit}
.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}
.skip{position:absolute;left:-9999px}
.skip:focus{left:18px;top:18px;z-index:100;background:#fff;color:#111;padding:10px 14px;border-radius:10px}

.header{
  position:sticky;
  top:0;
  z-index:30;
  border-bottom:1px solid rgba(255,255,255,.06);
  background:rgba(5,5,11,.78);
  backdrop-filter:blur(18px);
}
.header-inner{min-height:78px;display:flex;align-items:center;gap:24px;padding:10px 0}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}
.brand img{width:52px;height:52px;object-fit:contain}
.brand strong{display:block;font-size:1.16rem;letter-spacing:.20em;line-height:1.05}
.brand small{display:block;color:#a39bad;font-size:.78rem;letter-spacing:.105em;margin-top:5px;font-weight:700}
.lunara-brand img{width:56px;height:56px}
.nav{margin-left:auto;display:flex;align-items:center;gap:5px;overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav a{white-space:nowrap;color:#a9a3b8;font-size:.83rem;font-weight:700;padding:10px 12px;border-radius:11px;transition:.18s ease}
.nav a:hover,.nav a.active{color:#fff;background:rgba(255,255,255,.055)}
.nav a.nav-back{color:#ddcaff;border:1px solid rgba(194,151,255,.2);background:rgba(142,79,239,.08)}
.nav a.nav-back:hover{background:rgba(142,79,239,.16);border-color:rgba(194,151,255,.38)}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:0 16px;
  border:1px solid var(--line2);
  border-radius:13px;
  background:rgba(255,255,255,.035);
  color:#f7f4ff;
  font-weight:800;
  font-size:.83rem;
  cursor:pointer;
  transition:.2s ease;
}
.btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.07);border-color:rgba(221,196,255,.55)}
.btn.primary{border-color:rgba(205,162,255,.44);background:linear-gradient(135deg,#7543d9,#a55cff);box-shadow:0 12px 34px rgba(115,60,220,.26)}
.btn.primary:hover{background:linear-gradient(135deg,#8250e6,#b26cff)}
.btn.small{min-height:38px;padding:0 13px;font-size:.77rem}

.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#a66aff;font-size:.72rem;font-weight:900}
.hero-copy .eyebrow{font-size:1rem;letter-spacing:.24em;margin-bottom:10px}
.lunara-copy .eyebrow{font-size:.9rem;letter-spacing:.2em}
.gradient{background:linear-gradient(90deg,#ffffff 0%,#d9c5ff 34%,#b16eff 72%,#f1a3ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero{padding:52px 0 18px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;min-height:650px}
.hero-copy{position:relative;z-index:2}
.hero h1,.subhero h1,.identity-hero h1{font-size:clamp(3.5rem,7.7vw,6.8rem);line-height:.88;letter-spacing:-.065em;margin:15px 0 24px}
.hero p,.subhero p,.identity-hero p{max-width:690px;color:#aba5b8;line-height:1.78;font-size:1.03rem;margin:0}
.hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:28px}
.hero-art{height:620px;position:relative;display:flex;align-items:flex-end;justify-content:center}
.hero-art::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(136,72,255,.25),rgba(136,72,255,.06) 42%,transparent 70%)}
.hero-art::after{content:"LUNA";position:absolute;right:7%;top:10%;font-size:6.5rem;font-weight:900;letter-spacing:.08em;color:rgba(255,255,255,.018);writing-mode:vertical-rl}
.hero-art img{position:relative;height:600px;max-width:100%;object-fit:contain;filter:drop-shadow(0 25px 45px rgba(0,0,0,.45))}

.section{padding:82px 0}
.section.slim{padding-top:42px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:26px}
.section-head h2,.mascots-preview h2,.support-strip h2,.return-strip h2,.identity-link-strip h2{font-size:clamp(2rem,4vw,3.1rem);letter-spacing:-.04em;margin:8px 0 0}
.section-head p{max-width:520px;color:#928ca4;line-height:1.7;margin:0}

.search{width:340px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:rgba(255,255,255,.03);padding:10px 12px;border-radius:14px;transition:.18s ease}
.search:focus-within{border-color:rgba(196,151,255,.48);box-shadow:0 0 0 3px rgba(156,99,255,.08)}
.search svg{width:18px;min-width:18px;color:#8d83a4}
.search input{width:100%;border:0;outline:0;background:none;color:#fff;min-width:0}
.search input::placeholder{color:#6f6980}
.search-clear{width:28px;height:28px;flex:0 0 auto;border:0;border-radius:9px;background:rgba(255,255,255,.06);color:#b8afc8;cursor:pointer;font-size:1.1rem;line-height:1}
.search-clear:hover{background:rgba(255,255,255,.1);color:#fff}

.services{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.service-card{min-height:205px;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:20px;padding:20px;background:linear-gradient(160deg,rgba(255,255,255,.045),rgba(255,255,255,.018));transition:.22s ease;display:flex;flex-direction:column}
.service-card:hover{transform:translateY(-4px);border-color:rgba(192,139,255,.42);box-shadow:0 20px 45px rgba(31,12,60,.25)}
.service-card::before{content:"";position:absolute;right:-55px;top:-55px;width:145px;height:145px;border-radius:50%;background:radial-gradient(circle,rgba(156,99,255,.12),transparent 70%)}
.service-card.is-filtered-out{display:none!important}
.service-icon{width:44px;height:44px;border-radius:13px;border:1px solid rgba(190,147,255,.28);display:grid;place-items:center;background:rgba(118,70,212,.1);color:#d4b5ff}
.service-icon svg{width:24px}
.service-card h3{font-size:1.14rem;margin:17px 0 8px}
.service-card p{color:#9790a8;line-height:1.55;font-size:.9rem;margin:0 0 20px}
.service-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;color:#d4bcff;font-size:.82rem;font-weight:700}
.service-foot span:last-child{font-size:1.2rem}
.badge{position:absolute;right:14px;top:14px;border:1px solid rgba(190,147,255,.24);background:rgba(138,78,230,.12);color:#d8c2ff;border-radius:999px;padding:6px 9px;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}
.search-empty{padding:28px;border:1px dashed var(--line);border-radius:18px;color:#9a94aa;text-align:center;margin-top:14px}

.lunara-bridge{position:relative;overflow:hidden;border:1px solid rgba(194,151,255,.25);border-radius:30px;background:linear-gradient(135deg,rgba(36,20,62,.95),rgba(15,11,29,.94));box-shadow:var(--shadow);min-height:500px;display:grid;grid-template-columns:1fr .82fr;align-items:center;padding:42px 52px}
.lunara-bridge::before{content:"";position:absolute;inset:auto -10% -65% 25%;height:500px;background:radial-gradient(ellipse,rgba(153,88,255,.23),transparent 65%)}
.lunara-copy{position:relative;z-index:2}
.lunara-logo{width:min(390px,90%);height:auto;margin:0 0 8px;filter:drop-shadow(0 10px 24px rgba(115,60,220,.22))}
.lunara-copy h2{font-size:clamp(2.7rem,5vw,4.8rem);line-height:.95;letter-spacing:-.05em;margin:14px 0 20px}
.lunara-copy p{max-width:620px;color:#b7b0c5;line-height:1.75}
.lunara-pills,.type-row{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 28px}
.pill,.type-row span{border:1px solid rgba(196,158,255,.2);background:rgba(255,255,255,.035);color:#c3bbd1;border-radius:999px;padding:8px 11px;font-size:.76rem}
.ara-wrap{align-self:stretch;position:relative;display:flex;justify-content:center;align-items:flex-end;min-height:430px}
.ara-wrap img{position:relative;right:auto;bottom:-24px;height:555px;max-width:100%;object-fit:contain;filter:drop-shadow(0 25px 35px rgba(0,0,0,.5))}
.ara-wrap::before{content:"ARA";position:absolute;right:11%;top:7%;font-size:6rem;font-weight:900;letter-spacing:.08em;color:rgba(255,255,255,.025)}

.mascots-preview-section{padding-bottom:22px}
.mascots-preview{border:1px solid var(--line);border-radius:25px;background:rgba(255,255,255,.025);display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:30px;padding:30px 34px}
.mascots-preview p{color:#9c96aa;line-height:1.65;margin:10px 0 0;max-width:680px}
.mascot-symbols{display:flex;align-items:center;gap:10px;font-size:2.5rem}
.moon-mark{color:#d9c7ff;text-shadow:0 0 18px rgba(172,117,255,.7)}
.star-mark{color:#f0b6ff;text-shadow:0 0 18px rgba(235,126,255,.75)}
.symbol-separator{font-size:1rem;color:#6f687c}

.reflexes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.reflex-card{border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.025);padding:24px}
.reflex-card b{display:block;font-size:1.05rem;margin-bottom:8px}
.reflex-card p{color:#9690a7;line-height:1.62;font-size:.9rem}
.reflex-card .num{display:block;color:#9c63ff;font-size:.74rem;font-weight:900;letter-spacing:.16em;margin-bottom:20px}

.support-strip,.return-strip,.identity-link-strip{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:28px;background:linear-gradient(130deg,rgba(24,18,43,.92),rgba(9,8,17,.96));padding:40px 42px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.support-strip p,.return-strip p,.identity-link-strip p{color:#9e98ad;max-width:680px;margin:8px 0 0;line-height:1.65}
.return-strip{border-color:rgba(202,153,255,.3);background:linear-gradient(130deg,rgba(40,22,70,.82),rgba(9,8,17,.96))}
.identity-actions{display:flex;gap:9px;flex-wrap:wrap}

.footer{border-top:1px solid rgba(255,255,255,.06);margin-top:70px}
.footer-inner{min-height:115px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#787286;font-size:.8rem}
.footer-links{display:flex;gap:16px;flex-wrap:wrap}
.footer a:hover{color:#fff}

/* Lunara */
.lunara-page{background:
  radial-gradient(1000px 650px at 85% 0%,rgba(205,120,255,.15),transparent 62%),
  radial-gradient(850px 600px at -10% 30%,rgba(110,64,225,.10),transparent 65%),
  linear-gradient(180deg,#06050d,#090612 50%,#05050a)}
.subhero{padding:46px 0 26px;overflow:hidden}
.subhero-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;min-height:650px}
.subhero-copy{position:relative;z-index:2}
.back-link{display:inline-flex;align-items:center;color:#d8c4ff;font-size:.8rem;font-weight:800;border:1px solid rgba(194,151,255,.24);background:rgba(143,80,235,.08);border-radius:999px;padding:9px 12px;margin-bottom:18px}
.back-link:hover{background:rgba(143,80,235,.15);border-color:rgba(194,151,255,.42)}
.lunara-hero-logo{width:min(430px,88%);margin-bottom:10px;filter:drop-shadow(0 14px 30px rgba(130,72,225,.25))}
.subhero-art{height:590px;position:relative;display:flex;align-items:flex-end;justify-content:center}
.subhero-art::before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(202,143,255,.22),transparent 68%)}
.subhero-art::after{content:"ARA";position:absolute;right:8%;top:12%;font-size:6rem;font-weight:900;letter-spacing:.08em;color:rgba(255,255,255,.02);writing-mode:vertical-rl}
.subhero-art img{position:relative;height:560px;max-width:100%;object-fit:contain;filter:drop-shadow(0 25px 45px rgba(0,0,0,.5))}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.feature{border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.027);padding:23px;min-height:210px}
.feature span{color:#a968ff;font-size:.72rem;font-weight:900;letter-spacing:.14em}
.feature h3{margin:22px 0 8px}
.feature p{color:#9791a7;font-size:.9rem;line-height:1.6}
.lunara-note{margin-top:18px;border-left:2px solid #9c63ff;padding:12px 0 12px 18px;color:#9e98ad;line-height:1.65}

/* Luna & Ara */
.identity-hero{padding:90px 0 24px;text-align:center}
.identity-intro{max-width:900px}
.identity-intro p{margin-inline:auto}
.mascot-profiles{display:grid;gap:28px}
.mascot-profile{position:relative;overflow:hidden;min-height:620px;border:1px solid var(--line);border-radius:30px;background:linear-gradient(135deg,rgba(23,17,42,.95),rgba(9,8,17,.96));display:grid;grid-template-columns:1fr .9fr;align-items:center;padding:44px 48px;box-shadow:var(--shadow)}
.mascot-profile::before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;right:-180px;bottom:-260px;background:radial-gradient(circle,rgba(146,84,255,.18),transparent 67%)}
.ara-profile{grid-template-columns:.9fr 1fr;background:linear-gradient(135deg,rgba(35,22,57,.94),rgba(11,9,20,.97))}
.ara-profile::before{right:auto;left:-180px;background:radial-gradient(circle,rgba(226,141,255,.14),transparent 67%)}
.profile-copy{position:relative;z-index:2}
.profile-copy h2{font-size:clamp(2.5rem,5vw,4.5rem);line-height:.98;letter-spacing:-.05em;margin:12px 0 20px}
.profile-copy p{color:#aaa3b7;line-height:1.75;max-width:650px}
.profile-art{position:relative;height:540px;display:flex;align-items:flex-end;justify-content:center}
.profile-art img{height:530px;object-fit:contain;filter:drop-shadow(0 24px 36px rgba(0,0,0,.48))}
.role-symbol{width:74px;height:74px;border:1px solid rgba(210,176,255,.35);border-radius:22px;display:grid;place-items:center;font-size:3rem;margin-bottom:18px;background:rgba(255,255,255,.035)}
.moon-role{color:#d8c3ff;text-shadow:0 0 22px rgba(163,102,255,.7)}
.star-role{color:#f0b6ff;text-shadow:0 0 22px rgba(239,136,255,.75)}

.books{min-height:70vh;display:grid;place-items:center;text-align:center;padding:50px 20px}
.books .symbol{width:130px;margin-inline:auto;filter:drop-shadow(0 0 30px rgba(149,85,255,.3))}
.books h1{font-size:clamp(2.8rem,7vw,5rem);margin:20px 0 12px}
.books p{max-width:580px;color:#9993a8;line-height:1.7}

@media(max-width:1020px){
  .hero-grid,.subhero-grid{grid-template-columns:1fr}
  .hero{padding-top:34px}
  .hero-grid,.subhero-grid{min-height:auto}
  .hero-art{height:520px;margin-top:10px}
  .hero-art img{height:510px}
  .subhero-art{order:-1;height:430px;margin-bottom:10px}
  .subhero-art img{height:430px}
  .services{grid-template-columns:repeat(2,1fr)}
  .lunara-bridge{grid-template-columns:1fr;min-height:820px;padding:38px}
  .ara-wrap{min-height:390px}
  .ara-wrap img{height:450px;bottom:-12px}
  .ara-wrap::before{right:50%;transform:translateX(50%)}
  .reflexes,.feature-grid{grid-template-columns:repeat(2,1fr)}
  .section-head{align-items:flex-start;flex-direction:column}
  .search{width:100%}
  .mascots-preview{grid-template-columns:1fr auto}
  .mascots-preview>a{grid-column:1/-1;width:max-content}
  .mascot-profile,.ara-profile{grid-template-columns:1fr;min-height:auto}
  .ara-profile .profile-art{order:2}
  .profile-art{height:470px}
  .profile-art img{height:460px}
}

@media(max-width:760px){
  .container{width:min(var(--max),calc(100% - 24px))}
  .header-inner{align-items:flex-start;flex-direction:column;gap:8px;padding:12px 0}
  .nav{margin-left:0;width:100%;padding-bottom:2px}
  .nav a{padding:8px 9px;font-size:.76rem}
  .brand small{font-size:.68rem}
  .hero h1,.subhero h1,.identity-hero h1{font-size:clamp(3rem,15vw,4.7rem)}
  .hero p,.subhero p,.identity-hero p{font-size:.96rem}
  .hero-art{height:460px}
  .hero-art img{height:455px}
  .hero-art::after,.subhero-art::after{font-size:4.5rem}
  .section{padding:60px 0}
  .services,.reflexes,.feature-grid{grid-template-columns:1fr}
  .service-card{min-height:185px}
  .lunara-bridge{padding:28px 24px;min-height:760px}
  .lunara-copy h2{font-size:3.1rem}
  .lunara-logo{width:min(330px,100%)}
  .ara-wrap{min-height:350px}
  .ara-wrap img{height:400px;bottom:-18px}
  .mascots-preview{grid-template-columns:1fr;padding:26px}
  .mascot-symbols{justify-content:flex-start}
  .support-strip,.return-strip,.identity-link-strip{align-items:flex-start;flex-direction:column;padding:28px}
  .footer-inner{align-items:flex-start;flex-direction:column;justify-content:center;padding:28px 0}
  .subhero-art{height:390px}
  .subhero-art img{height:390px}
  .mascot-profile{padding:30px 24px}
  .profile-art{height:430px}
  .profile-art img{height:420px}
}

@media(max-width:480px){
  .brand strong{font-size:.92rem}
  .brand img{width:44px;height:44px}
  .hero-art{height:410px}
  .hero-art img{height:410px}
  .lunara-bridge{min-height:725px}
  .ara-wrap img{height:370px}
  .profile-art{height:390px}
  .profile-art img{height:385px}
  .role-symbol{width:62px;height:62px;font-size:2.5rem}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Lunara product page */
.lunara-page{
  --violet:#a06cff;
  --violet2:#dec9ff;
  background:
    radial-gradient(1000px 650px at 85% 0%,rgba(124,64,255,.20),transparent 58%),
    radial-gradient(900px 620px at 8% 26%,rgba(195,96,255,.10),transparent 62%),
    linear-gradient(180deg,#05050c,#080713 48%,#05050a);
}
.lunara-page .lunara-brand img{width:60px;height:60px;filter:drop-shadow(0 0 18px rgba(157,95,255,.32))}
.lunara-product-hero{padding:54px 0 28px;overflow:hidden}
.lunara-product-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;min-height:730px;gap:30px}
.lunara-product-copy{position:relative;z-index:2}
.product-status{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid rgba(194,151,255,.2);background:rgba(145,84,255,.08);border-radius:999px;color:#d9c5ff;font-weight:800;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;margin:18px 0 22px}
.status-dot{width:8px;height:8px;border-radius:50%;background:#c285ff;box-shadow:0 0 14px rgba(194,133,255,.9)}
.lunara-title-lockup{display:flex;align-items:center;gap:17px;margin-bottom:12px}
.lunara-title-lockup img{width:74px;height:74px;object-fit:contain;filter:drop-shadow(0 0 22px rgba(150,80,255,.32))}
.lunara-title-lockup span{display:block;font-size:1.35rem;font-weight:900;letter-spacing:.34em}
.lunara-title-lockup small{display:block;color:#8f88a5;font-size:.67rem;letter-spacing:.16em;margin-top:5px}
.lunara-product-hero h1{font-size:clamp(3.3rem,7vw,6.4rem);line-height:.9;letter-spacing:-.06em;margin:14px 0 24px}
.hero-lead{font-size:1.07rem!important;max-width:720px!important}
.hero-strong{margin-top:19px!important;color:#f3edff!important;font-weight:800;font-size:1rem!important}
.dev-note{margin-top:20px!important;font-size:.78rem!important;color:#81798f!important;max-width:620px!important}
.lunara-product-art{position:relative;height:690px;display:flex;align-items:flex-end;justify-content:center}
.lunara-product-art img{position:relative;z-index:2;height:670px;max-width:100%;object-fit:contain;filter:drop-shadow(0 30px 50px rgba(0,0,0,.45))}
.ara-halo{position:absolute;inset:12% 5% 5%;background:radial-gradient(circle at center,rgba(175,110,255,.30),rgba(114,58,213,.09) 42%,transparent 68%);filter:blur(2px)}
.hero-tablet{position:absolute;z-index:3;right:17%;bottom:20%;width:210px;padding:14px 16px;border-radius:20px;border:1px solid rgba(213,186,255,.22);background:linear-gradient(180deg,rgba(20,16,38,.88),rgba(10,8,22,.9));backdrop-filter:blur(12px);box-shadow:0 20px 50px rgba(17,12,38,.45);transform:rotate(-8deg)}.tablet-head{display:flex;align-items:center;gap:9px;color:#fff}.tablet-head strong{font-size:.9rem}.tablet-head small{margin-left:auto;color:#8d85a1;font-size:.68rem}.tablet-dot{width:10px;height:10px;border-radius:50%;background:#af6bff;box-shadow:0 0 14px rgba(175,107,255,.8)}.tablet-grid{display:grid;grid-template-columns:1fr auto;gap:8px 14px;margin-top:11px}.tablet-grid span{font-size:.68rem;color:#938ca4}.tablet-grid b{font-size:.76rem;color:#fff;font-weight:800}
.floating-health-card{display:none}
.floating-health-card span,.floating-health-card small{display:block;color:#9790a8;font-size:.7rem}
.floating-health-card strong{display:block;margin:4px 0;color:#fff;font-size:.92rem}
.floating-health-card.card-a{left:1%;top:24%}
.floating-health-card.card-a strong{color:#f0b66e}
.floating-health-card.card-b{right:-1%;top:48%}
.floating-health-card.card-b strong{color:#8ee8b1}

.flow-grid{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:14px}
.flow-step{height:100%;padding:25px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(21,17,39,.86),rgba(11,9,22,.7));border-radius:20px}
.flow-step h3{margin:14px 0 8px;font-size:1.08rem}
.flow-step p{margin:0;color:#9f98ad;line-height:1.68;font-size:.89rem}
.flow-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#7b44de,#af69ff);font-weight:900;font-size:.75rem;box-shadow:0 10px 25px rgba(120,63,220,.25)}
.flow-arrow{color:#8e6eb6;font-size:1.5rem;font-weight:900}
.architecture-note{margin-top:18px;padding:14px 18px;border:1px solid rgba(130,201,255,.15);background:rgba(88,144,204,.055);border-radius:14px;color:#aeb1c7;font-size:.84rem;text-align:center}.concept-banner{padding:14px 18px;border:1px solid rgba(194,151,255,.16);background:rgba(255,255,255,.03);border-radius:14px;color:#aeb1c7;font-size:.84rem;line-height:1.55}.concept-banner strong{display:inline-block;margin-right:10px;color:#d2b0ff;text-transform:uppercase;letter-spacing:.08em;font-size:.74rem}

.monitor-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:start}.monitor-visual{display:grid;gap:14px;align-self:start}
.monitor-copy h2,.timeline-copy h2,.security-copy h2,.workshop-copy h2{font-size:clamp(2.25rem,4vw,4rem);line-height:1;letter-spacing:-.045em;margin:12px 0 20px}
.monitor-copy>p,.timeline-copy>p,.security-copy>p,.workshop-copy>p{color:#a6a0b3;line-height:1.75}
.compact-features{display:grid;gap:12px;margin-top:24px}
.compact-features div{padding:15px 16px;border-left:2px solid rgba(176,112,255,.5);background:rgba(255,255,255,.025);border-radius:0 12px 12px 0}
.compact-features strong,.compact-features span{display:block}
.compact-features strong{font-size:.9rem;margin-bottom:5px}
.compact-features span{color:#9891a6;font-size:.8rem;line-height:1.55}

.dashboard-mock{position:relative;border:1px solid rgba(211,182,255,.22);background:linear-gradient(180deg,rgba(19,15,35,.96),rgba(8,7,18,.96));border-radius:25px;padding:18px;box-shadow:0 34px 90px rgba(49,23,93,.34),inset 0 1px 0 rgba(255,255,255,.04);max-width:780px}
.dashboard-mock::after{content:"";position:absolute;inset:-1px;border-radius:25px;pointer-events:none;background:linear-gradient(135deg,rgba(190,132,255,.18),transparent 30%,transparent 70%,rgba(116,173,255,.08));mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;padding:1px}
.dash-top,.dash-machine,.disk-heading,.spark-label{display:flex;align-items:center;justify-content:space-between;gap:15px}
.dash-top{padding:2px 3px 15px;color:#d9d2e5;font-size:.75rem;letter-spacing:.08em}
.dash-top>div{display:flex;align-items:center;gap:8px}
.dash-brand-dot{width:9px;height:9px;border-radius:50%;background:#ad6dff;box-shadow:0 0 14px #ad6dff}
.dash-live{font-size:.62rem;color:#827993}
.dash-machine{padding:13px 15px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);border-radius:14px;margin-bottom:12px}
.dash-machine span{font-size:.82rem;font-weight:800}.dash-machine small{color:#7f788e;font-size:.65rem}
.disk-card{padding:17px;border:1px solid rgba(188,139,255,.14);background:rgba(255,255,255,.025);border-radius:17px}
.disk-heading strong,.disk-heading span{display:block}.disk-heading strong{font-size:1rem}.disk-heading span{font-size:.68rem;color:#7e778c;margin-top:4px}
.health{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border-radius:999px;font-size:.65rem;font-weight:900;white-space:nowrap}
.health.warning{color:#f0bd76;background:rgba(226,157,69,.10);border:1px solid rgba(226,157,69,.18)}
.health.good{color:#91e8b1;background:rgba(94,205,137,.09);border:1px solid rgba(94,205,137,.16)}
.health.neutral{color:#b6b1dd;background:rgba(156,145,220,.08);border:1px solid rgba(156,145,220,.14)}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:14px 0}
.metric-grid>div{padding:12px;border:1px solid rgba(255,255,255,.05);background:rgba(6,5,15,.55);border-radius:12px}
.metric-grid small,.metric-grid strong,.metric-grid span{display:block}
.metric-grid small{color:#7e778c;font-size:.62rem}.metric-grid strong{font-size:.94rem;margin:7px 0}.metric-grid span{color:#827b90;font-size:.6rem;line-height:1.4}.metric-grid .trend-bad{color:#d69a7c}
.analysis-box{padding:13px 14px;border:1px solid rgba(199,146,255,.18);background:linear-gradient(135deg,rgba(137,80,236,.09),rgba(255,255,255,.018));border-radius:13px}
.analysis-box strong{font-size:.72rem;color:#cba6ff}.analysis-box p{margin:5px 0 0;color:#aaa3b5;line-height:1.55;font-size:.7rem}
.spark-wrap{margin-top:14px;padding:12px 13px;border:1px solid rgba(255,255,255,.05);background:rgba(5,5,12,.55);border-radius:13px}.spark-label span{font-size:.69rem;font-weight:800}.spark-label small{color:#766e83;font-size:.6rem}.spark-wrap svg{display:block;width:100%;height:80px;margin-top:7px}
.mini-disks{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:10px}.mini-disks>div{padding:10px;border:1px solid rgba(255,255,255,.05);border-radius:12px}.mini-disks strong,.mini-disks small{display:block}.mini-disks strong{font-size:.69rem;margin-top:7px}.mini-disks small{font-size:.58rem;color:#797283;margin-top:3px}

.timeline-section{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:50px}
.history-card{padding:24px;border:1px solid rgba(207,169,255,.18);background:rgba(20,16,36,.7);border-radius:22px;box-shadow:var(--shadow)}
.history-title{display:flex;justify-content:space-between;font-weight:900;font-size:.86rem;margin-bottom:15px}.history-title span{color:#8e849b;font-size:.65rem;font-weight:700}
.history-row{display:grid;grid-template-columns:90px 42px 1fr;align-items:center;gap:12px;margin:9px 0;color:#938b9f;font-size:.72rem}.history-row strong{color:#fff}.history-row i{height:7px;width:7%;min-width:7px;border-radius:999px;background:#716a7d;transition:.2s}.history-row i.mid{width:25%;background:#9f70db}.history-row i.high{width:55%;background:#c17a96}.history-row i.critical{width:88%;background:#e38a78;box-shadow:0 0 18px rgba(227,138,120,.25)}
.history-card p{margin:16px 0 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.06);color:#9d95aa;line-height:1.6;font-size:.76rem}

.alert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.alert-grid article{padding:23px;border:1px solid var(--line);background:rgba(18,15,31,.67);border-radius:18px}.alert-grid h3{font-size:.98rem;margin:14px 0 8px}.alert-grid p{color:#9790a4;font-size:.8rem;line-height:1.6;margin:0}.alert-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(154,91,255,.11);border:1px solid rgba(177,116,255,.18);color:#d3b5ff;font-size:.75rem;font-weight:900}

.security-panel{padding:32px;border:1px solid rgba(170,124,255,.17);background:linear-gradient(135deg,rgba(28,21,51,.75),rgba(11,9,22,.74));border-radius:25px;display:grid;grid-template-columns:.85fr 1.15fr;gap:45px;align-items:center}
.security-copy ul{padding:0;margin:20px 0 0;list-style:none;display:grid;gap:9px}.security-copy li{position:relative;padding-left:23px;color:#a29baa;font-size:.82rem}.security-copy li::before{content:"✓";position:absolute;left:0;color:#bd8bff;font-weight:900}
.security-diagram{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:10px;align-items:center}.diagram-node{padding:20px 15px;border:1px solid rgba(255,255,255,.07);background:rgba(4,4,12,.55);border-radius:16px;text-align:center}.diagram-node span,.diagram-node strong,.diagram-node small{display:block}.diagram-node span{font-size:.58rem;color:#7e758a;text-transform:uppercase;letter-spacing:.1em}.diagram-node strong{font-size:.8rem;margin:8px 0}.diagram-node small{font-size:.6rem;color:#8e8799}.diagram-node.api{border-color:rgba(190,128,255,.25);box-shadow:0 0 32px rgba(130,67,226,.12)}.diagram-link{text-align:center;color:#a478df;font-weight:900}.diagram-link span{display:block;font-size:.56rem;color:#756b83;font-weight:700;margin-bottom:4px}

.workshop-panel{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:stretch}.workshop-copy,.workshop-card{border:1px solid rgba(193,146,255,.16);background:rgba(17,13,31,.72);border-radius:24px;padding:30px}.workshop-services{display:flex;flex-wrap:wrap;gap:8px;margin-top:23px}.workshop-services span{padding:8px 10px;border-radius:999px;background:rgba(161,97,255,.08);border:1px solid rgba(190,141,255,.15);color:#c7b4db;font-size:.7rem;font-weight:800}.workshop-card{display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,rgba(103,56,185,.18),rgba(16,13,29,.75))}.workshop-badge{font-size:.64rem;color:#b995e3;letter-spacing:.12em;font-weight:900}.workshop-card h3{font-size:1.5rem;margin:15px 0 10px}.workshop-card p{color:#9c95a8;line-height:1.7;font-size:.85rem;margin:0 0 23px}

.compare-wrap{overflow:hidden}.compare-table{border:1px solid rgba(194,148,255,.15);border-radius:20px;overflow:hidden}.compare-row{display:grid;grid-template-columns:1.1fr 1fr 1fr;border-top:1px solid rgba(255,255,255,.05)}.compare-row:first-child{border-top:0}.compare-row>div{padding:16px 18px;font-size:.78rem;color:#a49cad}.compare-row>div+div{border-left:1px solid rgba(255,255,255,.05)}.compare-row>div:first-child{font-weight:850;color:#d7d0df}.compare-head{background:rgba(148,88,242,.08)}.compare-head>div{font-weight:900;color:#d8c2f6!important}.check{color:#b88aff;font-weight:900}

.lunara-cta{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:30px;border:1px solid rgba(194,148,255,.18);background:linear-gradient(135deg,rgba(109,56,195,.13),rgba(255,255,255,.018));border-radius:24px}.cta-logo{display:flex;flex-direction:column;align-items:center;gap:7px}.cta-logo img{width:74px}.cta-logo span{font-size:.65rem;letter-spacing:.24em;font-weight:900}.lunara-cta h2{font-size:1.55rem;margin:7px 0 8px}.lunara-cta p{margin:0;color:#9b94a5;line-height:1.6;font-size:.82rem}.cta-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}


/* Lunara concept / prototype labels */
.concept-banner{display:flex;align-items:flex-start;gap:10px;margin:0 0 14px;padding:11px 13px;border:1px solid rgba(211,168,255,.19);background:linear-gradient(135deg,rgba(133,75,226,.10),rgba(255,255,255,.02));border-radius:13px;color:#aaa2b5;font-size:.72rem;line-height:1.55}
.concept-banner strong{color:#e2ccff;white-space:nowrap;font-size:.68rem;letter-spacing:.07em;text-transform:uppercase}
.dashboard-mock.is-concept{position:relative}
.dashboard-mock.is-concept::before{content:"MAQUETTE CONCEPTUELLE · NON FONCTIONNELLE";display:block;margin:-2px 0 12px;padding:8px 10px;border-radius:10px;border:1px solid rgba(208,160,255,.20);background:rgba(151,90,241,.08);color:#cfaaff;font-size:.62rem;font-weight:900;letter-spacing:.09em;text-align:center}
.architecture-note.concept-note{border-color:rgba(193,145,255,.18);background:rgba(145,84,238,.07);color:#a9a0b3}

/* Main-page Lunara product teaser */
.lunara-lockup-inline{display:flex;align-items:center;gap:15px;margin-bottom:14px}.lunara-lockup-inline img{width:74px;height:74px;object-fit:contain;filter:drop-shadow(0 0 17px rgba(150,85,255,.3))}.lunara-lockup-inline span{display:block;font-weight:900;letter-spacing:.23em;font-size:1.9rem;line-height:1.05}.lunara-lockup-inline small{display:block;margin-top:7px;color:#c5bdd1;letter-spacing:.12em;font-size:.96rem;font-weight:800}.lunara-copy p{max-width:720px}

/* Mascot identity symbols */
.role-image{width:76px;height:76px;object-fit:contain;margin-bottom:12px;filter:drop-shadow(0 0 20px rgba(166,99,255,.24))}.star-glyph{display:grid;place-items:center;width:76px;height:76px;margin-bottom:12px;font-size:3.4rem;color:#d29cff;text-shadow:0 0 22px rgba(181,104,255,.55)}

@media (max-width:1000px){
  .lunara-product-grid,.monitor-layout,.timeline-section,.security-panel,.workshop-panel{grid-template-columns:1fr}
  .lunara-product-art{height:570px}.lunara-product-art img{height:560px}
  .flow-grid{grid-template-columns:1fr}.flow-arrow{transform:rotate(90deg);justify-self:center}
  .metric-grid{grid-template-columns:repeat(2,1fr)}
  .alert-grid{grid-template-columns:repeat(2,1fr)}
  .security-diagram{grid-template-columns:1fr}.diagram-link{transform:rotate(90deg);justify-self:center}.diagram-link span{display:none}
  .lunara-cta{grid-template-columns:auto 1fr}.cta-actions{grid-column:1/-1;justify-content:flex-start}
}
@media (max-width:720px){
  .lunara-product-hero{padding-top:32px}.lunara-product-grid{min-height:auto}.lunara-product-hero h1{font-size:3.2rem}.lunara-title-lockup img{width:60px;height:60px}.lunara-title-lockup span{font-size:1.05rem}
  .lunara-product-art{height:470px;margin-top:5px}.lunara-product-art img{height:455px}
  .dashboard-mock{padding:12px}.metric-grid{grid-template-columns:1fr 1fr}.mini-disks{grid-template-columns:1fr}.dash-machine{align-items:flex-start;flex-direction:column}.disk-heading{align-items:flex-start}.disk-heading .health{margin-top:2px}.concept-banner{font-size:.78rem}.hero-tablet{display:none}
  .alert-grid{grid-template-columns:1fr}.compare-row{grid-template-columns:1fr 1fr}.compare-row>div:first-child{grid-column:1/-1;background:rgba(255,255,255,.02);padding-bottom:9px}.compare-head>div:first-child{display:none}.compare-head{grid-template-columns:1fr 1fr}.compare-row>div+div{border-left:0}.compare-row>div:nth-child(3){border-left:1px solid rgba(255,255,255,.05)}
  .lunara-cta{grid-template-columns:1fr}.cta-logo{align-items:flex-start}.cta-actions{grid-column:auto}.lunara-split-points{grid-template-columns:1fr}
}


.hero-tablet{display:none !important}


/* Homelab / About */
.homelab-panel{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center;padding:34px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(135deg,rgba(22,17,40,.86),rgba(10,8,20,.75))}
.homelab-copy h2{font-size:clamp(2rem,4vw,3.35rem);letter-spacing:-.045em;line-height:1.02;margin:10px 0 16px;max-width:760px}.homelab-copy p{color:#a59eaf;line-height:1.75;margin:0 0 22px;max-width:760px}.homelab-points{display:grid;gap:10px}.homelab-points>div{padding:17px 18px;border:1px solid rgba(191,148,255,.15);border-radius:15px;background:rgba(255,255,255,.025)}.homelab-points strong,.homelab-points span{display:block}.homelab-points strong{font-size:.88rem}.homelab-points span{margin-top:5px;color:#9690a3;font-size:.78rem;line-height:1.5}

/* Legal / policy pages */
.legal-main{min-height:70vh}.legal-hero{padding:82px 0 32px}.legal-hero-inner{max-width:900px}.legal-hero h1{font-size:clamp(3rem,7vw,6rem);line-height:.94;letter-spacing:-.06em;margin:14px 0 20px}.legal-hero p{max-width:760px;color:#a8a1b3;line-height:1.75;font-size:1rem}.legal-content{padding-bottom:90px}.legal-layout{display:grid;gap:16px}.legal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.legal-card{padding:25px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.018))}.legal-card.wide{width:100%}.legal-card h2{font-size:1.15rem;margin:0 0 11px}.legal-card p{margin:0;color:#9f98aa;line-height:1.72;font-size:.9rem}.legal-card p+p{margin-top:10px}.text-link{color:#d1b3ff;text-decoration:underline;text-decoration-color:rgba(209,179,255,.35);text-underline-offset:3px}.text-link:hover{color:#fff}.legal-dl{display:grid;gap:0;margin:0}.legal-dl>div{display:grid;grid-template-columns:210px 1fr;gap:18px;padding:12px 0;border-top:1px solid rgba(255,255,255,.06)}.legal-dl>div:first-child{border-top:0}.legal-dl dt{color:#827a90;font-size:.78rem}.legal-dl dd{margin:0;color:#eee9f8;font-size:.84rem;font-weight:700}
.footer-inner{flex-wrap:wrap}.footer-links{flex-wrap:wrap;justify-content:flex-end}

@media(max-width:900px){.homelab-panel{grid-template-columns:1fr}.legal-grid{grid-template-columns:1fr}.legal-dl>div{grid-template-columns:1fr;gap:5px}}
@media(max-width:640px){.legal-hero{padding-top:55px}.legal-hero h1{font-size:3.2rem}.legal-card{padding:20px}.footer-links{justify-content:flex-start}}

/* Motion system */
:root{
  --pointer-x:0px;
  --pointer-y:0px;
  --art-x:0px;
  --art-y:0px;
}

/* Navigation: a thin animated signature instead of a heavy effect. */
.nav a{position:relative;isolation:isolate}
.nav a::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:5px;
  height:1px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#b67cff 18%,#f0c5ff 50%,#b67cff 82%,transparent);
  transform:scaleX(0);
  transform-origin:center;
  opacity:0;
  transition:transform .28s ease,opacity .28s ease;
}
.nav a:hover::after,.nav a.active::after{transform:scaleX(1);opacity:.95}

/* Brand glow. The tiny sparkle sits where the star lives inside the A. */
.brand,.lunara-title-lockup,.lunara-lockup-inline,.cta-logo{position:relative}
.brand img,.lunara-title-lockup img,.lunara-lockup-inline img,.cta-logo img,.books .symbol,.role-image{
  animation:kc-logo-breathe 5.8s ease-in-out infinite;
  will-change:filter;
}
.brand::after,.lunara-title-lockup::after,.lunara-lockup-inline::after,.cta-logo::after{
  content:"✦";
  position:absolute;
  pointer-events:none;
  z-index:4;
  color:#fff4ff;
  text-shadow:0 0 5px #fff,0 0 12px #ca8cff,0 0 22px rgba(174,91,255,.9);
  opacity:0;
  animation:kc-logo-spark 6.8s ease-in-out infinite;
}
.brand::after{left:24px;top:50%;font-size:8px}
.lunara-brand::after{left:28px}
.lunara-title-lockup::after{left:34px;top:35px;font-size:10px}
.lunara-lockup-inline::after{left:34px;top:34px;font-size:10px}
.cta-logo::after{left:37px;top:33px;font-size:9px}

/* Mascots get a barely perceptible idle motion. */
.hero-art img,.ara-wrap img,.lunara-product-art img,.profile-art img{
  animation:kc-mascot-float 7.4s ease-in-out infinite;
  transform-origin:50% 100%;
  will-change:transform,filter;
}
.ara-wrap img,.lunara-product-art img,.ara-profile .profile-art img{animation-duration:8.2s;animation-delay:-2.1s}
.hero-art::before{
  animation:kc-luna-halo 6.2s ease-in-out infinite;
  will-change:transform,opacity;
}
.ara-halo{animation:kc-ara-halo 6.8s ease-in-out infinite}
.moon-mark,.moon-role,.luna-profile .role-image{
  animation:kc-moon-pulse 5.7s ease-in-out infinite;
}
.star-mark,.star-role,.star-glyph{
  animation:kc-star-pulse 3.9s ease-in-out infinite;
}

/* A small star accent gives Ara/Lunara a different rhythm from Luna. */
.lunara-product-art::before{
  content:"✦";
  position:absolute;
  z-index:1;
  right:13%;
  top:19%;
  font-size:1.25rem;
  color:#dfb0ff;
  text-shadow:0 0 8px #bc79ff,0 0 24px rgba(187,104,255,.78);
  animation:kc-star-pulse 4.4s ease-in-out infinite .5s;
}

/* Tablet reflection. It stays decorative and never intercepts clicks. */
.lunara-product-art::after{
  content:"";
  position:absolute;
  z-index:3;
  pointer-events:none;
  left:46%;
  bottom:7.5%;
  width:330px;
  height:165px;
  max-width:50%;
  border-radius:18px;
  clip-path:polygon(7% 17%,87% 0,100% 77%,18% 100%);
  background:linear-gradient(108deg,transparent 35%,rgba(255,255,255,.04) 43%,rgba(244,221,255,.28) 49%,rgba(255,255,255,.05) 55%,transparent 64%);
  background-size:240% 100%;
  background-position:150% 0;
  transform:translateX(-50%) rotate(-3deg);
  mix-blend-mode:screen;
  opacity:.62;
  animation:kc-tablet-sheen 7.6s ease-in-out infinite 1.2s;
}

/* Cards: lift, glow and a small icon response. */
.service-card,.reflex-card,.feature,.legal-card,.flow-step,.alert-grid article,.history-card,.workshop-card,.workshop-copy,.homelab-points>div{
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background-color .25s ease;
}
.service-card:hover{
  transform:translateY(-5px);
  border-color:rgba(196,139,255,.54);
  box-shadow:0 22px 48px rgba(47,16,91,.31),0 0 0 1px rgba(184,120,255,.05) inset;
}
.service-card .service-icon{transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,background .28s ease}
.service-card:hover .service-icon{
  transform:translateY(-2px) scale(1.06) rotate(-2deg);
  background:rgba(140,82,236,.16);
  box-shadow:0 9px 24px rgba(124,70,226,.20);
}
.service-card .service-foot span:last-child{display:inline-block;transition:transform .22s ease}
.service-card:hover .service-foot span:last-child{transform:translateX(5px)}
.reflex-card:hover,.feature:hover,.legal-card:hover,.flow-step:hover,.alert-grid article:hover,.homelab-points>div:hover{
  transform:translateY(-3px);
  border-color:rgba(190,141,255,.34);
  box-shadow:0 16px 35px rgba(38,14,72,.16);
}

/* Button arrows get their own movement instead of moving the whole button aggressively. */
.btn .btn-arrow{display:inline-block;transition:transform .22s ease,opacity .22s ease}
.btn:hover .btn-arrow.arrow-right{transform:translateX(4px)}
.btn:hover .btn-arrow.arrow-left{transform:translateX(-4px)}
.btn:hover .btn-arrow.arrow-down{transform:translateY(3px)}

/* Scroll reveal. It only activates after JavaScript adds .motion-ready. */
.motion-ready .reveal{
  opacity:0;
  transform:translate3d(0,20px,0);
  filter:blur(2px);
  transition:
    opacity .68s cubic-bezier(.2,.75,.25,1) var(--reveal-delay,0ms),
    transform .68s cubic-bezier(.2,.75,.25,1) var(--reveal-delay,0ms),
    filter .68s ease var(--reveal-delay,0ms);
  will-change:opacity,transform,filter;
}
.motion-ready .reveal.reveal-left{transform:translate3d(-24px,0,0)}
.motion-ready .reveal.reveal-right{transform:translate3d(24px,0,0)}
.motion-ready .reveal.is-visible{
  opacity:1;
  transform:translate3d(0,0,0);
  filter:blur(0);
}

/* Hero depth follows the pointer by only a few pixels on desktop. */
.hero,.lunara-product-hero{position:relative;isolation:isolate}
.hero::before,.lunara-product-hero::before{
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  width:min(760px,68vw);
  height:min(560px,52vw);
  right:-4%;
  top:3%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(139,75,255,.13),rgba(139,75,255,.035) 48%,transparent 72%);
  transform:translate3d(var(--pointer-x),var(--pointer-y),0);
  transition:transform .12s linear;
  filter:blur(2px);
}
.hero-art,.lunara-product-art{transform:translate3d(var(--art-x),var(--art-y),0);transition:transform .14s linear}

/* Lunara dashboard: reveal the trend line once it enters the viewport. */
.spark-line{
  stroke-dasharray:1;
  stroke-dashoffset:1;
}
.spark-area{opacity:0}
.dashboard-mock.is-visible .spark-line{animation:kc-chart-draw 1.55s cubic-bezier(.2,.75,.2,1) .18s forwards}
.dashboard-mock.is-visible .spark-area{animation:kc-chart-fill .75s ease 1.12s forwards}
.dash-brand-dot,.status-dot{animation:kc-status-pulse 2.8s ease-in-out infinite}

@keyframes kc-mascot-float{
  0%,100%{transform:translate3d(0,0,0) rotate(.01deg)}
  50%{transform:translate3d(0,-7px,0) rotate(.01deg)}
}
@keyframes kc-logo-breathe{
  0%,100%{filter:drop-shadow(0 0 8px rgba(149,84,255,.16)) brightness(1)}
  50%{filter:drop-shadow(0 0 17px rgba(166,96,255,.38)) brightness(1.055)}
}
@keyframes kc-logo-spark{
  0%,72%,100%{opacity:0;transform:translate(-50%,-50%) scale(.35) rotate(0deg)}
  78%{opacity:.95;transform:translate(-50%,-50%) scale(1.05) rotate(18deg)}
  84%{opacity:.18;transform:translate(-50%,-50%) scale(.65) rotate(32deg)}
}
@keyframes kc-luna-halo{
  0%,100%{opacity:.72;transform:scale(.98)}
  50%{opacity:1;transform:scale(1.035)}
}
@keyframes kc-ara-halo{
  0%,100%{opacity:.72;transform:scale(.985)}
  50%{opacity:1;transform:scale(1.025)}
}
@keyframes kc-moon-pulse{
  0%,100%{filter:drop-shadow(0 0 7px rgba(151,96,255,.22));text-shadow:0 0 12px rgba(163,102,255,.34)}
  50%{filter:drop-shadow(0 0 14px rgba(167,109,255,.47));text-shadow:0 0 22px rgba(163,102,255,.65)}
}
@keyframes kc-star-pulse{
  0%,100%{opacity:.66;transform:scale(.88) rotate(0deg)}
  45%{opacity:1;transform:scale(1.12) rotate(8deg)}
  65%{opacity:.82;transform:scale(.96) rotate(13deg)}
}
@keyframes kc-tablet-sheen{
  0%,58%,100%{background-position:150% 0;opacity:.12}
  68%{opacity:.65}
  80%{background-position:-55% 0;opacity:.08}
}
@keyframes kc-chart-draw{to{stroke-dashoffset:0}}
@keyframes kc-chart-fill{to{opacity:1}}
@keyframes kc-status-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(173,109,255,.18),0 0 10px rgba(173,109,255,.44)}
  50%{box-shadow:0 0 0 5px rgba(173,109,255,0),0 0 18px rgba(173,109,255,.72)}
}

@media(max-width:760px){
  .lunara-product-art::after{width:240px;height:125px;left:48%;bottom:8%;opacity:.42}
  .hero::before,.lunara-product-hero::before{width:90vw;height:68vw;right:-22%;top:18%}
}

@media(hover:none),(pointer:coarse){
  .hero-art,.lunara-product-art{transform:none!important}
  .service-card:hover,.reflex-card:hover,.feature:hover,.legal-card:hover,.flow-step:hover,.alert-grid article:hover,.homelab-points>div:hover{transform:none}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{
    animation:none!important;
    transition-duration:.001ms!important;
    transition-delay:0ms!important;
  }
  .motion-ready .reveal,.motion-ready .reveal.reveal-left,.motion-ready .reveal.reveal-right{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
  }
  .spark-line{stroke-dashoffset:0!important}
  .spark-area{opacity:1!important}
  .hero-art,.lunara-product-art,.hero::before,.lunara-product-hero::before{transform:none!important}
}

/* À propos */
.about-main{overflow:hidden}
.about-hero{position:relative;min-height:660px;padding:76px 0 0;border-bottom:1px solid rgba(255,255,255,.05);background:radial-gradient(circle at 78% 38%,rgba(127,68,212,.18),transparent 31%),linear-gradient(180deg,rgba(13,10,24,.32),transparent)}
.about-hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:24px;min-height:570px}
.about-hero-copy{position:relative;z-index:3;padding-bottom:72px}
.about-hero h1{font-size:clamp(3.8rem,7vw,7.2rem);line-height:.91;letter-spacing:-.065em;margin:14px 0 24px;max-width:980px}
.about-lead{max-width:790px;color:#aaa3b6;font-size:1.04rem;line-height:1.8;margin:0}
.about-manifesto-stack{display:grid;gap:14px;max-width:780px;margin-top:30px}
.about-manifesto{display:flex;gap:17px;padding:20px 22px;border:1px solid rgba(188,138,255,.22);border-radius:19px;background:linear-gradient(135deg,rgba(139,76,238,.1),rgba(255,255,255,.022));box-shadow:0 20px 65px rgba(44,20,79,.18)}
.about-manifesto.subtle{background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.016));border-color:rgba(255,255,255,.08)}
.manifesto-mark{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;color:#e0c4ff;background:rgba(167,94,255,.12);font-size:1.25rem;box-shadow:inset 0 0 20px rgba(178,112,255,.08)}
.about-manifesto strong{display:block;font-size:1rem}.about-manifesto p{margin:6px 0 0;color:#9991a6;line-height:1.65;font-size:.84rem}
.about-duo-art{position:relative;height:560px;display:flex;align-items:flex-end;justify-content:center;isolation:isolate}
.about-duo-halo{position:absolute;inset:10% 2% 3%;background:radial-gradient(circle at center,rgba(162,91,255,.18),rgba(110,60,195,.06) 46%,transparent 72%);filter:blur(8px)}
.about-duo-art img{position:absolute;bottom:0;max-width:100%;object-fit:contain;filter:drop-shadow(0 30px 55px rgba(0,0,0,.46))}
.about-duo-art .about-luna{left:2%;height:530px;z-index:2}
.about-duo-art .about-ara{right:0;height:545px;z-index:3}
.about-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.about-intro h2,.about-homelab-copy h2,.about-services-panel h2,.about-lunara-panel h2,.about-closing h2,.about-mascots-copy h2{font-size:clamp(2.25rem,4.5vw,4.6rem);line-height:.98;letter-spacing:-.05em;margin:10px 0 18px}
.about-intro>p,.about-homelab-copy>p,.about-services-panel>div>p,.about-lunara-panel>div>p,.about-mascots-copy p{margin:0;color:#a29aaa;line-height:1.8;font-size:.94rem}
.about-intro>p{padding-top:28px}
.about-values-section{background:linear-gradient(180deg,transparent,rgba(103,52,168,.04),transparent)}
.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.about-value{position:relative;padding:25px;border:1px solid rgba(255,255,255,.075);border-radius:21px;background:linear-gradient(160deg,rgba(255,255,255,.038),rgba(255,255,255,.014));transition:transform .3s ease,border-color .3s ease,background .3s ease}.about-value:hover{transform:translateY(-4px);border-color:rgba(187,132,255,.24);background:linear-gradient(160deg,rgba(149,82,240,.08),rgba(255,255,255,.018))}.about-value-icon{display:inline-flex;margin-bottom:30px;color:#ae76f5;font-size:.7rem;font-weight:900;letter-spacing:.14em}.about-value h3{font-size:1.08rem;margin:0 0 10px}.about-value p{margin:0;color:#958e9e;line-height:1.68;font-size:.82rem}
.about-homelab-panel{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;padding:40px;border:1px solid rgba(191,148,255,.15);border-radius:27px;background:linear-gradient(135deg,rgba(23,17,42,.87),rgba(9,8,18,.78));box-shadow:0 30px 90px rgba(33,17,59,.16)}.about-homelab-copy p+p{margin-top:14px}.about-homelab-copy strong{color:#ddd4e8}.about-homelab-stack{display:grid;gap:9px}.about-homelab-stack>div{display:grid;grid-template-columns:42px 115px 1fr;gap:12px;align-items:center;padding:15px 16px;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:rgba(255,255,255,.025)}.about-homelab-stack span{color:#a86ae9;font-size:.64rem;font-weight:900}.about-homelab-stack strong{font-size:.8rem}.about-homelab-stack small{color:#8d8697;font-size:.72rem;line-height:1.4}
.about-mascots-section{background:linear-gradient(180deg,transparent,rgba(119,63,195,.05),transparent)}
.about-mascots-panel{display:grid;grid-template-columns:1fr .95fr;gap:40px;align-items:center;padding:34px 36px;border:1px solid rgba(194,151,255,.15);border-radius:26px;background:linear-gradient(140deg,rgba(38,24,62,.82),rgba(11,10,22,.9))}
.about-mascots-copy p+p{margin-top:14px}.about-mascots-copy .btn{margin-top:22px}
.about-mascots-art{position:relative;height:360px;display:flex;align-items:flex-end;justify-content:center}
.about-mascots-art::before{content:"";position:absolute;inset:8% 7% 0;background:radial-gradient(circle at center,rgba(145,82,245,.16),transparent 70%)}
.about-mascots-art img{position:absolute;bottom:0;max-width:100%;object-fit:contain;filter:drop-shadow(0 22px 45px rgba(0,0,0,.38))}
.about-mascots-art img:first-child{left:2%;height:340px;z-index:2}
.about-mascots-art img:last-child{right:0;height:348px;z-index:3}
.about-services-panel{display:grid;grid-template-columns:1fr .9fr;gap:56px;align-items:center}.about-services-panel .btn{margin-top:24px}.about-services-list{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.about-services-list span{padding:12px 16px;border:1px solid rgba(184,136,242,.15);border-radius:999px;background:rgba(255,255,255,.025);color:#c5bdd0;font-size:.78rem;font-weight:800}
.about-lunara-panel{display:grid;grid-template-columns:230px 1fr;gap:44px;align-items:center;padding:36px 42px;border:1px solid rgba(194,151,255,.18);border-radius:25px;background:linear-gradient(135deg,rgba(51,28,85,.72),rgba(14,11,27,.84))}.about-lunara-symbol{display:grid;place-items:center;height:190px}.about-lunara-symbol img{width:175px;height:175px;object-fit:contain;filter:drop-shadow(0 0 35px rgba(153,87,255,.25))}.about-lunara-panel .btn{margin-top:24px}
.about-closing-section{padding-top:30px}.about-closing{display:flex;align-items:center;justify-content:center;gap:28px;padding:34px 0 76px;text-align:left}.about-closing img{width:92px;height:92px;object-fit:contain;filter:drop-shadow(0 0 28px rgba(145,82,245,.28))}.about-closing h2{font-size:clamp(2rem,4vw,3.7rem);margin-bottom:8px}.about-closing p{margin:0;color:#8f879a}
@media(max-width:1050px){.about-hero-grid{grid-template-columns:1fr}.about-hero{padding-top:60px}.about-hero-copy{padding-bottom:20px}.about-duo-art{height:470px}.about-duo-art .about-luna{height:425px;left:8%}.about-duo-art .about-ara{height:440px;right:5%}.about-values{grid-template-columns:repeat(2,1fr)}.about-intro,.about-homelab-panel,.about-services-panel,.about-mascots-panel{grid-template-columns:1fr}.about-intro>p{padding-top:0}.about-services-list{justify-content:flex-start}.about-mascots-art{height:320px}.about-mascots-art img:first-child{height:300px}.about-mascots-art img:last-child{height:308px}}
@media(max-width:700px){.about-hero{min-height:auto}.about-hero h1{font-size:clamp(3.1rem,15vw,5rem)}.about-duo-art{height:360px}.about-duo-art .about-luna{height:315px;left:0}.about-duo-art .about-ara{height:325px;right:0}.about-manifesto,.about-manifesto.subtle{padding:17px}.about-values{grid-template-columns:1fr}.about-homelab-panel,.about-mascots-panel{padding:27px 22px}.about-homelab-stack>div{grid-template-columns:34px 1fr}.about-homelab-stack small{grid-column:2}.about-lunara-panel{grid-template-columns:1fr;padding:29px 24px}.about-lunara-symbol{height:135px}.about-lunara-symbol img{width:130px;height:130px}.about-closing{align-items:flex-start;gap:18px}.about-closing img{width:70px;height:70px}.about-services-list span{font-size:.72rem}.about-mascots-art{height:280px}.about-mascots-art img:first-child{height:258px}.about-mascots-art img:last-child{height:264px}}


/* À propos: hero duo enrichi sans modifier la structure du site */
.about-duo-art{overflow:visible;min-height:560px}
.about-duo-art .about-duo-main{position:absolute;z-index:4;bottom:-8px;left:50%;height:565px;max-width:88%;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 32px 58px rgba(0,0,0,.5));animation:about-duo-breathe 7.5s ease-in-out infinite}
.about-duo-halo{inset:4% -2% 1%;background:radial-gradient(circle at 50% 48%,rgba(169,97,255,.22),rgba(103,55,188,.075) 42%,transparent 70%);animation:about-halo-breathe 6.8s ease-in-out infinite}
.about-orbit{position:absolute;z-index:1;left:50%;top:46%;border:1px solid rgba(189,142,255,.18);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.about-orbit::before,.about-orbit::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#b879ff;box-shadow:0 0 18px rgba(184,121,255,.95)}
.about-orbit::before{top:8%;left:19%}.about-orbit::after{right:11%;bottom:18%}
.orbit-one{width:520px;height:520px;animation:about-orbit-spin 24s linear infinite}
.orbit-two{width:410px;height:410px;border-style:dashed;border-color:rgba(138,91,226,.14);animation:about-orbit-spin-reverse 31s linear infinite}
.about-role-card{position:absolute;z-index:6;min-width:180px;padding:13px 16px;border:1px solid rgba(203,164,255,.2);border-radius:15px;background:linear-gradient(145deg,rgba(24,18,42,.86),rgba(11,9,24,.7));backdrop-filter:blur(12px);box-shadow:0 18px 44px rgba(21,11,41,.3);animation:about-card-float 5.8s ease-in-out infinite}
.about-role-card span,.about-role-card small{display:block}.about-role-card span{font-size:.74rem;font-weight:900;letter-spacing:.13em;color:#f0e9fa}.about-role-card small{margin-top:5px;color:#9a91a8;font-size:.62rem;letter-spacing:.1em}
.about-role-luna{left:1%;top:13%}.about-role-ara{right:0;top:21%;animation-delay:-2.1s}
.about-tech-tags{position:absolute;z-index:3;left:50%;top:7%;width:78%;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;transform:translateX(-50%)}
.about-tech-tags span{padding:7px 11px;border-radius:999px;border:1px solid rgba(180,132,242,.14);background:rgba(255,255,255,.025);color:#948ca0;font-size:.64rem;font-weight:800;animation:about-tag-drift 6.5s ease-in-out infinite}
.about-tech-tags span:nth-child(2){animation-delay:-1.1s}.about-tech-tags span:nth-child(3){animation-delay:-2.2s}.about-tech-tags span:nth-child(4){animation-delay:-3.3s}.about-tech-tags span:nth-child(5){animation-delay:-4.4s}

/* À propos: duo Luna & Ara plus complice dans la section dédiée */
.about-mascots-art{overflow:visible;isolation:isolate}
.about-mascot-shared-glow{position:absolute;z-index:0;inset:4% 4% 0;background:radial-gradient(circle at center,rgba(159,90,255,.2),rgba(107,57,195,.06) 50%,transparent 72%);filter:blur(7px);animation:about-halo-breathe 6.2s ease-in-out infinite}
.about-friendly-duo{position:absolute!important;z-index:3!important;left:50%!important;right:auto!important;bottom:-6px!important;height:355px!important;max-width:94%!important;transform:translateX(-50%)!important;object-fit:contain;filter:drop-shadow(0 24px 46px rgba(0,0,0,.42));animation:about-friendly-float 7s ease-in-out infinite}
.about-mascot-link{position:absolute;z-index:1;left:50%;top:48%;width:210px;height:1px;background:linear-gradient(90deg,transparent,rgba(191,135,255,.6),transparent);transform:translateX(-50%);box-shadow:0 0 16px rgba(174,105,255,.3);animation:about-link-pulse 4.8s ease-in-out infinite}
.about-mascot-chip{position:absolute;z-index:5;padding:10px 13px;border-radius:13px;border:1px solid rgba(197,151,255,.16);background:rgba(13,10,25,.76);backdrop-filter:blur(10px);box-shadow:0 16px 35px rgba(18,9,36,.25);animation:about-card-float 5.4s ease-in-out infinite}
.about-mascot-chip span,.about-mascot-chip small{display:block}.about-mascot-chip span{font-size:.7rem;font-weight:900;color:#eee6f8}.about-mascot-chip small{margin-top:4px;color:#90879d;font-size:.6rem}.chip-luna{left:0;top:15%}.chip-ara{right:0;top:25%;animation-delay:-2.3s}

@keyframes about-duo-breathe{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-7px)}}
@keyframes about-friendly-float{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-5px)}}
@keyframes about-halo-breathe{0%,100%{opacity:.58;transform:scale(.98)}50%{opacity:1;transform:scale(1.035)}}
@keyframes about-card-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes about-tag-drift{0%,100%{transform:translateY(0);opacity:.72}50%{transform:translateY(-4px);opacity:1}}
@keyframes about-link-pulse{0%,100%{opacity:.35;transform:translateX(-50%) scaleX(.86)}50%{opacity:1;transform:translateX(-50%) scaleX(1.08)}}
@keyframes about-orbit-spin{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes about-orbit-spin-reverse{from{transform:translate(-50%,-50%) rotate(360deg)}to{transform:translate(-50%,-50%) rotate(0deg)}}

@media(max-width:1050px){
  .about-duo-art .about-duo-main{height:485px;max-width:84%}
  .orbit-one{width:460px;height:460px}.orbit-two{width:360px;height:360px}
  .about-role-luna{left:10%}.about-role-ara{right:9%}.about-tech-tags{width:72%}
  .about-friendly-duo{height:320px!important}
}
@media(max-width:700px){
  .about-duo-art{min-height:390px;height:390px}
  .about-duo-art .about-duo-main{height:370px;max-width:96%;bottom:-4px}
  .orbit-one{width:330px;height:330px}.orbit-two{width:260px;height:260px}
  .about-role-card{min-width:145px;padding:10px 12px}.about-role-luna{left:0;top:15%}.about-role-ara{right:0;top:25%}
  .about-tech-tags{top:3%;width:100%}.about-tech-tags span:nth-child(n+4){display:none}
  .about-mascots-art{height:310px}
  .about-friendly-duo{height:290px!important}
  .about-mascot-chip{padding:8px 10px}.chip-luna{left:-4px;top:10%}.chip-ara{right:-4px;top:21%}
}
@media(prefers-reduced-motion:reduce){
  .about-duo-main,.about-duo-halo,.about-orbit,.about-role-card,.about-tech-tags span,.about-friendly-duo,.about-mascot-shared-glow,.about-mascot-link,.about-mascot-chip{animation:none!important}
}


/* À propos refinements: cleaner premium hero and friendlier Luna & Ara */
.about-hero{background:radial-gradient(circle at 76% 24%,rgba(124,66,221,.22),transparent 28%),linear-gradient(180deg,rgba(13,10,24,.32),transparent)}
.about-hero-grid{grid-template-columns:minmax(0,1fr) minmax(520px,1.03fr);gap:36px;align-items:center;min-height:620px}
.about-hero-copy{padding-bottom:34px}
.about-scene-art{position:relative;height:600px;display:flex;align-items:flex-end;justify-content:center;overflow:visible;isolation:isolate}
.about-scene-glow{position:absolute;inset:5% 2% 2%;border-radius:34px;background:radial-gradient(circle at 50% 45%,rgba(164,92,255,.18),rgba(98,48,182,.08) 46%,transparent 74%);filter:blur(10px);animation:about-halo-breathe 7s ease-in-out infinite}
.about-scene-spark{position:absolute;width:10px;height:10px;border-radius:50%;background:rgba(219,194,255,.95);box-shadow:0 0 26px rgba(188,140,255,.95);opacity:.92}
.about-scene-spark.spark-a{top:17%;right:16%;animation:about-spark-float 6.8s ease-in-out infinite}
.about-scene-spark.spark-b{top:29%;left:10%;transform:scale(.7);animation:about-spark-float 5.9s ease-in-out infinite reverse}
.about-scene-frame{position:relative;z-index:2;width:100%;max-width:700px;border-radius:34px;overflow:hidden;border:1px solid rgba(192,153,255,.16);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));box-shadow:0 34px 90px rgba(0,0,0,.33),inset 0 1px 0 rgba(255,255,255,.05)}
.about-scene-frame::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.14),transparent 22%,transparent 72%,rgba(193,149,255,.08));pointer-events:none;z-index:2}
.about-scene-frame::after{content:"";position:absolute;top:-12%;bottom:-12%;left:-42%;width:28%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);transform:skewX(-18deg);animation:about-frame-shine 9.5s ease-in-out infinite;pointer-events:none;z-index:3}
.about-scene-image{display:block;width:100%;height:100%;object-fit:cover;animation:about-scene-drift 9s ease-in-out infinite}
.about-manifesto-stack{max-width:560px}
.about-manifesto{backdrop-filter:blur(10px)}

.about-mascots-panel{grid-template-columns:.95fr 1.05fr;gap:42px;align-items:center}
.about-mascots-copy .btn{margin-top:24px}
.about-mascots-art{position:relative;height:460px;display:flex;align-items:center;justify-content:center;overflow:visible;isolation:isolate}
.about-mascots-art::before{content:"";position:absolute;inset:8% 5% 3%;border-radius:28px;background:radial-gradient(circle at center,rgba(145,82,245,.14),transparent 72%)}
.about-mascots-scene-frame{position:relative;width:100%;max-width:560px;border-radius:28px;overflow:hidden;border:1px solid rgba(192,153,255,.13);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.012));box-shadow:0 28px 65px rgba(0,0,0,.28)}
.about-mascots-scene-frame::before{content:"";position:absolute;inset:auto 0 0;height:32%;background:linear-gradient(180deg,transparent,rgba(8,8,16,.38));z-index:2;pointer-events:none}
.about-mascots-scene-image{display:block;width:100%;height:100%;object-fit:cover;animation:about-scene-drift 10s ease-in-out infinite reverse}

@keyframes about-scene-drift{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(0,-8px,0) scale(1.01)}}
@keyframes about-spark-float{0%,100%{transform:translateY(0) scale(1);opacity:.85}50%{transform:translateY(-14px) scale(1.12);opacity:1}}
@keyframes about-frame-shine{0%,100%{left:-42%;opacity:0}18%{opacity:0}32%{left:118%;opacity:.9}36%{opacity:0}100%{left:118%;opacity:0}}

@media(max-width:1200px){
  .about-hero-grid{grid-template-columns:1fr 1fr;gap:24px}
  .about-scene-art{height:540px}
  .about-scene-frame{max-width:620px}
}
@media(max-width:1050px){
  .about-hero-grid{grid-template-columns:1fr}
  .about-hero-copy{padding-bottom:8px}
  .about-scene-art{height:500px}
  .about-scene-frame{max-width:760px}
  .about-mascots-panel{grid-template-columns:1fr}
  .about-mascots-art{height:420px}
}
@media(max-width:700px){
  .about-scene-art{height:360px}
  .about-scene-frame{border-radius:24px}
  .about-mascots-art{height:300px}
  .about-mascots-scene-frame{border-radius:22px}
}
@media (prefers-reduced-motion: reduce){
  .about-scene-glow,.about-scene-spark,.about-scene-image,.about-mascots-scene-image,.about-scene-frame::after{animation:none!important}
}


.about-scene-frame,.about-mascots-scene-frame{height:100%}
.about-mascots-scene-image{position:relative!important;bottom:auto!important;left:auto!important;right:auto!important;max-width:none!important;filter:drop-shadow(0 24px 40px rgba(0,0,0,.22))!important}
.about-scene-image{position:relative!important;bottom:auto!important;left:auto!important;right:auto!important;max-width:none!important;filter:none!important}


/* About page final layout adjustments */
.about-hero-grid{grid-template-columns:minmax(0,1fr) minmax(600px,1.08fr)!important;gap:52px!important;align-items:center!important;min-height:650px!important}
.about-scene-art{height:640px!important;justify-content:flex-end!important}
.about-scene-frame{width:100%!important;max-width:800px!important;margin-left:auto!important;aspect-ratio:1.22/1!important;border-radius:34px!important}
.about-scene-image{position:relative!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center center!important;filter:none!important}

.about-mascots-panel{grid-template-columns:.96fr 1.04fr!important;gap:54px!important;align-items:center!important}
.about-mascots-art{position:relative!important;height:500px!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;overflow:hidden!important;isolation:isolate!important;border:1px solid rgba(192,153,255,.12)!important;border-radius:28px!important;background:linear-gradient(180deg,rgba(255,255,255,.026),rgba(255,255,255,.01))!important;box-shadow:0 28px 65px rgba(0,0,0,.25)!important}
.about-mascots-art::before{content:""!important;position:absolute!important;inset:0!important;background:radial-gradient(circle at 52% 18%,rgba(157,89,255,.16),transparent 26%),radial-gradient(circle at 48% 84%,rgba(103,54,191,.15),transparent 33%)!important;pointer-events:none!important}
.about-mascots-halo{position:absolute!important;inset:12% 12% 8%!important;border-radius:50%!important;background:radial-gradient(circle at center,rgba(162,92,255,.18),rgba(96,50,180,.06) 52%,transparent 72%)!important;filter:blur(10px)!important;animation:about-halo-breathe 6.8s ease-in-out infinite!important}
.about-mascots-spark{position:absolute!important;width:9px!important;height:9px!important;border-radius:50%!important;background:rgba(229,210,255,.96)!important;box-shadow:0 0 22px rgba(194,146,255,.9)!important;opacity:.95!important}
.about-mascots-spark.spark-a{top:18%!important;left:18%!important;animation:about-spark-float 5.6s ease-in-out infinite!important}
.about-mascots-spark.spark-b{top:24%!important;right:15%!important;transform:scale(.8)!important;animation:about-spark-float 7s ease-in-out infinite reverse!important}
.about-mascots-orbit{position:absolute!important;border:1px solid rgba(188,142,255,.12)!important;border-radius:50%!important;pointer-events:none!important}
.about-mascots-orbit.orbit-a{width:72%!important;height:72%!important;top:12%!important;left:14%!important;animation:about-orbit-spin 26s linear infinite!important}
.about-mascots-orbit.orbit-b{width:56%!important;height:56%!important;top:20%!important;left:22%!important;border-style:dashed!important;border-color:rgba(145,95,229,.12)!important;animation:about-orbit-spin-reverse 32s linear infinite!important}
.about-mascots-duo{position:relative!important;bottom:auto!important;left:auto!important;right:auto!important;z-index:2!important;display:block!important;width:auto!important;height:452px!important;max-width:95%!important;object-fit:contain!important;filter:drop-shadow(0 28px 50px rgba(0,0,0,.34))!important;animation:about-friendly-float 7.2s ease-in-out infinite!important}

@media(max-width:1280px){
  .about-hero-grid{grid-template-columns:minmax(0,1fr) minmax(520px,1fr)!important;gap:40px!important}
  .about-scene-frame{max-width:720px!important}
}
@media(max-width:1050px){
  .about-hero-grid{grid-template-columns:1fr!important;gap:28px!important;min-height:auto!important}
  .about-scene-art{height:540px!important;justify-content:center!important}
  .about-scene-frame{max-width:760px!important;margin-inline:auto!important}
  .about-mascots-panel{grid-template-columns:1fr!important}
  .about-mascots-art{height:430px!important}
  .about-mascots-duo{height:390px!important}
}
@media(max-width:700px){
  .about-scene-art{height:370px!important}
  .about-scene-frame{max-width:100%!important;aspect-ratio:1.14/1!important;border-radius:24px!important}
  .about-mascots-art{height:320px!important;border-radius:22px!important}
  .about-mascots-duo{height:290px!important;max-width:96%!important}
}
@media(prefers-reduced-motion:reduce){
  .about-mascots-halo,.about-mascots-spark,.about-mascots-orbit,.about-mascots-duo{animation:none!important}
}


/* About page: clean final corrections */
.about-scene-art{overflow:hidden!important;justify-content:flex-end!important}
.about-scene-frame{border:none!important;background:transparent!important;box-shadow:0 26px 70px rgba(0,0,0,.22)!important;overflow:hidden!important}
.about-scene-frame::before,.about-scene-frame::after{content:none!important;display:none!important}
.about-scene-image{animation:none!important;transform:none!important;display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important}

.about-mascots-panel{grid-template-columns:.98fr 1.02fr!important;gap:50px!important}
.about-mascots-art{position:relative!important;height:470px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;isolation:isolate!important;border:none!important;background:radial-gradient(circle at 50% 28%,rgba(153,86,247,.12),transparent 32%),linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.008))!important;border-radius:28px!important;box-shadow:none!important}
.about-mascots-art::before{content:none!important;display:none!important}
.about-mascots-halo{position:absolute!important;inset:13% 10% 8%!important;border-radius:50%!important;background:radial-gradient(circle at center,rgba(158,94,255,.16),rgba(96,50,180,.05) 50%,transparent 72%)!important;filter:blur(10px)!important;animation:about-halo-breathe 6.8s ease-in-out infinite!important}
.about-mascots-spark{position:absolute!important;width:8px!important;height:8px!important;border-radius:50%!important;background:rgba(229,210,255,.94)!important;box-shadow:0 0 18px rgba(194,146,255,.82)!important;opacity:.92!important}
.about-mascots-spark.spark-a{top:18%!important;left:19%!important;animation:about-spark-float 5.6s ease-in-out infinite!important}
.about-mascots-spark.spark-b{top:26%!important;right:18%!important;transform:scale(.82)!important;animation:about-spark-float 7s ease-in-out infinite reverse!important}
.about-mascots-orbit{position:absolute!important;border:1px solid rgba(188,142,255,.10)!important;border-radius:50%!important;pointer-events:none!important}
.about-mascots-orbit.orbit-a{width:74%!important;height:74%!important;top:12%!important;left:13%!important;animation:about-orbit-spin 26s linear infinite!important}
.about-mascots-orbit.orbit-b{width:58%!important;height:58%!important;top:20%!important;left:21%!important;border-style:dashed!important;border-color:rgba(145,95,229,.10)!important;animation:about-orbit-spin-reverse 32s linear infinite!important}
.about-mascots-duo{position:relative!important;z-index:2!important;display:block!important;margin:0 auto!important;width:auto!important;height:420px!important;max-width:84%!important;object-fit:contain!important;object-position:center bottom!important;filter:drop-shadow(0 22px 40px rgba(0,0,0,.26))!important;animation:about-friendly-float 7s ease-in-out infinite!important;transform-origin:center bottom!important}

@media(max-width:1280px){
  .about-scene-frame{max-width:760px!important}
}
@media(max-width:1050px){
  .about-scene-art{height:520px!important;justify-content:center!important}
  .about-scene-frame{max-width:760px!important;margin-inline:auto!important}
  .about-mascots-panel{grid-template-columns:1fr!important}
  .about-mascots-art{height:410px!important}
  .about-mascots-duo{height:360px!important;max-width:80%!important}
}
@media(max-width:700px){
  .about-scene-art{height:350px!important}
  .about-scene-frame{aspect-ratio:1.12/1!important;border-radius:24px!important}
  .about-mascots-art{height:300px!important;border-radius:22px!important}
  .about-mascots-duo{height:270px!important;max-width:88%!important}
}
@media(prefers-reduced-motion:reduce){
  .about-scene-image,.about-mascots-halo,.about-mascots-spark,.about-mascots-orbit,.about-mascots-duo{animation:none!important}
}


/* Correctif centrage Luna & Ara */
@keyframes about-mascots-centered-float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}
.about-mascots-duo{
  left:auto!important;
  right:auto!important;
  margin-left:auto!important;
  margin-right:auto!important;
  transform:none!important;
  animation:about-mascots-centered-float 7s ease-in-out infinite!important;
  height:440px!important;
  max-width:90%!important;
}
@media(max-width:1050px){
  .about-mascots-duo{height:380px!important;max-width:86%!important}
}
@media(max-width:700px){
  .about-mascots-duo{height:282px!important;max-width:92%!important}
}
@media(prefers-reduced-motion:reduce){
  .about-mascots-duo{animation:none!important;transform:none!important}
}

/* V5 · accessibilité et stabilité visuelle */
.head-actions{margin-left:auto}
:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:2px solid rgba(205,162,255,.95);outline-offset:3px}
:where(a,button){-webkit-tap-highlight-color:rgba(154,91,245,.18)}
img{height:auto}
