
:root{--navy:#061d2b;--deep:#03131d;--mint:#17e6cf;--ink:#0a2535;--muted:#506576;--line:#dce5eb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink);background:#f7f9fa}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #ffb24c;outline-offset:3px}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:30;background:white;padding:12px}.wrap{max-width:1300px;margin:auto;padding:0 28px}.header{background:#061d2b;color:white;position:sticky;top:0;z-index:20;border-bottom:1px solid #23424e}.head{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:24px}.brand{display:flex;gap:13px;align-items:center;min-width:245px}.monogram{font-weight:900;font-size:32px;letter-spacing:-5px;color:var(--mint)}.brand strong{display:block;font-size:15px}.brand small{display:block;color:#a5beca;font-size:11px}.nav{display:flex;gap:2px;align-items:center}.nav a{display:flex;align-items:center;padding:13px 10px;min-height:44px;font-size:14px;white-space:nowrap}.nav a[aria-current=page]{color:var(--mint);border-bottom:2px solid var(--mint)}.pill{border:1px solid var(--mint);border-radius:30px;padding:11px 18px;color:var(--mint);white-space:nowrap}.menu{display:none;background:transparent;border:1px solid #597581;color:white;border-radius:8px;padding:9px 12px;min-height:44px;min-width:44px;font-size:23px}.hero{background:linear-gradient(90deg,rgba(2,20,30,.96) 0%,rgba(2,24,36,.82) 43%,rgba(3,30,37,.27) 100%),url('hero.webp') center/cover;color:white;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr .72fr;min-height:460px;align-items:end;gap:30px}.hero-copy{padding:65px 0 58px;position:relative;z-index:2}.eyebrow{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--mint);font-weight:800}.hero h1{font-size:clamp(39px,4.5vw,68px);line-height:1.06;letter-spacing:-.05em;margin:18px 0}.accent{color:var(--mint)}.hero p{font-size:clamp(17px,1.7vw,22px);line-height:1.5;color:#e4edf1;max-width:590px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:30px;padding:14px 24px;font-weight:750;min-height:48px;background:var(--mint);color:#00202a}.btn.outline{background:transparent;color:white;border:1px solid #9ec7c7}.hero-portrait{height:445px;object-fit:contain;object-position:bottom;width:100%;filter:drop-shadow(0 12px 22px #021018aa)}.specialties{background:white;border-bottom:1px solid var(--line)}.special-grid{display:grid;grid-template-columns:repeat(5,1fr)}.special{display:flex;align-items:center;gap:10px;padding:20px 12px;border-right:1px solid var(--line);font-size:13px;font-weight:750}.special:last-child{border:0}.special svg{width:28px;height:28px;flex-shrink:0;stroke:#087d91;fill:none;stroke-width:2}.section{padding:66px 0}.section h2{font-size:clamp(29px,3vw,42px);letter-spacing:-.04em;margin:0 0 10px}.lead{color:var(--muted);line-height:1.65;font-size:17px;max-width:760px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.card{background:white;border-radius:14px;overflow:hidden;box-shadow:0 4px 15px #082e3d13;border:1px solid #e6ecef}.card img{width:100%;height:230px;object-fit:cover;display:block}.card-body{padding:22px}.card h3{font-size:24px;line-height:1.15;margin:0 0 9px}.card p{color:var(--muted);line-height:1.55;margin:0 0 14px}.card a.more{color:#006b77;font-weight:800}.dark{background:#062638;color:white}.dark .lead{color:#c1d4dd}.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:25px}.post{background:white;border:1px solid #e4ebef;border-radius:12px;overflow:hidden}.post img{width:100%;height:170px;object-fit:cover;display:block}.post-body{padding:18px}.tag{display:inline-block;background:#b1f8e9;color:#03443e;font-size:11px;font-weight:800;padding:5px 8px;border-radius:5px}.post h3{font-size:18px;margin:10px 0;line-height:1.3}.post p{color:var(--muted);font-size:14px;line-height:1.5}.page-hero{background:#082b3c;color:white;padding:68px 0}.page-hero h1{font-size:clamp(36px,4.5vw,62px);margin:10px 0;letter-spacing:-.05em}.page-hero p{max-width:800px;color:#d5e5e9;font-size:19px;line-height:1.6}.prose{max-width:820px;font-size:18px;line-height:1.8;color:#233f4d}.prose h2{margin-top:35px}.feature{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;margin:30px 0}.feature img{width:100%;height:320px;object-fit:cover;border-radius:14px}.footer{background:#031923;color:#d6e4e8;padding:35px 0}.footer .wrap{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}.footer a{padding:8px}.small{font-size:13px;color:#adc2c9}.notice{font-size:12px;color:#617481;margin-top:20px}.article-nav{display:flex;gap:15px;justify-content:space-between;flex-wrap:wrap;margin-top:40px}.article-nav a{padding:12px;border:1px solid #9bc7c5;border-radius:9px}@media(max-width:1050px){.nav a{font-size:12px;padding:10px 6px}.brand{min-width:210px}.special-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.wrap{padding:0 18px}.head{min-height:62px}.brand{min-width:0}.brand small{font-size:10px}.hero-grid{grid-template-columns:1fr;min-height:0;gap:0}.hero-copy{padding:40px 0 0}.hero h1{font-size:42px}.hero-portrait{height:260px;max-width:300px;justify-self:center}.special-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.special{flex:0 0 215px;scroll-snap-align:start}.cards,.posts,.feature{grid-template-columns:1fr}.card img{height:220px}.section{padding:42px 0}}

/* ===== v12: navegación ===== */
body{min-height:100vh;display:flex;flex-direction:column}
main{flex:1 0 auto}
.menu{align-items:center;justify-content:center;line-height:0}
.menu svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.menu .i-close,.menu[aria-expanded="true"] .i-open{display:none}
.menu[aria-expanded="true"] .i-close{display:block}
.nav-backdrop{position:fixed;inset:0;z-index:19;background:#02121c80;opacity:0;pointer-events:none;transition:opacity .2s ease}
.nav-backdrop.open{opacity:1;pointer-events:auto}
.nav a,.pill,.btn,.footer a{transition:color .15s ease,background-color .15s ease,border-color .15s ease}
.pill:hover{background:#17e6cf1a}
@media(max-width:1000px){
  .head{position:relative}
  .brand{margin-right:auto}
  .menu{display:flex;order:3}
  .head>.pill{order:2;padding:8px 14px;font-size:13px}
  .nav{display:none;position:absolute;top:100%;left:-28px;right:-28px;background:#061d2b;flex-direction:column;align-items:stretch;gap:0;padding:8px 28px 18px;border-top:1px solid #23424e;box-shadow:0 15px 25px #0005}
  .nav.open{display:flex}
  .nav a{font-size:16px;padding:11px 12px;min-height:48px;border-bottom:1px solid #ffffff14}
  .nav a[aria-current=page]{border-bottom:2px solid var(--mint)}
}
@media(max-width:760px){.nav{left:-18px;right:-18px;padding:8px 18px 18px}.head{gap:10px}}
@media(max-width:400px){.brand small{display:none}.head>.pill{padding:7px 11px}}
/* pie completo */
.foot{display:grid!important;grid-template-columns:auto 1fr auto;gap:18px 32px;align-items:center}
.foot-brand{display:flex;flex-direction:column;gap:4px}
.foot-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 4px}
.foot-nav a{padding:8px;font-size:14px;color:#d6e4e8}
.foot-nav a:hover{color:var(--mint)}
.foot-nav a[aria-current=page]{color:var(--mint)}
@media(max-width:900px){.foot{grid-template-columns:1fr}.foot-nav{justify-content:flex-start;margin-left:-8px}}
/* retratos */
.portrait-box{object-fit:contain;background:#d9e9e8}
@media(prefers-reduced-motion:reduce){.nav-backdrop,.nav a,.pill,.btn,.footer a{transition:none}}
.btn.outline-dark{background:transparent;color:var(--ink);border:1px solid #087d91}
@media(max-width:1150px){.brand small{display:none}}

/* V14: portrait fully visible, no cropping or overflow. */
.feature img.portrait-box{display:block;width:100%;height:520px;max-height:none;object-fit:contain;object-position:center center;background:#d9e9e8;border-radius:14px;padding:14px 12px 0}
@media(max-width:760px){.feature img.portrait-box{height:min(115vw,520px);max-height:none}}
.site-version{font-size:12px;color:#a5beca;white-space:nowrap;letter-spacing:.03em}

/* ===== Artículos generados desde Markdown ===== */
.article-meta{font-size:15px!important;color:#a9c7cf!important;margin-top:6px}
.article-wrap{max-width:860px}
.article-cover{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:16px;display:block;margin:0 0 32px}
.article-body{max-width:none}
.article-body h2{font-size:26px;line-height:1.25;margin:36px 0 10px}
.article-body h3{font-size:21px;margin:28px 0 8px}
.article-body ul,.article-body ol{padding-left:1.3em}
.article-body li{margin:6px 0}
.article-body blockquote{margin:24px 0;padding:6px 20px;border-left:4px solid var(--mint);color:#3b5866}
.article-body img{max-width:100%;height:auto;border-radius:12px}
.article-body a{color:#087d91;text-decoration:underline}
.article-nav a{display:flex;flex-direction:column;gap:4px;max-width:48%;line-height:1.35}
.article-nav a small{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.article-nav .next{margin-left:auto;text-align:right}
.article-back{margin-top:28px}
.article-back a{color:#087d91}
.post .post-meta{display:block;font-size:13px;color:var(--muted);margin-top:8px}
@media(max-width:760px){.article-nav a{max-width:100%}.article-nav .next{margin-left:0;text-align:left}}

/* ===== V15 ===== */
.special svg{stroke-linecap:round;stroke-linejoin:round}
.band-action{margin:22px 0 0}
@media(min-width:1101px){.posts-home{grid-template-columns:repeat(4,1fr)}}
@media(min-width:761px) and (max-width:1100px){.posts-home{grid-template-columns:repeat(2,1fr)}}

/* V16: Retrato completo, proporción natural, sin alto fijo ni recorte. */
.feature .portrait-frame{display:flex;align-items:flex-end;justify-content:center;min-width:0;overflow:visible;background:#d9e9e8;border-radius:14px;align-self:center}
.feature .portrait-frame img.portrait-box{display:block;width:100%;height:auto;max-height:none;aspect-ratio:820/1093;object-fit:contain;object-position:center bottom;padding:0;margin:0;border-radius:14px;background:transparent}
@media(max-width:760px){.feature .portrait-frame img.portrait-box{height:auto;max-height:none}}

/* V17 — Semilla digital / narrativa de crecimiento */
.hero{background:radial-gradient(ellipse at 72% 60%,#0b5258 0%,#052b39 34%,#031722 80%);position:relative}
.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;min-height:560px}
.hero-copy{padding:88px 0;z-index:2}.hero h1{font-size:clamp(42px,4.6vw,70px)}
.seed-visual{position:relative;min-height:510px;width:100%;isolation:isolate}.seed-visual canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.seed-fallback{position:absolute;top:30%;left:40%;font-size:190px;line-height:1;color:#35f2d1;text-shadow:0 0 65px #12cfc9;opacity:.45}.seed-visual.is-ready .seed-fallback{display:none}.seed-hint{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#a8dcd9;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.growth-story{position:relative;background:#031d2b;color:white}.growth-backdrop{position:sticky;top:72px;height:calc(100vh - 72px);margin-bottom:calc(-100vh + 72px);overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 72% 55%,#0b4b50 0%,#062b3a 32%,#031c2a 75%)}.growth-backdrop canvas{width:100%;height:100%;display:block}.growth-track{position:relative}.growth-chapter{min-height:85vh;display:flex;align-items:center;padding:80px 0}.growth-chapter .wrap{width:100%}.growth-text{max-width:520px;padding:26px 0;position:relative;z-index:2}.growth-kicker{color:#55efcf;font-weight:800;text-transform:uppercase;letter-spacing:.16em;font-size:13px}.growth-text h2{font-size:clamp(35px,4.1vw,62px);line-height:1.09;letter-spacing:-.045em;margin:18px 0}.growth-text p{font-size:clamp(17px,1.6vw,21px);line-height:1.65;color:#d0e7e9}.growth-link{color:#66f5d5;font-weight:800;display:inline-block;margin-top:14px}.growth-text{opacity:.45;transform:translateY(25px);transition:opacity .55s ease,transform .55s ease}.growth-chapter.is-active .growth-text{opacity:1;transform:none}
@media(max-width:760px){.hero-grid{grid-template-columns:1fr;min-height:0}.hero-copy{padding:56px 0 0}.seed-visual{min-height:350px}.growth-backdrop{top:62px;height:calc(100vh - 62px);margin-bottom:calc(-100vh + 62px)}.growth-backdrop canvas{opacity:.92}.growth-chapter{min-height:calc(100vh - 62px);align-items:flex-end;padding:0 0 40px}.growth-text{max-width:95%;padding:14px 18px;background:#031b2ac7;border-radius:12px}.growth-text h2{font-size:clamp(34px,9vw,49px)}}
@media(prefers-reduced-motion:reduce){.growth-text{opacity:1;transform:none;transition:none}}

/* V18: give the 3D growth object generous visual room and prevent clipping. */
.seed-visual{min-height:570px}
.growth-backdrop{background:radial-gradient(ellipse at 67% 48%,#0b4b50 0%,#062b3a 37%,#031c2a 78%)}
@media(max-width:760px){.seed-visual{min-height:370px}}

/* V19: el fondo animado queda dentro de su sección (antes desbordaba y tapaba «Ideas para transformar» y los artículos). */
.growth-story{display:grid}
.growth-backdrop,.growth-track{grid-area:1/1}
.growth-backdrop{align-self:start;margin-bottom:0!important}

/* V20: en móvil, el último capítulo deja un tramo final sin texto para ver la planta y la flor completas. */
@media(max-width:760px){.growth-chapter:last-child{padding-bottom:calc(100vh - 62px)}}


/* HOME: propuesta de valor, experiencia y contacto */
.home-hero .hero-grid{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}
.home-hero .hero h1,.home-hero h1{font-size:clamp(38px,4.1vw,62px);max-width:770px;line-height:1.08}
.home-hero .hero-copy{padding:80px 0 75px}
.hero-proof{font-size:13px!important;color:#a8c9d0!important;max-width:520px;margin-top:25px}
.home-section-heading{max-width:900px;margin-bottom:30px}
.home-section-heading .eyebrow{display:block;margin-bottom:12px;color:#078b87}
.challenge-grid,.expertise-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.challenge,.expertise-card{border:1px solid #dbe8eb;border-radius:16px;padding:26px 22px;background:#fff}
.challenge-number,.expertise-icon{font-size:13px;font-weight:800;color:#087f86;letter-spacing:.08em}
.challenge h3,.expertise-card h3{font-size:20px;line-height:1.24;margin:17px 0 10px}
.challenge p,.expertise-card p{color:#506576;line-height:1.65;margin:0;font-size:15px}
.home-challenges{background:#f6f9fa}
.home-expertise{background:#eaf3f4}
.expertise-card{background:#fff;box-shadow:0 6px 20px #0529390a}
.home-projects{background:#fff}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.project-card{background:#f4f8f9;border:1px solid #dce8ea;border-radius:16px;padding:30px 25px;display:flex;flex-direction:column;min-height:310px}
.project-label{color:#087f86;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:800}
.project-card h3{font-size:24px;line-height:1.18;margin:18px 0 12px}
.project-card p{font-size:15px;line-height:1.65;color:#506576;flex:1}
.project-card strong{font-size:15px;color:#075a65;border-top:1px solid #cfe0e3;padding-top:18px}
.project-disclaimer{font-size:12px;color:#657985;margin:20px 0}
.home-inline-action{margin-top:22px}
.home-method{background:#e9f3f3}
.home-method-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.home-method .eyebrow,.home-profile .eyebrow{color:#078b87}
.method-steps{list-style:none;padding:0;margin:0;counter-reset:method}
.method-steps li{counter-increment:method;display:grid;grid-template-columns:145px 1fr;gap:15px;padding:20px 0;border-bottom:1px solid #c7dadd;line-height:1.6}
.method-steps li::before{content:counter(method,decimal-leading-zero);color:#078b87;font-size:13px;font-weight:800;grid-column:1;grid-row:1}
.method-steps li strong{grid-column:1;grid-row:2}
.method-steps li span{grid-column:2;grid-row:1 / span 2;color:#506576}
.text-link{display:inline-block;color:#007d82;font-weight:800;margin-top:18px}
.home-profile{background:white}
.home-profile-grid{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);gap:65px;align-items:center}
.home-profile-photo{background:#d9e9e8;border-radius:18px;overflow:hidden;max-width:420px}
.home-profile-photo img{width:100%;height:auto;display:block;aspect-ratio:820/1093;object-fit:contain}
.home-profile p{font-size:17px;line-height:1.75;color:#405968}
.home-profile .btn{margin-top:12px}
.home-contact{background:#052636;color:white;padding:68px 0}
.home-contact-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:40px;align-items:center}
.home-contact h2{font-size:clamp(30px,3.3vw,46px);line-height:1.15;letter-spacing:-.04em;margin:15px 0}
.home-contact p{font-size:17px;color:#c4d9df;line-height:1.65;max-width:730px}
.home-contact-action{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.home-contact-action>a:not(.btn){color:#9de8dd;font-weight:650}
@media(max-width:1050px){.challenge-grid,.expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-method-layout{gap:35px}}
@media(max-width:760px){.home-hero .hero-grid{grid-template-columns:1fr}.home-hero .hero-copy{padding:45px 0 0}.home-hero h1{font-size:clamp(36px,9vw,48px)}.challenge-grid,.expertise-grid,.project-grid,.home-method-layout,.home-profile-grid,.home-contact-grid{grid-template-columns:1fr}.challenge,.expertise-card{padding:22px}.project-card{min-height:0}.method-steps li{grid-template-columns:110px 1fr}.home-profile-grid{gap:25px}.home-profile-photo{max-width:300px}.home-contact{padding:48px 0}.home-contact-action{gap:16px}}
@media(prefers-reduced-motion:reduce){.home-hero *{scroll-behavior:auto}}

/* Cabecera personalizada Carlos Barceló */
.header {
  background: #061d2b;
  color: #fff;
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid #23424e;
}

.header .head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header .brand {
  color: #fff;
  text-decoration: none;
}

.header .nav a {
  color: #fff;
  text-decoration: none;
}

.header .nav a[aria-current="page"] {
  color: #17e6cf;
  border-bottom: 2px solid #17e6cf;
}

.header .pill {
  color: #17e6cf;
  border: 1px solid #17e6cf;
  text-decoration: none;
}


/* Adaptación de bloques Universal Web al tema Carlos Barceló */
.page-head {
  color: #ffffff;
}

.page-head h1 {
  color: #ffffff;
}


/* Contraste de títulos en bloques hero del CMS */
main .hero h1,
main .hero h2,
main .block-hero h1,
main .block-hero h2 {
  color: #ffffff !important;
}


/* Cabeceras compactas de las páginas interiores del CMS */
body:has(main .hero) main .hero {
    min-height: 0 !important;
    height: auto !important;
    padding: 55px 0 65px !important;
}

body:has(main .hero) main .hero .hero-inner {
    min-height: 0 !important;
    height: auto !important;
}

body:has(main .hero) main .hero .hero-text {
    min-height: 0 !important;
    padding: 0 !important;
}

@media (max-width: 768px) {
    body:has(main .hero) main .hero {
        padding: 38px 0 45px !important;
    }
}
