:root{font-family:Inter,system-ui,sans-serif;color:#14283a;background:#f4f7fa;line-height:1.6;--navy:#102437;--orange:#ffaf52}
*{box-sizing:border-box}body{margin:0}a{color:inherit}a:focus-visible,summary:focus-visible{outline:3px solid #c45a00;outline-offset:4px}.skip{position:absolute;left:12px;top:-80px;background:white;padding:10px;z-index:2}.skip:focus{top:10px}.wrap{width:min(1120px,calc(100% - 36px));margin:auto}header{background:white}.bar,.footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:12px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800}.brand img{object-fit:contain}nav{display:flex;gap:clamp(12px,3vw,32px);flex-wrap:wrap}nav a{text-decoration:none;font-weight:650}nav a:hover,.secondary:hover{text-decoration:underline}.hero,footer{background:var(--navy);color:white}.hero{background:radial-gradient(ellipse at 95% 15%,#264963,transparent 66%),var(--navy)}.hero-inner{display:grid;grid-template-columns:1.7fr 1fr;gap:40px;align-items:center;padding-block:clamp(42px,8vw,96px)}.hero p{max-width:57ch;color:#e1eaf2;font-size:1.08rem}.hero .place{font-size:.88rem;font-weight:800;color:#ffc889;text-transform:uppercase;letter-spacing:.09em}h1,h2,h3{line-height:1.12;margin:0 0 .55em;letter-spacing:-.035em}h1{font-size:clamp(2.25rem,5.8vw,4.55rem);max-width:15ch}h2{font-size:clamp(1.55rem,3vw,2.35rem)}h3{font-size:1.2rem}.mark{display:grid;place-items:center;min-height:240px;background:#eef3f7;border-radius:20px;box-shadow:0 20px 45px #06162280}.mark img{object-fit:contain;width:min(78%,260px);height:auto}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:24px}.button{border-radius:9px;background:var(--orange);padding:12px 19px;text-decoration:none;color:#172536;font-weight:800}.secondary{color:#fff}.content>section{margin-block:46px}.cards,.details{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.card,.details article,details,.band{border:1px solid #d9e2ea;border-radius:14px;background:white;padding:20px}.card{text-decoration:none;display:flex;flex-direction:column;gap:8px;position:relative;padding-right:40px}.card:hover{border-color:#a95000}.card strong{font-size:1.12rem;line-height:1.25}.card b{position:absolute;right:16px;top:17px;color:#9c4800}.card span,.content p{color:#385166}.details article p{margin-bottom:0}.band{background:#e6eef5}.band a{font-weight:750}summary{cursor:pointer;font-weight:750}.footer{align-items:start;padding-block:26px}address{font-style:normal;color:#e1eaf2}footer a{color:#fff}@media(max-width:680px){.bar{align-items:start;flex-direction:column;gap:8px}.hero-inner{grid-template-columns:1fr;gap:24px}.mark{min-height:100px;justify-items:start;padding:12px 18px}.mark img{width:92px}.footer{flex-direction:column}.content>section{margin-block:32px}}

/* Shared brand and service imagery */
:root{--navy:#10253a;--orange:#ffae53;background:#f7f9fb}
header{border-bottom:1px solid #e3eaf0}
.bar{min-height:84px}
.brand{gap:12px;line-height:1.2}
.brand img{width:66px;height:62px}
.brand strong{display:block;font-size:1.17rem}
.brand small{display:block;margin-top:4px;color:#526779;font-weight:500;font-size:.76rem}
.header-contact{border:1px solid #a9b9c8;border-radius:8px;padding:9px 14px;text-decoration:none;font-weight:750;white-space:nowrap}
.header-contact:hover{background:#eaf0f6}
.hero{background:radial-gradient(ellipse at 85% 5%,#264e6b,transparent 65%),var(--navy)}
.hero-inner{display:block;padding-block:clamp(40px,6vw,82px)}
.hero-inner.has-photo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,70px)}
.hero h1{font-size:clamp(2.15rem,4.5vw,4rem);max-width:17ch}
.service-photo{position:relative;margin:0;border-radius:18px;overflow:hidden;box-shadow:0 18px 42px #050d1766;background:#294356}
.service-photo img{width:100%;height:auto;display:block;aspect-ratio:3/2;object-fit:cover}
.cards{gap:18px}.card{box-shadow:0 5px 18px #1024370a;padding-top:25px;border-top:3px solid #e5a153}
.card b{top:23px}.card:hover{background:#fff9f0}
@media(max-width:760px){.hero-inner.has-photo{grid-template-columns:1fr}.header-contact{display:none}.bar{flex-wrap:wrap;gap:12px}.service-photo{max-width:560px}}
table{width:100%;border-collapse:collapse;background:white}th,td{padding:.65rem;text-align:left;border-bottom:1px solid #d9e2ea}button.button{border:0;cursor:pointer}

.location address{color:inherit;margin-bottom:.4rem}
.location iframe{display:block;width:100%;height:clamp(235px,40vw,320px);border:0;border-radius:10px;margin-top:1rem;background:#dce6ed}
.whatsapp-float{position:fixed;z-index:3;right:max(14px,env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));min-height:48px;display:inline-flex;align-items:center;border:2px solid #fff;border-radius:999px;padding:0 18px;background:#086244;color:#fff;font-weight:800;text-decoration:none;box-shadow:0 6px 18px #10243744}
.whatsapp-float:hover{background:#064b34}
body:has(.whatsapp-float) footer{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
@media(max-width:480px){.bar nav a{min-height:44px;display:inline-flex;align-items:center}.actions{gap:10px}.actions .button{width:100%;text-align:center}.hero h1{overflow-wrap:anywhere}}

.whatsapp-float{gap:8px}
.whatsapp-float img{flex:none}
@media(prefers-reduced-motion:no-preference){
  .whatsapp-float{animation:whatsapp-pulse 2.2s ease-out 3}
}
@keyframes whatsapp-pulse{
  0%,100%{box-shadow:0 6px 18px #10243744,0 0 0 0 #16a36d00}
  35%{box-shadow:0 6px 18px #10243744,0 0 0 4px #16a36d66}
  75%{box-shadow:0 6px 18px #10243744,0 0 0 11px #16a36d00}
}

.hero-inner.has-photo:has(.facade-photo){grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.service-photo.facade-photo{background:#142e43;border-radius:28px}
.facade-photo img{height:clamp(340px,47vw,530px);aspect-ratio:auto;object-fit:contain}
.cards .card{border-radius:20px;border-top:1px solid #d9e2ea;padding-block:24px}
.content>section{margin-block:clamp(38px,6vw,78px)}
@media(max-width:760px){
  .hero-inner.has-photo:has(.facade-photo){grid-template-columns:1fr}
  .facade-photo img{height:auto;max-height:530px}
}

.home-page .hero{background:#102437 radial-gradient(ellipse at 87% 0%,#2b526e,transparent 67%)}
.home-page .hero-inner.has-photo{grid-template-columns:minmax(0,1fr) minmax(0,1.04fr)}
.home-page .service-photo{border-radius:22px}
.actions .button-outline{background:transparent;color:white;border:1px solid #9caebe}
.home-page .cards{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,5vw,70px);row-gap:0}
.home-page .cards .card{border:0;border-bottom:1px solid #ccd8e2;border-radius:0;box-shadow:none;background:transparent;padding-left:0}
.home-page .cards .card:hover{background:#edf3f8}
.location{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(18px,4vw,44px);align-items:center;padding:clamp(20px,4vw,42px)}
.location-facade{margin:0}
.location-facade img{display:block;width:100%;height:auto;border-radius:14px}
.location-info iframe{min-height:235px}
@media(max-width:760px){
  .home-page .hero-inner.has-photo{grid-template-columns:1fr}
  .home-page .service-photo{max-width:none}
}
@media(max-width:660px){
  .location{grid-template-columns:minmax(0,1fr)}
  .location-info{grid-row:1}
  .location-facade{width:min(65%,260px);margin-inline:auto}
}
@media(max-width:480px){.home-page .cards{grid-template-columns:1fr}}

.menu-toggle { display: none; }
.menu-toggle:focus-visible { outline: 3px solid #c45a00; outline-offset: 4px; }
@media (max-width: 760px) {
  .bar { flex-direction: row; align-items: center; }
  .menu-toggle:not([hidden]) {
    display: inline-flex; align-items: center; gap: 8px; min-height: 44px;
    padding-inline: 12px; border: 1px solid #b6c8d7; border-radius: 9px;
    background: white; color: var(--navy); font: inherit; font-weight: 750;
  }
  .bar nav { flex-basis: 100%; }
  .menu-toggle:not([hidden])[aria-expanded="false"] + nav { display: none; }
  .bar nav a { display: inline-flex; align-items: center; min-height: 44px; }
  .home-page .hero-inner.has-photo { display: block; }
  .home-page .hero .service-photo { display: none; }
}
