:root {
  --ink:    #371846;
  --black: #000000;
  --ink2:   #4a2058;
  --ink3:   #5e2d70;
  --ink4:   #2d123a;
  --stroke: rgba(255,255,255,0.12);
  --g:      #F18847;
  --r:      #ff8f90;
  --y:      #d7bcff;
  --v:      #b571d4;
  --dim:    #ffffffc7;
  --w:      #FFFFFF;
  --paper:  #f7f4fb;
  --paper2: #efe8f8;
  --inkDeep:#241236;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Poppins','DM Sans',sans-serif;background:var(--ink);color:var(--w);overflow-x:hidden;-webkit-font-smoothing:antialiased}

/* ── LAYOUT ──────────────────────────────── */
.wrap{width:100%;max-width:none;margin:0}
section{padding:96px 52px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--g);margin-bottom:22px}
.eyebrow::before{content:'';width:22px;height:1px;background:var(--g)}
h2.sh{font-family:'Raleway',sans-serif;font-size:clamp(2rem,3.8vw,2.9rem);line-height:1.1;font-weight:800;margin-bottom:52px}
h2.sh em{font-style:italic;color:var(--y)}
.text-orange{color:var(--g)}
.text-black{color:var(--ink)}

/* ── HERO ────────────────────────────────── */
.hero{min-height:100vh;display:flex;align-items:center;padding:132px 52px 88px;position:relative;overflow:hidden}

.hero-bg{position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 82% 62% at 60% 15%, rgba(241,136,71,.16) 0%, transparent 58%),
    radial-gradient(ellipse 52% 42% at 10% 82%, rgba(181,113,212,.22) 0%, transparent 52%),
    radial-gradient(ellipse 36% 36% at 88% 68%, rgba(255,255,255,.07) 0%, transparent 52%)}

.hero-grid{position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:68px 68px;
  mask-image:radial-gradient(ellipse 75% 70% at 50% 40%, black 30%, transparent 90%)}

/* Orbs */
.orb{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;animation:drift 14s ease-in-out infinite}
.o1{width:420px;height:420px;background:rgba(241,136,71,.18);top:-100px;right:8%;animation-delay:0s}
.o2{width:280px;height:280px;background:rgba(181,113,212,.24);bottom:5%;left:5%;animation-delay:-6s}
@keyframes drift{0%,100%{transform:translate(0,0)}40%{transform:translate(-20px,28px)}70%{transform:translate(16px,-18px)}}

.hero-inner{position:relative;z-index:1;width:100%;display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}

.hero-tag{display:inline-flex;align-items:center;gap:7px;font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);background:var(--g);padding:5px 14px;border-radius:3px;margin-bottom:30px;animation:up .6s ease both}
.tag-dot{width:6px;height:6px;border-radius:50%;background:var(--ink);animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}

h1{font-family:'Raleway',sans-serif;font-size:clamp(3rem,6vw,5.2rem);line-height:1.01;letter-spacing:-.025em;margin-bottom:28px;animation:up .6s .08s ease both;font-weight:900}
h1 em{font-style:italic;color:var(--y);text-shadow:0 0 28px rgba(215,188,255,.38)}
h1 .red{color:var(--g)}

.hero-sub{font-size:1rem;font-weight:300;line-height:1.78;color:var(--dim);max-width:520px;margin-bottom:46px;animation:up .6s .16s ease both}

.btn-p{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;font-weight:700;background:var(--g);color:var(--w);padding:13px 26px;border-radius:4px;text-decoration:none;transition:box-shadow .2s,transform .15s}
.btn-p:hover{box-shadow:0 0 30px rgba(241,136,71,.34);transform:translateY(-2px)}
.btn-g{font-size:.85rem;font-weight:500;color:rgba(255,255,255,.42);text-decoration:none;transition:color .2s}
.btn-g:hover{color:var(--w)}

/* Threat radar — right side */
.radar-wrap{animation:up .6s .32s ease both}
.radar-wrap{max-width:440px;justify-self:end;width:100%}
.radar-card{border:1px solid var(--stroke);border-radius:12px;background:rgba(74,32,88,.72);overflow:hidden}
.radar-hd{padding:16px 22px;border-bottom:1px solid var(--stroke);display:flex;align-items:center;justify-content:space-between}
.radar-hd-title{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.3)}
.radar-live{display:flex;align-items:center;gap:6px;font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--r)}
.live-dot{width:6px;height:6px;border-radius:50%;background:var(--r);animation:blink 1.4s infinite}

.threat-list{display:flex;flex-direction:column}
.threat{display:flex;align-items:center;gap:14px;padding:14px 22px;border-bottom:1px solid var(--stroke);transition:background .2s}
.threat:last-child{border-bottom:none}
.threat:hover{background:rgba(255,255,255,.02)}
.threat-sev{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.sev-c{background:#5a2d6f}
.sev-h{background:#8f63b8}
.sev-m{background:#d4bae9}
.threat-name{font-size:.8rem;color:rgba(255,255,255,.65);flex:1}
.threat-label{font-size:.64rem;font-weight:700;padding:2px 8px;border-radius:3px}
.tl-c{background:rgba(90,45,111,.24);color:var(--r)}
.tl-h{background:rgba(143,99,184,.2);color:var(--g)}
.tl-m{background:rgba(212,186,233,.2);color:#9fd7ff}
.radar-foot{padding:14px 22px;background:rgba(241,136,71,.08);font-size:.75rem;color:rgba(255,255,255,.45);line-height:1.5}

.offer-brief-page .hero-brief-card{
  display:flex;
  flex-direction:column;
  gap:0;
}

.offer-brief-page .hero-brief-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(241,136,71,.28);
  background:rgba(241,136,71,.12);
  color:var(--g);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.offer-brief-page .hero-brief-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:16px 22px 4px;
}

.offer-brief-page .hero-brief-meta span{
  display:inline-flex;
  align-items:center;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.55);
  font-size:.67rem;
  line-height:1.3;
}

.offer-brief-page .hero-brief-list{
  display:grid;
  gap:10px;
  padding:14px 22px 18px;
}

.offer-brief-page .hero-brief-item{
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  background:rgba(255,255,255,.03);
}

.offer-brief-page .hero-brief-kicker{
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--g);
  margin-bottom:8px;
}

.offer-brief-page .hero-brief-title{
  font-family:'Raleway',sans-serif;
  font-size:.94rem;
  line-height:1.28;
  font-weight:800;
  color:var(--w);
  margin-bottom:6px;
}

.offer-brief-page .hero-brief-item p{
  font-size:.76rem;
  line-height:1.58;
  color:rgba(255,255,255,.56);
}

@keyframes up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}

/* ── ATTACK SURFACE ──────────────────────────────── */
.surface{
  background:
    radial-gradient(ellipse 80% 58% at 12% 8%, rgba(241,136,71,.12) 0%, transparent 60%),
    radial-gradient(ellipse 70% 52% at 88% 92%, rgba(181,113,212,.14) 0%, transparent 62%),
    linear-gradient(180deg, var(--ink) 0%, var(--ink4) 100%);
}
.surface-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--stroke);border-radius:12px;overflow:hidden;background:var(--stroke);gap:1px}
.surf-card{background:var(--ink2);padding:38px 32px;position:relative;overflow:hidden;transition:background .22s}
.surf-card:hover{background:var(--ink3)}
.surf-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.sc-r::before{background:linear-gradient(90deg,var(--r),transparent 65%)}
.sc-y::before{background:linear-gradient(90deg,var(--y),transparent 65%)}
.sc-g::before{background:linear-gradient(90deg,var(--g),transparent 65%)}
.surf-ico{font-size:1.4rem;margin-bottom:18px}
.surf-card h3{font-family:'Raleway',sans-serif;font-size:1.15rem;font-weight:800;margin-bottom:12px;line-height:1.3}
.surf-card p{font-size:.82rem;color:rgba(255,255,255,.48);line-height:1.72}
.surf-tag{display:inline-block;margin-top:16px;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 9px;border-radius:3px}
.sc-r .surf-tag{color:var(--r);background:rgba(255,143,144,.14);border:1px solid rgba(255,143,144,.24)}
.sc-y .surf-tag{color:var(--y);background:rgba(215,188,255,.12);border:1px solid rgba(215,188,255,.22)}
.sc-g .surf-tag{color:var(--g);background:rgba(241,136,71,.12);border:1px solid rgba(241,136,71,.25)}

/* ── OFFER ───────────────────────────────────────── */
.offer{background:var(--ink)}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.off-card{border:1px solid var(--stroke);border-radius:10px;padding:36px 28px;position:relative;overflow:hidden;transition:border-color .22s,transform .22s;cursor:default}
.off-card:hover{border-color:rgba(241,136,71,.35);transform:translateY(-3px)}
.off-n{font-size:.65rem;font-weight:700;letter-spacing:.18em;color:rgba(241,136,71,.6);margin-bottom:16px}
.off-card h3{font-family:'Raleway',sans-serif;font-size:1.22rem;font-weight:800;margin-bottom:14px;line-height:1.25}
.off-card>p{font-size:.82rem;color:rgba(255,255,255,.5);line-height:1.73;margin-bottom:22px}
.off-list{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
.oli{display:flex;gap:9px;align-items:flex-start;font-size:.78rem;color:rgba(255,255,255,.52);line-height:1.5}
.oli::before{content:'•';color:var(--g);flex-shrink:0;font-size:.82rem;margin-top:0}
.off-tags{display:flex;gap:6px;flex-wrap:wrap}
.otag{font-size:.64rem;font-weight:500;padding:2px 8px;border-radius:3px;background:rgba(255,255,255,.04);color:rgba(255,255,255,.35);border:1px solid rgba(255,255,255,.07)}
.otag.h{background:rgba(241,136,71,.12);color:var(--g);border-color:rgba(241,136,71,.22)}

/* ── ATTACK SURFACE ──────────────────────────────── */
.surface{
  background:
    radial-gradient(ellipse 80% 58% at 12% 8%, rgba(241,136,71,.12) 0%, transparent 60%),
    radial-gradient(ellipse 70% 52% at 88% 92%, rgba(181,113,212,.14) 0%, transparent 62%),
    linear-gradient(180deg, var(--ink) 0%, var(--ink4) 100%);
}
.surface-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--stroke);border-radius:12px;overflow:hidden;background:var(--stroke);gap:1px}
.surf-card{background:var(--ink2);padding:38px 32px;position:relative;overflow:hidden;transition:background .22s}
.surf-card:hover{background:var(--ink3)}
.surf-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.sc-r::before{background:linear-gradient(90deg,var(--r),transparent 65%)}
.sc-y::before{background:linear-gradient(90deg,var(--y),transparent 65%)}
.sc-g::before{background:linear-gradient(90deg,var(--g),transparent 65%)}
.surf-ico{font-size:1.4rem;margin-bottom:18px}
.surf-card h3{font-family:'Raleway',sans-serif;font-size:1.15rem;font-weight:800;margin-bottom:12px;line-height:1.3}
.surf-card p{font-size:.82rem;color:rgba(255,255,255,.48);line-height:1.72}
.surf-tag{display:inline-block;margin-top:16px;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 9px;border-radius:3px}
.sc-r .surf-tag{color:var(--r);background:rgba(255,143,144,.14);border:1px solid rgba(255,143,144,.24)}
.sc-y .surf-tag{color:var(--y);background:rgba(215,188,255,.12);border:1px solid rgba(215,188,255,.22)}
.sc-g .surf-tag{color:var(--g);background:rgba(241,136,71,.12);border:1px solid rgba(241,136,71,.25)}


/* ── DATA PROTECTION SECTION ─────────────────────── */
.dataprotect{background:var(--ink2)}
.dp-layout{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.dp-copy{}
.dp-copy p{font-size:.9rem;color:rgba(255,255,255,.55);line-height:1.8;margin-bottom:20px}
.dp-copy p strong{color:var(--w);font-weight:600}

.dp-matrix{display:flex;flex-direction:column;gap:2px}
.dm-row{display:grid;grid-template-columns:1fr 80px 80px;gap:2px}
.dm-cell{padding:13px 16px;font-size:.78rem;background:rgba(55,24,70,.58);border-radius:3px}
.dm-head{font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.25);background:transparent!important;padding-bottom:8px}
.dm-label{color:rgba(255,255,255,.58)}
.dm-before{text-align:center;color:var(--r);font-weight:600}
.dm-after{text-align:center;color:var(--y);font-weight:700}

/* ── METHOD ──────────────────────────────────────── */
.method{
  background:
    radial-gradient(ellipse 75% 60% at 90% 12%, rgba(241,136,71,.1) 0%, transparent 62%),
    linear-gradient(180deg, #4d2460 0%, var(--ink) 100%);
}
.method .eyebrow{color:var(--g)}
.method .eyebrow::before{background:var(--g)}
.meth-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:start}

.steps{display:flex;flex-direction:column}
.step{display:flex;gap:20px;padding:26px 0;border-bottom:1px solid var(--stroke)}
.step:first-child{border-top:1px solid var(--stroke)}
.step-n{font-family:'Raleway',sans-serif;font-size:1.5rem;color:rgba(255,255,255,.16);min-width:34px;line-height:1;padding-top:4px;transition:color .2s;font-weight:900}
.step:hover .step-n{color:var(--y)}
.step-h{font-weight:600;font-size:.9rem;margin-bottom:5px}
.step-p{font-size:.8rem;color:rgba(255,255,255,.45);line-height:1.65}
.step-t{display:inline-block;margin-top:8px;font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--g)}

.deliv-card{position:sticky;top:106px;border:1px solid var(--stroke);border-radius:10px;background:rgba(55,24,70,.7);overflow:hidden}
.dc-hd{padding:18px 24px;border-bottom:1px solid var(--stroke);font-size:.65rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.28)}
.dr{display:flex;align-items:center;gap:13px;padding:13px 24px;border-bottom:1px solid var(--stroke)}
.dr:last-of-type{border-bottom:none}
.dr-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.dr-label{font-size:.78rem;color:rgba(255,255,255,.55);flex:1;line-height:1.4}
.dr-t{font-size:.65rem;font-weight:700;color:var(--g);white-space:nowrap}
.dc-note{padding:16px 24px;background:rgba(241,136,71,.08);font-size:.75rem;color:rgba(255,255,255,.46);line-height:1.6}

/* ── PROOF ───────────────────────────────────────── */
.surface{
  background:
    radial-gradient(ellipse 80% 58% at 12% 8%, rgba(241,136,71,.12) 0%, transparent 60%),
    radial-gradient(ellipse 70% 52% at 88% 92%, rgba(181,113,212,.14) 0%, transparent 62%),
    linear-gradient(180deg, var(--ink) 0%, var(--ink4) 100%);
}
.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.proof-card{border:1px solid var(--stroke);border-radius:10px;padding:28px;background:rgba(55,24,70,.5);transition:border-color .22s,transform .22s}
.proof-card:hover{border-color:rgba(241,136,71,.35);transform:translateY(-3px)}
.proof-sector{font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--g);margin-bottom:16px}
.proof-stat{font-family:'Raleway',sans-serif;font-size:2.5rem;color:var(--w);margin-bottom:4px;font-weight:900}
.proof-slabel{font-size:.75rem;color:rgba(255,255,255,.3);margin-bottom:14px}
.proof-text{font-size:.8rem;color:rgba(255,255,255,.5);line-height:1.65}

/* ── REX (SANITY FEED) ───────────────────────────── */
.rex-section{
  background:
    radial-gradient(ellipse 70% 48% at 14% 8%, rgba(83,35,105,.07) 0%, transparent 62%),
    radial-gradient(ellipse 76% 52% at 86% 92%, rgba(241,136,71,.09) 0%, transparent 66%),
    linear-gradient(180deg, #e1e0e5 0%, #d2d2d8 100%);
}
.rex-eyebrow{color:#532369}
.rex-title{color:#1f1630}
.rex-title .text-orange{color:#f18847}
.rex-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.rex-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:210px;
  border:1px solid rgba(83,35,105,.15);
  border-radius:12px;
  padding:22px 20px;
  background:rgba(255,255,255,.85);
  color:#23163a;
  text-decoration:none;
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.rex-card:hover{
  transform:translateY(-4px);
  border-color:rgba(241,136,71,.55);
  box-shadow:0 12px 28px rgba(36,18,56,.12);
}
.rex-sector{
  display:inline-flex;
  align-items:center;
  width:max-content;
  font-size:.64rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#f18847;
  border:1px solid rgba(241,136,71,.35);
  border-radius:999px;
  padding:3px 10px;
}
.rex-card h3{
  font-family:'Raleway',sans-serif;
  font-size:1.06rem;
  line-height:1.35;
  font-weight:800;
  color:#25153b;
}
.rex-card p{
  margin-top:auto;
  font-size:.84rem;
  line-height:1.62;
  color:rgba(37,21,59,.76);
}

/* ── WHY ─────────────────────────────────────────── */
.surface{
  background:
    radial-gradient(ellipse 80% 58% at 12% 8%, rgba(241,136,71,.12) 0%, transparent 60%),
    radial-gradient(ellipse 70% 52% at 88% 92%, rgba(181,113,212,.14) 0%, transparent 62%),
    linear-gradient(180deg, var(--ink) 0%, var(--ink4) 100%);
}
.why-layout{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.why-stmt{font-family:'Raleway',sans-serif;font-size:clamp(1.6rem,2.8vw,2.3rem);line-height:1.2;font-weight:800;margin-bottom:36px;padding-bottom:36px;border-bottom:1px solid var(--stroke)}
.why-stmt em{font-style:italic;color:var(--y)}
.why-checks{display:flex;flex-direction:column;gap:12px}
.wcheck{display:flex;gap:12px;align-items:flex-start;font-size:.84rem;color:rgba(255,255,255,.55);line-height:1.6}
.wcheck-ico{color:var(--g);flex-shrink:0;font-size:.75rem;margin-top:3px}

.why-items{display:flex;flex-direction:column}
.witem{padding:22px 0;border-bottom:1px solid var(--stroke)}
.witem:first-child{border-top:1px solid var(--stroke)}
.witem h4{font-weight:600;font-size:.88rem;margin-bottom:6px;display:flex;align-items:center;gap:8px}
.wn{font-family:'Raleway',sans-serif;font-size:1rem;color:var(--g);font-weight:900}
.witem p{font-size:.78rem;color:rgba(255,255,255,.43);line-height:1.65}

/* ── OWNER ───────────────────────────────────────── */
.owner{background:var(--g)}
.owner-card{display:grid;grid-template-columns:190px 1fr;gap:20px;align-items:center;border:1px solid var(--stroke);border-radius:12px;padding:18px;background:rgba(55,24,70,.56);max-width:900px;margin:0 auto}
.owner-photo{width:100%;height:270px;object-fit:cover;object-position:50% 18%;border-radius:10px}
.owner-role{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--g);margin-bottom:8px}
.owner-card h3{font-family:'Raleway',sans-serif;font-size:1.5rem;font-weight:800;margin-bottom:10px}
.owner-card p{font-size:.9rem;color:rgba(255,255,255,.6);line-height:1.65}
.owner-actions{margin-top:16px}

/* ── SECTION RHYTHM (CLEAR SEPARATION) ─────────── */
.offer{
  background:
    radial-gradient(ellipse 76% 54% at 10% 8%, rgba(241,136,71,.12) 0%, transparent 60%),
    linear-gradient(180deg, var(--paper) 0%, #efe7f7 100%);
  color: var(--inkDeep);
}

.offer .sh,
.offer .off-card h3{
  color: var(--inkDeep);
}

.offer .sh em{
  color: #b571d4;
}

.offer .off-card{
  background: #fff;
  border-color: rgba(83,35,105,0.16);
  box-shadow: 0 10px 26px rgba(36,18,54,0.08);
}

.offer .off-card:hover{
  border-color: rgba(241,136,71,0.42);
  box-shadow: 0 14px 34px rgba(36,18,54,0.12);
}

.offer .off-n{
  color: rgba(241,136,71,0.9);
}

.offer .off-card > p{
  color: rgba(36,18,54,0.74);
}

.offer .oli{
  color: rgba(36,18,54,0.78);
}

.offer .otag{
  background: rgba(83,35,105,0.06);
  color: rgba(36,18,54,0.66);
  border-color: rgba(83,35,105,0.14);
}

.offer .otag.h{
  background: rgba(241,136,71,0.14);
  color: #9a4f21;
  border-color: rgba(241,136,71,0.34);
}

.surface{
  background:
    radial-gradient(ellipse 80% 58% at 12% 8%, rgba(241,136,71,.12) 0%, transparent 60%),
    radial-gradient(ellipse 70% 52% at 88% 92%, rgba(181,113,212,.14) 0%, transparent 62%),
    linear-gradient(180deg, var(--ink) 0%, var(--ink4) 100%);
  color: var(--w);
}

.why{
  background:
    radial-gradient(ellipse 65% 50% at 92% 18%, rgba(241,136,71,.08) 0%, transparent 70%),
    linear-gradient(180deg, #38194a 0%, #2a1237 100%);
  color: var(--w);
}

/* ── CTA ─────────────────────────────────────────── */
.cta{padding:96px 52px;text-align:center;background:var(--ink2);position:relative;overflow:hidden}
.cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 65% 75% at 50% 50%,rgba(241,136,71,.12) 0%,transparent 62%),radial-gradient(ellipse 45% 60% at 30% 30%,rgba(181,113,212,.14) 0%,transparent 70%)}
.cta>*{position:relative;z-index:1}
.cta h2{font-family:'Raleway',sans-serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:800;margin-bottom:18px}
.cta h2 em{font-style:italic;color:var(--y)}
.cta p{font-size:.92rem;color:rgba(255,255,255,.42);max-width:440px;margin:0 auto 38px;line-height:1.72}
.cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn-out{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:500;padding:12px 22px;border-radius:4px;border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.55);text-decoration:none;transition:all .2s}
.btn-out:hover{border-color:rgba(255,255,255,.32);color:var(--w)}

.offer-scroll-cta{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:'Poppins',sans-serif;
  font-size:.72rem;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#ffffff;
  padding:8px 14px;
  border:1px solid rgba(255,255,255,.52);
  border-radius:999px;
  background:linear-gradient(95deg, rgba(241,136,71,.34) 0%, rgba(255,255,255,.16) 48%, rgba(241,136,71,.3) 100%);
  box-shadow:0 10px 24px rgba(7,6,20,.3), 0 0 22px rgba(241,136,71,.26);
  overflow:hidden;
}

.offer-scroll-cta::before{
  content:'';
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  background:linear-gradient(90deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.55) 50%, rgba(255,255,255,0) 70%);
  transform:translateX(-120%);
  animation:offersBtnSheen 4.6s ease-in-out infinite;
  pointer-events:none;
}

.offer-scroll-cta .arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  height:auto;
  border:0;
  color:#fff;
  background:none;
  font-size:1rem;
  line-height:1;
  animation:transfoArrowPulse 1.9s ease-in-out infinite;
}

.offer-brief-page .hero{
  min-height:100vh;
  padding-top:96px;
  padding-bottom:16px;
}

.page-cyber4ai .hero{
  padding-top:96px;
}

.offer-brief-page .offer-scroll-cta{ bottom:18px; }

/* ── RESPONSIVE ──────────────────────────────────── */
@media(max-width:960px){
  section,.cta{padding:70px 20px}
  .hero{padding:108px 20px 70px}
  .hero-inner,.surface-grid,.offer-grid,.meth-layout,.why-layout,.owner-card{grid-template-columns:1fr}
  .deliv-card{display:none}
  .owner-photo{height:300px;object-fit:cover;object-position:50% 18%}
  .radar-wrap{max-width:100%;justify-self:stretch}
  .offer-brief-page .hero-inner{gap:18px;align-items:start}
  .offer-brief-page h1{font-size:clamp(2rem,6vw,2.85rem);line-height:1.03;margin-bottom:14px}
  .offer-brief-page .hero-sub{max-width:100%;font-size:.88rem;line-height:1.56;margin-bottom:14px}
  .offer-brief-page .radar-wrap,
  .offer-brief-page .radar-card{max-width:100%}
}

@media (max-width: 768px){
  .wrap{max-width:100%}
  section,.cta{padding:56px 16px}
  .hero{
    min-height: auto;
    padding: 132px 16px 72px;
  }
  .offer-brief-page .hero,
  .page-cyber4ai .hero{
    padding-top: 92px !important;
  }
  .hero-inner{
    gap: 18px;
    align-items: start;
  }
  h1{
    font-size: clamp(1.95rem, 8.8vw, 2.55rem);
    margin-bottom: 14px;
    line-height: 1.04;
  }
  .hero-sub{
    font-size: 0.8rem;
    line-height: 1.48;
    margin-bottom: 12px;
    max-width: 100%;
  }
  .offer-scroll-cta{
    left: 50%;
    bottom: 1px;
    transform: translateX(-50%);
    font-size: 0.62rem;
    padding: 7px 12px;
  }
  .radar-wrap{
    order: 2;
    max-width: 100%;
    transform: scale(.82);
    transform-origin: top center;
    margin-top: -18px;
    margin-bottom: 0;
  }
  .radar-card{
    border-radius: 10px;
    max-width: 100%;
  }
  .offer-brief-page h1{
    font-size: clamp(1.92rem, 8vw, 2.5rem);
    line-height: 1.04;
  }
  .offer-brief-page .hero-sub{
    font-size: 0.84rem;
    line-height: 1.54;
  }
  .offer-brief-page .hero-brief-card{
    padding: 0;
  }
  .radar-hd{
    padding: 8px 9px;
  }
  .radar-hd-title{
    font-size: 0.46rem;
    letter-spacing: 0.11em;
  }
  .radar-live{
    font-size: 0.44rem;
  }
  .offer-brief-page .hero-brief-badge{
    font-size:.42rem;
    padding:3px 6px;
  }
  .threat{
    padding: 9px 12px;
    gap: 8px;
  }
  .threat-name{
    font-size: 0.7rem;
  }
  .threat-label{
    font-size: 0.54rem;
    padding: 2px 5px;
  }
  .radar-foot{
    padding: 9px 12px;
    font-size: 0.62rem;
    line-height: 1.45;
  }
  .offer-brief-page .hero-brief-list{
    gap:5px;
    padding:7px;
  }
  .offer-brief-page .hero-brief-item{
    padding:7px 8px;
  }
  .offer-brief-page .hero-brief-kicker{
    font-size:.4rem;
    margin-bottom:3px;
  }
  .offer-brief-page .hero-brief-title{
    font-size:.66rem;
    line-height:1.14;
    margin-bottom:3px;
  }
  .offer-brief-page .hero-brief-item p{
    font-size:.56rem;
    line-height:1.28;
  }

  h2.sh{
    font-size: clamp(1.45rem, 7.8vw, 2rem);
    margin-bottom: 24px;
  }
  .eyebrow{
    font-size: 0.58rem;
    letter-spacing: 0.16em;
    margin-bottom: 14px;
  }

  .offer-grid,
  .surface-grid,
  .proof-grid{
    gap: 10px;
  }
  .off-card,
  .surf-card,
  .proof-card{
    padding: 18px 14px;
    border-radius: 10px;
  }
  .off-card h3,
  .surf-card h3{
    font-size: 1rem;
    margin-bottom: 8px;
  }
  .off-card>p,
  .surf-card p,
  .proof-text{
    font-size: 0.8rem;
    line-height: 1.55;
  }
  .off-list{
    margin-bottom: 14px;
  }
  .oli{
    font-size: 0.74rem;
  }

  .dp-layout{
    gap: 20px;
  }
  .dp-copy p{
    font-size: 0.82rem;
    line-height: 1.6;
    margin-bottom: 12px;
  }
  .dm-row{
    grid-template-columns: 1fr 54px 54px;
  }
  .dm-cell{
    padding: 8px 8px;
    font-size: 0.64rem;
  }
  .dm-head{
    font-size: 0.48rem;
    letter-spacing: 0.1em;
  }

  .steps .step{
    gap: 12px;
    padding: 16px 0;
  }
  .step-n{
    font-size: 1.2rem;
    min-width: 28px;
  }
  .step-h{
    font-size: 0.82rem;
  }
  .step-p{
    font-size: 0.76rem;
    line-height: 1.55;
  }
  .step-t{
    font-size: 0.58rem;
  }

  .why-layout{
    gap: 24px;
  }
  .why-stmt{
    font-size: 1.45rem;
    margin-bottom: 18px;
    padding-bottom: 18px;
  }
  .wcheck{
    font-size: 0.8rem;
    line-height: 1.5;
  }
  .witem{
    padding: 14px 0;
  }
  .witem h4{
    font-size: 0.8rem;
    margin-bottom: 5px;
  }
  .witem p{
    font-size: 0.74rem;
    line-height: 1.5;
  }

  .owner{
    padding-top: 44px;
    padding-bottom: 44px;
  }
  .owner-card{
    padding: 14px;
    gap: 12px;
    border-radius: 10px;
  }
  .owner-photo{
    height: 220px;
    object-fit: cover;
    object-position: 50% 18%;
  }
  .owner-card h3{
    font-size: 1.2rem;
    margin-bottom: 6px;
  }
  .owner-card p{
    font-size: 0.8rem;
    line-height: 1.55;
  }
  .btn-p{
    width: 100%;
    justify-content: center;
    padding: 12px 16px;
    font-size: 0.78rem;
  }
}

@media (max-width: 480px){
  .hero{
    padding-top: 136px;
    padding-bottom: 68px;
  }
  .offer-brief-page .hero,
  .page-cyber4ai .hero{
    padding-top: 88px !important;
  }
  .offer-scroll-cta{
    bottom:1px;
    font-size:.58rem;
    padding:7px 12px;
  }
  .offer-brief-page .radar-wrap{
    transform:scale(.74);
    margin-top:-24px;
    margin-bottom:0;
  }
  .offer-brief-page .hero-brief-title{
    font-size:.62rem;
  }
  .offer-brief-page .hero-brief-item p{
    font-size:.54rem;
  }
  .threat-name{
    font-size: 0.66rem;
  }
  .dm-row{
    grid-template-columns: 1fr 56px 56px;
  }
  .dm-cell{
    padding: 8px 8px;
    font-size: 0.65rem;
  }
  .owner-photo{
    height: 190px;
    object-fit: cover;
    object-position: 50% 18%;
  }
}

/* Mobile stability: prevent any lateral overflow on AI offer page */
@media (max-width: 960px){
  html,
  body.page-cyber4ai,
  body.offer-brief-page{
    overflow-x: hidden;
  }

  .page-cyber4ai .wrap,
  .page-cyber4ai section,
  .page-cyber4ai .hero,
  .page-cyber4ai .hero-inner,
  .page-cyber4ai .surface-grid,
  .page-cyber4ai .offer-grid,
  .page-cyber4ai .proof-grid,
  .page-cyber4ai .meth-layout,
  .page-cyber4ai .why-layout,
  .page-cyber4ai .owner-card,
  .offer-brief-page .wrap,
  .offer-brief-page section,
  .offer-brief-page .hero,
  .offer-brief-page .hero-inner,
  .offer-brief-page .offer-grid,
  .offer-brief-page .meth-layout,
  .offer-brief-page .why-layout,
  .offer-brief-page .owner-card{
    max-width: 100%;
  }

  .page-cyber4ai .hero-inner > *,
  .page-cyber4ai .off-card,
  .page-cyber4ai .surf-card,
  .page-cyber4ai .proof-card,
  .page-cyber4ai .step,
  .page-cyber4ai .dr,
  .page-cyber4ai .witem,
  .page-cyber4ai .radar-card,
  .offer-brief-page .hero-inner > *,
  .offer-brief-page .off-card,
  .offer-brief-page .step,
  .offer-brief-page .dr,
  .offer-brief-page .witem,
  .offer-brief-page .radar-card{
    min-width: 0;
  }

  .page-cyber4ai .threat-name,
  .page-cyber4ai .dr-label,
  .page-cyber4ai .oli,
  .page-cyber4ai .witem p,
  .page-cyber4ai .off-card > p,
  .page-cyber4ai .surf-card p,
  .page-cyber4ai .proof-text,
  .offer-brief-page .threat-name,
  .offer-brief-page .dr-label,
  .offer-brief-page .oli,
  .offer-brief-page .witem p,
  .offer-brief-page .off-card > p{
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .page-cyber4ai .dr-t,
  .offer-brief-page .dr-t{
    white-space: normal;
    text-align: right;
  }

  .offer-brief-page .hero-brief-meta{
    padding:14px 16px 2px;
  }

  .offer-brief-page .hero-brief-list{
    padding:12px 16px 16px;
  }

  .offer-brief-page .hero-brief-item{
    padding:12px 13px;
  }

  .offer-brief-page .hero-brief-title{
    font-size:.88rem;
  }

  .offer-brief-page .hero-brief-item p{
    font-size:.74rem;
    line-height:1.5;
  }

  .proof-grid{
    grid-template-columns: 1fr;
  }

  .rex-grid{
    grid-template-columns:1fr;
    gap:10px;
  }
  .rex-card{
    min-height:0;
    padding:16px 14px;
    border-radius:10px;
  }
  .rex-card h3{
    font-size:.96rem;
  }
  .rex-card p{
    font-size:.8rem;
    line-height:1.55;
  }
}

/* ═══════════════════════════════════════════════
   PREMIUM UPGRADE — SCROLL REVEAL SYSTEM
   ═══════════════════════════════════════════════ */

.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s cubic-bezier(0.22,1,0.36,1), transform 0.7s cubic-bezier(0.22,1,0.36,1);
}
.reveal.is-visible { opacity: 1; transform: none; }

.reveal-left {
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity 0.7s cubic-bezier(0.22,1,0.36,1), transform 0.7s cubic-bezier(0.22,1,0.36,1);
}
.reveal-left.is-visible { opacity: 1; transform: none; }

/* Stagger grids */
.reveal-stagger > * {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.65s cubic-bezier(0.22,1,0.36,1), transform 0.65s cubic-bezier(0.22,1,0.36,1);
}
.reveal-stagger.is-visible > *:nth-child(1) { opacity:1; transform:none; transition-delay:0ms; }
.reveal-stagger.is-visible > *:nth-child(2) { opacity:1; transform:none; transition-delay:140ms; }
.reveal-stagger.is-visible > *:nth-child(3) { opacity:1; transform:none; transition-delay:280ms; }
.reveal-stagger.is-visible > *:nth-child(4) { opacity:1; transform:none; transition-delay:420ms; }
.reveal-stagger.is-visible > *:nth-child(5) { opacity:1; transform:none; transition-delay:560ms; }
.reveal-stagger.is-visible > *:nth-child(6) { opacity:1; transform:none; transition-delay:700ms; }

/* Stagger steps (left-slide) */
.stagger-steps > * {
  opacity: 0;
  transform: translateX(-24px);
  transition: opacity 0.6s cubic-bezier(0.22,1,0.36,1), transform 0.6s cubic-bezier(0.22,1,0.36,1);
}
.stagger-steps.is-visible > *:nth-child(1) { opacity:1; transform:none; transition-delay:0ms; }
.stagger-steps.is-visible > *:nth-child(2) { opacity:1; transform:none; transition-delay:150ms; }
.stagger-steps.is-visible > *:nth-child(3) { opacity:1; transform:none; transition-delay:300ms; }
.stagger-steps.is-visible > *:nth-child(4) { opacity:1; transform:none; transition-delay:450ms; }

/* Stagger checks */
.stagger-checks > * {
  opacity: 0;
  transform: translateX(-20px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}
.stagger-checks.is-visible > *:nth-child(1) { opacity:1; transform:none; transition-delay:0ms; }
.stagger-checks.is-visible > *:nth-child(2) { opacity:1; transform:none; transition-delay:120ms; }
.stagger-checks.is-visible > *:nth-child(3) { opacity:1; transform:none; transition-delay:240ms; }

/* Stagger items (right-slide) */
.stagger-items > * {
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}
.stagger-items.is-visible > *:nth-child(1) { opacity:1; transform:none; transition-delay:0ms; }
.stagger-items.is-visible > *:nth-child(2) { opacity:1; transform:none; transition-delay:120ms; }
.stagger-items.is-visible > *:nth-child(3) { opacity:1; transform:none; transition-delay:240ms; }
.stagger-items.is-visible > *:nth-child(4) { opacity:1; transform:none; transition-delay:360ms; }

/* Stagger deliverables */
.stagger-deliv > * {
  opacity: 0;
  transform: translateX(14px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}
.stagger-deliv.is-visible > *:nth-child(1) { opacity:1; transform:none; transition-delay:80ms; }
.stagger-deliv.is-visible > *:nth-child(2) { opacity:1; transform:none; transition-delay:160ms; }
.stagger-deliv.is-visible > *:nth-child(3) { opacity:1; transform:none; transition-delay:240ms; }
.stagger-deliv.is-visible > *:nth-child(4) { opacity:1; transform:none; transition-delay:320ms; }
.stagger-deliv.is-visible > *:nth-child(5) { opacity:1; transform:none; transition-delay:400ms; }
.stagger-deliv.is-visible > *:nth-child(6) { opacity:1; transform:none; transition-delay:480ms; }

/* ═══════════════════════════════════════════════
   PREMIUM UPGRADE — OFFER SECTION DARK REDESIGN
   ═══════════════════════════════════════════════ */

/* Override the light theme */
.offer {
  background:
    radial-gradient(ellipse 60% 50% at 5% 0%, rgba(241,136,71,.08) 0%, transparent 60%),
    radial-gradient(ellipse 50% 60% at 95% 100%, rgba(104,1,127,.12) 0%, transparent 60%),
    linear-gradient(180deg, #180c22 0%, #1e0f2c 100%) !important;
  color: var(--w) !important;
}

.offer .sh,
.offer .off-card h3 { color: var(--w) !important; }

/* Gradient top bar per card */
.offer .off-card {
  background: rgba(255,255,255,0.035) !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  overflow: hidden;
  position: relative;
  transition: transform 0.35s cubic-bezier(.22,.68,0,1.2), box-shadow 0.35s ease, border-color 0.3s ease !important;
}

.offer .off-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--off-bar);
  border-radius: 14px 14px 0 0;
}

.offer .off-card:nth-child(1) {
  --off-bar: linear-gradient(90deg, #F18847 0%, #f5c08a 100%);
  --off-glow: rgba(241,136,71,0.22);
}
.offer .off-card:nth-child(2) {
  --off-bar: linear-gradient(90deg, #68017F 0%, #b044cf 100%);
  --off-glow: rgba(104,1,127,0.22);
}
.offer .off-card:nth-child(3) {
  --off-bar: linear-gradient(90deg, #0f6eb8 0%, #38a8e0 100%);
  --off-glow: rgba(15,110,184,0.22);
}

.offer .off-card:hover {
  transform: translateY(-7px) !important;
  border-color: rgba(255,255,255,0.14) !important;
  box-shadow: 0 22px 56px var(--off-glow) !important;
}

/* Ghost number */
.offer .off-n {
  position: absolute !important;
  top: -8px !important;
  right: 14px !important;
  font-size: 7.5rem !important;
  font-family: 'Raleway', sans-serif;
  font-weight: 900 !important;
  letter-spacing: -4px !important;
  line-height: 1 !important;
  color: rgba(255,255,255,0.045) !important;
  pointer-events: none;
  margin-bottom: 0 !important;
  transition: color 0.3s ease, transform 0.35s ease;
}

.offer .off-card:hover .off-n {
  color: rgba(255,255,255,0.07) !important;
  transform: scale(1.05) translateY(-4px);
}

/* Card heading label positioned after ghost num */
.offer .off-card h3 {
  margin-top: 40px;
}

.offer .off-card > p { color: rgba(255,255,255,0.55) !important; }
.offer .oli { color: rgba(255,255,255,0.5) !important; }

/* ═══════════════════════════════════════════════
   PREMIUM UPGRADE — HERO EXTRA ORBS
   ═══════════════════════════════════════════════ */

.orb.o3 {
  width: 260px; height: 260px;
  background: radial-gradient(circle, rgba(104,1,127,0.45) 0%, transparent 70%);
  bottom: 18%; left: 28%;
  animation: drift 20s ease-in-out infinite reverse;
  animation-delay: -9s;
  filter: blur(40px);
}
.orb.o4 {
  width: 130px; height: 130px;
  background: radial-gradient(circle, rgba(241,136,71,0.5) 0%, transparent 70%);
  top: 12%; right: 8%;
  animation: drift 11s ease-in-out infinite;
  animation-delay: -4s;
  filter: blur(24px);
}
.orb.o5 {
  width: 90px; height: 90px;
  background: radial-gradient(circle, rgba(56,168,224,0.45) 0%, transparent 70%);
  bottom: 8%; right: 35%;
  animation: drift 16s ease-in-out infinite;
  animation-delay: -11s;
  filter: blur(18px);
}

/* ═══════════════════════════════════════════════
   PREMIUM UPGRADE — RADAR SCAN LINE
   ═══════════════════════════════════════════════ */

.radar-card { overflow: hidden; }

.radar-card::after {
  content: '';
  position: absolute;
  left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(241,136,71,0.7) 40%, rgba(241,136,71,0.9) 50%, rgba(241,136,71,0.7) 60%, transparent 100%);
  animation: radarScan 5s ease-in-out infinite;
  animation-delay: 1.5s;
  pointer-events: none;
  z-index: 2;
}

@keyframes radarScan {
  0%    { top: 0%;   opacity: 0; }
  5%    { opacity: 1; }
  90%   { opacity: 0.6; }
  100%  { top: 100%; opacity: 0; }
}

/* Threat rows animate in on load */
.threat {
  animation: threatIn 0.4s ease both;
}
.threat:nth-child(1) { animation-delay: 0.3s; }
.threat:nth-child(2) { animation-delay: 0.45s; }
.threat:nth-child(3) { animation-delay: 0.6s; }
.threat:nth-child(4) { animation-delay: 0.75s; }
.threat:nth-child(5) { animation-delay: 0.9s; }
.threat:nth-child(6) { animation-delay: 1.05s; }

@keyframes threatIn {
  from { opacity: 0; transform: translateX(12px); }
  to   { opacity: 1; transform: none; }
}

/* ═══════════════════════════════════════════════
   PREMIUM UPGRADE — SURF CARDS HOVER
   ═══════════════════════════════════════════════ */

.surf-card {
  transition: transform 0.35s cubic-bezier(.22,.68,0,1.2), box-shadow 0.35s ease !important;
}

.surf-card:hover {
  transform: translateY(-7px) !important;
  box-shadow: 0 24px 56px rgba(0,0,0,0.35) !important;
}

.surf-card:hover .surf-ico {
  transform: scale(1.1) translateY(-3px);
  opacity: 0.55;
}

.surf-ico {
  transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Surf tag pulse on hover */
.surf-card:hover .surf-tag {
  opacity: 1;
  letter-spacing: 0.12em;
}

.surf-tag {
  transition: letter-spacing 0.3s ease, opacity 0.3s ease;
}

/* ═══════════════════════════════════════════════
   PREMIUM UPGRADE — METHOD STEP HOVER
   ═══════════════════════════════════════════════ */

.step {
  transition: background 0.25s ease, padding-left 0.25s ease;
  border-radius: 10px;
  padding: 16px 12px;
  margin: 0 -12px;
}

.step:hover {
  background: rgba(255,255,255,0.04);
}

.step:hover .step-n {
  color: var(--g);
}

.step-n {
  transition: color 0.25s ease;
}

/* Active step line indicator */
.step::before {
  content: '';
  position: absolute;
  left: 0; top: 50%;
  width: 0; height: 2px;
  background: var(--g);
  transform: translateY(-50%);
  transition: width 0.35s ease;
  border-radius: 2px;
}

.step { position: relative; }

.step:hover::before {
  width: 3px;
}

/* ═══════════════════════════════════════════════
   PREMIUM UPGRADE — WHY WITEM HOVER
   ═══════════════════════════════════════════════ */

.witem {
  transition: border-color 0.25s ease, transform 0.25s ease !important;
}

.witem:hover {
  border-color: rgba(241,136,71,0.4) !important;
  transform: translateX(4px);
}

.wn {
  transition: transform 0.25s ease, background 0.25s ease;
}

.witem:hover .wn {
  transform: scale(1.2) rotate(45deg);
  background: var(--g);
}

/* ═══════════════════════════════════════════════
   PREMIUM UPGRADE — HERO H1 ENTRANCE STAGGER
   ═══════════════════════════════════════════════ */

.hero-inner > div > h1 {
  animation: heroTitleIn 0.9s cubic-bezier(0.22,1,0.36,1) 0.2s both;
}

.hero-sub {
  animation: heroTitleIn 0.8s cubic-bezier(0.22,1,0.36,1) 0.5s both;
}

.radar-wrap {
  animation: heroTitleIn 0.9s cubic-bezier(0.22,1,0.36,1) 0.35s both;
}

@keyframes heroTitleIn {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: none; }
}

/* ═══════════════════════════════════════════════
   SECTION BACKGROUNDS — PALETTE VIOLET/ORANGE/GREY
   ═══════════════════════════════════════════════ */

/* 1. HERO ─── ultra-dark purple-black */
/* kept via hero-bg — base: #120820 */

/* 2. OFFER ─── near-black charcoal (contrast fort avec hero violet) */
.offer {
  background:
    radial-gradient(ellipse 55% 45% at 8% 20%, rgba(241,136,71,.06) 0%, transparent 55%),
    #0c0c12 !important;
  position: relative;
}
/* Transition bas : charcoal → violet */
.offer::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 80px;
  background: linear-gradient(180deg, transparent 0%, #1c1030 100%);
  pointer-events: none;
}

/* 3. SURFACE ─── violet moyen (contraste charcoal) */
.surface {
  background:
    radial-gradient(ellipse 70% 50% at 5% 0%, rgba(241,136,71,.09) 0%, transparent 55%),
    radial-gradient(ellipse 55% 50% at 95% 100%, rgba(181,113,212,.12) 0%, transparent 55%),
    linear-gradient(180deg, #1c1030 0%, #241540 100%) !important;
  position: relative;
}
/* Transition bas : violet → gris sombre */
.surface::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 80px;
  background: linear-gradient(180deg, transparent 0%, #101016 100%);
  pointer-events: none;
}

/* 4. METHOD ─── gris sombre neutre (contraste fort avec violet) */
.method {
  background:
    radial-gradient(ellipse 55% 50% at 95% 5%, rgba(104,1,127,.1) 0%, transparent 55%),
    radial-gradient(ellipse 40% 40% at 5% 95%, rgba(241,136,71,.06) 0%, transparent 50%),
    linear-gradient(180deg, #101016 0%, #141420 100%) !important;
  position: relative;
}
/* Transition bas : gris → violet profond */
.method::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 80px;
  background: linear-gradient(180deg, transparent 0%, #25063a 100%);
  pointer-events: none;
}

/* 5. WHY ─── violet profond saturé (contraste fort avec gris method) */
.why {
  background:
    radial-gradient(ellipse 65% 55% at 10% 50%, rgba(104,1,127,.25) 0%, transparent 60%),
    radial-gradient(ellipse 50% 40% at 90% 20%, rgba(241,136,71,.07) 0%, transparent 55%),
    linear-gradient(180deg, #25063a 0%, #1a0430 100%) !important;
  position: relative;
}
/* Transition bas : violet → gris clair (rex) */
.why::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 80px;
  background: linear-gradient(180deg, transparent 0%, #d0d0d8 100%);
  pointer-events: none;
}

/* ─── Fix z-index pour les contenus ─────────────── */
.offer .wrap,
.surface .wrap,
.method .wrap,
.why .wrap {
  position: relative;
  z-index: 1;
}

/* ═══════════════════════════════════════════════
   CARD 03 — GREY (pas de bleu)
   ═══════════════════════════════════════════════ */

/* cyber-4-ai page — off-card:nth-child(3) */
.offer .off-card:nth-child(3) {
  --off-bar: linear-gradient(90deg, #6b6b80 0%, #9898aa 100%);
  --off-glow: rgba(130,130,160,0.18);
}

/* Homepage trio — swift card grey */
.featured-offer-card--swift {
  --card-bar: linear-gradient(90deg, #6b6b80 0%, #9898aa 100%) !important;
  --card-border-hover: rgba(130,130,160,0.45) !important;
  --card-glow-hover: 0 24px 64px rgba(130,130,160,0.16), 0 4px 20px rgba(0,0,0,0.4) !important;
  --card-num-color: rgba(130,130,160,0.08) !important;
  --card-cta-color: #a0a0b8 !important;
}

/* ═══════════════════════════════════════════════
   SURF CARDS — PREMIUM REDESIGN
   Palette : orange / violet / grey (pas de rouge ni bleu)
   ═══════════════════════════════════════════════ */

/* Per-card accent tokens */
.sc-r { --surf-accent: #F18847; --surf-glow: rgba(241,136,71,0.22); --surf-num: rgba(241,136,71,0.07); }
.sc-y { --surf-accent: #8b3fa8; --surf-glow: rgba(139,63,168,0.24); --surf-num: rgba(139,63,168,0.08); }
.sc-g { --surf-accent: #8888a0; --surf-glow: rgba(136,136,160,0.18); --surf-num: rgba(136,136,160,0.07); }

/* Break the single-panel grid → individual rounded cards */
.surface-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  border: none !important;
  background: transparent !important;
  overflow: visible !important;
}

.surf-card {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 18px !important;
  padding: 44px 32px 36px !important;
  position: relative !important;
  overflow: hidden !important;
  transition:
    transform 0.38s cubic-bezier(.22,.68,0,1.15),
    box-shadow 0.38s ease,
    border-color 0.38s ease,
    background 0.38s ease !important;
}

.surf-card:hover {
  transform: translateY(-10px) !important;
  background: rgba(255,255,255,0.065) !important;
  border-color: var(--surf-accent, rgba(255,255,255,0.15)) !important;
  box-shadow:
    0 30px 68px var(--surf-glow, rgba(0,0,0,0.3)),
    0 6px 22px rgba(0,0,0,0.45) !important;
}

/* Top accent bar — 4px, full width */
.surf-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--surf-accent, rgba(255,255,255,0.25)) 0%, transparent 80%) !important;
  border-radius: 18px 18px 0 0 !important;
}

/* Ghost number watermark — big, top-right */
.surf-ico {
  position: absolute !important;
  top: -14px !important;
  right: 18px !important;
  font-size: 8.5rem !important;
  font-family: 'Raleway', sans-serif !important;
  font-weight: 900 !important;
  color: var(--surf-num, rgba(255,255,255,0.04)) !important;
  line-height: 1 !important;
  pointer-events: none !important;
  margin-bottom: 0 !important;
  transition: none !important;
  user-select: none;
}

/* Disable old surf-ico hover scale (replaced by ghost) */
.surf-card:hover .surf-ico {
  transform: none !important;
  opacity: 1 !important;
}

/* Card heading — push below ghost number area */
.surf-card h3 {
  font-family: 'Raleway', sans-serif !important;
  font-size: 1.18rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  margin-top: 52px !important;
  margin-bottom: 14px !important;
  color: #fff !important;
}

.surf-card p {
  font-size: .84rem !important;
  line-height: 1.76 !important;
  color: rgba(255,255,255,0.52) !important;
}

/* Tags — per-card accent color */
.surf-tag {
  display: inline-block !important;
  margin-top: 22px !important;
  font-size: .62rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  padding: 4px 11px !important;
  border-radius: 4px !important;
  transition: opacity 0.3s ease !important;
}

.sc-r .surf-tag {
  color: #F18847 !important;
  background: rgba(241,136,71,0.12) !important;
  border: 1px solid rgba(241,136,71,0.30) !important;
}

.sc-y .surf-tag {
  color: #c070e0 !important;
  background: rgba(192,112,224,0.12) !important;
  border: 1px solid rgba(192,112,224,0.28) !important;
}

.sc-g .surf-tag {
  color: #a8a8c0 !important;
  background: rgba(168,168,192,0.10) !important;
  border: 1px solid rgba(168,168,192,0.24) !important;
}

/* ═══════════════════════════════════════════════
   WHY → OWNER TRANSITION
   Supprime le gris — fond vers l'orange de Rania
   ═══════════════════════════════════════════════ */
.why::after {
  background: linear-gradient(180deg, transparent 0%, #c85e1a 100%) !important;
}

/* ═══════════════════════════════════════════════
   METHOD STEPS — TRIANGLE ACTINUANCE ON HOVER
   Cohérent avec le + → × des witem
   ═══════════════════════════════════════════════ */

/* Le triangle logomark apparaît sur la droite au hover */
.step::after {
  content: '';
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%) translateX(10px) scale(0.5) rotate(-8deg);
  width: 30px;
  height: 23px;
  background: url('Logos/m5xAqqNUWhqqpHZiZfJfuY-actinuancelogomark_02.png') center / contain no-repeat;
  opacity: 0;
  transition:
    opacity 0.38s cubic-bezier(.22,.68,0,1.2),
    transform 0.38s cubic-bezier(.22,.68,0,1.2);
  /* Blanc pur : lisible sur tous les fonds sombres */
  filter: brightness(0) invert(1);
  pointer-events: none;
}

.step:hover::after {
  opacity: 0.55;
  transform: translateY(-50%) translateX(0) scale(1) rotate(0deg);
}

/* Renforce aussi le step-n : change vers orange (déjà via var(--g)) +
   légère montée vers le haut pour accompagner le triangle */
.step:hover .step-n {
  transform: translateY(-2px);
}
.step-n {
  transition: color 0.25s ease, transform 0.25s ease;
}

/* ═══════════════════════════════════════════════
   METHOD STEPS — TRIANGLE GAUCHE ORANGE (v2)
   Remplace le petit trait par le logomark
   ═══════════════════════════════════════════════ */

/* Supprime le triangle droit ajouté précédemment */
.step::after {
  display: none !important;
}

/* Remplace le trait gauche par le triangle Actinuance orange */
.step::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  width: 22px !important;
  height: 17px !important;
  background: url('Logos/m5xAqqNUWhqqpHZiZfJfuY-actinuancelogomark_02.png') center / contain no-repeat !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  /* Orange : #F18847 */
  filter: brightness(0) saturate(100%) invert(64%) sepia(74%) saturate(520%) hue-rotate(333deg) brightness(102%) !important;
  opacity: 0 !important;
  transform: translateY(-50%) scale(0.55) translateX(-4px) !important;
  transition:
    opacity 0.38s cubic-bezier(.22,.68,0,1.2),
    transform 0.38s cubic-bezier(.22,.68,0,1.2) !important;
}

.step:hover::before {
  opacity: 1 !important;
  transform: translateY(-50%) scale(1) translateX(0) !important;
  width: 22px !important;
  height: 17px !important;
}

/* ═══════════════════════════════════════════════
   METHOD STEPS — NUMÉRO → TRIANGLE (swap hover)
   Le chiffre 01/02/03/04 se transforme en logo
   ═══════════════════════════════════════════════ */

/* Supprime le ::before gauche indépendant (plus nécessaire) */
.step::before {
  display: none !important;
}

/* step-n devient un conteneur de swap */
.step-n {
  position: relative !important;
  /* Le texte disparaît au hover */
  transition: color 0.28s ease, transform 0.28s ease !important;
}

/* Le triangle Actinuance orange se superpose au numéro */
.step-n::after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 28px !important;
  height: 22px !important;
  background: url('Logos/m5xAqqNUWhqqpHZiZfJfuY-actinuancelogomark_02.png') center / contain no-repeat !important;
  /* Orange #F18847 */
  filter: brightness(0) saturate(100%) invert(64%) sepia(74%) saturate(520%) hue-rotate(333deg) brightness(102%) !important;
  opacity: 0 !important;
  transform: translate(-50%, -50%) scale(0.6) !important;
  transition:
    opacity 0.28s cubic-bezier(.22,.68,0,1.2),
    transform 0.28s cubic-bezier(.22,.68,0,1.2) !important;
  pointer-events: none !important;
}

/* Au hover : chiffre s'efface, triangle apparaît */
.step:hover .step-n {
  color: transparent !important;
  transform: none !important;
}

.step:hover .step-n::after {
  opacity: 1 !important;
  transform: translate(-50%, -50%) scale(1) !important;
}

/* ═══════════════════════════════════════════════
   WHY ITEMS — + → TRIANGLE ACTINUANCE (même swap que steps)
   ═══════════════════════════════════════════════ */

.wn {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 18px !important;
  transition: color 0.28s ease !important;
}

/* Triangle par-dessus le + */
.wn::after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 20px !important;
  height: 16px !important;
  background: url('Logos/m5xAqqNUWhqqpHZiZfJfuY-actinuancelogomark_02.png') center / contain no-repeat !important;
  filter: brightness(0) saturate(100%) invert(64%) sepia(74%) saturate(520%) hue-rotate(333deg) brightness(102%) !important;
  opacity: 0 !important;
  transform: translate(-50%, -50%) scale(0.55) !important;
  transition:
    opacity 0.28s cubic-bezier(.22,.68,0,1.2),
    transform 0.28s cubic-bezier(.22,.68,0,1.2) !important;
  pointer-events: none !important;
}

/* Hover : + s'efface, triangle apparaît */
.witem:hover .wn {
  color: transparent !important;
  transform: none !important;
  background: transparent !important;
}

.witem:hover .wn::after {
  opacity: 1 !important;
  transform: translate(-50%, -50%) scale(1) !important;
}

/* ═══════════════════════════════════════════════
   RESPONSIVE MOBILE — SURF CARDS EN STACK
   Corrige les !important qui bloquaient le responsive
   ═══════════════════════════════════════════════ */

@media (max-width: 960px) {
  .surface-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    overflow: visible !important;
  }

  .surf-card {
    border-radius: 14px !important;
    padding: 36px 24px 30px !important;
  }

  .surf-ico {
    font-size: 6.5rem !important;
  }

  .surf-card h3 {
    margin-top: 44px !important;
    font-size: 1.1rem !important;
  }
}

@media (max-width: 600px) {
  .surface-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .surf-card {
    padding: 32px 20px 26px !important;
    border-radius: 12px !important;
  }

  .surf-ico {
    font-size: 5.5rem !important;
    top: -10px !important;
    right: 14px !important;
  }

  .surf-card h3 {
    margin-top: 38px !important;
    font-size: 1.05rem !important;
  }

  .surf-tag {
    margin-top: 16px !important;
  }
}
