.revolt-account{padding-top:clamp(150px,18vh,230px);padding-bottom:110px;min-height:80vh}
.revolt-account h1{max-width:1050px;font-size:clamp(44px,6vw,88px);line-height:1.05;letter-spacing:-.055em;margin:24px 0 36px}
.revolt-account>p:not(.kicker){max-width:700px;color:#c5c2c9;line-height:1.7}
.revolt-account-actions{display:flex;flex-wrap:wrap;gap:16px;margin:32px 0}
.revolt-account-actions>a{display:inline-flex;padding:18px 30px;background:#ef008c;color:white;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.06em;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
.revolt-account-actions>a:nth-child(2){background:rgba(255,255,255,.09);backdrop-filter:blur(16px)}
.revolt-account a:focus-visible{outline:3px solid white;outline-offset:4px}
.revolt-account .revolt-account-note{font-size:13px;padding:20px;background:rgba(255,255,255,.05);margin-top:36px}
.card-visual>img,.feature-art>img,.article-cover>img{width:100%;height:100%;object-fit:cover;display:block}
.revolt-cms-article{display:block;max-width:1000px}.revolt-cms-article .article-body{width:100%}
.revolt-blog-more{max-width:1440px;margin:24px auto;padding:0 5vw;display:flex;gap:28px;color:#ef008c}
.revolt-newsletter-pending{font-size:14px!important;opacity:.7}

/* Editorial layout: consistent avatars, readable titles and full-width footer. */
html body.revolt-editorial main,html body.revolt-editorial-article main{margin-left:0!important}
html body .revolt-header-login{gap:8px}
html body .revolt-header-avatar{width:28px;height:28px;object-fit:cover;border-radius:50%;flex:none}
html body .feature-art::before,html body .feature-art::after,html body .article-cover::before{content:none!important;display:none!important}
html body.revolt-editorial .feature h3{font-size:clamp(30px,3.1vw,52px)!important;line-height:1.08!important;letter-spacing:-.04em!important}
html body.revolt-editorial-article .article-hero{padding:0 0 64px!important}
html body.revolt-editorial-article .article-cover{height:clamp(280px,47vw,620px);min-height:0;margin:0 0 44px;background:#07060a}
html body.revolt-editorial-article .article-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(7,6,10,.4),rgba(7,6,10,.1) 60%,rgba(7,6,10,.35));pointer-events:none}
html body.revolt-editorial-article .article-title{font-size:clamp(34px,4.2vw,68px)!important;line-height:1.06!important;letter-spacing:-.045em!important;max-width:1100px}
html body.revolt-editorial-article .breadcrumbs{margin-bottom:24px}
html body.revolt-editorial-article .article-deck{gap:32px;margin-top:32px;align-items:start}
html body .revolt-article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;font-size:13px}
html body .revolt-article-author{display:inline-flex;align-items:center;gap:10px}
html body .revolt-author-avatar{width:40px;height:40px;object-fit:cover;border-radius:50%;flex:none}
html body .revolt-article-date{color:#ef008c;font-weight:700;font-size:14px}
html body .feature-copy .meta span:last-child,html body .card-body .meta span:last-child{color:#ef008c}
html body .revolt-cms-article .article-body>figure{margin:36px 0}
html body .revolt-cms-article .article-body img{max-width:100%;height:auto}
html body .revolt-cms-article .article-body figcaption{margin-top:12px;color:#9a919d;font-size:13px;line-height:1.5}
html body .revolt-cms-article .comment-respond{width:100%;margin-top:36px}
html body .revolt-cms-article .comment-form-comment{width:100%}
html body .revolt-cms-article .comment-form label{display:block;margin-bottom:10px;font-size:14px}
html body .revolt-cms-article .comment-form textarea{display:block;width:100%;min-height:220px;resize:vertical;background:#100c15;border:1px solid rgba(255,255,255,.25);padding:20px;color:#fff;font:inherit;line-height:1.6}
html body .revolt-cms-article .comment-form input:not([type=submit]):not([type=checkbox]){width:100%;max-width:560px;background:#100c15;border:1px solid rgba(255,255,255,.25);padding:16px;color:#fff;font:inherit}
html body .revolt-cms-article .comment-form textarea:focus-visible,html body .revolt-cms-article .comment-form input:focus-visible{outline:2px solid #ef008c;outline-offset:3px}
html body .revolt-cms-article .revolt-comment-submit{border:0;border-radius:0;background:#ef008c;color:#fff;min-height:48px;padding:16px 26px;font:700 12px/1.2 "Space Grotesk",Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);cursor:pointer}
html body .revolt-cms-article .revolt-comment-submit:hover{background:#cb0077}
@media(max-width:700px){
 html body.revolt-editorial-article .article-cover{height:320px;margin-bottom:30px}
 html body.revolt-editorial-article .article-deck{grid-template-columns:1fr;gap:24px}
 html body.revolt-editorial-article .article-deck p{font-size:17px}
 html body .revolt-cms-article .comment-form textarea{min-height:180px;padding:16px}
 html body .revolt-header-avatar{width:24px;height:24px}
 html body .revolt-header-account-name{max-width:95px;overflow:hidden;text-overflow:ellipsis}
}
/* Account entry stays a quiet text link beside the approved floating controls. */
body.interior-menu-experiment .header .actions .revolt-header-login{display:inline-flex;flex:none;align-items:center;justify-content:center;min-height:46px;padding:0 12px;border:0;background:transparent;box-shadow:none;clip-path:none;color:#fff;font:700 11px/1 "Space Grotesk",Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:color .2s}
body.interior-menu-experiment .header .actions .revolt-header-login:hover{color:#ef008c}
body.interior-menu-experiment .header .actions .revolt-header-login:focus-visible{outline:2px solid #ef008c;outline-offset:2px}
@media(max-width:700px){
  /* Mobile navigation has two prominent actions; contact stays inside the menu. */
  body.interior-menu-experiment .header .actions .menu-cta{display:none!important}
  body.interior-menu-experiment .header .actions .revolt-header-login,
  body.interior-menu-experiment .header .actions .web-menu-trigger{
    display:inline-flex!important;align-items:center!important;
    min-height:46px!important;height:46px!important;
    font-size:11px!important;letter-spacing:.08em!important;
    clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)!important;
  }
  body.interior-menu-experiment .header .actions .revolt-header-login{
    width:clamp(98px,27vw,112px)!important;min-width:clamp(98px,27vw,112px)!important;
    padding:0 13px!important;color:#fff!important;
    background:rgba(23,13,29,.66)!important;
    backdrop-filter:blur(18px) saturate(165%);-webkit-backdrop-filter:blur(18px) saturate(165%);
    box-shadow:inset 0 0 0 1px rgba(239,0,140,.45),0 10px 26px rgba(0,0,0,.2)!important;
  }
  body.interior-menu-experiment .header .actions .web-menu-trigger{
    justify-content:space-between!important;gap:10px!important;
    width:clamp(106px,29vw,124px)!important;min-width:clamp(106px,29vw,124px)!important;
    padding:0 13px!important;background:rgba(239,0,140,.86)!important;
    box-shadow:0 10px 26px rgba(0,0,0,.23)!important;
  }
  body.interior-menu-experiment .header .actions .revolt-header-login:hover,
  body.interior-menu-experiment .header .actions .web-menu-trigger:hover{
    background:#ef008c!important;color:#fff!important;
  }
}

/* Account canvas follows the contact canvas without leaving the current page. */
body.revolt-auth-open{overflow:hidden!important}
body.revolt-auth-open .revolt-cookie-notice{visibility:hidden!important;pointer-events:none!important}
.revolt-auth-backdrop{
  position:fixed;inset:0;z-index:99980;
  background:rgba(3,2,6,.68);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .35s ease,visibility .35s ease;
}
.revolt-auth-canvas{
  position:fixed;inset:0 0 0 auto;z-index:99981;
  box-sizing:border-box;width:min(560px,100vw);height:100dvh;overflow-y:auto;
  padding:clamp(94px,12vh,132px) clamp(24px,4vw,54px) 54px;
  background:linear-gradient(150deg,rgba(36,17,32,.97),rgba(9,7,13,.98));
  color:#fff;box-shadow:-20px 0 80px rgba(0,0,0,.35);
  opacity:0;visibility:hidden;pointer-events:none;transform:translateX(28px);
  transition:opacity .35s ease,visibility .35s ease,transform .35s ease;
}
.revolt-auth-backdrop.is-open,.revolt-auth-canvas.is-open{
  opacity:1;visibility:visible;pointer-events:auto;transform:none;
}
.revolt-auth-canvas [hidden]{display:none!important}
.revolt-auth-close{
  position:absolute;top:24px;right:clamp(24px,4vw,54px);
  width:48px;height:48px;display:grid;place-items:center;
  border:1px solid rgba(239,0,140,.9);border-radius:50%;
  background:rgba(18,12,21,.35);color:#fff;cursor:pointer;
  font:300 32px/1 Arial,sans-serif;transition:transform .25s,background .25s;
}
.revolt-auth-close:hover{transform:rotate(90deg);background:rgba(239,0,140,.35)}
.revolt-auth-kicker{
  color:#ef008c;font:700 11px/1.3 "Space Grotesk",Arial,sans-serif;
  letter-spacing:.2em;text-transform:uppercase;margin:0 0 18px;
}
.revolt-auth-canvas h2{
  max-width:10ch;margin:0;color:#fff;
  font:700 clamp(42px,5vw,70px)/.92 "Space Grotesk",Arial,sans-serif;
  letter-spacing:-.065em;text-transform:uppercase;
}
.revolt-auth-intro{max-width:43ch;margin:24px 0 34px;color:#d0c7d1;font:400 16px/1.6 Inter,Arial,sans-serif}
.revolt-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 32px}
.revolt-auth-tabs button{
  min-height:50px;padding:10px;border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.04);color:#ddd;cursor:pointer;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
  font:700 11px/1 "Space Grotesk",Arial,sans-serif;letter-spacing:.1em;
}
.revolt-auth-tabs button[aria-selected="true"]{background:#ef008c;color:#fff;border-color:#ef008c}
.revolt-auth-form{display:grid;gap:18px}
.revolt-auth-form>label:not(.revolt-auth-remember):not(.revolt-auth-honeypot){display:grid;gap:8px;color:#e6dfe7;font:600 12px/1.3 Inter,Arial,sans-serif}
.revolt-auth-form input:not([type="checkbox"]):not([type="hidden"]){
  box-sizing:border-box;width:100%;min-height:52px;padding:13px 15px;
  border:1px solid rgba(255,255,255,.22);border-radius:0;
  background:rgba(255,255,255,.045);color:#fff;font:500 16px/1.3 Inter,Arial,sans-serif;
}
.revolt-auth-form input:focus{outline:2px solid #ef008c;outline-offset:2px}
.revolt-auth-remember{display:flex;align-items:center;gap:10px;color:#ccc;font:400 12px/1.4 Inter,Arial,sans-serif}
.revolt-auth-remember input{accent-color:#ef008c}
.revolt-auth-submit{
  display:flex;align-items:center;justify-content:center;box-sizing:border-box;
  min-height:54px;padding:15px 22px;border:0;background:#ef008c;color:#fff;
  cursor:pointer;text-decoration:none;text-transform:uppercase;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
  font:700 12px/1 "Space Grotesk",Arial,sans-serif;letter-spacing:.1em;
}
.revolt-auth-submit:hover{background:#b6006b;color:#fff}
.revolt-auth-submit:disabled{opacity:.5;cursor:not-allowed}
.revolt-auth-forgot,.revolt-auth-logout{display:inline-block;margin-top:22px;color:#fff;text-underline-offset:5px;font:500 12px/1.4 Inter,Arial,sans-serif}
.revolt-auth-register-note,.revolt-auth-register-closed,.revolt-auth-preview,.revolt-auth-status,.revolt-auth-signed-in p{
  color:#cbc1cb;font:400 13px/1.55 Inter,Arial,sans-serif;
}
.revolt-auth-register-note,.revolt-auth-register-closed,.revolt-auth-preview{margin:18px 0 0}
.revolt-auth-status{margin:0 0 24px;padding:14px;border-left:2px solid #ef008c;background:rgba(239,0,140,.09)}
.revolt-auth-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.revolt-auth-signed-in .revolt-auth-submit{margin-top:24px}
.revolt-auth-canvas :focus-visible{outline:2px solid #ef008c;outline-offset:3px}
@media(max-width:700px){
  .revolt-auth-canvas{padding:104px 24px 38px}
  .revolt-auth-close{top:24px;right:24px}
  .revolt-auth-canvas h2{font-size:clamp(40px,12vw,54px)}
}
@media(prefers-reduced-motion:reduce){
  .revolt-auth-backdrop,.revolt-auth-canvas,.revolt-auth-close{transition:none!important}
}
@media(max-width:420px){
  body.interior-menu-experiment .header{left:8px!important;right:8px!important}
  body.interior-menu-experiment .header .header-main:has(.revolt-header-login){padding-inline:0!important;gap:4px!important}
  body.interior-menu-experiment .header .actions:has(.revolt-header-login){gap:6px!important}
}
@media(prefers-reduced-motion:reduce){body.interior-menu-experiment .header .actions .revolt-header-login{transition:none}}

/* Mobile template pass: keep the approved desktop composition untouched. */
@media(max-width:700px){
  /* All service pages share this hero; the longest heading must fit the viewport. */
  body.internal-page #inicio.service-v2-hero .ip-hero__content{min-width:0!important;max-width:calc(100vw - 40px)!important}
  body.internal-page #inicio.service-v2-hero h1{
    width:100%!important;max-width:100%!important;
    font-size:clamp(38px,12vw,50px)!important;
    line-height:.95!important;letter-spacing:-.06em!important;
    overflow-wrap:normal!important;
  }
  /* On phones, the 3D object introduces section 02 before its copy starts. */
  body.internal-page #descripcion.service-v2-description{
    padding-top:clamp(230px,65vw,285px)!important;
  }

  /* Shared footer: the contact address must not collapse into a narrow grid track. */
  html body .revolt-footer .footer-main{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    gap:42px!important;
  }
  html body .revolt-footer .footer-contact,
  html body .revolt-footer .footer-action{
    width:100%!important;min-width:0!important;max-width:none!important;
    grid-column:1!important;justify-self:start!important;
  }
  html body .revolt-footer .footer-email{
    display:block!important;width:100%!important;max-width:100%!important;
    font-size:clamp(26px,8vw,34px)!important;line-height:1.05!important;
    white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;
  }
  html body .revolt-footer .footer-navigation{
    grid-template-columns:minmax(0,1fr)!important;gap:28px!important;
  }
  html body .revolt-footer .footer-navigation nav{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px 12px!important;
  }
  html body .revolt-footer .footer-wordmark{
    max-width:100%!important;font-size:clamp(42px,13vw,60px)!important;
    text-align:left!important;
  }

  /* The shared fundamentals object gets its own row on narrow screens. */
  html body.revolt-curated #fundamentos .foundation-showcase .foundation-cards-row>.foundation-candy-stage{
    position:relative!important;top:auto!important;left:auto!important;
    height:clamp(210px,62vw,250px)!important;min-height:0!important;
    margin:0 auto 14px!important;order:-1!important;
  }
  html body.revolt-curated #fundamentos .foundation-showcase .foundation-cards-row>.foundation-candy-stage .foundation-diskette-3d{
    top:50%!important;left:50%!important;
    width:min(68vw,270px)!important;height:min(68vw,270px)!important;
    transform:translate(-50%,-50%)!important;
  }
  html body.revolt-curated #fundamentos .foundation-showcase .foundation-note,
  html body.revolt-curated #fundamentos .foundation-showcase .foundation-note:not(.is-expanded),
  html body.revolt-curated #fundamentos .foundation-showcase .foundation-note.is-expanded{
    display:grid!important;grid-template-columns:minmax(0,1fr) 36px!important;
    grid-template-rows:auto!important;gap:8px!important;
    height:auto!important;min-height:0!important;padding:20px 10px 26px!important;
  }
  html body.revolt-curated #fundamentos .foundation-showcase .foundation-note .foundation-index{
    top:22px!important;left:10px!important;
  }
  html body.revolt-curated #fundamentos .foundation-showcase .foundation-note .foundation-note-content,
  html body.revolt-curated #fundamentos .foundation-showcase .foundation-note:not(.is-expanded) .foundation-note-content,
  html body.revolt-curated #fundamentos .foundation-showcase .foundation-note.is-expanded .foundation-note-content{
    grid-column:1!important;grid-row:1!important;align-self:start!important;
    position:static!important;inset:auto!important;
    width:auto!important;max-width:none!important;min-width:0!important;
    margin:0!important;padding-left:48px!important;
  }
  html body.revolt-curated #fundamentos .foundation-showcase .foundation-note h3,
  html body.revolt-curated #fundamentos .foundation-showcase .foundation-note.is-expanded h3{
    font-size:clamp(25px,7vw,32px)!important;line-height:1!important;
  }
  html body.revolt-curated #fundamentos .foundation-showcase .foundation-note.is-expanded p{
    margin-top:22px!important;font-size:14px!important;line-height:1.55!important;
  }
  html body.revolt-curated #fundamentos .foundation-showcase .foundation-note button,
  html body.revolt-curated #fundamentos .foundation-showcase .foundation-note.is-expanded button{
    grid-column:2!important;grid-row:1!important;align-self:start!important;
    position:relative!important;inset:auto!important;justify-self:end!important;
    width:32px!important;height:32px!important;
  }
}
@media(max-width:420px){
  body.interior-menu-experiment .header .logo img{width:clamp(86px,25vw,98px)!important}
}

/* Mobile review: stronger editorial hierarchy, compact cards, and an intact 3D scene. */
@media(max-width:700px){
  body.revolt-curated #servicios .home-skills-intro h2{
    max-width:100%!important;margin:20px 0 24px!important;
    font-size:clamp(32px,8.5vw,44px)!important;
    line-height:.97!important;letter-spacing:-.055em!important;
  }
  body.revolt-curated #servicios .home-skills-intro h2>span{
    display:block!important;white-space:normal!important;
  }
  body.revolt-curated #servicios .home-skills-track{
    height:510px!important;min-height:510px!important;touch-action:pan-y!important;
  }
  body.revolt-curated #servicios .home-skill-card,
  body.revolt-curated #servicios .home-skill-card.is-current{
    padding:24px 20px 176px!important;
  }

  body.revolt-curated #reason .reason-video-slot{
    width:100%!important;justify-content:center!important;
  }
  body.revolt-curated #reason .reason-video-frame{
    width:min(100%,520px)!important;margin-inline:auto!important;
  }
  body.revolt-curated #reason .reason-video-frame>.reason-stat--orbit{
    position:absolute!important;top:auto!important;left:auto!important;
    right:14px!important;bottom:14px!important;z-index:5!important;
    width:124px!important;height:124px!important;min-width:0!important;
    margin:0!important;transform:none!important;
  }
  body.revolt-curated #reason .reason-video-frame>.reason-stat--orbit strong{
    font-size:31px!important;
  }

  html body .impact-metrics-mini{
    min-height:0!important;padding:112px 18px 52px!important;
  }
  html body .impact-metrics-mini__grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;align-items:start!important;
  }
  html body .impact-metrics-mini__grid article{
    min-width:0!important;padding:0!important;
  }
  html body .impact-metrics-mini__grid strong{
    white-space:nowrap!important;font-size:clamp(29px,8.2vw,43px)!important;
    line-height:1!important;letter-spacing:-.07em!important;
  }
  html body .impact-metrics-mini__grid p{
    margin:9px 0 0!important;font-size:clamp(9px,2.5vw,11px)!important;
    line-height:1.25!important;overflow-wrap:normal!important;
  }

  body.internal-page #main-content.revolt-chapters>.revolt-candy-stage .revolt-web-scene-backdrop{
    background-size:100% 100%,100% 100%,100% auto!important;
    background-position:center,center,center top!important;
    background-repeat:no-repeat!important;
  }
}

/* Shared account artwork; keep forms and art in separate columns. */
.revolt-auth-canvas { width:min(1060px,100vw); padding:0; display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1fr); }
.revolt-auth-canvas .revolt-auth-close { z-index:3; }
.revolt-auth-art { margin:0; position:sticky; top:0; height:100dvh; min-width:0; overflow:hidden; }
.revolt-auth-art img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.revolt-auth-content { min-width:0; padding:clamp(94px,12vh,132px) clamp(24px,3vw,44px) 54px; }
@media(max-width:700px) {
  .revolt-auth-canvas { display:block; padding:0!important; }
  .revolt-auth-art { position:relative; height:clamp(220px,34svh,320px); }
  .revolt-auth-art img { object-position:50% 0%; }
  .revolt-auth-content { padding:30px 24px 38px; }
}
/* Mobile skill hero: keep the candy artwork composed around the live 3D object. */
@media(max-width:700px){
  body.internal-page.service-skill-master #main-content.revolt-chapters>.revolt-candy-stage .revolt-web-scene-backdrop{
    background-size:100% 100%,100% 100%,auto 92svh!important;
    background-position:center,center,84% 44%!important;
    background-repeat:no-repeat!important;
  }
}
