@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--navy:#203c7e;--ink:#191919;--gold:#203c7e;--cream:#ffffff;--muted:#585858;--line:#d4d4d4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline-offset:5px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold)}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.06;font-weight:400}h1,h2{font-family:'Libre Caslon Display',Georgia,serif}em{font-weight:400;color:var(--gold)}header{height:104px;margin:auto;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;flex-direction:column;align-items:center;width:max-content}.brand span{font-family:Georgia,serif;font-style:italic;font-size:39px;line-height:1}.brand small{font-size:10px;letter-spacing:5px;margin-top:10px;padding-left:5px}nav{display:flex;gap:38px;font-size:14px}nav a:hover,.text-link:hover{color:#203c7e}.header-cta{border-bottom:1px solid var(--gold);padding-bottom:5px;font-size:14px}.header-cta span{margin-left:22px}.hero{display:grid;grid-template-columns:1.2fr 1fr;min-height:690px;padding:72px 6% 68px;gap:7%;max-width:1600px;margin:auto}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.3px;margin-bottom:25px}.hero h1{font-size:clamp(52px,5.6vw,86px);letter-spacing:-2px}.hero-intro{font-size:20px;margin-top:30px;max-width:500px}.hero-desc{color:var(--muted);font-size:14px;max-width:440px;margin-top:16px;line-height:1.8}.button{display:flex;align-items:center;justify-content:space-between;gap:40px;width:max-content;padding:15px 23px;font-size:13px;font-weight:600;border:0;cursor:pointer}.gold{background:var(--gold);color:var(--navy);margin-top:29px}.button:hover{filter:brightness(1.08)}.hero-note{display:flex;align-items:center;gap:12px;margin-top:25px;font-size:10px;color:var(--muted)}.line{width:28px;height:1px;background:var(--gold)}.hero-art{background:var(--navy);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:550px;overflow:hidden}.art-label{color:#b8c0c9;font-size:8px;letter-spacing:2px;position:absolute;top:28px}.arch{position:relative;width:70%;height:390px;border:1px solid var(--gold);border-radius:180px 180px 0 0;overflow:hidden;background:linear-gradient(150deg,#28498e,#203c7e)}.arch-inner{position:absolute;inset:18px;border:1px solid #203c7e55;border-radius:160px 160px 0 0}.sun{width:98px;height:98px;background:var(--gold);border-radius:50%;position:absolute;left:38%;top:25%;box-shadow:0 0 0 15px #203c7e0b}.horizon{position:absolute;left:0;right:0;top:58%;height:1px;background:#203c7e66}.terrain{position:absolute;width:160%;height:210px;border:1px solid #203c7e90;border-radius:50%;left:-20%;transform:rotate(-12deg)}.t1{top:60%}.t2{top:68%;transform:rotate(13deg)}.t3{top:80%;transform:rotate(-7deg)}.art-caption{position:absolute;bottom:27px;left:30px;right:30px;display:flex;justify-content:space-between;color:#c5c9ce;font-size:9px;letter-spacing:1px}.section{padding:90px 6%;max-width:1600px;margin:auto}.services{border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:44px}.section-heading h2,.partner h2,.contact h2{font-size:clamp(42px,4vw,60px)}.section-heading>p{max-width:360px;font-size:14px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service{border:1px solid var(--line);padding:30px 28px;display:flex;flex-direction:column}.number{font-size:10px;letter-spacing:1.7px;color:#203c7e}.service h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:40px;margin-top:30px}.service>p{font-size:14px;color:var(--muted);margin-top:20px}.service .examples{font-size:11px;color:var(--ink);min-height:40px}.service details{border-top:1px solid var(--line);margin-top:20px;padding-top:15px;font-size:12px}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between}summary::-webkit-details-marker{display:none}details[open] summary span{transform:rotate(45deg)}details ul{padding-left:17px;color:var(--muted)}details li{margin-bottom:8px}.detail-note{font-size:11px;color:var(--muted)}.text-link{font-size:12px;font-weight:600;display:flex;justify-content:space-between;gap:20px;margin-top:auto;padding-top:30px}.process{background:#f2f2f2;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.steps>div{display:flex;gap:25px}.steps span{font-family:Georgia,serif;font-size:20px;color:#203c7e}.steps h3{font-size:21px;line-height:1.4}.process>p:last-child{font-size:13px;color:var(--muted);margin-top:40px}.partner{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.partner>div>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:400px;margin-top:25px}.partner-card{border:1px solid var(--gold);padding:35px 40px}.partner-kicker{font-size:9px;letter-spacing:2px;color:#203c7e}.partner-card h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:55px;margin-top:20px}.partner-card .partner-sub{font-size:13px;margin-top:5px!important;color:var(--ink)!important}.partner-rule{height:1px;background:var(--line);margin-top:25px}.partner-card small{display:block;font-size:10px;color:var(--muted);margin-top:25px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:12%;background:var(--navy);color:var(--cream)}.contact .eyebrow{color:var(--gold)}.contact>div>p:not(.eyebrow){max-width:340px;font-size:14px;color:#bac3cd;margin-top:25px}.phone{display:block;font-family:'Libre Caslon Display',Georgia,serif;font-size:42px;margin-top:45px;width:max-content;border-bottom:1px solid #203c7e80}.phone span{font-size:24px;margin-left:20px}.contact .contact-label{font-size:9px!important;letter-spacing:2px;margin-top:9px!important}address{font-style:normal;font-size:13px;color:#bac3cd;margin-top:32px}form{background:var(--cream);padding:35px;color:var(--ink)}form h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:31px;margin-bottom:24px}label{display:block;font-size:11px;font-weight:600;margin:13px 0 6px}label span{font-weight:400;color:var(--muted)}input,select,textarea{display:block;width:100%;background:transparent;border:1px solid #b3b6b3;border-radius:0;padding:11px;font-size:13px;color:var(--ink)}textarea{resize:vertical}.form-note{font-size:10px;line-height:1.6;color:var(--muted);margin:18px 0}.navy{background:var(--navy);color:white;width:100%}#form-status{font-size:12px;margin-top:12px}.closing{text-align:center;padding:70px 6%;border-bottom:1px solid var(--line)}.closing p{font-size:11px;color:var(--muted)}.closing h2{font-size:38px;margin-top:18px}.closing a{display:inline-block;margin-top:25px;font-size:13px;border-bottom:1px solid var(--gold)}footer{padding:40px 6%;display:flex;align-items:center;justify-content:space-between;gap:30px}footer .brand span{font-size:30px}footer p{font-size:11px;color:var(--muted)}footer>div{display:flex;flex-direction:column;gap:10px}footer small{font-size:10px;color:var(--muted)}.footer-link{border:0;padding:0;background:none;text-align:left;font-size:11px;color:var(--ink);cursor:pointer}dialog{max-width:560px;width:calc(100% - 32px);border:1px solid var(--gold);padding:38px;background:var(--cream);color:var(--ink)}dialog::backdrop{background:#203c7ebb}dialog h2{font-size:32px;margin-bottom:20px}dialog p{font-size:13px;margin-top:14px}.dialog-close{position:absolute;right:14px;top:7px;background:none;border:0;font-size:26px;cursor:pointer}.skip{position:absolute;top:-100px;left:15px;background:var(--navy);color:white;padding:10px;z-index:10}.skip:focus{top:10px}
@media(min-width:1600px){header,footer{max-width:1600px}.closing{max-width:1600px;margin:auto}}@media(max-width:900px){header{height:90px;padding:0 5%}nav{gap:18px}.hero{padding:45px 5%;gap:5%;min-height:auto}.hero-art{min-height:480px}.arch{height:320px;width:80%}.hero h1{font-size:58px}.hero-intro{font-size:17px}.section{padding:60px 5%}.cards{gap:12px}.service{padding:24px 20px}.service h3{font-size:34px}.partner,.contact{gap:7%}.steps>div{gap:15px}.steps h3{font-size:17px}.partner-card{padding:28px}form{padding:25px}.phone{font-size:33px}}
@media(max-width:650px){html{scroll-padding-top:20px}header{height:85px;flex-wrap:wrap;gap:10px}.brand span{font-size:31px}.brand small{font-size:8px;letter-spacing:4px}nav{font-size:11px;gap:14px}.header-cta{display:none}.hero{grid-template-columns:1fr;padding-top:38px;gap:32px}.hero h1{font-size:56px}.hero-desc{max-width:none}.hero-art{min-height:360px}.arch{width:230px;height:270px}.art-label{top:18px;font-size:7px}.art-caption{bottom:18px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;max-width:none}.cards{grid-template-columns:1fr;gap:16px}.service{padding:28px}.service h3{font-size:38px;margin-top:20px}.service h3 br{display:none}.service .examples{min-height:0}.text-link{padding-top:24px}.steps{grid-template-columns:1fr;gap:27px}.steps h3{font-size:20px}.steps h3 br{display:none}.steps>div{gap:23px}.partner,.contact{grid-template-columns:1fr;gap:35px}.partner-card{padding:30px}.contact h2{font-size:48px}.phone{font-size:40px;margin-top:30px}form{padding:25px}.closing{padding:50px 5%}.closing h2{font-size:33px}footer{flex-wrap:wrap;padding:35px 5%;align-items:flex-start}footer p{max-width:180px}footer>div{width:100%}.section-heading h2,.partner h2{font-size:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Identidad original: archivo intacto, ventana visual sobre su bloque de marca. */
.brand .brand-original{position:relative;display:block;width:180px;aspect-ratio:486/230;overflow:hidden;font-size:0;line-height:0}.brand-original img{position:absolute;width:197.53%;max-width:none;left:-48.77%;top:-47.39%;height:auto}.gold{color:#fff}.hero-art{background:#203c7e}.arch{border-color:#b3b6b3;background:linear-gradient(150deg,#2b4b8e,#203c7e)}.arch-inner{border-color:#b3b6b377}.sun{background:#b3b6b3;box-shadow:0 0 0 15px #ffffff0b}.horizon{background:#b3b6b388}.terrain{border-color:#b3b6b3aa}.contact .eyebrow{color:#fff}.contact em{color:#b3b6b3}.phone{border-color:#b3b6b3}.partner-card{border-color:#b3b6b3}.partner-kicker{color:#203c7e}.art-label,.art-caption{color:#e5e8ee}.contact>div>p:not(.eyebrow),address{color:#e0e5ee}footer .brand-original{width:150px}@media(max-width:650px){.brand .brand-original{width:140px}footer .brand-original{width:150px}}

.consultation{display:grid;grid-template-columns:1fr 1fr;gap:12%;border-top:1px solid var(--line);background:#f5f5f5}.consultation h2,.team h2{font-size:clamp(42px,4vw,60px)}.consultation>div>p:not(.eyebrow){font-size:14px;margin-top:25px;color:var(--muted)}.consultation-facts{display:flex;gap:35px;margin-top:35px}.consultation-facts span{font-size:11px;color:var(--muted)}.consultation-facts strong{display:block;font-size:15px;color:var(--ink)}.price-card{border:1px solid var(--line);padding:32px;background:white}.price-card .price{font-family:'Libre Caslon Display',Georgia,serif;font-size:64px!important;line-height:1;color:var(--navy)!important}.price span{font-family:'DM Sans',Arial,sans-serif;font-size:15px}.price-card .button{margin-top:24px;font-size:12px}.price-card small{display:block;margin-top:18px;font-size:10px;color:var(--muted)}.payment-methods{font-size:12px!important}.team-list{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:35px}.team-list article{border-top:2px solid var(--navy);padding-top:20px}.team-list h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:26px;line-height:1.3}.booking-summary{font-size:11px;color:var(--navy);margin-top:18px}.contact .hours{font-size:12px!important;line-height:1.8}@media(max-width:650px){.consultation{grid-template-columns:1fr;gap:30px}.team-list{grid-template-columns:repeat(2,1fr);gap:25px}.team-list h3{font-size:24px}.price-card{padding:25px}.consultation-facts{gap:25px}}

.booking{border-top:1px solid var(--line)}.booking-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:30px}.calendar-panel,.slots-panel{padding:30px;border:1px solid var(--line)}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.calendar-toolbar h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:28px;text-transform:capitalize}.calendar-toolbar button{border:1px solid var(--line);background:white;color:var(--navy);width:34px;height:34px;cursor:pointer}.calendar-toolbar button:disabled{opacity:.3;cursor:default}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekdays span{text-align:center;font-size:10px;color:var(--muted);padding-bottom:12px}.calendar-days button{border:1px solid #d4d4d4;min-height:40px;background:white;color:var(--navy);cursor:pointer;font-size:13px}.calendar-days button:disabled{color:#a0a0a0;background:#f5f5f5;border-color:transparent;cursor:default}.calendar-days button[aria-pressed=true],.time-slots button[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}.calendar-days button.is-today{box-shadow:inset 0 0 0 1px var(--navy)}.calendar-legend{font-size:10px;color:var(--muted);margin-top:20px}.calendar-legend span{display:inline-block;width:8px;height:8px;background:var(--navy);margin-right:5px}.slots-panel h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:28px;line-height:1.3;text-transform:capitalize}.time-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.time-slots button{padding:10px 5px;border:1px solid var(--line);background:white;color:var(--navy);font-size:12px;cursor:pointer}.time-slots button:disabled{color:#aaa;background:#f5f5f5;cursor:default}.slots-panel #booking-selection{font-size:12px;color:var(--ink);min-height:45px}.slots-panel .button{width:100%;margin-top:18px}.slots-panel .button:disabled{background:#c9c9c9;cursor:default}.calendar-note{font-size:10px;color:var(--muted);margin-top:20px}@media(max-width:650px){.booking-grid{grid-template-columns:1fr;gap:16px}.calendar-panel,.slots-panel{padding:22px}.calendar-toolbar h3{font-size:26px}}
