:root{--navy:#092d4b;--blue:#047aa9;--light:#e9f5fc;--gold:#d2ab51;--muted:#526674}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--navy);background:#fff;font:16px/1.65 'Segoe UI',Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #c8962e;outline-offset:6px}svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.5}.container{width:min(1200px,calc(100% - 88px));margin:auto}.skip{position:absolute;left:20px;top:-100px;background:white;padding:15px;z-index:20}.skip:focus{top:10px}header{background:white;border-bottom:1px solid #e2eaf0}.navigation{display:flex;justify-content:space-between;align-items:center;min-height:110px;gap:30px}.logo{width:255px;height:auto;display:block}nav{display:flex;gap:36px;align-items:center;font-weight:600;font-size:.94rem}nav a:hover{color:var(--blue)}.nav-contact{border:1px solid #bdcdd9;padding:10px 22px;border-radius:5px}.nav-contact span{margin-left:18px}.hero{background:linear-gradient(115deg,#f4faff,#e9f5fc);padding:68px 0 0}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.eyebrow{font-size:.76rem;letter-spacing:.14em;font-weight:700;margin:0 0 24px}.eyebrow>span{display:inline-block;width:20px;height:2px;background:var(--blue);vertical-align:middle;margin-right:8px}h1{font-size:clamp(3rem,5.2vw,4.6rem);font-weight:500;line-height:1.08;letter-spacing:-.055em;margin:0 0 25px}em{font-family:Georgia,serif;font-weight:400;color:var(--blue)}.intro{font-size:1.12rem;line-height:1.7;max-width:460px;color:var(--muted);margin:0 0 30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--navy);color:#fff;padding:15px 23px;border-radius:5px;font-size:.94rem;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#07577e;transform:translateY(-2px)}.hero-foot{font-size:.82rem;color:var(--muted);margin-top:20px}.plan-panel{background:var(--navy);color:white;padding:34px 38px 20px;border-radius:8px;box-shadow:16px 20px 0 #d7e8f3}.panel-top{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;letter-spacing:.12em;color:#aed3e6}.small-star{font-size:30px;color:var(--gold)}.plan-panel h2{font:400 2.4rem/1.18 Georgia,serif;letter-spacing:-.02em;margin:26px 0 14px}.plan-panel>p{color:#bed0de;font-size:.94rem;max-width:350px;margin-bottom:30px}.plan-row{display:flex;align-items:center;gap:18px;border-top:1px solid #36536b;padding:19px 0}.number{font-size:.8rem;color:#e5c478;border:1px solid #71808a;border-radius:50%;width:33px;height:33px;display:grid;place-items:center;flex-shrink:0}.plan-row h3{font-size:1rem;font-weight:600;margin:0 0 2px}.plan-row p{font-size:.86rem;color:#b9d0df;margin:0}.panel-bottom{border-top:1px solid #36536b;display:flex;justify-content:space-between;gap:15px;padding-top:20px;margin-top:5px;font-size:.75rem}.panel-bottom b{color:var(--gold)}.panel-bottom>span:last-child{font-size:.65rem;color:#b9d0df;align-self:center}.hero-base{display:flex;gap:50px;border-top:1px solid #ccdfe9;margin-top:64px;padding:24px 0;color:#546e80;font-size:.9rem}.hero-base span+span:before{content:'·';margin-right:50px;color:var(--blue)}.services{padding-top:90px;padding-bottom:95px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:40px}h2{font-size:clamp(2rem,3.1vw,2.8rem);font-weight:500;line-height:1.2;letter-spacing:-.04em;margin:0}.section-heading>p{color:var(--muted);margin-bottom:4px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ccd9e2;border-bottom:1px solid #ccd9e2}.service{padding:30px 32px 30px 0;display:flex;flex-direction:column}.service+.service{padding-left:32px;border-left:1px solid #ccd9e2}.service-top{display:flex;justify-content:space-between;align-items:center;color:var(--blue);font-size:.75rem;letter-spacing:.1em;font-weight:600}.service h3{font-size:1.55rem;line-height:1.25;font-weight:500;letter-spacing:-.025em;margin:35px 0 20px;min-height:62px}.service p{margin:0 0 30px;color:var(--muted);line-height:1.75}.service a{margin-top:auto;font-size:.9rem;font-weight:600;display:flex;justify-content:space-between;gap:10px}.service a:hover{color:var(--blue)}.advice{background:#f3f7fa;padding:74px 0}.advice-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.advice-grid>div>p:last-child{max-width:450px;color:var(--muted);margin-top:25px}.steps>div{display:flex;gap:25px;padding:23px 0;border-bottom:1px solid #cedbe5}.steps>div:first-child{padding-top:0}.steps>div>span{color:var(--blue);font-size:.85rem;padding-top:6px}.steps h3{font-size:1.15rem;font-weight:600;margin:0 0 7px}.steps p{color:var(--muted);margin:0}.contact{padding-top:85px;padding-bottom:85px;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.contact h2{font-size:3.5rem}.contact-details>p{margin:0;color:var(--muted)}.contact-details .advisor{font-size:1.45rem;color:var(--navy);font-weight:600}.email{display:flex;align-items:center;gap:12px;margin:22px 0 28px;font-size:1rem;overflow-wrap:anywhere}.email svg{flex-shrink:0}footer{border-top:1px solid #dae3ea;background:#f9fbfc;padding:33px 0 20px}.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:50px}.footer-grid img{width:225px;height:auto}.footer-grid p{font-size:.82rem;color:var(--muted);max-width:440px;line-height:1.65}.footer-grid>div p{margin:8px 0 0}.footer-bottom{margin-top:25px;padding-top:17px;border-top:1px solid #dce5eb;display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted)}@media(min-width:1500px){.hero{padding-top:85px}}@media(max-width:950px){.container{width:calc(100% - 48px)}.hero-grid{gap:35px}.plan-panel{padding:26px}.advice-grid,.contact{gap:40px}.service{padding-right:20px}.service+.service{padding-left:20px}.panel-bottom>span:last-child{display:none}}@media(max-width:700px){html{scroll-padding-top:20px}.container{width:calc(100% - 40px)}.navigation{min-height:92px;gap:15px}.logo{width:185px}nav{gap:15px;font-size:.85rem}nav>a:not(.nav-contact){display:none}.nav-contact{padding:8px 12px}.nav-contact span{margin-left:5px}.hero{padding-top:40px}.hero-grid,.advice-grid,.contact{grid-template-columns:1fr;gap:40px}h1{font-size:3.55rem}.eyebrow{font-size:.75rem;letter-spacing:.1em}.hero-copy .intro{max-width:100%}.plan-panel{box-shadow:8px 10px 0 #d7e8f3;padding:25px}.plan-panel h2{font-size:2.25rem}.hero-base{gap:12px;justify-content:space-between;margin-top:40px;font-size:.75rem}.hero-base span+span:before{display:none}.services{padding-top:55px;padding-bottom:55px}.section-heading{display:block}.section-heading>p{margin-top:20px}.service-grid{grid-template-columns:1fr}.service,.service+.service{padding:26px 0;border-left:0}.service+.service{border-top:1px solid #ccd9e2}.service h3{min-height:0;margin-top:22px}.service h3 br{display:none}.service p{margin-bottom:20px}.advice{padding:50px 0}.contact{padding-top:55px;padding-bottom:55px;gap:28px}.contact h2{font-size:3rem}.email{font-size:.94rem}.footer-grid{display:block}.footer-grid>p{margin-top:22px}.footer-bottom{gap:20px}.button{gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Photography and direct contact */
.hero-photo{position:relative;margin:0;align-self:stretch;min-height:530px;overflow:hidden;border-radius:8px;box-shadow:16px 20px 0 #d7e8f3;background:#cfdee7}
.hero-photo>img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}
.hero-photo:after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(transparent,rgba(5,29,47,.82))}
.hero-photo figcaption{position:absolute;bottom:32px;left:32px;right:25px;color:white;z-index:1}
.hero-photo figcaption span{display:block;letter-spacing:.13em;font-size:.75rem;margin-bottom:10px}
.hero-photo figcaption strong{font:400 2rem/1.2 Georgia,serif;display:block}
.advice-photo{margin:30px 0 0;overflow:hidden;border-radius:6px;background:#dce7ef}
.advice-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.steps{align-self:center}
.contact-details .whatsapp-contact{margin-top:22px;color:var(--navy);display:flex;flex-direction:column;gap:2px}
.whatsapp-contact span{font-size:.88rem;color:var(--muted)}
.whatsapp-contact strong{font-size:1.25rem;letter-spacing:.025em}
@media(max-width:700px){.hero-photo{min-height:420px;box-shadow:8px 10px 0 #d7e8f3}.hero-photo>img{object-position:center 42%}.hero-photo figcaption{left:24px;bottom:26px}.hero-photo figcaption strong{font-size:1.9rem}.advice-photo{margin-top:24px}}

.whatsapp-label{display:flex;align-items:center;gap:9px}.whatsapp-label img{display:block;width:24px;height:24px}

.brand-banner{margin-top:70px;margin-bottom:0}
.brand-banner img{display:block;width:100%;height:auto;border-radius:6px}
.whatsapp-contact{width:fit-content}
.whatsapp-contact:hover strong{text-decoration:underline;text-underline-offset:4px}
.whatsapp-button{gap:14px}
.whatsapp-button img{flex-shrink:0}
@media(max-width:700px){.brand-banner{margin-top:40px}.whatsapp-button{gap:12px}}

/* Brand masthead inspired by the supplied card; text and logo are independent. */
.brand-header{border-bottom:0}
.brand-sky{background:#e8f4ff url('assets/cielo-cabecera.png') center 48%/cover no-repeat;padding:30px 0 24px;position:relative}
.brand-masthead{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:center;gap:50px;min-height:220px}
.brand-home{display:block;max-width:670px}
.brand-home img{display:block;width:100%;height:auto}
.brand-message{border-left:1px solid #23578a;padding:15px 0 15px 50px;color:#073b70}
.brand-message p{font-size:clamp(1.65rem,2.4vw,2.15rem);line-height:1.14;letter-spacing:-.035em;font-weight:700;margin:0 0 16px}
.brand-message>span{font-size:clamp(1.1rem,1.65vw,1.45rem);line-height:1.35;display:block}
.brand-values{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:16px;color:#073b70}
.brand-values>span{font-size:.9rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600}
.brand-values>i{width:5px;height:5px;border-radius:50%;background:#c39a39;flex-shrink:0}
.brand-nav{background:#fff;border-top:1px solid #d4e4ee;border-bottom:1px solid #d4e4ee}
.brand-nav-inner{display:flex;align-items:center;justify-content:space-between;min-height:70px;gap:25px}
.brand-nav-note{font-size:.75rem;letter-spacing:.15em;color:#526674;font-weight:600}
.brand-nav nav{gap:32px}
.header-whatsapp{display:inline-flex;align-items:center;gap:10px;padding:8px 17px;border:1px solid #bdd1dd;border-radius:5px}
.header-whatsapp img{width:21px;height:21px}
@media(max-width:950px){.brand-masthead{gap:30px;min-height:170px}.brand-message{padding-left:30px}.brand-values>span{font-size:.78rem;letter-spacing:.14em}.brand-nav nav{gap:24px}}
@media(max-width:700px){.brand-sky{padding:28px 0 22px;background-position:center}.brand-masthead{grid-template-columns:1fr;gap:20px;min-height:0}.brand-home{max-width:440px;width:100%;margin:auto}.brand-message{border-left:0;border-top:1px solid #aac9df;text-align:center;padding:19px 0 0;display:flex;justify-content:center;align-items:center;gap:24px}.brand-message p{font-size:1.45rem;text-align:left;margin:0;letter-spacing:-.025em}.brand-message>span{font-size:1rem;text-align:left}.brand-values{display:grid;grid-template-columns:1fr 1fr;text-align:center;gap:12px 18px;padding-top:24px}.brand-values>i{display:none}.brand-values>span{font-size:.75rem;letter-spacing:.12em}.brand-nav-note{display:none}.brand-nav-inner{min-height:65px}.brand-nav nav{width:100%;justify-content:space-between;gap:10px;font-size:.83rem}.brand-nav nav>a:not(.nav-contact){display:inline-flex}.header-whatsapp{padding:7px 9px;gap:6px}.header-whatsapp img{width:19px;height:19px}.hero{padding-top:40px}}
@media(max-width:370px){.brand-message{gap:15px}.brand-message p{font-size:1.25rem}.brand-message>span{font-size:.9rem}.brand-nav nav{font-size:.77rem;gap:7px}.header-whatsapp{padding:7px}.header-whatsapp>span{display:none}}

/* Compact masthead without the values row. */
.brand-sky{padding-top:18px;padding-bottom:18px}
@media(max-width:700px){.brand-sky{padding-top:20px;padding-bottom:20px}}

/* Centered menu with larger, responsive labels. */
.brand-nav-inner{justify-content:center}
.brand-nav nav{justify-content:center;font-size:1.08rem;gap:42px;flex-wrap:wrap}
@media(max-width:700px){.brand-nav-inner{padding-top:10px;padding-bottom:10px}.brand-nav nav{width:100%;justify-content:center;font-size:.98rem;gap:12px 20px}}
@media(max-width:370px){.brand-nav nav{font-size:.94rem;gap:10px 16px}.header-whatsapp>span{display:inline}}

/* Highlight a service on pointer hover or keyboard focus. */
.service{position:relative;transition:background-color .22s ease,box-shadow .22s ease}
.service:focus-within{background-color:#e1f2fc;box-shadow:0 9px 24px rgba(9,45,75,.13);z-index:1}
@media(hover:hover){.service:hover{background-color:#e1f2fc;box-shadow:0 9px 24px rgba(9,45,75,.13);z-index:1}}
@media(prefers-reduced-motion:reduce){.service{transition:none}}

/* Accessible service details, opened by the entire card. */
.service-open{margin-top:auto;padding:0;border:0;background:none;color:var(--navy);font:600 .9rem/1.65 'Segoe UI',Arial,sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer}
.service-open:after{content:"";position:absolute;inset:0;cursor:pointer}
.service-open:focus-visible{outline:0}
.service-open:focus-visible:after{outline:3px solid var(--blue);outline-offset:4px}
.service-detail-open{overflow:hidden}
.service-dialog{color:var(--navy);background:#fff;border:0;border-radius:12px;padding:0;width:min(760px,calc(100% - 32px));max-height:88vh;max-height:88dvh;box-shadow:0 25px 90px #0005;overscroll-behavior:contain}
.service-dialog::backdrop{background:rgba(4,24,41,.65)}
.detail-top{position:sticky;top:0;z-index:2;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 30px}
.detail-top>span{font-size:.78rem;letter-spacing:.1em}
.detail-close{border:1px solid #ffffff66;border-radius:5px;background:transparent;color:#fff;font:600 1rem/1.4 'Segoe UI',Arial,sans-serif;padding:8px 14px;cursor:pointer}
.detail-close:hover{background:#ffffff22}
.detail-close:focus-visible{outline:3px solid #e5c478;outline-offset:3px}
.detail-body{padding:34px 36px 38px}
.detail-body .eyebrow{color:var(--blue);margin-bottom:15px}
.detail-body h2{font-size:2.35rem;line-height:1.15;margin-bottom:20px}
.detail-body h2:focus{outline:none}
.detail-intro{background:var(--light);border-left:3px solid var(--blue);padding:18px 20px;line-height:1.75;margin:0 0 28px}
.detail-section{margin:24px 0}
.detail-section h3{font-size:1.13rem;line-height:1.4;margin:0 0 8px}
.detail-section p{color:var(--muted);margin:0;line-height:1.8}
.detail-note{font-size:.87rem;color:var(--muted);border-top:1px solid #dce5eb;padding-top:20px;margin:28px 0 12px}
.detail-source{display:inline-block;color:var(--blue);font-size:.87rem;text-decoration:underline;text-underline-offset:3px}
.detail-cta{display:flex;margin-top:28px;width:fit-content}
@media(max-width:700px){.detail-top{padding:12px 18px}.detail-body{padding:26px 22px 30px}.detail-body h2{font-size:1.9rem}.detail-cta{font-size:.88rem;padding:14px;gap:10px}.detail-intro{padding:15px}.service-dialog{max-height:92dvh}}

.service-subtitle{display:block;margin-top:9px;font-size:1rem;font-weight:600;line-height:1.45;letter-spacing:0;color:var(--blue)}
.reactivation-benefit{border-left:3px solid var(--blue);padding:18px 20px;background:var(--light);border-radius:0 5px 5px 0}
.reactivation-benefit p+p{margin-top:12px}
.detail-source+.detail-source{display:block;margin-top:8px}

@media(max-width:700px){.brand-nav nav{gap:12px 18px}.brand-nav nav .nav-contact{padding:7px 12px}.brand-nav-inner{padding-top:14px;padding-bottom:14px}}

/* Free initial consultation promotion. */
.promo-open{display:inline-block;margin-top:20px;padding:11px 19px;border:1px solid #b48b30;border-radius:6px;background:linear-gradient(115deg,#edcf7d,#d2ab51);color:#092d4b;font:700 1.13rem/1.4 'Segoe UI',Arial,sans-serif;cursor:pointer;box-shadow:0 3px 9px rgba(128,93,19,.12);transition:box-shadow .2s ease,background-color .2s ease}
.promo-open:hover{background:#edcf7d;box-shadow:0 5px 14px rgba(128,93,19,.23)}
.promo-open:focus-visible{outline:3px solid var(--navy);outline-offset:4px}
.promo-dialog{width:min(560px,calc(100% - 32px))}
.promo-dialog .detail-body{border-top:4px solid var(--gold)}
.promo-dialog .detail-body h2{font-size:2rem}
.promo-invitation{font-size:1.13rem;line-height:1.75;color:var(--muted);margin:20px 0 0}
@media(prefers-reduced-motion:reduce){.promo-open{transition:none}}
