/*
Theme Name: BogoHaus Minimal
Theme URI: https://bogohaus.com/
Author: BogoHaus
Description: Tema de bloques minimalista de BogoHaus, hijo de Twenty Twenty-Four.
Version: 0.2.1
Requires at least: 6.6
Requires PHP: 8.0
Template: twentytwentyfour
Text Domain: bogohaus-tt4
*/

:root{--bh-ink:#102c29;--bh-deep:#073c35;--bh-green:#0d6b59;--bh-mint:#d8eee7;--bh-paper:#f7f8f4;--bh-line:#d9e2dc;--bh-muted:#4d645d;--bh-white:#fff;--bh-radius:18px}
html{scroll-behavior:smooth}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bh-paper);color:var(--bh-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:var(--bh-green);text-underline-offset:.2em}
a:focus-visible,button:focus-visible{outline:3px solid #e0a656;outline-offset:3px}
.bh-header{position:relative;z-index:10;background:var(--bh-deep);border-bottom:1px solid rgba(255,255,255,.13)}
.bh-header__inner{max-width:1180px;margin:auto;padding:20px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.bh-brand{display:inline-flex;align-items:center;gap:12px;color:var(--bh-white);text-decoration:none;white-space:nowrap;font-size:1.35rem;font-weight:750;letter-spacing:-.045em}
.bh-brand:hover{color:var(--bh-white)}
.bh-brand img{width:38px;height:38px;display:block}
.bh-brand span span{font-weight:400;color:#c3e4d8}
.bh-nav{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.bh-nav a{color:#e0eee9;text-decoration:none;font-size:.92rem;font-weight:550}
.bh-nav a:hover,.bh-nav a[aria-current=page]{color:#fff;text-decoration:underline}
.bh-nav .bh-nav__cta{background:#e2f0e8;color:var(--bh-deep);padding:11px 17px;border-radius:999px;font-weight:700;white-space:nowrap}
.bh-nav .bh-nav__cta:hover{background:#fff;color:var(--bh-deep);text-decoration:none}
.bh-menu-toggle{display:none;color:white;background:none;border:1px solid rgba(255,255,255,.35);border-radius:10px;padding:8px 12px;font:inherit}
.bh-main{min-height:55vh}
.wp-site-blocks > .bh-main,.wp-site-blocks > .wp-block-template-part{margin-block-start:0}
.bh-container{width:min(100% - 48px,1160px);margin-inline:auto}
.bh-hero{background:var(--bh-deep);color:white;overflow:hidden;position:relative}
.bh-hero:before{content:"";position:absolute;width:720px;height:720px;right:-160px;top:-150px;border:1px solid rgba(216,238,231,.2);border-radius:50%;box-shadow:0 0 0 110px rgba(216,238,231,.025),0 0 0 220px rgba(216,238,231,.018);pointer-events:none}
.bh-hero__inner{position:relative;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:55px;padding-block:115px 125px}
.bh-eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.16em;font-size:.73rem;font-weight:760;color:#bce2d2;margin:0 0 24px}
.bh-eyebrow:before{content:"";width:22px;height:1px;background:currentColor}
.bh-hero h1{font-size:clamp(2.7rem,5.6vw,5.4rem);line-height:1.05;letter-spacing:-.065em;max-width:760px;margin:0 0 26px;color:white}
.bh-hero__copy{font-size:clamp(1.06rem,1.65vw,1.23rem);line-height:1.62;max-width:640px;color:#d2e7dd;margin:0 0 35px}
.bh-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.bh-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#d6eee1;color:var(--bh-deep);padding:15px 22px;border-radius:999px;text-decoration:none;font-size:.96rem;font-weight:750;min-height:52px;transition:transform .18s ease,background .18s ease}
.bh-button:hover{transform:translateY(-2px);background:white;color:var(--bh-deep)}
.bh-button--outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5)}
.bh-button--outline:hover{background:rgba(255,255,255,.1);color:#fff}
.bh-button--dark{background:var(--bh-deep);color:white}
.bh-button--dark:hover{background:var(--bh-green);color:white}
.bh-hero__aside{position:relative;border:1px solid rgba(255,255,255,.22);border-radius:26px;min-height:370px;padding:30px;background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.025));box-shadow:0 25px 70px rgba(0,0,0,.11)}
.bh-hero__aside .bh-structure{width:100%;height:245px;display:block}
.bh-hero__aside p{color:#d8ece3;font-size:.95rem;line-height:1.5;border-top:1px solid rgba(255,255,255,.18);padding-top:20px;margin:0}
.bh-strip{background:#e6efe8;border-bottom:1px solid var(--bh-line)}
.bh-strip__inner{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding-block:27px}
.bh-strip__item{display:flex;gap:12px;align-items:center;color:var(--bh-deep);font-size:.9rem;font-weight:700}
.bh-strip__item svg{width:24px;height:24px;flex:none;stroke:var(--bh-green)}
.bh-section{padding-block:100px}
.bh-section--soft{background:#edf3ed}
.bh-section--compact{padding-block:75px}
.bh-section__head{max-width:690px;margin-bottom:42px}
.bh-kicker{text-transform:uppercase;letter-spacing:.15em;color:var(--bh-green);font-size:.75rem;font-weight:800;margin:0 0 14px}
.bh-section h2,.bh-page h1{font-size:clamp(2.15rem,4vw,3.7rem);line-height:1.12;letter-spacing:-.05em;margin:0 0 18px;color:var(--bh-ink)}
.bh-section__head p,.bh-page__intro{color:var(--bh-muted);font-size:1.1rem;line-height:1.65;margin:0}
.bh-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bh-card{background:#fff;border:1px solid var(--bh-line);border-radius:var(--bh-radius);padding:32px;display:flex;flex-direction:column;min-height:315px;box-shadow:0 7px 30px rgba(16,44,41,.025)}
.bh-card__icon{width:50px;height:50px;border-radius:13px;background:#e6f3eb;color:var(--bh-green);display:grid;place-items:center;margin-bottom:35px}
.bh-card__icon svg{width:26px;height:26px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform .24s ease}
.bh-card:hover .bh-card__icon svg{transform:translateY(-3px)}
.bh-card h3{font-size:1.35rem;letter-spacing:-.025em;margin:0 0 13px}
.bh-card p{color:var(--bh-muted);font-size:.97rem;line-height:1.65;margin:0 0 25px}
.bh-card a{margin-top:auto;font-weight:750;text-decoration:none}
.bh-card a:hover{text-decoration:underline}
.bh-process{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;counter-reset:process}
.bh-step{position:relative;border-top:1px solid #bdd1c6;padding-top:22px}
.bh-step:before{counter-increment:process;content:"0" counter(process);font-size:.8rem;color:var(--bh-green);font-weight:800;letter-spacing:.12em}
.bh-step h3{font-size:1.13rem;margin:20px 0 10px}
.bh-step p{font-size:.96rem;color:var(--bh-muted);line-height:1.6;margin:0}
.bh-feature{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.bh-feature__art{display:block;width:100%;height:auto;border-radius:24px;border:1px solid #d3e3d8}
.bh-feature ul{padding-left:20px;line-height:1.7;color:var(--bh-muted)}
.bh-feature li{margin-bottom:10px}
.bh-feature p{color:var(--bh-muted);line-height:1.65}
.bh-faq{max-width:830px}
.bh-faq details{border-bottom:1px solid var(--bh-line);padding:20px 0}
.bh-faq summary{cursor:pointer;list-style:none;font-weight:750;font-size:1.04rem;display:flex;justify-content:space-between;gap:20px}
.bh-faq summary::-webkit-details-marker{display:none}
.bh-faq summary:after{content:"+";font-weight:400;font-size:1.5rem;line-height:1}
.bh-faq details[open] summary:after{content:"−"}
.bh-faq details p{color:var(--bh-muted);line-height:1.65;margin:15px 30px 3px 0}
.bh-cta{background:var(--bh-deep);color:white;border-radius:26px;padding:60px 70px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.bh-cta h2{color:white;font-size:clamp(2rem,3.5vw,3.25rem);max-width:570px;margin:0}
.bh-cta p{color:#cfebdd;max-width:590px;line-height:1.6;margin:15px 0 0}
.bh-page{padding-block:85px 110px}
.bh-page__header{max-width:800px;margin-bottom:55px}
.bh-page__body{max-width:820px;color:var(--bh-ink);font-size:1.06rem;line-height:1.76}
.bh-page__body h2{font-size:clamp(1.7rem,2.8vw,2.45rem);line-height:1.2;letter-spacing:-.04em;margin:50px 0 18px}
.bh-page__body h3{font-size:1.32rem;margin:30px 0 12px}
.bh-page__body p,.bh-page__body ul{margin:0 0 20px}
.bh-page__body li{margin-bottom:8px}
.bh-page__body .bh-note{background:#e7f1e8;border-left:3px solid var(--bh-green);padding:18px 24px;border-radius:0 12px 12px 0;color:#294b3e}
.bh-footer{background:#092e2b;color:#d1e7de;padding:62px 0 28px}
.bh-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:45px}
.bh-footer h2{font-size:1.45rem;color:white;letter-spacing:-.04em;margin:0 0 14px}
.bh-footer h3{font-size:.85rem;color:#fff;text-transform:uppercase;letter-spacing:.1em;margin:0 0 15px}
.bh-footer p{max-width:360px;line-height:1.6;color:#b6d1c4;margin:0}
.bh-footer a{color:#d1e7de;text-decoration:none}
.bh-footer a:hover{text-decoration:underline}
.bh-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.bh-footer__bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:55px;padding-top:22px;color:#aac6b9;font-size:.84rem}
@media(max-width:900px){.bh-hero__inner{grid-template-columns:1fr;gap:45px;padding-block:80px}.bh-hero__aside{min-height:250px;max-width:580px}.bh-hero__aside .bh-structure{height:190px}.bh-grid{grid-template-columns:repeat(2,1fr)}.bh-feature{gap:35px}.bh-process{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.bh-container{width:min(100% - 36px,1160px)}.bh-header__inner{padding:16px 18px}.bh-menu-toggle{display:block}.bh-nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--bh-deep);padding:18px;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid rgba(255,255,255,.15)}.bh-nav[data-open="true"]{display:flex}.bh-nav a{padding:13px 10px}.bh-nav .bh-nav__cta{text-align:center;margin-top:12px}.bh-hero__inner{padding-block:70px 78px}.bh-hero h1{font-size:clamp(2.5rem,12vw,4rem)}.bh-hero__aside{display:none}.bh-strip__inner{grid-template-columns:1fr;gap:13px;padding-block:25px}.bh-section{padding-block:72px}.bh-grid,.bh-process,.bh-feature,.bh-footer__grid{grid-template-columns:1fr}.bh-card{min-height:0}.bh-feature__art{order:2}.bh-cta{padding:36px 28px;display:block}.bh-cta .bh-button{margin-top:25px}.bh-page{padding-block:60px 80px}.bh-footer{padding-top:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.bh-button,.bh-card__icon svg{transition:none}}

/* Light editorial header and photographic hero. The photograph is illustrative. */
.bh-header{background:var(--bh-paper);border-bottom:1px solid var(--bh-line)}
.bh-brand,.bh-brand:hover{color:var(--bh-ink)}
.bh-brand span span{color:var(--bh-green)}
.bh-nav a{color:var(--bh-ink)}
.bh-nav a:hover,.bh-nav a[aria-current=page]{color:var(--bh-green)}
.bh-nav .bh-nav__cta{background:var(--bh-deep);color:#fff}
.bh-nav .bh-nav__cta:hover{background:var(--bh-green);color:#fff}
.bh-menu-toggle{color:var(--bh-ink);border-color:var(--bh-line)}
.bh-hero{background:var(--bh-paper);color:var(--bh-ink)}
.bh-hero::before{display:none}
.bh-hero::after{content:"";position:absolute;inset:0 0 0 auto;width:69%;background:linear-gradient(to right,var(--bh-paper),rgba(247,248,244,0) 39%),url("assets/hero-obra-gris.webp") right center/cover no-repeat;pointer-events:none}
.bh-hero__inner{display:flex;align-items:center;min-height:660px;padding-block:100px 110px}
.bh-hero__inner>div:first-child{position:relative;z-index:1;width:min(100%,660px)}
.bh-eyebrow{color:var(--bh-green)}
.bh-hero h1{color:var(--bh-ink);font-size:clamp(2.8rem,5vw,4.8rem)}
.bh-hero__copy{color:var(--bh-muted)}
.bh-hero .bh-button{background:var(--bh-deep);color:#fff}
.bh-hero .bh-button:hover{background:var(--bh-green);color:#fff}
.bh-hero .bh-button--outline{background:rgba(247,248,244,.75);color:var(--bh-deep);border:1px solid var(--bh-deep)}
.bh-hero .bh-button--outline:hover{background:#fff;color:var(--bh-deep)}
.bh-hero__aside{display:none}
.bh-feature__art{display:none}
.bh-feature::before{content:"";display:block;align-self:stretch;min-height:430px;border-radius:24px;border:1px solid #d3e3d8;background:url("assets/evidence-photo.webp") center/cover no-repeat}
@media(max-width:900px){.bh-hero::after{width:76%}.bh-hero__inner{min-height:640px;padding-block:80px}.bh-hero__inner>div:first-child{width:min(100%,600px)}}
@media(max-width:650px){.bh-nav{background:var(--bh-paper);border-top:1px solid var(--bh-line)}.bh-nav a{color:var(--bh-ink)}.bh-nav .bh-nav__cta{color:#fff}.bh-hero::after{inset:auto 0 0 0;width:100%;height:320px;background-image:linear-gradient(to bottom,var(--bh-paper),rgba(247,248,244,0) 30%),url("assets/hero-obra-gris.webp");background-position:center,75% center}.bh-hero__inner{min-height:0;padding-block:65px 345px}.bh-hero h1{font-size:clamp(2.45rem,11vw,3.5rem)}.bh-hero__copy{max-width:36rem}.bh-feature::before{min-height:300px}}
