:root{
  --paper:#f4f1eb;
  --ink:#171715;
  --muted:#6b6862;
  --line:rgba(23,23,21,.16);
  --serif:"Iowan Old Style","Baskerville","Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:24px 34px;color:#fff}
.brand{width:min(260px,32vw);filter:invert(1);mix-blend-mode:screen}
.brand img{width:100%;height:auto}
nav{display:flex;gap:28px;align-items:center;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
nav a{opacity:.88} nav a:hover{opacity:1}
.nav-contact{border-bottom:1px solid currentColor;padding-bottom:4px}
.hero{position:relative;height:100svh;min-height:680px;background:#111;overflow:hidden;color:white}
.hero>img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.08) 42%,rgba(0,0,0,.58))}
.hero-copy{position:absolute;left:clamp(24px,6vw,92px);bottom:clamp(76px,11vh,130px);max-width:900px}
.eyebrow{margin:0 0 16px;font-size:11px;letter-spacing:.19em;text-transform:uppercase}
.eyebrow.dark{color:var(--muted)}
.hero h1,.about h2,.contact h2,.section-heading h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}
.hero h1{margin:0 0 28px;font-size:clamp(48px,7vw,112px);line-height:.91;text-wrap:balance}
.text-link{display:inline-flex;gap:10px;align-items:center;font-size:12px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:6px}
.text-link.light{border-color:#fff}
.text-link span{font-size:14px}.scroll-cue{position:absolute;right:34px;bottom:30px;font-size:24px}
.statement{padding:clamp(80px,12vw,180px) clamp(24px,12vw,190px)}
.statement p{margin:0;max-width:1100px;font-family:var(--serif);font-size:clamp(34px,5vw,74px);line-height:1.08;letter-spacing:-.025em}
.portfolio-wrap{padding:0 clamp(14px,2.2vw,34px) clamp(90px,13vw,180px)}
.section-heading{display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line);padding:20px 2px 34px}
.section-heading h2{font-size:clamp(28px,3vw,46px);margin:0}
.gallery{columns:3 320px;column-gap:clamp(10px,1.3vw,20px)}
.gallery-item{break-inside:avoid;margin:0 0 clamp(10px,1.3vw,20px);overflow:hidden;background:#e8e3db}
.gallery-item img{width:100%;height:auto;transition:transform .7s cubic-bezier(.2,.65,.2,1)}
@media (hover:hover){.gallery-item:hover img{transform:scale(1.012)}}
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:760px;background:#e8e3db}
.about-photo{min-height:680px}.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center 28%}
.about-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,8vw,130px)}
.about h2{font-size:clamp(42px,5vw,72px);line-height:1.02;margin:0 0 32px;max-width:720px}
.about-copy>p:not(.eyebrow){font-family:var(--serif);font-size:clamp(20px,2vw,28px);line-height:1.45;max-width:650px;margin:0 0 42px;color:#373531}
.about-copy .text-link{align-self:flex-start}
.contact{background:#171715;color:#f4f1eb;text-align:center;padding:clamp(100px,14vw,190px) 24px}
.contact h2{font-size:clamp(50px,7vw,104px);margin:0 0 16px;line-height:.95}.contact>p:not(.eyebrow){font-family:var(--serif);font-size:clamp(20px,2vw,28px);margin:0 0 42px;color:#c9c3b9}
.button{display:inline-block;border:1px solid rgba(255,255,255,.7);padding:17px 24px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;transition:.25s}.button:hover{background:#f4f1eb;color:#171715}
footer{display:flex;justify-content:space-between;gap:24px;padding:24px 34px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:#171715;color:#aaa49b;border-top:1px solid rgba(255,255,255,.12)}
.footer-links{display:flex;gap:24px}.mobile-cta{display:none}
@media(max-width:760px){
  body{padding-bottom:62px}
  .site-header{padding:18px 18px}.brand{width:186px}nav a:not(.nav-contact){display:none}.nav-contact{font-size:10px}
  .hero{min-height:640px}.hero>img{object-position:46% 30%}.hero-copy{left:20px;right:20px;bottom:88px}.hero h1{font-size:clamp(46px,14vw,68px);line-height:.93}.scroll-cue{right:20px;bottom:22px}
  .statement{padding:88px 22px}.statement p{font-size:clamp(34px,10vw,48px)}
  .portfolio-wrap{padding:0 10px 92px}.section-heading{padding:18px 4px 24px}.gallery{columns:2 150px;column-gap:8px}.gallery-item{margin-bottom:8px}
  .gallery-item:nth-child(4n+1),.gallery-item:nth-child(4n+4){column-span:none}
  .about{grid-template-columns:1fr;min-height:0}.about-photo{min-height:560px;max-height:78svh}.about-copy{padding:66px 24px 80px}.about h2{font-size:clamp(40px,12vw,56px)}
  .about-copy>p:not(.eyebrow){font-size:21px}
  .contact{padding:100px 22px}.contact h2{font-size:clamp(50px,14vw,72px)}
  footer{padding:24px 18px;flex-direction:column}.mobile-cta{display:block;position:fixed;z-index:50;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));text-align:center;padding:15px 16px;background:#f4f1eb;color:#171715;border:1px solid rgba(23,23,21,.2);box-shadow:0 8px 30px rgba(0,0,0,.18);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-item img{transition:none}}

/* V3 — tono editorial */
.hero-subtitle {
  margin-top: 1rem;
  font-size: clamp(1rem, 2vw, 1.25rem);
  font-weight: 400;
  letter-spacing: .01em;
}
.floating-whatsapp, .sticky-whatsapp, .floating-contact, .sticky-contact {
  display: none !important;
}

/* V4 — ritmo editorial y portafolio reducido */
.hero>img{object-position:center center}
.hero-copy{max-width:780px}
.hero h1{margin-bottom:18px}
.hero-subtitle{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(22px,2.2vw,34px);
  line-height:1.2;
  letter-spacing:-.015em;
}
.portfolio-wrap{
  padding:clamp(56px,7vw,100px) clamp(14px,2.2vw,34px) clamp(100px,13vw,180px);
}
.gallery{
  columns:auto;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(10px,1.4vw,22px);
}
.gallery-item{margin:0;grid-column:span 6}
.gallery-item:nth-child(1),
.gallery-item:nth-child(4),
.gallery-item:nth-child(7){grid-column:span 12}
.gallery-item img{width:100%;height:100%;object-fit:cover}
.gallery-item:nth-child(1) img,
.gallery-item:nth-child(4) img,
.gallery-item:nth-child(7) img{max-height:78vh;object-fit:cover}
.about{
  grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);
  min-height:0;
  padding:clamp(74px,10vw,150px) clamp(24px,9vw,140px);
  gap:clamp(34px,7vw,110px);
  align-items:center;
}
.about-photo{min-height:0;max-width:420px}
.about-photo img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center 20%}
.about-copy{padding:0;justify-content:flex-start}
.about-copy>p{max-width:680px}
.about-copy .about-lead{
  font-family:var(--serif);
  font-size:clamp(30px,3.5vw,54px);
  line-height:1.08;
  letter-spacing:-.025em;
  color:var(--ink);
  margin:0 0 34px;
}
.about-copy>p:not(.about-lead){
  font-family:var(--serif);
  font-size:clamp(18px,1.65vw,24px);
  line-height:1.5;
  color:#4a4742;
  margin:0 0 36px;
}
.mobile-cta{display:none!important}

@media(max-width:760px){
  body{padding-bottom:0}
  .hero{min-height:680px}
  .hero>img{object-position:50% center}
  .hero-copy{bottom:72px}
  .hero h1{font-size:clamp(44px,13vw,62px);line-height:.94}
  .hero-subtitle{font-size:23px;max-width:310px}
  .portfolio-wrap{padding:54px 8px 88px}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .gallery-item{grid-column:span 1}
  .gallery-item:nth-child(1),
  .gallery-item:nth-child(4),
  .gallery-item:nth-child(7){grid-column:1 / -1}
  .gallery-item:nth-child(1) img,
  .gallery-item:nth-child(4) img,
  .gallery-item:nth-child(7) img{width:100%;height:auto;max-height:none}
  .about{
    grid-template-columns:1fr;
    padding:76px 22px 88px;
    gap:34px;
  }
  .about-photo{width:min(62vw,260px);max-width:none}
  .about-photo img{aspect-ratio:3/4}
  .about-copy .about-lead{font-size:clamp(34px,10vw,46px);margin-bottom:28px}
  .about-copy>p:not(.about-lead){font-size:20px;margin-bottom:32px}
  .contact h2{font-size:clamp(48px,13vw,68px)}
}

/* Inversión 2028 */
.investment-page{background:var(--paper)}
.investment-hero{position:relative;height:min(66svh,720px);min-height:520px;overflow:hidden;color:#fff;background:#111}
.investment-hero>img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.investment-shade{background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.12) 38%,rgba(0,0,0,.68))}
.investment-hero-copy{position:absolute;left:clamp(24px,6vw,92px);right:24px;bottom:clamp(50px,8vh,90px);max-width:900px}
.investment-hero h1,.investment-intro h2,.coverage-card h2,.terms-heading h2,.extras-heading h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}
.investment-hero h1{font-size:clamp(48px,6.5vw,94px);line-height:.92;margin:0 0 18px;max-width:1050px}
.investment-hero-copy>p:last-child{font-family:var(--serif);font-size:clamp(21px,2.1vw,32px);margin:0;color:rgba(255,255,255,.88)}
.investment-intro{padding:clamp(76px,9vw,132px) clamp(22px,10vw,150px) clamp(48px,6vw,84px)}
.investment-intro h2{font-size:clamp(38px,5vw,74px);line-height:1.02;margin:0;max-width:980px}
.investment-intro-copy{font-family:var(--serif);font-size:clamp(18px,1.7vw,24px);line-height:1.5;max-width:760px;margin:28px 0 0;color:var(--muted)}
.coverage-section{padding:0 clamp(18px,5vw,74px) clamp(90px,11vw,150px)}
.coverage-card{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(38px,7vw,110px);padding:clamp(38px,6vw,82px);background:#171715;color:#f4f1eb}
.coverage-kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#aaa49b;margin:0 0 18px}
.coverage-card h2{font-size:clamp(64px,8vw,118px);line-height:.88;margin:0 0 46px}
.coverage-includes{list-style:none;padding:0;margin:0;border-top:1px solid rgba(255,255,255,.18)}
.coverage-includes li{font-family:var(--serif);font-size:clamp(19px,1.8vw,26px);padding:16px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.coverage-price-block{display:flex;flex-direction:column;justify-content:center}
.price-option{padding:0 0 28px;margin-bottom:28px;border-bottom:1px solid rgba(255,255,255,.2)}
.price-option span{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#aaa49b;margin-bottom:10px}
.price-option strong{display:block;font-family:var(--serif);font-size:clamp(38px,4.1vw,62px);font-weight:400;letter-spacing:-.035em;white-space:nowrap}
.price-option strong small{font-family:var(--sans);font-size:11px;letter-spacing:.1em;font-weight:400;color:#aaa49b}
.dark-button{display:inline-block;align-self:flex-start;border:1px solid rgba(255,255,255,.65);padding:16px 20px;font-size:11px;letter-spacing:.11em;text-transform:uppercase;transition:.25s}
.dark-button:hover{background:#f4f1eb;color:#171715}
.terms-section{padding:clamp(86px,10vw,150px) clamp(22px,9vw,140px);background:#e8e3db}
.terms-heading{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:end;margin-bottom:clamp(46px,6vw,76px)}
.terms-heading h2{font-size:clamp(38px,4.8vw,70px);line-height:1.03;margin:0}
.terms-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(23,23,21,.25)}
.term{display:grid;grid-template-columns:minmax(120px,.7fr) 1fr;gap:24px;padding:22px 0;border-bottom:1px solid rgba(23,23,21,.25)}
.term:nth-child(odd):not(.term-wide){padding-right:32px}.term:nth-child(even){padding-left:32px;border-left:1px solid rgba(23,23,21,.25)}
.term span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.term strong{font-family:var(--serif);font-size:18px;font-weight:400;line-height:1.35}
.term-wide{grid-column:1/-1;grid-template-columns:.35fr 1.65fr}
.extras-section{background:#8f8778;color:#f4f1eb;padding:clamp(90px,11vw,160px) clamp(22px,9vw,140px)}
.extras-heading{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px 40px;margin-bottom:clamp(46px,6vw,80px)}
.extras-heading .eyebrow{grid-column:1}.extras-heading h2{grid-column:2;font-size:clamp(42px,7vw,76px);line-height:.94;margin:0;max-width:100%;min-width:0;white-space:normal;overflow-wrap:break-word;word-break:normal}.extras-heading>p:last-child{grid-column:2;font-family:var(--serif);font-size:22px;line-height:1.4;color:rgba(255,255,255,.72);margin:0;max-width:600px}
.extras-list{border-top:1px solid rgba(255,255,255,.35);max-width:1100px;margin-left:auto}
.extra{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.35)}
.extra h3{font-family:var(--serif);font-size:clamp(25px,2.4vw,38px);font-weight:400;letter-spacing:-.02em;margin:0 0 4px}.extra p{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.65);margin:0}.extra strong{font-family:var(--serif);font-size:clamp(22px,2vw,30px);font-weight:400;white-space:nowrap}
.extras-note{max-width:650px;margin:clamp(46px,6vw,80px) 0 0 auto;border-top:1px solid rgba(255,255,255,.35);padding-top:26px}.extras-note p{font-family:var(--serif);font-size:18px;line-height:1.45;margin:0 0 12px;color:rgba(255,255,255,.82)}
.investment-mobile-cta{display:none}
@media(max-width:760px){
  .investment-header nav a:first-child{display:none}
  .investment-page{overflow-x:hidden}
  .investment-hero{height:58svh;min-height:500px}.investment-hero>img{object-position:50% center}.investment-hero-copy{left:20px;right:20px;bottom:40px;max-width:calc(100vw - 40px)}.investment-hero h1{font-size:clamp(42px,12.2vw,58px);line-height:.94}.investment-hero-copy>p:last-child{font-size:18px;line-height:1.4;max-width:340px}
  .investment-intro{padding:64px 22px 38px}.investment-intro h2{font-size:clamp(38px,10.5vw,50px)}.investment-intro-copy{font-size:18px;line-height:1.5;margin-top:22px}
  .coverage-section{padding:0 10px 80px}.coverage-card{grid-template-columns:1fr;padding:38px 24px;gap:50px}.coverage-card h2{font-size:clamp(70px,21vw,94px);margin-bottom:34px}.coverage-includes li{font-size:20px}.price-option strong{font-size:clamp(40px,12vw,52px)}.dark-button{width:100%;text-align:center}
  .terms-section{padding:76px 22px}.terms-heading{grid-template-columns:1fr;gap:12px;margin-bottom:38px}.terms-heading h2{font-size:clamp(42px,12vw,56px)}.terms-grid{grid-template-columns:1fr}.term,.term-wide{grid-column:auto;grid-template-columns:1fr;padding:18px 0!important;border-left:0!important;gap:7px}.term strong{font-size:19px}
  .extras-section{padding:78px 22px;overflow:hidden;max-width:100vw}.extras-heading{display:block;margin-bottom:42px;min-width:0;max-width:100%}.extras-heading .eyebrow{margin-bottom:24px}.extras-heading h2{display:block;font-size:clamp(42px,11vw,52px);line-height:.96;width:100%;max-width:100%;min-width:0;margin:0 0 16px;white-space:normal;overflow-wrap:break-word;word-break:normal}.extras-heading>p:last-child{font-size:20px;line-height:1.4;width:100%;max-width:100%;overflow-wrap:break-word}.extras-list{margin:0;min-width:0;max-width:100%}.extra{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;min-width:0;max-width:100%}.extra>div{min-width:0}.extra h3{font-size:27px;overflow-wrap:break-word}.extra strong{font-size:23px}.extras-note{margin-top:48px}.extras-note p{font-size:17px}
  .investment-contact{padding-bottom:80px}
  .investment-mobile-cta{display:none!important}
}

/* v7 mobile overflow safeguards */
.investment-page, .investment-page main, .extras-section, .extras-heading{max-width:100%;overflow-x:hidden}
.investment-page *{box-sizing:border-box}
