/* allpaplus.css — página Allpa+ (Landing/allpaplus.html)
   Sección 1: header/footer copiados tal cual del CSS embebido de
   index.html (mismas clases, mismo comportamiento de scroll y menú
   móvil). Sección 2: sistema visual nuevo de esta página. */

:root{
  --green:#3CFB9F;
  --green-dark:#183A2A;
  --mist:#DFF5E8;
  --blue-gray:#E4EEF0;
  --lilac:#F0E8F0;
  --sand:#F5EDE0;
  --mint:#EAF4EE;
  --bg:#FCFCFA;
  --ink:#16231D;
  --ink-soft:#66736C;
}

*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
a{text-decoration:none}
img{max-width:100%;display:block}

/* ============================================================
   HEADER — copiado de index.html, sin cambios de comportamiento
   ============================================================ */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:200;
  transition:background .3s cubic-bezier(0.22,1,0.36,1),backdrop-filter .3s cubic-bezier(0.22,1,0.36,1),-webkit-backdrop-filter .3s cubic-bezier(0.22,1,0.36,1),border-color .3s cubic-bezier(0.22,1,0.36,1),box-shadow .3s cubic-bezier(0.22,1,0.36,1);
  background:rgba(252,252,250,0);
  backdrop-filter:blur(0px);
  -webkit-backdrop-filter:blur(0px);
  border-bottom:1px solid rgba(24,58,42,0);
  box-shadow:none;
}
.site-header.header-scrolled{
  background:rgba(252,252,250,.80);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(24,58,42,0.08);
  box-shadow:0 8px 28px rgba(24,58,42,0.08);
}
.header-logo-text{
  display:inline-block;
  transition:max-width .3s cubic-bezier(0.22,1,0.36,1),opacity .3s cubic-bezier(0.22,1,0.36,1),margin-left .3s cubic-bezier(0.22,1,0.36,1);
}
.header-scrolled .header-logo-text{max-width:0!important;opacity:0!important;margin-left:0!important}
.header-logo{transition:transform .3s cubic-bezier(0.22,1,0.36,1)}
@media(max-width:430px){
  .header-scrolled .header-logo{
    position:absolute;left:50%;top:50%;
    transform:translate(-50%,-50%);
  }
}
.mobile-menu-btn{display:none}
.mobile-menu-panel{display:none}
@media(max-width:430px){
  .header-nav-desktop,.header-cta-desktop{display:none!important}
  .mobile-menu-btn{
    display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;
    width:44px;height:44px;border-radius:12px;
    background:rgba(252,252,250,.75);
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    border:1px solid rgba(24,58,42,.15);
    cursor:pointer;padding:0;flex:none;
    transition:background .3s cubic-bezier(0.22,1,0.36,1);
  }
  .mobile-menu-btn span{display:block;width:20px;height:2px;border-radius:2px;background:#183A2A;transition:transform .2s cubic-bezier(0.22,1,0.36,1),opacity .2s ease}
  .mobile-menu-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .mobile-menu-btn.open span:nth-child(2){opacity:0}
  .mobile-menu-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .mobile-menu-panel{
    display:flex;flex-direction:column;gap:4px;
    position:absolute;top:calc(100% + 8px);left:12px;right:12px;
    background:#FCFCFA;
    border:1px solid rgba(24,58,42,0.08);
    border-radius:22px;
    box-shadow:0 24px 60px rgba(24,58,42,0.18);
    padding:14px 22px 22px;
    opacity:0;transform:translateY(-10px);visibility:hidden;pointer-events:none;
    transition:opacity .3s cubic-bezier(0.22,1,0.36,1),transform .3s cubic-bezier(0.22,1,0.36,1),visibility 0s linear .3s;
  }
  .mobile-menu-panel.open{
    opacity:1;transform:translateY(0);visibility:visible;pointer-events:auto;
    transition:opacity .3s cubic-bezier(0.22,1,0.36,1),transform .3s cubic-bezier(0.22,1,0.36,1),visibility 0s linear 0s;
  }
  .mobile-menu-panel>a{
    font:600 17px Inter;color:#16231D;text-decoration:none;padding:12px 4px;border-radius:10px;
    opacity:0;transform:translateY(-6px);
    transition:opacity .28s cubic-bezier(0.22,1,0.36,1),transform .28s cubic-bezier(0.22,1,0.36,1);
  }
  .mobile-menu-panel>a:focus-visible{outline:2px solid #3CFB9F;outline-offset:2px}
  .mobile-menu-panel.open>a{opacity:1;transform:translateY(0)}
  .mobile-menu-panel>a:nth-child(1){transition-delay:0ms}
  .mobile-menu-panel>a:nth-child(2){transition-delay:40ms}
  .mobile-menu-panel>a:nth-child(3){transition-delay:80ms}
  .mobile-menu-panel>a:nth-child(4){transition-delay:120ms}
  .mobile-menu-panel>a:nth-child(5){transition-delay:160ms}
  .mobile-menu-panel>a:nth-child(6){transition-delay:200ms}
  .mobile-menu-panel>a:nth-child(7){transition-delay:240ms}
  .mobile-menu-panel>a:nth-child(8){transition-delay:280ms}
  .mobile-menu-panel>a:nth-child(9){transition-delay:320ms}
  .mobile-menu-cta-wa,.mobile-menu-cta-primary{
    display:flex!important;align-items:center;justify-content:center;gap:10px;
    margin-top:6px;padding:15px 20px!important;border-radius:14px;font:700 16px Inter!important;
  }
  .mobile-menu-cta-wa{background:#183A2A;color:#FCFCFA!important}
  .mobile-menu-cta-primary{background:#3CFB9F;color:#16231D!important}
}

/* ============================================================
   FOOTER — copiado de index.html, mismo responsive
   ============================================================ */
@media(max-width:820px){
  .footer-grid{grid-template-columns:1fr 1fr!important;row-gap:36px!important}
}
@media(max-width:560px){
  .footer-grid{grid-template-columns:1fr!important;row-gap:32px!important;margin-bottom:32px!important}
  .footer-links-col>a{min-height:44px;display:flex;align-items:center}
  .footer-bottom-bar{flex-direction:column!important;align-items:flex-start!important;gap:14px!important}
  .footer-bottom-links>a{min-height:44px;display:flex;align-items:center}
}

/* ============================================================
   ALLPA+ — sistema de espaciado y contenedor
   ============================================================ */
.ap-main{max-width:1200px;margin:0 auto;padding:0 32px}
.ap-block{margin-top:72px}
.ap-block:first-of-type{margin-top:0}
h2.ap-title{font:500 26px Inter;letter-spacing:-.01em;color:var(--ink);margin:0 0 20px}
p.ap-p{font:400 17px/1.5 Inter;color:var(--ink-soft);max-width:60ch}

.ap-reveal{opacity:0;transform:translateY(20px);transition:opacity .45s cubic-bezier(0.22,1,0.36,1),transform .45s cubic-bezier(0.22,1,0.36,1)}
.ap-reveal.ap-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .ap-reveal,.ap-line-inner,.ap-cta-final-btn svg,.ap-access-arrow svg{transition:opacity .01s linear!important;transform:none!important}
}

.ap-icon-box{
  width:36px;height:36px;border-radius:10px;background:var(--mint);
  display:flex;align-items:center;justify-content:center;flex:none;
}
.ap-icon-box svg{width:19px;height:19px;stroke:var(--green-dark);stroke-width:1.5;fill:none}
.ap-icon-box.white{background:#fff}

/* --- 1. Hero --- */
.ap-hero{text-align:center;padding:80px 0 56px}
.ap-eyebrow{
  display:inline-block;font:500 12px Inter;letter-spacing:.14em;color:var(--green-dark);
  background:var(--mint);padding:8px 16px;border-radius:100px;margin-bottom:20px;
}
.ap-hero h1{
  font:500 52px/1.15 Inter;letter-spacing:-.02em;color:var(--ink);
  margin:0 0 16px;
}
.ap-line{display:block;overflow:hidden}
.ap-line-inner{display:inline-block;transform:translateY(24px);opacity:0;transition:transform .5s cubic-bezier(0.22,1,0.36,1),opacity .5s cubic-bezier(0.22,1,0.36,1)}
.ap-line-inner.accent{color:var(--green)}
.ap-hero.ap-in .ap-line-inner{transform:none;opacity:1}
.ap-hero p{font:400 17px/1.5 Inter;color:var(--ink-soft);max-width:560px;margin:0 auto 30px;opacity:0;transition:opacity .5s cubic-bezier(0.22,1,0.36,1) .2s}
.ap-hero.ap-in p{opacity:1}
.ap-social-proof{display:flex;align-items:center;justify-content:center;gap:12px;opacity:0;transition:opacity .5s cubic-bezier(0.22,1,0.36,1) .2s}
.ap-hero.ap-in .ap-social-proof{opacity:1}
.ap-avatar-stack{display:flex}
.ap-avatar-stack img{
  width:24px;height:24px;border-radius:50%;object-fit:cover;
  border:1.5px solid var(--bg);margin-left:-8px;background:#ddd;
  transform:scale(.8);opacity:0;transition:transform .35s cubic-bezier(0.22,1,0.36,1),opacity .35s cubic-bezier(0.22,1,0.36,1);
}
.ap-avatar-stack img:first-child{margin-left:0}
.ap-hero.ap-in .ap-avatar-stack img{transform:none;opacity:1}
.ap-hero.ap-in .ap-avatar-stack img:nth-child(1){transition-delay:0ms}
.ap-hero.ap-in .ap-avatar-stack img:nth-child(2){transition-delay:60ms}
.ap-hero.ap-in .ap-avatar-stack img:nth-child(3){transition-delay:120ms}
.ap-social-proof span{font:400 14px Inter;color:var(--ink-soft)}

/* --- 2. Dos accesos --- */
.ap-access-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ap-access-card{
  position:relative;height:380px;border-radius:20px;overflow:hidden;
  display:flex;flex-direction:column;justify-content:space-between;
  padding:20px;
}
.ap-access-photo-wrap{position:absolute;inset:0;overflow:hidden;transform:scale(1.06);transition:transform .9s cubic-bezier(0.22,1,0.36,1)}
.ap-access-card.ap-in .ap-access-photo-wrap{transform:scale(1)}
.ap-access-card:hover .ap-access-photo-wrap{transform:scale(1.04)}
.ap-access-photo{width:100%;height:130%;object-fit:cover;position:absolute;top:-15%;left:0;will-change:transform}
.ap-access-overlay{position:absolute;inset:0;background:rgba(24,58,42,.55);z-index:0}
.ap-access-overlay-bottom{position:absolute;left:0;right:0;bottom:0;height:34%;background:rgba(24,58,42,.35);z-index:0}
.ap-decor-circle{
  position:absolute;top:-40px;right:-30px;width:150px;height:150px;
  border-radius:50%;background:rgba(255,255,255,.07);z-index:0;
}
.ap-access-card>*:not(.ap-access-photo-wrap):not(.ap-access-overlay):not(.ap-access-overlay-bottom):not(.ap-decor-circle){position:relative;z-index:1}
.ap-access-top{display:flex;justify-content:space-between;align-items:flex-start}
.ap-chip-glass{
  display:inline-flex;align-items:center;gap:7px;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);
  border-radius:16px;padding:7px 12px;font:500 13px Inter;color:#fff;
}
.ap-chip-glass svg{width:14px;height:14px;stroke:#fff;stroke-width:1.7;fill:none;flex:none}
.ap-benefit-badge{
  width:28px;height:28px;border-radius:9px;background:#fff;
  display:flex;align-items:center;justify-content:center;flex:none;
}
.ap-benefit-badge svg{width:16px;height:16px;stroke:var(--green-dark);stroke-width:1.6;fill:none}
.ap-access-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.ap-access-label{font:500 17px Inter;color:#fff;margin:0 0 2px}
.ap-access-count{font:500 56px Inter;color:#fff;letter-spacing:-.02em;line-height:1}
.ap-access-arrow{
  width:48px;height:48px;border-radius:50%;background:var(--green);
  display:flex;align-items:center;justify-content:center;flex:none;
  transition:transform .35s cubic-bezier(0.22,1,0.36,1);
}
.ap-access-arrow svg{width:22px;height:22px;stroke:var(--green-dark);stroke-width:2;fill:none;transition:transform .35s cubic-bezier(0.22,1,0.36,1)}
.ap-access-card:hover .ap-access-arrow svg{transform:translateX(3px)}
.ap-allied-label{display:flex;align-items:center;gap:8px}
.ap-allied-avatars{display:flex}
.ap-allied-avatars img{
  width:20px;height:20px;border-radius:50%;object-fit:cover;
  border:1.5px solid rgba(255,255,255,.7);margin-left:-7px;
}
.ap-allied-avatars img:first-child{margin-left:0}
.ap-allied-text{font:400 13px Inter;color:#fff}

/* --- 3. Franja Lessin --- */
.ap-lessin{
  background:var(--lilac);border-radius:20px;padding:28px 32px;min-height:200px;
  display:flex;align-items:center;gap:28px;
}
.ap-lessin-logo{
  width:112px;height:112px;border-radius:16px;background:#fff;flex:none;
  display:flex;align-items:center;justify-content:center;
  font:500 12px Inter;color:var(--ink-soft);text-align:center;
}
.ap-lessin-mid{flex:1 1 auto;min-width:0}
.ap-lessin-chip{
  display:inline-block;background:var(--green);color:var(--green-dark);
  font:500 11px Inter;letter-spacing:.02em;padding:5px 11px;border-radius:100px;margin-bottom:12px;
  transform:scale(.9);opacity:0;transition:transform .35s cubic-bezier(0.22,1,0.36,1),opacity .35s cubic-bezier(0.22,1,0.36,1);
}
.ap-lessin.ap-in .ap-lessin-chip{transform:none;opacity:1}
.ap-lessin-title{font:500 24px Inter;color:var(--green-dark);margin:0 0 4px}
.ap-lessin-sub{font:400 14px Inter;color:var(--ink-soft);margin:0}
.ap-lessin-right{display:flex;flex-direction:column;align-items:center;gap:12px;flex:none}
.ap-lessin-stat{text-align:center}
.ap-lessin-stat b{display:block;font:500 44px Inter;color:var(--green-dark);letter-spacing:-.02em}
.ap-lessin-stat span{font:400 12px Inter;color:var(--ink-soft)}
.ap-lessin-btn{
  display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;
  background:var(--green);color:var(--green-dark);font:500 14px Inter;
  padding:11px 22px;border-radius:12px;flex:none;
  transition:transform .15s cubic-bezier(0.22,1,0.36,1),filter .15s cubic-bezier(0.22,1,0.36,1);
}
.ap-lessin-btn:hover{filter:brightness(.94)}
.ap-lessin-btn:active{transform:scale(.98)}

/* --- 4. Categorías --- */
.ap-cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ap-cat-card{
  display:grid;grid-template-columns:44px 1fr auto;
  grid-template-areas:"icon . counter" "text text text";
  align-items:center;row-gap:14px;min-height:132px;
  background:#fff;border:.5px solid rgba(24,58,42,.12);border-radius:14px;padding:20px;
}
.ap-cat-icon{grid-area:icon;width:44px;height:44px;border-radius:12px}
.ap-cat-icon svg{width:22px;height:22px}
.ap-cat-count{
  grid-area:counter;font:500 30px Inter;color:var(--green-dark);letter-spacing:-.01em;
  transform:scale(.9);opacity:0;transition:transform .35s cubic-bezier(0.22,1,0.36,1),opacity .35s cubic-bezier(0.22,1,0.36,1);
}
.ap-cat-card.ap-in .ap-cat-count,.ap-cat-card.ap-in .ap-cat-icon{transform:none;opacity:1}
.ap-cat-card .ap-cat-icon{transform:scale(.9);opacity:0;transition:transform .35s cubic-bezier(0.22,1,0.36,1),opacity .35s cubic-bezier(0.22,1,0.36,1)}
.ap-cat-text{grid-area:text;align-self:start;min-width:0}
.ap-cat-name{font:500 17px Inter;color:var(--ink);margin:0 0 3px}
.ap-cat-desc{font:400 13px Inter;color:var(--ink-soft);margin:0}

/* --- 5. Cómo usar --- */
.ap-howto{background:var(--mint);border-radius:20px;padding:28px 32px}
.ap-howto-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px;position:relative}
.ap-howto-connector{position:absolute;top:38px;left:0;width:100%;height:2px;overflow:visible;pointer-events:none}
.ap-howto-connector line{stroke:#C9DCD2;stroke-width:1.5;transition:stroke-dashoffset .8s cubic-bezier(0.22,1,0.36,1)}
@media(prefers-reduced-motion:reduce){.ap-howto-connector line{transition:none!important}}
.ap-howto-step{
  position:relative;background:#fff;border-radius:14px;padding:18px;
  opacity:0;transform:translateY(16px);transition:opacity .4s cubic-bezier(0.22,1,0.36,1),transform .4s cubic-bezier(0.22,1,0.36,1);
}
.ap-howto.ap-in .ap-howto-step{opacity:1;transform:none}
.ap-howto.ap-in .ap-howto-step:nth-child(2){transition-delay:0ms}
.ap-howto.ap-in .ap-howto-step:nth-child(3){transition-delay:140ms}
.ap-howto.ap-in .ap-howto-step:nth-child(4){transition-delay:800ms}
.ap-howto-step .ap-icon-box{margin-bottom:14px}
.ap-howto-step-num{font:400 11px Inter;color:var(--ink-soft);margin:0 0 3px}
.ap-howto-step-title{font:500 16px Inter;color:var(--green-dark);margin:0 0 4px}
.ap-howto-step-desc{font:400 13px/1.5 Inter;color:var(--ink-soft);margin:0}

/* --- 6. Marcas: marquesina continua --- */
.ap-brands-wrap{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);
}
.ap-brands-track{display:flex;gap:14px;width:max-content;animation:ap-marquee 40s linear infinite}
.ap-brands-wrap:hover .ap-brands-track{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){
  .ap-brands-track{animation:none;justify-content:center;width:100%}
  .ap-brands-track .ap-brand-dup{display:none}
}
@keyframes ap-marquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
.ap-brand-slot{
  width:140px;height:72px;border-radius:12px;background:#fff;border:.5px solid rgba(24,58,42,.12);
  display:flex;align-items:center;justify-content:center;flex:none;
  font:500 12px Inter;color:var(--ink-soft);text-align:center;
}

/* --- 7. Teaser --- */
.ap-teaser{background:var(--sand);border-radius:20px;min-height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}
.ap-teaser h3{font:500 22px Inter;color:var(--ink);margin:0 0 6px}
.ap-teaser p{font:400 14px Inter;color:var(--ink-soft);margin:0}

/* --- 8. Vista previa panel --- */
.ap-panel-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.ap-panel-head h2{margin:0}
.ap-preview-chip{
  display:inline-block;background:var(--lilac);color:var(--green-dark);
  font:500 11px Inter;padding:5px 12px;border-radius:100px;
}
.ap-panel-note{font:400 13px Inter;color:var(--ink-soft);margin:0 0 20px}
.ap-panel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ap-panel-card{
  display:flex;flex-direction:column;
  background:#fff;border:.5px solid rgba(24,58,42,.1);border-radius:14px;
  padding:18px;opacity:.85;min-height:180px;
}
.ap-panel-card-title{font:600 14px Inter;color:var(--ink);margin:10px 0 2px}
.ap-panel-card-sub{font:400 11px Inter;color:var(--ink-soft);margin:0 0 12px}
.ap-panel-graph{margin-top:auto;height:40px;display:flex;align-items:flex-end}
.ap-panel-footnote{font:400 11px Inter;color:var(--ink-soft);margin:20px 0 0}

/* mini gráficos */
.ap-track-segments{display:flex;gap:3px;width:100%}
.ap-track-segments span{
  flex:1;height:5px;border-radius:3px;background:#DDE3DF;
  transition:background .3s ease;
}
.ap-track-segments span.on{background:var(--green)}

.ap-bar-chart{display:flex;align-items:flex-end;gap:4px;height:26px;width:100%}
.ap-bar-chart span{
  flex:1;border-radius:2px;height:0;transition:height .5s cubic-bezier(0.22,1,0.36,1);
}

.ap-sparkline{width:100%}
.ap-sparkline path.ap-spark-line{
  fill:none;stroke:var(--green);stroke-width:2.5;stroke-linecap:round;
}
.ap-sparkline circle{fill:var(--green-dark);opacity:0;transition:opacity .2s ease}

.ap-ring-wrap{display:flex;align-items:center;gap:10px}
.ap-ring-wrap svg{transform:rotate(-90deg)}
.ap-ring-pct{font:500 13px Inter;color:var(--green-dark)}

/* --- 9. CTA final --- */
.ap-cta-section{margin-bottom:56px}
.ap-cta-final{
  position:relative;overflow:hidden;border-radius:20px;min-height:220px;
  display:flex;align-items:center;background:#2E4A3B;
}
.ap-cta-photo-wrap{
  position:absolute;inset:0;overflow:hidden;
  transform:scale(1.05);transition:transform .9s cubic-bezier(0.22,1,0.36,1);
}
.ap-cta-final.ap-in .ap-cta-photo-wrap{transform:scale(1)}
.ap-cta-photo{
  position:absolute;inset:-15% 0;
  /* background-image:url('Allpaplus/Avatars/cta.png'); */
  background-size:cover;background-position:center;
  will-change:transform;
}
.ap-cta-veil{position:absolute;inset:0;background:rgba(24,58,42,.62)}
.ap-cta-decor-circle{
  position:absolute;left:-60px;bottom:-60px;width:220px;height:220px;
  border-radius:50%;background:rgba(60,251,159,.10);
}
.ap-cta-final-inner{
  position:relative;z-index:1;max-width:900px;margin:0 auto;width:100%;padding:36px 40px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.ap-cta-final h2{font:500 30px Inter;color:#fff;margin:0 0 6px}
.ap-cta-final p{font:400 15px/1.5 Inter;color:rgba(255,255,255,.82);margin:0}
.ap-cta-final-btn{
  display:inline-flex;align-items:center;gap:8px;background:#3CFB9F;color:#183A2A;
  font:500 15px Inter;padding:13px 24px;border-radius:12px;flex:none;white-space:nowrap;
}
.ap-cta-final-btn svg{transition:transform .35s cubic-bezier(0.22,1,0.36,1)}
.ap-cta-final-btn:hover svg{transform:translateX(4px)}
@media(prefers-reduced-motion:reduce){
  .ap-cta-photo-wrap{transition:none!important;transform:none!important}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1023px){
  .ap-main{padding:0 24px}
  .ap-block{margin-top:56px}
  .ap-access-card{height:300px}
  .ap-cat-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:767px){
  .ap-main{padding:0 20px}
  .ap-block{margin-top:44px}
  .ap-hero{padding:56px 0 40px}
  .ap-hero h1{font-size:30px}
  .ap-access-grid{grid-template-columns:1fr;gap:12px}
  .ap-access-card{height:240px;padding:20px}
  .ap-access-count{font-size:44px}

  .ap-lessin{
    flex-direction:column;align-items:flex-start;padding:20px;gap:0;min-height:0;
  }
  .ap-lessin-logo{width:72px;height:72px;margin-bottom:16px}
  .ap-lessin-mid{margin-bottom:18px}
  .ap-lessin-right{
    flex-direction:row;align-items:center;justify-content:space-between;width:100%;gap:12px;
  }
  .ap-lessin-stat{text-align:left;display:flex;align-items:baseline;gap:6px}
  .ap-lessin-stat b{font-size:28px;display:inline}
  .ap-lessin-btn{width:auto}

  .ap-cat-grid{grid-template-columns:1fr;gap:12px}
  .ap-cat-card{
    grid-template-columns:40px 1fr auto;
    grid-template-areas:"icon text counter";
    row-gap:0;column-gap:12px;
    min-height:68px;height:68px;padding:0 16px;
  }
  .ap-cat-icon{width:40px;height:40px}
  .ap-cat-icon svg{width:20px;height:20px}
  .ap-cat-count{font-size:26px}
  .ap-cat-name{font-size:16px}
  .ap-cat-desc{font-size:12px}

  .ap-howto{padding:20px}
  .ap-howto-grid{grid-template-columns:1fr;gap:12px;margin-top:16px}
  .ap-howto-connector{display:none}

  .ap-brand-slot{width:120px;height:64px}

  .ap-panel-grid{grid-template-columns:1fr 1fr}
  .ap-panel-card{padding:16px;min-height:160px}

  .ap-cta-section{margin-bottom:44px}
  .ap-cta-final{padding:24px 20px;min-height:200px;border-radius:18px}
  .ap-cta-final-inner{padding:0;flex-direction:column;align-items:flex-start;text-align:left;gap:18px}
  .ap-cta-final h2{font-size:24px}
  .ap-cta-final p{font-size:14px}
  .ap-cta-final-btn{width:100%;justify-content:center}

  body{font-size:16px}
  .ap-hero p,.ap-access-label,.ap-lessin-title,.ap-howto-step-title{font-size:16px}
}
