:root{
  --bg:#040712;
  --bg-2:#070b18;
  --bg-3:#0a1020;
  --panel:rgba(12,18,34,.72);
  --panel-solid:#0c1325;
  --panel-light:rgba(18,26,47,.72);
  --line:rgba(232,205,129,.14);
  --line-soft:rgba(255,255,255,.075);
  --gold:#d4ad51;
  --gold-2:#efd88f;
  --gold-3:#9c762b;
  --text:#f5f1e7;
  --muted:#9ba6ba;
  --muted-2:#6f7a8e;
  --danger:#d89b87;
  --success:#9fc89f;
  --shadow:0 32px 90px rgba(0,0,0,.38);
  --max:1240px;
  --header:86px;
  --radius:2px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 24px)}
body{
  margin:0;
  min-height:100vh;
  color:var(--text);
  background:
    radial-gradient(circle at 82% 7%,rgba(35,57,111,.2),transparent 26%),
    radial-gradient(circle at 10% 42%,rgba(118,82,19,.09),transparent 24%),
    linear-gradient(180deg,#040712 0%,#060a16 42%,#040711 100%);
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.menu-open{overflow:hidden}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-3;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(5,9,19,.12),rgba(3,6,13,.55));
}
a{color:inherit;text-decoration:none}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{color:inherit}
img,svg{display:block;max-width:100%}
::selection{background:rgba(212,173,81,.28);color:#fff}
:focus-visible{outline:2px solid var(--gold-2);outline-offset:4px}

.skip-link{
  position:fixed;
  top:10px;
  left:10px;
  transform:translateY(-140%);
  z-index:9999;
  padding:12px 16px;
  background:var(--gold-2);
  color:#07090e;
  font-weight:800;
}
.skip-link:focus{transform:none}

#particles{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:-2;opacity:.72}
.ambient-grid{
  position:fixed;
  inset:0;
  z-index:-4;
  pointer-events:none;
  opacity:.15;
  background-image:linear-gradient(rgba(255,255,255,.024) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.024) 1px,transparent 1px);
  background-size:74px 74px;
  mask-image:linear-gradient(to bottom,#000 0%,transparent 84%);
}
.section-shell{width:min(var(--max),calc(100% - 48px));margin-inline:auto;position:relative}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  min-height:var(--header);
  border-bottom:1px solid transparent;
  background:linear-gradient(180deg,rgba(4,7,18,.93),rgba(4,7,18,.54),transparent);
  transition:background .3s ease,border-color .3s ease,box-shadow .3s ease,backdrop-filter .3s ease;
}
.site-header.scrolled{
  background:rgba(4,7,18,.87);
  border-color:rgba(255,255,255,.07);
  box-shadow:0 12px 38px rgba(0,0,0,.2);
  backdrop-filter:blur(18px) saturate(130%);
}
.header-inner{
  width:min(var(--max),calc(100% - 48px));
  margin-inline:auto;
  min-height:var(--header);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.brand{display:inline-flex;align-items:center;gap:13px;min-width:max-content}
.brand-mark{width:43px;height:auto;filter:drop-shadow(0 0 16px rgba(212,173,81,.2))}
.brand-copy{display:grid;line-height:1}
.brand-copy strong{font-family:"Cinzel",serif;font-size:1.15rem;letter-spacing:.23em}
.brand-copy small{margin-top:7px;color:#9ca6b8;font-size:.56rem;letter-spacing:.29em;font-weight:800}
.main-nav{display:flex;align-items:center;gap:24px;color:#bdc5d3;font-size:.79rem;font-weight:700}
.main-nav a{position:relative;transition:color .2s ease}
.main-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--gold);transition:right .25s ease}
.main-nav a:hover,.main-nav a.active{color:var(--gold-2)}
.main-nav a:hover::after,.main-nav a.active::after{right:0}
.main-nav .nav-cta{padding:11px 16px;border:1px solid rgba(212,173,81,.3);color:var(--gold-2);background:rgba(212,173,81,.045)}
.menu-toggle{display:none;border:0;background:transparent;width:48px;height:48px;padding:10px;cursor:pointer;position:relative;z-index:102}
.menu-toggle span{display:block;height:2px;background:var(--text);margin:6px 0;transition:transform .25s ease,opacity .2s ease}
.menu-toggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-toggle.open span:nth-child(2){opacity:0}
.menu-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* Shared */
.eyebrow{display:flex;align-items:center;gap:11px;color:var(--gold-2);text-transform:uppercase;font-size:.66rem;letter-spacing:.23em;font-weight:800}
.eyebrow>span{width:38px;height:1px;background:var(--gold)}
.section-heading{max-width:900px;margin-bottom:52px}
.section-heading.centered{margin-inline:auto;text-align:center;display:flex;flex-direction:column;align-items:center}
.section-heading h2,.manifesto h2,.cta-content h2{
  font-family:"Cinzel",serif;
  margin:16px 0 20px;
  font-size:clamp(2.1rem,4.5vw,4.6rem);
  line-height:1.07;
  letter-spacing:-.035em;
  text-wrap:balance;
}
.section-heading h2 em,.cta-content h2 em{font-style:normal;color:var(--gold-2);font-weight:500}
.section-heading>p:last-child{max-width:780px;color:var(--muted);font-size:.99rem;line-height:1.82;margin:0}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.visible{opacity:1;transform:none}

.button{
  min-height:52px;
  padding:0 21px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  border:1px solid transparent;
  font-weight:800;
  font-size:.83rem;
  cursor:pointer;
  transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease;
}
.button:hover{transform:translateY(-2px)}
.button-primary{background:linear-gradient(135deg,#e0bd66,#ad8737);color:#090b10;box-shadow:0 15px 38px rgba(212,173,81,.14)}
.button-primary:hover{box-shadow:0 20px 46px rgba(212,173,81,.2)}
.button-ghost{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.025);color:#d8dde6}
.button-ghost:hover{border-color:rgba(212,173,81,.28);background:rgba(212,173,81,.04)}

/* Hero */
.hero{
  min-height:calc(100svh - var(--header));
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(410px,.96fr);
  align-items:center;
  gap:54px;
  padding:56px 0 108px;
}
.hero::before{content:"";position:absolute;left:54%;top:2%;bottom:9%;width:1px;background:linear-gradient(transparent,rgba(212,173,81,.12),transparent)}
.hero-copy{position:relative;z-index:3}
.hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:8px 11px;
  margin-bottom:24px;
  border:1px solid rgba(255,255,255,.075);
  background:rgba(12,18,34,.54);
  color:#9ea8b8;
  font-size:.62rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:800;
}
.status-dot{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 14px rgba(159,200,159,.75)}
.hero h1{font-family:"Cinzel",serif;margin:18px 0 23px;line-height:.94;letter-spacing:-.045em;max-width:780px}
.hero h1 span,.hero h1 em{display:block;font-style:normal}
.hero h1 span{font-size:clamp(3.5rem,6.3vw,6.35rem);font-weight:600}
.hero h1 em{margin-top:7px;color:var(--gold-2);font-size:clamp(3.1rem,5.65vw,5.8rem);font-weight:500}
.hero-lead{max-width:700px;color:#adb6c6;font-size:1.02rem;line-height:1.82;margin:0 0 28px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}
.hero-pillars{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#6f798b;font-size:.54rem;font-weight:800;letter-spacing:.14em;margin-bottom:34px}
.hero-pillars i{width:3px;height:3px;border-radius:50%;background:var(--gold)}
.hero-reference{display:flex;align-items:flex-start;gap:15px;color:#7b8494;font-family:"Cinzel",serif;font-size:.76rem;max-width:590px;line-height:1.65;margin:0}
.hero-reference p{margin:0}.hero-reference strong{color:#b8a66e;font-weight:600}.reference-line{width:1px;height:40px;background:var(--gold);opacity:.7;flex:none}

.hero-visual{height:610px;display:grid;place-items:center;position:relative;isolation:isolate}
.crest-glow{position:absolute;width:310px;height:310px;border-radius:50%;background:rgba(212,173,81,.11);filter:blur(58px);animation:pulseGlow 5s ease-in-out infinite}
.crest-shell{position:relative;z-index:4;filter:drop-shadow(0 32px 65px rgba(0,0,0,.62))}
.crest{width:260px;height:320px;clip-path:polygon(50% 0,93% 18%,88% 68%,50% 100%,12% 68%,7% 18%);background:linear-gradient(145deg,#a27c30,#f2dc97 38%,#72531f 67%,#d5ae51);padding:2px}
.crest-inner{width:100%;height:100%;clip-path:inherit;background:linear-gradient(150deg,#111a31 0%,#080c18 58%,#15101a 100%);position:relative;overflow:hidden}
.crest-inner::before{content:"";position:absolute;inset:-20%;background:linear-gradient(110deg,transparent 36%,rgba(240,216,141,.14) 49%,transparent 62%);animation:shine 6s linear infinite}
.cross-vertical,.cross-horizontal{position:absolute;background:linear-gradient(#f5df98,#ac8130);left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 22px rgba(212,173,81,.34)}
.cross-vertical{width:10px;height:150px}.cross-horizontal{width:86px;height:10px;top:43%}
.radar{position:absolute;border:1px solid rgba(212,173,81,.15);border-radius:50%;z-index:1}
.radar-one{width:420px;height:420px;animation:orbitSpin 20s linear infinite}
.radar-two{width:520px;height:520px;border-style:dashed;opacity:.5;animation:orbitSpin 32s linear infinite reverse}
.radar::before,.radar::after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--gold-2);box-shadow:0 0 14px var(--gold)}
.radar::before{top:11%;left:22%}.radar::after{right:7%;bottom:29%}
.visual-chip{position:absolute;z-index:5;padding:11px 13px;background:rgba(6,10,20,.8);border:1px solid rgba(212,173,81,.16);backdrop-filter:blur(10px);display:grid;gap:4px;min-width:126px;box-shadow:var(--shadow)}
.visual-chip small{font-size:.48rem;letter-spacing:.2em;color:#707a8e}.visual-chip strong{font-family:"Cinzel",serif;font-size:.68rem;color:#dbc98f;letter-spacing:.08em}
.chip-a{right:2%;top:25%}.chip-b{left:2%;bottom:24%}.chip-c{right:7%;bottom:16%}
.hero-console{position:absolute;bottom:2%;left:50%;transform:translateX(-50%);z-index:6;display:flex;gap:0;border:1px solid rgba(255,255,255,.07);background:rgba(5,9,18,.78);backdrop-filter:blur(14px)}
.hero-console span{padding:10px 13px;font-size:.47rem;color:#707a8d;letter-spacing:.12em;font-weight:800;border-right:1px solid rgba(255,255,255,.06);white-space:nowrap}.hero-console span:last-child{border-right:0}.hero-console b{color:var(--gold);margin-right:5px}
.scroll-cue{position:absolute;bottom:28px;left:0;color:#606a7b;font-size:.55rem;font-weight:800;letter-spacing:.23em;display:flex;align-items:center;gap:10px;writing-mode:vertical-rl}
.scroll-cue span{height:38px;width:1px;background:linear-gradient(var(--gold),transparent)}

/* Manifesto */
.manifesto,.discernment,.armor,.daily,.training,.field-code,.resources,.faq{padding:112px 0}
.manifesto{border-top:1px solid rgba(255,255,255,.04)}
.manifesto-intro{padding:0 0 52px}
.manifesto-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end}
.manifesto h2{font-size:clamp(2.35rem,4.8vw,4.8rem);margin-bottom:0}
.manifesto-grid>p{color:var(--muted);line-height:1.85;margin:0 0 7px;font-size:1rem}
.foundation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.foundation-card{position:relative;min-height:356px;padding:33px;border:1px solid var(--line-soft);background:linear-gradient(160deg,rgba(17,25,45,.84),rgba(6,10,20,.66));overflow:hidden;transition:.3s ease}
.foundation-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 10%,rgba(212,173,81,.08),transparent 30%);opacity:0;transition:.3s}.foundation-card:hover::before{opacity:1}
.foundation-card::after{content:"";position:absolute;inset:auto 0 0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:0;transition:.3s}.foundation-card:hover{transform:translateY(-6px);border-color:rgba(212,173,81,.21)}.foundation-card:hover::after{opacity:1}
.card-index{position:absolute;right:20px;top:14px;font-family:"Cinzel",serif;font-size:2.6rem;color:rgba(255,255,255,.035)}
.line-icon{width:56px;height:56px;color:var(--gold-2);margin-bottom:32px;position:relative}.line-icon svg{fill:none;stroke:currentColor;stroke-width:1.4}
.foundation-card h3,.code-card h3,.resource-card h3{font-family:"Cinzel",serif;font-size:1.42rem;margin:0 0 15px;line-height:1.26;position:relative}
.foundation-card p{color:var(--muted);font-size:.9rem;line-height:1.77;position:relative}
.scripture{display:block;margin-top:28px;color:#8f8051;font-size:.62rem;font-weight:800;letter-spacing:.18em;position:relative}

/* Discernment */
.discernment{border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04)}
.discernment-shell{display:grid;grid-template-columns:390px 1fr;border:1px solid rgba(212,173,81,.13);background:rgba(8,13,25,.64);min-height:520px}
.discernment-options{display:grid;align-content:stretch;border-right:1px solid rgba(255,255,255,.07)}
.discernment-tab{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:12px;text-align:left;padding:22px 20px;border:0;border-bottom:1px solid rgba(255,255,255,.06);background:transparent;color:var(--text);cursor:pointer;transition:.25s ease}.discernment-tab:last-child{border-bottom:0}
.discernment-tab>span{grid-row:1/3;font-family:"Cinzel",serif;color:#5f6879;font-size:.7rem;padding-top:2px}.discernment-tab strong{font-family:"Cinzel",serif;font-size:.91rem;line-height:1.3}.discernment-tab small{color:#6f798c;font-size:.7rem;margin-top:5px}.discernment-tab:hover,.discernment-tab.active{background:linear-gradient(90deg,rgba(212,173,81,.075),transparent);box-shadow:inset 2px 0 var(--gold)}.discernment-tab.active>span,.discernment-tab.active strong{color:var(--gold-2)}
.discernment-stage{padding:48px 52px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 76% 18%,rgba(40,63,117,.13),transparent 31%)}
.stage-topline{display:flex;justify-content:space-between;gap:14px;color:#687286;font-size:.57rem;letter-spacing:.17em;font-weight:800}.stage-topline b{color:#a08d57}
.discernment-stage h3{font-family:"Cinzel",serif;font-size:clamp(1.9rem,3vw,3.2rem);line-height:1.12;margin:17px 0 18px}
.stage-lead{color:#aeb7c6;line-height:1.82;margin:0 0 30px;max-width:760px}
.response-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:25px}.response-grid>div{padding:19px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.018)}.response-grid small,.armor-application small,.daily-practice small{color:var(--gold);font-size:.56rem;letter-spacing:.16em;font-weight:800}.response-grid p{margin:8px 0 0;color:#929daf;font-size:.84rem;line-height:1.62}
.stage-scripture{color:#8d7b4a;font-size:.61rem;letter-spacing:.15em;font-weight:800;text-transform:uppercase}
.care-note{margin:18px 0 0;padding:16px 18px;border-left:2px solid rgba(212,173,81,.45);background:rgba(212,173,81,.025);color:#7f899b;font-size:.78rem;line-height:1.7}.care-note strong{color:#b8a775}

/* Armor */
.armor-layout{display:grid;grid-template-columns:370px 1fr;gap:20px;align-items:stretch}
.armor-selector{display:grid;gap:8px}
.armor-item{display:grid;grid-template-columns:44px 1fr auto;grid-template-rows:1fr 1fr;align-items:center;column-gap:13px;text-align:left;padding:15px 17px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.016);color:var(--text);cursor:pointer;transition:.25s}.armor-item:hover,.armor-item.active{background:rgba(212,173,81,.055);border-color:rgba(212,173,81,.23);box-shadow:inset 2px 0 var(--gold)}.armor-item>span{grid-row:1/3;color:#6c7588;font-family:"Cinzel",serif;font-size:.72rem}.armor-item strong{font-family:"Cinzel",serif;font-size:.88rem;align-self:end}.armor-item small{grid-column:2;align-self:start;color:#7d8799;margin-top:3px}.armor-item.active strong,.armor-item.active>span{color:var(--gold-2)}
.armor-stage{min-height:550px;border:1px solid rgba(212,173,81,.13);background:radial-gradient(circle at 25% 50%,rgba(212,173,81,.075),transparent 27%),linear-gradient(145deg,rgba(14,21,40,.81),rgba(5,9,18,.82));display:grid;grid-template-columns:.78fr 1.22fr;align-items:center;padding:48px;position:relative;overflow:hidden}
.armor-stage::before{content:"";position:absolute;width:470px;height:470px;border:1px solid rgba(212,173,81,.07);border-radius:50%;left:-245px;top:38px}.armor-stage::after{content:"ARMOR // EPH 6";position:absolute;right:20px;top:17px;color:rgba(255,255,255,.035);font-size:.56rem;letter-spacing:.2em;font-weight:800}
.armor-symbol{display:grid;place-items:center;position:relative;height:290px}.armor-symbol svg{width:170px;fill:none;stroke:var(--gold-2);stroke-width:2;filter:drop-shadow(0 0 18px rgba(212,173,81,.18));position:relative;z-index:2}.symbol-ring{position:absolute;width:240px;height:240px;border-radius:50%;border:1px solid rgba(212,173,81,.16)}.symbol-ring::after{content:"";position:absolute;inset:14px;border:1px dashed rgba(212,173,81,.12);border-radius:50%;animation:orbitSpin 20s linear infinite}
.detail-label{color:var(--gold);font-size:.61rem;font-weight:800;letter-spacing:.18em}.armor-detail h3{font-family:"Cinzel",serif;font-size:2rem;margin:11px 0 14px}.armor-detail>p:not(.detail-label){color:#aab4c4;line-height:1.8}.armor-application{margin-top:21px;padding:16px 17px;border:1px solid rgba(212,173,81,.11);background:rgba(212,173,81,.025)}.armor-application p{margin:7px 0 0;color:#8d98aa;font-size:.82rem;line-height:1.65}.armor-detail blockquote{margin:20px 0 0;padding:17px 0 17px 20px;border-left:1px solid var(--gold);color:#c9c2aa;font-family:"Cinzel",serif;font-size:.8rem;line-height:1.72}.armor-detail blockquote span{display:block;margin-top:7px;color:#86784d;font-family:"Inter",sans-serif;font-size:.61rem;letter-spacing:.15em;text-transform:uppercase}

/* Daily */
.daily{border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04)}
.daily-card{display:grid;grid-template-columns:1.45fr .55fr;border:1px solid rgba(212,173,81,.18);background:linear-gradient(145deg,rgba(15,23,43,.88),rgba(7,11,22,.88));box-shadow:var(--shadow)}
.daily-main{padding:46px 48px}.daily-meta{display:flex;justify-content:space-between;gap:20px;color:#6f798c;font-size:.57rem;letter-spacing:.17em;font-weight:800}.daily-meta b{color:#9a8955}.daily-label{color:var(--gold);font-size:.59rem;letter-spacing:.2em;font-weight:800;margin:42px 0 10px}.daily-main h3{font-family:"Cinzel",serif;font-size:clamp(2rem,3.7vw,3.8rem);line-height:1.08;margin:0 0 17px;max-width:750px}.daily-text{color:#a6b0c1;line-height:1.82;max-width:730px}.daily-main blockquote{margin:27px 0 0;padding:18px 0 18px 21px;border-left:1px solid var(--gold);font-family:"Cinzel",serif;color:#c9c2aa;line-height:1.7;font-size:.86rem}.daily-main blockquote span{display:block;color:#89794c;font-family:"Inter",sans-serif;margin-top:6px;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase}.daily-practice{margin:24px 0 27px;padding:18px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.018)}.daily-practice p{margin:8px 0 0;color:#96a1b3;font-size:.84rem;line-height:1.68}.daily-complete.is-complete{background:rgba(159,200,159,.12);border-color:rgba(159,200,159,.28);color:#cce3cc;box-shadow:none}.daily-progress{padding:38px 32px;border-left:1px solid rgba(255,255,255,.07);background:rgba(4,7,15,.35);display:flex;flex-direction:column;align-items:center}.progress-head{width:100%;display:flex;justify-content:space-between;font-size:.55rem;letter-spacing:.15em;color:#727d90;font-weight:800}.progress-head strong{color:var(--gold-2)}
.progress-ring{--progress:0deg;width:176px;height:176px;border-radius:50%;margin:38px 0 27px;display:grid;place-content:center;text-align:center;position:relative;background:conic-gradient(var(--gold) var(--progress),rgba(255,255,255,.06) 0)}.progress-ring::before{content:"";position:absolute;inset:7px;border-radius:50%;background:#091020}.progress-ring span,.progress-ring small{position:relative;z-index:2}.progress-ring span{font-family:"Cinzel",serif;font-size:2rem;color:var(--gold-2)}.progress-ring small{margin-top:4px;font-size:.48rem;letter-spacing:.15em;color:#657085}
.week-dots{width:100%;display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.week-dot{height:32px;border:1px solid rgba(255,255,255,.07);display:grid;place-items:center;color:#5f697b;font-size:.56rem;font-weight:800}.week-dot.done{border-color:rgba(212,173,81,.3);background:rgba(212,173,81,.1);color:var(--gold-2)}.week-dot.today{box-shadow:inset 0 -2px var(--gold)}
.daily-progress>p{color:#707b8e;font-size:.72rem;line-height:1.65;text-align:center;margin:24px 0 14px}.text-button{border:0;background:transparent;color:#7d8799;text-decoration:underline;text-underline-offset:4px;font-size:.7rem;cursor:pointer}.text-button:hover{color:var(--gold-2)}

/* Training */
.training-tabs{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.075);margin-bottom:14px}.training-tab{display:flex;align-items:center;gap:15px;min-height:72px;padding:0 22px;border:0;border-right:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.015);color:#8b95a8;cursor:pointer;text-align:left;transition:.25s}.training-tab:last-child{border-right:0}.training-tab span{font-family:"Cinzel",serif;color:#5f697a;font-size:.7rem}.training-tab b{font-family:"Cinzel",serif;font-size:.82rem}.training-tab:hover,.training-tab.active{background:rgba(212,173,81,.055);color:var(--gold-2)}.training-tab.active span{color:var(--gold)}
.level-stage{display:grid;grid-template-columns:.88fr 1.12fr;min-height:500px;border:1px solid rgba(212,173,81,.13);background:linear-gradient(145deg,rgba(13,20,38,.86),rgba(6,10,20,.78))}.level-summary{padding:48px;border-right:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;justify-content:center}.level-kicker{color:var(--gold);font-size:.59rem;font-weight:800;letter-spacing:.18em}.level-summary h3{font-family:"Cinzel",serif;font-size:clamp(2rem,3vw,3.15rem);line-height:1.13;margin:18px 0}.level-summary>p{color:#98a4b6;line-height:1.8;margin:0}.level-metrics{display:flex;gap:22px;flex-wrap:wrap;margin-top:38px;padding-top:22px;border-top:1px solid rgba(255,255,255,.07)}.level-metrics span{color:#677285;font-size:.53rem;letter-spacing:.13em;font-weight:800}.level-metrics b{display:block;color:var(--gold-2);font-family:"Cinzel",serif;font-size:1rem;margin-bottom:4px}
.lesson-list{list-style:none;margin:0;padding:0;display:grid}.lesson-list li{display:grid;grid-template-columns:52px 1fr;gap:17px;align-items:center;padding:22px 27px;border-bottom:1px solid rgba(255,255,255,.065)}.lesson-list li:last-child{border-bottom:0}.lesson-list>li>span{width:40px;height:40px;border:1px solid rgba(212,173,81,.16);display:grid;place-items:center;font-family:"Cinzel",serif;color:#9b8750;font-size:.67rem}.lesson-list strong{display:block;font-family:"Cinzel",serif;font-size:.88rem;line-height:1.3}.lesson-list small{display:block;margin-top:5px;color:#758094;line-height:1.5}

/* Code */
.field-code{border-top:1px solid rgba(255,255,255,.04)}
.code-grid{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid rgba(255,255,255,.07)}
.code-card{min-height:310px;padding:28px 25px;border-right:1px solid rgba(255,255,255,.07);background:rgba(7,11,23,.56);transition:.25s}.code-card:last-child{border-right:0}.code-card:hover{background:rgba(212,173,81,.035)}.code-card>span{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid rgba(212,173,81,.18);color:#9c8750;font-family:"Cinzel",serif;font-size:.69rem;margin-bottom:46px}.code-card h3{font-size:1rem}.code-card p{color:#7f899b;line-height:1.7;font-size:.79rem;margin:0}

/* Resources */
.resources{border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04)}
.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.resource-card{display:grid;grid-template-columns:56px 1fr auto;gap:19px;align-items:center;min-height:150px;padding:24px;border:1px solid rgba(255,255,255,.07);background:rgba(10,15,29,.58);transition:.25s}.resource-card:hover{border-color:rgba(212,173,81,.22);background:rgba(212,173,81,.03);transform:translateY(-2px)}.resource-icon{width:52px;height:52px;border:1px solid rgba(212,173,81,.17);display:grid;place-items:center;font-family:"Cinzel",serif;color:#967f45;font-size:.69rem}.resource-card small{color:#706f65;font-size:.52rem;letter-spacing:.17em;font-weight:800}.resource-card h3{font-size:1.06rem;margin:5px 0 4px}.resource-card p{color:#778295;font-size:.76rem;line-height:1.55;margin:0}.resource-card>b{font-size:1.2rem;color:#6e788b;font-weight:500}

/* FAQ */
.faq-list{border-top:1px solid rgba(255,255,255,.08)}
.faq details{border-bottom:1px solid rgba(255,255,255,.08)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 3px;font-family:"Cinzel",serif;font-size:1rem;color:#dce0e7}.faq summary::-webkit-details-marker{display:none}.faq summary span{width:30px;height:30px;border:1px solid rgba(255,255,255,.1);display:grid;place-items:center;color:var(--gold-2);font-family:"Inter",sans-serif;font-size:1.1rem;transition:transform .25s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{max-width:900px;margin:-3px 0 25px;color:#8f9aac;font-size:.88rem;line-height:1.78;padding-right:50px}

/* CTA/Footer */
.final-cta{min-height:650px;display:grid;place-items:center;text-align:center;overflow:hidden}.cta-content{max-width:930px;display:flex;flex-direction:column;align-items:center;position:relative;z-index:2}.cta-content>img{filter:drop-shadow(0 0 24px rgba(212,173,81,.2));margin-bottom:22px}.centered-eye{justify-content:center}.cta-content h2{font-size:clamp(2.2rem,4.55vw,4.8rem)}.cta-content>p:not(.eyebrow){max-width:700px;color:#929daf;line-height:1.8;margin:0 0 27px}.cta-orbit{position:absolute;width:620px;height:620px;border-radius:50%;border:1px solid rgba(212,173,81,.08);box-shadow:0 0 130px rgba(32,52,101,.09) inset}.cta-orbit::before,.cta-orbit::after{content:"";position:absolute;border-radius:50%;border:1px dashed rgba(212,173,81,.06)}.cta-orbit::before{inset:65px}.cta-orbit::after{inset:135px}
.site-footer{border-top:1px solid rgba(255,255,255,.075);background:#03060d;padding:54px 0 22px}.footer-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:50px}.footer-brand-block>p{color:#697486;font-size:.76rem;line-height:1.6;margin:17px 0 0}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:30px}.footer-links>div{display:grid;align-content:start;gap:10px}.footer-links strong{color:#8d7d50;font-size:.55rem;letter-spacing:.17em}.footer-links a{color:#7d8799;font-size:.73rem}.footer-links a:hover{color:var(--gold-2)}.footer-bottom{grid-column:1/-1;margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#596375;font-size:.52rem;letter-spacing:.13em;font-weight:800}.noscript{position:fixed;bottom:0;left:0;right:0;z-index:999;padding:12px;background:#ead18a;color:#111;text-align:center;font-size:.8rem}

/* Animations */
@keyframes orbitSpin{to{transform:rotate(360deg)}}
@keyframes shine{0%{transform:translateX(-50%)}100%{transform:translateX(70%)}}
@keyframes pulseGlow{0%,100%{opacity:.65;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}

/* Tablet */
@media (max-width:1080px){
  :root{--header:78px}
  .section-shell,.header-inner{width:min(var(--max),calc(100% - 36px))}
  .main-nav{gap:15px;font-size:.72rem}.main-nav .nav-cta{display:none}
  .hero{grid-template-columns:1fr .85fr;gap:28px;padding-top:40px}.hero-visual{height:540px}.crest{width:225px;height:278px}.radar-one{width:360px;height:360px}.radar-two{width:440px;height:440px}.visual-chip{display:none}.hero-console{bottom:5%}
  .discernment-shell{grid-template-columns:330px 1fr}.discernment-stage{padding:40px 34px}
  .armor-layout{grid-template-columns:320px 1fr}.armor-stage{padding:35px;grid-template-columns:.7fr 1.3fr}
  .code-grid{grid-template-columns:repeat(3,1fr)}.code-card{border-bottom:1px solid rgba(255,255,255,.07)}.code-card:nth-child(3){border-right:0}.code-card:nth-child(4),.code-card:nth-child(5){border-bottom:0}
}

@media (max-width:820px){
  :root{--header:76px}
  .section-shell,.header-inner{width:calc(100% - 32px)}
  .menu-toggle{display:block}
  .main-nav{
    position:fixed;
    inset:0;
    top:0;
    z-index:101;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:center;
    gap:0;
    padding:96px 28px 34px;
    background:rgba(4,7,18,.98);
    backdrop-filter:blur(18px);
    transform:translateX(100%);
    opacity:0;
    visibility:hidden;
    transition:transform .3s ease,opacity .3s ease,visibility .3s;
  }
  .main-nav.open{transform:none;opacity:1;visibility:visible}
  .main-nav a{font-family:"Cinzel",serif;font-size:1.15rem;padding:16px 3px;border-bottom:1px solid rgba(255,255,255,.07)}
  .main-nav a:not(.nav-cta)::after{display:none}.main-nav .nav-cta{display:block;margin-top:22px;text-align:center;border:1px solid rgba(212,173,81,.28);padding:15px}
  .hero{min-height:auto;grid-template-columns:1fr;gap:15px;padding:46px 0 82px}.hero::before{display:none}.hero-copy{order:1}.hero-visual{order:2;height:470px;margin-top:10px}.hero h1 span{font-size:clamp(3rem,12vw,5.2rem)}.hero h1 em{font-size:clamp(2.72rem,10.8vw,4.7rem)}.hero-lead{font-size:.96rem;line-height:1.76}.scroll-cue{display:none}.hero-console{bottom:1%}
  .manifesto,.discernment,.armor,.daily,.training,.field-code,.resources,.faq{padding:86px 0}
  .manifesto-grid{grid-template-columns:1fr;gap:24px}.manifesto h2{font-size:clamp(2.4rem,8.5vw,4rem)}
  .foundation-grid{grid-template-columns:1fr}.foundation-card{min-height:300px}
  .discernment-shell{grid-template-columns:1fr}.discernment-options{grid-template-columns:1fr 1fr;border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}.discernment-tab{border-right:1px solid rgba(255,255,255,.06)}.discernment-stage{padding:35px 28px}.response-grid{grid-template-columns:1fr 1fr}
  .armor-layout{grid-template-columns:1fr}.armor-selector{grid-template-columns:repeat(3,1fr)}.armor-item{grid-template-columns:30px 1fr;grid-template-rows:auto auto;padding:13px 12px}.armor-item>span{grid-row:1/3}.armor-item small{grid-column:2}.armor-stage{grid-template-columns:.72fr 1.28fr;min-height:500px}.armor-symbol svg{width:145px}.symbol-ring{width:210px;height:210px}
  .daily-card{grid-template-columns:1fr}.daily-progress{border-left:0;border-top:1px solid rgba(255,255,255,.07)}
  .training-tabs{grid-template-columns:1fr}.training-tab{border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}.training-tab:last-child{border-bottom:0}.level-stage{grid-template-columns:1fr}.level-summary{border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}
  .code-grid{grid-template-columns:1fr 1fr}.code-card,.code-card:nth-child(3),.code-card:nth-child(4),.code-card:nth-child(5){border-right:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07)}.code-card:nth-child(2n){border-right:0}.code-card:last-child{border-bottom:0}.code-card{min-height:250px}.code-card>span{margin-bottom:30px}
  .resource-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}.footer-links{max-width:460px}
}

/* Mobile */
@media (max-width:560px){
  :root{--header:72px}
  .section-shell,.header-inner{width:calc(100% - 28px)}
  .brand-mark{width:37px}.brand-copy strong{font-size:1rem}.brand-copy small{font-size:.49rem;letter-spacing:.24em}
  .hero{padding:36px 0 68px}.hero-kicker{font-size:.54rem;margin-bottom:20px}.eyebrow{font-size:.58rem;letter-spacing:.18em}.eyebrow>span{width:28px}
  .hero h1{margin-top:17px;line-height:.96}.hero h1 span{font-size:clamp(2.72rem,13.7vw,4rem)}.hero h1 em{font-size:clamp(2.48rem,12.4vw,3.7rem);line-height:1.02;margin-top:8px}.hero-lead{font-size:.91rem;line-height:1.73;margin-bottom:24px}
  .hero-actions{display:grid;grid-template-columns:1fr;margin-bottom:24px}.button{width:100%;min-height:54px}.hero-pillars{gap:8px;font-size:.46rem;line-height:1.7;margin-bottom:29px}.hero-reference{font-size:.7rem}
  .hero-visual{height:405px;margin-top:8px}.crest{width:176px;height:218px}.cross-vertical{height:103px;width:8px}.cross-horizontal{width:62px;height:8px}.radar-one{width:285px;height:285px}.radar-two{width:350px;height:350px}.crest-glow{width:210px;height:210px}.hero-console{max-width:100%;overflow:hidden}.hero-console span{padding:8px 7px;font-size:.39rem;letter-spacing:.08em}
  .manifesto,.discernment,.armor,.daily,.training,.field-code,.resources,.faq{padding:72px 0}.section-heading{margin-bottom:35px}.section-heading h2,.manifesto h2,.cta-content h2{font-size:clamp(2rem,9.5vw,3rem);line-height:1.08}.section-heading>p:last-child{font-size:.9rem;line-height:1.75}
  .manifesto-intro{padding-bottom:34px}.manifesto-grid{gap:18px}.manifesto-grid>p{font-size:.9rem;line-height:1.75}.foundation-card{padding:27px;min-height:282px}.foundation-card h3{font-size:1.25rem}
  .discernment-options{grid-template-columns:1fr}.discernment-tab{border-right:0;padding:17px}.discernment-stage{padding:29px 21px}.stage-topline{font-size:.49rem}.discernment-stage h3{font-size:1.85rem}.stage-lead{font-size:.87rem;line-height:1.72}.response-grid{grid-template-columns:1fr}.care-note{font-size:.73rem}
  .armor-selector{grid-template-columns:1fr 1fr;gap:6px}.armor-item{padding:12px 10px}.armor-stage{grid-template-columns:1fr;min-height:auto;padding:31px 22px 34px}.armor-stage::before{left:-320px}.armor-symbol{height:245px}.armor-detail h3{font-size:1.65rem}.armor-detail>p:not(.detail-label){font-size:.88rem;line-height:1.73}
  .daily-main{padding:29px 22px}.daily-meta{font-size:.49rem}.daily-label{margin-top:31px}.daily-main h3{font-size:2rem}.daily-text{font-size:.88rem}.daily-main blockquote{font-size:.78rem}.daily-progress{padding:30px 22px}.progress-ring{width:158px;height:158px;margin:30px 0 24px}
  .training-tab{min-height:62px;padding:0 16px}.level-summary{padding:31px 23px}.level-summary h3{font-size:1.95rem}.level-summary>p{font-size:.87rem}.level-metrics{gap:16px}.lesson-list li{grid-template-columns:42px 1fr;padding:18px 17px;gap:12px}.lesson-list>li>span{width:36px;height:36px}.lesson-list strong{font-size:.8rem}.lesson-list small{font-size:.71rem}
  .code-grid{grid-template-columns:1fr}.code-card,.code-card:nth-child(2n),.code-card:nth-child(3),.code-card:nth-child(4),.code-card:nth-child(5){border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}.code-card:last-child{border-bottom:0}.code-card{min-height:auto;padding:25px}.code-card>span{margin-bottom:24px}.code-card h3{font-size:1rem}
  .resource-card{grid-template-columns:48px 1fr auto;gap:13px;padding:19px 16px}.resource-icon{width:46px;height:46px}.resource-card h3{font-size:.95rem}.resource-card p{font-size:.71rem}
  .faq summary{font-size:.86rem;line-height:1.45;padding:20px 1px}.faq details p{padding-right:0;font-size:.82rem}.faq summary span{flex:0 0 28px}
  .final-cta{min-height:560px}.cta-content>img{width:58px}.cta-orbit{width:430px;height:430px}.cta-content>p:not(.eyebrow){font-size:.88rem}.footer-links{grid-template-columns:1fr 1fr;gap:20px}.footer-bottom{font-size:.46rem;line-height:1.7}
}

@media (max-width:380px){
  .brand-copy small{display:none}.hero h1 span{font-size:2.6rem}.hero h1 em{font-size:2.38rem}.armor-selector{grid-template-columns:1fr}.hero-console span{padding:7px 5px;font-size:.35rem}.footer-links{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}

/* === MIRMC MOBILE HARDENING:START ===
   Ajustes de dispositivo real detectados en Chrome/Android.
   Este bloque se incorpora al final de styles.css mediante GitHub Actions.
=== */

/* =========================================================
   1. BLINDAJE ESTRUCTURAL GLOBAL
   El documento nunca puede medir más que el viewport real.
========================================================= */
html {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overscroll-behavior-x: none;
}

body {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
  overscroll-behavior-x: none;
  position: relative;
}

@supports (overflow: clip) {
  html,
  body {
    overflow-x: clip;
  }
}

main,
.site-header,
.site-footer,
.header-inner,
.section-shell,
.hero,
.hero-copy,
.hero-visual,
.manifesto,
.manifesto-grid,
.foundation-grid,
.discernment,
.discernment-shell,
.discernment-options,
.discernment-stage,
.armor,
.armor-layout,
.armor-selector,
.armor-stage,
.armor-detail,
.daily,
.daily-card,
.daily-main,
.daily-progress,
.training,
.training-tabs,
.level-stage,
.level-summary,
.lesson-list,
.field-code,
.code-grid,
.resources,
.resource-grid,
.faq,
.faq-list,
.final-cta,
.cta-content,
.footer-inner,
.footer-links {
  min-width: 0;
  max-width: 100%;
}

.hero-visual,
.armor-stage,
.final-cta,
.site-header,
.site-footer {
  overflow-x: hidden;
}

@supports (overflow: clip) {
  .hero-visual,
  .armor-stage,
  .final-cta,
  .site-header,
  .site-footer {
    overflow-x: clip;
  }
}

/* Todos los hijos de grids/flex pueden encogerse de verdad */
.hero > *,
.manifesto-grid > *,
.foundation-grid > *,
.discernment-shell > *,
.armor-layout > *,
.daily-card > *,
.level-stage > *,
.code-grid > *,
.resource-grid > *,
.footer-inner > * {
  min-width: 0;
  max-width: 100%;
}

/* Elementos interactivos que antes podían conservar ancho mínimo */
.discernment-tab,
.armor-item,
.training-tab,
.resource-card,
.code-card,
.foundation-card,
.response-grid > div,
.lesson-list li,
.button,
.hero-actions,
.hero-pillars,
.hero-reference,
.section-heading {
  min-width: 0;
  max-width: 100%;
}

/* Decoraciones: visuales sí, ancho desplazable no */
.hero-visual .radar,
.hero-visual .crest-glow {
  left: 50%;
  top: 50%;
  translate: -50% -50%;
}

.hero-visual .crest-shell {
  justify-self: center;
  align-self: center;
  max-width: 100%;
}

.hero-console {
  width: min(100%, 410px);
  max-width: calc(100% - 20px);
  justify-content: stretch;
}

.hero-console span {
  flex: 1 1 0;
  min-width: 0;
  max-width: 100%;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cta-orbit {
  max-width: 100%;
  max-height: 100%;
}

/* Texto: ninguna cadena puede empujar el layout */
h1,
h2,
h3,
p,
blockquote,
li,
a,
button,
strong,
small,
span {
  overflow-wrap: anywhere;
}

/* =========================================================
   2. TABLET / MÓVIL
========================================================= */
@media (max-width: 820px) {
  html,
  body {
    inline-size: 100%;
    max-inline-size: 100vw;
  }

  /* Regla agresiva y deliberada: ningún elemento puede ensanchar el documento */
  body *,
  body *::before,
  body *::after {
    min-width: 0;
    max-inline-size: 100%;
  }

  #particles,
  .ambient-grid {
    width: 100vw !important;
    max-width: 100vw !important;
    left: 0 !important;
    right: auto !important;
  }

  /* Sustituimos widths calculados por viewport + padding interno */
  .section-shell,
  .header-inner {
    width: 100% !important;
    max-width: var(--max) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 18px;
    padding-right: 18px;
  }

  /* Todas las composiciones principales pasan a una sola columna real */
  .hero,
  .manifesto-grid,
  .foundation-grid,
  .discernment-shell,
  .armor-layout,
  .daily-card,
  .level-stage,
  .resource-grid,
  .footer-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
  }

  .hero {
    overflow: hidden;
    gap: 8px;
    padding-bottom: 60px;
  }

  .hero-copy,
  .hero-reference,
  .hero-pillars {
    width: 100%;
  }

  .hero-visual {
    width: 100%;
    max-width: 100%;
    height: 390px;
    margin-top: 0;
    contain: layout paint;
    justify-self: stretch;
  }

  .hero-console {
    bottom: 10px;
  }

  .discernment-shell,
  .armor-layout,
  .daily-card,
  .level-stage {
    width: 100%;
  }

  .discernment-options {
    border-right: 0;
  }

  .daily-progress {
    border-left: 0;
  }

  .level-summary {
    border-right: 0;
  }

  /* Cualquier decoración absoluta grande se recorta dentro de su sección */
  .hero-visual,
  .armor-stage,
  .final-cta,
  .cta-content {
    isolation: isolate;
  }

  .cta-orbit {
    width: min(560px, 92vw) !important;
    height: min(560px, 92vw) !important;
  }

  .manifesto,
  .discernment,
  .armor,
  .daily,
  .training,
  .field-code,
  .resources,
  .faq {
    padding-top: 68px;
    padding-bottom: 68px;
  }

  .section-heading {
    margin-bottom: 32px;
  }
}

/* =========================================================
   3. TELÉFONOS
========================================================= */
@media (max-width: 560px) {
  .section-shell,
  .header-inner {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 14px;
    padding-right: 14px;
  }

  .hero {
    padding-top: 30px;
    padding-bottom: 48px;
  }

  .hero-visual {
    height: 330px;
    margin-top: 0;
  }

  .hero-kicker {
    max-width: 100%;
    white-space: normal;
    line-height: 1.4;
  }

  .hero h1 span {
    font-size: clamp(2.45rem, 12.2vw, 3.55rem);
  }

  .hero h1 em {
    font-size: clamp(2.22rem, 11.1vw, 3.25rem);
  }

  .hero-lead {
    width: 100%;
    max-width: 100%;
  }

  .hero-actions {
    width: 100%;
    gap: 9px;
  }

  .hero-actions .button {
    width: 100%;
  }

  .hero-pillars {
    margin-bottom: 24px;
    gap: 7px;
  }

  .radar-one {
    width: 258px;
    height: 258px;
  }

  .radar-two {
    width: 306px;
    height: 306px;
  }

  .crest {
    width: 158px;
    height: 196px;
  }

  .crest-glow {
    width: 182px;
    height: 182px;
  }

  .cross-vertical {
    height: 92px;
  }

  .cross-horizontal {
    width: 56px;
  }

  .hero-console {
    width: calc(100% - 16px);
    max-width: calc(100% - 16px);
    left: 50%;
    transform: translateX(-50%);
  }

  .hero-console span {
    white-space: normal;
    padding: 8px 3px;
    font-size: .35rem;
    letter-spacing: .045em;
  }

  .visual-chip,
  .scroll-cue,
  .hero::before {
    display: none !important;
  }

  .manifesto,
  .discernment,
  .armor,
  .daily,
  .training,
  .field-code,
  .resources,
  .faq {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .manifesto-intro {
    padding-bottom: 28px;
  }

  .section-heading {
    margin-bottom: 27px;
  }

  .section-heading h2,
  .manifesto h2,
  .cta-content h2 {
    font-size: clamp(1.9rem, 8.6vw, 2.68rem);
    line-height: 1.08;
  }

  .manifesto-grid > p,
  .section-heading > p:last-child {
    width: 100%;
    max-width: 100%;
  }

  .foundation-card {
    min-height: 0;
    padding: 24px;
  }

  .line-icon {
    margin-bottom: 24px;
  }

  .foundation-card p {
    line-height: 1.68;
  }

  /* Sala de discernimiento */
  .discernment-options {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
  }

  .discernment-tab {
    width: 100%;
    border-right: 0;
  }

  .discernment-stage {
    width: 100%;
    padding: 24px 18px;
  }

  .discernment-stage h3 {
    font-size: clamp(1.68rem, 7.8vw, 2rem);
  }

  .response-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
  }

  .response-grid > div {
    padding: 17px;
  }

  /* Armadura */
  .armor-selector {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .armor-item {
    width: 100%;
  }

  .armor-stage {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
    padding: 24px 18px 28px;
  }

  .armor-symbol {
    width: 100%;
    height: 205px;
  }

  .armor-symbol svg {
    width: 128px;
  }

  .symbol-ring {
    width: 184px;
    height: 184px;
  }

  .armor-detail,
  .armor-application,
  .armor-detail blockquote {
    width: 100%;
    max-width: 100%;
  }

  /* Guardia */
  .daily-main,
  .daily-progress {
    width: 100%;
    padding: 24px 18px;
  }

  .progress-ring {
    width: 142px;
    height: 142px;
    margin: 24px 0 20px;
  }

  .week-dots {
    width: 100%;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 4px;
  }

  .week-dot {
    min-width: 0;
    width: 100%;
    height: 30px;
  }

  /* Ruta MIRMC */
  .training-tabs {
    width: 100%;
    grid-template-columns: minmax(0, 1fr) !important;
    margin-bottom: 10px;
  }

  .training-tab {
    width: 100%;
    min-height: 58px;
    border-right: 0;
  }

  .level-summary {
    width: 100%;
    padding: 25px 18px;
  }

  .level-summary h3 {
    font-size: clamp(1.68rem, 8vw, 2.1rem);
    line-height: 1.08;
  }

  .lesson-list {
    width: 100%;
  }

  .lesson-list li {
    width: 100%;
    grid-template-columns: 40px minmax(0, 1fr);
    padding: 15px 14px;
  }

  /* Código de campo y biblioteca */
  .code-grid,
  .resource-grid {
    width: 100%;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .code-card,
  .resource-card {
    width: 100%;
  }

  /* Cierre */
  .final-cta {
    width: 100%;
    min-height: 500px;
  }

  .cta-content {
    width: 100%;
    padding-inline: 4px;
  }

  .cta-orbit {
    width: min(420px, 88vw) !important;
    height: min(420px, 88vw) !important;
  }

  .footer-links {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 380px) {
  .hero-visual {
    height: 306px;
  }

  .radar-two {
    width: 286px;
    height: 286px;
  }

  .radar-one {
    width: 238px;
    height: 238px;
  }

  .hero-console {
    display: none;
  }

  .armor-selector,
  .footer-links {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* === MIRMC MOBILE HARDENING:END === */
