/* =========================================================
   ALIS ACADEMY — FULL CSS V3
========================================================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

:root{

    --bg:#f6f1ea;

    --surface:#fbf8f4;

    --surface-soft:#f3ede6;

    --text:#171717;

    --text-soft:rgba(23,23,23,.72);

    --text-muted:rgba(23,23,23,.48);

    --line:rgba(0,0,0,.06);

    --orange:#f47c20;

    --violet:#7a5cff;

    --shadow:
        0 10px 40px rgba(0,0,0,.04);

    --radius-xl:42px;

    --radius-lg:32px;

    --radius-md:24px;

}

html[data-theme="dark"]{

    --bg:#111214;

    --surface:#18191b;

    --surface-soft:#202226;

    --text:#f2ece4;

    --text-soft:rgba(242,236,228,.72);

    --text-muted:rgba(242,236,228,.48);

    --line:rgba(255,255,255,.08);

}

body{

    font-family:
        Inter,
        system-ui,
        sans-serif;

    background:var(--bg);

    color:var(--text);

    overflow-x:hidden;

    transition:
        background .35s ease,
        color .35s ease;

}

img{

    max-width:100%;

    display:block;

}

a{

    text-decoration:none;

    color:inherit;

}

/* =========================================================
   HEADER
========================================================= */

.site-header{

    position:sticky;

    top:0;

    z-index:1000;

    display:grid;

    grid-template-columns:auto 1fr auto;

    align-items:center;

    gap:30px;

    padding:18px 34px;

    background:rgba(17,17,17,.96);

    backdrop-filter:blur(20px);

}

.brand{

    display:flex;

    align-items:center;

    gap:10px;

    color:#fff;

    font-size:28px;

    font-weight:800;

    letter-spacing:-.04em;

}

.brand img{

    width:42px;

    height:42px;

    object-fit:contain;

}

.site-nav{

    display:flex;

    justify-content:center;

    gap:22px;

}

.site-nav a{

    position:relative;

    color:rgba(255,255,255,.72);

    font-size:13px;

    font-weight:800;

    transition:.2s ease;

}

.site-nav a:hover,
.site-nav a.is-current{

    color:#fff;

}

.site-nav a.is-current::after{

    content:"";

    position:absolute;

    left:0;

    right:0;

    bottom:-8px;

    height:2px;

    background:var(--orange);

    border-radius:999px;

}

.header-actions{

    display:flex;

    align-items:center;

    gap:12px;

}

.theme-toggle{

    border:none;

    background:rgba(255,255,255,.08);

    color:#fff;

    border-radius:999px;

    padding:10px 16px;

    font-size:11px;

    font-weight:800;

    cursor:pointer;

}

.header-cta{

    border:1px solid rgba(244,124,32,.45);

    color:var(--orange);

    border-radius:999px;

    padding:11px 16px;

    font-size:11px;

    font-weight:900;

    letter-spacing:.08em;

    text-transform:uppercase;

}

/* =========================================================
   HERO
========================================================= */

.academy-hero{

    width:min(1280px, calc(100% - 44px));

    margin:auto;

    padding:48px 0 34px;

}

.academy-breadcrumb{

    display:flex;

    gap:8px;

    margin-bottom:28px;

    color:var(--text-muted);

    font-size:12px;

    font-weight:800;

}

.academy-breadcrumb strong{

    color:var(--orange);

}

.academy-hero-grid{

    display:grid;

    grid-template-columns:1fr 1.12fr;

    gap:56px;

    align-items:center;

}

.academy-hero-copy{
position:relative;
z-index:2;
max-width:620px;
padding:54px 54px 64px;

}

.academy-kicker{

    color:var(--orange);

    font-size:12px;

    font-weight:900;

    letter-spacing:.18em;

    text-transform:uppercase;

    margin-bottom:16px;

}

.academy-hero h1{

    font-size:clamp(58px, 7vw, 104px);

    line-height:.88;

    letter-spacing:-.08em;

}

.academy-hero-copy > p:not(.academy-kicker){

    max-width:540px;

    margin-top:24px;

    color:var(--text-soft);

    font-size:22px;

    line-height:1.4;

}

.academy-hero-actions{

    display:flex;

    flex-wrap:wrap;

    gap:12px;

    margin-top:34px;

}

.hero-image img,

.academy-hero-visual{
    position:absolute;
    inset:0;
    z-index:0;
    overflow:hidden;
    border-radius:42px;
}

.academy-hero-visual img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.academy-hero-grid::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:
linear-gradient(
90deg,
rgba(248,243,236,.96) 0%,
rgba(248,243,236,.88) 28%,
rgba(248,243,236,.55) 46%,
rgba(248,243,236,.10) 72%,
rgba(248,243,236,0) 100%
);
    pointer-events:none;
}

html[data-theme="dark"] .academy-hero-grid::after{
    background:
      linear-gradient(
        90deg,
        rgba(15,16,20,.96) 0%,
        rgba(15,16,20,.88) 30%,
        rgba(15,16,20,.58) 52%,
        rgba(15,16,20,.24) 76%,
        rgba(15,16,20,.08) 100%
      );
}

/* =========================================================
   BUTTONS
========================================================= */

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    min-height:46px;

    padding:0 18px;

    border-radius:999px;

    font-size:11px;

    font-weight:900;

    letter-spacing:.08em;

    text-transform:uppercase;

    transition:.2s ease;

}

.btn:hover{

    transform:translateY(-1px);

}

.btn.primary{

    background:var(--orange);

    color:#111;

}

.btn.secondary{

    border:1px solid var(--line);

    color:var(--text);

    background:rgba(255,255,255,.45);

}

/* =========================================================
   MAIN LAYOUT
========================================================= */

.academy-shell{

    width:min(1280px, calc(100% - 44px));

    margin:auto;

    display:grid;

    grid-template-columns:300px 1fr;

    gap:24px;

    padding-bottom:70px;

}

/* =========================================================
   SIDEBAR
========================================================= */

.program-sidebar{

    position:sticky;

    top:110px;

    height:fit-content;

    padding:28px;

    border-radius:34px;

    background:rgba(255,255,255,.45);

    border:1px solid var(--line);

    backdrop-filter:blur(18px);

}

.program-sidebar h2{

    margin-bottom:18px;

    font-size:16px;

    letter-spacing:-.02em;

}

.program-list{

    display:flex;

    flex-direction:column;

    gap:8px;

}

.program-item{

    display:grid;

    grid-template-columns:34px 1fr;

    gap:12px;

    align-items:center;

    min-height:62px;

    padding:10px 12px;

    border-radius:18px;

    transition:.2s ease;

}

.program-item:hover{

    background:rgba(255,255,255,.48);

}

.program-item.is-active{

    background:#fff;

    box-shadow:var(--shadow);

}

.program-icon{

    width:34px;

    height:34px;

    display:grid;

    place-items:center;

    border-radius:12px;

    background:rgba(122,92,255,.1);

    color:var(--violet);

}

.program-item strong{

    display:block;

    font-size:14px;

    font-weight:850;

}

.program-item small{

    display:block;

    margin-top:2px;

    color:var(--text-muted);

    font-size:11px;

    font-weight:800;

    text-transform:uppercase;

}

.advisor-card{

    margin-top:18px;

    padding:22px;

    border-radius:24px;

    background:#fff;

}

.advisor-card h3{

    font-size:20px;

    margin-bottom:10px;

}

.advisor-card p{

    color:var(--text-soft);

    font-size:14px;

    line-height:1.45;

}

.advisor-card a{

    display:inline-flex;

    margin-top:14px;

    color:var(--violet);

    font-weight:900;

}

/* =========================================================
   CONTENT
========================================================= */

.program-detail{

    background:rgba(255,255,255,.52);

    border-radius:42px;

    padding:42px;

    border:1px solid var(--line);

    backdrop-filter:blur(20px);

}

.program-head{
    position:relative;
    min-height:420px;
    display:grid;
    grid-template-columns:1fr;
    align-items:start;
    overflow:hidden;
    border-radius:34px;
    padding:42px;
}

.program-category{

    color:var(--violet);

    font-size:12px;

    font-weight:900;

    letter-spacing:.18em;

    text-transform:uppercase;

    margin-bottom:12px;

}

.program-head h2{

    font-size:clamp(52px, 6vw, 88px);

    line-height:.9;

    letter-spacing:-.08em;

}

#programSummary{

    max-width:580px;

    margin-top:22px;

    color:var(--text-soft);

    font-size:19px;

    line-height:1.42;

}

.program-image{
    position:absolute;
    inset:0;
    margin:0;
    z-index:0;
    border-radius:34px;
    overflow:hidden;
    opacity:.74;
}

.program-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:34px;
}

.program-head::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:
      linear-gradient(
        90deg,
        rgba(251,248,244,.96) 0%,
        rgba(251,248,244,.88) 34%,
        rgba(251,248,244,.54) 58%,
        rgba(251,248,244,.16) 100%
      );
    pointer-events:none;
}

html[data-theme="dark"] .program-head::after{
    background:
      linear-gradient(
        90deg,
        rgba(18,19,22,.96) 0%,
        rgba(18,19,22,.88) 34%,
        rgba(18,19,22,.58) 62%,
        rgba(18,19,22,.22) 100%
      );
}

.program-head-copy{
    position:relative;
    z-index:2;
    max-width:620px;
}

/* =========================================================
   FACTS
========================================================= */

.program-facts{

    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:10px;

    margin-top:26px;

}

.fact{

    display:grid;

    grid-template-columns:30px 1fr;

    gap:10px;

    align-items:center;

    padding:10px;

    border-radius:16px;

    background:rgba(255,255,255,.65);

    border:1px solid var(--line);

}

.fact-icon{

    width:30px;

    height:30px;

    display:grid;

    place-items:center;

    border-radius:10px;

    background:rgba(244,124,32,.12);

    color:var(--orange);

}

.fact strong{

    display:block;

    font-size:10px;

    font-weight:900;

    text-transform:uppercase;

}

.fact small{

    display:block;

    margin-top:3px;

    font-size:12px;

    color:var(--text-soft);

}

/* =========================================================
   BLOCKS
========================================================= */

.program-body-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:16px;

    margin-top:26px;

}

.program-block,
.module-section,
.deliverables-card,
.program-cta{

    background:rgba(255,255,255,.42);

    border:1px solid var(--line);

    border-radius:28px;

    padding:26px;

}

.program-block h3,
.module-section h3,
.deliverables-card h3,
.program-cta h3{

    font-size:26px;

    line-height:1.02;

    letter-spacing:-.04em;

}

.check-list,
.audience-list,
.deliverables-card ul{

    list-style:none;

    display:grid;

    gap:10px;

    margin-top:18px;

}

.check-list li,
.audience-list li,
.deliverables-card li{

    display:grid;

    grid-template-columns:20px 1fr;

    gap:10px;

    color:var(--text-soft);

    font-size:14px;

    line-height:1.45;

}

/* =========================================================
   MODULES
========================================================= */

.program-lower-grid{

    display:grid;

    grid-template-columns:1fr 300px;

    gap:16px;

    margin-top:16px;

}

.module-list{

    margin-top:18px;

    display:grid;

    gap:10px;

    max-height:420px;

    overflow-y:auto;

    padding-right:4px;

}

.module-list::-webkit-scrollbar{

    width:6px;

}

.module-list::-webkit-scrollbar-thumb{

    background:rgba(122,92,255,.2);

    border-radius:999px;

}

.module-item{

    background:#f7f3ef;

    border:1px solid rgba(0,0,0,.04);

    border-radius:20px;

    overflow:hidden;

}

.module-item summary{

    display:grid;

    grid-template-columns:38px 1fr;

    gap:14px;

    padding:16px;

    cursor:pointer;

    list-style:none;

}

.module-item summary::-webkit-details-marker{

    display:none;

}

.module-item summary > span{

    width:38px;

    height:38px;

    display:grid;

    place-items:center;

    border-radius:12px;

    background:rgba(122,92,255,.12);

    color:var(--violet);

    font-size:11px;

    font-weight:900;

}

.module-item strong{

    display:block;

    font-size:16px;

    letter-spacing:-.03em;

}

.module-item small{

    display:block;

    margin-top:5px;

    color:var(--text-soft);

    font-size:13px;

    line-height:1.38;

}

/* =========================================================
   CTA
========================================================= */

.program-cta{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:24px;

    margin-top:16px;

}

.program-cta p{

    margin-top:10px;

    color:var(--text-soft);

    font-size:14px;

    line-height:1.5;

}

.program-cta-actions{

    display:flex;

    gap:10px;

    flex-wrap:wrap;

}

/* =========================================================
   FOOTER
========================================================= */

.academy-return{

    text-align:center;

    padding-bottom:40px;

}

.academy-footer{

    display:flex;

    justify-content:space-between;

    gap:20px;

    padding:24px 32px 34px;

    border-top:1px solid var(--line);

    color:var(--text-muted);

    font-size:12px;

}

/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1080px){

    .academy-hero-grid,
    .academy-shell,
    .program-head,
    .program-lower-grid{

        grid-template-columns:1fr;

    }

    .program-sidebar{

        position:relative;

        top:auto;

    }

    .program-facts{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:760px){

    .site-header{

        grid-template-columns:auto auto;

        padding:16px 20px;

    }

    .site-nav{

        display:none;

    }

    .header-cta{

        display:none;

    }

    .academy-hero,
    .academy-shell{

        width:min(100% - 28px, 1280px);

    }

    .academy-hero{

        padding-top:28px;

    }

.academy-hero-grid{
    position:relative;
    min-height:420px;
    display:grid;
    grid-template-columns:1fr;
    align-items:center;
    overflow:hidden;
    border-radius:42px;
    isolation:isolate;
}

    .academy-hero h1{

        font-size:clamp(52px, 16vw, 76px);

    }

    .academy-hero-copy > p:not(.academy-kicker){

        font-size:17px;

    }

    .program-sidebar{

        padding:18px;

    }

    .program-list{

        flex-direction:row;

        overflow-x:auto;

        padding-bottom:4px;

    }

    .program-item{

        min-width:220px;

    }

    .program-detail{

        padding:22px;

    }

    .program-facts,
    .program-body-grid{

        grid-template-columns:1fr;

    }

    .program-cta{

        flex-direction:column;

        align-items:flex-start;

    }

    .academy-footer{

        flex-direction:column;

    }

}

/* ===== MÓDULOS EJECUTIVOS — REFINAMIENTO ===== */

.module-section {
  padding: 26px;
}

.module-section h3 {
  margin-bottom: 6px;
}

.module-list {
  max-height: 520px;
  overflow-y: auto;
  display: grid;
  gap: 12px;
  padding-right: 6px;
}

.executive-module {
  background: rgba(255, 255, 255, 0.62);
  border: 1px solid rgba(20, 20, 20, 0.07);
  border-radius: 22px;
  overflow: hidden;
}

.executive-module summary {
  display: grid;
  grid-template-columns: 44px 1fr 28px;
  gap: 14px;
  align-items: start;
  padding: 18px 20px;
  cursor: pointer;
  list-style: none;
}

.executive-module summary::-webkit-details-marker {
  display: none;
}

.module-number {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: rgba(123, 92, 255, 0.12);
  color: #7a5cff;
  font-size: 12px;
  font-weight: 900;
}

.module-summary-copy strong {
  display: block;
  font-size: 17px;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.module-summary-copy small {
  display: block;
  margin-top: 7px;
  color: rgba(23, 23, 23, 0.62);
  font-size: 13px;
  line-height: 1.45;
}

.module-toggle {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(244, 124, 32, 0.12);
  color: #f47c20;
  font-weight: 900;
}

.executive-module[open] .module-toggle {
  transform: rotate(45deg);
}

.module-expanded {
  display: grid;
  gap: 18px;
  padding: 0 20px 20px 78px;
}

.module-expanded p {
  margin: 0;
  color: rgba(23, 23, 23, 0.7);
  font-size: 14px;
  line-height: 1.5;
}

.module-label {
  margin-bottom: 6px !important;
  color: #f47c20 !important;
  font-size: 11px !important;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.module-expanded ul {
  margin: 0;
  padding-left: 18px;
  color: rgba(23, 23, 23, 0.7);
  font-size: 14px;
  line-height: 1.55;
}

html[data-theme="dark"] .executive-module {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.09);
}

html[data-theme="dark"] .module-summary-copy small,
html[data-theme="dark"] .module-expanded p,
html[data-theme="dark"] .module-expanded ul {
  color: rgba(238, 231, 220, 0.68);
}

@media (max-width: 760px) {
  .executive-module summary {
    grid-template-columns: 40px 1fr 26px;
    padding: 16px;
  }

  .module-number {
    width: 40px;
    height: 40px;
  }

  .module-expanded {
    padding: 0 16px 18px 16px;
  }
}

/* ===== LANGUAGE TOGGLE ===== */

.lang-toggle{

    display:flex;

    align-items:center;

    gap:4px;

    padding:4px;

    border-radius:999px;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.08);

}

.lang-btn{

    border:none;

    background:transparent;

    color:rgba(255,255,255,.72);

    min-width:38px;

    height:30px;

    border-radius:999px;

    font-size:11px;

    font-weight:900;

    letter-spacing:.08em;

    cursor:pointer;

    transition:.2s ease;

}

.lang-btn.is-active{

    background:#fff;

    color:#111;

}

@media(max-width:760px){

    .lang-toggle{

        display:none;

    }

}
/* =========================================
   DARK MODE — VISUAL FIX
========================================= */

html[data-theme="dark"] body{

    background:#0f1014;

    color:#f3efe7;

}

html[data-theme="dark"] .academy-shell,
html[data-theme="dark"] .program-detail,
html[data-theme="dark"] .program-sidebar,
html[data-theme="dark"] .program-block,
html[data-theme="dark"] .deliverables-card,
html[data-theme="dark"] .module-section,
html[data-theme="dark"] .advisor-card,
html[data-theme="dark"] .program-cta{

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.06);

    backdrop-filter:blur(14px);

    box-shadow:none;

}

html[data-theme="dark"] .program-item{

    border-color:rgba(255,255,255,.04);

}

html[data-theme="dark"] .program-item.is-active{

    background:rgba(255,255,255,.09);

    border-color:rgba(255,255,255,.12);

}

html[data-theme="dark"] .module-item,
html[data-theme="dark"] .executive-module{

    background:rgba(255,255,255,.05);

    border-color:rgba(255,255,255,.06);

}

html[data-theme="dark"] .fact{

    background:rgba(255,255,255,.05);

    border-color:rgba(255,255,255,.08);

}

html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] strong{

    color:#f8f5ef;

}

html[data-theme="dark"] p,
html[data-theme="dark"] li,
html[data-theme="dark"] small{

    color:rgba(255,245,235,.72);

}

html[data-theme="dark"] .academy-hero{

    background:
      radial-gradient(circle at top left,
      rgba(123,92,255,.12),
      transparent 40%),

      linear-gradient(
        180deg,
        #111217 0%,
        #0c0d11 100%
      );

}

html[data-theme="dark"] .btn.secondary{

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.12);

    color:#f3efe7;

}

html[data-theme="dark"] .lang-toggle{

    background:rgba(255,255,255,.06);

    border-color:rgba(255,255,255,.08);

}

html[data-theme="dark"] .lang-btn.is-active{

    background:#f47c20;

    color:#fff;

}

/* =========================================
   HERO SUPERIOR — FIX FINAL DESKTOP
========================================= */

.academy-hero-grid{
    position:relative !important;
    min-height:420px !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    align-items:center !important;
    overflow:hidden !important;
    border-radius:42px !important;
    isolation:isolate !important;
    gap:0 !important;
}

.academy-hero-visual{
    position:absolute !important;
    inset:0 !important;
    z-index:0 !important;
    overflow:hidden !important;
    border-radius:42px !important;
}

.academy-hero-visual img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
}

.academy-hero-copy{
    position:relative !important;
    z-index:2 !important;
    max-width:620px !important;
    padding:54px 54px 64px !important;
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
}

.academy-hero-grid::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:
      linear-gradient(
        90deg,
        rgba(248,243,236,.96) 0%,
        rgba(248,243,236,.88) 28%,
        rgba(248,243,236,.56) 48%,
        rgba(248,243,236,.12) 74%,
        rgba(248,243,236,0) 100%
      );
    pointer-events:none;
}

html[data-theme="dark"] .academy-hero-grid::after{
    background:
      linear-gradient(
        90deg,
        rgba(15,16,20,.96) 0%,
        rgba(15,16,20,.88) 30%,
        rgba(15,16,20,.58) 52%,
        rgba(15,16,20,.22) 76%,
        rgba(15,16,20,.04) 100%
      );
}

/* =========================================
   HEADER CLARO — COLORACIÓN FINAL
========================================= */

.site-header{
    background:rgba(248,243,236,.92) !important;
    color:#171717 !important;
    border-bottom:1px solid rgba(0,0,0,.06) !important;
    backdrop-filter:blur(18px) !important;
}

.brand{
    color:#171717 !important;
}

.site-nav a{
    color:rgba(23,23,23,.72) !important;
}

.site-nav a:hover,
.site-nav a.is-current{
    color:#171717 !important;
}

.site-nav a.is-current::after{
    background:#f47c20 !important;
}

.header-cta{
    background:#f47c20 !important;
    color:#fff !important;
    border-color:#f47c20 !important;
    box-shadow:0 10px 28px rgba(244,124,32,.22) !important;
}

.theme-toggle{
    background:#111217 !important;
    color:#fff !important;
    border:1px solid rgba(0,0,0,.08) !important;
}

.lang-toggle{
    background:#fff !important;
    border:1px solid rgba(0,0,0,.06) !important;
}

.lang-btn{
    color:rgba(23,23,23,.62) !important;
}

.lang-btn.is-active{
    background:#f47c20 !important;
    color:#fff !important;
}

/* =========================================================
   BROCHURE DRAWER — ALIS ACADEMY ADDITIVE PATCH
   No modifica reglas de imágenes ni heroes.
========================================================= */

body.brochure-open{
    overflow:hidden;
}

.floating-brochures-tab{
    position:fixed;
    right:0;
    top:48%;
    z-index:1080;
    transform:translateY(-50%);
    padding:16px 11px;
    writing-mode:vertical-rl;
    text-orientation:mixed;
    border:1px solid rgba(244,124,32,.45);
    border-right:0;
    border-radius:18px 0 0 18px;
    background:rgba(17,18,23,.86);
    backdrop-filter:blur(16px);
    color:#fff;
    font-size:11px;
    font-weight:950;
    letter-spacing:.14em;
    text-transform:uppercase;
    cursor:pointer;
    box-shadow:-12px 18px 50px rgba(0,0,0,.16);
}

.floating-brochures-tab:hover{
    background:#f47c20;
    color:#fff;
}

.brochure-backdrop{
    position:fixed;
    inset:0;
    z-index:1090;
    background:rgba(17,18,23,.50);
    backdrop-filter:blur(4px);
    opacity:0;
    pointer-events:none;
    transition:opacity .26s ease;
}

.brochure-backdrop.is-open{
    opacity:1;
    pointer-events:auto;
}

.academy-brochure-drawer{
    position:fixed;
    top:0;
    right:0;
    z-index:1100;
    width:min(540px, 94vw);
    height:100vh;
    padding:30px;
    transform:translateX(104%);
    transition:transform .32s ease;
    overflow-y:auto;
    background:
      radial-gradient(circle at 86% 0%, rgba(244,124,32,.16), transparent 32%),
      linear-gradient(180deg, var(--surface) 0%, var(--surface-soft) 100%);
    color:var(--text);
    box-shadow:-24px 0 80px rgba(0,0,0,.28);
}

.academy-brochure-drawer.is-open{
    transform:translateX(0);
}

.brochure-drawer-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
    margin-bottom:22px;
}

.brochure-eyebrow,
.brochure-category{
    color:var(--orange);
    font-size:11px;
    font-weight:950;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.brochure-drawer-head h2{
    margin-top:8px;
    font-size:44px;
    line-height:.9;
    letter-spacing:-.07em;
}

.brochure-close{
    width:42px;
    height:42px;
    border:0;
    border-radius:999px;
    background:rgba(0,0,0,.08);
    color:var(--text);
    font-size:28px;
    line-height:1;
    cursor:pointer;
}

.brochure-index{
    display:grid;
    gap:8px;
    margin-bottom:22px;
}

.brochure-index button{
    display:grid;
    grid-template-columns:34px 1fr;
    gap:12px;
    align-items:center;
    width:100%;
    padding:12px;
    border:1px solid var(--line);
    border-radius:18px;
    background:rgba(255,255,255,.46);
    color:var(--text);
    text-align:left;
    cursor:pointer;
}

.brochure-index button.is-active,
.brochure-index button:hover{
    background:#fff;
    box-shadow:var(--shadow);
}

.brochure-index button > span{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:rgba(122,92,255,.12);
    color:var(--violet);
    font-size:11px;
    font-weight:950;
}

.brochure-index strong{
    display:block;
    font-size:14px;
    letter-spacing:-.02em;
}

.brochure-index small{
    display:block;
    margin-top:3px;
    color:var(--text-muted);
    font-size:10px;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.brochure-panel{
    padding:24px;
    border:1px solid var(--line);
    border-radius:28px;
    background:rgba(255,255,255,.52);
}

.brochure-panel h3{
    margin-top:8px;
    font-size:38px;
    line-height:.92;
    letter-spacing:-.06em;
}

#brochureSummary{
    margin-top:14px;
    color:var(--text-soft);
    font-size:15px;
    line-height:1.5;
}

.brochure-facts{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:18px;
}

.brochure-facts div{
    padding:12px;
    border-radius:16px;
    background:rgba(255,255,255,.64);
    border:1px solid var(--line);
}

.brochure-facts strong{
    display:block;
    color:var(--orange);
    font-size:10px;
    font-weight:950;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.brochure-facts span{
    display:block;
    margin-top:4px;
    color:var(--text-soft);
    font-size:13px;
    font-weight:750;
}

.brochure-section{
    margin-top:20px;
    padding-top:18px;
    border-top:1px solid var(--line);
}

.brochure-section h4{
    margin:0 0 12px;
    font-size:18px;
    letter-spacing:-.03em;
}

.brochure-section ul{
    list-style:none;
    display:grid;
    gap:9px;
    margin:0;
    padding:0;
}

.brochure-section li{
    display:grid;
    grid-template-columns:18px 1fr;
    gap:9px;
    color:var(--text-soft);
    font-size:14px;
    line-height:1.42;
}

.brochure-section li span{
    color:var(--violet);
}

.brochure-diagnostic{
    width:100%;
    margin-top:24px;
}

html[data-theme="dark"] .academy-brochure-drawer{
    background:
      radial-gradient(circle at 86% 0%, rgba(244,124,32,.16), transparent 32%),
      linear-gradient(180deg, #18191b 0%, #111214 100%);
}

html[data-theme="dark"] .brochure-close,
html[data-theme="dark"] .brochure-index button,
html[data-theme="dark"] .brochure-panel,
html[data-theme="dark"] .brochure-facts div{
    background:rgba(255,255,255,.06);
    border-color:rgba(255,255,255,.08);
}

html[data-theme="dark"] .brochure-index button.is-active,
html[data-theme="dark"] .brochure-index button:hover{
    background:rgba(255,255,255,.10);
}

@media(max-width:760px){
    .floating-brochures-tab{
        top:auto;
        bottom:22px;
        right:18px;
        writing-mode:horizontal-tb;
        border:1px solid rgba(244,124,32,.45);
        border-radius:999px;
        padding:12px 16px;
    }

    .academy-brochure-drawer{
        width:100vw;
        padding:22px;
    }

    .brochure-facts{
        grid-template-columns:1fr;
    }
}
