:root{--cream:#f7f2e8;--lime:#eff9bd;--lilac:#d6bddc;--ink:#29261f;--muted:#746f66}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,sans-serif}img{display:block;width:100%}h1,h2,h3,.brand{font-family:Georgia,serif;font-weight:400}em{font-weight:400}a{color:inherit;text-decoration:none}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:2.6px}.dark{color:var(--muted)}header{position:absolute;z-index:10;width:100%;padding:30px 5vw;display:flex;justify-content:space-between;align-items:flex-start;color:#fff}.brand{font-size:28px}.brand small{display:block;font:9px Arial;letter-spacing:4px;text-align:center}nav{display:flex;gap:30px;font-size:11px;letter-spacing:1px}.hero{height:100vh;min-height:700px;position:relative;color:#fff}.hero>img{height:100%;object-fit:cover}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.52),rgba(0,0,0,.02) 72%)}.hero-copy{position:absolute;left:8vw;bottom:12vh;width:min(760px,82vw)}.hero h1{font-size:clamp(54px,6.4vw,96px);line-height:.96;margin:20px 0}.hero-copy>p:not(.eyebrow){max-width:480px;line-height:1.7}.btn{display:inline-block;margin-top:28px;padding:15px 24px;border:1px solid var(--ink);text-transform:uppercase;font-size:10px;letter-spacing:1.7px}.btn.light{border-color:#fff}.intro{padding:140px 12vw 125px;text-align:center}.intro span{font-size:10px;letter-spacing:3px}.intro h2{font-size:clamp(43px,5vw,76px);line-height:1.05;margin:25px auto;max-width:980px}.intro p{max-width:690px;margin:auto;line-height:1.9}.story-gallery{padding:0 7vw 130px}.gallery-row{display:grid;gap:24px;align-items:end;margin:0 auto 80px}.gallery-row img{height:100%;object-fit:cover}.feature{grid-template-columns:1.15fr .72fr;max-width:1120px}.feature img:first-child{height:560px;border-radius:0 150px 0 0}.feature img:last-child{height:430px;margin-bottom:-38px;border-radius:120px 120px 0 0}.feature.reverse{grid-template-columns:.72fr 1.15fr;align-items:start}.feature.reverse img:first-child{height:430px;margin-top:55px;border-radius:120px 120px 0 0}.feature.reverse img:last-child{height:560px;border-radius:0 0 150px 0}.trio{grid-template-columns:.8fr 1.15fr .78fr;max-width:1180px;align-items:center}.trio img:nth-child(1){height:360px;border-radius:110px 110px 0 0}.trio img:nth-child(2){height:470px}.trio img:nth-child(3){height:330px;border-radius:0 0 100px 100px}.trio.varied{grid-template-columns:.85fr .75fr 1.1fr}.trio.varied img:nth-child(1){height:390px}.trio.varied img:nth-child(2){height:320px;border-radius:100px 100px 0 0}.trio.varied img:nth-child(3){height:470px;border-radius:0}.asymmetric{grid-template-columns:1.15fr .72fr .85fr;max-width:1160px;align-items:start}.asymmetric img:nth-child(1){height:500px}.asymmetric img:nth-child(2){height:350px;margin-top:85px;border-radius:0 0 100px 100px}.asymmetric img:nth-child(3){height:410px;border-radius:110px 110px 0 0}.gallery-quote,.gallery-note{padding:90px 5vw 110px;text-align:center}.gallery-quote p,.gallery-note p{font:italic clamp(34px,4vw,60px)/1.12 Georgia,serif;margin:0}.gallery-note p{font-size:clamp(30px,3.4vw,52px)}.full-photo{max-width:1280px;margin:20px auto 100px}.full-photo img{height:min(72vh,720px);object-fit:cover;border-radius:0 180px 0 0}.services{background:var(--lime);padding:125px 9vw 135px;display:grid;grid-template-columns:.9fr 1.1fr;column-gap:9vw}.services-head h2,.experience>h2{font-size:clamp(43px,4.8vw,72px);line-height:1.04;margin:22px 0 30px}.services-head>p:last-child{max-width:520px;line-height:1.85}.service-list{border-top:1px solid rgba(41,38,31,.35)}.service-list>div{display:grid;grid-template-columns:55px 1fr;align-items:center;border-bottom:1px solid rgba(41,38,31,.25);padding:22px 0}.service-list b{font:26px Georgia;color:#a97ec0}.service-list h3{font-size:25px;margin:0}.text-link{grid-column:2;margin-top:30px;font-size:11px;text-transform:uppercase;letter-spacing:1.5px}.photo-break{padding:115px 8vw;background:var(--cream)}.photo-break img{height:min(75vh,760px);object-fit:cover;border-radius:170px 170px 0 0}.experience{padding:135px 9vw;background:#fff}.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #bbb;margin-top:70px}.steps article{padding:40px 42px 20px 0;margin-right:42px;border-right:1px solid #ccc}.steps article:last-child{border:0;margin-right:0}.steps b{color:var(--lilac);font:52px Georgia}.steps h3{font-size:30px;margin:16px 0}.steps p{line-height:1.75}.about{padding:150px 10vw;display:grid;grid-template-columns:.75fr 1fr;gap:10vw;align-items:center;background:var(--cream)}.about-image{max-width:460px;justify-self:end}.about-image img{height:610px;object-fit:cover;border-radius:230px 230px 0 0}.about-copy{max-width:570px}.about-copy h2{font-size:clamp(48px,5vw,76px);line-height:1;margin:22px 0 35px}.about-copy p{line-height:1.85}.last-image{padding:0 7vw 120px;background:var(--cream)}.last-image img{height:min(68vh,680px);object-fit:cover;border-radius:0 160px 0 0}.contact{background:var(--lilac);padding:125px 9vw 105px;text-align:center}.contact-inner{max-width:800px;margin:auto}.contact h2{font-size:clamp(50px,6vw,86px);margin:22px 0}.contact p{line-height:1.8}.contact-links{margin-top:65px;padding-top:28px;border-top:1px solid rgba(41,38,31,.3);display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:1px}footer{padding:55px 6vw;display:flex;align-items:end;justify-content:space-between;font-size:10px;letter-spacing:1px}footer .brand{font-size:28px}@media(max-width:800px){header{padding:22px 6vw}header nav{display:none}.hero{min-height:650px}.hero-copy{left:7vw;bottom:10vh}.hero h1{font-size:52px}.intro{padding:95px 8vw 80px}.story-gallery{padding:0 6vw 80px}.gallery-row{gap:12px;margin-bottom:50px}.feature,.feature.reverse,.trio,.trio.varied,.asymmetric{grid-template-columns:1fr 1fr}.feature img:first-child,.feature.reverse img:last-child{height:390px;border-radius:0 90px 0 0}.feature img:last-child,.feature.reverse img:first-child{height:300px;margin:50px 0 0;border-radius:80px 80px 0 0}.trio img,.trio.varied img,.asymmetric img{height:280px!important;margin:0!important}.trio img:nth-child(2),.trio.varied img:nth-child(3),.asymmetric img:nth-child(1){grid-column:1/3;height:360px!important;border-radius:0}.gallery-quote,.gallery-note{padding:55px 4vw 70px}.full-photo{margin-bottom:65px}.full-photo img{height:55vh;border-radius:0 100px 0 0}.services{padding:90px 8vw;display:block}.service-list{margin-top:55px}.text-link{display:inline-block;margin-top:28px}.photo-break{padding:80px 6vw}.photo-break img{height:55vh;border-radius:100px 100px 0 0}.experience{padding:95px 8vw}.steps{grid-template-columns:1fr}.steps article{border-right:0;border-bottom:1px solid #ccc;margin:0;padding:30px 0}.about{padding:95px 8vw;grid-template-columns:1fr;gap:55px}.about-image{justify-self:center;max-width:360px}.about-image img{height:480px;border-radius:180px 180px 0 0}.last-image{padding:0 6vw 80px}.last-image img{height:52vh;border-radius:0 100px 0 0}.contact{padding:90px 8vw}.contact-links{flex-direction:column}.contact h2{font-size:54px}footer{display:block}footer>*{margin:18px 0}}

/* V7 — fotografía intacta: las formas pertenecen al sistema gráfico, nunca a las fotos */
.story-gallery img,.full-photo img,.photo-break img,.last-image img{border-radius:0!important;height:auto!important;object-fit:contain!important}
.gallery-row{align-items:center}
.feature,.feature.reverse{grid-template-columns:1.08fr .72fr;gap:clamp(28px,5vw,84px)}
.feature.reverse{grid-template-columns:.72fr 1.08fr}
.feature img:last-child,.feature.reverse img:first-child{margin:0!important}
.trio,.trio.varied,.asymmetric{gap:clamp(22px,3.6vw,58px);align-items:center}
.trio img,.trio.varied img,.asymmetric img{margin:0!important}
.full-photo{max-width:1180px}
.photo-break{padding-left:10vw;padding-right:10vw}
.photo-break img,.last-image img{max-height:none}

/* Organic brand shapes live outside photography */
.story-gallery{position:relative;overflow:hidden}
.story-gallery:before{content:"";position:absolute;width:250px;height:430px;border-radius:140px 140px 0 0;background:var(--lime);right:-120px;top:19%;z-index:-1}
.story-gallery:after{content:"";position:absolute;width:290px;height:290px;border-radius:50%;background:var(--lilac);left:-175px;top:58%;z-index:-1;opacity:.72}
.services{position:relative;overflow:hidden}
.services:after{content:"";position:absolute;width:230px;height:390px;border-radius:120px 120px 0 0;background:rgba(214,189,220,.72);right:-100px;bottom:-170px}

/* About: no portrait until there is one that feels authentically Vita Plena */
.about{grid-template-columns:.62fr 1fr;gap:9vw;position:relative;overflow:hidden}
.about-mark{width:min(340px,32vw);aspect-ratio:1/1.25;background:var(--lilac);border-radius:180px 180px 0 0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:42px;justify-self:end}
.about-mark span{font:italic clamp(58px,7vw,104px)/1 Georgia,serif;color:var(--cream)}
.about-copy{position:relative;z-index:1}

@media(max-width:800px){
 .gallery-row{gap:18px;margin-bottom:56px}
 .feature,.feature.reverse,.trio,.trio.varied,.asymmetric{grid-template-columns:1fr 1fr}
 .feature img,.feature.reverse img,.trio img,.trio.varied img,.asymmetric img{height:auto!important;margin:0!important;border-radius:0!important;grid-column:auto!important}
 .trio img:nth-child(2),.trio.varied img:nth-child(3),.asymmetric img:nth-child(1){grid-column:1/3!important;height:auto!important}
 .story-gallery:before{width:150px;height:260px;right:-85px}
 .story-gallery:after{width:180px;height:180px;left:-115px}
 .about{grid-template-columns:1fr;gap:45px}
 .about-mark{width:210px;justify-self:start;border-radius:110px 110px 0 0;padding-bottom:25px}
 .photo-break{padding-left:6vw;padding-right:6vw}
}


/* FINAL COPY RHYTHM — prevent orphaned single words and remove VP block */
h1,h2,h3,.gallery-quote p,.gallery-note p{text-wrap:balance}
.hero-copy>p,.intro p,.services-head>p,.steps p,.about-copy p,.contact p{text-wrap:pretty}
.hero h1{max-width:900px}
.intro h2{max-width:1050px}
.services-head h2{max-width:650px}
.experience>h2{max-width:900px}
.about{display:block;padding:145px 12vw 150px}
.about-copy{max-width:820px;margin:0 auto;text-align:center}
.about-copy h2{max-width:760px;margin:22px auto 35px}
.about-copy p{max-width:700px;margin:0 auto 18px}
.about-mark{display:none!important}
@media(max-width:800px){
 .hero h1{max-width:92vw}
 .intro h2,.services-head h2,.experience>h2,.about-copy h2{max-width:100%}
 .about{display:block;padding:90px 8vw 100px}
 .about-copy{text-align:left;max-width:100%}
 .about-copy p{margin-left:0;margin-right:0}
}


/* HERO FINAL TEST — editorial composition, original photo proportions preserved */
.hero-editorial{min-height:780px;height:100vh;background:var(--cream);color:var(--ink);display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:5vw;padding:120px 6vw 65px;overflow:hidden}
.hero-editorial .hero-copy{position:static;width:auto;max-width:650px;padding-left:2vw;z-index:2}
.hero-editorial .hero-copy .eyebrow{color:var(--muted)}
.hero-editorial h1{font-size:clamp(54px,5.8vw,88px);line-height:.98;margin:20px 0 26px}
.hero-editorial .hero-copy>p:not(.eyebrow){max-width:430px}
.hero-editorial .btn{border-color:var(--ink)}
.hero-collage{position:relative;height:min(74vh,760px);min-height:590px;max-width:850px;width:100%;justify-self:end}
.hero-photo{position:absolute;margin:0;background:#fff;box-shadow:0 18px 45px rgba(41,38,31,.08)}
.hero-photo img{width:100%;height:auto;display:block}
.hero-photo-main{width:64%;left:5%;top:11%;z-index:2}
.hero-photo-top{width:30%;right:2%;top:0;z-index:3}
.hero-photo-bottom{width:27%;right:7%;bottom:1%;z-index:1}
.hero-collage:before{content:"";position:absolute;width:210px;height:310px;border-radius:110px 110px 0 0;background:var(--lilac);right:-5%;top:29%;z-index:0}
.hero-collage:after{content:"";position:absolute;width:175px;height:175px;border-radius:50%;background:var(--lime);left:-4%;bottom:2%;z-index:0}
@media(max-width:800px){
 .hero-editorial{height:auto;min-height:0;display:block;padding:105px 6vw 70px}
 .hero-editorial .hero-copy{padding:0 1vw 45px;max-width:100%}
 .hero-editorial h1{font-size:50px;max-width:95vw}
 .hero-collage{height:600px;min-height:0;max-width:560px;margin:0 auto}
 .hero-photo-main{width:70%;left:0;top:8%}
 .hero-photo-top{width:34%;right:0;top:0}
 .hero-photo-bottom{width:31%;right:3%;bottom:3%}
 .hero-collage:before{width:150px;height:230px;right:-12%;top:34%}
 .hero-collage:after{width:120px;height:120px;left:-8%;bottom:1%}
}

/* Official Vita Plena logo */
.logo-brand{display:flex;align-items:center;text-decoration:none;}
.logo-brand img{display:block;width:170px;height:auto;object-fit:contain;}
.footer-logo{justify-content:flex-start;}
.footer-logo img{width:155px;}
@media(max-width:700px){.logo-brand img{width:135px}.footer-logo img{width:135px}}

.contact-links a{color:inherit;text-decoration:none}.contact-links a:hover{text-decoration:underline}


/* MOBILE LAUNCH QA — tighter rhythm, full-resolution source images, no redesign */
img{image-rendering:auto;-ms-interpolation-mode:bicubic}
@media(max-width:800px){
  header{padding:18px 6vw}
  .hero-editorial{padding:88px 6vw 42px}
  .hero-editorial .hero-copy{padding:0 1vw 26px}
  .hero-editorial h1{font-size:clamp(43px,13vw,50px);line-height:.96;margin:14px 0 18px}
  .hero-editorial .hero-copy>p:not(.eyebrow){line-height:1.55;margin-bottom:0}
  .hero-editorial .btn{margin-top:20px}
  .hero-collage{height:470px;max-width:520px}
  .hero-photo-main{width:72%;left:0;top:7%}
  .hero-photo-top{width:33%;right:0;top:0}
  .hero-photo-bottom{width:30%;right:3%;bottom:2%}
  .hero-collage:before{width:125px;height:195px;right:-10%;top:33%}
  .hero-collage:after{width:92px;height:92px;left:-7%;bottom:0}

  .intro{padding:62px 8vw 58px}
  .intro h2{font-size:clamp(38px,10.5vw,48px);margin:18px auto}
  .intro p{line-height:1.65}
  .story-gallery{padding:0 6vw 54px}
  .gallery-row{gap:12px;margin-bottom:28px}
  .gallery-quote,.gallery-note{padding:34px 2vw 40px}
  .gallery-quote p,.gallery-note p{font-size:clamp(29px,8vw,38px)}
  .full-photo{margin:8px auto 32px}
  .story-gallery:before{width:120px;height:205px;right:-78px}
  .story-gallery:after{width:140px;height:140px;left:-96px}

  .services{padding:64px 8vw 70px}
  .services-head h2{font-size:clamp(39px,10vw,48px);margin:16px 0 20px}
  .services-head>p:last-child{line-height:1.65}
  .service-list{margin-top:34px}
  .service-list>div{grid-template-columns:42px 1fr;padding:16px 0}
  .service-list b{font-size:22px}
  .service-list h3{font-size:21px;line-height:1.08}
  .text-link{margin-top:22px}

  .photo-break{padding:48px 6vw}
  .experience{padding:66px 8vw 62px}
  .experience>h2{font-size:clamp(39px,10vw,48px);margin:16px 0 24px}
  .steps{margin-top:36px}
  .steps article{padding:22px 0}
  .steps b{font-size:42px}
  .steps h3{font-size:27px;margin:8px 0}
  .steps p{line-height:1.6;margin-bottom:0}

  .about{padding:64px 8vw 66px}
  .about-copy h2{font-size:clamp(43px,11vw,54px);margin:16px 0 24px}
  .about-copy p{line-height:1.65}
  .last-image{padding:0 6vw 48px}
  .contact{padding:66px 8vw 58px}
  .contact h2{font-size:clamp(46px,12vw,58px);line-height:.98;margin:16px 0}
  .contact-links{margin-top:42px;padding-top:22px;gap:12px}
  footer{padding:36px 6vw}
}
@media(max-width:430px){
  .hero-collage{height:430px}
  .gallery-row{margin-bottom:24px}
  .gallery-quote,.gallery-note{padding-top:28px;padding-bottom:34px}
}

/* FINAL MOBILE HERO COLLAGE — compact editorial rhythm */
@media(max-width:800px){
  .hero-collage{height:350px;max-width:520px;margin:0 auto}
  .hero-photo-main{width:72%;left:0;top:5%}
  .hero-photo-top{width:33%;right:0;top:0}
  .hero-photo-bottom{width:30%;right:3%;top:55%;bottom:auto}
  .hero-collage:before{width:125px;height:180px;right:-10%;top:31%}
  .hero-collage:after{width:92px;height:92px;left:-7%;top:66%;bottom:auto}
}

/* FINAL mobile hero: two-photo editorial composition */
@media (max-width:800px){
  .hero-editorial .hero-copy{padding-bottom:24px}
  .hero-collage{height:300px;max-width:520px;margin:0 auto 18px;overflow:visible}
  .hero-photo-main{display:block;width:76%;left:0;top:34px;z-index:2}
  .hero-photo-top{display:block;width:34%;right:0;top:0;z-index:4}
  .hero-photo-bottom{display:none!important}
  .hero-collage:before{display:block;width:112px;height:160px;right:-7%;top:96px;border-radius:60px 0 0 0;z-index:1}
  .hero-collage:after{display:none!important}
}
@media (max-width:430px){
  .hero-collage{height:270px;margin-bottom:12px}
  .hero-photo-main{width:76%;top:32px}
  .hero-photo-top{width:34%;top:0}
  .hero-collage:before{width:96px;height:145px;right:-7%;top:88px}
}
