:root{--navy:#073e4b;--navy2:#042d37;--cyan:#11b8d4;--cream:#f6f2eb;--gold:#c9a355;--pink:#e8a4b4;--pink2:#f5dce2;--ink:#16333a;--white:#fff;--line:rgba(7,62,75,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}.topbar{height:88px;display:flex;align-items:center;padding:0 clamp(22px,5vw,76px);gap:40px;position:sticky;top:0;z-index:20;background:rgba(246,242,235,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(7,62,75,.08)}.brand{display:flex;align-items:center;gap:11px;margin-right:auto}.brand-mark{width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font:italic 600 27px "Playfair Display";color:var(--navy)}.brand strong{display:block;font:italic 600 24px "Playfair Display";line-height:.9}.brand small{display:block;font-size:8px;text-transform:uppercase;letter-spacing:1.6px;margin-top:6px}.topbar nav{display:flex;gap:28px;font-size:13px;font-weight:600}.topbar nav a{position:relative}.topbar nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--cyan);transition:.25s}.topbar nav a:hover:after{width:100%}.button{display:inline-flex;justify-content:center;align-items:center;padding:16px 25px;border-radius:4px;background:var(--navy);color:white;font-weight:700;font-size:14px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#095466}.button.compact{padding:12px 18px}.menu{display:none}.hero{min-height:calc(100vh - 88px);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;overflow:hidden;padding:60px clamp(22px,7vw,110px) 70px;background:radial-gradient(circle at 80% 30%,#fff 0,transparent 35%)}.eyebrow{text-transform:uppercase;letter-spacing:2.5px;font-size:11px;font-weight:700;color:#15849a;margin:0 0 22px}.hero h1,.section h2,.pink-section h2,.contact h2{font:600 clamp(45px,6vw,78px)/1.02 "Playfair Display";letter-spacing:-2px;margin:0}.hero h1 em{color:var(--navy);font-weight:500}.lead{max-width:620px;font-size:18px;line-height:1.7;color:#51686c;margin:30px 0}.actions{display:flex;align-items:center;gap:26px}.text-link{font-size:14px;font-weight:700}.text-link span{font-size:21px;margin-left:8px}.trust{display:flex;gap:18px;margin-top:54px;font-size:11px;color:#637578}.trust span:before{content:"✓";color:var(--cyan);font-weight:700;margin-right:6px}.hero-visual{height:580px;position:relative}.portrait-card{width:78%;height:100%;margin-left:auto;border-radius:180px 180px 16px 16px;overflow:hidden;box-shadow:0 28px 70px rgba(4,45,55,.18)}.portrait-card img{width:100%;height:100%;object-fit:cover}.floating-note{position:absolute;left:1%;bottom:55px;background:white;padding:22px 25px;display:flex;align-items:center;gap:15px;box-shadow:0 15px 40px rgba(4,45,55,.14)}.floating-note span{font-size:30px;color:#d66e89}.floating-note strong{font:600 18px/1.25 "Playfair Display"}.orb{position:absolute;width:105px;height:105px;border:1px solid var(--gold);border-radius:50%;right:-35px;top:30px}.section{padding:120px clamp(22px,7vw,110px)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:45px}.intro h2,.journey h2{font-size:clamp(40px,5vw,65px)}.section-copy{font-size:17px;line-height:1.8;color:#607276;max-width:510px;align-self:end}.service-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;border:1px solid var(--line)}.service{padding:42px;min-height:360px;border-right:1px solid var(--line);position:relative;transition:.3s}.service:last-child{border:0}.service:hover,.service.featured{background:var(--navy);color:white;transform:translateY(-8px);box-shadow:0 20px 40px rgba(4,45,55,.18)}.service .number{position:absolute;right:24px;top:20px;font-size:11px;opacity:.55}.service .icon{font-size:36px;color:var(--cyan);margin:22px 0 48px}.service h3{font:600 27px "Playfair Display"}.service p{font-size:14px;line-height:1.7;opacity:.7;min-height:72px}.service a{display:inline-block;margin-top:20px;font-size:13px;font-weight:700}.pink-section{background:var(--pink2);padding:120px clamp(22px,7vw,110px);display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center;position:relative;overflow:hidden}.pink-section:before{content:"";width:380px;height:380px;border:1px solid rgba(176,79,105,.16);border-radius:50%;position:absolute;left:-130px;top:-180px}.pink-section .eyebrow{color:#ad526a}.pink-copy p:not(.eyebrow){font-size:16px;line-height:1.8;max-width:590px;margin:30px 0}.button.dark{background:#893f55}.combo-stack{position:relative}.combo-stack article{display:flex;align-items:center;gap:22px;padding:25px 8px;border-bottom:1px solid rgba(137,63,85,.25)}.combo-stack article>span{font-size:11px;color:#ad526a}.combo-stack article div{flex:1}.combo-stack small{font-size:11px;text-transform:uppercase;letter-spacing:1.5px}.combo-stack h3{font:600 28px "Playfair Display";margin:5px 0}.combo-stack b{font-size:23px}.disclaimer{font-size:11px;line-height:1.5;color:#795963;margin-top:25px}.journey{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;background:#fff}.journey ol{list-style:none;margin:0;padding:0}.journey li{display:flex;gap:30px;border-top:1px solid var(--line);padding:28px 0}.journey li:last-child{border-bottom:1px solid var(--line)}.journey li>span{color:var(--cyan);font-size:12px;font-weight:700;padding-top:6px}.journey h3{font:600 24px "Playfair Display";margin:0 0 8px}.journey li p{color:#62777b;font-size:14px;line-height:1.6;margin:0}.contact{background:var(--navy);color:white;padding:110px clamp(22px,7vw,110px);display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact .eyebrow{color:#65d1df}.contact>div>p:last-child{line-height:1.8;color:#b9c9cc;margin-top:28px}.contact-links{display:grid}.contact-links a{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.15)}.contact-links small{display:block;color:#6ad0df;text-transform:uppercase;letter-spacing:2px;font-size:9px}.contact-links strong{font:500 22px "Playfair Display";display:block;margin-top:6px}footer{background:var(--navy2);color:#b7c7ca;display:flex;align-items:center;gap:30px;padding:35px clamp(22px,7vw,110px);font-size:11px}footer .brand{color:white}footer .brand-mark{color:white}footer p:last-child{margin-left:auto}.whatsapp{position:fixed;right:24px;bottom:24px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#24c96b;color:white;font-size:26px;box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:30}.reveal{opacity:0;transform:translateY(18px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.topbar{height:72px}.topbar nav,.topbar>.button{display:none}.menu{display:block;width:38px;height:38px;border:0;background:none}.menu span{display:block;width:23px;height:2px;background:var(--navy);margin:6px}.topbar.open nav{display:flex;position:absolute;top:72px;left:0;right:0;background:var(--cream);padding:25px;flex-direction:column;border-bottom:1px solid var(--line)}.hero{grid-template-columns:1fr;padding-top:55px}.hero-visual{height:450px;margin-top:45px}.portrait-card{width:86%}.trust{flex-wrap:wrap}.intro,.pink-section,.journey,.contact{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.service{border-right:0;border-bottom:1px solid var(--line)}.service:hover,.service.featured{transform:none}.section,.pink-section,.contact{padding-top:80px;padding-bottom:80px}footer{flex-direction:column;align-items:flex-start}footer p:last-child{margin-left:0}}@media(max-width:520px){.hero h1{font-size:44px}.hero{padding-left:20px;padding-right:20px}.lead{font-size:16px}.actions{align-items:stretch;flex-direction:column}.text-link{text-align:center}.hero-visual{height:390px}.floating-note{padding:15px}.trust{margin-top:35px}.section h2,.pink-section h2,.contact h2{font-size:40px}.service{min-height:auto;padding:32px}.contact-links strong{font-size:19px}}

/* Upgrade institucional */
.quick-info{background:var(--navy);color:#fff;display:grid;grid-template-columns:repeat(3,1fr) auto;align-items:center;padding:24px clamp(22px,7vw,110px);gap:36px}.quick-info div{padding-right:30px;border-right:1px solid rgba(255,255,255,.14)}.quick-info small{display:block;text-transform:uppercase;letter-spacing:1.7px;font-size:9px;color:#75d7e4;margin-bottom:5px}.quick-info strong{font-size:14px}.quick-info>a{font-weight:700;font-size:13px;color:#7fe0ec}
.space-section{padding:120px clamp(22px,7vw,110px);background:#fff}.space-heading{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:end;margin-bottom:55px}.space-heading .eyebrow{grid-column:1/-1;margin-bottom:-25px}.space-heading h2,.location h2{font:600 clamp(40px,5vw,65px)/1.05 "Playfair Display";letter-spacing:-1.5px;margin:0}.space-heading>p:last-child{max-width:520px;line-height:1.8;color:#607276;margin:0}.space-gallery{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:repeat(2,290px);gap:14px}.space-gallery figure{margin:0;position:relative;overflow:hidden;background:var(--navy)}.space-gallery .gallery-main{grid-row:1/3}.space-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.space-gallery figure:hover img{transform:scale(1.025)}.space-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:36px 24px 20px;color:#fff;background:linear-gradient(transparent,rgba(3,34,42,.82));font-weight:600;font-size:14px}.space-gallery figcaption span{color:#62d2e0;font-size:10px;margin-right:10px}
.team-section{padding:120px clamp(22px,7vw,110px);background:var(--navy2);color:#fff}.team-heading{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:end;margin-bottom:55px}.team-heading .eyebrow{grid-column:1/-1;color:#6fd4e1;margin-bottom:-25px}.team-heading h2{font:600 clamp(40px,5vw,65px)/1.05 "Playfair Display";letter-spacing:-1.5px;margin:0}.team-heading>p:last-child{max-width:520px;line-height:1.8;color:#b4c7ca;margin:0}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.team-card{min-height:560px;display:grid;grid-template-columns:1.15fr .85fr;background:#fff;color:var(--ink);overflow:hidden}.team-photo{position:relative;min-height:560px}.team-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center top}.team-photo span{position:absolute;left:18px;bottom:18px;background:var(--navy);color:#fff;padding:9px 12px;text-transform:uppercase;letter-spacing:1.5px;font-size:9px}.team-info{padding:38px 28px;align-self:end}.team-info small{color:#16869a;text-transform:uppercase;letter-spacing:1.6px;font-size:9px;font-weight:700}.team-info h3{font:600 27px/1.08 "Playfair Display";margin:14px 0 20px}.team-info p{font-size:13px;color:#62777b;margin:0 0 8px}.team-info strong{font-size:11px;letter-spacing:.6px}.team-card.reverse .team-photo{order:2}
.pink-section{grid-template-columns:.9fr 1.1fr;gap:8vw}.pink-campaign{position:relative}.pink-campaign:before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid rgba(137,63,85,.3)}.pink-campaign img{display:block;width:100%;max-height:650px;object-fit:cover;position:relative;box-shadow:0 24px 50px rgba(96,36,53,.16)}.combo-mini{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}.combo-mini span{border:1px solid rgba(137,63,85,.27);padding:9px 12px;font-size:11px;font-weight:700;color:#7b3a4d;background:rgba(255,255,255,.35)}
.location{background:var(--cream);display:grid;grid-template-columns:1.05fr .95fr;min-height:650px}.location-photo{position:relative;min-height:650px}.location-photo img{width:100%;height:100%;object-fit:cover;position:absolute}.location-photo span{position:absolute;left:30px;bottom:30px;background:#fff;padding:15px 20px;font:600 18px "Playfair Display";box-shadow:0 12px 30px rgba(4,45,55,.18)}.location-copy{padding:100px clamp(30px,7vw,100px);align-self:center}.location .address{line-height:1.9;color:#607276;margin:28px 0}.location .address strong{color:var(--navy)}.location-actions{display:flex;align-items:center;gap:25px;margin-bottom:42px}.contact-lines{border-top:1px solid var(--line)}.contact-lines a{display:flex;justify-content:space-between;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.contact-lines small{text-transform:uppercase;letter-spacing:1.6px;font-size:9px;color:#15849a}.contact-lines strong{font:600 18px "Playfair Display"}
@media(max-width:900px){.quick-info{grid-template-columns:1fr 1fr}.quick-info div{border:0;padding:0}.space-heading,.team-heading,.location{grid-template-columns:1fr}.space-gallery{grid-template-columns:1fr;grid-template-rows:420px 260px 260px}.space-gallery .gallery-main{grid-row:auto}.team-grid{grid-template-columns:1fr}.pink-section{grid-template-columns:1fr}.pink-campaign{max-width:620px}.location-photo{min-height:440px}.location-copy{padding-top:75px;padding-bottom:75px}}
@media(max-width:520px){.quick-info{grid-template-columns:1fr 1fr;gap:20px 14px}.quick-info>a{grid-column:1/-1}.space-section,.team-section{padding:78px 20px}.space-heading,.team-heading{grid-template-columns:1fr;margin-bottom:35px}.space-heading .eyebrow,.team-heading .eyebrow{margin-bottom:0}.space-gallery{grid-template-rows:300px 220px 220px}.team-card{grid-template-columns:1fr;min-height:auto}.team-photo{min-height:430px}.team-card.reverse .team-photo{order:0}.team-info{padding:28px 24px}.pink-campaign:before{display:none}.location-photo{min-height:330px}.location-copy{padding:65px 20px}.location h2{font-size:40px}.location-actions{align-items:stretch;flex-direction:column}.contact-lines a{align-items:flex-start;flex-direction:column;gap:5px}}
