:root{
  --color-ink:#0E1520;
  --color-ink-2:#172233;
  --color-ice:#EEF2EE;
  --color-white:#FFFFFF;
  --color-paper:#FAF8F4;
  --color-line-cool:#D4DDD5;
  --color-text:#141B26;
  --color-text-muted:#49554D;
  --color-text-invert:#F4F6FA;
  --color-text-invert-muted:#B9C6BD;
  --color-forest:#14241C;
  --color-forest-2:#1C3127;
  --color-acc-dev:#44704F;
  --color-acc-dev-light:#9CC4A2;
  --color-acc-dev-soft:#E0EBE2;
  --color-sand:#F5EDE2;
  --color-sand-card:#FFFCF7;
  --color-earth:#21180F;
  --color-earth-2:#2F2318;
  --color-earth-line:#47372A;
  --color-line-warm:#E2D4C1;
  --color-text-warm-muted:#5C4E40;
  --color-text-warm-invert-muted:#D3C5B3;
  --color-acc-adv:#A8461F;
  --color-acc-adv-light:#E8955F;
  --color-acc-adv-soft:#F5E0D3;
  --color-focus:#FFB547;

  --font-sans:'Onest', system-ui, sans-serif;
  --font-mono:'JetBrains Mono', ui-monospace, monospace;

  --fs-h1:112px;
  --fs-h2-block:56px;
  --fs-h2:44px;
  --fs-h3:28px;
  --fs-card-title:22px;
  --fs-stat:60px;
  --fs-stat-text:26px;
  --fs-lead:20px;
  --fs-bio:18px;
  --fs-body:17px;
  --fs-small:14px;
  --fs-eyebrow:13px;
  --fs-btn:16px;

  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --space-7:48px;
  --space-8:64px;
  --space-9:80px;
  --space-section:112px;
  --overlap:48px;

  --radius-sm:14px;
  --radius-md:20px;
  --radius-lg:28px;
  --radius-xl:40px;
  --radius-organic:160px;
  --radius-pill:999px;

  --contact-w:480px;
  --contact-h:56px;
  --cta-band-h:600px;
  --bio-text-w:660px;

  --container:1200px;
  --gutter:40px;
  --hero-h:900px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.6;color:var(--color-text);background:var(--color-sand);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
button{font:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;border-radius:6px}
[id]{scroll-margin-top:88px}

.skip-link{position:absolute;left:16px;top:-120px;z-index:50;background:var(--color-white);color:var(--color-ink);padding:12px 18px;border-radius:var(--radius-pill);font-weight:600;text-decoration:none}
.skip-link:focus{top:16px}

.container{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}

/* Contextos de bloque */
.block--dev{--acc:var(--color-acc-dev);--acc-on-dark:var(--color-acc-dev-light);--acc-soft:var(--color-acc-dev-soft);--muted:var(--color-text-muted);--line:var(--color-line-cool);--card-bg:var(--color-white);background:var(--color-ice);position:relative}
.block--adv{--acc:var(--color-acc-adv);--acc-on-dark:var(--color-acc-adv-light);--acc-soft:var(--color-acc-adv-soft);--muted:var(--color-text-warm-muted);--line:var(--color-line-warm);--card-bg:var(--color-sand-card);position:relative}
.is-dark{color:var(--color-text-invert);--muted:var(--color-text-invert-muted)}
.block--adv .is-dark{--muted:var(--color-text-warm-invert-muted)}

/* Tipografía */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:var(--fs-eyebrow);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--acc)}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}
.is-dark .eyebrow{color:var(--acc-on-dark)}
.h2-block{font-size:var(--fs-h2-block);line-height:1.04;letter-spacing:-.03em;font-weight:600}
.h2{font-size:var(--fs-h2);line-height:1.08;letter-spacing:-.025em;font-weight:600}
.h3{font-size:var(--fs-h3);line-height:1.18;letter-spacing:-.015em;font-weight:600}
.lead{font-size:var(--fs-lead);line-height:1.55;color:var(--muted)}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:var(--radius-pill);border:1.5px solid transparent;font-family:var(--font-sans);font-size:var(--fs-btn);font-weight:600;line-height:1.1;text-decoration:none;white-space:nowrap;background:none;color:inherit}
.btn--acc{background:var(--acc);color:var(--color-white)}
.btn--dev{background:var(--color-acc-dev);color:var(--color-white)}
.btn--adv{background:var(--color-acc-adv);color:var(--color-white)}
.btn--ghost{border-color:rgba(255,255,255,.75);color:var(--color-white)}
.btn--outline{border-color:var(--color-text);color:var(--color-text)}
.btn--light{background:var(--color-white);color:var(--color-ink)}
.btn--block{width:100%}
.btn--icon svg{flex:none}
.link-arrow{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;color:var(--acc);text-decoration:none}
.actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2)}

/* Recortes de imagen (encuadre explícito sobre la foto original) */
.crop{position:relative;overflow:hidden}
.crop img{position:absolute;max-width:none;height:auto}

/* Placeholder de foto */
.wdf-photo{position:relative;overflow:hidden;display:flex;align-items:flex-end;border-radius:var(--radius-lg);color:rgba(255,255,255,.9)}
.wdf-photo__art{position:absolute;inset:0;width:100%;height:100%;opacity:.5}
.wdf-photo__caption{position:relative;margin:14px;padding:6px 12px;border-radius:var(--radius-pill);background:rgba(14,24,18,.55);color:var(--color-white);font-size:12px;line-height:1.3}
.wdf-photo--cool{background:linear-gradient(160deg,#B4C6B8 0%,#5D7964 100%)}
.wdf-photo--code{background:linear-gradient(160deg,#25392D 0%,#122019 100%)}
.wdf-photo--slate{background:linear-gradient(160deg,#5F7567 0%,#2B3C32 100%)}
.wdf-photo--steel{background:linear-gradient(160deg,#869B8B 0%,#3F5446 100%)}
.wdf-photo--warm{background:linear-gradient(170deg,#C9A27F 0%,#7C5536 100%);color:#3A2414}
.wdf-photo--steppe{background:linear-gradient(170deg,#B7AE95 0%,#6B6148 100%);color:#2E2918}
.wdf-photo--desert{background:linear-gradient(170deg,#DDAA77 0%,#9A5A2E 100%);color:#4A2410}

.icon-badge{display:grid;place-items:center;width:52px;height:52px;flex:none;border-radius:16px;background:var(--acc-soft);color:var(--acc)}

/* Cabecera */
.site-header{position:absolute;top:0;left:0;right:0;z-index:20}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding:var(--space-5) var(--gutter)}
.site-header__brand{display:none;font-weight:600;font-size:20px;letter-spacing:-.02em;text-decoration:none;color:var(--color-white)}
.menu-toggle{display:none}
.main-nav ul,.lang-switch ul{display:flex;gap:2px;padding:4px;border-radius:var(--radius-pill);background:rgba(10,14,20,.5)}
.main-nav a{display:flex;align-items:center;min-height:44px;padding:0 18px;border-radius:var(--radius-pill);color:var(--color-white);font-size:15px;font-weight:500;text-decoration:none}
.lang-switch a{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0 6px;border-radius:var(--radius-pill);color:rgba(255,255,255,.85);font-size:14px;font-weight:600;letter-spacing:.04em;text-decoration:none}
.lang-switch a[aria-current="true"]{background:var(--color-white);color:var(--color-ink)}
.site-header.is-stuck{background:var(--color-ink)}
.site-header.is-stuck .site-header__brand{display:block}

/* Hero */
.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;height:var(--hero-h);overflow:hidden;background:var(--color-ink)}
.hero::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(255,255,255,.22);z-index:3}
.hero__half{position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:0 56px calc(var(--overlap) + 64px)}
.hero__half--dev{background:var(--color-forest)}
.hero__half--adv{justify-content:flex-end;text-align:right;background:var(--color-earth)}
.hero__media{position:absolute;inset:0}
.hero__half--dev .hero__img{width:1350px;left:-280px;top:0}
.hero__half--adv .hero__img{width:1977px;left:-993px;top:-174px}
.hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,28,18,.52) 0%,rgba(8,28,18,.40) 36%,rgba(8,28,18,.56) 58%,rgba(8,28,18,.68) 76%,rgba(8,28,18,.92) 100%)}
.hero__half--adv .hero__veil{background:linear-gradient(180deg,rgba(58,22,9,.44) 0%,rgba(58,22,9,.34) 36%,rgba(58,22,9,.52) 58%,rgba(58,22,9,.66) 76%,rgba(46,17,7,.92) 100%)}
.hero__half:hover .hero__veil{opacity:.82}
.hero__content{position:relative;z-index:2;display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.hero__half--adv .hero__content{align-items:flex-end}
.hero__role{display:flex;align-items:center;gap:12px;color:var(--color-white);font-size:15px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.hero__role::before{content:"";width:28px;height:3px;border-radius:3px;background:var(--color-acc-dev-light);flex:none}
.hero__half--adv .hero__role::before{background:var(--color-acc-adv-light)}
.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.hero__half--adv .hero__actions{justify-content:flex-end}
.hero__half--dev .btn--ghost{border-color:var(--color-acc-dev-light);background:rgba(20,36,28,.35)}
.hero__half--adv .btn--ghost{background:rgba(46,17,7,.3)}
.hero__credit{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.hero__title{position:absolute;left:50%;top:60%;transform:translate(-50%,-50%);z-index:4;color:var(--color-white);font-size:var(--fs-h1);font-weight:600;line-height:.9;letter-spacing:-.035em;text-transform:uppercase;white-space:nowrap;text-align:center;text-shadow:0 2px 30px rgba(0,0,0,.35);pointer-events:none}

/* Paneles redondeados */
.panel{position:relative;margin-inline:16px;border-radius:var(--radius-xl);overflow:hidden}
.panel__bg{position:absolute;inset:0}
.panel__veil{position:absolute;inset:0}
.panel__inner{position:relative;z-index:1;padding-top:var(--space-section);padding-bottom:var(--space-section)}
.panel--solid{background:var(--color-forest)}
.panel--acc{background:var(--color-acc-dev)}
.panel--earth{background:var(--color-earth)}

.section{padding-block:var(--space-section)}
.section-head{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:end;margin-bottom:56px}

/* Desarrollo · Propuesta */
.dev-intro{position:relative;z-index:5;margin-top:calc(var(--overlap) * -1);border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--color-ice);padding:var(--space-section) 0}
.dev-intro__grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.dev-intro__text{display:flex;flex-direction:column;gap:var(--space-5);align-items:flex-start}
.dev-intro__media .wdf-photo{aspect-ratio:5/6;border-radius:var(--radius-lg)}
.dev-intro__img{width:100%;aspect-ratio:5/6;height:auto;object-fit:cover;object-position:center;border-radius:var(--radius-lg);background:var(--color-forest)}
.motto{font-size:22px;font-weight:600;letter-spacing:-.01em;line-height:1.35;padding-left:18px;border-left:3px solid var(--acc)}

/* De problema a solución */
.problem .panel{background:var(--color-forest)}
.problem__bg-img{width:2400px;left:-420px;top:-300px}
.problem__veil{background:rgba(14,30,22,.88)}
.problem .h2{margin-top:var(--space-4)}
.steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:56px}
.steps::before{content:"";position:absolute;top:21px;left:22px;right:calc((100% - 96px) / 4 - 22px);height:2px;border-radius:2px;background:rgba(156,196,162,.4)}
.step__num{position:relative;z-index:1;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--color-forest);border:2px solid var(--color-acc-dev-light);font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--color-white)}
.step:last-child .step__num{background:var(--color-acc-dev);border-color:var(--color-acc-dev-light)}
.step__title{margin-top:var(--space-5);font-size:21px;font-weight:600;line-height:1.25;letter-spacing:-.01em}
.step__text{margin-top:6px;color:var(--muted)}
.problem__body{display:grid;grid-template-columns:5fr 6fr;gap:72px;margin-top:var(--space-9);padding-top:56px;border-top:1px solid rgba(255,255,255,.14)}
.problem__text{color:var(--muted);font-size:18px}
.problem__close{margin-top:var(--space-5);font-size:22px;font-weight:600;line-height:1.35;letter-spacing:-.01em;color:var(--color-acc-dev-light)}

/* Qué problemas resuelvo */
.features{padding-bottom:96px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5)}
.feature-card{display:flex;flex-direction:column;gap:var(--space-4);padding:40px 32px;background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius-lg)}
.feature-card__title{margin-top:var(--space-2);font-size:var(--fs-card-title);font-weight:600;line-height:1.25;letter-spacing:-.015em}
.feature-card__text{color:var(--muted);font-size:16px}

/* Cómo trabajo (desarrollo) */
.method{padding-bottom:var(--space-section)}
.method__inner{padding-top:96px;border-top:1px solid var(--line);max-width:calc(var(--container));padding-inline:0}
.method-list{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.method-item{padding-top:28px;border-top:2px solid var(--line)}
.method-item__num{display:block;font-size:56px;font-weight:600;line-height:1;letter-spacing:-.04em;color:var(--acc)}
.method-item__title{margin-top:var(--space-5);font-size:var(--fs-card-title);font-weight:600;letter-spacing:-.015em}
.method-item__text{margin-top:var(--space-2);color:var(--muted);font-size:16px}
.method-close{margin-top:var(--space-8);max-width:820px;font-size:20px;line-height:1.55;padding-left:var(--space-5);border-left:3px solid var(--acc)}

/* Confianza */
.trust__title{margin-top:var(--space-4);max-width:900px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:56px;border-top:1px solid rgba(255,255,255,.16)}
.stat{display:flex;flex-direction:column-reverse;justify-content:flex-end;padding:32px 32px 8px 0}
.stat + .stat{padding-left:32px;border-left:1px solid rgba(255,255,255,.16)}
.stat__value{font-size:var(--fs-stat);font-weight:600;line-height:1;letter-spacing:-.04em;color:var(--color-white)}
.stat__label{margin-top:var(--space-3);font-size:16px;line-height:1.45;color:var(--muted)}
.trust__grid{display:grid;grid-template-columns:7fr 5fr;gap:var(--space-9);margin-top:var(--space-9)}
.reasons{display:flex;flex-direction:column;gap:28px}
.reason{padding-left:var(--space-5);border-left:2px solid var(--acc-on-dark)}
.reason summary{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);list-style:none;font-size:20px;font-weight:600;line-height:1.3;letter-spacing:-.01em;cursor:pointer}
.reason summary::-webkit-details-marker{display:none}
.reason__icon{display:none}
.reason__text{margin-top:6px;color:var(--muted)}
.caps__title{font-size:22px}
.caps__list{display:grid;grid-template-columns:1fr 1fr;column-gap:32px;margin-top:var(--space-4)}
.caps__list li{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:17px;font-weight:500}

/* Proyectos (plantilla común) */
.project-card{display:flex;flex-direction:column;padding:12px;background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius-lg)}
.project-card__media{aspect-ratio:4/3;border-radius:var(--radius-md)}
.project-card__media--shot{position:relative;overflow:hidden;background:var(--color-forest)}
.project-card__media--shot::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(14,21,32,.08);pointer-events:none}
.project-card__img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:left top}
.project-card__body{display:flex;flex-direction:column;gap:10px;flex:1;padding:20px 12px 6px}
.project-card__title{font-size:var(--fs-card-title);font-weight:600;letter-spacing:-.015em;line-height:1.2}
.project-card__text{flex:1;color:var(--muted);font-size:15.5px;line-height:1.55}
.carousel-nav{display:none}
.carousel-nav__btn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:var(--card-bg);color:var(--color-text)}
.carousel-nav--dark .carousel-nav__btn{background:transparent;border-color:rgba(255,255,255,.3);color:var(--color-white)}

.evolution{display:grid;grid-template-columns:5fr 7fr;gap:72px;margin-top:96px;padding:56px;background:var(--color-white);border:1px solid var(--line);border-radius:var(--radius-lg)}
.evolution__title{font-size:var(--fs-h3);font-weight:600;line-height:1.18;letter-spacing:-.015em}
.evolution__title::before{content:"";display:block;width:40px;height:3px;border-radius:3px;background:var(--acc);margin-bottom:var(--space-5)}
.evolution__body{display:flex;flex-direction:column;gap:var(--space-4);color:var(--muted)}
.evolution__plus{font-weight:600;color:var(--color-text);font-size:18px}

/* Contacto (sin formulario): banda centrada con enlaces directos. */
.cta{padding-bottom:var(--space-section)}
.cta--dev{padding-bottom:calc(var(--space-section) + var(--overlap))}
.cta__inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-5);min-height:var(--cta-band-h);text-align:center}
.cta__title{max-width:720px}
.cta__lead{max-width:560px;font-size:var(--fs-lead);line-height:1.55;color:var(--color-white)}
.contact-links{display:grid;gap:var(--space-3);width:var(--contact-w);max-width:100%;margin-top:var(--space-4)}
.contact-links--two{grid-template-columns:1fr 1fr}
.contact-links--one{grid-template-columns:1fr}
.contact-links__btn{width:100%;min-height:var(--contact-h);font-size:17px}
.contact-links__btn svg{flex:none}
.cta--dev .btn--light{color:var(--color-forest)}
.cta--adv .btn--light{color:var(--color-earth)}
.cta--dev .btn--ghost{border-color:rgba(255,255,255,.8);background:rgba(20,36,28,.18)}
.cta__foot{width:min(100%,560px);margin-top:var(--space-3);padding-top:var(--space-5);border-top:1px solid rgba(255,255,255,.3)}
.cta__cross{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--color-white);font-weight:600;font-size:17px;text-underline-offset:5px}

/* Fondos fotográficos de las bandas de contacto */
.cta__bg-img--dev{width:100%;left:0;top:-170px}
.cta__veil--dev{background:rgba(52,94,64,.92)}

/* Sobre mí (v8: foto compacta 5fr / texto 8fr, alturas equilibradas) */
.bio{position:relative;z-index:3;margin-top:calc(var(--overlap) * -1);border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--color-paper);padding:var(--space-section) 0 calc(var(--space-section) + var(--overlap))}
.bio__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,8fr);gap:var(--space-8);align-items:center}
.bio__photo{width:100%;aspect-ratio:4/5;align-self:center;border-radius:var(--radius-xl) var(--radius-xl) var(--radius-xl) var(--radius-organic);background:var(--color-forest)}
.bio__photo .bio__img{left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.bio__text{display:flex;flex-direction:column;gap:20px;align-items:flex-start;max-width:var(--bio-text-w)}
.bio__text .h2{margin-bottom:var(--space-1)}
.bio__eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:var(--fs-eyebrow);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}
.bio__dots{display:inline-flex;gap:4px}
.bio__dots i{display:block;width:8px;height:8px;border-radius:50%;background:var(--color-acc-dev)}
.bio__dots i + i{background:var(--color-acc-adv)}
.bio__p{font-size:var(--fs-bio);line-height:1.6;color:var(--color-text)}
.bio__motto{position:relative;margin-top:var(--space-2);padding-top:var(--space-5);font-size:var(--fs-h3);font-weight:600;line-height:1.25;letter-spacing:-.015em}
.bio__motto::before,.bio__motto::after{content:"";position:absolute;top:0;width:32px;height:3px;border-radius:3px}
.bio__motto::before{left:0;background:var(--color-acc-dev)}
.bio__motto::after{left:38px;background:var(--color-acc-adv)}

/* Aventura · Propuesta */
.adv-intro{position:relative;z-index:4;margin-top:calc(var(--overlap) * -1);border-radius:var(--radius-xl) var(--radius-xl) 0 0;overflow:hidden;background:var(--color-earth)}
.adv-intro__bg-img{width:100%;left:0;top:-420px}
.adv-intro__veil{background:rgba(28,20,13,.74)}
.adv-intro__inner{position:relative;z-index:1;padding-top:128px;padding-bottom:calc(96px + var(--overlap))}
.adv-intro__text{display:flex;flex-direction:column;gap:var(--space-5);align-items:flex-start;max-width:780px}
.stats--adv{margin-top:var(--space-9);border-top-color:rgba(255,255,255,.2)}
.stats--adv .stat{justify-content:flex-start}
.stats--adv .stat__value{min-height:64px;display:flex;align-items:flex-end}
.stat__value--text{font-size:var(--fs-stat-text);line-height:1.15;letter-spacing:-.015em}

/* Qué puedo aportar */
.offers{position:relative;z-index:5;margin-top:calc(var(--overlap) * -1);border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--color-sand)}
.offer-card{display:flex;flex-direction:column;gap:var(--space-4);padding:40px;background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius-lg)}
.offer-card__head{display:flex;align-items:center;gap:20px}
.offer-card__title{font-size:24px;font-weight:600;line-height:1.2;letter-spacing:-.015em}
.offer-card__text{color:var(--muted)}
.offer-card__more summary{display:none}
.offer-card__list{margin-top:var(--space-2)}
.offer-card__list li{position:relative;padding:11px 0 11px 28px;border-top:1px solid var(--line);font-size:16px}
.offer-card__list li::before{content:"";position:absolute;left:0;top:22px;width:14px;height:2px;border-radius:2px;background:var(--acc)}

/* Cómo trabajo (aventura) */
.collab{background:var(--color-sand)}
.process{position:relative;display:grid;grid-template-columns:repeat(7,1fr);gap:12px}
.process::before{content:"";position:absolute;top:8px;left:9px;right:calc((100% - 72px) / 7 - 9px);height:2px;border-radius:2px;background:rgba(232,149,95,.45)}
.process__item{position:relative;font-size:15px;font-weight:600;line-height:1.3}
.process__item::before{content:"";position:relative;z-index:1;display:block;width:18px;height:18px;margin-bottom:20px;border-radius:50%;background:var(--color-earth);border:2px solid var(--color-acc-adv-light)}
.process__item:last-child::before{background:var(--color-acc-adv-light)}
.collab__subtitle{margin-top:var(--space-9);margin-bottom:var(--space-6)}
.collab-card{display:flex;flex-direction:column;gap:var(--space-3);padding:32px;background:var(--color-earth-2);border:1px solid var(--color-earth-line);border-radius:var(--radius-md)}
.collab-card::before{content:"";width:32px;height:3px;border-radius:3px;background:var(--color-acc-adv-light);margin-bottom:var(--space-2)}
.collab-card__title{font-size:20px;font-weight:600;letter-spacing:-.01em;line-height:1.25}
.collab-card__text{color:var(--muted);font-size:16px}

/* Proyectos aventura y En ruta */
.block--adv .projects{background:var(--color-sand)}
.about{background:var(--color-sand);padding-bottom:var(--space-section)}
.about__grid{display:grid;grid-template-columns:5fr 7fr;gap:var(--space-9);align-items:center}
.about__portrait{aspect-ratio:4/5;border-radius:var(--radius-lg);background:var(--color-earth)}
.about__img{width:523px;left:-56px;top:-60px}
.about__text{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.about__p{font-size:18px;line-height:1.65;color:var(--color-text)}
.about__more summary{display:none}
.chev{display:inline-block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px)}
.about .btn--outline{margin-top:var(--space-2)}
.cross-card{display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:center;margin-top:72px;padding:40px 48px;background:var(--color-forest);color:var(--color-text-invert);border-radius:var(--radius-lg)}
.cross-card__icon{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:rgba(156,196,162,.16);color:var(--color-acc-dev-light)}
.cross-card__title{font-size:26px;font-weight:600;letter-spacing:-.015em;color:var(--color-white)}
.cross-card__text p{margin-top:6px;color:var(--color-text-invert-muted);max-width:620px}

/* Contacto aventura */
.cta--adv{background:var(--color-sand)}
.cta--adv .panel{background:var(--color-acc-adv)}
.contact__bg-img{width:100%;left:0;top:-520px}
.contact__veil{background:rgba(150,58,24,.9)}

/* Pie */
.site-footer{background:var(--color-ink);color:var(--color-text-invert);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:72px 0 32px}
.footer__top{display:grid;grid-template-columns:1.2fr 1fr auto;gap:var(--space-7);align-items:center}
.footer__name{font-size:24px;font-weight:600;letter-spacing:-.02em}
.footer__tagline{margin-top:4px;color:#B7C1D1;font-size:15px}
.footer__nav ul{display:flex;flex-wrap:wrap;gap:4px}
.footer__nav a{display:flex;align-items:center;min-height:44px;padding:0 14px;font-size:15px;font-weight:500;text-decoration:none;color:var(--color-text-invert)}
.lang-switch--footer ul{background:rgba(255,255,255,.07)}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid rgba(255,255,255,.12);font-size:14px;color:#B7C1D1}
.footer__bottom a{display:inline-flex;align-items:center;min-height:44px;color:#B7C1D1;text-underline-offset:4px}

/* Tablet: encuadres fluidos con object-fit en lugar de px */
@media (max-width:1100px) and (min-width:768px){
  :root{--fs-h1:84px;--fs-h2-block:46px;--fs-h2:36px;--gutter:32px;--cta-band-h:520px}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .method-list{grid-template-columns:repeat(2,1fr)}
  .process{grid-template-columns:repeat(4,1fr);row-gap:28px}
  .process::before{display:none}
  .bio__grid{gap:48px}
  .hero__half .hero__img,.about__img,.cta__bg-img--dev,.contact__bg-img{left:0;top:0;width:100%;height:100%;object-fit:cover}
  .hero__half--dev .hero__img{object-position:56% 50%}
  .hero__half--adv .hero__img{object-position:70% 30%}
  .about__img{object-position:55% 30%}
  .cross-card{grid-template-columns:auto 1fr}
  .cross-card .btn{grid-column:1 / -1;justify-self:start}
}
