:root{--fs-h1:60px;--fs-h2-block:36px;--fs-h2:30px;--fs-h3:22px;--fs-card-title:20px;--fs-stat:40px;--fs-stat-text:22px;--fs-lead:18px;--fs-body:16px;--space-section:72px;--gutter:20px;--overlap:32px;--radius-xl:32px;--radius-organic:96px;--contact-h:52px;--cta-band-h:440px}
[id]{scroll-margin-top:72px}

/* Cabecera */
.site-header__inner{padding:12px 16px}
.main-nav{display:none}
.menu-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px 0 14px;border:0;border-radius:var(--radius-pill);background:rgba(10,14,20,.55);color:var(--color-white);font-size:15px;font-weight:600}
.lang-switch a{min-width:40px;font-size:13px}

/* Hero apilado */
.hero{display:block;height:auto}
.hero::after{display:none}
.hero__half{height:430px;padding:0 var(--gutter)}
.hero__half--dev{align-items:flex-start;padding-top:80px}
.hero__half--adv{margin-top:-36px;border-radius:36px 36px 0 0;z-index:2;justify-content:flex-start;align-items:flex-end;text-align:left;padding-bottom:calc(var(--overlap) + 32px)}
.hero__half--dev .hero__img{width:998px;left:-337px;top:-13px}
.hero__half--adv .hero__img{width:721px;left:-230px;top:-195px}
.hero__half--dev .hero__veil{background:linear-gradient(180deg,rgba(8,28,18,.82) 0%,rgba(8,28,18,.58) 45%,rgba(8,28,18,.42) 70%,rgba(8,28,18,.6) 100%)}
.hero__half--adv .hero__veil{background:linear-gradient(180deg,rgba(58,22,9,.56) 0%,rgba(58,22,9,.26) 30%,rgba(58,22,9,.62) 58%,rgba(46,17,7,.92) 100%)}
.hero__content,.hero__half--adv .hero__content{width:100%;align-items:stretch;gap:14px}
.hero__role{font-size:13px;letter-spacing:.08em}
.hero__actions,.hero__half--adv .hero__actions{flex-direction:column;gap:4px;justify-content:flex-start}
.hero__actions .btn{width:100%;min-height:52px}
.hero__actions .btn--ghost,.hero__half--dev .btn--ghost,.hero__half--adv .btn--ghost{width:auto;min-height:44px;justify-content:flex-start;padding:0;border:0;background:none;text-decoration:underline;text-underline-offset:5px}
.hero__credit{order:3;font-size:10px;text-align:left}
.hero__title{top:345px;transform:translateX(-50%);font-size:var(--fs-h1);line-height:.92}
.hero__title span{display:block}

/* Generales */
.section-head{grid-template-columns:1fr;gap:var(--space-4);margin-bottom:36px}
.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;gap:var(--space-4)}
.panel{margin-inline:8px;border-radius:28px}
.panel__inner{padding-top:64px;padding-bottom:64px}
.btn{white-space:normal;text-align:center}
.actions{flex-direction:column;align-items:stretch;width:100%;gap:4px}
.actions .btn{width:100%}
.actions .btn--outline,.actions .btn--ghost{width:auto;align-self:flex-start;min-height:44px;padding:0;border:0;text-decoration:underline;text-underline-offset:5px}

/* Desarrollo · Propuesta */
.dev-intro{padding:56px 0 var(--space-section)}
.dev-intro__grid{grid-template-columns:1fr;gap:32px}
.dev-intro__media{order:-1}
.dev-intro__media .wdf-photo{aspect-ratio:16/10;border-radius:var(--radius-md)}
.dev-intro__img{aspect-ratio:16/10;border-radius:var(--radius-md)}
.motto{font-size:19px}

/* Problema a solución: línea de tiempo vertical */
.problem__bg-img{width:2800px;left:-1300px;top:-100px}
.steps{grid-template-columns:1fr;gap:24px;margin-top:40px}
.steps::before{top:22px;bottom:40px;left:21px;right:auto;width:2px;height:auto}
.step{display:grid;grid-template-columns:44px 1fr;column-gap:18px}
.step__num{grid-row:span 2}
.step__title{margin-top:10px;font-size:19px}
.step__text{grid-column:2;margin-top:2px}
.problem__body{grid-template-columns:1fr;gap:20px;margin-top:48px;padding-top:40px}
.problem__text{font-size:16px}
.problem__close{padding:20px;border-radius:var(--radius-md);background:rgba(255,255,255,.08);font-size:19px}

/* Tarjetas y método */
.features{padding-bottom:56px}
.feature-card{padding:28px 24px}
.method__inner{padding-top:56px;padding-inline:var(--gutter);border-top:0}
.method-list{grid-template-columns:1fr;gap:24px}
.method-item{display:grid;grid-template-columns:56px 1fr;column-gap:12px;padding-top:20px}
.method-item__num{grid-row:span 2;font-size:36px}
.method-item__title{margin-top:2px}
.method-item__text{grid-column:2}
.method-close{margin-top:40px;font-size:18px;padding-left:18px}

/* Confianza: cifras 2x2 y razones plegadas */
.stats{grid-template-columns:1fr 1fr;margin-top:36px}
.stat,.stat + .stat{padding:24px 12px 20px 0;border-left:0;border-bottom:1px solid rgba(255,255,255,.14)}
.stat:nth-child(even){padding-left:16px;border-left:1px solid rgba(255,255,255,.14)}
.stat__label{font-size:14px}
.trust__grid{grid-template-columns:1fr;gap:48px;margin-top:48px}
.reasons{gap:10px}
.reason{padding-left:16px}
.reason summary{min-height:48px;font-size:17px}
.reason .reason__text{display:none}
.reason__icon{display:block;position:relative;width:28px;height:28px;flex:none;border-radius:50%;border:1.5px solid rgba(255,255,255,.4)}
.reason__icon::before,.reason__icon::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}
.reason__icon::after{transform:translate(-50%,-50%) rotate(90deg)}
.caps__list li{font-size:16px}

/* Carruseles */
.carousel{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:85%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scroll-padding-inline:var(--gutter);scrollbar-width:none}
.carousel > *{scroll-snap-align:start}
.carousel-nav{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}

.evolution{grid-template-columns:1fr;gap:20px;margin-top:56px;padding:28px 24px}
.evolution__title{font-size:22px}
.evolution__plus{font-size:17px}

/* Contacto: todo centrado y apilado, enlaces a ancho completo */
.cta__inner{gap:18px}
.cta__lead{font-size:17px}
.contact-links{width:100%;margin-top:6px}
.contact-links--two{grid-template-columns:1fr;gap:12px}
.contact-links__btn{font-size:16px}
.cta__foot{width:100%;margin-top:6px;padding-top:16px}
.cta__cross{font-size:16px}
.cta__bg-img--dev{width:900px;left:-260px;top:-40px}

/* Sobre mí (igual que v7: foto apaisada arriba, texto debajo) */
.bio{padding:56px 0 calc(var(--space-section) + var(--overlap))}
.bio__grid{grid-template-columns:1fr;gap:32px}
.bio__photo{aspect-ratio:5/4;border-radius:var(--radius-md) var(--radius-md) var(--radius-md) var(--radius-organic)}
.bio__photo .bio__img{object-position:50% 35%}
.bio__text{gap:18px;max-width:none}
.bio__text .h2{margin-bottom:0}
.bio__p{font-size:17px}
.bio__motto{margin-top:var(--space-2);font-size:23px}

/* Aventura · Propuesta */
.adv-intro__bg-img{width:1000px;left:-450px;top:-150px}
.adv-intro__inner{padding-top:64px;padding-bottom:calc(64px + var(--overlap))}
.stats--adv{margin-top:48px}
.stats--adv .stat__value{min-height:0}
.stats .stat--wide{grid-column:1 / -1;padding-left:0;border-left:0}

/* Qué puedo aportar: listas plegadas */
.offers{padding-top:56px}
.offer-card{padding:28px 24px;gap:14px}
.offer-card__head{gap:16px}
.offer-card__title{font-size:20px}
.offer-card__more summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding-top:8px;border-top:1px solid var(--line);font-weight:600;color:var(--acc);list-style:none;cursor:pointer}
.offer-card__more summary::-webkit-details-marker{display:none}
.offer-card__list{display:none}

/* Proceso vertical */
.process{grid-template-columns:1fr;gap:0}
.process::before{top:20px;bottom:20px;left:8px;right:auto;width:2px;height:auto}
.process__item{display:flex;align-items:center;gap:18px;min-height:40px;font-size:16px}
.process__item::before{margin-bottom:0;flex:none}
.collab__subtitle{margin-top:48px;margin-bottom:20px}
.collab-card{padding:24px}

/* En ruta */
.about__grid{grid-template-columns:1fr;gap:28px}
.about__portrait{aspect-ratio:16/10;border-radius:var(--radius-md)}
.about__img{width:465px;left:-86px;top:-74px}
.about__p{font-size:17px}
.about__more summary{display:inline-flex;align-items:center;gap:10px;min-height:48px;font-weight:600;color:var(--acc);list-style:none;cursor:pointer}
.about__more summary::-webkit-details-marker{display:none}
.about__more .about__p{display:none}
.about .btn--outline{width:100%}
.cross-card{grid-template-columns:1fr;gap:18px;margin-top:48px;padding:28px 24px}
.cross-card__icon{width:52px;height:52px;border-radius:16px}
.cross-card__title{font-size:22px}
.cross-card .btn{width:100%}

/* Contacto aventura */
.contact__bg-img{width:900px;left:-300px;top:-300px}

/* Pie */
.site-footer{padding:56px 0 24px}
.footer__top{grid-template-columns:1fr;gap:28px}
.footer__nav ul{flex-direction:column;gap:0}
.footer__nav a{padding:0;border-bottom:1px solid rgba(255,255,255,.08)}
.lang-switch--footer{justify-self:start}
.footer__bottom{flex-direction:column;align-items:flex-start;gap:4px;margin-top:32px}
