/* More generous editorial layouts, extending the existing brand. */
:root{--reading:62ch;--space-section:120px}
.wrap{width:min(1360px,calc(100% - 96px))}
.desktop-nav{gap:24px}
.hero{gap:64px;padding-block:56px 68px;min-height:760px}
.hero-art{min-height:640px}
.hero-copy>p{max-width:var(--reading)}
.section{padding-block:var(--space-section)}
.service-card{overflow:hidden}
.service-visual{margin:-30px -28px 28px;aspect-ratio:1.6;overflow:hidden;background:#dce4ee}
.service-visual img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .4s ease-out}
.service-card:hover .service-visual img{transform:scale(1.025)}
.service-top{margin-bottom:24px}
.service-card>p{margin-bottom:20px}
.service-details{list-style:none;padding:0;margin:0 0 28px;display:grid;gap:10px;font-size:14px;line-height:1.55;color:#485b74}
.service-details li{position:relative;padding-left:17px}
.service-details li:before{content:'';position:absolute;left:0;top:.58em;width:5px;height:5px;border-radius:50%;background:#58729a}
.service-tags{margin-bottom:24px}
.care{display:grid;grid-template-columns:.92fr 1.08fr;gap:80px;align-items:center}
.care-photo{margin:0;position:relative;border-radius:18px;overflow:hidden;background:#dce4ee;align-self:stretch;min-height:680px}
.care-photo>img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}
.care-photo:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(0deg,rgba(12,25,44,.84),transparent);pointer-events:none}
.care-photo figcaption{position:absolute;z-index:1;left:36px;right:32px;bottom:36px;color:white}
.care-photo figcaption span{display:block;letter-spacing:1.8px;font-size:12px;margin-bottom:16px;color:#e4ebf5}
.care-photo figcaption strong{font-family:Manrope,sans-serif;font-size:36px;line-height:1.15;font-weight:650;letter-spacing:-1px}
.care-copy>.eyebrow{font-size:12px;letter-spacing:1.6px;color:#596b83;margin-bottom:24px}
.care-copy h2{font-size:48px;letter-spacing:-1.8px}
.care-copy h2>span{color:#65788f}
.care-intro{font-size:18px;line-height:1.7;color:var(--muted);max-width:55ch;margin-top:24px}
.care-points{display:grid;grid-template-columns:1fr 1fr;gap:32px 28px;margin-top:36px}
.care-count{display:block;font-size:12px;letter-spacing:1px;color:#546d90;margin-bottom:12px}
.care-points h3{font-size:18px;letter-spacing:-.4px;line-height:1.4;margin-bottom:8px}
.care-points p{font-size:16px;color:var(--muted);line-height:1.7}
.care-link{display:inline-block;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:6px;margin-top:32px;padding-block:6px}
.care-link:hover{color:var(--blue)}
.process{padding-top:0}
.moving-guide{background:#eff4fa;padding-block:104px}
.guide-stages{list-style:none;counter-reset:stages;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:0;margin:52px 0 56px}
.guide-stages>li{border-top:1px solid #bccbdf;padding-top:24px}
.stage-label{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:1.2px;color:#455d7e;font-weight:500;margin-bottom:26px}
.stage-label>span:first-child{border:1px solid #b4c5df;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;font-size:12px;letter-spacing:0}
.guide-stages h3{font-size:24px;letter-spacing:-.7px;line-height:1.3;margin-bottom:16px}
.guide-stages p{font-size:16px;line-height:1.75;color:var(--muted);max-width:var(--reading)}
.guide-stages ul{padding-left:19px;display:grid;gap:10px;margin:24px 0 0;font-size:15px;line-height:1.65;color:#374e6d}
.guide-stages li::marker{color:#526e93}
.moving-checklist{background:#183961;border-radius:16px;color:white;padding:36px 40px}
.checklist-heading{display:flex;align-items:center;justify-content:space-between;gap:32px}
.checklist-heading .eyebrow{font-size:12px;letter-spacing:1.5px;color:#c3d4ed;margin-bottom:12px}
.checklist-heading h3{font-size:28px;letter-spacing:-.8px;line-height:1.25;margin-bottom:9px}
.checklist-heading p{font-size:16px;color:#c3d4ed}
.checklist-progress{flex-shrink:0;width:200px;font-size:14px;text-align:right}
.checklist-progress>span{display:block;margin-bottom:10px}
.checklist-progress progress{appearance:none;-webkit-appearance:none;width:100%;height:6px;border:0;border-radius:10px;overflow:hidden;background:#446181;display:block}
.checklist-progress progress::-webkit-progress-bar{background:#446181;border-radius:10px}
.checklist-progress progress::-webkit-progress-value{background:#ff9b74;border-radius:10px;transition:width .2s ease-out}
.checklist-progress progress::-moz-progress-bar{background:#ff9b74;border-radius:10px}
.checklist-items{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 24px;margin-top:32px}
.checklist-items label{display:flex;align-items:flex-start;gap:12px;padding:14px 0;font-size:15px;line-height:1.5;cursor:pointer;color:#f1f5fb}
.checklist-items input{width:20px;height:20px;flex:0 0 20px;margin:1px 0 0;accent-color:#ff9b74;cursor:pointer}
.checklist-items label:has(input:checked){color:#c9d8ee}
.checklist-items input:checked+span{text-decoration:line-through;text-decoration-color:#91abce}
.checklist-items input:focus-visible{outline:2px solid #ffcbb2;outline-offset:5px}
.checklist-items label:hover{color:#ffd0b9}
.checklist-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #49637f;margin-top:22px;padding-top:24px;font-size:13px;color:#c4d5ed}
.checklist-bottom button{background:transparent;border:0;color:#ffd0b9;font-size:13px;text-decoration:underline;text-underline-offset:4px;padding:8px 0;flex-shrink:0}
.checklist-bottom button:disabled{color:#a6bbd5;text-decoration:none;opacity:.65;cursor:default}
.checklist-bottom button:focus-visible{outline-color:#ffcbb2}
.button:active{transform:translateY(0)}
@media(min-width:1500px){.hero{min-height:820px}.hero-art{min-height:700px}}
@media(max-width:1200px){.desktop-nav{gap:17px;font-size:13px}.nav{gap:18px}.hero{gap:44px}.care{gap:48px}.care-copy h2{font-size:40px}.care-photo{min-height:720px}.guide-stages{gap:28px}.checklist-items{gap:12px 20px}.checklist-items label{font-size:14px}}
@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.hero{min-height:700px}.hero-art{min-height:600px}.service-visual{margin:-24px -22px 24px}.care{gap:40px}.care-copy h2{font-size:36px}.care-points{gap:24px}.care-intro{font-size:16px}.care-photo{min-height:680px}.care-photo figcaption{left:28px;bottom:30px}.care-photo figcaption strong{font-size:30px}.care-points h3{font-size:17px}.guide-stages h3{font-size:22px}.moving-checklist{padding:32px}.desktop-nav a:nth-child(2){display:none}}
@media(max-width:800px){:root{--space-section:80px}.hero{min-height:0;gap:26px;padding-block:36px 48px}.hero-art{min-height:490px}.service-visual{margin:-25px -28px 24px;aspect-ratio:2.15}.service-details{font-size:15px;gap:8px}.care{grid-template-columns:1fr;gap:40px}.care-photo{min-height:0;aspect-ratio:1.2}.care-photo>img{object-position:50% 55%}.care-copy h2{font-size:40px}.care-intro{font-size:18px;max-width:62ch}.care-points h3{font-size:20px}.care-points{gap:32px}.process{padding-top:0}.moving-guide{padding-block:80px}.guide-stages{gap:28px;grid-template-columns:1fr;margin-top:36px}.guide-stages>li{display:grid;grid-template-columns:.8fr 1.2fr;column-gap:32px}.stage-label{grid-column:1;margin-bottom:16px}.guide-stages h3{grid-column:1;grid-row:2;font-size:24px}.guide-stages p{grid-column:2;grid-row:1/span 2}.guide-stages ul{grid-column:2;margin-top:18px}.checklist-items{grid-template-columns:1fr 1fr;gap:10px 24px}.checklist-items label{font-size:15px}.checklist-progress{width:150px}.checklist-heading h3{font-size:26px}.checklist-heading .eyebrow{font-size:12px;letter-spacing:.8px}}
@media(max-width:600px){:root{--space-section:64px}.wrap{width:calc(100% - 40px)}.hero{padding-block:36px 40px;gap:36px}.hero-art{min-height:460px}.service-visual{margin:-24px -24px 24px;aspect-ratio:1.5}.service-card h3{font-size:24px}.service-details{font-size:14px}.care{gap:32px}.care-photo{aspect-ratio:4/5;border-radius:14px}.care-photo figcaption{left:24px;right:20px;bottom:26px}.care-photo figcaption span{font-size:12px;letter-spacing:1px}.care-photo figcaption strong{font-size:30px}.care-copy h2{font-size:34px;letter-spacing:-1.2px}.care-copy>.eyebrow{font-size:12px;letter-spacing:1px;margin-bottom:20px}.care-intro{font-size:16px;margin-top:20px}.care-points{grid-template-columns:1fr;gap:24px;margin-top:28px}.care-points article{position:relative;padding-left:39px;border-top:1px solid #d6dfeb;padding-top:20px}.care-count{position:absolute;left:0;top:24px}.care-points h3{font-size:20px}.care-link{margin-top:24px}.moving-guide{padding-block:64px}.guide-stages{gap:32px;margin-bottom:40px}.guide-stages>li{display:block;padding-top:24px}.stage-label{margin-bottom:20px;font-size:12px}.guide-stages h3{font-size:26px}.guide-stages p{font-size:16px}.guide-stages ul{font-size:16px;margin-top:18px}.moving-checklist{padding:28px 22px;border-radius:14px}.checklist-heading{display:block}.checklist-heading .eyebrow{font-size:12px;line-height:1.6;letter-spacing:1px;max-width:200px}.checklist-heading h3{font-size:26px}.checklist-progress{width:100%;text-align:left;margin-top:24px;font-size:14px}.checklist-items{grid-template-columns:1fr;margin-top:20px;gap:4px}.checklist-items label{font-size:16px;padding:11px 0}.checklist-items input{margin-top:3px}.checklist-bottom{display:block;margin-top:20px;padding-top:20px;font-size:14px}.checklist-bottom button{display:block;margin-top:12px;font-size:14px;padding:10px 0}.footer-bottom>span:last-child{max-width:35ch}}
@media(prefers-reduced-motion:reduce){.service-visual img,.checklist-progress progress::-webkit-progress-value{transition:none}}

/* Contacto directo: WhatsApp y teléfono. */
.wa-icon{width:20px;height:20px;flex-shrink:0}
.header-wa{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--navy);white-space:nowrap}
.header-wa svg{color:#1fa855}
.header-wa:hover{color:#1fa855}
.text-link-wa{display:inline-flex;align-items:center;gap:8px}
.text-link-wa svg{color:#1fa855}
.button-whatsapp{background:#1fa855;color:#fff}
.button-whatsapp:hover{background:#188f47}
.button-outline:hover{background:#f1f5fa}
.quote-contact{display:grid;gap:12px;margin-top:40px;border-top:1px solid #3b4e6d;padding-top:28px;max-width:350px;font-size:15px}
.quote-contact strong{color:#fff;font-weight:550;margin-bottom:2px}
.quote-contact a{display:inline-flex;align-items:center;gap:10px;color:#dbe5f5;font-weight:600;width:fit-content;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#4d6284}
.quote-contact a:hover{color:#fff}
.quote-contact svg{color:#ffb199}
.quote-contact a:first-of-type svg{color:#5fd68a}
.closing-actions{display:flex;flex-wrap:wrap;gap:14px;flex-shrink:0}
.footer-contact{display:grid;gap:8px;font-size:14px;align-content:start}
.footer-label{font-size:12px;letter-spacing:1.6px;font-weight:700;color:#677790;margin-bottom:4px}
.footer-contact a{display:inline-flex;align-items:center;gap:8px;font-weight:600;width:fit-content}
.footer-contact a:hover{color:var(--blue)}
.footer-contact svg{color:#1fa855}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:30;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 10px 30px rgba(20,44,83,.28);transition:transform .2s,background .2s}
.wa-float svg{width:30px;height:30px}
.wa-float:hover{background:#1fb45a;transform:translateY(-2px)}
/* El menú móvil nunca debe quedar visible en escritorio, aunque haya quedado abierto. */
@media(min-width:801px){.mobile-nav{display:none}}
@media(max-width:800px){.quote-contact{margin-top:28px;border-top:0;padding-top:0}.header-wa{margin-left:auto}.header-cta{margin-left:0}.footer-main{display:grid;grid-template-columns:1fr 1fr;gap:28px}.footer-main nav{grid-column:1/-1;grid-template-columns:repeat(3,auto)}}
@media(max-width:600px){.header-wa span{display:none}.header-wa{padding:8px}.header-wa svg{width:24px;height:24px}.menu-toggle{margin-left:0}.closing-actions{margin-top:25px}.closing .button{margin-top:0}.footer-main{grid-template-columns:1fr}.footer-main nav{grid-template-columns:1fr 1fr}.result-actions .text-link{margin-top:4px}.wa-float{right:14px;bottom:14px;width:52px;height:52px}}
@media print{.wa-float,.header-wa{display:none}}
