:root{--green:#293c0c;--forest:#293c0c;--ink:#29351c;--paper:#f6f3ed;--line:#cdcfc5;--muted:#626852;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--green);outline-offset:6px}h1,h2,h3,p{margin:0}h1{font-family:var(--serif);font-weight:400;line-height:1.08}h2,h3{font-family:var(--sans);font-weight:500;line-height:1.3}em{font-weight:400}h2{font-size:clamp(1.75rem,2.6vw,2.5rem);letter-spacing:-.025em}p{max-width:65ch}.eyebrow{font-size:.75rem;letter-spacing:.18em;line-height:1.6;font-weight:600;margin-bottom:1.7rem}.section{padding:100px 7%;scroll-margin-top:1rem}.header{height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;background:var(--paper);position:relative;z-index:10}.brand{display:inline-flex;flex-direction:column;line-height:1}.brand>span{font-family:var(--serif);font-size:3.3rem;letter-spacing:-.06em}.brand-dot{color:var(--green)}.brand small{font-size:.64rem;letter-spacing:.22em;margin-top:7px;font-weight:600}.header nav{display:flex;align-items:center;gap:2.5rem;font-size:.875rem}.nav-contact{border-bottom:1px solid var(--ink);padding-bottom:8px}.nav-contact span{margin-left:20px}.menu-toggle{display:none}.hero{min-height:710px;height:calc(100svh - 108px);max-height:1050px;position:relative;display:flex;align-items:center;justify-content:center;color:white;text-align:center;background:var(--forest);isolation:isolate}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-image{object-position:50% 55%}.hero-shade{background:radial-gradient(60% 50% at 50% 47%,rgba(19,27,9,.45),rgba(19,27,9,.32) 50%,rgba(19,27,9,0) 100%),linear-gradient(180deg,rgba(19,27,9,.3),rgba(19,27,9,.32) 45%,rgba(19,27,9,.5) 80%,rgba(19,27,9,.62));z-index:-1}.hero-copy,.hero-bottom{text-shadow:0 1px 14px rgba(19,27,9,.35)}.hero-copy{padding:70px 24px 110px}.hero .eyebrow{margin-bottom:25px}.hero h1{font-size:clamp(3rem,5.7vw,5.8rem);letter-spacing:-.035em;line-height:1.04}.hero h1 em{color:#edf0e4}.hero-description{margin:25px auto 32px;font-size:1rem;line-height:1.8}.button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:35px;padding:15px 27px;font-size:.875rem;transition:background .25s,transform .25s}.button:hover{transform:translateY(-3px)}.button-green{background:var(--green);color:#ffffff}.button-green:hover{background:#3d521d}.button-dark{background:var(--forest);color:white}.button-dark:hover{background:#3d521d}.hero-bottom{position:absolute;bottom:28px;left:4.5%;right:4.5%;display:flex;align-items:center;justify-content:space-between;font-size:.75rem;letter-spacing:.13em;gap:20px}.hero-bottom a{font-size:.8rem;letter-spacing:.01em}.hero-bottom a span{padding-left:15px}.intro{padding-top:115px;padding-bottom:115px}.intro h2{max-width:1100px}.intro h2 em{color:#647345}.intro-bottom{display:grid;grid-template-columns:1fr 2fr 2fr;gap:50px;margin-top:45px;align-items:start}.intro-bottom p{color:var(--muted)}.little-line{width:60px;height:2px;background:var(--green);margin-top:14px}.services{padding-top:80px;background:#eceee4}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:45px}.section-heading h2{font-size:clamp(1.65rem,2.3vw,2.25rem)}.section-index{font-size:.75rem;letter-spacing:.12em;white-space:nowrap;padding-bottom:8px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service{padding:38px 42px 40px;min-height:350px;display:flex;flex-direction:column}.service-home{background:#f8f6f0}.service-invest{background:var(--forest);color:#f5f3eb}.service-top{display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.16em;padding-bottom:25px;border-bottom:1px solid #c6cbb9}.service-invest .service-top{border-color:#6b784e}.service h3{font-size:clamp(1.6rem,2.2vw,2.1rem);margin:30px 0 20px}.service h3 em{color:#647345}.service-invest h3 em{color:#d0dcae}.service p{max-width:440px;margin-bottom:30px;color:var(--muted)}.service-invest p{color:#dbe0ce}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:20px;font-size:.875rem;border-bottom:1px solid currentColor;padding:12px 0;align-self:flex-start}.service .text-link{margin-top:auto;width:100%}.text-link:hover{color:#40591b}.service-invest .text-link:hover{color:#d0dcae}.approach{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:115px;padding-bottom:115px}.approach-title h2 em{color:#647345}.approach-title>p:not(.eyebrow){color:var(--muted);margin:30px 0 15px}.steps{list-style:none;margin:0;padding:0}.steps li{display:flex;gap:25px;border-top:1px solid var(--line);padding:24px 0 30px}.step-number{font-size:.75rem;color:#40591b;line-height:3}.steps h3{font-size:1.15rem;margin:0 0 12px}.steps p{font-size:.94rem;color:var(--muted)}.statement{background:var(--forest);color:var(--paper);text-align:center;padding:95px 7% 75px}.statement .eyebrow{margin-left:auto;margin-right:auto;color:#d5dfbe}.statement h2{font-size:clamp(1.85rem,2.8vw,2.75rem)}.statement h2 em{color:#d0dcae}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:5%;margin:65px auto 0;border-top:1px solid #69784b;padding-top:35px;max-width:1080px}.values h3{font-size:1.1rem;margin-bottom:12px}.values p{color:#d8dfc8;font-size:.9rem}.contact{display:grid;grid-template-columns:1.3fr 1fr;gap:6%;align-items:center;padding-top:115px;padding-bottom:115px}.contact h2{font-size:clamp(1.75rem,2.5vw,2.5rem)}.contact h2 em{color:#647345}.contact p:not(.eyebrow){margin-top:25px;color:var(--muted)}.contact-actions{display:flex;align-items:flex-start;flex-direction:column;gap:16px}.contact-actions .button{margin-bottom:20px}.contact-email{font-size:clamp(1rem,1.6vw,1.35rem);border-bottom:1px solid #bdc6aa}.whatsapp{font-size:.875rem;margin-top:5px;color:#40591b}.footer{padding:55px 7% 25px;background:#e9ebdf}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:30px;padding-bottom:50px}.footer-top p{font-family:var(--sans);font-size:1rem;line-height:1.65}.footer-top>div{display:flex;justify-content:flex-end;gap:25px;font-size:.875rem}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:25px;border-top:1px solid #c6cdb7;font-size:.75rem}.skip{position:fixed;top:-100px;left:15px;padding:10px 20px;background:white;z-index:30}.skip:focus{top:10px}::selection{background:#293c0c;color:#ffffff}
@media(min-width:1700px){.section{padding-left:calc((100% - 1450px)/2);padding-right:calc((100% - 1450px)/2)}}
@media(max-width:900px){.header nav{gap:1.3rem}.intro-bottom{grid-template-columns:1fr 1fr;gap:30px}.little-line{display:none}.section{padding:75px 6%}.service{padding:30px;min-height:350px}.section-index{display:none}.approach{gap:6%}.contact{gap:4%}.contact-actions .button{gap:15px}.footer-top>div{flex-direction:column;gap:10px}.hero-bottom>span{font-size:.75rem}.contact-email{overflow-wrap:anywhere}}
@media(max-width:650px){html{scroll-padding-top:20px}.header{height:90px;padding:0 6%;flex-wrap:wrap}.brand>span{font-size:2.8rem}.brand small{font-size:.59rem}.menu-toggle{display:flex;align-items:center;gap:14px;border:0;background:transparent;color:var(--ink);padding:12px 0;font-size:.875rem}.header nav{display:none;position:absolute;top:90px;left:0;width:100%;padding:25px 6% 32px;background:var(--paper);box-shadow:0 15px 20px #293c0c1a;align-items:flex-start}.header nav.is-open{display:flex;flex-direction:column;gap:22px}.hero{min-height:660px;height:calc(100svh - 90px);max-height:850px}.hero-image{object-position:57% center}.hero h1{font-size:clamp(3rem,5.7vw,5.8rem)}.hero-copy{padding:70px 20px 120px}.hero .eyebrow{font-size:.75rem;letter-spacing:.11em}.hero-description{font-size:.94rem}.hero-bottom{justify-content:center;bottom:28px}.hero-bottom>span{display:none}.section{padding:65px 6%}.eyebrow{font-size:.75rem;letter-spacing:.12em;margin-bottom:20px}.intro h2{font-size:clamp(1.8rem,2.8vw,2.75rem)}.intro-bottom{grid-template-columns:1fr;margin-top:30px;gap:20px}.section-heading{margin-bottom:30px}.section-heading h2{font-size:clamp(1.65rem,2.3vw,2.25rem)}.service-grid,.approach,.contact{grid-template-columns:1fr}.service-grid{gap:18px}.service{min-height:350px;padding:27px}.service h3{font-size:clamp(1.6rem,2.2vw,2.1rem)}.service p{font-size:.94rem}.approach{gap:45px}.approach-title h2{font-size:clamp(1.75rem,2.5vw,2.5rem)}.approach-title h2 br:last-child{display:none}.steps li{gap:20px}.statement{padding:70px 6% 60px}.statement h2{font-size:clamp(1.85rem,2.8vw,2.75rem)}.values{grid-template-columns:1fr;gap:28px;margin-top:40px}.values p{margin:auto;max-width:270px}.contact{gap:35px}.contact h2{font-size:clamp(1.75rem,2.5vw,2.5rem)}.contact-actions .button{width:100%;justify-content:space-between;padding:16px 20px;gap:12px;font-size:.8rem}.contact-email{font-size:1.05rem}.footer{padding:45px 6% 25px}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.footer-top p{font-size:1rem}.footer-top>div{grid-column:1/-1;flex-direction:row;justify-content:flex-start;gap:25px}.footer-bottom{flex-wrap:wrap;font-size:.75rem}.footer-bottom>span:nth-child(2){display:none}}
.header a[aria-current="page"]{color:#293c0c;border-bottom:1px solid var(--green)}
.investment-intro{text-align:center;border-top:1px solid var(--line);padding-top:85px;padding-bottom:70px}.investment-intro .eyebrow{margin-inline:auto}.investment-intro h1{font-size:clamp(3.2rem,5.7vw,5.8rem);letter-spacing:-.035em}.investment-intro h1 em{color:#647345}.investment-lead{max-width:700px;margin:28px auto 15px;color:var(--muted);font-size:1.05rem}.investment-intro .text-link{gap:45px}.inma-section{display:grid;grid-template-columns:1fr 1.12fr;gap:8%;padding-top:65px;padding-bottom:100px;border-top:1px solid var(--line)}.inma-figure{margin:0;align-self:start}.inma-photo{aspect-ratio:4/5;background:#e7e1d6}.inma-figure figcaption,.intro-figure figcaption{display:flex;flex-direction:column;gap:8px;margin-top:20px;font-size:.7rem;letter-spacing:.1em}.inma-figure figcaption span:first-child,.intro-figure figcaption span:first-child{font-size:.9rem;font-weight:600}.inma-experience{display:flex;gap:18px;align-items:center;margin-top:45px;padding-top:28px;border-top:1px solid var(--line);font-size:.875rem;line-height:1.5;color:var(--muted)}.inma-experience>span{font-family:var(--sans);font-size:2.7rem;line-height:1;color:var(--forest)}.inma-copy h2{margin-bottom:25px}.inma-copy>p:not(.eyebrow){color:var(--muted);margin-bottom:23px}.inma-copy strong{color:var(--ink);font-weight:600}.inma-copy blockquote{margin:30px 0;padding:0 0 0 25px;border-left:2px solid var(--green);font-family:var(--sans);font-size:1.25rem;line-height:1.65}.inma-copy blockquote em{color:#647345}.investment-contact{background:var(--forest);color:var(--paper);text-align:center}.investment-contact .eyebrow,.investment-contact>p{margin-inline:auto}.investment-contact h2{font-size:clamp(1.8rem,2.7vw,2.6rem)}.investment-contact h2 em{color:#d0dcae}.investment-contact>p:not(.eyebrow){margin-top:28px;color:#d8dfc8}.investment-buttons{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:30px;margin-top:35px}.investment-mail{font-size:.9rem;border-bottom:1px solid #a5b788;overflow-wrap:anywhere}.header nav{gap:clamp(1rem,2.3vw,2.5rem)}
@media(max-width:900px) and (min-width:651px){.header nav{font-size:.75rem;gap:15px}.header{padding-inline:3%}.inma-section{gap:5%}.inma-copy blockquote{padding-left:18px}}
@media(max-width:650px){.investment-intro{padding-top:55px;padding-bottom:50px}.investment-intro h1{font-size:clamp(3.2rem,5.7vw,5.8rem)}.investment-lead{font-size:1rem}.inma-section{grid-template-columns:1fr;gap:45px;padding-top:45px}.inma-figure{max-width:430px;width:100%;margin-inline:auto}.inma-experience{margin-top:25px}.inma-copy h2{font-size:clamp(1.8rem,2.5vw,2.5rem)}.inma-copy blockquote{font-size:1.25rem}.investment-contact h2{font-size:clamp(1.8rem,2.7vw,2.6rem)}.investment-buttons{flex-direction:column;gap:23px}.header nav{gap:22px;font-size:.875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Shared secondary type hierarchy: emphasis is reserved for the page H1. */
.intro h2{max-width:760px}.approach-title h2{max-width:360px}.contact h2{max-width:480px}.investment-contact h2{max-width:740px;margin-inline:auto}.statement h2{max-width:680px;margin-inline:auto}.service h3{margin:25px 0 18px}.section-heading{margin-bottom:32px}.intro-bottom{margin-top:30px}.values{margin-top:40px}.inma-copy blockquote{font-weight:500}.footer-top p{color:var(--muted)}
@media(max-width:650px){.hero h1{font-size:clamp(2.65rem,9vw,3.65rem)}.service{min-height:0}.service .text-link{margin-top:12px}.investment-intro h1{font-size:clamp(3rem,10vw,4rem)}}

/* Process: four connected stages, then a vertical timeline on smaller screens. */
.approach{display:block}
.approach-title{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;margin-bottom:52px}
.approach-title h2{max-width:none}
.approach-title>p:not(.eyebrow){margin:0;max-width:330px}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.steps li{display:flex;flex-direction:column;gap:24px;border:0;padding:0;position:relative;min-width:0}
.steps li:not(:last-child)::before{content:"";position:absolute;top:23px;left:46px;right:-32px;height:1px;background:#b0bd97}
.step-number{display:flex;align-items:center;justify-content:center;position:relative;width:46px;height:46px;flex:0 0 46px;border:1px solid #7a8b5b;border-radius:50%;background:var(--paper);color:var(--forest);font-size:.8125rem;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}
.steps h3{font-size:1.125rem;line-height:1.4;margin:0 0 14px}
.steps p{font-size:1rem;line-height:1.75;max-width:32ch}
.process-footer{display:flex;justify-content:flex-start;margin-top:42px;padding-top:24px;border-top:1px solid var(--line)}
@media(max-width:1000px){
 .approach-title{margin-bottom:36px}
 .steps{grid-template-columns:1fr;gap:28px}
 .steps li{flex-direction:row;gap:22px}
 .steps li:not(:last-child)::before{top:46px;left:22px;right:auto;width:1px;height:calc(100% - 18px)}
 .steps li>div{padding-top:8px;padding-bottom:6px;min-width:0}
 .steps h3{margin-bottom:9px}
 .steps p{max-width:65ch}
 .process-footer{padding-top:20px;margin-top:32px}
}
@media(max-width:650px){
 .approach-title{flex-direction:column;gap:16px;margin-bottom:32px}
 .approach-title>p:not(.eyebrow){margin:0}
 .steps li{gap:18px}
 .steps h3{font-size:1.0625rem}
 .process-footer .text-link{font-size:.8125rem}
}

/* Client brand sample: RGB 41, 60, 12 / #293c0c. */
.button-green{color:#fff;border:1px solid #71814f}
.investment-contact .button-green{background:var(--paper);color:var(--forest);border-color:var(--paper)}
.investment-contact .button-green:hover{background:#dce4ca;border-color:#dce4ca}
.hero a:focus-visible,.service-invest a:focus-visible,.investment-contact a:focus-visible{outline-color:#edf0e4}

/* Calculadoras: submenú del header y columna del pie.
   Sin condicionales en el motor, el enlace activo se resuelve con la clase
   del <body>; el padre del grupo lleva aria-current desde un dato. */
.nav-group{position:relative;display:flex;align-items:center;padding:18px 0}
.nav-group-toggle{display:inline-flex;align-items:center;gap:9px;border:0;background:transparent;color:inherit;padding:0;font:inherit;cursor:pointer}
.nav-group-toggle span{font-size:.7em}
.nav-submenu{display:none;position:absolute;top:100%;left:auto;right:-20px;min-width:290px;flex-direction:column;background:var(--paper);border:1px solid var(--line);padding:10px 0;box-shadow:0 18px 30px #293c0c1a;z-index:20}
.nav-submenu.is-open{display:flex}
/* Abrir al pasar el ratón es solo de escritorio. Va en su propia consulta y no
   como excepción en la de móvil: `:focus-within` suma más especificidad que
   `.is-open`, así que ahí anularía el desplegado por clic. */
@media(min-width:651px){.nav-group:hover .nav-submenu,.nav-group:focus-within .nav-submenu{display:flex}}
.nav-submenu a{padding:10px 20px;line-height:1.4}
.nav-submenu a:hover{background:#eceee4}
.header .nav-group-toggle[aria-current="page"]{color:#293c0c;border-bottom:1px solid var(--green);padding-bottom:7px}
.pagina-calc-capacidad .nav-calc-capacidad,
.pagina-calc-compra .nav-calc-compra,
.pagina-calc-venta .nav-calc-venta,
.pagina-calc-alquiler .nav-calc-alquiler,
.pagina-calc-rentabilidad .nav-calc-rentabilidad{color:var(--green);font-weight:600;background:#eceee4}
.footer-top{grid-template-columns:1fr 1fr 1.25fr .95fr;gap:40px}
.footer-top>nav,.footer-top>div{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:9px;font-size:.875rem}
.footer-top .footer-nav-title{font-size:.75rem;letter-spacing:.14em;line-height:1.6;font-weight:600;color:var(--muted);margin-bottom:3px}
.footer-top>nav a:hover,.footer-top>div a:hover{color:#40591b}
@media(max-width:900px){
 .footer-top{grid-template-columns:1fr 1fr;gap:35px}
}
@media(max-width:650px){
 .footer-top>div{grid-column:auto;flex-direction:column;gap:9px}
}
@media(max-width:650px){
 .nav-group{flex-direction:column;align-items:flex-start;width:100%;padding:0;gap:22px}
 .nav-group-toggle{padding:0}
 .nav-submenu{position:static;right:auto;min-width:0;width:100%;border:0;box-shadow:none;background:transparent;padding:0;gap:18px;border-left:1px solid var(--line);padding-left:16px}
 .nav-submenu a{padding:0}
 .nav-submenu a:hover{background:transparent}
 .pagina-calc-capacidad .nav-calc-capacidad,
 .pagina-calc-compra .nav-calc-compra,
 .pagina-calc-venta .nav-calc-venta,
 .pagina-calc-alquiler .nav-calc-alquiler,
 .pagina-calc-rentabilidad .nav-calc-rentabilidad{background:transparent}
 .header .nav-group-toggle[aria-current="page"]{padding-bottom:0;border-bottom:0}
}

/* Zonas de toque de 44px en móvil: el menú y el pie apilan enlaces de una
   línea, así que la altura la da el propio enlace y el hueco entre ellos baja. */
@media(max-width:650px){
 .header nav.is-open{gap:0}
 .header nav>a,.nav-group-toggle,.nav-submenu a{display:flex;align-items:center;min-height:44px}
 .nav-group{gap:0}
 .nav-submenu{gap:0}
 .nav-submenu a{padding:0}
 .nav-contact{margin-top:8px}
 .footer-top>nav,.footer-top>div{gap:0}
 .footer-top>nav a,.footer-top>div a{display:flex;align-items:center;min-height:44px;padding-block:8px;line-height:1.45}
 .footer-bottom{align-items:center}
 .footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
}

/* Fotos de Inma. Todas llegan en 4:5; cada sección decide el encuadre con
   aspect-ratio y object-position, sin recortar el archivo. */
.inma-foto{display:block;width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;background:#e7e1d6}
.intro-figure,.contact-figure{margin:0}
.intro{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:8%;align-items:center}
.intro .intro-bottom{grid-template-columns:1fr;gap:20px}
.contact{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr) minmax(0,1fr);gap:5%}
@media(max-width:900px){
 .intro{gap:6%}
 .contact{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);row-gap:40px}
 .contact-actions{grid-column:2}
}
@media(max-width:650px){
 .intro{grid-template-columns:1fr;row-gap:40px}
 .intro-figure{order:2}
 .intro .inma-foto{aspect-ratio:1/1;object-position:50% 12%}
 .contact{grid-template-columns:1fr}
 .contact-actions{grid-column:auto}
 .contact .inma-foto{aspect-ratio:4/3;object-position:50% 20%}
}
.share{margin-top:44px;padding-top:22px;border-top:1px solid var(--line);font-family:var(--sans)}.share-title{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.share-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}.share-list a,.share-list button{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font-size:.84rem;font-weight:500;line-height:1.2;cursor:pointer;transition:border-color .2s,background .2s}.share-list a:hover,.share-list button:hover{border-color:var(--green);background:#eceee4}.share-list a:focus-visible,.share-list button:focus-visible{outline:3px solid var(--green);outline-offset:3px}.share-status{min-height:1.4em;margin-top:10px;font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}.calc .share{margin-top:36px}
@media print{.share{display:none}}
.share-list a,.share-list button{gap:8px}.share-icon{width:18px;height:18px;flex:0 0 auto;color:var(--green)}
