:root{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:#202222;background:#f3f3f1;font-size:16px;font-weight:400}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit}a,summary{outline-offset:4px}.wrap{width:min(100%,1280px);margin:auto;padding-inline:clamp(22px,5vw,76px)}.top{height:86px;display:flex;align-items:center;justify-content:space-between;background:#f3f3f1}.brand{text-decoration:none;font-size:1.08rem;font-weight:600;letter-spacing:-.035em}.brand span{display:inline-grid;place-items:center;width:33px;height:33px;margin-right:12px;border:1px solid #2d3030;font-size:.95rem;font-weight:500}.nav{display:flex;gap:34px;align-items:center;font-size:.88rem}.nav a{text-decoration:none}.nav a:hover,.foot a:hover{text-decoration:underline;text-underline-offset:5px}.nav .contact{border-bottom:1px solid #202222;padding-bottom:5px}.hero{background:#292e2f;color:#f4f5f2}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center;min-height:610px;padding-block:85px}.eyebrow,.section-tag,.number{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:600}.eyebrow{color:#b9c1c1}.hero h1{font-size:clamp(3.1rem,5.5vw,5.55rem);font-weight:400;line-height:1.02;letter-spacing:-.075em;max-width:710px;margin:29px 0 27px}.hero p{font-size:1.08rem;line-height:1.65;color:#c9cecc;max-width:530px}.btn{display:inline-flex;align-items:center;gap:35px;padding:16px 22px;margin-top:24px;background:#e9ebea;color:#242829;text-decoration:none;font-size:.91rem;font-weight:600;border:1px solid #e9ebea;transition:background .2s,color .2s}.btn:hover{background:transparent;color:#f4f5f2}.video-frame{position:relative;isolation:isolate;min-height:370px;aspect-ratio:4/3;width:100%;display:grid;place-items:center;overflow:hidden;background:#474f4f url('espacio-arquitectura.webp') center 50%/cover no-repeat;color:#fff;text-align:center;border:1px solid #697171}.video-frame:before{content:"";position:absolute;inset:0;background:rgba(19,23,23,.44);z-index:-1}.video-frame span{font-size:1.05rem;letter-spacing:.01em}.video-frame small{display:block;font-size:.81rem;letter-spacing:.12em;text-transform:uppercase;margin-top:12px;color:#e1e5e4}.video-play{display:grid;place-items:center;width:70px;height:70px;border:1px solid rgba(255,255,255,.85);border-radius:50%;margin:0 auto 22px;padding-left:3px;font-size:1.5rem}.section{padding-block:clamp(86px,9vw,138px)}.section-tag{color:#707776}.section h2{font-size:clamp(2.5rem,4.2vw,4.6rem);font-weight:400;line-height:1.1;letter-spacing:-.066em;margin:22px 0 28px;max-width:850px}.lead{font-size:1.1rem;line-height:1.75;color:#545b5a;max-width:700px}.opportunity{background:#dedfdd}.opportunity-grid{display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:clamp(45px,7vw,112px)}.opportunity-image{display:block;width:100%;height:500px;object-fit:cover;object-position:50% 65%;filter:grayscale(100%)}.process{background:#f4f4f2}.process .lead{margin-bottom:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:65px;border-top:1px solid #aeb4b1}.step{padding-top:30px;border-top:2px solid #292e2f}.number{color:#777e7c}.step h3{font-size:1.4rem;font-weight:500;letter-spacing:-.045em;margin:45px 0 16px}.step p{line-height:1.65;color:#565e5b;margin:0}.about{background:#e6e8e6}.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,8vw,130px)}.about p{line-height:1.8;color:#4d5553;font-size:1.05rem}.portrait-placeholder{width:min(100%,340px);aspect-ratio:4/5;margin-top:38px;border:1px solid #afb7b4;background:#d8dcda;display:grid;place-items:center;text-align:center;color:#616a67;font-size:.9rem;line-height:1.6;padding:24px}.quote{border-left:1px solid #606a67;margin-top:32px;padding:7px 0 7px 27px;font-size:1.34rem;line-height:1.5;letter-spacing:-.035em}.quote small{display:block;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:#727a78;margin-top:20px}.faq{background:#f4f4f2}.faq-wrap{max-width:930px}.faq-list{margin-top:55px;border-top:1px solid #aeb4b1}.faq details{border-bottom:1px solid #aeb4b1}.faq summary{cursor:pointer;list-style:none;position:relative;padding:27px 50px 27px 0;font-size:1.12rem;font-weight:500}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:5px;top:22px;font-size:1.6rem;font-weight:300}.faq details[open] summary:after{content:'−'}.faq details p{line-height:1.7;color:#525b58;max-width:700px;margin:0 30px 28px 0}.cta{background:#303636;color:#f4f5f2;text-align:center}.cta .section-tag{color:#afb8b5}.cta h2,.cta .lead{margin-inline:auto}.cta .lead{color:#c4ccca}.cta .btn{background:#f1f2ef;color:#252929}.cta .btn:hover{background:transparent;color:#fff}.contact-details{display:flex;justify-content:center;gap:70px;flex-wrap:wrap;margin-top:60px}.contact-details div{display:flex;flex-direction:column;gap:12px}.contact-details span:first-child{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:#aeb9b5}.contact-details a{text-underline-offset:5px}.foot{background:#232828;color:#c8d0cc;padding:30px 0}.foot .wrap{display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:.82rem}.foot a{text-underline-offset:4px}@media(max-width:800px){.top{height:74px}.nav{gap:18px}.nav a:not(.contact){display:none}.hero-grid,.opportunity-grid,.split{grid-template-columns:1fr}.hero-grid{gap:45px;padding-block:65px}.hero h1{font-size:clamp(3rem,12vw,4.8rem)}.video-frame{min-height:260px;aspect-ratio:4/3;order:-1}.opportunity-grid{gap:35px}.opportunity-image{height:370px;object-position:center 58%}.split{gap:42px}.steps{grid-template-columns:1fr;gap:30px}.step h3{margin-top:20px}.portrait-placeholder{max-width:320px}.contact-details{gap:32px;flex-direction:column}.foot .wrap{align-items:start;flex-direction:column}.section h2{font-size:clamp(2.5rem,8vw,3.7rem)}}@media(max-width:480px){.hero-grid{padding-top:50px}.hero h1{font-size:3.05rem}.video-frame{min-height:230px}.nav .contact{font-size:.82rem}.brand{font-size:.95rem}.brand span{width:30px;height:30px}}

/* Ritmo compacto y sección personal equilibrada */
.hero-grid{min-height:520px;padding-block:68px}.hero h1{letter-spacing:-.035em}.section{padding-block:clamp(64px,7vw,92px)}.section h2{letter-spacing:-.025em}.opportunity-image{height:390px}.steps{margin-top:42px;gap:25px}.step h3{margin-top:30px}.split{grid-template-columns:340px 1fr;gap:clamp(42px,7vw,96px);align-items:center}.portrait-placeholder{width:100%;aspect-ratio:1/1;margin:0}.about-copy h2{margin-bottom:22px}.about-copy p{max-width:640px;margin:0}.faq-list{margin-top:36px}.faq summary{padding-block:22px}.faq summary:after{top:17px}.contact-details{margin-top:42px}
@media(max-width:800px){.hero-grid{min-height:0;padding-block:54px}.opportunity-image{height:330px}.split{grid-template-columns:1fr;gap:30px}.portrait-placeholder{width:min(100%,310px)}.steps{margin-top:34px}.section{padding-block:64px}}

/* Portada: titular y vídeo con proporciones similares */
.hero-grid{min-height:0;gap:clamp(30px,4vw,62px);padding-block:62px}.hero h1{font-size:clamp(2.8rem,4vw,3.4rem);line-height:1.08;margin:20px 0 20px;letter-spacing:-.025em}.hero h1 span{display:block}.hero p{font-size:1rem;line-height:1.55;margin:0;max-width:490px}.hero .btn{margin-top:20px}.video-frame{min-height:350px;aspect-ratio:4/3}
@media(max-width:800px){.hero-grid{padding-block:50px;gap:35px}.hero h1{font-size:clamp(2.8rem,9vw,3.6rem)}.hero h1 span{display:inline}.video-frame{min-height:230px}}

/* Segunda franja: texto contenido dentro de la altura de la fotografía */
.opportunity h2{font-size:clamp(2.6rem,3.5vw,3.55rem);line-height:1.1;max-width:560px;margin:20px 0 22px}.opportunity .lead{font-size:1.01rem;line-height:1.65;max-width:550px;margin:0}
@media(max-width:800px){.opportunity h2{font-size:clamp(2.5rem,7.5vw,3.3rem)}}

/* Titular del proceso en una línea cuando hay espacio */
@media(min-width:801px){.process h2{max-width:none;white-space:nowrap;font-size:clamp(2.55rem,3.55vw,3.9rem)}}

/* Reproductor incrustado para la prueba */
.video-frame{aspect-ratio:16/9;min-height:0}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:800px){.video-frame{aspect-ratio:16/9;min-height:0}}
