/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/mulish-400-normal-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/mulish-400-normal-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Mulish 500–800 woff2 files are not included in assets/fonts (only 400 is self-hosted).
   Browsers apply synthetic bold for weights 500–800 via font-synthesis (on by default). */
/* latin-ext */
@font-face {
  font-family: 'Spectral';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/spectral-400-italic-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Spectral';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/spectral-400-italic-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Spectral';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/spectral-500-italic-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Spectral';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/spectral-500-italic-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/spectral-400-normal-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/spectral-400-normal-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/spectral-500-normal-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/spectral-500-normal-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/spectral-600-normal-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/spectral-600-normal-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ============================================================
   ALMAVIVA — site styles
   (self-hosted Mulish + Spectral @font-face declared above)
   ============================================================ */

:root{
  --accent:#A8501F;
  --amber:#D99A6A;
  --olive:#3A4429;
  --ink:#23271E;
  --paper:#F2EFE6;
  --line:#DCD6C7;
  --maxw:1240px;
}

/* --- base / reset --- */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:'Mulish',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
section[id]{scroll-margin-top:96px}

.page{min-height:100vh;overflow-x:hidden}

/* --- shared layout / components --- */
.container{max-width:var(--maxw);margin-inline:auto;padding:92px 40px}

.eyebrow{font-size:12px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:var(--accent)}
.label{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.label__dash{width:30px;height:2px;background:var(--accent)}

.section-title{font-family:'Spectral',Georgia,serif;font-weight:600;font-size:clamp(26px,5vw,42px);line-height:1.1;color:var(--ink)}

.btn{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:700}
.btn--primary{color:#fff;background:var(--accent);padding:16px 30px}
.btn--primary:hover{filter:brightness(1.08)}
.btn--sm{padding:14px 26px}
.btn--ghost{font-weight:600;color:var(--olive);background:transparent;padding:16px 28px;border:1px solid rgba(58,68,41,.4);border-left:0}
.btn--ghost:hover{background:rgba(58,68,41,.07)}
.btn--light{color:var(--olive);background:#fff;padding:15px 28px}
.btn--light:hover{background:#EDEFE3}
.btn__arrow{font-size:17px}

/* split = editorial image + text two-column */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.media{position:relative;width:100%}
picture{display:block;width:100%}
.ac-img{display:block;width:100%;object-fit:cover;border:1px solid var(--line);box-shadow:0 24px 50px -28px rgba(35,39,30,.45)}
.ac-img--hero{height:560px;object-position:50% 14%;border-color:#E2D8C8;box-shadow:0 26px 54px -30px rgba(35,39,30,.4)}
.ac-img--quees{height:480px;object-position:50% 20%}
.ac-img--sobre{height:500px;object-position:50% 18%}

/* --- top nav --- */
.site-nav{position:fixed;inset:0 0 auto 0;z-index:70;background:#F4EFE6;border-bottom:1px solid rgba(35,39,30,.1)}
.site-nav__inner{position:relative;max-width:var(--maxw);margin-inline:auto;padding:15px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;transition:padding .3s ease}
.site-nav.is-floating .site-nav__inner{padding-top:8px;padding-bottom:8px}
.brand{display:flex;align-items:baseline;gap:11px}
.brand__name{font-family:'Spectral',Georgia,serif;font-size:23px;font-weight:600;letter-spacing:.3px;color:var(--ink)}
.brand__tag{font-size:10px;font-weight:800;letter-spacing:2.5px;color:var(--accent);text-transform:uppercase}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;width:46px;height:46px;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:0}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink)}
.nav-menu{display:flex;align-items:center;gap:30px}
.nav-link{font-size:14px;font-weight:500;color:#4A4E40}
.nav-link:hover{color:var(--accent)}
.nav-cta{font-size:14px;font-weight:700;color:#fff;background:var(--accent);padding:12px 22px;white-space:nowrap}
.nav-cta:hover{filter:brightness(1.08)}

/* --- hero --- */
.hero{position:relative;overflow:hidden;color:var(--ink);border-bottom:1px solid rgba(35,39,30,.08);background:radial-gradient(130% 100% at 82% -10%,#EFE1CF 0%,#F5F0E7 56%)}
.hero__inner{max-width:var(--maxw);margin-inline:auto;padding:150px 40px 0;display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:end}
.hero__copy{padding-bottom:88px}
.hero__eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:30px}
.hero__eyebrow span:last-child{font-size:11px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:#6A6E60}
.hero__title{font-family:'Spectral',Georgia,serif;font-weight:600;font-size:clamp(40px,11vw,118px);line-height:.86;letter-spacing:-2px;color:var(--olive)}
.hero__kicker{font-size:13px;font-weight:800;letter-spacing:7px;text-transform:uppercase;color:var(--accent);margin:18px 0 30px;padding-left:3px}
.hero__lede{font-family:'Spectral',Georgia,serif;font-style:italic;font-size:clamp(20px,2.7vw,28px);line-height:1.28;color:var(--ink);margin-bottom:16px;max-width:460px}
.hero__text{font-size:16px;line-height:1.66;color:#55594C;max-width:430px;margin-bottom:32px}
.hero__actions{display:flex;flex-wrap:wrap;gap:0}
.hero__frame{position:relative;width:100%;align-self:end}

/* --- equation strip --- */
.equation{background:var(--ink);color:#EDEFE3}
.equation__inner{max-width:var(--maxw);margin-inline:auto;padding:24px 40px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px}
.equation__term{font-family:'Spectral',Georgia,serif;font-size:clamp(18px,3vw,23px)}
.equation__op{color:#7E886A;font-size:20px}
.equation__result{font-family:'Spectral',Georgia,serif;font-style:italic;font-size:clamp(18px,3vw,23px);color:var(--amber)}

/* --- method intro (¿qué es?) --- */
.method{background:#F7F3EB}
.method .section-title{margin-bottom:22px}
.method__text p{font-size:clamp(16px,2.5vw,18px);line-height:1.68;color:#52564A;margin-bottom:16px}
.method__text p.is-last{margin-bottom:26px}
.checklist{display:flex;flex-direction:column;list-style:none;border-top:1px solid var(--line)}
.checklist li{display:flex;align-items:flex-start;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}
.checklist__dot{flex:none;width:9px;height:9px;background:var(--accent);margin-top:7px}
.checklist li span:last-child{font-size:16px;line-height:1.5;color:#34382C}

/* --- pull quote --- */
.pullquote{background:#9E4A1E}
.pullquote__inner{max-width:1000px;margin-inline:auto;padding:84px 40px;text-align:center}
.pullquote p{font-family:'Spectral',Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(24px,4vw,40px);line-height:1.32;color:#F4F1E8;text-wrap:balance}

/* --- five pillars --- */
.pillars-sec{background:#F2EDE3}
.pillars__head{max-width:680px;margin-bottom:46px}
.pillars{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line)}
.pillar{background:#fff;padding:30px 24px;border-right:1px solid var(--line)}
.pillar:nth-child(5){border-right:0}
.pillar__num{font-family:'Spectral',Georgia,serif;font-size:34px;font-style:italic;color:var(--accent)}
.pillar__title{font-size:clamp(14px,2.5vw,16px);font-weight:700;color:var(--ink);margin:18px 0 8px}
.pillar__text{font-size:13.5px;line-height:1.55;color:#6A6E60}

/* --- two paths --- */
.paths{background:#EDE7DB}
.paths__head{text-align:center;max-width:620px;margin:0 auto 44px}
.paths__head .section-title{margin-top:14px}
.card-2{display:grid;grid-template-columns:1fr 1fr;border:1px solid #D2CBB9}
.path{padding:46px}
.path--you{background:#E6EADA;border-right:1px solid #D2CBB9}
.path--team{background:var(--olive);color:#EDEFE3}
.path__eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase}
.path--you .path__eyebrow{color:#4E5A37}
.path--team .path__eyebrow{color:#C7D0AE}
.path__title{font-family:'Spectral',Georgia,serif;font-weight:600;font-size:clamp(22px,4vw,28px);margin:12px 0 14px}
.path--you .path__title{color:var(--ink)}
.path--team .path__title{color:#fff}
.path p{font-size:16px;line-height:1.65;margin-bottom:24px}
.path--you p{color:#4F5345}
.path--team p{color:#D2D6C5}
.path__link{font-size:15px;font-weight:700;padding-bottom:3px}
.path--you .path__link{color:var(--olive);border-bottom:2px solid var(--accent)}
.path--team .path__link{color:#fff;border-bottom:2px solid var(--amber)}

/* --- programs --- */
.programs{background:#E8E1D3}
.programs__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:44px;flex-wrap:wrap}
.programs__head-l{max-width:560px}
.programs__head .section-title{margin-top:14px}
.programs__intro{font-size:15px;color:#6A6E60;max-width:300px}
.program-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}
.program{display:block;background:#fff;padding:36px}
.program:hover{background:#FBF9F3}
.program:nth-child(odd){border-right:1px solid var(--line)}
.program:nth-child(1),.program:nth-child(2){border-bottom:1px solid var(--line)}
.program__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.program__tag{font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--accent)}
.program__arrow{font-size:20px;color:#9A9B8C}
.program__title{font-family:'Spectral',Georgia,serif;font-weight:600;font-size:clamp(21px,3.5vw,25px);color:var(--ink);margin-bottom:10px}
.program p{font-size:15px;line-height:1.6;color:#6A6E60}

/* --- companies --- */
.companies{background:#353E26;color:#EDEFE3}
.companies .eyebrow{color:#C7D0AE}
.companies__title{font-family:'Spectral',Georgia,serif;font-weight:600;font-size:clamp(26px,5vw,42px);line-height:1.12;color:#fff;margin:14px 0 20px;text-wrap:balance}
.companies__text{font-size:clamp(16px,2.5vw,18px);line-height:1.68;color:#D2D6C5;margin-bottom:22px}
.empresa-cards{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(237,239,227,.14);border:1px solid rgba(237,239,227,.14)}
.empresa-card{background:var(--olive);padding:26px}
.empresa-card__title{font-family:'Spectral',Georgia,serif;font-style:italic;font-size:28px;color:var(--amber)}
.empresa-card p{font-size:14px;line-height:1.55;color:#C8CCBC;margin-top:8px}

/* --- about --- */
.about{background:#E3DBCB}
.about__inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center}
.about .section-title{font-size:clamp(28px,5vw,46px);line-height:1.05;margin-bottom:20px}
.about__text{font-size:clamp(16px,2.5vw,18px);line-height:1.68;color:#52564A;margin-bottom:26px;max-width:560px}
.stats{display:flex;flex-wrap:wrap;margin-bottom:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat{padding:18px 28px}
.stat:first-child{padding-left:0}
.stat:not(:first-child){border-left:1px solid var(--line)}
.stat__num{font-family:'Spectral',Georgia,serif;font-size:36px;color:var(--olive)}
.stat__label{font-size:13px;color:#6A6E60}
.about__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.socials{display:flex;gap:0}
.social{width:46px;height:46px;border:1px solid #D2CBB9;display:flex;align-items:center;justify-content:center;color:var(--olive)}
.social+.social{border-left:0}
.social--bold{font-weight:600}
.social:hover{background:#EAE4D6}

/* --- contact --- */
.contact{background:#F4EFE6}
.contact__head{text-align:center;max-width:600px;margin:0 auto 44px}
.contact__head .section-title{margin-top:14px;font-size:clamp(28px,5vw,46px);line-height:1.08}
.contact__head p{font-size:17px;color:#52564A;margin-top:14px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;max-width:780px;margin-inline:auto;border:1px solid var(--line)}
.contact-card{display:block;padding:42px;text-align:center}
.contact-card--email{background:#E6EADA;border-right:1px solid var(--line)}
.contact-card--email:hover{filter:brightness(.98)}
.contact-card--wa{background:var(--accent);color:#fff}
.contact-card--wa:hover{filter:brightness(1.06)}
.contact-card__label{font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}
.contact-card--email .contact-card__label{color:#4E5A37}
.contact-card--wa .contact-card__label{color:#FBE6D6}
.contact-card__value{font-family:'Spectral',Georgia,serif;font-size:22px;margin-bottom:18px}
.contact-card--email .contact-card__value{color:var(--ink)}
.contact-card--wa .contact-card__value{color:#fff}
.contact-card__btn{font-size:14px;font-weight:700;padding:12px 26px;display:inline-block}
.contact-card--email .contact-card__btn{color:#fff;background:#4E5A37}
.contact-card--wa .contact-card__btn{color:var(--accent);background:#fff}

/* --- footer --- */
.site-footer{background:#1F231A;color:#C8CABF}
.site-footer__inner{max-width:var(--maxw);margin-inline:auto;padding:48px 40px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.site-footer .brand__name{color:#fff}
.site-footer .brand__tag{color:var(--amber)}
.footer-links{display:flex;gap:24px}
.footer-link{font-size:14px;display:inline-flex;align-items:center;min-height:44px}
.footer-link:hover{color:#fff}
.footer-copy{font-size:13px;color:#8C8E81}

/* --- floating WhatsApp --- */
.wa-float{position:fixed;bottom:24px;right:24px;z-index:100;width:58px;height:58px;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px -8px rgba(37,211,102,.6)}
.wa-float:hover{transform:scale(1.06)}

/* ============================================================
   Responsive (placed last so these win on tie)
   ============================================================ */
@media (max-width:900px){
  .hero__inner{grid-template-columns:1fr;gap:36px}
  .hero__frame{max-width:440px}
}
@media (max-width:768px){
  .container{padding-left:24px;padding-right:24px}
  .split,.about__inner,.card-2,.program-grid,.contact-grid,.testi-grid{grid-template-columns:1fr}
  .about__inner{gap:36px}
  .pillars{grid-template-columns:1fr 1fr}
  .split__media{order:-1}
  .nav-toggle{display:flex}
  .nav-menu{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;background:#F4EFE6;border-top:1px solid rgba(35,39,30,.1);padding:8px 24px 14px}
  .nav-menu.open{display:flex}
  .nav-menu a{min-height:48px;display:flex;align-items:center;color:var(--ink)}
  .ac-img{height:auto;aspect-ratio:4/5}
}
@media (max-width:480px){
  .container{padding-left:20px;padding-right:20px}
  .pillars{grid-template-columns:1fr}
  .empresa-cards{grid-template-columns:1fr}
}
