
@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700;800&display=swap');
:root{--ap:#616ded;--ink:#111827;--txt:#4a4a4a;--bg:#fafafa;--line:#e5e7eb;--max:1420px}
body.home .wp-block-post-title{display:none}
body.home main,body.home .wp-block-post-content{max-width:none!important;width:100%!important;padding:0!important}
.ampm-v5,.ampm-v5 *{box-sizing:border-box;font-family:Geist,sans-serif!important}
.ampm-v5{margin:0!important;max-width:none!important;width:100%}
.ampm-wrap{width:min(var(--max),calc(100% - 64px));margin:auto}
.ampm-v5 h1,.ampm-v5 h2,.ampm-v5 h3,.ampm-v5 p{margin-top:0}
.ampm-v5 h2{font-size:32px;line-height:1.15;color:var(--ink);font-weight:600}
.ampm-v5 h3{font-size:18px;color:var(--ink);margin-bottom:7px}
.ampm-v5 p{color:var(--txt);line-height:1.45}
.ampm-pill{display:inline-block;width:auto;background:#a5adf733;border:1px solid #a5adf74d;border-radius:999px;padding:9px 16px;color:var(--ap)!important;font-size:14px!important}
.ampm-lead{text-align:center;font-size:18px}
.ampm-card{border:1px solid var(--line);border-radius:20px;background:#fff;padding:24px}
.ampm-hero{min-height:635px;padding:60px 0;background:var(--twill-hero-bg-mobile) center/cover no-repeat}
.ampm-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px}
.ampm-hero-copy{max-width:700px}
.ampm-hero h1{font-size:54px;line-height:1.02;font-weight:800;color:var(--ink);margin:24px 0 24px}
.ampm-hero h1 mark{background:none;color:var(--ap)}
.ampm-hero p:not(.ampm-pill){font-size:15px;line-height:24px;max-width:660px}
.ampm-hero .wp-block-buttons{gap:16px;margin-top:24px}
.ampm-hero .wp-block-button__link{border-radius:8px;padding:12px 30px;font-size:18px;text-decoration:none}
.ampm-hero .is-style-fill .wp-block-button__link{background:var(--ap);color:#fff}
.ampm-hero .is-style-outline .wp-block-button__link{background:#fff;color:var(--ap);border:1px solid var(--ap)}
.ampm-hero-art img{width:100%;display:block}
.ampm-about,.ampm-categories,.ampm-benefits,.ampm-how{padding:78px 0;background:#fff}
.ampm-about{text-align:center}
.ampm-about>div>h2,.ampm-categories h2,.ampm-benefits h2,.ampm-how h2,.ampm-faq h2,.ampm-contact h2{text-align:center;margin:18px 0 10px}
.ampm-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center;max-width:1180px;margin:40px auto 0}
.ampm-about-grid figure img{width:100%;border-radius:20px}
.ampm-about-card{text-align:left;box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}
.ampm-categories{text-align:center}
.ampm-categories-grid{display:grid;grid-template-columns:40% 60%;gap:28px;align-items:stretch;max-width:1220px;margin:42px auto 0}
.ampm-categories-photo,.ampm-categories-photo img{height:100%}
.ampm-categories-photo img{width:100%;object-fit:cover;border-radius:20px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.ampm-category-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ampm-category-item{display:grid;grid-template-columns:122px 1fr;gap:16px;align-items:center;min-height:162px;border:1px solid var(--line);border-radius:20px;padding:20px;background:#fff;text-align:left}
.ampm-category-item figure{margin:0}
.ampm-category-item figure img{width:100%;border-radius:14px;display:block}
.ampm-category-item h3{margin:0 0 6px;font-size:18px}
.ampm-category-item p{margin:0;font-size:14px;line-height:20px}
.ampm-category-item-wide{grid-column:1/-1}
.ampm-security-wrap{padding:78px 0 37px;background:#fafafa}
.ampm-security{min-height:370px;background:#408df4;border-radius:20px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;padding:54px 60px;color:#fff;overflow:hidden}
.ampm-security h2{color:#fff;font-size:52px;font-weight:800;line-height:1.02}
.ampm-security p{color:#fff;font-size:16px;line-height:1.25}
.ampm-security figure{margin:0;text-align:center}.ampm-security figure img{max-width:330px;width:100%}
.ampm-three{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1180px;margin:36px auto 0}
.ampm-benefits{text-align:center}
.ampm-benefits .ampm-card{text-align:left;min-height:180px}
.ampm-step img{height:68px;width:auto;margin-bottom:14px}
.ampm-faq{padding:72px 0;background:#fafafa}
.ampm-faq details{max-width:960px;margin:auto;border-bottom:1px solid var(--line);padding:18px 0}
.ampm-faq summary{cursor:pointer;font-weight:600;color:var(--ink)}
.ampm-faq details p{margin:12px 0 0}
.ampm-contact{padding:72px 0;background:#f4f5ff}
.ampm-contact-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:60px;max-width:1050px;margin:40px auto 0}
.ampm-form{display:grid;gap:14px}.ampm-form>div{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ampm-form label{font-size:14px;color:var(--ink)}.ampm-form input,.ampm-form textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}
.ampm-form button{width:max-content;padding:12px 34px;border:0;border-radius:8px;background:var(--ap);color:#fff}
.editor-styles-wrapper .ampm-v5{max-width:none!important}.editor-styles-wrapper .ampm-wrap{width:min(var(--max),calc(100% - 64px))}
@media(max-width:1024px){
 .ampm-wrap{width:min(100% - 40px,var(--max))}
 .ampm-hero-grid,.ampm-about-grid,.ampm-categories-grid,.ampm-security,.ampm-contact-grid{grid-template-columns:1fr}
 .ampm-category-list,.ampm-three{grid-template-columns:1fr 1fr}
 .ampm-category-item-wide{grid-column:auto}
 .ampm-hero-art{max-width:650px;margin:auto}
}
@media(max-width:767px){
 .ampm-wrap{width:calc(100% - 32px)}
 .ampm-hero{min-height:auto;padding:40px 0}.ampm-hero h1{font-size:34px}
 .ampm-category-list,.ampm-three{grid-template-columns:1fr}
 .ampm-category-item{grid-template-columns:92px 1fr}
 .ampm-security{padding:35px 24px}.ampm-security h2{font-size:34px}
 .ampm-form>div{grid-template-columns:1fr}
}


/* v6: valid Gutenberg nested groups */
.ampm-category-copy{margin:0!important}
.ampm-category-copy h3,.ampm-category-copy p{margin-left:0;margin-right:0}
.ampm-security-copy{margin:0!important}
.ampm-contact-info,.ampm-contact-form-wrap{margin:0!important}
.ampm-step-icon{margin:0 0 14px!important}


/* ==========================================================================
   v7 visual refinement
   ========================================================================== */

:root{
  --max:1500px;
}

/* Global section rhythm */
.ampm-v5 h2{
  font-size:34px;
}
.ampm-v5 h3{
  font-size:19px;
}
.ampm-lead{
  font-size:19px;
  line-height:1.5;
}
.ampm-about,
.ampm-categories,
.ampm-benefits,
.ampm-how{
  padding-top:92px;
  padding-bottom:92px;
}

/* HERO: wider, taller, closer to source */
.ampm-hero{
  min-height:680px;
  padding-top:74px;
  padding-bottom:74px;
}
.ampm-hero-grid{
  grid-template-columns:1.02fr .98fr;
  gap:72px;
}
.ampm-hero-copy{
  max-width:760px;
}
.ampm-hero h1{
  font-size:58px;
  max-width:720px;
  margin-top:28px;
  margin-bottom:26px;
}
.ampm-hero .ampm-hero-lead{
  font-size:16px;
  line-height:26px;
  max-width:720px;
}
.ampm-hero-art{
  margin:0;
}
.ampm-hero-art img{
  width:112%;
  max-width:none;
  transform:translateX(3%);
}
.ampm-hero .wp-block-buttons{
  margin-top:28px;
}
.ampm-hero .wp-block-button__link{
  min-width:168px;
}

/* ABOUT */
.ampm-about-grid{
  grid-template-columns:.95fr 1.05fr;
  max-width:1230px;
  gap:48px;
}
.ampm-about-grid figure{
  margin:0;
}
.ampm-about-grid figure img{
  aspect-ratio:1.68/1;
  object-fit:cover;
}
.ampm-about-card{
  padding:34px 40px;
}
.ampm-about-card h3{
  font-size:30px;
}
.ampm-about-card p{
  font-size:16px;
  line-height:1.5;
}

/* CATEGORIES */
.ampm-categories-grid{
  grid-template-columns:37% 63%;
  max-width:1260px;
  gap:34px;
}
.ampm-categories-photo img{
  min-height:520px;
  max-height:560px;
}
.ampm-category-list{
  gap:14px;
}
.ampm-category-item{
  grid-template-columns:108px 1fr;
  gap:18px;
  min-height:156px;
  padding:18px 20px;
}
.ampm-category-item figure img{
  width:96px;
  height:96px;
  object-fit:contain;
}
.ampm-category-item h3{
  font-size:18px;
}
.ampm-category-item p{
  font-size:14px;
  line-height:1.45;
}

/* SECURITY */
.ampm-security-wrap{
  padding-top:88px;
  padding-bottom:58px;
}
.ampm-security{
  min-height:410px;
  grid-template-columns:1.18fr .82fr;
  padding:64px 72px;
}
.ampm-security h2{
  font-size:56px;
  max-width:780px;
  margin-bottom:24px;
}
.ampm-security p{
  font-size:17px;
  line-height:1.42;
  max-width:760px;
}
.ampm-security figure img{
  max-width:390px;
}

/* BENEFITS */
.ampm-benefits .ampm-three{
  gap:26px;
  margin-top:42px;
}
.ampm-benefits .ampm-card{
  min-height:220px;
  padding:32px;
}
.ampm-benefits .ampm-card h3{
  margin-bottom:12px;
}
.ampm-benefits .ampm-card p{
  font-size:16px;
  line-height:1.5;
}

/* HOW */
.ampm-how .ampm-three{
  gap:26px;
  margin-top:42px;
}
.ampm-how .ampm-step{
  min-height:250px;
  padding:30px;
}
.ampm-how .ampm-step-icon img{
  height:74px;
  width:auto;
  object-fit:contain;
}
.ampm-how .ampm-step h3{
  margin-bottom:10px;
}
.ampm-how .ampm-step p{
  font-size:16px;
  line-height:1.5;
}

/* FAQ: remove "WordPress rectangle" look */
.ampm-faq{
  padding-top:90px;
  padding-bottom:90px;
}
.ampm-faq .ampm-wrap{
  max-width:1080px;
}
.ampm-faq h2{
  margin-bottom:34px;
}
.ampm-faq details{
  border:0;
  border-bottom:1px solid var(--line);
  padding:20px 4px;
}
.ampm-faq details:first-of-type{
  border-top:1px solid var(--line);
}
.ampm-faq summary{
  font-size:17px;
  line-height:1.4;
  list-style:none;
  position:relative;
  padding-right:34px;
}
.ampm-faq summary::-webkit-details-marker{
  display:none;
}
.ampm-faq summary::after{
  content:"+";
  position:absolute;
  right:4px;
  top:50%;
  transform:translateY(-50%);
  color:var(--ap);
  font-size:24px;
  font-weight:400;
}
.ampm-faq details[open] summary::after{
  content:"−";
}
.ampm-faq details p{
  font-size:16px;
  line-height:1.55;
  max-width:880px;
  padding-right:38px;
}

/* CONTACT */
.ampm-contact{
  padding-top:92px;
  padding-bottom:100px;
}
.ampm-contact .ampm-wrap{
  max-width:1180px;
}
.ampm-contact h2{
  font-size:38px;
}
.ampm-contact-grid{
  grid-template-columns:.6fr 1.4fr;
  gap:80px;
  max-width:1120px;
  margin-top:48px;
}
.ampm-contact-info{
  padding-top:10px;
}
.ampm-contact-info h3{
  font-size:18px;
  margin-bottom:6px;
}
.ampm-contact-info p{
  font-size:16px;
  margin-bottom:26px;
}
.ampm-form{
  gap:18px;
}
.ampm-form>div{
  gap:18px;
}
.ampm-form input,
.ampm-form textarea{
  padding:14px 16px;
  font-size:15px;
}
.ampm-form textarea{
  min-height:145px;
}
.ampm-form button{
  padding:13px 38px;
  font-size:16px;
}

/* Better frontend full-width behavior with Twenty Twenty-Five */
body.home .wp-site-blocks > main{
  margin-top:0!important;
}
body.home .wp-block-post-content > .ampm-v5{
  max-width:none!important;
}

/* Editor parity */
.editor-styles-wrapper .ampm-hero{
  min-height:620px;
}
.editor-styles-wrapper .ampm-hero-art img{
  width:108%;
}

/* Tablet */
@media(max-width:1024px){
  .ampm-hero{
    min-height:auto;
  }
  .ampm-hero-art img{
    width:100%;
    transform:none;
  }
  .ampm-security{
    padding:50px;
  }
  .ampm-security h2{
    font-size:44px;
  }
  .ampm-category-item{
    grid-template-columns:96px 1fr;
  }
}

/* Mobile */
@media(max-width:767px){
  .ampm-about,
  .ampm-categories,
  .ampm-benefits,
  .ampm-how,
  .ampm-faq,
  .ampm-contact{
    padding-top:60px;
    padding-bottom:60px;
  }
  .ampm-hero{
    padding-top:50px;
    padding-bottom:50px;
  }
  .ampm-hero h1{
    font-size:38px;
  }
  .ampm-hero .ampm-hero-lead{
    font-size:15px;
    line-height:23px;
  }
  .ampm-category-item{
    grid-template-columns:88px 1fr;
  }
  .ampm-category-item figure img{
    width:82px;
    height:82px;
  }
  .ampm-security{
    min-height:0;
    padding:36px 26px;
  }
  .ampm-security h2{
    font-size:36px;
  }
  .ampm-contact-grid{
    gap:34px;
  }
}


/* ==========================================================================
   v8: FAQ/contact/header/footer + security visual
   ========================================================================== */

/* Hide Twenty Twenty-Five chrome on the public home only */
body.home .wp-site-blocks > header,
body.home .wp-site-blocks > footer,
body.home header.wp-block-template-part,
body.home footer.wp-block-template-part{
  display:none!important;
}

/* Header */
.ampm-site-header{
  position:sticky;
  top:0;
  z-index:1000;
  height:82px;
  background:#fff;
  border-bottom:1px solid rgba(17,24,39,.06);
  font-family:Geist,sans-serif;
}
body.admin-bar .ampm-site-header{top:32px}
.ampm-header-inner{
  width:min(1500px,calc(100% - 64px));
  height:100%;
  margin:auto;
  display:grid;
  grid-template-columns:180px 1fr auto;
  align-items:center;
  gap:32px;
}
.ampm-header-logo img{
  width:48px;
  height:auto;
  display:block;
}
.ampm-header-nav{
  display:flex;
  justify-content:center;
  gap:44px;
}
.ampm-header-nav a{
  color:#252525;
  text-decoration:none;
  font-size:15px;
  font-weight:400;
}
.ampm-header-actions{
  display:flex;
  gap:12px;
}
.ampm-header-actions a{
  text-decoration:none;
  border-radius:8px;
  padding:12px 18px;
  font-size:14px;
  font-weight:500;
}
.ampm-register{
  color:#5863f8;
  background:#fff;
  border:1px solid #5863f8;
}
.ampm-login{
  color:#fff;
  background:#5863f8;
  border:1px solid #5863f8;
}
.ampm-menu-toggle{display:none}

/* FAQ original two-column composition */
.ampm-faq{
  background:#fafafa;
  padding:94px 0;
}
.ampm-faq-grid{
  display:grid!important;
  grid-template-columns:.82fr 1.18fr;
  gap:54px;
  align-items:start;
  max-width:1220px;
}
.ampm-faq-photo{
  margin:0!important;
}
.ampm-faq-photo img{
  width:100%;
  max-height:720px;
  object-fit:cover;
  border-radius:20px;
  display:block;
}
.ampm-faq-content{
  padding-top:8px;
}
.ampm-faq-content h2{
  text-align:left;
  font-size:38px;
  margin:18px 0 26px;
}
.ampm-faq-content details{
  max-width:none;
  margin:0;
}

/* Contact */
.ampm-contact{
  position:relative;
  overflow:hidden;
  background:#eef0ff;
  padding:90px 0;
}
.ampm-contact::before{
  content:"";
  position:absolute;
  width:220px;height:220px;
  left:-75px;top:35px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(97,109,237,.16),rgba(97,109,237,0) 70%);
}
.ampm-contact-grid-v8{
  display:grid!important;
  grid-template-columns:1fr .9fr;
  gap:44px;
  align-items:stretch;
  max-width:1250px;
}
.ampm-contact-card{
  background:#fff;
  border-radius:20px;
  padding:34px 40px;
  box-shadow:0 10px 20px rgba(0,0,0,.08);
}
.ampm-contact-card h2{
  text-align:left;
  font-size:32px;
  margin:18px 0 10px;
}
.ampm-contact-card>p:not(.ampm-pill){
  max-width:680px;
}
.ampm-contact-card .ampm-form{
  margin-top:24px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.ampm-contact-card .ampm-form label:nth-of-type(3),
.ampm-contact-card .ampm-form label:nth-of-type(4),
.ampm-contact-card .ampm-form button{
  grid-column:1/-1;
}
.ampm-contact-card .ampm-form textarea{
  min-height:125px;
}
.ampm-contact-side{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  align-content:start;
}
.ampm-contact-photo{
  grid-column:1/-1;
  margin:0!important;
}
.ampm-contact-photo img{
  width:100%;
  aspect-ratio:1.45/1;
  object-fit:cover;
  border-radius:20px;
  display:block;
}
.ampm-contact-detail{
  min-height:92px;
  display:grid!important;
  grid-template-columns:46px 1fr;
  gap:12px;
  align-items:center;
  background:#f8dfe9;
  border:1px solid rgba(224,150,179,.35);
  border-radius:10px;
  padding:14px;
  box-shadow:0 3px 8px rgba(0,0,0,.10);
}
.ampm-contact-icon{
  margin:0!important;
}
.ampm-contact-icon img{
  width:38px;height:38px;object-fit:contain;
}
.ampm-contact-card-copy h3{
  font-size:14px;
  margin:0 0 3px;
}
.ampm-contact-card-copy p{
  font-size:13px;
  margin:0;
}

/* Security diagram, replacing wrong contact photo */
.ampm-security-visual{
  position:relative;
  width:330px;
  height:330px;
  margin:auto;
}
.ampm-security-visual .ring{
  position:absolute;
  border:1px solid rgba(255,255,255,.35);
  border-radius:50%;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
}
.ampm-security-visual .r1{width:120px;height:120px}
.ampm-security-visual .r2{width:210px;height:210px}
.ampm-security-visual .r3{width:300px;height:300px}
.ampm-security-visual .security-lock{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:78px;height:78px;border-radius:50%;background:#fff;color:#408df4;
  display:grid;place-items:center;font-size:0;
}
.ampm-security-visual .security-lock::after{
  content:"🔒";font-size:28px;
}
.ampm-security-visual .sat{
  position:absolute;width:34px;height:34px;border-radius:50%;background:#276fd2;
  color:#fff;font-size:0;border:1px solid rgba(255,255,255,.35);
}
.ampm-security-visual .sat::after{content:"•";font-size:24px;display:grid;place-items:center;height:100%}
.ampm-security-visual .s1{left:34px;top:145px}
.ampm-security-visual .s2{right:40px;top:125px}
.ampm-security-visual .s3{left:148px;bottom:28px}

/* Footer */
.ampm-site-footer{
  background:#626cf0;
  color:#fff;
  border-radius:18px 18px 0 0;
  padding:48px 0 20px;
  font-family:Geist,sans-serif;
}
.ampm-footer-inner{
  width:min(1500px,calc(100% - 64px));
  margin:auto;
  display:grid;
  grid-template-columns:1.4fr .7fr .7fr;
  gap:80px;
}
.ampm-footer-logo img{width:42px;height:auto}
.ampm-footer-about p{
  max-width:470px;
  color:#fff;
  font-size:14px;
  line-height:1.55;
}
.ampm-footer-social{display:flex;gap:8px;margin-top:16px}
.ampm-footer-social a{
  width:30px;height:30px;border:1px solid rgba(255,255,255,.4);
  border-radius:5px;color:#fff;text-decoration:none;display:grid;place-items:center;
  font-size:12px;
}
.ampm-site-footer h4{font-size:14px;margin:0 0 12px;color:#fff}
.ampm-site-footer ul{list-style:none;margin:0;padding:0}
.ampm-site-footer li{margin:8px 0}
.ampm-site-footer a{color:#fff;text-decoration:none;font-size:13px}
.ampm-footer-bottom{
  width:min(1500px,calc(100% - 64px));
  margin:30px auto 0;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.25);
  text-align:center;
  font-size:12px;
  color:rgba(255,255,255,.8);
}

/* smooth anchors below sticky header */
html{scroll-behavior:smooth}
#beneficios,#categorias,#comofunciona,#contacto{scroll-margin-top:100px}

@media(max-width:1024px){
  .ampm-header-inner{grid-template-columns:80px 1fr auto}
  .ampm-header-nav{gap:20px}
  .ampm-faq-grid,.ampm-contact-grid-v8{grid-template-columns:1fr}
  .ampm-faq-photo img{max-height:520px}
  .ampm-footer-inner{grid-template-columns:1fr 1fr}
  .ampm-footer-about{grid-column:1/-1}
}
@media(max-width:767px){
  .ampm-site-header{height:68px}
  body.admin-bar .ampm-site-header{top:46px}
  .ampm-header-inner{width:calc(100% - 32px);grid-template-columns:1fr auto}
  .ampm-header-nav,.ampm-header-actions{display:none}
  .ampm-menu-toggle{display:block;border:0;background:#fff;font-size:24px;color:#111827}
  .ampm-faq{padding:60px 0}
  .ampm-faq-photo{display:none}
  .ampm-faq-content h2{text-align:center;font-size:32px}
  .ampm-contact{padding:60px 0}
  .ampm-contact-card{padding:26px 22px}
  .ampm-contact-card .ampm-form{grid-template-columns:1fr}
  .ampm-contact-card .ampm-form label{grid-column:1!important}
  .ampm-contact-side{grid-template-columns:1fr}
  .ampm-contact-photo{grid-column:1}
  .ampm-security-visual{width:260px;height:260px}
  .ampm-security-visual .r3{width:240px;height:240px}
  .ampm-security-visual .r2{width:170px;height:170px}
  .ampm-security-visual .r1{width:100px;height:100px}
  .ampm-footer-inner,.ampm-footer-bottom{width:calc(100% - 32px)}
  .ampm-footer-inner{grid-template-columns:1fr;gap:28px}
  .ampm-footer-about{grid-column:auto}
}


/* ==========================================================================
   v9: neutralize Twenty Twenty-Five global padding / alignfull compensation
   This fixes the 50px horizontal overflow seen at a 1440px viewport.
   ========================================================================== */

body.home .wp-site-blocks,
body.home .wp-site-blocks > main,
body.home .wp-site-blocks main,
body.home .entry-content,
body.home .wp-block-post-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* TT5 adds horizontal padding to .has-global-padding and then negative
   margins to alignfull descendants. We own the Home layout, so disable
   that mechanism here only. */
body.home .has-global-padding {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.home .alignfull {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: auto !important;
  right: auto !important;
}

/* Guard against any remaining theme overflow without changing our own
   inner .ampm-wrap widths. */
html,
body.home {
  overflow-x: clip;
}


/* ==========================================================================
   v10: hard reset of Twenty Twenty-Five outer layout on front page
   ========================================================================== */

html,
body.home {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body.home,
body.home .wp-site-blocks,
body.home .wp-site-blocks > *,
body.home main,
body.home .entry-content,
body.home .wp-block-post-content,
body.home .has-global-padding,
body.home .alignfull {
  box-sizing: border-box !important;
}

body.home .wp-site-blocks,
body.home main,
body.home .entry-content,
body.home .wp-block-post-content {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}

body.home .has-global-padding {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.home .wp-block-post-content > .alignfull,
body.home .entry-content > .alignfull,
body.home .alignfull {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0;
  padding-right: 0;
  position: static !important;
  inset: auto !important;
  transform: none;
}

/* TT5 sometimes uses inline-size/max-inline-size rather than width */
body.home .wp-site-blocks,
body.home main,
body.home .entry-content,
body.home .wp-block-post-content,
body.home .alignfull {
  inline-size: 100% !important;
  max-inline-size: 100% !important;
}

/* Prevent descendants from establishing page-level horizontal scroll.
   Internal AMPM sizing remains controlled by .ampm-wrap. */
body.home .wp-site-blocks {
  overflow-x: hidden !important;
}


/* ==========================================================================
   v11: keep hero collage inside viewport without shrinking the composition
   ========================================================================== */

.ampm-hero-grid{
  grid-template-columns: .98fr 1.02fr;
  gap: 60px;
}

.ampm-hero-art{
  min-width:0;
  overflow:visible;
}

.ampm-hero-art img{
  width:100% !important;
  max-width:100% !important;
  height:auto;
  transform:none !important;
  object-fit:contain;
}

.editor-styles-wrapper .ampm-hero-art img{
  width:100% !important;
  max-width:100% !important;
  transform:none !important;
}


/* ==========================================================================
   v12 — visual system pass
   Goal: typography, colors, icons and component appearance.
   Deliberately avoids global section spacing/height tuning.
   ========================================================================== */

:root{
  --ap:#616DED;
  --ink:#111827;
  --txt:#4A4A4A;
  --line:#E5E7EB;
  --soft:#FAFAFA;
  --hero-tint:#7A83D14D;
  --contact-tint:#A5ADF733;
  --contact-pink:#AE21601A;
  --security:#408DF4;
}

/* The live source forces Geist globally with !important. Match that effective
   behavior while preserving each widget's original weight. */
body.home,
body.home button,
body.home input,
body.home textarea,
body.home select{
  font-family:"Geist",system-ui,sans-serif !important;
  color:var(--ink);
}

/* Pills: exact public-site palette and metrics. */
body.home .ampm-pill{
  background:#A5ADF733 !important;
  border:1px solid #A5ADF74D !important;
  border-radius:9999px !important;
  color:#616DED !important;
  font-size:14px !important;
  font-weight:500 !important;
  line-height:20px !important;
  padding:9px 17px !important;
}

/* HERO typography/components from source desktop CSS. */
body.home .ampm-hero h1{
  font-size:50px !important;
  font-weight:800 !important;
  line-height:1.02 !important;
  color:#111827 !important;
}
body.home .ampm-hero h1 mark{
  color:#616DED !important;
}
body.home .ampm-hero .ampm-hero-lead{
  font-size:15px !important;
  font-weight:400 !important;
  line-height:24px !important;
  color:#4A4A4A !important;
}
body.home .ampm-hero .wp-block-button__link{
  font-size:18px !important;
  font-weight:500 !important;
  border-radius:8px !important;
  padding:11px 32px 12px !important;
}
body.home .ampm-hero .is-style-fill .wp-block-button__link{
  background:#616DED !important;
  color:#FAFAFA !important;
}
body.home .ampm-hero .is-style-outline .wp-block-button__link{
  background:#fff !important;
  border:1px solid #616DED !important;
  color:#616DED !important;
}

/* Section headings. Source uses 28px for the main middle-section headings,
   36px for FAQ. */
body.home .ampm-about > .ampm-wrap > h2,
body.home .ampm-categories > .ampm-wrap > h2,
body.home .ampm-benefits > .ampm-wrap > h2,
body.home .ampm-how > .ampm-wrap > h2{
  font-size:28px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  color:#111827 !important;
}
body.home .ampm-benefits .ampm-lead,
body.home .ampm-how .ampm-lead{
  font-size:20px !important;
  font-weight:400 !important;
  color:#4A4A4A !important;
}

/* About card. */
body.home .ampm-about-card{
  border-radius:20px !important;
  box-shadow:0 10px 15px -3px rgba(0,0,0,.10),0 4px 6px -4px rgba(0,0,0,.10) !important;
  background:#fff !important;
}
body.home .ampm-about-card h3{
  font-size:28px !important;
  font-weight:600 !important;
  color:#111827 !important;
}
body.home .ampm-about-card p{
  font-size:15px !important;
  line-height:18px !important;
  font-weight:400 !important;
  color:#4A4A4A !important;
}

/* Categories: original icons are 48x48, not ~96x96. */
body.home .ampm-category-item{
  border:1px solid #E5E7EB !important;
  border-radius:20px !important;
  background:#fff !important;
  grid-template-columns:64px 1fr !important;
}
body.home .ampm-category-item figure img{
  width:48px !important;
  height:48px !important;
  max-width:48px !important;
  border-radius:0 !important;
  object-fit:contain !important;
}
body.home .ampm-category-item h3{
  font-size:18px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  color:#111827 !important;
}
body.home .ampm-category-item p{
  font-size:14px !important;
  line-height:20px !important;
  font-weight:400 !important;
  color:#4A4A4A !important;
}

/* Security: use exact source SVG instead of approximate CSS/emoji art. */
body.home .ampm-security{
  background:#408DF4 !important;
  border-radius:20px !important;
  color:#fff !important;
}
body.home .ampm-security h2{
  font-size:52px !important;
  font-weight:800 !important;
  color:#fff !important;
  line-height:1.02 !important;
}
body.home .ampm-security p{
  font-size:16px !important;
  font-weight:400 !important;
  line-height:19px !important;
  color:#fff !important;
}
body.home .ampm-security-copy p + p{
  line-height:18px !important;
}
body.home .ampm-security-original{
  width:100%;
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
body.home .ampm-security-original svg{
  width:292px !important;
  height:auto !important;
  display:block;
}

/* Benefits: exact 32px SVGs and source component styling. */
body.home .ampm-benefits .ampm-card{
  border:1px solid #E5E7EB !important;
  border-radius:20px !important;
  background:#fff !important;
  text-align:center !important;
}
body.home .ampm-benefit-icon{
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 0 8px;
}
body.home .ampm-benefit-icon svg{
  width:32px !important;
  height:32px !important;
  display:block;
}
body.home .ampm-benefits .ampm-card h3{
  font-size:20px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  color:#111827 !important;
  text-align:center !important;
}
body.home .ampm-benefits .ampm-card p{
  font-size:16px !important;
  font-weight:400 !important;
  line-height:1.35 !important;
  color:#4A4A4A !important;
  text-align:center !important;
}

/* How: replace unrelated bitmap assets with the three original 40px SVGs. */
body.home .ampm-how .ampm-step{
  border:1px solid #E5E7EB !important;
  border-radius:20px !important;
  background:#fff !important;
  text-align:center !important;
}
body.home .ampm-step-icon-original{
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 0 12px;
}
body.home .ampm-step-icon-original svg{
  width:40px !important;
  height:40px !important;
  display:block;
}
body.home .ampm-how .ampm-step h3{
  font-size:20px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  color:#111827 !important;
}
body.home .ampm-how .ampm-step p{
  font-size:16px !important;
  font-weight:400 !important;
  line-height:1.35 !important;
  color:#4A4A4A !important;
}

/* FAQ */
body.home .ampm-faq{
  background:#FAFAFA !important;
}
body.home .ampm-faq-content h2{
  font-size:36px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  color:#000 !important;
}
body.home .ampm-faq summary{
  font-size:16px !important;
  font-weight:600 !important;
  color:#111827 !important;
}
body.home .ampm-faq details p{
  font-size:15px !important;
  line-height:1.45 !important;
  color:#4A4A4A !important;
}
body.home .ampm-faq summary::after{
  color:#616DED !important;
}

/* Contact palette/components from source. */
body.home .ampm-contact{
  background:#A5ADF733 !important;
}
body.home .ampm-contact-card{
  background:#fff !important;
  border-radius:20px !important;
  box-shadow:0 10px 15px -3px rgba(0,0,0,.10),0 4px 6px -4px rgba(0,0,0,.10) !important;
}
body.home .ampm-contact-card h2{
  color:#111827 !important;
  font-weight:600 !important;
}
body.home .ampm-contact-card > p:not(.ampm-pill){
  color:#4A4A4A !important;
}
body.home .ampm-contact-detail{
  min-height:89px !important;
  background:#AE21601A !important;
  border:0 !important;
  border-radius:8px !important;
  box-shadow:none !important;
}
body.home .ampm-contact-icon img{
  width:40px !important;
  height:40px !important;
}
body.home .ampm-contact-card-copy h3{
  color:#111827 !important;
  font-weight:600 !important;
}
body.home .ampm-contact-card-copy p{
  color:#4A4A4A !important;
}
body.home .ampm-form input,
body.home .ampm-form textarea{
  border:1px solid #E5E7EB !important;
  border-radius:0 !important;
  color:#4A4A4A !important;
  background:#fff !important;
}
body.home .ampm-form button{
  background:#616DED !important;
  color:#fff !important;
  border-radius:4px !important;
}

/* Preserve v11's overflow-safe hero image behavior. */
body.home .ampm-hero-art img{
  width:100% !important;
  max-width:100% !important;
  transform:none !important;
}


/* ==========================================================================
   v13 — header-only pixel pass
   Reference viewport: ~1920px desktop screenshots.
   ========================================================================== */

/* Remove TT5's vertical spacing between custom header and first page block. */
body.home .wp-site-blocks{
  margin-top:0 !important;
  padding-top:0 !important;
  row-gap:0 !important;
  gap:0 !important;
}
body.home .wp-site-blocks > main,
body.home main.wp-block-group,
body.home main{
  margin-top:0 !important;
  margin-block-start:0 !important;
  padding-top:0 !important;
}
body.home .entry-content,
body.home .wp-block-post-content,
body.home .wp-block-post-content > .ampm-hero{
  margin-top:0 !important;
  margin-block-start:0 !important;
  padding-top:0;
}

/* Original header is light gray, not white. */
body.home .ampm-site-header{
  position:sticky;
  top:0;
  z-index:1000;
  height:82px;
  background:#F3F4F6 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}

/* Reconstruct the original desktop horizontal geometry:
   viewport ~1917px; logo x≈134; actions right edge≈1807. */
body.home .ampm-header-inner{
  position:relative;
  width:calc(100% - 220px) !important;
  max-width:none !important;
  height:82px !important;
  margin:0 auto !important;
  padding:0 3px 0 24px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:0 !important;
}

/* Original mark renders at about 28×47px. */
body.home .ampm-header-logo{
  display:flex;
  align-items:center;
  flex:0 0 auto;
}
body.home .ampm-header-logo img{
  width:28px !important;
  height:auto !important;
  max-width:none !important;
  display:block;
}

/* Navigation is centered to the viewport rather than centered in the
   leftover flex space between logo and actions. */
body.home .ampm-header-nav{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:42px !important;
  white-space:nowrap;
}
body.home .ampm-header-nav a{
  color:#3F3F46 !important;
  font-size:16px !important;
  line-height:20px !important;
  font-weight:400 !important;
  text-decoration:none !important;
}

/* Original buttons: ~40px tall, 10px apart. */
body.home .ampm-header-actions{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex:0 0 auto;
}
body.home .ampm-header-actions a{
  min-height:40px !important;
  box-sizing:border-box !important;
  border-radius:8px !important;
  padding:9px 16px !important;
  font-size:14px !important;
  line-height:20px !important;
  font-weight:500 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
}
body.home .ampm-register{
  color:#5863F8 !important;
  background:transparent !important;
  border:1px solid #5863F8 !important;
}
body.home .ampm-login{
  color:#fff !important;
  background:#5863F8 !important;
  border:1px solid #5863F8 !important;
  gap:8px !important;
}
body.home .ampm-login svg{
  width:17px !important;
  height:16px !important;
  display:block;
  flex:none;
}
body.home .ampm-login svg path{
  stroke:#fff !important;
}

/* Admin bar offset remains isolated from public geometry. */
body.admin-bar.home .ampm-site-header{
  top:32px;
}

@media(max-width:1024px){
  body.home .ampm-header-inner{
    width:calc(100% - 48px) !important;
    padding:0 !important;
  }
  body.home .ampm-header-nav{
    position:static !important;
    transform:none !important;
    gap:20px !important;
  }
}

@media(max-width:767px){
  body.home .ampm-site-header,
  body.home .ampm-header-inner{
    height:68px !important;
  }
  body.home .ampm-header-inner{
    width:calc(100% - 32px) !important;
  }
  body.home .ampm-header-logo img{
    width:25px !important;
  }
}


/* ==========================================================================
   v15 — safe header/hero seam fix
   Based on stable v13. No structural :has() selectors.
   ========================================================================== */

/* Header background confirmed from both screenshots: rgb(243,244,246). */
body.home .ampm-site-header,
body.home .ampm-header-inner{
  background:#F3F4F6 !important;
}

/* Remove only direct spacing before the page content. */
body.home .wp-site-blocks{
  gap:0 !important;
  row-gap:0 !important;
}

body.home .wp-site-blocks > main{
  margin-top:0 !important;
  margin-block-start:0 !important;
  padding-top:0 !important;
  padding-block-start:0 !important;
}

body.home .wp-block-post-content{
  margin-top:0 !important;
  margin-block-start:0 !important;
  padding-top:0 !important;
  padding-block-start:0 !important;
}

body.home .wp-block-post-content > .ampm-hero{
  margin-top:0 !important;
  margin-block-start:0 !important;
}

/* Hide title itself only, never its parent wrapper. */
body.home .wp-block-post-title{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
}


/* ==========================================================================
   v16 — remove exact TT5 wrapper padding found in DevTools
   ========================================================================== */

/* This specific wrapper was measured with:
   padding-top: 70px;
   padding-bottom: 70px;
   It surrounds the whole post content and creates the white strip
   between the AMPM header and the hero. */
body.home main > .wp-block-group.alignfull.has-global-padding.is-layout-constrained{
  padding-top:0 !important;
  padding-bottom:0 !important;
  padding-block:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}


/* ==========================================================================
   v18 — hero desktop: use the actual original desktop background asset
   and match collage scale / breathing room.
   ========================================================================== */

@media (min-width:1025px){

  body.home .ampm-hero{
    box-sizing:border-box !important;

    /* Exact desktop background from the original Elementor CSS. */
    background-color:#7A83D14D !important;
    background-image:var(--twill-hero-bg-desktop) !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    background-size:cover !important;

    /* Screenshot reference at 1920px: hero ≈616px high. */
    height:616px !important;
    min-height:616px !important;

    /* Padding is included in the fixed height. */
    padding-top:0 !important;
    padding-bottom:0 !important;

    display:flex !important;
    align-items:center !important;
  }

  body.home .ampm-hero-grid{
    /* Reference screenshot starts main content around x≈118px. */
    width:calc(100% - 236px) !important;
    max-width:none !important;
    height:100% !important;
    margin:0 auto !important;

    display:grid !important;
    grid-template-columns: .96fr 1.04fr !important;
    gap:50px !important;
    align-items:center !important;
  }

  body.home .ampm-hero-copy{
    max-width:670px !important;
    padding-top:0 !important;
    align-self:center !important;
  }

  body.home .ampm-hero-copy .ampm-pill{
    margin-top:0 !important;
    margin-bottom:24px !important;
  }

  body.home .ampm-hero-copy h1{
    margin-top:0 !important;
    margin-bottom:24px !important;
  }

  body.home .ampm-hero-copy .ampm-hero-lead{
    max-width:660px !important;
    margin-top:0 !important;
  }

  body.home .ampm-hero-copy .wp-block-buttons{
    margin-top:22px !important;
  }

  /* Original collage has materially more air around it than v16/v17. */
  body.home .ampm-hero-art{
    margin:0 !important;
    min-width:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    transform:translate(4px,-7px) !important;
  }

  body.home .ampm-hero-art img{
    width:84.5% !important;
    max-width:790px !important;
    height:auto !important;
    margin:0 !important;
    transform:none !important;
    object-fit:contain !important;
    display:block !important;
  }
}

/* Keep tablet/mobile behavior from the existing responsive rules. */
@media (max-width:1024px){
  body.home .ampm-hero{
    height:auto !important;
    min-height:auto !important;
    background-image:var(--twill-hero-bg-mobile) !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    background-size:cover !important;
  }

  body.home .ampm-hero-art{
    transform:none !important;
  }

  body.home .ampm-hero-art img{
    max-width:100% !important;
  }
}


/* ==========================================================================
   v19 — about/callout text, section pills with icons, categories card grid
   ========================================================================== */

/* About card: make the "Guarda un registro..." paragraph red-toned. */
body.home .ampm-about-card p:last-of-type{
  color:#AE2160 !important;
}

/* Shared pill treatment for the requested sections. */
body.home .ampm-categories .ampm-pill,
body.home .ampm-benefits .ampm-pill,
body.home .ampm-how .ampm-pill,
body.home .ampm-faq .ampm-pill,
body.home .ampm-contact .ampm-pill{
  width:fit-content !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

body.home .ampm-categories .ampm-pill::before,
body.home .ampm-benefits .ampm-pill::before,
body.home .ampm-how .ampm-pill::before,
body.home .ampm-faq .ampm-pill::before,
body.home .ampm-contact .ampm-pill::before{
  content:"";
  width:14px;
  height:14px;
  flex:none;
  background-repeat:no-repeat;
  background-position:center;
  background-size:14px 14px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M2.2 3.6H5L6.1 4.7H11.8V10.8H2.2V3.6Z' stroke='%23616DED' stroke-width='1.2' stroke-linejoin='round'/%3E%3Cpath d='M2.2 5.2H11.8' stroke='%23616DED' stroke-width='1.2' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* Ensure “Así funciona” is centered as requested. */
body.home .ampm-how{
  text-align:center !important;
}
body.home .ampm-how .ampm-pill{
  margin-bottom:18px !important;
}

/* Categories grid: keep Historia Familiar as a normal card, not full-width. */
body.home .ampm-category-list{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}

body.home .ampm-category-list > .ampm-category-item{
  min-height:152px !important;
  height:100% !important;
}

body.home .ampm-category-list > .ampm-category-item:last-child{
  grid-column:auto !important;
  grid-column-start:auto !important;
  grid-column-end:auto !important;
}

/* Slightly tighten category content so the 5th card fits the same module size. */
body.home .ampm-category-item{
  padding:18px !important;
}

body.home .ampm-category-item h3{
  font-size:16px !important;
  line-height:1.2 !important;
  margin-bottom:8px !important;
}

body.home .ampm-category-item p{
  font-size:13px !important;
  line-height:18px !important;
}

@media (max-width:1024px){
  body.home .ampm-category-list{
    grid-template-columns:1fr !important;
  }
}


/* ==========================================================================
   v22 — shared public header/footer + native legal pages
   ========================================================================== */

/* Hide Twenty Twenty-Five template chrome on every AMPM public page. */
body.ampm-public-page .wp-site-blocks > header,
body.ampm-public-page .wp-site-blocks > footer,
body.ampm-public-page header.wp-block-template-part,
body.ampm-public-page footer.wp-block-template-part{
  display:none !important;
}

/* Reuse the same AMPM header/footer outside the Home too. */
body.ampm-public-page .ampm-site-header,
body.ampm-public-page .ampm-header-inner{
  background:#F3F4F6 !important;
}

body.ampm-public-page .ampm-site-header{
  position:relative;
  z-index:50;
}

body.ampm-public-page .ampm-header-inner{
  width:calc(100% - 220px);
  margin:0 auto;
  padding:0 3px 0 24px;
}

body.ampm-public-page .ampm-header-logo img{
  width:28px;
  height:auto;
}

body.ampm-public-page .ampm-header-nav a,
body.ampm-public-page .ampm-header-actions a{
  text-decoration:none;
}

/* Legal page layout. */
body.ampm-legal-page main{
  margin:0 !important;
  padding:0 !important;
}

body.ampm-legal-page .wp-block-post-content{
  margin:0 !important;
  padding:0 !important;
}

body.ampm-legal-page .wp-block-post-title{
  display:none !important;
}

body.ampm-legal-page .ampm-legal-shell{
  width:min(1040px, calc(100% - 64px));
  max-width:1040px;
  margin:0 auto;
  padding:72px 0 96px;
  font-family:'Geist',sans-serif;
  color:#4A4A4A;
}

body.ampm-legal-page .ampm-legal-shell h1{
  margin:0 0 44px;
  color:#111827;
  font-size:42px;
  line-height:1.12;
  font-weight:700;
}

body.ampm-legal-page .ampm-legal-shell h2{
  margin:42px 0 14px;
  color:#111827;
  font-size:24px;
  line-height:1.25;
  font-weight:700;
}

body.ampm-legal-page .ampm-legal-shell h3{
  margin:32px 0 12px;
  color:#111827;
  font-size:19px;
  line-height:1.3;
  font-weight:650;
}

body.ampm-legal-page .ampm-legal-shell p,
body.ampm-legal-page .ampm-legal-shell li{
  font-size:16px;
  line-height:1.7;
}

body.ampm-legal-page .ampm-legal-shell p{
  margin:0 0 16px;
}

body.ampm-legal-page .ampm-legal-shell ul,
body.ampm-legal-page .ampm-legal-shell ol{
  margin:10px 0 22px;
  padding-left:26px;
}

body.ampm-legal-page .ampm-site-footer{
  margin-top:0;
}

@media (max-width:1024px){
  body.ampm-public-page .ampm-header-inner{
    width:calc(100% - 48px);
    padding-left:0;
    padding-right:0;
  }

  body.ampm-legal-page .ampm-legal-shell{
    width:calc(100% - 48px);
    padding:48px 0 72px;
  }

  body.ampm-legal-page .ampm-legal-shell h1{
    font-size:34px;
  }
}


/* ==========================================================================
   v24 — original-style legal-document window
   ========================================================================== */

body.ampm-legal-page{
  background:#F3F4F6 !important;
}

/* The legal document behaves like a document window with its own scrollbar,
   instead of making the whole browser page several kilometres tall. */
body.ampm-legal-page .ampm-legal-shell{
  box-sizing:border-box !important;
  width:min(1120px, calc(100% - 96px)) !important;
  max-width:1120px !important;
  max-height:calc(100vh - 210px) !important;
  overflow-y:auto !important;
  overscroll-behavior:contain;
  margin:42px auto 52px !important;
  padding:44px 56px 36px !important;
  background:#fff !important;
  border:1px solid #E5E7EB !important;
  border-radius:18px !important;
  box-shadow:0 16px 40px rgba(17,24,39,.10) !important;
  scrollbar-gutter:stable;
}

body.ampm-legal-page .ampm-legal-shell h1{
  margin-top:0 !important;
}

body.ampm-legal-page .ampm-legal-close-wrap{
  width:min(1120px, calc(100% - 96px));
  max-width:1120px;
  margin:-30px auto 54px;
  display:flex;
  justify-content:flex-end;
}

body.ampm-legal-page .ampm-legal-close{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:112px;
  min-height:42px;
  padding:10px 24px;
  border-radius:8px;
  background:#616DED;
  color:#fff !important;
  font-size:15px;
  font-weight:600;
  line-height:1;
  text-decoration:none !important;
  box-shadow:none;
}

body.ampm-legal-page .ampm-legal-close:hover{
  background:#505CDC;
}

@media (max-width:1024px){
  body.ampm-legal-page .ampm-legal-shell{
    width:calc(100% - 40px) !important;
    max-height:calc(100vh - 170px) !important;
    margin:24px auto 40px !important;
    padding:32px 28px 28px !important;
  }

  body.ampm-legal-page .ampm-legal-close-wrap{
    width:calc(100% - 40px);
    margin:-20px auto 40px;
  }
}


/* ==========================================================================
   v25 — legal window size + visible centered close button
   ========================================================================== */

body.ampm-legal-page .ampm-legal-shell{
  width:min(980px, calc(100% - 120px)) !important;
  max-width:980px !important;

  /* Keep the whole document window plus Close button visible in the first
     viewport on ordinary desktop screens. */
  max-height:58vh !important;

  margin:28px auto 14px !important;
  padding:36px 48px 32px !important;
  border-radius:16px !important;
}

body.ampm-legal-page .ampm-legal-close-wrap{
  width:min(980px, calc(100% - 120px)) !important;
  max-width:980px !important;
  margin:0 auto 34px !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
}

body.ampm-legal-page .ampm-legal-close{
  min-width:124px !important;
  min-height:42px !important;
}

@media (max-width:1024px){
  body.ampm-legal-page .ampm-legal-shell{
    width:calc(100% - 40px) !important;
    max-height:56vh !important;
    margin:20px auto 12px !important;
    padding:28px 24px 24px !important;
  }

  body.ampm-legal-page .ampm-legal-close-wrap{
    width:calc(100% - 40px) !important;
    margin:0 auto 28px !important;
  }
}


/* ==========================================================================
   v26 — legal typography + title color
   ========================================================================== */

body.ampm-legal-page .ampm-legal-shell h1{
  color:#616DED !important;
  font-size:30px !important;
  line-height:1.18 !important;
  font-weight:700 !important;
  margin-bottom:30px !important;
}

body.ampm-legal-page .ampm-legal-shell h2{
  color:#111827 !important;
  font-size:17px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  margin:28px 0 10px !important;
}

body.ampm-legal-page .ampm-legal-shell h3{
  color:#111827 !important;
  font-size:15px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  margin:24px 0 9px !important;
}

body.ampm-legal-page .ampm-legal-shell p,
body.ampm-legal-page .ampm-legal-shell li{
  font-size:14px !important;
  line-height:1.55 !important;
  color:#4A4A4A !important;
}

body.ampm-legal-page .ampm-legal-shell p{
  margin-bottom:12px !important;
}

body.ampm-legal-page .ampm-legal-shell ul,
body.ampm-legal-page .ampm-legal-shell ol{
  margin-top:6px !important;
  margin-bottom:16px !important;
}

@media (max-width:700px){
  body.ampm-legal-page .ampm-legal-shell h1{
    font-size:26px !important;
  }

  body.ampm-legal-page .ampm-legal-shell p,
  body.ampm-legal-page .ampm-legal-shell li{
    font-size:13px !important;
  }
}


/* ==========================================================================
   v27 — sticky legal title + reliably closeable legal tab
   ========================================================================== */

/* The legal title belongs to the document's own scroll context. */
body.ampm-legal-page .ampm-legal-shell h1{
  position:sticky !important;
  top:0 !important;
  z-index:5 !important;

  /* Create a clean sticky header band inside the white document. */
  background:#fff !important;
  margin:0 -48px 24px !important;
  padding:4px 48px 20px !important;
  border-bottom:1px solid #E5E7EB !important;
}

/* Prevent content from showing through the sticky title while scrolling. */
body.ampm-legal-page .ampm-legal-shell{
  position:relative !important;
}

@media (max-width:1024px){
  body.ampm-legal-page .ampm-legal-shell h1{
    margin-left:-24px !important;
    margin-right:-24px !important;
    padding-left:24px !important;
    padding-right:24px !important;
  }
}


/* ==========================================================================
   v28 — legal sticky header occlusion + smaller Close button
   ========================================================================== */

/* Remove the scrollable top padding. Otherwise document text can become
   visible in that strip above the sticky H1 while scrolling. */
body.ampm-legal-page .ampm-legal-shell{
  padding-top:0 !important;
}

/* Make the title band start exactly at the top edge of the scroll viewport
   and fully mask the content moving underneath it. */
body.ampm-legal-page .ampm-legal-shell h1{
  top:0 !important;
  z-index:20 !important;
  box-sizing:border-box !important;
  margin:0 -48px 24px !important;
  padding:30px 48px 20px !important;
  background:#fff !important;
  background-color:#fff !important;
  isolation:isolate;
  border-bottom:1px solid #E5E7EB !important;
  box-shadow:0 1px 0 #E5E7EB !important;
}

/* Smaller, closer to the original Close control. */
body.ampm-legal-page .ampm-legal-close{
  min-width:88px !important;
  min-height:34px !important;
  padding:7px 16px !important;
  font-size:13px !important;
  line-height:18px !important;
  border-radius:7px !important;
}

@media (max-width:1024px){
  body.ampm-legal-page .ampm-legal-shell{
    padding-top:0 !important;
  }

  body.ampm-legal-page .ampm-legal-shell h1{
    margin-left:-24px !important;
    margin-right:-24px !important;
    padding:24px 24px 16px !important;
  }
}
