﻿/* ==========================================================================
   Alma Web Studio · capa premium 2026
   Editorial, cálida, con más contraste, detalle y ritmo.
   Se carga después del sistema base y de la compatibilidad con Elementor.
   ========================================================================== */

:root{
  --paper-3:#F7F0E5;
  --sand-2:#E9DDCB;
  --shadow-soft:0 1px 0 rgba(23,20,15,.03), 0 18px 44px -30px rgba(23,20,15,.28);
  --shadow-card:0 2px 0 rgba(23,20,15,.02), 0 26px 60px -38px rgba(23,20,15,.42);
  --shadow-deep:0 34px 80px -44px rgba(23,20,15,.55);
  --r-lg:26px;
  --gold-soft:rgba(194,161,118,.34);
}

/* ---------- cabecera ---------- */

.alma-header{
  background:rgba(250,246,239,.9);
  border-bottom-color:rgba(23,20,15,.09);
  transition:box-shadow .35s var(--ease), background .35s var(--ease);
}
.alma-header.is-scrolled{
  background:rgba(250,246,239,.97);
  box-shadow:0 14px 36px -32px rgba(23,20,15,.5);
}
.alma-header__inner{height:84px}
.alma-brand__name{font-size:1.72rem}
.alma-brand__sub{font-size:8.5px;letter-spacing:.4em}
.alma-nav__list a{font-size:14px;letter-spacing:.005em}
.alma-nav__cta{min-height:46px;padding:0 22px}

/* ---------- superficies y ritmo ---------- */

.alma-section{padding:clamp(44px,4.9vw,72px) 0}
.alma-section--sand{
  background:
    radial-gradient(120% 90% at 100% 0%, rgba(255,255,255,.5) 0, rgba(255,255,255,0) 54%),
    linear-gradient(180deg, #F0E6D7 0%, #EDE1D0 100%);
}
.alma-section--paper2{
  background:
    radial-gradient(80% 100% at 0% 0%, rgba(255,255,255,.55) 0, rgba(255,255,255,0) 58%),
    var(--paper-3);
}
.alma-section--dark{
  background:
    radial-gradient(90% 120% at 100% 0%, rgba(194,161,118,.18) 0, rgba(194,161,118,0) 58%),
    radial-gradient(80% 100% at 0% 100%, rgba(154,74,34,.16) 0, rgba(154,74,34,0) 52%),
    var(--dark);
  isolation:isolate;
}
.alma-section--dark::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:radial-gradient(rgba(251,246,236,.16) .65px, transparent .65px);
  background-size:16px 16px;opacity:.18;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 24%,#000 76%,transparent);
  mask-image:linear-gradient(180deg,transparent,#000 24%,#000 76%,transparent);
}
.alma-section--cta{padding:clamp(60px,6.4vw,94px) 0;overflow:hidden}
.alma-section--cta::after{
  content:"";position:absolute;right:-140px;bottom:-220px;width:520px;height:520px;
  border:1px solid rgba(194,161,118,.3);border-radius:50%;pointer-events:none;
}
.alma-section--cta::before{
  border-radius:50%;right:auto;left:-180px;top:-220px;width:480px;height:480px;
  background:radial-gradient(circle,rgba(194,161,118,.17),transparent 68%);
  opacity:1;-webkit-mask-image:none;mask-image:none;
}

/* ---------- tipografía ---------- */

.alma-page h1{font-size:clamp(2.9rem,5.5vw,5.15rem);line-height:.95}
.alma-page h2{font-size:clamp(2rem,3.45vw,3.25rem);line-height:1;letter-spacing:-.027em}
.alma-page h3{letter-spacing:-.012em}
.alma-eyebrow{font-size:11.5px;letter-spacing:.19em;margin-bottom:20px}
.alma-eyebrow::before{width:34px;opacity:.72}
.alma-lead{font-size:clamp(1.08rem,1.2vw,1.26rem);line-height:1.66}
.alma-text{font-size:17.5px;line-height:1.73}
.alma-small{font-size:14.5px;line-height:1.55}
.alma-note{font-size:14.5px;line-height:1.62}
.alma-figcaption{font-size:14px;line-height:1.55;letter-spacing:.005em}
.alma-head{margin-bottom:clamp(30px,3.8vw,48px)}
.alma-head h2{margin-bottom:16px}
.alma-head--split{gap:16px clamp(24px,4vw,56px)}

/* ---------- botones ---------- */

.alma-btn{
  min-height:52px;padding:0 26px;font-size:15.5px;
  box-shadow:0 8px 20px -18px rgba(23,20,15,.4);
  transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease);
}
.alma-btn:hover{transform:translateY(-2px);box-shadow:0 16px 26px -20px rgba(23,20,15,.5)}
.alma-body .alma-btn--primary{background:linear-gradient(135deg,var(--ink) 0%,#2b241b 100%)}
.alma-body .alma-btn--primary:hover{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-deep) 100%)}
.alma-body .alma-btn--link{
  box-shadow:none;min-height:44px;padding:7px 0 3px;
  border-bottom-color:rgba(23,20,15,.38);
}
.alma-body .alma-btn--link::after{content:"↗";font-size:14px;margin-left:5px;transition:transform .25s var(--ease)}
.alma-body .alma-btn--link:hover::after{transform:translate(2px,-2px)}
.alma-actions{gap:12px;margin-top:32px}

/* ---------- hero ---------- */

.alma-hero{
  position:relative;isolation:isolate;
  padding-top:clamp(36px,4.4vw,60px);padding-bottom:clamp(42px,4.9vw,68px);
  gap:clamp(34px,5.6vw,82px);
}
.alma-hero::before{
  content:"";position:absolute;z-index:-1;right:-130px;top:-110px;width:620px;height:620px;
  background:radial-gradient(circle,rgba(194,161,118,.24) 0,rgba(194,161,118,0) 68%);
  pointer-events:none;
}
.alma-hero__copy{max-width:620px}
.alma-hero h1{margin-bottom:24px;text-wrap:balance}
.alma-hero .alma-lead{max-width:50ch}
.alma-hero__micro{
  gap:12px;margin-top:28px;padding-top:18px;border-top:1px solid var(--line);
  font-size:13.5px;letter-spacing:.05em;color:var(--ink-2);
}
.alma-hero__micro .alma-dot{background:var(--accent);opacity:.8}
.alma-hero__media{position:relative}
.alma-hero__media::after{
  content:"";position:absolute;z-index:-1;inset:14px -13px -13px 14px;
  border:1px solid var(--gold-soft);border-radius:calc(var(--r) + 6px);pointer-events:none;
}
.alma-hero__img{
  border-radius:var(--r-lg);box-shadow:var(--shadow-deep);
  background:linear-gradient(135deg,var(--sand),var(--sand-2));
}
.alma-hero__img img{aspect-ratio:4/5;object-position:50% 42%}
.alma-hero .alma-figcaption{
  margin-top:14px;padding-left:15px;border-left:2px solid var(--gold);
  font-size:13.5px;color:var(--ink-2);max-width:38ch;
}

/* ---------- cabeceras de página ---------- */

.alma-pagehead{
  padding:clamp(42px,5vw,70px) 0 clamp(30px,3.6vw,46px);
  position:relative;isolation:isolate;
}
.alma-pagehead::before{
  content:"";position:absolute;z-index:-1;right:4%;top:-60px;width:480px;height:480px;
  background:radial-gradient(circle,rgba(194,161,118,.22),transparent 68%);pointer-events:none;
}
.alma-pagehead h1{max-width:15ch;text-wrap:balance}
.alma-pagehead .alma-lead{max-width:56ch}
.alma-pagehead__meta{
  margin-top:28px;padding-top:15px;border-top:1px solid var(--line);
  font-size:12.5px;letter-spacing:.12em;color:var(--ink-2);
}
.alma-entry--portafolio .alma-pagehead{padding-bottom:clamp(44px,5.4vw,76px)}
.alma-entry--portafolio .alma-pagehead h1{max-width:12ch}
.alma-entry--alma-booking .alma-pagehead::before{
  width:620px;height:620px;right:-120px;top:-220px;
  background:radial-gradient(circle,rgba(154,74,34,.16),transparent 70%);
}
.alma-entry--alma-booking .alma-split--contain .alma-split__media img{
  width:100%;max-height:none;height:auto;aspect-ratio:16/10;object-fit:cover;
}

/* ---------- franja de confianza ---------- */

.alma-trust{
  border:1px solid var(--line);border-radius:20px;
  background:rgba(255,255,255,.42);box-shadow:var(--shadow-soft);
  overflow:hidden;
}
.alma-trust__item{padding:24px 28px}
.alma-trust__k{font-family:var(--serif);font-size:1.08rem;line-height:1.2;font-weight:500}
.alma-trust__v{font-size:14.5px;line-height:1.55;margin-top:5px}

/* ---------- tarjetas ---------- */

.alma-card{
  border-color:rgba(23,20,15,.12);border-radius:20px;background:#FFFCF7;
  box-shadow:var(--shadow-soft);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);
}
.alma-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-card);border-color:rgba(154,74,34,.25)}
.alma-card__img{border-radius:19px 19px 0 0}
.alma-card__img img{transition:transform .62s var(--ease)}
.alma-card:hover .alma-card__img img{transform:scale(1.035)}
.alma-card__body{padding:28px 26px 30px;gap:11px}
.alma-card__n{font-size:11.5px;letter-spacing:.22em}
.alma-card h3{font-size:1.42rem;line-height:1.12}
.alma-card .alma-text{font-size:16px;line-height:1.62}
.alma-card__price{font-size:13.5px;line-height:1.45;padding-top:13px;border-top:1px solid var(--line-soft);margin-top:4px}
.alma-card__cta{padding-top:17px}

/* ---------- líneas de servicio ---------- */

.alma-line{padding:clamp(30px,3.5vw,46px) 0;transition:padding .35s var(--ease)}
.alma-line__n{font-size:11.5px;letter-spacing:.24em}
.alma-line h3{font-size:clamp(1.8rem,2.5vw,2.4rem)}
.alma-line__who{font-size:16px;line-height:1.6;max-width:46ch}
.alma-line .alma-text{font-size:16.5px;line-height:1.7}
.alma-line__media{overflow:hidden;border-radius:16px;box-shadow:var(--shadow-soft)}
.alma-line__media img{transition:transform .68s var(--ease)}
.alma-line:hover .alma-line__media img{transform:scale(1.035)}
.alma-line__price{font-size:13.5px;letter-spacing:.05em}

/* ---------- portfolio ---------- */

.alma-entry--portafolio .alma-section:first-of-type{padding-top:0}
.alma-cases{counter-reset:case;gap:clamp(34px,4vw,58px)}
.alma-case{counter-increment:case;gap:19px;min-width:0}
.alma-case__media{position:relative;gap:12px;min-width:0}
.alma-case__img{
  border-radius:20px;border:1px solid rgba(23,20,15,.08);
  box-shadow:var(--shadow-card);background:linear-gradient(135deg,var(--sand),var(--paper-2));
}
.alma-case__img img{aspect-ratio:16/10;transition:transform .7s var(--ease),filter .45s var(--ease)}
.alma-case:hover .alma-case__img img{transform:scale(1.03)}
.alma-case__meta{
  display:flex;align-items:center;gap:9px;
  font-size:12px;letter-spacing:.17em;color:var(--accent);
}
.alma-cases .alma-case__meta::before{
  content:counter(case,decimal-leading-zero);
  font-family:var(--serif);font-size:13px;letter-spacing:.02em;
  color:var(--gold);padding-right:4px;border-right:1px solid var(--gold-soft);
}
.alma-case h3{font-size:clamp(1.55rem,2.1vw,2rem);margin:7px 0 11px}
.alma-case .alma-text{font-size:16.8px;line-height:1.7}
.alma-case__tags{margin-top:18px;gap:8px}
.alma-tag{font-size:12.5px;padding:7px 12px;background:rgba(255,255,255,.4)}
.alma-case__thumbs .alma-case__thumb{
  border-radius:13px;border:1px solid rgba(23,20,15,.08);background:var(--sand);
  box-shadow:0 10px 24px -24px rgba(23,20,15,.5);
}
.alma-case__thumbs .alma-case__thumb img{transition:transform .7s var(--ease),filter .35s var(--ease)}
.alma-case__thumbs .alma-case__thumb:hover img{transform:scale(1.035)}
.alma-case--wide{
  background:#FFFCF7;border:1px solid rgba(23,20,15,.09);border-radius:28px;
  padding:clamp(18px,2.6vw,30px);box-shadow:var(--shadow-soft);
  align-items:stretch;margin-bottom:0;
}
.alma-case--wide .alma-case__body{
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(8px,1.8vw,24px) clamp(4px,1.4vw,20px);
}
.alma-case--wide .alma-case__img{box-shadow:0 24px 50px -34px rgba(23,20,15,.5)}
.alma-case--wide .alma-case__thumbs{margin-top:0}
.alma-case--contain .alma-case__img{
  background:linear-gradient(135deg,var(--sand),var(--paper-3));
  padding:0;border:0;
}
.alma-case--contain .alma-case__img img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.alma-also{margin-top:clamp(40px,5vw,64px)}

/* ---------- planes ---------- */

.alma-plans{gap:clamp(14px,1.8vw,22px)}
.alma-plan{
  border-radius:22px;border-color:rgba(23,20,15,.12);background:#FFFCF7;
  padding:clamp(26px,2.8vw,36px) clamp(22px,2.4vw,30px);
  box-shadow:var(--shadow-soft);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);
}
.alma-plan:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);border-color:rgba(154,74,34,.24)}
.alma-plan__name{font-size:12.5px;letter-spacing:.19em}
.alma-plan__price{gap:10px;margin:17px 0 5px}
.alma-price__num{font-size:clamp(2.65rem,3.5vw,3.55rem)}
.alma-price__unit{
  font-size:13px;letter-spacing:.015em;text-transform:none;font-weight:500;
  line-height:1.35;color:var(--ink-2);max-width:12ch;
}
.alma-plan__desc{font-size:15.5px;line-height:1.55;color:var(--muted);min-height:48px;margin-top:7px}
.alma-plan__list{
  gap:11px;margin:20px 0 26px;padding-top:18px;border-top:1px solid var(--line-soft);
  font-size:15.5px;line-height:1.55;
}
.alma-plan__list li{padding-left:20px}
.alma-plan__list li::before{width:9px;background:var(--accent);top:.72em}
.alma-plan--featured{
  background:
    radial-gradient(100% 80% at 100% 0%, rgba(194,161,118,.16), transparent 58%),
    linear-gradient(155deg,#18140F 0%,#241D14 100%);
  background-color:#18140F;
  border-color:rgba(194,161,118,.42);
  box-shadow:0 30px 70px -44px rgba(23,20,15,.7);
}
.alma-plan--featured:hover{border-color:var(--gold)}
.alma-plan--featured .alma-plan__desc,.alma-plan--featured .alma-price__unit{color:rgba(251,246,236,.7)}
.alma-plan--featured .alma-plan__list{border-top-color:rgba(251,246,236,.16)}
.alma-plan__badge{font-size:10.5px;padding:5px 10px;letter-spacing:.12em}
.alma-soon{font-size:10.5px;padding:4px 8px;opacity:.78}
.alma-plan--featured .alma-soon{color:rgba(251,246,236,.85)}
.alma-plan .alma-actions{margin-top:auto}
.alma-plan .alma-btn{width:100%;min-height:50px}

/* ---------- bloques oscuros, miniplanes y CTA ---------- */

.alma-miniplan{
  border-color:rgba(251,246,236,.2);border-radius:16px;
  background:rgba(251,246,236,.04);
  transition:background .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease);
}
.alma-miniplan:hover{background:rgba(251,246,236,.08);border-color:rgba(194,161,118,.65);transform:translateY(-3px)}
.alma-miniplan__price{font-size:1.85rem}
.alma-miniplan__name{font-size:11.5px;letter-spacing:.17em}
.alma-cta h2{font-size:clamp(2.25rem,4.3vw,3.9rem);margin-bottom:18px;text-wrap:balance}
.alma-cta .alma-lead{font-size:clamp(1.08rem,1.3vw,1.3rem)}
.alma-section--dark .alma-actions .alma-btn--light{box-shadow:0 18px 34px -26px rgba(0,0,0,.7)}

/* ---------- prueba de Alma Booking ---------- */

.alma-trial-section{padding-top:clamp(34px,4vw,58px);padding-bottom:clamp(36px,4.5vw,64px)}
.alma-trial{
  position:relative;isolation:isolate;overflow:hidden;
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);
  gap:clamp(28px,4vw,64px);align-items:center;
  padding:clamp(28px,4.2vw,56px);
  border-radius:28px;
  background:
    radial-gradient(100% 120% at 100% 0%, rgba(194,161,118,.22), transparent 58%),
    linear-gradient(145deg,#17130F 0%,#241D14 100%);
  color:#FBF6EC;box-shadow:var(--shadow-deep);
}
.alma-trial::before{
  content:"";position:absolute;z-index:-1;right:-130px;bottom:-190px;width:440px;height:440px;
  border:1px solid rgba(194,161,118,.35);border-radius:50%;
}
.alma-trial h2,
.alma-trial .elementor-widget-heading .elementor-heading-title{color:#FBF6EC;font-size:clamp(1.9rem,3.1vw,2.8rem);margin:0 0 15px;max-width:15ch}
.alma-trial .alma-eyebrow{color:var(--gold);margin-bottom:16px}
.alma-trial .alma-lead{color:rgba(251,246,236,.78);font-size:clamp(1.02rem,1.2vw,1.18rem);max-width:48ch}
.alma-trial .alma-note{color:rgba(251,246,236,.56);font-size:14px;margin-top:16px;max-width:46ch}
.alma-trial__actions{display:flex;flex-direction:column;align-items:stretch;gap:11px;min-width:0}
.alma-trial__actions .alma-btn{width:100%}
.alma-trial__actions .alma-btn.alma-btn--link{color:#FBF6EC;border-color:rgba(251,246,236,.36);align-self:flex-start;width:auto}
.alma-trial__actions .alma-btn.alma-btn--link:hover{color:var(--gold)}
.alma-trial__small{font-size:13.5px;line-height:1.55;color:rgba(251,246,236,.58);margin-top:5px;max-width:34ch}

/* ---------- pasos, comparativas y datos ---------- */

.alma-step{border-top-color:rgba(23,20,15,.18);padding-top:22px}
.alma-step__n{font-size:11.5px;letter-spacing:.24em}
.alma-step h3{font-size:1.18rem}
.alma-step .alma-text{font-size:15.5px;line-height:1.62}
.alma-compare__col{border-radius:20px;box-shadow:var(--shadow-soft)}
.alma-fact{border-top-color:rgba(23,20,15,.18);padding-top:16px}
.alma-fact__k{font-size:11.5px;letter-spacing:.18em}
.alma-fact__v{font-size:1.3rem}
.alma-quote__text{text-wrap:balance}

/* ---------- FAQ ---------- */

.alma-faq{max-width:860px}
.alma-faq .elementor-toggle-item{
  border-top:1px solid var(--line);padding:0;
  transition:border-color .3s var(--ease);
}
.alma-faq .elementor-toggle-item:last-child{border-bottom:1px solid var(--line)}
.alma-faq .elementor-toggle-title{
  display:flex;align-items:flex-start;gap:14px;
  padding:20px 0;font-family:var(--serif);font-size:clamp(1.15rem,1.55vw,1.35rem);
  line-height:1.32;color:var(--ink);transition:color .25s var(--ease);
}
.alma-faq .elementor-toggle-title:hover{color:var(--accent)}
.alma-faq .elementor-toggle-icon{
  flex:none;width:25px;height:25px;margin-top:2px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line);border-radius:50%;color:var(--accent);
  transition:transform .3s var(--ease),background .3s var(--ease),color .3s var(--ease);
}
.alma-faq .elementor-toggle-icon svg{width:10px;height:10px;fill:currentColor}
.alma-faq .elementor-toggle-item.active .elementor-toggle-icon,
.alma-faq .elementor-toggle-item.elementor-active .elementor-toggle-icon{
  background:var(--accent);border-color:var(--accent);color:#fff;transform:rotate(90deg);
}
.alma-faq .elementor-tab-content{
  padding:0 0 22px 39px !important;font-size:16px;line-height:1.68;color:var(--ink-2);
}
.alma-section--dark .alma-faq .elementor-toggle-title{color:#FBF6EC}
.alma-section--dark .alma-faq .elementor-toggle-item{border-color:rgba(251,246,236,.18)}
.alma-section--dark .alma-faq .elementor-tab-content{color:rgba(251,246,236,.75)}
.alma-section--dark .alma-faq .elementor-toggle-icon{border-color:rgba(251,246,236,.28);color:var(--gold)}

/* ---------- formulario y contacto ---------- */

.alma-contact__info{padding-top:4px}
.alma-contact__links a{font-size:1.3rem;transition:color .25s var(--ease),border-color .25s var(--ease)}
.alma-field input,.alma-field select,.alma-field textarea{border-color:rgba(23,20,15,.28);border-radius:12px;background:#FFFCF7}
.alma-field label{font-size:14.5px}
.alma-form__note{font-size:13.5px}
.alma-form__selection{font-size:14.5px;background:var(--paper-3)}
.alma-check{font-size:14.5px}

/* ---------- pie ---------- */

.alma-footer{padding-top:clamp(54px,6vw,82px);border-top:1px solid rgba(251,246,236,.1)}
.alma-footer__inner{gap:clamp(26px,3.5vw,48px)}
.alma-footer__col h2{font-size:11.5px;color:rgba(243,235,221,.7)}
.alma-footer__col a{font-size:15.5px;padding:6px 0;transition:color .2s var(--ease),padding-left .25s var(--ease)}
.alma-footer__col a:hover{color:#fff;padding-left:3px}
.alma-footer__bottom{font-size:13px;color:rgba(243,235,221,.7)}

/* ---------- menú móvil ---------- */

.alma-mobile{
  position:fixed;inset:0;z-index:80;
  display:flex;flex-direction:column;
  width:100%;max-width:none;
  background:
    radial-gradient(90% 70% at 100% 0%, rgba(194,161,118,.18), transparent 60%),
    radial-gradient(80% 80% at 0% 100%, rgba(154,74,34,.18), transparent 62%),
    var(--dark);
  color:#FBF6EC;
  padding:0;overflow-y:auto;
  opacity:0;visibility:hidden;transform:translateY(-12px);
  transition:opacity .3s var(--ease),transform .42s var(--ease),visibility .3s;
}
.alma-mobile[hidden]{display:none}
.alma-mobile.is-open{opacity:1;visibility:visible;transform:none}
html.alma-menu-open,body.alma-menu-open{overflow:hidden;overscroll-behavior:none}
.alma-mobile__bar{
  position:sticky;top:0;z-index:2;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:18px clamp(18px,5vw,40px);
  background:rgba(20,17,13,.88);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(251,246,236,.13);
}
.alma-mobile__bar .alma-brand__name{color:#FBF6EC}
.alma-mobile__bar .alma-brand__sub{color:rgba(251,246,236,.6)}
.alma-mobile__close{
  display:inline-flex;align-items:center;gap:9px;
  min-height:44px;padding:0 14px 0 16px;
  border:1px solid rgba(251,246,236,.28);border-radius:999px;
  background:transparent;color:#FBF6EC;cursor:pointer;
  font-family:var(--sans);font-size:13px;letter-spacing:.06em;
  transition:background .25s var(--ease),border-color .25s var(--ease);
}
.alma-mobile__close:hover{background:rgba(251,246,236,.1);border-color:rgba(251,246,236,.55)}
.alma-mobile__close span{font-size:20px;line-height:1;font-weight:300}
.alma-mobile__inner{
  width:min(980px,calc(100% - 40px));margin:0 auto;
  padding:clamp(28px,6vw,64px) 0 48px;
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);
  grid-template-areas:"eyebrow eyebrow" "list cta" "foot foot";
  gap:22px clamp(28px,5vw,64px);align-items:start;
}
.alma-mobile__inner > .alma-eyebrow{grid-area:eyebrow;color:var(--gold);margin:0}
.alma-mobile__list{
  grid-area:list;counter-reset:mobilemenu;list-style:none;margin:0;padding:0;
  border-top:1px solid rgba(251,246,236,.16);
}
.alma-mobile__list li{
  counter-increment:mobilemenu;display:grid;grid-template-columns:35px minmax(0,1fr);
  align-items:baseline;border-bottom:1px solid rgba(251,246,236,.16);
}
.alma-mobile__list li::before{
  content:counter(mobilemenu,decimal-leading-zero);
  font-family:var(--sans);font-size:11px;letter-spacing:.12em;color:var(--gold);
}
.alma-mobile__list a{
  display:block;padding:16px 0;
  font-family:var(--serif);font-size:clamp(1.75rem,5vw,2.55rem);line-height:1.08;
  color:#FBF6EC;transition:color .22s var(--ease),transform .3s var(--ease);
}
.alma-mobile__list a:hover{color:var(--gold);transform:translateX(4px)}
.alma-mobile__cta{
  grid-area:cta;align-self:start;
  border:1px solid rgba(251,246,236,.2);border-radius:20px;
  padding:24px;background:rgba(251,246,236,.055);
}
.alma-mobile__cta p{font-size:16px;line-height:1.55;color:rgba(251,246,236,.78);margin:0 0 18px}
.alma-mobile__cta .alma-eyebrow{color:var(--gold);margin-bottom:14px}
.alma-mobile__cta .alma-btn{width:100%}
.alma-mobile__cta small{display:block;margin-top:14px;font-size:12.5px;line-height:1.5;color:rgba(251,246,236,.6)}
.alma-mobile__foot{
  grid-area:foot;display:flex;flex-wrap:wrap;gap:10px 24px;
  padding-top:22px;border-top:1px solid rgba(251,246,236,.16);
  font-size:14.5px;color:rgba(251,246,236,.68);
}
.alma-mobile__foot a{color:rgba(251,246,236,.85);border-bottom:1px solid rgba(251,246,236,.25);padding-bottom:2px}
.alma-mobile__foot a:hover{color:#fff;border-color:var(--gold)}
.alma-menu-open .alma-stage-badge{opacity:0}

/* ---------- legibilidad fina ---------- */

.alma-pagehead__meta,.alma-card__price,.alma-line__price,.alma-case__meta{font-weight:500}
.alma-plan__desc,.alma-plan__list,.alma-figcaption,.alma-note,.alma-small{text-wrap:pretty}

/* ==========================================================================
   Animaciones discretas
   Solo se activan cuando el JS ha marcado los elementos. Sin JS, todo visible.
   ========================================================================== */

@keyframes alma-rise{
  from{opacity:0;transform:translate3d(0,18px,0)}
  to{opacity:1;transform:none}
}
@keyframes alma-media-in{
  from{opacity:0;transform:translate3d(0,22px,0) scale(.988);clip-path:inset(0 0 8% 0 round 20px)}
  to{opacity:1;transform:none;clip-path:inset(0 0 0 0 round 20px)}
}

@media (prefers-reduced-motion:no-preference){
  /* El contenido está visible por defecto. La animación solo se ejecuta cuando
     el observador añade .is-in; si el JS falla, no se oculta nada. */
  html.alma-motion .alma-reveal.is-in{
    animation:alma-rise .56s var(--ease) backwards;
    animation-delay:var(--alma-delay,0ms);
  }
  html.alma-motion .alma-reveal--media.is-in{
    animation:alma-media-in .74s var(--ease) backwards;
    animation-delay:var(--alma-delay,0ms);
  }
  html.alma-motion .alma-reveal--soft.is-in{animation-duration:.52s}
  .alma-card,.alma-plan,.alma-case__img img,.alma-line__media img,.alma-miniplan,.alma-btn{will-change:auto}
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width:1100px){
  .alma-hero{gap:34px}
  .alma-case--wide{padding:22px}
}

@media (max-width:980px){
  .alma-page h1{font-size:clamp(2.45rem,6.2vw,3.8rem)}
  .alma-hero::before{right:-220px}
  .alma-case--wide{padding:20px}
  .alma-case--wide .alma-case__body{padding:4px}
  .alma-trial{grid-template-columns:1fr;gap:26px;align-items:start}
  .alma-trial__actions{max-width:430px}
}

@media (max-width:860px){
  .alma-header__inner{height:72px}
  .alma-hero{padding-top:30px;padding-bottom:44px;gap:32px}
  .alma-hero__img img{aspect-ratio:4/3}
  .alma-hero__media::after{inset:10px -9px -9px 10px}
  .alma-trust{border-radius:16px}
  .alma-trust__item{padding:17px 0}
  .alma-line{padding:30px 0}
  .alma-line__media{box-shadow:none}
  .alma-case--wide{padding:18px;border-radius:22px}
  .alma-mobile__inner{grid-template-columns:1fr;grid-template-areas:"eyebrow" "list" "cta" "foot";gap:24px}
  .alma-mobile__cta{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px}
  .alma-mobile__cta .alma-eyebrow,.alma-mobile__cta p,.alma-mobile__cta small{grid-column:1/-1}
  .alma-mobile__cta .alma-btn{width:auto;min-width:220px;justify-self:start}
}

@media (max-width:640px){
  .alma-body{font-size:17px}
  .alma-page h1{font-size:clamp(2.25rem,9.6vw,3rem);line-height:.98}
  .alma-page h2{font-size:clamp(1.8rem,7.6vw,2.35rem);line-height:1.03}
  .alma-page h3{font-size:1.3rem}
  .alma-lead{font-size:1.06rem;line-height:1.62}
  .alma-text{font-size:17px;line-height:1.7}
  .alma-section{padding:46px 0}
  .alma-section--cta{padding:62px 0}
  .alma-head{margin-bottom:28px}
  .alma-hero h1{max-width:14ch}
  .alma-hero__micro{font-size:12.5px;gap:8px;line-height:1.6}
  .alma-hero .alma-figcaption{font-size:13.5px}
  .alma-pagehead{padding:48px 0 34px}
  .alma-pagehead__meta{font-size:12px;line-height:1.55}
  .alma-btn{min-height:52px;font-size:15px;padding:0 22px}
  .alma-actions .alma-btn{width:100%}
  .alma-card__body{padding:24px 22px 26px}
  .alma-card .alma-text{font-size:16px}
  .alma-case{gap:16px}
  .alma-case h3{font-size:1.55rem}
  .alma-case .alma-text{font-size:16px}
  .alma-case__meta{font-size:11px;letter-spacing:.13em;flex-wrap:wrap}
  .alma-case__img img{aspect-ratio:4/3}
  .alma-case--contain .alma-case__img img{aspect-ratio:16/10}
  .alma-case--wide{padding:14px}
  .alma-case--wide .alma-case__body{padding:6px 4px 10px}
  .alma-case__thumbs{gap:8px}
  .alma-plan{padding:25px 21px;border-radius:18px}
  .alma-plan__desc{font-size:15.5px;min-height:0}
  .alma-plan__list{font-size:15.5px;line-height:1.55;gap:10px;margin:18px 0 24px;padding-top:16px}
  .alma-plan__list li{padding-left:20px}
  .alma-price__num{font-size:clamp(2.7rem,12vw,3.4rem)}
  .alma-price__unit{font-size:13px;max-width:14ch}
  .alma-plan__name{font-size:12px}
  .alma-plan__badge{font-size:10.5px}
  .alma-soon{font-size:10.5px}
  .alma-tag{font-size:12px;padding:7px 10px}
  .alma-figcaption{font-size:13.5px}
  .alma-note,.alma-small{font-size:14px}
  .alma-faq .elementor-toggle-title{font-size:1.16rem;padding:18px 0;gap:11px}
  .alma-faq .elementor-tab-content{padding:0 0 20px 36px !important;font-size:15.5px}
  .alma-mobile__bar{padding:14px 18px}
  .alma-mobile__inner{width:calc(100% - 36px);padding:26px 0 24px;gap:20px}
  .alma-mobile__list a{font-size:clamp(1.75rem,8.4vw,2.25rem);padding:11px 0}
  .alma-mobile__cta{display:block;padding:18px}
  .alma-mobile__cta .alma-btn{width:100%;margin-top:4px}
  .alma-mobile__foot{font-size:13.5px;gap:4px 18px;padding-top:14px}
  .alma-trust{border:0;background:transparent;box-shadow:none;overflow:visible}
  .alma-trust__item{padding:16px 0}
  .alma-trial{padding:24px 20px;border-radius:22px}
  .alma-trial__actions{max-width:none}
  .alma-trial__actions .alma-btn{font-size:14.5px;padding-inline:14px}
  .alma-trial__actions .elementor-button{font-size:15px;padding-left:16px;padding-right:16px}
  .alma-trial h2{max-width:17ch}
  .alma-trial .alma-lead{font-size:16px}
  .alma-trial__small{font-size:13px}
}

@media (max-width:380px){
  .alma-mobile__list a{font-size:1.7rem}
  .alma-case--wide{padding:10px}
  .alma-plan{padding:23px 18px}
}

/* ==========================================================================
   Remate editorial 2026 · Inicio, Digital Partner, Portafolio, Alma Booking
   ========================================================================== */

/* ---------- movimiento muy contenido ---------- */

@media (prefers-reduced-motion:no-preference) and (min-width:861px){
  .alma-parallax{
    --alma-parallax:0px;
    transform:translate3d(0,var(--alma-parallax),0);
    will-change:transform;
  }
}

/* ---------- Inicio · trabajo destacado ---------- */

.alma-home-work{padding-top:clamp(40px,4.8vw,68px)}
.alma-home-work .alma-head{margin-bottom:clamp(28px,3.6vw,44px)}
.alma-duo{
  display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  gap:clamp(26px,4vw,58px);align-items:start;
}
.alma-duo__item{min-width:0}
.alma-duo__item--secondary{margin-top:clamp(44px,7vw,92px)}
.alma-duo__media{
  position:relative;overflow:hidden;border-radius:26px;
  background:linear-gradient(135deg,var(--sand),var(--paper-2));
  box-shadow:var(--shadow-card);
}
.alma-duo__media--stack{
  overflow:visible;border-radius:0;background:none;box-shadow:none;
  padding-bottom:14%;
}
.alma-duo__media--stack .alma-duo__img{
  display:block;overflow:hidden;border-radius:26px;
  border:1px solid rgba(23,20,15,.08);box-shadow:var(--shadow-card);
  background:var(--sand);
}
.alma-duo__img img{
  display:block;width:100%;aspect-ratio:16/10;object-fit:cover;
  transition:transform .66s var(--ease);
}
.alma-duo__item--secondary .alma-duo__img img{aspect-ratio:4/3}
.alma-duo__item:hover .alma-duo__img img{transform:scale(1.022)}
.alma-duo__thumb{
  position:absolute;right:6%;bottom:0;width:39%;
  overflow:hidden;border-radius:18px;border:8px solid #FAF6EF;
  box-shadow:0 20px 44px -30px rgba(23,20,15,.6);
  background:var(--paper-2);
  transition:transform .55s var(--ease);
}
.alma-duo__thumb img{
  display:block;width:100%;aspect-ratio:1/1;object-fit:cover;
}
.alma-duo__item:hover .alma-duo__thumb{transform:translateY(-4px)}
.alma-duo__body{padding-top:22px}
.alma-duo__meta{
  font-size:12px;line-height:1.45;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent);font-weight:500;margin:0 0 9px;
}
.alma-duo h3{
  font-size:clamp(1.7rem,2.5vw,2.35rem);line-height:1.02;
  margin:0 0 11px;letter-spacing:-.025em;
}
.alma-duo .alma-text{font-size:16.5px;line-height:1.68;max-width:52ch}
.alma-duo__cta{margin-top:16px}
.alma-duo__actions{margin-top:clamp(34px,4.4vw,58px)}

/* ---------- Digital Partner ---------- */

.alma-dp-hero{
  position:relative;isolation:isolate;
  padding:clamp(38px,4.8vw,68px) 0 clamp(38px,4.6vw,64px);
}
.alma-dp-hero::before{
  content:"";position:absolute;z-index:-1;right:-120px;top:-100px;width:560px;height:560px;
  background:radial-gradient(circle,rgba(194,161,118,.2),transparent 68%);
  pointer-events:none;
}
.alma-dp-hero__grid{
  display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:clamp(32px,5vw,76px);align-items:center;
}
.alma-dp-hero h1{
  font-size:clamp(2.8rem,5.1vw,4.8rem);line-height:.97;max-width:13ch;
  margin:0 0 24px;text-wrap:balance;
}
.alma-dp-hero .alma-lead{max-width:52ch}
.alma-dp-hero__media{position:relative;min-width:0}
.alma-dp-hero__media::after{
  content:"";position:absolute;z-index:-1;inset:14px -12px -12px 14px;
  border:1px solid var(--gold-soft);border-radius:28px;pointer-events:none;
}
.alma-dp-hero__img{
  overflow:hidden;border-radius:26px;box-shadow:var(--shadow-deep);
  background:linear-gradient(135deg,var(--sand),var(--paper-2));
}
.alma-dp-hero__img img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.alma-dp-hero .alma-figcaption{margin-top:14px;padding-left:15px;border-left:2px solid var(--gold);color:var(--ink-2);max-width:38ch}

.alma-dp-intro__grid{
  display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:clamp(28px,5vw,72px);align-items:start;
}
.alma-dp-intro__head h2{max-width:12ch}
.alma-dp-intro__body .alma-text + .alma-text{margin-top:16px}
.alma-dp-facts{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;margin-top:32px;padding-top:18px;border-top:1px solid var(--line);
}
.alma-dp-fact{border-top:1px solid rgba(23,20,15,.18);padding-top:13px;min-width:0}
.alma-dp-fact .alma-fact__k{font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted);margin:0 0 5px}
.alma-dp-fact .alma-fact__v{font-family:var(--serif);font-size:1.18rem;line-height:1.25;margin:0}

.alma-dp-process .alma-head .alma-lead{color:rgba(251,246,236,.74)}
.alma-process{
  position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(18px,2.2vw,30px);margin-top:clamp(30px,4vw,46px);
  padding-top:18px;
}
.alma-process::before{
  content:"";position:absolute;top:18px;left:0;right:0;height:1px;
  background:linear-gradient(90deg,rgba(194,161,118,.6),rgba(251,246,236,.12));
}
.alma-process__step{position:relative;padding-top:26px;min-width:0}
.alma-process__step::before{
  content:"";position:absolute;top:-1px;left:0;width:9px;height:9px;border-radius:50%;
  background:var(--gold);box-shadow:0 0 0 5px rgba(194,161,118,.12);
}
.alma-process__n{font-size:11px;letter-spacing:.22em;color:var(--gold);margin:0 0 12px}
.alma-process h3{font-size:1.24rem;color:#FBF6EC;margin:0 0 8px}
.alma-process .alma-text{font-size:15.5px;line-height:1.62;color:rgba(251,246,236,.68);margin:0}
.alma-dp-process__note{
  max-width:58ch;margin:clamp(28px,3.4vw,44px) 0 0;padding-top:18px;
  border-top:1px solid rgba(251,246,236,.16);
  font-size:14.5px;line-height:1.6;color:rgba(251,246,236,.6);
}

.alma-priorities{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:clamp(28px,4.4vw,64px);border-top:1px solid var(--line);
}
.alma-priority{
  display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;
  padding:17px 0 16px;border-bottom:1px solid var(--line);min-width:0;
}
.alma-priority__n{
  font-family:var(--serif);font-size:13px;line-height:1.5;color:var(--gold);
  letter-spacing:.03em;padding-top:3px;
}
.alma-priority__t{font-family:var(--serif);font-size:1.18rem;line-height:1.25;color:var(--ink);margin:0 0 3px}
.alma-priority__d{font-size:15px;line-height:1.55;color:var(--muted);margin:0}
.alma-dp-priorities__note{margin:24px 0 0;max-width:64ch}

.alma-dp-plans__note{max-width:82ch;margin:24px 0 0}
.alma-dp-plan .alma-plan__desc{min-height:0}
.alma-dp-plans .alma-plan__list li{font-size:15px}

.alma-dp-fit__grid{
  display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  gap:clamp(28px,4.6vw,68px);align-items:center;
}
.alma-dp-fit__media{overflow:hidden;border-radius:26px;box-shadow:var(--shadow-card);background:var(--sand)}
.alma-dp-fit__img img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.alma-dp-fit__body h2{max-width:14ch}
.alma-dp-fit__list{margin:22px 0 0;display:grid;gap:11px;font-size:16px;line-height:1.6;color:var(--ink-2)}
.alma-dp-fit__list li{position:relative;padding-left:19px}
.alma-dp-fit__list li::before{content:"";position:absolute;left:0;top:.68em;width:8px;height:1px;background:var(--accent)}
.alma-dp-fit__body .alma-actions{margin-top:24px}

/* ---------- Portafolio ---------- */

.alma-portfolio-head{
  position:relative;isolation:isolate;
  padding:clamp(40px,4.8vw,66px) 0 clamp(30px,3.8vw,48px);
}
.alma-portfolio-head::before{
  content:"";position:absolute;z-index:-1;right:4%;top:-60px;width:460px;height:460px;
  background:radial-gradient(circle,rgba(194,161,118,.18),transparent 68%);pointer-events:none;
}
.alma-portfolio-head__grid{
  display:grid;grid-template-columns:minmax(0,1.34fr) minmax(230px,.66fr);
  gap:clamp(28px,5vw,72px);align-items:end;
}
.alma-portfolio-head h1{font-size:clamp(2.8rem,5.4vw,4.9rem);line-height:.96;max-width:12ch;margin:0 0 22px}
.alma-portfolio-head .alma-lead{max-width:58ch}
.alma-portfolio-head__aside{border-top:1px solid var(--line);padding-top:18px;min-width:0}
.alma-portfolio-head__count{font-family:var(--serif);font-size:clamp(3.2rem,5vw,5rem);line-height:.9;color:var(--accent);margin:0}
.alma-portfolio-head__label{font-size:15px;line-height:1.45;color:var(--ink-2);margin:7px 0 18px}
.alma-portfolio-head__sectors{font-size:12px;line-height:1.6;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}

.alma-works{display:flex;flex-direction:column;gap:clamp(30px,4.4vw,62px)}
.alma-work{
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:clamp(24px,4vw,60px);align-items:center;
  padding-top:clamp(26px,3.6vw,48px);border-top:1px solid var(--line);
  min-width:0;
}
.alma-works .alma-work:first-child{border-top:0;padding-top:0}
.alma-work__media{
  position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.5fr);
  gap:10px;align-items:end;min-width:0;
}
.alma-work__media > *:only-child{grid-column:1/-1}
.alma-work__img{
  overflow:hidden;border-radius:24px;border:1px solid rgba(23,20,15,.08);
  box-shadow:var(--shadow-card);background:linear-gradient(135deg,var(--sand),var(--paper-2));
}
.alma-work__img img{
  display:block;width:100%;aspect-ratio:16/10;object-fit:cover;
  transition:transform .68s var(--ease);
}
.alma-work:hover .alma-work__img img{transform:scale(1.024)}
.alma-work__thumb{
  overflow:hidden;border-radius:16px;border:1px solid rgba(23,20,15,.08);
  box-shadow:0 14px 30px -24px rgba(23,20,15,.55);background:var(--sand);
}
.alma-work__thumb img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .62s var(--ease)}
.alma-work:hover .alma-work__thumb img{transform:scale(1.03)}
.alma-work__body{min-width:0}
.alma-work__meta{
  font-size:12px;line-height:1.45;letter-spacing:.13em;text-transform:uppercase;
  color:var(--accent);font-weight:500;margin:0 0 9px;
}
.alma-work h3{
  font-size:clamp(1.7rem,2.65vw,2.55rem);line-height:1.02;letter-spacing:-.028em;
  margin:0 0 13px;
}
.alma-work__text{font-size:16.5px;line-height:1.72;color:var(--ink-2);margin:0;max-width:58ch}
.alma-work__tags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}
.alma-work__tags .alma-tag{font-size:12px;padding:7px 11px}
.alma-work__cta{margin:18px 0 0}
.alma-work--reverse .alma-work__media{order:2}
.alma-work--reverse .alma-work__body{order:1}
.alma-work--wide{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}
.alma-work--wide .alma-work__img img{aspect-ratio:16/9}

.alma-work--dark{
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  padding:clamp(18px,2.8vw,34px);border:0;border-radius:30px;
  background:
    radial-gradient(90% 100% at 100% 0%,rgba(194,161,118,.17),transparent 60%),
    linear-gradient(150deg,#17130F 0%,#261E15 100%);
  color:#FBF6EC;box-shadow:var(--shadow-deep);
}
.alma-work--dark .alma-work__meta{color:var(--gold)}
.alma-work--dark h3{color:#FBF6EC}
.alma-work--dark .alma-work__text{color:rgba(251,246,236,.78)}
.alma-work--dark .alma-tag{color:rgba(251,246,236,.88);background:rgba(251,246,236,.08);border-color:rgba(251,246,236,.19)}
.alma-work--dark .alma-btn--link{color:#FBF6EC;border-color:rgba(251,246,236,.38)}
.alma-work--dark .alma-btn--link:hover{color:var(--gold)}

.alma-work--overlay{display:block;position:relative;padding:0;border:0}
.alma-work--overlay .alma-work__media{display:block}
.alma-work--overlay .alma-work__img{border-radius:30px;border:0}
.alma-work--overlay .alma-work__img img{aspect-ratio:21/9;object-position:50% 48%}
.alma-work--overlay .alma-work__body{
  position:absolute;inset:auto 0 0 0;max-width:760px;
  padding:clamp(26px,4.2vw,52px);
  color:#fff;
  background:linear-gradient(0deg,rgba(15,12,9,.94) 0%,rgba(15,12,9,.66) 48%,rgba(15,12,9,0) 100%);
}
.alma-work--overlay .alma-work__meta{color:var(--gold)}
.alma-work--overlay h3{color:#fff}
.alma-work--overlay .alma-work__text{color:rgba(255,255,255,.84)}
.alma-work--overlay .alma-tag{color:#fff;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.24)}
.alma-work--overlay .alma-btn--link{color:#fff;border-color:rgba(255,255,255,.44)}
.alma-work--overlay .alma-btn--link:hover{color:var(--gold)}

.alma-work__media--portrait{
  display:flex;justify-content:center;align-items:flex-end;
  padding:clamp(18px,3vw,30px);border-radius:26px;
  background:
    radial-gradient(80% 80% at 50% 0%,rgba(255,255,255,.48),transparent 65%),
    linear-gradient(145deg,var(--sand),var(--paper-3));
  box-shadow:var(--shadow-soft);
}
.alma-work__media--portrait .alma-work__img{
  width:min(74%,360px);border-radius:18px;box-shadow:0 24px 54px -30px rgba(23,20,15,.55);
  border:0;
}
.alma-work__media--portrait .alma-work__img img{aspect-ratio:9/16;object-fit:cover;border-radius:18px}

.alma-work--compact{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(24px,4vw,54px)}
.alma-work--compact .alma-work__media{display:block}
.alma-work--compact .alma-work__img{border-radius:20px}
.alma-work--compact .alma-work__img img{aspect-ratio:4/3}
.alma-work--last{padding-top:clamp(20px,2.8vw,32px)}
.alma-work--last h3{font-size:clamp(1.55rem,2.2vw,2rem)}
.alma-work--last .alma-work__text{font-size:16px}
.alma-works__foot{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:20px;margin-top:clamp(30px,4vw,48px);padding-top:24px;border-top:1px solid var(--line);
}
.alma-works__foot .alma-note{margin:0;max-width:56ch}

/* ---------- Alma Booking · ejemplos reales ---------- */

.alma-booking-examples .alma-head{margin-bottom:clamp(26px,3.4vw,42px)}
.alma-example-grid{
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(12px,1.6vw,22px);align-items:stretch;
}
.alma-example{
  position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;
  min-height:340px;border-radius:24px;background:#1A1510;
  box-shadow:var(--shadow-card);
}
.alma-example__img{position:absolute;inset:0;z-index:0;margin:0;overflow:hidden;border-radius:0;background:var(--sand)}
.alma-example__img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .68s var(--ease)}
.alma-example:hover .alma-example__img img{transform:scale(1.03)}
.alma-example::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(0deg,rgba(12,10,8,.88) 0%,rgba(12,10,8,.3) 52%,rgba(12,10,8,0) 82%);
}
.alma-example__body{position:relative;z-index:2;padding:clamp(20px,2.8vw,32px);color:#fff;max-width:52ch}
.alma-example__kicker{font-size:11px;line-height:1.4;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 7px;font-weight:500}
.alma-example h3{font-size:clamp(1.5rem,2.2vw,2.05rem);line-height:1.04;color:#fff;margin:0 0 8px;letter-spacing:-.02em}
.alma-example__text{font-size:15.5px;line-height:1.6;color:rgba(255,255,255,.8);margin:0}
.alma-example__cta{margin:12px 0 0}
.alma-example__cta a{
  display:inline-flex;align-items:center;gap:5px;color:#fff;font-size:13px;letter-spacing:.04em;
  border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:2px;transition:color .25s var(--ease),border-color .25s var(--ease);
}
.alma-example__cta a:hover{color:var(--gold);border-color:var(--gold)}
.alma-example--a{grid-column:span 7;min-height:430px}
.alma-example--b{grid-column:span 5;min-height:350px;margin-top:clamp(18px,3vw,42px)}
.alma-example--c{grid-column:span 5;min-height:350px}
.alma-example--d{grid-column:span 7;min-height:410px;margin-top:calc(clamp(18px,3vw,42px) * -1)}
.alma-booking-examples__note{max-width:78ch;margin:22px 0 0}

/* ---------- ajustes finos de ritmo ---------- */

.alma-entry--portafolio .alma-pagehead{padding-bottom:clamp(30px,3.8vw,48px)}
.alma-entry--contacto .alma-pagehead{padding-bottom:clamp(24px,3vw,36px)}
.alma-section--sand + .alma-section--sand{padding-top:0}
.alma-works-section .alma-head--split{margin-bottom:clamp(28px,3.6vw,44px)}

@media (max-width:1100px){
  .alma-duo{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:32px}
  .alma-dp-hero__grid{gap:38px}
  .alma-work{gap:34px}
  .alma-example--a,.alma-example--d{min-height:380px}
}

@media (max-width:980px){
  .alma-duo{grid-template-columns:1fr;gap:38px}
  .alma-duo__item--secondary{margin-top:0}
  .alma-duo__media--stack{padding-bottom:12%}
  .alma-dp-hero__grid,.alma-dp-intro__grid,.alma-dp-fit__grid{grid-template-columns:1fr;gap:30px}
  .alma-dp-hero h1{max-width:14ch}
  .alma-dp-hero__media{max-width:680px}
  .alma-dp-intro__head h2,.alma-dp-fit__body h2{max-width:16ch}
  .alma-process{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 28px}
  .alma-process::before{display:none}
  .alma-process__step{padding-top:0}
  .alma-process__step::before{position:static;display:inline-block;margin-bottom:13px}
  .alma-portfolio-head__grid{grid-template-columns:1fr;gap:28px}
  .alma-portfolio-head__aside{max-width:430px}
  .alma-work,.alma-work--wide,.alma-work--dark,.alma-work--compact{grid-template-columns:1fr;gap:22px}
  .alma-work--reverse .alma-work__media{order:0}
  .alma-work--reverse .alma-work__body{order:0}
  .alma-work--dark{padding:clamp(22px,3.8vw,34px)}
  .alma-work--overlay .alma-work__img img{aspect-ratio:16/10}
  .alma-work__media--portrait{align-items:center}
  .alma-example--a,.alma-example--b,.alma-example--c,.alma-example--d{grid-column:span 6;min-height:360px;margin-top:0}
  .alma-example--a,.alma-example--d{min-height:400px}
}

@media (max-width:640px){
  .alma-duo__body{padding-top:17px}
  .alma-duo h3{font-size:1.7rem}
  .alma-duo .alma-text{font-size:16px}
  .alma-duo__media--stack{padding-bottom:13%}
  .alma-duo__thumb{width:40%;border-width:5px;right:5%}
  .alma-dp-hero{padding:30px 0 38px}
  .alma-dp-hero h1{font-size:clamp(2.25rem,9vw,3.1rem)}
  .alma-dp-hero .alma-actions .alma-btn{width:100%}
  .alma-dp-facts{grid-template-columns:1fr;gap:12px}
  .alma-dp-fact{padding-top:10px}
  .alma-process{grid-template-columns:1fr;gap:22px}
  .alma-priorities{grid-template-columns:1fr}
  .alma-priority{padding:14px 0}
  .alma-priority__t{font-size:1.12rem}
  .alma-priority__d{font-size:14.5px}
  .alma-portfolio-head{padding:30px 0 28px}
  .alma-portfolio-head h1{font-size:clamp(2.25rem,9.4vw,3.2rem)}
  .alma-work{padding-top:26px;gap:18px}
  .alma-work__media{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:7px}
  .alma-work__img img{aspect-ratio:4/3}
  .alma-work__thumb img{aspect-ratio:1/1}
  .alma-work h3{font-size:1.62rem}
  .alma-work__text{font-size:16px}
  .alma-work--overlay{display:flex;flex-direction:column;border-radius:22px;overflow:hidden}
  .alma-work--overlay .alma-work__img{border-radius:22px 22px 0 0}
  .alma-work--overlay .alma-work__img img{aspect-ratio:4/3}
  .alma-work--overlay .alma-work__body{position:relative;max-width:none;padding:20px;background:#17130F}
  .alma-work--overlay .alma-work__text{font-size:15.5px}
  .alma-work--dark{padding:18px;border-radius:22px}
  .alma-work--dark h3{font-size:1.6rem}
  .alma-work--compact,.alma-work--last{grid-template-columns:1fr}
  .alma-work--compact .alma-work__img img{aspect-ratio:16/10}
  .alma-works__foot{align-items:flex-start;flex-direction:column}
  .alma-works__foot .alma-btn{width:100%}
  .alma-example-grid{grid-template-columns:1fr;gap:12px}
  .alma-example--a,.alma-example--b,.alma-example--c,.alma-example--d{grid-column:1/-1;min-height:320px;margin-top:0}
  .alma-example--a,.alma-example--d{min-height:360px}
  .alma-example__body{padding:18px}
  .alma-example h3{font-size:1.55rem}
  .alma-example__text{font-size:15px}
  .alma-booking-examples__note{margin-top:16px}
}

@media (max-width:380px){
  .alma-duo__thumb{width:43%}
  .alma-work__media{grid-template-columns:1fr}
  .alma-work__thumb{display:none}
  .alma-example,.alma-example--a,.alma-example--d{min-height:300px}
}

/* Los widgets de Elementor se aplanan en esta capa. Los nuevos marcos de imagen
   necesitan ser cajas reales para conservar proporción, radio y recorte. */
body:not(.elementor-editor-active) .alma-el .alma-duo__img,
body:not(.elementor-editor-active) .alma-el .alma-duo__thumb,
body:not(.elementor-editor-active) .alma-el .alma-work__img,
body:not(.elementor-editor-active) .alma-el .alma-work__thumb,
body:not(.elementor-editor-active) .alma-el .alma-example__img,
body:not(.elementor-editor-active) .alma-el .alma-dp-hero__img,
body:not(.elementor-editor-active) .alma-el .alma-dp-fit__img{
  display:block !important;
}

body:not(.elementor-editor-active) .alma-el .alma-actions{
  flex-direction:row;
  flex-wrap:wrap;
  align-items:center;
}

.alma-dp-hero h1{
  font-size:clamp(2.6rem,4.4vw,4.1rem);
  max-width:15ch;
}

@media (max-width:640px){
  .alma-dp-hero h1{font-size:clamp(2.15rem,8.6vw,2.8rem);max-width:14ch}
}

/* ---------- ritmo compacto en páginas de servicio y contacto ---------- */

.alma-entry--servicios .alma-section,
.alma-entry--visibilidad-y-growth .alma-section{
  padding-top:clamp(38px,4.5vw,60px);
  padding-bottom:clamp(38px,4.5vw,60px);
}
.alma-entry--servicios .alma-pagehead,
.alma-entry--visibilidad-y-growth .alma-pagehead{
  padding-bottom:clamp(20px,2.6vw,34px);
}
.alma-entry--servicios .alma-head,
.alma-entry--visibilidad-y-growth .alma-head{
  margin-bottom:clamp(22px,2.8vw,34px);
}
.alma-entry--servicios .alma-line{
  padding-top:clamp(18px,2.4vw,28px);
  padding-bottom:clamp(18px,2.4vw,28px);
}
.alma-entry--contacto .alma-section + .alma-section{
  padding-top:clamp(22px,3vw,36px);
}
.alma-entry--contacto .alma-pagehead{
  padding-bottom:clamp(16px,2.2vw,26px);
}

/* ---------- Digital Partner: menos aire entre bloques ---------- */

.alma-entry--digital-partner .alma-dp-hero{
  padding-bottom:clamp(24px,3vw,40px);
}
.alma-entry--digital-partner .alma-dp-intro{
  padding-top:clamp(28px,3.4vw,46px);
  padding-bottom:clamp(34px,4vw,54px);
}

/* ---------- Alma Booking: ejemplos reales sin solapes ---------- */

.alma-booking-examples .alma-head{margin-bottom:clamp(24px,3vw,38px)}
.alma-example-grid{
  align-items:stretch;
  gap:clamp(16px,1.8vw,24px);
}
.alma-example{
  min-height:360px;
  border-radius:26px;
}
.alma-example::after{
  background:linear-gradient(0deg,rgba(12,10,8,.94) 0%,rgba(12,10,8,.58) 45%,rgba(12,10,8,.08) 82%);
}
.alma-example__body{
  padding:clamp(22px,2.6vw,32px);
  max-width:44ch;
}
.alma-example__kicker{font-size:12px;letter-spacing:.14em;margin-bottom:9px}
.alma-example h3{font-size:clamp(1.55rem,2.25vw,2.1rem);margin-bottom:9px}
.alma-example__text{font-size:16px;line-height:1.58;max-width:40ch}
.alma-example__cta{margin-top:13px}
.alma-example__cta a{font-size:13.5px}

.alma-example--a{grid-column:span 7;min-height:430px}
.alma-example--b{grid-column:span 5;min-height:350px;margin-top:80px;align-self:start}
.alma-example--c{grid-column:span 5;min-height:360px;align-self:end}
.alma-example--d{grid-column:span 7;min-height:410px;margin-top:0}

.alma-example--a .alma-example__img img{object-position:50% 48%}
.alma-example--b .alma-example__img img{object-position:50% 48%}
.alma-example--c .alma-example__img img{object-position:82% 50%}
.alma-example--d .alma-example__img img{object-position:78% 50%}

/* ---------- Booking: más cerca del inicio y menos hueco muerto ---------- */

.alma-entry--alma-booking .alma-pagehead{
  padding-bottom:clamp(18px,2.4vw,30px);
}
.alma-entry--alma-booking .alma-pagehead + .alma-section{
  padding-top:clamp(30px,3.8vw,48px);
}
.alma-entry--alma-booking .alma-split--contain .alma-split__media{
  align-self:start;
}

@media (max-width:1100px){
  .alma-example--a{min-height:380px}
  .alma-example--b{min-height:330px;margin-top:64px}
  .alma-example--c{min-height:330px}
  .alma-example--d{min-height:380px}
}

@media (max-width:980px){
  .alma-example--a,
  .alma-example--b,
  .alma-example--c,
  .alma-example--d{
    grid-column:span 6;
    min-height:360px;
    margin-top:0;
    align-self:stretch;
  }
  .alma-example--a,
  .alma-example--d{min-height:400px}
}

@media (max-width:640px){
  .alma-entry--servicios .alma-section,
  .alma-entry--visibilidad-y-growth .alma-section{
    padding-top:clamp(30px,6vw,40px);
    padding-bottom:clamp(30px,6vw,40px);
  }
  .alma-example-grid{grid-template-columns:1fr;gap:14px}
  .alma-example--a,
  .alma-example--b,
  .alma-example--c,
  .alma-example--d{
    grid-column:1/-1;
    min-height:330px;
    margin-top:0;
  }
  .alma-example--a,
  .alma-example--d{min-height:360px}
  .alma-example__body{padding:20px}
  .alma-example h3{font-size:1.55rem}
  .alma-example__text{font-size:15px}
}

/* La capa de convivencia con Elementor fija min-height:0 en los e-con;
   devolvemos una altura editorial mínima a los ejemplos de Booking. */
.alma-el .alma-example{min-height:360px}
.alma-el .alma-example--a{min-height:400px}
.alma-el .alma-example--b{min-height:330px;margin-top:70px}
.alma-el .alma-example--c{min-height:340px}
.alma-el .alma-example--d{min-height:380px}

@media (max-width:1100px){
  .alma-el .alma-example--a{min-height:380px}
  .alma-el .alma-example--b{min-height:320px;margin-top:60px}
  .alma-el .alma-example--c{min-height:330px}
  .alma-el .alma-example--d{min-height:370px}
}

@media (max-width:980px){
  .alma-el .alma-example--a,
  .alma-el .alma-example--b,
  .alma-el .alma-example--c,
  .alma-el .alma-example--d{
    min-height:360px;
    margin-top:0;
  }
  .alma-el .alma-example--a,
  .alma-el .alma-example--d{min-height:400px}
}

@media (max-width:640px){
  .alma-el .alma-example--a,
  .alma-el .alma-example--b,
  .alma-el .alma-example--c,
  .alma-el .alma-example--d{min-height:330px}
  .alma-el .alma-example--a,
  .alma-el .alma-example--d{min-height:360px}
}

/* El widget de imagen nativo impone height:auto; los ejemplos necesitan cubrir
   toda la tarjeta para que no quede una franja vacía bajo la fotografía. */
body:not(.elementor-editor-active) .alma-el .alma-example__img img{
  width:100% !important;
  height:100% !important;
  object-fit:cover;
}

.alma-entry--servicios .alma-section,
.alma-entry--visibilidad-y-growth .alma-section{
  padding-top:clamp(32px,3.8vw,48px);
  padding-bottom:clamp(32px,3.8vw,48px);
}
.alma-entry--servicios .alma-pagehead,
.alma-entry--visibilidad-y-growth .alma-pagehead{
  padding-bottom:clamp(16px,2.2vw,26px);
}
.alma-entry--servicios .alma-head,
.alma-entry--visibilidad-y-growth .alma-head{
  margin-bottom:clamp(18px,2.4vw,28px);
}
.alma-entry--servicios .alma-line{
  padding-top:clamp(16px,2vw,24px);
  padding-bottom:clamp(16px,2vw,24px);
}

/* Los ejemplos se leen como una ficha editorial: imagen arriba y una
   franja de texto oscura que aísla el copy de la captura del sitio. */
.alma-example{
  align-items:stretch;
}
.alma-example::after{
  background:linear-gradient(180deg,rgba(12,10,8,.2) 0%,rgba(12,10,8,0) 34%);
}
.alma-example__body{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  max-width:none;
  padding:clamp(22px,2.6vw,30px);
  background:linear-gradient(
    180deg,
    rgba(12,10,8,.58) 0%,
    rgba(12,10,8,.93) 16%,
    rgba(12,10,8,.97) 100%
  );
  border-top:1px solid rgba(255,255,255,.14);
}
.alma-example__text{max-width:46ch}
.alma-example__cta a{color:#fff}

@media (max-width:640px){
  .alma-example__body{padding:20px}
}

/* Selector de idioma existente: compacto, nativo y accesible por teclado. */
.alma-language{display:flex;align-items:center;flex:none}
.alma-language .gtranslate_wrapper{display:flex;align-items:center}
.alma-language select{max-width:112px;min-height:34px;padding:0 26px 0 10px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font:600 12px/1 var(--sans);letter-spacing:.04em;cursor:pointer}
.alma-language select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.alma-mobile__language{padding:20px 0;border-top:1px solid rgba(251,246,236,.16)}
.alma-mobile__language .alma-eyebrow{color:var(--gold);margin-bottom:12px}
.alma-language--mobile select{max-width:100%;min-width:140px;border-color:rgba(251,246,236,.32);color:#FBF6EC;background:rgba(251,246,236,.06)}
.alma-proof{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line);font:600 12px/1.5 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}

@media (max-width:860px){.alma-nav .alma-language{display:none}}

body:not(.elementor-editor-active) .alma-el .alma-example h3,
body:not(.elementor-editor-active) .alma-el .alma-example .elementor-heading-title{
  color:#fff !important;
}
.alma-example__body{
  background:linear-gradient(
    180deg,
    rgba(12,10,8,.74) 0%,
    rgba(12,10,8,.94) 15%,
    rgba(12,10,8,.97) 100%
  );
}

/* Enfocamos las capturas con mucho texto de interfaz en la parte útil de la
   fotografía, sin deformarlas y sin tocar el encuadre del resto de ejemplos. */
.alma-example--c .alma-example__img img{
  transform:scale(1.55);
  transform-origin:82% 50%;
}
.alma-example--c:hover .alma-example__img img{
  transform:scale(1.58);
}
.alma-example--d .alma-example__img img{
  transform:scale(1.16);
  transform-origin:78% 50%;
}
.alma-example--d:hover .alma-example__img img{
  transform:scale(1.19);
}

body:not(.elementor-editor-active) .alma-el .alma-work--dark h3,
body:not(.elementor-editor-active) .alma-el .alma-work--dark .elementor-heading-title,
body:not(.elementor-editor-active) .alma-el .alma-work--overlay h3,
body:not(.elementor-editor-active) .alma-el .alma-work--overlay .elementor-heading-title{
  color:#FBF6EC !important;
}

@media (min-width:981px){
  .alma-el .alma-work--overlay .alma-work__body{
    left:clamp(24px,3.4vw,46px);
    right:auto;
    bottom:clamp(24px,3.4vw,46px);
    width:min(590px,calc(100% - 2 * clamp(24px,3.4vw,46px)));
    max-width:none;
    padding:clamp(24px,2.8vw,34px);
    border-radius:20px;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(15,12,9,.9);
    box-shadow:0 24px 60px -34px rgba(0,0,0,.9);
    -webkit-backdrop-filter:blur(4px);
    backdrop-filter:blur(4px);
  }
  .alma-el .alma-work--overlay .alma-work__text{
    max-width:52ch;
    font-size:15.5px;
    line-height:1.6;
  }
}

@media (max-width:760px){
  .alma-el .alma-example{
    display:flex;
    flex-direction:column;
    min-height:0;
    height:auto;
    background:#17130F;
  }
  .alma-el .alma-example::after{
    display:none;
  }
  .alma-el .alma-example__img{
    position:relative;
    inset:auto;
    width:100%;
    height:220px;
    flex:0 0 auto;
  }
  .alma-el .alma-example__img img{
    width:100% !important;
    height:100% !important;
    object-position:50% 50% !important;
    transform:none !important;
  }
  .alma-el .alma-example__body{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    width:100%;
    max-width:none;
    background:#17130F;
    border-top:0;
    padding:20px;
  }
  .alma-el .alma-example--a,
  .alma-el .alma-example--b,
  .alma-el .alma-example--c,
  .alma-el .alma-example--d{
    min-height:0;
    height:auto;
  }
  .alma-el .alma-example h3{
    font-size:1.45rem;
  }
  .alma-el .alma-example__text{
    font-size:15px;
    line-height:1.58;
  }
}
/* El boton de volver arriba de Astra llega con el azul por defecto del tema;
   lo alineamos con la paleta editorial sin quitar la funcion. */
#ast-scroll-top.ast-scroll-top-icon{
  right:20px !important;
  bottom:42px !important;
  width:42px !important;
  height:42px !important;
  line-height:40px !important;
  border-radius:50% !important;
  background:rgba(23,20,15,.94) !important;
  color:#FBF6EC !important;
  border:1px solid rgba(194,161,118,.55) !important;
  box-shadow:0 12px 28px -14px rgba(0,0,0,.7) !important;
  transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease) !important;
}
#ast-scroll-top.ast-scroll-top-icon:hover,
#ast-scroll-top.ast-scroll-top-icon:focus-visible{
  background:#C2A176 !important;
  color:#17130F !important;
  transform:translateY(-2px);
}
#ast-scroll-top.ast-scroll-top-icon .ast-icon{
  font-size:16px;
}
@media (max-width:640px){
  #ast-scroll-top.ast-scroll-top-icon{
    right:14px !important;
    bottom:40px !important;
  }
}
/* Ajuste puntual de Portafolio: la introducción y el primer proyecto
   comparten pantalla; se conserva aire editorial sin una banda vacía. */
.alma-entry--portafolio .alma-portfolio-head{padding-bottom:24px}
.alma-entry--portafolio .alma-works-section{padding-top:16px}
.alma-entry--portafolio .alma-works-section .alma-head--split{margin-bottom:20px}

/* La lectura del proceso SEO gana ritmo sin alterar contenido ni planes. */
.alma-entry--visibilidad-y-growth .alma-cards:has(> :nth-child(6)){
  counter-reset:growth-step;
  gap:18px;
}
.alma-entry--visibilidad-y-growth .alma-cards:has(> :nth-child(6)) > .alma-card{
  position:relative;
  overflow:hidden;
  border-top:2px solid rgba(154,74,34,.42);
}
.alma-entry--visibilidad-y-growth .alma-cards:has(> :nth-child(6)) .alma-card__body::before{
  counter-increment:growth-step;
  content:counter(growth-step,decimal-leading-zero);
  display:block;
  margin:0 0 14px;
  font:500 11px/1 var(--sans);
  letter-spacing:.2em;
  color:var(--accent);
}
.alma-entry--visibilidad-y-growth .alma-cards:has(> :nth-child(6)) > .alma-card:nth-child(even){background:rgba(194,161,118,.08)}

/* El CTA de prueba mantiene la prioridad frente al contacto final. */
.alma-entry--alma-booking .elementor-element-a43175b .elementor-button{
  background:transparent;
  color:var(--ink);
  border-color:rgba(23,20,15,.28);
  box-shadow:none;
}
.alma-entry--alma-booking .elementor-element-a43175b .elementor-button:hover{
  background:var(--ink);
  color:#FBF6EC;
}

/* ---------- Estructura de lectura: columnas reales, sin reglas ciegas ---------- */

/* Las cabeceras de sección no reservan una segunda columna vacía. Los bloques
   de proyecto, comparativa y proceso conservan sus columnas originales: cada
   título permanece dentro de su propio bloque junto a texto, lista y CTA. */
@media (min-width:768px){
  .alma-el .alma-head--split{
    grid-template-columns:minmax(0,1fr);
    gap:12px;
    align-items:start;
    max-width:780px;
  }
  .alma-el .alma-head--split > *{grid-column:1}

  /* Solo los pares cuyo marcado es explícitamente inverso se reordenan como
     unidad: texto completo a un lado y su visual complementario al otro. */
  .alma-el .alma-split--reverse .alma-split__body,
  .alma-el .alma-dp-fit__body,
  .alma-el .alma-contact__info{order:-1}
}

/* Perfil profesional del portafolio: una introducción compacta, editable y
   separada de los casos para no competir con ellos. */
.alma-profile{padding-top:clamp(42px,5vw,76px);padding-bottom:clamp(42px,5vw,76px);background:var(--paper-2)}
.alma-profile__grid{display:grid!important;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(30px,5vw,82px);align-items:start}
.alma-profile__grid > *{min-width:0}
.alma-profile__grid > .alma-profile__intro{grid-column:1;grid-row:1}
.alma-profile__grid > .alma-profile__body{grid-column:2;grid-row:1}
.alma-profile__body{display:grid!important;gap:18px}
.alma-profile__lead{max-width:56ch;margin:0;color:var(--ink-2)}
.alma-profile__areas{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:6px 0 0}
.alma-profile__area{padding:18px;border:1px solid var(--line);background:rgba(251,246,236,.45)}
.alma-profile__area strong{display:block;margin-bottom:8px;font:600 12px/1.2 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}
.alma-profile__area p{margin:0;font-size:14px;line-height:1.55;color:var(--ink-2)}
@media (max-width:980px){.alma-profile__grid{grid-template-columns:1fr}.alma-profile__grid > .alma-profile__intro,.alma-profile__grid > .alma-profile__body{grid-column:1;grid-row:auto}.alma-profile__areas{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.alma-profile__areas{grid-template-columns:1fr}.alma-profile__area{padding:16px}}

/* Documentos legales y consentimiento del formulario. */
.alma-legal{max-width:980px;margin:0 auto;padding:clamp(44px,7vw,92px) clamp(20px,4vw,42px);color:var(--ink);font-family:var(--sans)}
.alma-legal h1{max-width:18ch;margin:0 0 18px;font-family:var(--serif);font-size:clamp(38px,5vw,68px);line-height:1.03;letter-spacing:-.04em}
.alma-legal h2{margin:clamp(34px,5vw,58px) 0 14px;font-family:var(--serif);font-size:clamp(26px,3vw,38px);line-height:1.12;letter-spacing:-.025em}
.alma-legal h3{margin:25px 0 9px;font-size:17px;line-height:1.3}.alma-legal p,.alma-legal li{max-width:78ch;color:var(--ink-2);line-height:1.7}.alma-legal ul{padding-left:1.2em}.alma-legal a{color:inherit;text-decoration-color:var(--accent);text-underline-offset:3px}.alma-legal__updated{font-size:14px;color:var(--ink-3)}
.alma-legal table{width:100%;border-collapse:collapse;margin:20px 0;font-size:14px}.alma-legal th,.alma-legal td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.alma-legal th{font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--accent)}
.alma-form__privacy{margin:11px 0 0;font-size:12px;line-height:1.5;color:var(--ink-3)}.alma-form__privacy a{text-decoration:underline;text-underline-offset:2px}
