/* Shared finishing layer. Scoped to closing CTA, service imagery and footer. */
.project-actions .button{position:relative;isolation:isolate;overflow:hidden;min-height:56px;padding:17px 23px;gap:24px;border:1px solid #1733423b;border-radius:32px;background:linear-gradient(135deg,#ffffff9e,#ffffff24);color:#18313f;box-shadow:inset 0 1px 0 #ffffffd9,0 6px 20px #0b223308;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .18s var(--ease),background-color .18s ease,border-color .18s ease;transform-origin:center}
.project-actions .button::before{content:'';position:absolute;inset:-60% auto -60% -75%;width:55%;background:linear-gradient(100deg,transparent,#fff9,transparent);transform:translateX(0) rotate(15deg);opacity:0;pointer-events:none;z-index:-1;transition:transform .55s var(--ease),opacity .15s ease}
.project-actions .text-link{color:#244657;border-color:#24465760}
.project-actions .button:active{transform:scale(.975);background-color:#e3eaed;border-color:#17334277;transition-duration:.1s}
.site-footer{position:relative;background:#091f2c;color:#e8f0f3}
.footer-lead{grid-template-columns:.8fr 1.6fr .65fr;padding-block:48px 38px;gap:35px;border-bottom-color:#c6dce32b}
.footer-lead p{font-size:clamp(27px,2.6vw,39px);line-height:1.18;letter-spacing:-.025em}
.footer-brand{width:176px;min-height:56px;display:flex;align-items:center;transition:transform .18s var(--ease),opacity .18s ease;transform-origin:left center}
.footer-brand img{height:52px}
.footer-talk{position:relative;min-width:170px;min-height:52px;align-items:center;font-size:22px;padding-block:8px;border-color:#bdd6e05c;transition:color .18s ease,transform .18s var(--ease)}
.footer-talk::after{content:'';position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .24s var(--ease)}
.footer-talk svg{width:20px;height:20px;transition:transform .2s var(--ease)}
.footer-columns{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);gap:48px;padding-block:30px 32px}
.footer-columns h2{font-size:13px;font-weight:600;margin-bottom:12px;letter-spacing:.005em}
.footer-columns a{position:relative;display:flex;align-items:center;min-height:37px;padding-block:8px;font-size:13px;line-height:1.5;color:#c6d7df;transition:color .18s ease,transform .18s var(--ease),background-color .18s ease;transform-origin:left center}
.footer-columns a::after,.document-links a::after,.footer-meta>a::after{content:'';position:absolute;bottom:5px;left:0;right:0;height:1px;background:#d4e8f0;transform:scaleX(0);transform-origin:left;transition:transform .22s var(--ease)}
.footer-columns address{font-size:14px;color:#c6d7df;line-height:1.85}.footer-columns p{font-size:12px;color:#c6d7df;line-height:1.85}
.footer-columns .footer-hours-label{margin-top:20px}
.footer-urgent{padding-block:18px;border-color:#c6dce32b;gap:22px;display:grid;grid-template-columns:1fr auto auto}
.footer-urgent>span{color:#c6d7df;font-size:12px}.footer-urgent>a{min-height:48px;transition:transform .16s var(--ease),color .16s ease;background:transparent;transform-origin:left center}
.footer-urgent>a:not(.footer-whatsapp){font-size:clamp(21px,2.1vw,28px);letter-spacing:-.015em}
.footer-urgent>a svg{width:20px;height:20px;transition:transform .18s var(--ease)}
.footer-urgent .footer-whatsapp{font-size:13px;letter-spacing:0;gap:10px;border:1px solid #c1dae447;border-radius:28px;padding:11px 18px;background:#ffffff06;box-shadow:inset 0 1px 0 #ffffff0d}
.site-footer a:active{transform:scale(.98);color:#fff;transition-duration:.09s}.site-footer .footer-whatsapp:active{background:#ffffff18}
.site-footer a:focus-visible{outline:2px solid #c4e4f5;outline-offset:5px}.footer-talk:focus-visible::after,.footer-columns a:focus-visible::after{transform:scaleX(1)}
.document-links{padding-block:14px;gap:8px 28px;border-top:0;border-bottom:1px solid #c6dce32b}.document-links a{position:relative;min-height:44px;text-decoration:none;color:#c6d7df;font-size:12px;transition:color .18s ease,transform .16s var(--ease)}
.footer-meta{padding-block:18px 22px;color:#a9c0cd;align-items:center;gap:20px;font-size:10px}.footer-meta>a{position:relative;display:inline-flex;align-items:center;min-height:44px;flex-shrink:0;transition:color .18s ease,transform .16s var(--ease)}
.footer-socials{display:flex;align-items:center;gap:8px;flex-shrink:0}.footer-socials>a{display:grid;place-items:center;width:44px;height:44px;border:1px solid #c1dae433;border-radius:50%;background:#ffffff03;color:#c6d7df;transition:transform .18s var(--ease),background-color .18s ease,color .18s ease}.footer-socials svg{width:18px;height:18px}
@media(hover:hover) and (pointer:fine){
.project-actions .button:hover{background-color:#ffffff80;border-color:#17334266;transform:translateY(-2px)}.project-actions .button:hover::before{opacity:1;transform:translateX(350%) rotate(15deg)}.project-actions .button:hover svg{transform:translate(2px,-2px)}
.footer-brand:hover{transform:translateY(-2px);opacity:.85}.footer-talk:hover{color:#fff}.footer-talk:hover::after{transform:scaleX(1)}.footer-talk:hover svg{transform:translate(3px,-3px)}
.footer-columns a:hover{color:#fff;text-decoration:none;transform:translateX(3px)}.footer-columns a:hover::after,.document-links a:hover::after,.footer-meta>a:hover::after{transform:scaleX(1)}
.footer-urgent>a:hover{color:#fff}.footer-urgent>a:hover svg{transform:translate(2px,-2px)}.footer-urgent .footer-whatsapp:hover{background:#ffffff12}.footer-socials>a:hover{background:#ffffff14;color:#fff;transform:translateY(-2px)}
}
@media(max-width:900px){
.footer-lead{grid-template-columns:1fr 1.25fr;gap:22px;padding-block:32px 28px}.footer-brand{width:135px}.footer-lead p{font-size:27px}.footer-talk{grid-column:1/-1;justify-self:start;min-width:190px;font-size:21px}
.footer-columns{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:25px;padding-block:25px}.footer-columns a{min-height:44px;font-size:12px;padding-block:9px}.footer-columns h2{font-size:12px;margin-bottom:8px}.footer-columns>div:last-child{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);column-gap:25px}
.footer-columns .footer-hours-label{margin-top:0}.footer-columns address{font-size:12px}.footer-columns p{font-size:11px}
.footer-urgent{grid-template-columns:1fr auto;gap:9px 12px}.footer-urgent>span{grid-column:1/-1;font-size:11px}.footer-urgent>a:not(.footer-whatsapp){font-size:22px;gap:10px}.footer-urgent .footer-whatsapp{font-size:11px;padding:10px 12px;gap:7px}.footer-whatsapp img{width:17px;height:17px}
.document-links{gap:0 20px;padding-block:10px}.document-links a{font-size:11px}.footer-meta{flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:5px 15px;padding-block:17px 22px}.footer-meta>span:nth-child(2){order:4;flex-basis:100%;font-size:9px;line-height:1.6}.footer-socials{order:3}.footer-meta>a{order:2;font-size:10px}
}
@media(max-width:360px){.footer-lead{grid-template-columns:1fr}.footer-lead p{font-size:27px}.footer-talk{grid-column:auto}.footer-columns{grid-template-columns:1fr}.footer-columns>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:12px}.footer-urgent{grid-template-columns:1fr}.footer-urgent .footer-whatsapp{justify-self:start}.footer-columns .footer-hours-label{margin-top:0}}
@media(prefers-reduced-motion:reduce){.site-footer a,.site-footer svg,.site-footer a::after,.project-actions .button,.project-actions .button svg{transition:none!important}.project-actions .button::before{display:none}.site-footer a:is(:hover,:active),.project-actions .button:is(:hover,:active){transform:none}.footer-columns a:hover{transform:none}}

.service-panel[data-service] .service-panel-image{object-position:50% 45%}.service-panel[data-service="3"] .service-panel-image{object-position:50% 26%}
/* Press takes priority over hover so mouse and touch share a tactile response. */
@media(prefers-reduced-motion:no-preference){.project-actions .button:active{transform:scale(.975);transition-duration:.09s}.site-footer a:active{transform:scale(.98);transition-duration:.09s}}
/* Final contact: a quiet, solid anchor with a contained arrow. */
.project-actions .button{padding:8px 9px 8px 23px;gap:26px;min-height:60px;background:#122e3d;color:#fff;border:1px solid #122e3d;border-radius:32px;box-shadow:inset 0 1px 0 #ffffff18;backdrop-filter:none;-webkit-backdrop-filter:none;transition:transform .18s var(--ease),background-color .18s ease,border-color .18s ease}
.project-actions .button::before{display:none}
.project-actions .button svg{box-sizing:content-box;width:19px;height:19px;padding:12px;border-radius:50%;background:#ffffff10;border:1px solid #ffffff30;transition:transform .22s var(--ease),background-color .22s ease}
.project-actions .button:focus-visible{outline:2px solid #315b72;outline-offset:5px}
.project-actions .button:active{background:#0a2230}
.footer-lead{grid-template-columns:.8fr 2.25fr}
.footer-meta{justify-content:space-between}.footer-meta>span{font-size:11px}
@media(min-width:901px){.services-intro{align-items:center}.services-intro p{transform:translateY(5px)}}
@media(hover:hover) and (pointer:fine){.project-actions .button:hover{background:#1c3f51;border-color:#1c3f51}.project-actions .button:hover svg{background:#ffffff20;transform:rotate(5deg)}}
@media(max-width:900px){
.service-accordion,.service-accordion.is-ready{display:block;height:auto;overflow:visible;border-radius:0;background:transparent;isolation:isolate}
.service-accordion .service-panel,.service-accordion.is-ready .service-panel,.service-accordion.is-ready .service-panel.is-open{position:sticky;top:calc(var(--header) + 12px);height:clamp(360px,64svh,540px);min-height:360px;margin:0 0 24px;border:1px solid #ffffff55;border-radius:16px;box-shadow:0 -8px 24px #081b2814;transition:none;overflow:hidden;background:#091f2c}
.service-accordion .service-panel:nth-child(2){z-index:2}.service-accordion .service-panel:nth-child(3){z-index:3}.service-accordion .service-panel:nth-child(4){z-index:4}.service-accordion .service-panel:nth-child(5){z-index:5;margin-bottom:0}
.service-accordion.is-ready .service-panel-image,.service-accordion.is-ready .service-panel.is-open .service-panel-image{height:100%;opacity:1;transform:none;transition:none}
.service-accordion .service-panel-toggle{display:none!important}.service-accordion .service-panel-copy{display:block!important;animation:none;inset:auto 24px 26px;width:calc(100% - 48px)}
.service-accordion .service-panel-shade{opacity:1!important;background:linear-gradient(0deg,#061522f5, #06152270 42%, transparent 78%)}
.service-accordion.is-ready .service-panel.is-open::after{display:none}.service-accordion .service-panel-copy h3{font-size:28px}
.footer-lead{grid-template-columns:135px minmax(0,1fr)}
}
@media(max-width:360px){.footer-lead{grid-template-columns:1fr}.project-actions .button{gap:15px;padding-left:18px}.service-accordion .service-panel-copy{inset-inline:20px;width:calc(100% - 40px)}}
@media(prefers-reduced-motion:reduce){.service-accordion .service-panel{position:relative!important;top:auto!important}.project-actions .button svg{transition:none!important}.project-actions .button:hover svg{transform:none}}
/* Policies share the site typography and never load third-party embeds. */
.legal-page{max-width:860px;padding-block:calc(var(--header) + 55px) 70px}.legal-page h1{font-size:clamp(36px,5vw,58px);line-height:1.1;letter-spacing:-.035em;margin:0 0 20px}.legal-page .legal-intro{font-size:18px;line-height:1.7;margin-bottom:30px}.legal-page h2{font-size:23px;line-height:1.3;margin:32px 0 12px}.legal-page p,.legal-page li{font-size:15px;line-height:1.85;color:#45606f}.legal-page p+p{margin-top:12px}.legal-page a{text-decoration:underline;text-underline-offset:4px}.legal-page ul{padding-left:20px}.legal-date{display:block;font-size:12px;color:#637b88;margin-bottom:30px}.legal-nav{display:flex;gap:25px;flex-wrap:wrap;margin-top:40px}.legal-nav a{display:flex;align-items:center;min-height:44px}
.map-open{display:grid;place-items:center;min-height:320px;background:radial-gradient(ellipse at center,#dde7eb, #edf1f3);border:1px solid #203d4e22;text-align:center;color:#173342;padding:24px}.map-open strong{display:block;font-size:clamp(20px,3vw,30px);margin:12px 0 22px}.map-open span>span{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:5px}.map-open:hover span>span{color:#315b72}

@media(min-width:901px){.page-index .services-intro p{transform:translateY(7px);padding-bottom:0}}
/* Footer balance: brand first, quieter signature at the opposite edge. */
.site-footer .footer-lead{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}
.site-footer .footer-lead p{justify-self:end;text-align:right;font-size:clamp(23px,2vw,29px);line-height:1.25;max-width:480px;letter-spacing:-.02em}
@media(max-width:900px){
.site-footer .footer-lead{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:18px;padding-block:30px}
.site-footer .footer-brand{width:clamp(110px,34vw,145px);max-width:100%}
.site-footer .footer-lead p{font-size:clamp(16px,4.2vw,19px);line-height:1.35;max-width:230px}
.site-footer .footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}
.site-footer .footer-columns>div:nth-child(2){text-align:right}
.site-footer .footer-columns>div:nth-child(2)>a{margin-left:auto;justify-content:flex-end;text-align:right}
.site-footer .footer-columns>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
.site-footer .footer-columns>div:last-child>.footer-hours-label,.site-footer .footer-columns>div:last-child>p{grid-column:2;text-align:right}
.site-footer .footer-columns>div:last-child>.footer-hours-label{grid-row:1}
.site-footer .footer-columns>div:last-child>p{grid-row:2/span 2}
.site-footer .footer-columns>div:last-child>address{grid-column:1;grid-row:2}
.site-footer .footer-columns>div:last-child>.footer-directions{grid-column:1;grid-row:3}
.site-footer .footer-urgent>span{justify-self:center;text-align:center}
.site-footer .document-links{justify-content:center;text-align:center;gap:0 22px}
.site-footer .document-links a{justify-content:center;text-align:center}
.site-footer .footer-meta{justify-content:center;gap:14px 24px;text-align:center}
.site-footer .footer-meta>span{font-size:10px}
}
@media(max-width:360px){.site-footer .footer-columns{gap:26px 16px}.site-footer .footer-columns>div:last-child{column-gap:16px}.site-footer .footer-lead{gap:16px}.site-footer .footer-columns a{font-size:11px}.site-footer .footer-columns h2{font-size:11px}}
/* Home: concise service titles remain visible above each mobile photograph. */
.service-mobile-heading{display:none}
.home-next{padding-block:60px 70px}.home-next-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:30px}.home-next-heading h2{font-size:clamp(32px,3.2vw,46px);line-height:1.15;letter-spacing:-.03em}.home-next-heading p{font-size:14px;line-height:1.75;max-width:390px;color:#536571}.home-next-paths{display:grid;grid-template-columns:1fr 1fr;gap:20px}.home-next-path{display:flex;flex-direction:column;justify-content:space-between;gap:30px;min-height:240px;padding:30px;border-radius:16px;background:#fff;color:#173342;border:1px solid #1733421c;transition:transform .2s var(--ease),border-color .2s ease}.home-next-path h3{font-size:29px;line-height:1.15;font-weight:400;letter-spacing:-.025em}.home-next-path p{font-size:13px;line-height:1.7;margin-top:14px;max-width:42ch;color:#536571}.home-next-care{background:#0d2938;color:#fff;border-color:#0d2938}.home-next-care p{color:#c5d6de}.home-path-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:13px}.home-path-foot svg{box-sizing:content-box;width:18px;height:18px;padding:11px;border:1px solid #17334230;border-radius:50%;transition:transform .2s var(--ease)}.home-next-care svg{border-color:#d6e7f140}.home-next-path:focus-visible{outline:2px solid #477f9c;outline-offset:5px}
@media(hover:hover) and (pointer:fine){.home-next-path:hover{transform:translateY(-3px);border-color:#7798a9}.home-next-path:hover svg{transform:translate(2px,-2px)}}
.home-next-path:active{transform:scale(.985)}
@media(max-width:900px){.service-mobile-heading{position:absolute;z-index:4;top:24px;left:24px;right:24px;display:block;pointer-events:none}.service-mobile-heading h3{font-size:26px;line-height:1.15;font-weight:400;letter-spacing:-.02em;color:#fff;text-shadow:0 1px 16px #07182466}.service-accordion .service-panel-copy h3{display:none}.service-accordion .service-panel-shade{background:linear-gradient(180deg,#07182485,transparent 35%,transparent 45%,#061522dd 85%,#061522f5)}.service-accordion .service-panel-copy p{margin-top:0}.home-next{padding-block:38px 42px}.home-next-heading{display:block;margin-bottom:23px}.home-next-heading p{margin-top:15px;max-width:440px}.home-next-paths{grid-template-columns:1fr;gap:14px}.home-next-path{min-height:205px;padding:25px;gap:25px}.home-next-path h3{font-size:27px}.home-next-path p{font-size:13px}.home-path-foot{font-size:12px}}
@media(prefers-reduced-motion:reduce){.home-next-path,.home-next-path svg{transition:none}.home-next-path:is(:hover,:active),.home-next-path:hover svg{transform:none}}
