/* Consistent drawn icons: independent of the device's text-arrow glyphs. */
.video-box{position:relative;padding:20px;border:1px solid #bfd7e7;background:linear-gradient(145deg,#f4faff,#eaf4fb);border-radius:18px;margin:18px 0 25px}.video-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;padding:0;border:0}.video-source-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:13px 0}.video-source-actions button{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:8px;padding:16px 8px;min-height:116px;border:1px solid #b9d2e3;border-radius:14px;background:linear-gradient(#fff,#f1f8fc);box-shadow:inset 0 1px #fff,0 3px 0 #c8dce9,0 6px 14px #2458760b;text-align:center}.video-source-actions svg{width:25px;height:25px;stroke:#427d9f;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;fill:none}.video-source-actions strong{font-size:12px;font-weight:650;line-height:1.4}.video-source-actions small{font-size:9px;color:#66869a;line-height:1.4}.video-box p{font-size:11px;line-height:1.7;margin:13px 0 0}.video-box video{display:block;width:100%;max-height:280px;margin-top:18px;border-radius:12px;background:#163c50}.video-box video[hidden],.video-box[hidden]{display:none}.walkthrough-start{font-size:12px;margin-top:8px}.video-box #video-status{color:#285675;font-weight:600}
@media(max-width:400px){.video-box{padding:14px}.video-source-actions strong{font-size:10px}.video-source-actions small{font-size:8px}}
header .menu-toggle{background:linear-gradient(145deg,#fff 10%,#e2f0f8 80%);border-color:#bed5e4;box-shadow:inset 0 2px 2px #fff,0 3px 0 #bed4e2,0 6px 12px #244d6916;color:#2b5b78;transition:transform .2s,box-shadow .2s}header .menu-toggle:active{transform:translateY(2px);box-shadow:inset 0 1px 3px #49779122,0 1px 0 #bed4e2}header .menu-toggle svg{stroke-width:1.8;width:20px;height:20px}dialog.mobile-menu-dialog:focus{outline:none}.menu-sheet-top>a{border-radius:8px}
.menu-toggle{width:42px;height:42px;padding:10px!important;border:1px solid #c6dce9;border-radius:50%;background:linear-gradient(#fff,#eaf5fc);box-shadow:inset 0 1px #fff,0 2px 0 #d4e3ed}.menu-toggle svg,.menu-dismiss svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
dialog.mobile-menu-dialog{padding:0;border:1px solid #d6e8f3;border-radius:28px;width:calc(100% - 28px);max-width:460px;max-height:calc(100dvh - 28px);margin:14px auto auto;background:#f7fbfe;box-shadow:0 25px 90px #052a4966;overflow-y:auto;color:#153f55}
.mobile-menu-dialog::backdrop{background:#082d4766;backdrop-filter:blur(9px)}.mobile-menu-dialog[open]{animation:menu-in .28s cubic-bezier(.16,1,.3,1) both}
.menu-sheet{padding:23px}.menu-sheet-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:25px}.menu-sheet-top img{width:170px;height:auto}.menu-dismiss{width:40px;height:40px;display:grid;place-items:center;background:#e7f1f8;border:1px solid #ccdfed;border-radius:50%;flex:none}.menu-eyebrow{font-size:8px;letter-spacing:1.4px;color:#648599;margin:0 0 13px;font-weight:650}
.mobile-menu-dialog nav{position:static;display:flex;flex-direction:column;gap:0;padding:0;background:transparent;box-shadow:none}.mobile-menu-dialog nav a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 4px;border-bottom:1px solid #dce9f1;font-size:20px;font-weight:600;letter-spacing:-.6px;min-height:54px}.mobile-menu-dialog nav a .action-icon{width:17px;height:17px;color:#7296ac}.mobile-menu-dialog nav a[aria-current=page]{color:#2378a5}.mobile-menu-dialog nav a:hover{color:#2378a5;background:#eaf4fb;border-radius:8px}.menu-sheet-bottom{padding-top:25px;display:grid;gap:21px}.menu-sheet-bottom .button{width:100%;justify-content:space-between;font-size:13px;padding:16px 20px}.menu-call{display:block;text-align:center}.menu-call span{display:block;font-size:7px;font-weight:650;letter-spacing:1.2px;color:#6c8b9d;margin-bottom:8px}.menu-call strong{font-size:20px;font-weight:650;letter-spacing:-.6px}.menu-sheet-bottom>small{text-align:center;font-size:9px;color:#6e8c9e}.mobile-menu-dialog~*{pointer-events:auto}@keyframes menu-in{from{opacity:0;transform:translateY(-16px) scale(.97)}to{opacity:1;transform:none}}
@media(max-height:720px){.menu-sheet{padding:18px 22px}.menu-sheet-top{padding-bottom:18px}.mobile-menu-dialog nav a{font-size:18px;padding:11px 4px;min-height:46px}.menu-sheet-bottom{gap:16px;padding-top:19px}}
.clean-bubble.bubble-a{border-color:#6fa5bd55;background:radial-gradient(circle at 28% 23%,#fff 0 4%,#f1f9fc99 13%,#d4e7f144 48%,#6dabc066 85%,#f9fdff99 100%);box-shadow:inset 2px 3px 5px #fff,inset -2px -3px 5px #74a8bf33,0 3px 8px #07547908}
.clean-bubble.bubble-b{border-color:#26b8cb77;background:radial-gradient(circle at 27% 22%,#fff 0 4%,#c7f5fa 12%,#80c9e5 40%,#59c8d5 72%,#26b8cb 95%);box-shadow:inset 2px 3px 5px #fff9,inset -2px -3px 5px #1795aa44,0 4px 10px #26b8cb20}
.mobile-cta.scroll-offer{transition:transform .3s ease,opacity .3s ease,visibility .3s}.mobile-cta.scroll-offer:not(.is-visible){transform:translateY(110%);opacity:0;visibility:hidden;pointer-events:none}
.action-icon{display:inline-block;width:20px;height:20px;flex:none;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .22s ease}
.action-icon-up{rotate:-90deg}
.button .action-icon{width:19px;height:19px}.button>span:has(.action-icon){display:inline-flex;align-items:center}
.button:hover .action-icon,.text-link:hover .action-icon{transform:translateX(3px)}
.card-link>span:has(.action-icon){width:24px;height:24px;background:none;border:0;border-radius:0;box-shadow:none;transform:none}
.card-link:hover>span .action-icon{transform:translateX(4px)}
.announcement .action-icon,.footer-directory .action-icon,.clean-under .action-icon,.footer-base .action-icon{width:14px;height:14px}
.clean-offer>strong>span:has(.action-icon){display:grid;place-items:center;width:34px;height:34px;border:1px solid #bcd6e5;border-radius:50%;background:#eff8fc;box-shadow:inset 0 1px #fff,0 2px 3px #254f6812}
/* Lifted, softly embossed cards; no hard plastic rims. */
.plan-grid{gap:20px;align-items:stretch}
.plan-card{isolation:isolate;overflow:hidden;border:1px solid #d3e2eb;border-radius:24px;padding:30px 24px 24px;background:linear-gradient(145deg,#fff 12%,#f3f8fc 100%);box-shadow:inset 0 2px 1px #fff, inset 0 -2px 1px #dce8f188,0 5px 0 #e0eaf1,0 14px 28px #254b6612}
.plan-card:before{content:'';position:absolute;z-index:-1;right:-37px;top:44px;width:125px;height:125px;border-radius:50%;border:1px solid #d8e9f399;box-shadow:inset 2px 2px 4px #fff9,2px 2px 4px #b5ccdb22;pointer-events:none}
.plan-card.featured{background:linear-gradient(135deg,#e7f5ff,#d3e9f8);border-color:#a6cbe1;box-shadow:inset 0 2px 1px #fff, inset 0 -2px 1px #9abed580,0 5px 0 #a9c9de,0 16px 30px #255c7e1c}
.plan-card .plan-cadence{font-size:9px;letter-spacing:1.1px;min-height:14px}
.plan-card h3{font-size:24px;letter-spacing:-1px;margin:20px 0 16px}
.plan-card .plan-rate{position:static;font-size:48px;letter-spacing:-2.5px;line-height:1.2;margin:0 0 20px;min-height:58px;text-shadow:0 2px #fff}
.plan-card:first-child .plan-rate{font-size:28px;letter-spacing:-1px;min-height:58px}
.plan-card .plan-rate small{font-size:18px;font-weight:500;letter-spacing:-.5px}
.plan-card p{font-size:13px;line-height:1.75;margin:0 0 28px;min-height:70px}
.plan-card .plan-detail{font-size:10px;margin:auto 0 20px}
.plan-card .plan-badge{position:static;align-self:flex-start;margin:-7px 0 17px;padding:7px 10px;border:1px solid #aacce2;background:#f7fcffb3;border-radius:20px;color:#366b8b;font-size:8px;letter-spacing:1px;box-shadow:inset 0 1px #fff,0 2px 4px #3063820c}
.plan-card:not(.featured) .plan-cadence{margin-top:36px}
.plan-card .card-link{width:100%;display:flex;justify-content:space-between;gap:9px;min-height:48px;padding:12px 14px;border:1px solid #bfd3e2;border-radius:13px;background:linear-gradient(#fff,#f0f7fc);box-shadow:inset 0 1px #fff,0 3px 0 #c9dbe8,0 5px 9px #3056760a;font-size:11px;font-weight:650;text-align:left;transition:transform .2s,box-shadow .2s}
.plan-card.featured .card-link{color:#fff;border-color:#326c90;background:linear-gradient(#4c87ac,#326b91);box-shadow:inset 0 1px #ffffff40,0 3px 0 #285575,0 6px 10px #24496218}
.plan-card .card-link:hover{transform:translateY(-2px)}.plan-card .card-link:active{transform:translateY(2px);box-shadow:inset 0 1px 3px #214b681c}
.plan-controls,.plan-swipe-hint{display:none}
/* Compact brand icons, with only a thin white edge for legibility on navy. */
.footer-socials{gap:12px;align-items:center;margin-top:20px}
.footer-socials .social-mark{width:34px;height:34px;border-radius:9px;padding:3px;border:0;background:#fff;box-shadow:none}
.footer-socials .social-mark img{width:28px;height:28px;max-width:none;padding:0;margin:0;border-radius:0}
@media(min-width:801px) and (max-width:1100px){.plan-grid{gap:14px}.plan-card{padding:26px 18px 22px}.plan-card h3{font-size:22px}.plan-card .card-link{padding:12px 10px;font-size:10px}}
@media(max-width:600px){
 .service-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
 .service-grid .service-card{position:relative;padding:12px 12px 17px!important;border-radius:18px;min-width:0;min-height:0;box-shadow:inset 0 1px #fff,0 4px 0 #dfebf3,0 10px 20px #234c6710}
 .service-grid .service-photo{width:calc(100% + 24px);max-width:none;margin:-12px -12px 18px;height:auto;aspect-ratio:1.15;object-fit:cover;border-radius:18px 18px 0 0}
 .service-grid .service-number{font-size:8px;letter-spacing:.8px}.service-grid .service-card h3{font-size:23px;line-height:1.15;margin:13px 0 21px;letter-spacing:-.8px}
 .service-grid .service-card h3 .serif,.service-grid .service-card h3 br,.service-grid .service-card>p,.service-grid .tags{display:none}
 .service-grid .service-card .card-link{font-size:10px;gap:5px;line-height:1.5;justify-content:space-between;width:100%;min-height:30px}
 .service-grid .card-link:after{content:'';position:absolute;inset:0;border-radius:18px}.service-grid .service-card:focus-within{outline:3px solid #7cb3d3;outline-offset:4px}
 .service-grid .card-link>span:has(.action-icon){width:18px;height:18px}.service-grid .action-icon{width:17px;height:17px}
 .plans-section{overflow:visible}
 .plans-section .plan-grid{--card-width:min(78vw,340px);display:flex;gap:16px;width:calc(100% + 40px);margin:20px -20px 0;padding:16px calc((100% + 40px - var(--card-width))/2) 28px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:calc((100% + 40px - var(--card-width))/2);scrollbar-width:none;align-items:stretch;-webkit-overflow-scrolling:touch}
 .plan-grid::-webkit-scrollbar{display:none}
 .plan-grid .plan-card{flex:0 0 var(--card-width);min-width:0;padding:28px 24px 26px;scroll-snap-align:center;opacity:1!important;transform:none!important;border-radius:25px}
 .plan-card h3{font-size:28px;max-width:none;margin:20px 0 15px}.plan-card .plan-rate{font-size:58px;min-height:70px;margin-bottom:20px}.plan-card:first-child .plan-rate{font-size:32px;min-height:70px}
 .plan-card p{font-size:14px;min-height:74px;max-width:none;margin:0 0 26px}.plan-card .plan-detail{font-size:10px;margin:auto 0 22px}.plan-card .card-link{font-size:12px;min-height:50px}
 .plan-controls{display:flex;justify-content:center;gap:25px;align-items:center;margin:0 auto;max-width:330px}.plan-step{width:44px;height:44px;display:grid;place-items:center;border:1px solid #cfdee8;border-radius:50%;background:linear-gradient(#fff,#edf5fa);box-shadow:inset 0 1px #fff,0 2px 0 #d7e5ee;color:#36617c}.plan-step:disabled{opacity:.35;cursor:default}.plan-step svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
 .plan-position{min-width:130px;text-align:center}.plan-current{display:block;font-size:12px;font-weight:650;color:#375d74;margin:0 0 3px}.plan-dots{display:flex;justify-content:center;gap:0}.plan-dots button{width:28px;height:24px;padding:0;display:grid;place-items:center}.plan-dots button:before{content:'';width:6px;height:6px;border-radius:10px;background:#c6dbe7;transition:width .2s,background .2s}.plan-dots button[aria-current=true]:before{width:20px;background:#4b82a3}
 .plan-swipe-hint{display:block;text-align:center;font-size:10px;letter-spacing:.25px;color:#6c8494;margin:12px 0 0}.plan-terms{margin-top:24px;font-size:10px;line-height:1.8;text-align:left}
}
@media(min-width:521px) and (max-width:600px){.plans-section .plan-grid{width:calc(100% + 100px);margin-inline:-50px;padding-inline:calc((100% + 100px - var(--card-width))/2);scroll-padding-inline:calc((100% + 100px - var(--card-width))/2)}}
@media(prefers-reduced-motion:reduce){.action-icon,.plan-card .card-link,.plan-dots button:before{transition:none}}
.plan-art{position:relative;height:105px;margin:-30px -24px 24px;overflow:hidden;background:radial-gradient(ellipse at 90% 115%,#b1d5e969 0 45%,transparent 46%),linear-gradient(120deg,#eaf5fc,#fafdff);border-bottom:1px solid #d7e7f1;box-shadow:inset 0 2px 0 #fff}.plan-art>span{position:absolute;left:24px;top:24px;font-size:17px;line-height:1.15;letter-spacing:-.6px;font-weight:600;color:#567e95;z-index:1}.plan-art img{position:absolute;right:5px;bottom:-4px;width:135px;height:110px;object-fit:contain;filter:drop-shadow(3px 5px 4px #254c6a25);transform:rotate(-5deg)}.plan-art-1 img{width:100px;height:90px;right:10px;bottom:3px;transform:rotate(-14deg)}.plan-art-2{background:radial-gradient(ellipse at 90% 115%,#92c4e077 0 45%,transparent 46%),linear-gradient(120deg,#d5edfb,#edf8ff)}.plan-art-2 img{width:105px;height:140px;bottom:-26px;right:8px;transform:rotate(14deg)}.plan-art-3 img{width:75px;height:105px;right:17px;bottom:-4px;transform:rotate(10deg)}
.plan-card .plan-badge{position:absolute;top:90px;left:18px;margin:0;font-size:7px;background:#fff;box-shadow:0 2px 4px #27618415}.plan-card:not(.featured) .plan-cadence{margin-top:0}.plan-card h3{margin-top:12px}
.plan-art-2 img{height:96px;width:85px;bottom:4px;right:12px;transform:rotate(7deg)}
@media(max-width:600px){
 .plans-section .plan-grid{--card-width:min(62vw,285px);gap:13px;padding-bottom:26px}
 .plan-grid .plan-card{padding:20px;border-radius:23px;box-shadow:inset 0 2px 1px #fff,inset 0 -3px 1px #d7e6f0,0 5px 0 #d3e2ec,0 14px 20px #21486518}
 .plan-grid .plan-card.featured{box-shadow:inset 0 2px 1px #fff,inset 0 -3px 1px #94bfd977,0 5px 0 #9ebfd4,0 14px 24px #21486526}
 .plan-card .plan-art{margin:-20px -20px 22px;height:100px}.plan-art>span{left:17px;top:27px;font-size:17px}.plan-art img{width:112px;right:0}.plan-art-1 img{width:88px}.plan-art-2 img{width:90px;right:3px}.plan-art-3 img{width:70px;right:8px}
 .plan-card .plan-cadence{display:none}.plan-card h3{font-size:23px;line-height:1.2;margin:0 0 13px;letter-spacing:-.8px}.plan-card .plan-rate{font-size:46px;min-height:55px;margin:0 0 14px;letter-spacing:-2px}.plan-card:first-child .plan-rate{font-size:27px;min-height:55px}.plan-card .plan-rate small{font-size:15px}
 .plan-card p{font-size:11px;line-height:1.65;min-height:55px;margin-bottom:18px}.plan-card .plan-detail{font-size:8px;line-height:1.5;margin:auto 0 13px}.plan-card .card-link{font-size:11px;min-height:44px;padding:10px 12px;border-radius:12px}.plan-card .plan-badge{left:13px;top:91px;padding:5px 9px;font-size:6px;letter-spacing:.8px}.plan-card .card-link>span:has(.action-icon){width:17px}.plan-card .action-icon{width:17px}
}
/* Quiet, rounded actions with no decorative arrow or heavy hard edge. */
.button,.hero-booking .button,.ticket-price .button,.menu-sheet-bottom .button{border-radius:999px;justify-content:center;background:linear-gradient(180deg,#417fa5,#326b91);border:1px solid #32658a;box-shadow:inset 0 1px 1px #ffffff4d,0 2px 0 #234f6e,0 6px 13px #2553711c;font-weight:650;letter-spacing:.02em}
.button:hover{background:linear-gradient(180deg,#4a89af,#367399);box-shadow:inset 0 1px #ffffff66,0 3px 0 #234f6e,0 8px 17px #25537124;transform:translateY(-1px)}.button:active{transform:translateY(1px);box-shadow:inset 0 1px 3px #204e6e33,0 1px 0 #234f6e}
.plan-card .card-link,.plan-card.featured .card-link{border-radius:999px;justify-content:center;text-align:center;min-height:44px;padding:12px 13px;letter-spacing:.01em;box-shadow:inset 0 1px #fff,0 2px 0 #c3d9e7,0 5px 10px #254c6610}
.plan-card.featured .card-link{background:linear-gradient(#407fa6,#326b91);box-shadow:inset 0 1px #ffffff55,0 2px 0 #285575,0 5px 10px #2449621c}
@media(max-width:600px){.plan-art-2 img{height:91px;width:74px;right:9px;bottom:4px}.service-grid .service-card .card-link{justify-content:center;background:#ffffff9c;border:1px solid #cfdfeb;border-radius:999px;min-height:36px;padding:8px 4px;font-weight:600;font-size:9px;box-shadow:inset 0 1px #fff,0 2px 0 #d1e1ec}}

/* Keep chat at the lower edge until the mobile offer needs that space. */
@media(max-width:800px){
 .whatsapp-launcher{bottom:calc(16px + env(safe-area-inset-bottom) + var(--mobile-offer-offset,0px));transition:bottom .25s ease}
 .whatsapp-panel{bottom:calc(78px + env(safe-area-inset-bottom) + var(--mobile-offer-offset,0px));transition:bottom .25s ease}
}
@media(max-width:600px){
 .plans-section .plan-grid{padding-top:26px}
 .plan-grid .plan-card.featured{transform:translateY(-8px)!important;border-color:#90b8d1;box-shadow:inset 0 2px 1px #fff,inset 0 -3px 1px #94bfd977,0 6px 0 #9ebfd4,0 16px 24px #21486526}
}
@media(prefers-reduced-motion:reduce){.whatsapp-launcher,.whatsapp-panel{transition:none}}

@media(max-width:800px){
 .whatsapp-launcher{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .2s ease,visibility .2s ease,transform .2s ease,bottom .25s ease}
 .has-scrolled .whatsapp-launcher{opacity:1;visibility:visible;pointer-events:auto;transform:none}
}
@media(prefers-reduced-motion:reduce){.whatsapp-launcher{transition:none}}
