*{margin:0;padding:0;box-sizing:border-box}
:root{
  --r:#ff2200;--o:#ff7700;--y:#ffdd00;--g:#00ff88;
  --c:#00ddff;--b:#4455ff;--v:#cc44ff;--p:#ff22aa;
}
html{background:#000;scroll-behavior:auto} /* we handle scroll manually */
body{
  font-family:'Outfit',sans-serif;
  background:#000;color:#eee;font-weight:300;
  overflow-x:hidden;
}

/* ─── SMOOTH SCROLL WRAPPER ─── */
#scroll-container{
  position:fixed;top:0;left:0;width:100%;height:100vh;overflow:hidden;
  will-change:transform;
}
#scroll-content{
  will-change:transform;
}
/* Spacer to give body correct height */
#scroll-spacer{position:absolute;top:0;left:0;width:1px;}

/* ─── ANIMATIONS ─── */
@keyframes rotate{to{transform:rotate(360deg)}}
@keyframes rotate-rev{to{transform:rotate(-360deg)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes shimmer{0%{background-position:200% center}100%{background-position:-200% center}}
@keyframes border-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes morph{
  0%{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}
  50%{border-radius:30% 60% 70% 40%/50% 60% 30% 60%}
  100%{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}
}
@keyframes sweep{0%{transform:translateX(-200%) skewX(-20deg)}100%{transform:translateX(400%) skewX(-20deg)}}
@keyframes rgb-shift{
  0%{filter:drop-shadow(0 0 40px rgba(0,221,255,.5)) hue-rotate(0deg)}
  50%{filter:drop-shadow(0 0 70px rgba(204,68,255,.6)) hue-rotate(180deg)}
  100%{filter:drop-shadow(0 0 40px rgba(0,221,255,.5)) hue-rotate(360deg)}
}
@keyframes pulse{0%,100%{opacity:.4;transform:scale(1)}50%{opacity:.9;transform:scale(1.1)}}
@keyframes blob-drift{
  0%{transform:translate(0,0) scale(1)}
  25%{transform:translate(40px,30px) scale(1.05)}
  50%{transform:translate(-20px,50px) scale(.95)}
  75%{transform:translate(50px,-20px) scale(1.03)}
  100%{transform:translate(0,0) scale(1)}
}
@keyframes word-reveal{from{opacity:0;transform:translateY(60px) rotateX(-20deg)}to{opacity:1;transform:translateY(0) rotateX(0)}}
@keyframes line-reveal{from{width:0}to{width:100%}}
@keyframes count-up{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}

/* ─── NAV ─── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:9999;
  padding:clamp(12px,2vw,18px) clamp(20px,5vw,60px);
  display:flex;justify-content:space-between;align-items:center;
  transition:background .4s, backdrop-filter .4s, border-color .4s;
}
nav.scrolled{
  background:rgba(0,0,0,.75);
  backdrop-filter:blur(24px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.nav-logo{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(18px,2.5vw,24px);font-weight:700;color:#fff;
  letter-spacing:-.5px;text-decoration:none;
}
.nav-logo span{
  background:linear-gradient(90deg,var(--c),var(--v));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  font-style:italic;
}
.nav-links{display:flex;gap:clamp(16px,3vw,36px);align-items:center;}
.nav-links a{
  font-size:13px;letter-spacing:2px;text-transform:uppercase;
  color:rgba(255,255,255,0.52);text-decoration:none;
  transition:color .3s;position:relative;
}
.nav-links a::after{
  content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;
  background:linear-gradient(90deg,var(--c),var(--v));
  transition:width .3s;
}
.nav-links a:hover{color:#fff}
.nav-links a:hover::after{width:100%}
.nav-cta{
  padding:9px 22px;border-radius:100px;
  background:linear-gradient(90deg,var(--c),var(--b),var(--v),var(--c));
  background-size:200% auto;animation:border-flow 3s linear infinite;
  color:#000;font-size:11.5px;letter-spacing:2.5px;text-transform:uppercase;
  font-weight:600;text-decoration:none;white-space:nowrap;
}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;}
.hamburger span{display:block;width:22px;height:1.5px;background:rgba(255,255,255,.6);transition:all .3s;}
.mobile-menu{
  display:none;position:fixed;inset:0;z-index:9998;
  background:rgba(0,0,0,.97);backdrop-filter:blur(30px);
  flex-direction:column;justify-content:center;align-items:center;gap:36px;
}
.mobile-menu.open{display:flex}
.mobile-menu a{font-size:clamp(20px,5vw,28px);color:rgba(255,255,255,0.76);text-decoration:none;letter-spacing:4px;text-transform:uppercase;}
.close-menu{position:absolute;top:24px;right:28px;font-size:30px;cursor:pointer;color:rgba(255,255,255,0.52);}

/* ─── BLOBS ─── */
.blob{
  position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;
  animation:blob-drift var(--dur,18s) ease-in-out infinite var(--del,0s), morph 14s ease-in-out infinite var(--del2,0s);
}

/* ─── GLASS ─── */
.glass{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.09);
  backdrop-filter:blur(24px);
  position:relative;overflow:hidden;
}
.glass::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.08) 0%,transparent 40%,rgba(0,221,255,.03) 70%,rgba(204,68,255,.04) 100%);
  pointer-events:none;z-index:0;
}
.glass::after{
  content:'';position:absolute;
  top:-50%;left:-100%;width:60px;height:200%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);
  transform:skewX(-20deg);
  animation:sweep 7s ease-in-out infinite var(--sd,0s);
  pointer-events:none;z-index:1;
}

/* ─── HERO ─── */
#hero{
  min-height:100vh;
  display:flex;flex-direction:column;
  justify-content:center;align-items:center;
  text-align:center;
  padding:clamp(100px,15vh,140px) clamp(20px,5vw,60px) clamp(60px,8vh,100px);
  position:relative;overflow:hidden;
}
.hero-bg-blob:nth-child(1){width:70vw;height:70vw;max-width:700px;max-height:700px;top:-20%;right:-15%;background:radial-gradient(circle,rgba(255,34,0,.18) 0%,transparent 70%);--dur:20s;--del:0s;--del2:0s;}
.hero-bg-blob:nth-child(2){width:60vw;height:60vw;max-width:600px;max-height:600px;top:5%;right:0;background:radial-gradient(circle,rgba(0,221,255,.13) 0%,transparent 70%);--dur:16s;--del:-5s;--del2:-3s;}
.hero-bg-blob:nth-child(3){width:55vw;height:55vw;max-width:550px;max-height:550px;bottom:-10%;right:5%;background:radial-gradient(circle,rgba(204,68,255,.14) 0%,transparent 70%);--dur:22s;--del:-10s;--del2:-6s;}
.hero-bg-blob:nth-child(4){width:45vw;height:45vw;max-width:450px;max-height:450px;bottom:15%;left:-8%;background:radial-gradient(circle,rgba(255,119,0,.11) 0%,transparent 70%);--dur:14s;--del:-7s;--del2:-9s;}

/* Arcs */
.arcs-wrap{
  position:absolute;
  width:clamp(260px,45vw,560px);
  height:clamp(260px,45vw,560px);
  top:50%;right:-4%;
  transform:translateY(-50%);
  pointer-events:none;
}
@media(max-width:768px){.arcs-wrap{top:8%;right:-25%;transform:none;opacity:.4;width:240px;height:240px;}}
.arc{position:absolute;inset:0;border-radius:50%;border:1.5px solid transparent;}
.arc:nth-child(1){border-color:rgba(255,34,0,.2) rgba(0,221,255,.2) transparent transparent;animation:rotate 18s linear infinite;}
.arc:nth-child(2){inset:8%;border-color:transparent transparent rgba(204,68,255,.25) rgba(255,119,0,.25);animation:rotate-rev 12s linear infinite;}
.arc:nth-child(3){inset:16%;border-color:rgba(0,255,136,.15) transparent rgba(0,221,255,.15) transparent;animation:rotate 7s linear infinite;}
.arc:nth-child(4){inset:24%;border-color:transparent rgba(68,85,255,.2) transparent rgba(255,34,170,.2);animation:rotate-rev 5s linear infinite;}
.arc:nth-child(5){inset:32%;border-color:rgba(255,221,0,.12) transparent rgba(255,221,0,.12) transparent;animation:rotate 9s linear infinite;}

/* Logo */
.logo-wrap{
  width:clamp(140px,22vw,260px);
  height:clamp(140px,22vw,260px);
  margin:0 auto clamp(20px,3vw,36px);
  position:relative;z-index:2;
  animation:float 7s ease-in-out infinite;
  will-change:transform;
}
.logo-wrap img{width:100%;height:100%;object-fit:contain;animation:rgb-shift 8s linear infinite;}
.logo-ring{position:absolute;inset:-18px;border-radius:50%;border:1px solid rgba(0,221,255,.15);animation:pulse 3s ease-in-out infinite;}
.logo-ring2{position:absolute;inset:-36px;border-radius:50%;border:1px solid rgba(204,68,255,.1);animation:pulse 3s ease-in-out infinite -1.5s;}

/* Hero text — Apple word-by-word */
.hero-eyebrow{
  font-size:clamp(9px,1.2vw,11px);letter-spacing:6px;text-transform:uppercase;
  color:rgba(255,255,255,0.5);margin-bottom:clamp(10px,1.5vw,18px);
  position:relative;z-index:2;
  opacity:0;transform:translateY(20px);
  transition:opacity .8s ease, transform .8s ease;
}
.hero-eyebrow.show{opacity:1;transform:translateY(0);}

.hero-title{
  perspective:1000px;
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(56px,11vw,130px);
  font-weight:700;line-height:.9;letter-spacing:-3px;
  margin-bottom:clamp(10px,1.5vw,18px);
  position:relative;z-index:2;
  overflow:hidden;
}
.hero-word{
  display:block;
  opacity:0;transform:translateY(60px);
  transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1);
  transition-delay:var(--wd, 0s);
}
.hero-word.show{opacity:1;transform:translateY(0);}
.t1{color:rgba(255,255,255,0.92);}
.t2{
  font-style:italic;font-weight:300;
  background:linear-gradient(90deg,var(--r),var(--o),var(--y),var(--g),var(--c),var(--b),var(--v),var(--p));
  background-size:200% auto;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:shimmer 4s linear infinite;
}

.hero-tagline{
  font-size:clamp(11px,1.2vw,13px);letter-spacing:8px;text-transform:uppercase;
  color:rgba(255,255,255,0.5);font-weight:200;
  margin-bottom:clamp(20px,3vw,36px);
  position:relative;z-index:2;
  opacity:0;transform:translateY(20px);
  transition:opacity .8s ease .6s, transform .8s ease .6s;
}
.hero-tagline.show{opacity:1;transform:translateY(0);}

.hero-desc{
  font-size:clamp(14.5px,1.4vw,18px);color:rgba(255,255,255,0.54);
  line-height:2;max-width:min(540px,90vw);margin:0 auto clamp(28px,4vw,44px);
  position:relative;z-index:2;
  opacity:0;transform:translateY(20px);
  transition:opacity .8s ease .8s, transform .8s ease .8s;
}
.hero-desc.show{opacity:1;transform:translateY(0);}

.hero-pills{
  display:flex;gap:8px;flex-wrap:wrap;justify-content:center;
  margin-bottom:clamp(28px,4vw,44px);
  position:relative;z-index:2;
}
.pill{
  font-size:clamp(10px,1vw,12px);letter-spacing:2px;text-transform:uppercase;
  padding:7px 16px;border-radius:100px;border:1px solid;font-weight:400;
  opacity:0;transform:scale(.85) translateY(10px);
  transition:opacity .5s ease, transform .5s cubic-bezier(.34,1.56,.64,1);
  transition-delay:var(--pd,1s);
}
.pill.show{opacity:1;transform:scale(1) translateY(0);}
.p1{border-color:rgba(255,34,0,.4);color:var(--r);}
.p2{border-color:rgba(255,119,0,.4);color:var(--o);}
.p3{border-color:rgba(0,255,136,.35);color:var(--g);}
.p4{border-color:rgba(0,221,255,.35);color:var(--c);}
.p5{border-color:rgba(68,85,255,.4);color:var(--b);}
.p6{border-color:rgba(204,68,255,.4);color:var(--v);}

.hero-buttons{
  display:flex;gap:14px;flex-wrap:wrap;justify-content:center;
  position:relative;z-index:2;
  opacity:0;transform:translateY(20px);
  transition:opacity .8s ease 1.4s, transform .8s ease 1.4s;
}
.hero-buttons.show{opacity:1;transform:translateY(0);}
.btn-primary{
  padding:14px 34px;border-radius:100px;
  background:linear-gradient(90deg,var(--c),var(--b),var(--v),var(--c));
  background-size:200% auto;animation:border-flow 3s linear infinite;
  color:#000;font-size:12px;letter-spacing:3px;text-transform:uppercase;
  font-weight:600;text-decoration:none;font-family:'Outfit',sans-serif;
  transition:transform .3s, box-shadow .3s;
}
.btn-primary:hover{transform:scale(1.04);box-shadow:0 0 40px rgba(0,221,255,.3);}
.btn-ghost{
  padding:14px 34px;border-radius:100px;
  border:1px solid rgba(255,255,255,.15);
  color:rgba(255,255,255,0.68);font-size:12px;letter-spacing:3px;
  text-transform:uppercase;text-decoration:none;font-family:'Outfit',sans-serif;
  transition:border-color .3s,color .3s,transform .3s;
}
.btn-ghost:hover{border-color:rgba(255,255,255,.4);color:#fff;transform:scale(1.04);}

/* ─── SCROLL INDICATOR ─── */
.scroll-hint{
  position:absolute;bottom:clamp(24px,4vh,40px);left:50%;transform:translateX(-50%);
  z-index:10;display:flex;flex-direction:column;align-items:center;gap:8px;
  opacity:0;transition:opacity .8s ease 2s;
}
.scroll-hint.show{opacity:1}
.scroll-hint span{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:rgba(255,255,255,0.5);}
.scroll-line{
  width:1px;height:40px;background:linear-gradient(180deg,rgba(255,255,255,.2),transparent);
  animation:float 2s ease-in-out infinite;
}

/* ─── SECTIONS ─── */
section{
  padding:clamp(80px,12vw,140px) clamp(20px,6vw,80px);
  position:relative;overflow:hidden;
}
.s-label{
  font-size:11px;letter-spacing:5px;text-transform:uppercase;color:rgba(255,255,255,0.5);
  margin-bottom:12px;display:flex;align-items:center;gap:12px;
  /* scroll-animated */
  opacity:0;transform:translateX(-20px);
  transition:opacity .6s ease, transform .6s ease;
}
.s-label.show{opacity:1;transform:translateX(0);}
.s-label::before{content:'';width:24px;height:1px;background:rgba(255,255,255,.2);}
.s-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(34px,5.5vw,68px);font-weight:600;line-height:1.05;
  color:rgba(255,255,255,0.92);margin-bottom:clamp(36px,6vw,64px);
  /* scroll-animated */
  opacity:0;transform:translateY(40px);
  transition:opacity .8s cubic-bezier(.16,1,.3,1) .1s, transform .8s cubic-bezier(.16,1,.3,1) .1s;
}
.s-title.show{opacity:1;transform:translateY(0);}
.s-title em{
  font-style:italic;font-weight:300;
  background:linear-gradient(90deg,var(--c),var(--b),var(--v));
  background-size:200% auto;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:shimmer 5s linear infinite;
}

/* ─── STAGGER ─── */
.stagger{
  opacity:0;transform:translateY(50px) scale(.97);
  transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1);
  transition-delay:var(--st,0s);
}
.stagger.show{opacity:1;transform:translateY(0) scale(1);}

/* ─── SERVICES ─── */
#services{background:linear-gradient(180deg,#000 0%,#030308 100%);}
.svc-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));
  gap:clamp(10px,1.5vw,16px);
}
.svc-card{
  border-radius:18px;padding:clamp(22px,3vw,32px);
  position:relative;overflow:hidden;
  transition:transform .5s cubic-bezier(.23,1,.32,1), box-shadow .5s;
}
.svc-card:hover{transform:translateY(-8px) scale(1.01);box-shadow:0 30px 80px rgba(0,0,0,.5);}
.svc-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;border-radius:18px 18px 0 0;
  background-size:200% 100%;animation:border-flow 3s linear infinite;
}
.svc-card:nth-child(1){background:linear-gradient(135deg,rgba(255,34,0,.07),rgba(255,119,0,.03),transparent);}
.svc-card:nth-child(1)::before{background:linear-gradient(90deg,var(--r),var(--o),var(--r));}
.svc-card:nth-child(2){background:linear-gradient(135deg,rgba(255,119,0,.07),rgba(255,221,0,.03),transparent);}
.svc-card:nth-child(2)::before{background:linear-gradient(90deg,var(--o),var(--y),var(--o));animation-delay:-.5s;}
.svc-card:nth-child(3){background:linear-gradient(135deg,rgba(0,255,136,.05),rgba(0,221,255,.03),transparent);}
.svc-card:nth-child(3)::before{background:linear-gradient(90deg,var(--g),var(--c),var(--g));animation-delay:-1s;}
.svc-card:nth-child(4){background:linear-gradient(135deg,rgba(0,221,255,.06),rgba(68,85,255,.04),transparent);}
.svc-card:nth-child(4)::before{background:linear-gradient(90deg,var(--c),var(--b),var(--c));animation-delay:-1.5s;}
.svc-card:nth-child(5){background:linear-gradient(135deg,rgba(68,85,255,.06),rgba(204,68,255,.04),transparent);}
.svc-card:nth-child(5)::before{background:linear-gradient(90deg,var(--b),var(--v),var(--b));animation-delay:-2s;}
.svc-card:nth-child(6){background:linear-gradient(135deg,rgba(204,68,255,.06),rgba(255,34,170,.04),transparent);}
.svc-card:nth-child(6)::before{background:linear-gradient(90deg,var(--v),var(--p),var(--v));animation-delay:-2.5s;}
.svc-icon{margin-bottom:14px;display:block;line-height:0;}
.svc-title{font-family:'Cormorant Garamond',serif;font-size:clamp(17px,2vw,22px);font-weight:600;color:rgba(255,255,255,0.92);margin-bottom:8px;}
.svc-desc{font-size:clamp(13.5px,1.15vw,15.5px);color:rgba(255,255,255,0.5);line-height:1.9;margin-bottom:14px;}
.svc-tags{display:flex;flex-wrap:wrap;gap:5px;}
.stag{font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;padding:3px 10px;border-radius:100px;border:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,0.5);}

/* ─── MARQUEE STRIP ─── */
.marquee-wrap{
  padding:clamp(24px,4vw,40px) 0;
  background:rgba(255,255,255,.02);
  border-top:1px solid rgba(255,255,255,.05);
  border-bottom:1px solid rgba(255,255,255,.05);
  overflow:hidden;position:relative;
}
.marquee-track{
  display:flex;gap:clamp(30px,5vw,60px);
  white-space:nowrap;
  animation:marquee 18s linear infinite;
  width:max-content;
}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.marquee-item{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(14px,2vw,20px);font-style:italic;font-weight:300;
  color:rgba(255,255,255,0.5);letter-spacing:2px;
  flex-shrink:0;
}
.marquee-dot{color:var(--c);margin:0 10px;}

/* ─── PRICING ─── */
#pricing{background:#000;}
.plans{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));
  gap:clamp(10px,1.5vw,16px);
  margin-bottom:clamp(16px,2.5vw,28px);
}
.plan{
  border-radius:20px;padding:clamp(26px,3.5vw,40px) clamp(22px,2.5vw,32px);
  border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);
  position:relative;overflow:hidden;
  transition:transform .5s cubic-bezier(.23,1,.32,1), box-shadow .5s;
}
.plan:hover{transform:translateY(-8px);box-shadow:0 40px 100px rgba(0,0,0,.5);}
.plan.hot{border-color:rgba(0,221,255,.15);background:linear-gradient(160deg,rgba(0,221,255,.06),rgba(68,85,255,.04),rgba(204,68,255,.06));}
.plan.hot::before{content:'';position:absolute;top:-80px;right:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(0,221,255,.15) 0%,transparent 70%);animation:pulse 3s ease-in-out infinite;pointer-events:none;}
.plan-bar{height:2px;margin-bottom:clamp(22px,3vw,30px);border-radius:2px;background-size:200% 100%;animation:border-flow 3s linear infinite;}
.plan:nth-child(1) .plan-bar{background:linear-gradient(90deg,var(--r),var(--o),var(--y),var(--r));}
.plan.hot .plan-bar{background:linear-gradient(90deg,var(--c),var(--b),var(--v),var(--c));}
.plan:nth-child(3) .plan-bar{background:linear-gradient(90deg,var(--v),var(--p),var(--r),var(--v));animation-delay:-1.5s;}
.plan-badge{display:inline-block;font-size:10px;letter-spacing:3px;text-transform:uppercase;padding:4px 12px;border-radius:100px;background:rgba(0,221,255,.1);border:1px solid rgba(0,221,255,.25);color:var(--c);margin-bottom:10px;}
.plan-name{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:rgba(255,255,255,0.5);margin-bottom:12px;}
.plan-price{font-family:'Cormorant Garamond',serif;font-size:clamp(38px,5.5vw,54px);font-weight:700;color:rgba(255,255,255,0.9);line-height:1;margin-bottom:4px;}
.plan.hot .plan-price{background:linear-gradient(90deg,var(--c),var(--b),var(--v));background-size:200% auto;animation:shimmer 4s linear infinite;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.plan-unit{font-size:12px;color:rgba(255,255,255,0.5);margin-bottom:clamp(18px,2.5vw,26px);font-weight:300;}
.plan-sep{height:1px;background:rgba(255,255,255,.05);margin-bottom:clamp(14px,2vw,20px);}
.plan-feat{list-style:none;}
.plan-feat li{font-size:clamp(13px,1.15vw,15px);color:rgba(255,255,255,0.5);padding:5px 0 5px 18px;position:relative;line-height:1.5;}
.plan-feat li.on{color:rgba(255,255,255,0.76);}
.plan-feat li::before{content:'·';position:absolute;left:6px;color:rgba(255,255,255,0.5);}
.plan-feat li.on::before{content:'→';color:var(--c);left:0;font-size:10px;top:6px;}
.pricing-note{padding:14px 20px;border-radius:10px;font-size:14px;color:rgba(255,255,255,0.5);line-height:1.8;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);margin-bottom:clamp(24px,4vw,40px);}
.pricing-note::before{content:'⚡ ';color:rgba(0,221,255,.6);}
.carte-title{font-family:'Cormorant Garamond',serif;font-size:clamp(24px,3.5vw,34px);color:rgba(255,255,255,0.7);margin-bottom:clamp(14px,2vw,22px);}
.carte-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:10px;}
.carte-item{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;padding:clamp(12px,1.8vw,16px);border-radius:10px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);position:relative;overflow:hidden;transition:background .3s;}
.carte-item:hover{background:rgba(255,255,255,.04);}
.carte-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--c),var(--v));opacity:.5;}
.carte-item:nth-child(2)::before{background:linear-gradient(180deg,var(--r),var(--o));}
.carte-item:nth-child(3)::before{background:linear-gradient(180deg,var(--g),var(--c));}
.carte-item:nth-child(4)::before{background:linear-gradient(180deg,var(--v),var(--p));}
.carte-name{font-size:clamp(13px,1.2vw,15px);color:rgba(255,255,255,0.52);}
.carte-price{font-size:clamp(13px,1.2vw,15px);font-weight:500;background:linear-gradient(90deg,var(--c),var(--v));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

/* ─── WHY ─── */
#why{background:linear-gradient(180deg,#000 0%,#030308 100%);}
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:clamp(10px,1.5vw,16px);}
.why-card{border-radius:16px;padding:clamp(20px,2.5vw,28px);display:flex;gap:clamp(12px,1.5vw,18px);align-items:flex-start;transition:transform .4s ease, box-shadow .4s;}
.why-card:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(0,0,0,.4);}
.why-n{font-family:'Cormorant Garamond',serif;font-size:clamp(38px,5vw,54px);font-weight:300;line-height:1;flex-shrink:0;width:clamp(38px,5vw,54px);}
.why-card:nth-child(1) .why-n{background:linear-gradient(180deg,var(--r),transparent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.why-card:nth-child(2) .why-n{background:linear-gradient(180deg,var(--c),transparent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.why-card:nth-child(3) .why-n{background:linear-gradient(180deg,var(--g),transparent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.why-card:nth-child(4) .why-n{background:linear-gradient(180deg,var(--b),transparent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.why-card:nth-child(5) .why-n{background:linear-gradient(180deg,var(--v),transparent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.why-card:nth-child(6) .why-n{background:linear-gradient(180deg,var(--o),transparent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.why-body h3{font-size:clamp(14.5px,1.3vw,16.5px);font-weight:500;color:rgba(255,255,255,0.84);margin-bottom:6px;}
.why-body p{font-size:clamp(13.5px,1.15vw,15.5px);color:rgba(255,255,255,0.5);line-height:1.9;}

/* ─── CONTACT ─── */
#contact{background:#000;}
.cta-box{border-radius:22px;padding:clamp(36px,6vw,70px) clamp(28px,5vw,60px);--sd:2s;margin-bottom:clamp(16px,2.5vw,24px);}
.cta-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-bottom:clamp(28px,4vw,40px);position:relative;z-index:2;}
.cta-title{font-family:'Cormorant Garamond',serif;font-size:clamp(26px,4.5vw,46px);font-weight:600;color:rgba(255,255,255,0.92);margin-bottom:6px;}
.cta-sub{font-size:clamp(13px,1.2vw,15px);color:rgba(255,255,255,0.5);}
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:10px;position:relative;z-index:2;}
.ct{border-radius:14px;padding:clamp(16px,2vw,22px);text-align:center;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);position:relative;overflow:hidden;text-decoration:none;display:block;transition:background .3s,transform .3s;}
.ct:hover{background:rgba(255,255,255,.07);transform:translateY(-4px);}
.ct::before{content:'';position:absolute;top:0;left:0;right:0;height:1.5px;background-size:200% 100%;animation:border-flow 3s linear infinite;}
.ct:nth-child(1)::before{background:linear-gradient(90deg,var(--r),var(--o),var(--r));}
.ct:nth-child(2)::before{background:linear-gradient(90deg,var(--c),var(--b),var(--c));animation-delay:-.5s;}
.ct:nth-child(3)::before{background:linear-gradient(90deg,var(--v),var(--p),var(--v));animation-delay:-1s;}
.ct:nth-child(4)::before{background:linear-gradient(90deg,var(--g),var(--c),var(--g));animation-delay:-1.5s;}
.ct-icon{margin-bottom:8px;line-height:0;display:flex;justify-content:center;}
.ct-label{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.5);margin-bottom:5px;}
.ct-val{font-size:clamp(12.5px,1.15vw,14.5px);color:rgba(255,255,255,0.6);word-break:break-all;}

/* ─── FOOTER ─── */
footer{
  padding:clamp(20px,3vw,36px) clamp(20px,5vw,60px);
  border-top:1px solid rgba(255,255,255,.04);
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;
}
footer span{font-size:10.5px;letter-spacing:2.5px;color:rgba(255,255,255,0.5);text-transform:uppercase;}

/* ─── PARALLAX CURSOR GLOW ─── */
.cursor-glow{
  position:fixed;pointer-events:none;z-index:9990;
  width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,221,255,.06) 0%,transparent 70%);
  transform:translate(-50%,-50%);
  transition:transform .1s ease-out, opacity .3s;
  opacity:0;
}

/* ─── PROGRESS BAR ─── */
.progress-bar{
  position:fixed;top:0;left:0;height:2px;z-index:10000;
  background:linear-gradient(90deg,var(--r),var(--o),var(--y),var(--g),var(--c),var(--b),var(--v),var(--p));
  transform-origin:left;transform:scaleX(0);
  transition:transform .1s linear;
}

/* ─── MOBILE ─── */
@media(max-width:768px){
  .nav-links{display:none;}
  .hamburger{display:flex;}
  .hero-title{letter-spacing:-1px;}
  .cta-top{flex-direction:column;align-items:flex-start;}
  .cursor-glow{display:none;}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
}

/* ════════════════════════════════════════════════
   TARIFS PAGE
════════════════════════════════════════════════ */

/* ─── A11Y: visible keyboard focus (quality floor) ─── */
a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:2px solid var(--c);outline-offset:3px;border-radius:6px;
}

/* ─── PAGE HEAD ─── */
.page-head{
  padding:clamp(120px,16vw,180px) clamp(20px,6vw,80px) clamp(30px,5vw,50px);
  position:relative;overflow:hidden;text-align:center;
}
.launch-tag{
  display:inline-flex;align-items:center;gap:8px;
  font-size:11px;letter-spacing:3px;text-transform:uppercase;
  padding:7px 16px;border-radius:100px;margin-bottom:22px;
  background:rgba(0,255,136,.07);border:1px solid rgba(0,255,136,.22);color:var(--g);
}
.page-head h1{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(40px,7vw,84px);font-weight:600;line-height:1;
  color:rgba(255,255,255,0.92);margin-bottom:18px;
}
.page-head h1 em{
  font-style:italic;font-weight:300;
  background:linear-gradient(90deg,var(--c),var(--b),var(--v));
  background-size:200% auto;animation:shimmer 5s linear infinite;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.page-head p{
  font-size:clamp(14.5px,1.4vw,18px);color:rgba(255,255,255,0.52);
  max-width:620px;margin:0 auto;line-height:1.8;font-weight:300;
}

/* ─── SIGNATURE: ENGAGEMENT TERM TOGGLE ─── */
.term-wrap{display:flex;flex-direction:column;align-items:center;gap:12px;margin:clamp(30px,5vw,46px) 0 clamp(24px,4vw,38px);}
.term-toggle{
  display:inline-flex;position:relative;padding:5px;border-radius:100px;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);
}
.term-toggle button{
  position:relative;z-index:2;background:none;border:none;cursor:pointer;
  font-family:'Outfit',sans-serif;font-size:clamp(11px,1.15vw,13px);font-weight:400;
  letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,0.5);
  padding:11px clamp(14px,2.4vw,26px);border-radius:100px;
  transition:color .35s ease;white-space:nowrap;
}
.term-toggle button.active{color:#000;font-weight:500;}
.term-ind{
  position:absolute;z-index:1;top:5px;bottom:5px;border-radius:100px;
  background:linear-gradient(90deg,var(--c),var(--b),var(--v));
  background-size:200% auto;animation:shimmer 4s linear infinite;
  transition:left .45s cubic-bezier(.23,1,.32,1), width .45s cubic-bezier(.23,1,.32,1);
}
.term-save{font-size:13px;color:rgba(255,255,255,0.5);letter-spacing:.5px;min-height:16px;transition:opacity .3s;}
.term-save b{color:var(--g);font-weight:500;}

/* ─── 4-COLUMN PLAN GRID ─── */
.plans.four{grid-template-columns:repeat(4,1fr);}
@media(max-width:1180px){.plans.four{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.plans.four{grid-template-columns:1fr;}}

/* Explicit bars — outranks .plan.hot / :nth-child collisions (0,4,0 > 0,3,0) */
.plans.four .plan:nth-child(1) .plan-bar{background:linear-gradient(90deg,var(--r),var(--o),var(--y),var(--r));background-size:200% 100%;}
.plans.four .plan:nth-child(2) .plan-bar{background:linear-gradient(90deg,var(--o),var(--y),var(--g),var(--o));background-size:200% 100%;animation-delay:-.8s;}
.plans.four .plan:nth-child(3) .plan-bar{background:linear-gradient(90deg,var(--c),var(--b),var(--v),var(--c));background-size:200% 100%;animation-delay:-1.5s;}
.plans.four .plan:nth-child(4) .plan-bar{background:linear-gradient(90deg,var(--v),var(--p),var(--r),var(--v));background-size:200% 100%;animation-delay:-2.2s;}

.plan{display:flex;flex-direction:column;}
.plan-price{display:flex;align-items:baseline;gap:6px;}
.pp-cur{font-family:'Outfit',sans-serif;font-size:clamp(13px,1.5vw,16px);font-weight:300;color:rgba(255,255,255,0.5);-webkit-text-fill-color:rgba(255,255,255,.55);}
.plan.hot .pp-num{background:linear-gradient(90deg,var(--c),var(--b),var(--v));background-size:200% auto;animation:shimmer 4s linear infinite;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.plan-eng{
  display:inline-block;font-size:10.5px;letter-spacing:2px;text-transform:uppercase;
  padding:4px 10px;border-radius:100px;margin-bottom:clamp(16px,2.4vw,24px);
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);color:rgba(255,255,255,0.5);
}
.plan-feat{flex:1;margin-bottom:clamp(18px,2.6vw,26px);}
.plan-cta{
  display:block;text-align:center;text-decoration:none;
  padding:12px 18px;border-radius:100px;font-size:12px;letter-spacing:2px;text-transform:uppercase;
  border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,0.72);
  transition:all .35s ease;
}
.plan-cta:hover{border-color:rgba(255,255,255,.4);color:#fff;background:rgba(255,255,255,.04);}
.plan.hot .plan-cta{
  border:none;color:#000;font-weight:500;
  background:linear-gradient(90deg,var(--c),var(--b),var(--v));
  background-size:200% auto;animation:shimmer 4s linear infinite;
}
.plan.hot .plan-cta:hover{transform:scale(1.03);box-shadow:0 0 34px rgba(0,221,255,.28);}

/* ─── À LA CARTE ─── */
.carte-block{margin-bottom:clamp(22px,3.4vw,34px);}
.carte-head{
  display:flex;align-items:center;gap:12px;margin-bottom:14px;
  font-size:11.5px;letter-spacing:4px;text-transform:uppercase;color:rgba(255,255,255,0.5);
}
.carte-head::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.06);}
.carte-head .ch-dot{width:6px;height:6px;border-radius:50%;flex:none;}
.cl{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:8px;}
.cl li{
  display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
  padding:14px 16px;border-radius:10px;
  background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);
  transition:background .3s,border-color .3s;
}
.cl li:hover{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);}
.cl .n{font-size:clamp(13.5px,1.25vw,15.5px);color:rgba(255,255,255,0.7);font-weight:300;}
.cl .n small{display:block;font-size:12.5px;color:rgba(255,255,255,0.5);margin-top:3px;letter-spacing:.3px;}
.cl .p{
  font-size:clamp(13.5px,1.25vw,15.5px);font-weight:500;white-space:nowrap;
  background:linear-gradient(90deg,var(--c),var(--v));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.cl .p.free{background:linear-gradient(90deg,var(--g),var(--c));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

/* ─── FAQ / CONDITIONS ─── */
.faq{display:grid;gap:8px;max-width:900px;}
.faq details{
  border-radius:12px;background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.05);overflow:hidden;transition:border-color .3s;
}
.faq details[open]{border-color:rgba(0,221,255,.16);background:rgba(255,255,255,.03);}
.faq summary{
  cursor:pointer;list-style:none;padding:17px 20px;
  font-size:clamp(14px,1.3vw,16px);color:rgba(255,255,255,0.78);font-weight:300;
  display:flex;justify-content:space-between;align-items:center;gap:14px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';color:var(--c);font-size:17px;flex:none;transition:transform .3s;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq .fa{padding:0 20px 18px;font-size:clamp(13.5px,1.2vw,15.5px);color:rgba(255,255,255,0.52);line-height:1.85;font-weight:300;}
.faq .fa b{color:rgba(255,255,255,0.78);font-weight:500;}

/* ─── TARIFS TEASER (on index) ─── */
.tease{
  display:flex;justify-content:space-between;align-items:center;gap:clamp(20px,4vw,40px);
  flex-wrap:wrap;padding:clamp(28px,4vw,44px);border-radius:22px;
}
.tease-from{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.5);margin-bottom:8px;}
.tease-price{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,5vw,52px);font-weight:700;line-height:1;color:rgba(255,255,255,0.92);}
.tease-price span{font-family:'Outfit',sans-serif;font-size:15px;font-weight:300;color:rgba(255,255,255,0.5);}
.tease-sub{font-size:14.5px;color:rgba(255,255,255,0.5);margin-top:10px;line-height:1.7;font-weight:300;max-width:420px;}

/* ─── NAV: current page state ─── */
.nav-links a[aria-current="page"]{color:#fff;}
.nav-links a[aria-current="page"]::after{width:100%;}

/* Pin the badge so it doesn't push the highlighted card's price out of alignment */
.plans.four .plan{position:relative;}
.plans.four .plan-badge{
  position:absolute;top:clamp(20px,2.6vw,28px);right:clamp(20px,2.4vw,28px);
  margin-bottom:0;z-index:2;
}

/* Fax tile is informational, not clickable */
.ct-static{cursor:default;}
.ct-static:hover{background:rgba(255,255,255,.03);transform:none;}

/* Footer links */
footer a{color:inherit;text-decoration:none;transition:color .3s;}
footer a:hover{color:var(--c);}
