:root{--opal:#F5F6FA;--opal-2:#FBFBFD;--pearl:#EDEFF6;--navy:#141E4D;--navy-2:#1E2E73;--blue:#3149E0;--ice:#C4C4C4;--ice-lt:#EFEFEF;--silver:#C4C4C4;--silver-lt:#EFEFEF;--gold:#B8935A;--wa:#3F9D6D;--wa-dk:#33805A;--ink:#12162E;--body:#4B5268;--line:#E2E5EE;--muted:#5B6C83;--muted-soft:#66778E;--slate:#5B6C83;--pearl-2:#EAF0F6;--pad:20px;--shadow-m:0 18px 40px rgba(20,30,77,.12);--radius:14px;--shadow-s:0 2px 10px rgba(20,30,77,.07);--shadow:0 12px 34px rgba(20,30,77,.10);--shadow-lg:0 28px 70px rgba(20,30,77,.18);--max:1200px;--serif:"Plus Jakarta Sans",system-ui,sans-serif;--metal:linear-gradient(135deg,#FAFAFA 0%,#DEDEDE 22%,#C4C4C4 45%,#A6A6A6 65%,#DEDEDE 85%,#FAFAFA 100%);--metal-dk:linear-gradient(135deg,#D4D4D4 0%,#C4C4C4 40%,#8C8C8C 70%,#C4C4C4 100%);--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box;margin:0;padding:0}svg{shape-rendering:geometricPrecision}html{scroll-behavior:smooth;scroll-padding-top:110px}body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--body);background:var(--opal);line-height:1.68;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4{color:var(--ink);line-height:1.16;font-weight:800;letter-spacing:-.02em}h1{font-size:clamp(2.1rem,4.3vw,3.5rem)}h2{font-size:clamp(1.7rem,3.1vw,2.5rem)}h3{font-size:1.12rem;font-weight:700}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}.sec{padding:104px 0;content-visibility:auto;contain-intrinsic-size:auto 900px}.hero,header.nav{content-visibility:visible}.sec-pearl{background:linear-gradient(180deg,var(--pearl),var(--opal-2))}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.74rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin-bottom:14px}.eyebrow::before{content:"";width:26px;height:2px;background:var(--ice)}.center .eyebrow::before{display:none}.lead{font-size:1.04rem;max-width:700px}.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}.head{margin-bottom:46px}.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;font-size:.95rem;padding:15px 30px;border-radius:99px;border:0;cursor:pointer;transition:.45s var(--ease);white-space:nowrap}.btn::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.32),rgba(255,255,255,0) 55%);pointer-events:none}.btn::after{content:"";position:absolute;top:0;left:-60%;width:35%;height:100%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.65),transparent);transform:skewX(-18deg);transition:left .7s var(--ease);pointer-events:none}.btn:hover::after{left:130%}.btn-primary{background:linear-gradient(135deg,var(--blue),var(--navy));background-size:150% 150%;background-position:0% 50%;color:#fff;box-shadow:0 10px 26px rgba(49,73,224,.32)}.btn-primary:hover{transform:translateY(-2px) scale(1.035);background-position:100% 50%;box-shadow:0 18px 38px rgba(49,73,224,.44)}.btn-ice{background:linear-gradient(180deg,rgba(255,255,255,.35) 0%,rgba(255,255,255,0) 50%),linear-gradient(135deg,#4A63E8,var(--navy) 100%);color:#fff;border:1px solid #C4C4C4;box-shadow:0 10px 24px rgba(49,73,224,.32),inset 0 1px 0 rgba(255,255,255,.5)}.btn-ice:hover{background:linear-gradient(180deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,0) 50%),linear-gradient(135deg,var(--blue),var(--navy-2) 100%);color:#fff;transform:translateY(-3px) scale(1.035);border-color:#DEDEDE;box-shadow:0 18px 36px rgba(49,73,224,.44),inset 0 1px 0 rgba(255,255,255,.4)}.btn-ghost{background:rgba(255,255,255,.1);color:#fff;border:1.5px solid rgba(255,255,255,.45);backdrop-filter:blur(6px)}.btn-ghost:hover{background:#fff;color:var(--navy);transform:translateY(-2px) scale(1.035)}.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-2);transform:translateY(-2px) scale(1.035)}.btn-block{width:100%}@media(max-width:768px){.iconbar{width:100%;justify-content:center}}header.nav{position:sticky;top:0;z-index:80;background:rgba(251,251,249,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:.3s}header.nav.small{box-shadow:0 4px 24px rgba(20,30,77,.10)}.nav .wrap{display:flex;align-items:center;gap:22px;height:92px}@media(max-width:660px){.nav .wrap{height:66px}.logo img{height:46px}}.logo{display:flex;align-items:center;flex:none}.logo img{height:62px;width:auto;object-fit:contain;display:block;border-radius:8px}nav.menu{margin-left:auto;display:flex;align-items:center;gap:26px;font-weight:600;font-size:.93rem;color:var(--ink);flex-wrap:nowrap}nav.menu a,.dd-toggle{white-space:nowrap}nav.menu a{position:relative;padding:6px 0;line-height:1}nav.menu a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--ice);transition:.25s}nav.menu a:hover::after{width:100%}.nav-ctas{display:flex;align-items:center;gap:10px;flex:none}.btn-whatsapp{background:var(--wa);color:#fff;box-shadow:0 8px 20px rgba(63,157,109,.28)}.btn-whatsapp:hover{background:var(--wa-dk);color:#fff}.nav .btn{padding:12px 20px;font-size:.88rem}@media(max-width:1240px) and (min-width:1041px){nav.menu{gap:16px;font-size:.86rem}.nav .wrap{gap:14px}.nav .btn{padding:11px 15px;font-size:.82rem}}.burger{display:none;margin-left:auto;background:none;border:0;cursor:pointer;padding:8px}.burger span{display:block;width:25px;height:2.5px;background:var(--navy);border-radius:2px;margin:5px 0;transition:.25s}.burger.x span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.burger.x span:nth-child(2){opacity:0}.burger.x span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}@media(max-width:1200px){nav.menu{position:absolute;top:100%;left:0;right:0;background:var(--opal-2);flex-direction:column;gap:0;padding:8px 22px 22px;box-shadow:var(--shadow);display:none;max-height:calc(100dvh - 120px);overflow:auto;overscroll-behavior:contain}nav.menu.open{display:flex}nav.menu a{padding:15px 0;border-bottom:1px solid var(--line)}.burger{display:block}.nav-ctas{display:none}}.hero{position:relative;background:linear-gradient(120deg,#08243E 0%,#141E4D 40%,#1E2E73 75%,#3149E0 100%);color:#CFE2EF;overflow:hidden}.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 480px at 88% 10%,rgba(143,160,214,.32),transparent 62%),radial-gradient(560px 520px at 4% 92%,rgba(255,255,255,.09),transparent 60%)}.hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:70px;background:linear-gradient(180deg,transparent,var(--opal));opacity:.0}.hero .wrap{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;padding-top:70px;padding-bottom:84px}.hero h1{color:#fff;font-family:var(--serif);font-weight:700;letter-spacing:-.025em}.hero h1 em{font-style:normal;color:var(--ice)}.hero .lead{color:#B4D0E4;margin:20px 0 28px}.hero-cta{display:flex;gap:13px;flex-wrap:wrap}.hero-usp{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px;padding-top:26px;border-top:1px solid rgba(255,255,255,.15)}.hero-usp div{font-size:.85rem;color:#D3E6F3;display:flex;align-items:center;gap:8px;font-weight:600}.hero-usp svg{flex:none;color:var(--ice)}.hero-visual img{border-radius:20px;box-shadow:var(--shadow-lg);width:100%}.price-tag small{display:block;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}.price-tag b{font-size:1.5rem;color:var(--navy);letter-spacing:-.03em}@media(max-width:1040px){.hero .wrap{grid-template-columns:1fr;gap:40px}.hero-visual{order:-1;max-width:460px;margin:0 auto}}@media(max-width:660px){.hero .wrap{gap:28px}.hero-visual{order:1;max-width:none}.hero-visual img{aspect-ratio:16/10 !important;object-position:center 40%}.hero-usp{margin-top:24px;padding-top:20px;gap:10px 14px}.hero-usp div{font-size:.8rem}.price-tag{left:auto;right:12px;bottom:12px;padding:10px 16px}.price-tag b{font-size:1.25rem}}.quote-card{background:#fff;border-radius:20px;padding:30px;box-shadow:var(--shadow-lg);color:var(--body)}.quote-card h3{font-size:1.28rem;margin-bottom:3px}.quote-card .sub{font-size:.87rem;margin-bottom:20px}.field{margin-bottom:12px}.field label{display:block;font-size:.72rem;font-weight:800;color:var(--ink);margin-bottom:6px;text-transform:uppercase;letter-spacing:.08em}.field input,.field select{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:11px;font:inherit;font-size:.93rem;color:var(--ink);background:var(--opal-2);transition:.2s}.field input:focus,.field select:focus{outline:0;border-color:var(--ice);background:#fff;box-shadow:0 0 0 4px rgba(49,73,224,.16)}.form-note{font-size:.75rem;text-align:center;margin-top:11px}.form-ok{display:none;background:#E6F7EE;border:1.5px solid #ADE2C4;color:#186B3B;padding:13px;border-radius:11px;font-size:.88rem;font-weight:600;margin-top:12px}.marquee{overflow:hidden;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.mq-track{display:flex;gap:16px;width:max-content;animation:mq 34s linear infinite}.marquee:hover .mq-track{animation-play-state:paused}@keyframes mq{to{transform:translateX(-50%)}}.badge-i svg{color:var(--blue);flex:none}.badge-i img{width:26px;height:26px;object-fit:contain}.strip{margin-top:56px;border-top:1px solid var(--line)}.strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:44px 22px 0}@media(max-width:660px){.strip{margin-top:38px}.strip .wrap{padding:34px 22px 0}}.stat{text-align:center}.stat b{display:block;font-size:2.1rem;color:var(--navy);font-weight:800;letter-spacing:-.035em;font-family:var(--serif)}.stat span{font-size:.84rem;font-weight:600}@media(max-width:700px){.strip .wrap{grid-template-columns:repeat(2,1fr);gap:28px}}.grid{display:grid;gap:22px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}@media(max-width:1000px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}}@media(max-width:660px){.g2,.g3,.g4{grid-template-columns:1fr}}@media(max-width:660px){#services .g3{grid-template-columns:repeat(2,1fr);gap:12px}#services .card{padding:18px 15px}#services .card h3{font-size:.97rem;line-height:1.25}#services .card p{font-size:.82rem;line-height:1.55}#services .icon{width:42px;height:42px;border-radius:11px;margin-bottom:12px}#services .icon svg{width:21px;height:21px}#services .card .from{font-size:.7rem;padding:4px 9px;margin-top:10px}.cat h3{font-size:1.15rem}.catblock{margin-bottom:36px}}@media(max-width:360px){#services .g3{grid-template-columns:1fr}}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;transition:.5s var(--ease);position:relative;overflow:hidden;display:flex;flex-direction:column}.card::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--ice),var(--blue));transition:.5s var(--ease)}.card:hover{transform:translateY(-8px);box-shadow:0 24px 48px rgba(20,30,77,.16);border-color:#CFE0EA}.card:hover::before{width:100%}.icon{width:54px;height:54px;border-radius:14px;background:linear-gradient(135deg,var(--ice-lt),var(--silver-lt));display:grid;place-items:center;color:var(--blue);margin-bottom:16px;transition:.4s var(--ease)}.icon svg{transition:.4s cubic-bezier(.34,1.56,.64,1)}.card:hover .icon{background:var(--metal);transform:translateY(-3px) rotate(-4deg);box-shadow:0 8px 18px rgba(20,30,77,.22)}.card:hover .icon svg{transform:scale(1.15) rotate(6deg)}.card h3{margin-bottom:8px}.card p{font-size:.93rem}.card p{margin-bottom:20px}.card-actions{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.card .from{font-size:.78rem;font-weight:800;letter-spacing:.06em;color:var(--blue);background:var(--ice-lt);padding:6px 13px;border-radius:99px;line-height:1.35}.wa-book{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:800;color:#fff;background:var(--wa);padding:7px 14px 7px 11px;border-radius:99px;white-space:nowrap;transition:.3s var(--ease);box-shadow:0 4px 12px rgba(63,157,109,.26)}.wa-book svg{width:13px;height:13px;flex:none}.wa-book:hover{background:var(--wa-dk);transform:translateY(-2px);box-shadow:0 8px 18px rgba(63,157,109,.38)}@media(max-width:400px){.card-actions{gap:8px}.wa-book{font-size:.7rem;padding:6px 11px 6px 9px}}.cat{display:flex;align-items:center;gap:16px;margin-bottom:24px}.cat h3{font-size:1.4rem;font-family:var(--serif);font-weight:700;letter-spacing:-.02em;white-space:nowrap}@media(max-width:520px){.cat{gap:11px}.cat h3{white-space:normal;font-size:1.08rem}.cat::after{display:none}}.cat::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--silver),transparent)}.cat-link{font-size:.82rem;font-weight:700;color:var(--blue);white-space:nowrap;flex:none;margin-left:16px}.cat-link:hover{color:var(--navy);text-decoration:underline}@media(max-width:660px){.cat-link{font-size:.74rem;margin-left:10px}}.catnum{font-size:.72rem;font-weight:800;letter-spacing:.12em;color:#fff;background:var(--navy);padding:7px 12px;border-radius:8px;flex:none}.catblock{margin-bottom:52px}.catblock:last-child{margin-bottom:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}@media(max-width:940px){.split{grid-template-columns:1fr;gap:36px}}.tick{list-style:none;margin-top:20px}.tick li{position:relative;padding-left:34px;margin-bottom:13px;font-size:.95rem;color:var(--ink);font-weight:500}.tick li::before{content:"";position:absolute;left:0;top:4px;width:22px;height:22px;border-radius:50%;background:var(--blue);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-size:14px;background-repeat:no-repeat;background-position:center}.shot{border-radius:18px;box-shadow:var(--shadow);width:100%;object-fit:cover}@media(max-width:660px){.shot{aspect-ratio:16/10 !important;max-height:300px}}.ba{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:18px;overflow:hidden;box-shadow:var(--shadow-lg);position:relative;background:var(--navy)}.ba figure{position:relative;margin:0;line-height:0}.ba img{width:100%;aspect-ratio:1/1;object-fit:cover}.ba .lbl{position:absolute;left:50%;transform:translateX(-50%);bottom:16px;padding:8px 26px;border-radius:99px;font-size:.82rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.3)}.lbl-b{background:#5B6472}.lbl-a{background:var(--blue)}.ba .arrow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:var(--blue);display:grid;place-items:center;color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.35);z-index:2;border:3px solid #fff}.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media(max-width:900px){.gal-grid{grid-template-columns:1fr}}.photo{border-radius:16px;overflow:hidden;box-shadow:var(--shadow);position:relative;background:var(--navy)}.photo img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:.6s var(--ease)}.photo:hover img{transform:scale(1.06)}.photo figcaption{position:absolute;inset:auto 0 0 0;padding:30px 18px 15px;color:#fff;font-weight:700;font-size:.9rem;background:linear-gradient(transparent,rgba(6,26,44,.9))}.steps{counter-reset:s;display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.step{background:#fff;border-radius:var(--radius);padding:30px 20px 24px;text-align:center;border:1px solid var(--line);position:relative}.step::before{counter-increment:s;content:counter(s);position:absolute;top:-18px;left:50%;transform:translateX(-50%);width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;display:grid;place-items:center;font-weight:800;font-size:1rem;box-shadow:0 6px 16px rgba(20,30,77,.30)}.step h3{font-size:1rem;margin:14px 0 6px}.step p{font-size:.86rem}@media(max-width:1080px){.steps{grid-template-columns:repeat(2,1fr);gap:36px 18px}}@media(max-width:560px){.steps{grid-template-columns:repeat(2,1fr);gap:34px 12px}.step{padding:26px 14px 20px}.step p{font-size:.8rem}}@media(max-width:360px){.steps{grid-template-columns:1fr}}.sign{display:flex;gap:14px;align-items:flex-start;background:#fff;border-left:4px solid var(--ice);border-radius:12px;padding:20px 22px;box-shadow:var(--shadow-s);height:100%}.grid.g2{align-items:stretch}.sign svg{flex:none;color:var(--blue);margin-top:3px}.sign b{color:var(--ink);display:block;margin-bottom:3px}.sign p{font-size:.89rem}.tabs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:28px}.tabs button{background:#fff;border:1.5px solid var(--line);border-radius:99px;padding:12px 24px;font:inherit;font-weight:700;font-size:.9rem;color:var(--ink);cursor:pointer;transition:.2s}.tabs button:hover{border-color:var(--ice)}.tabs button.on{background:var(--navy);color:#fff;border-color:var(--navy)}.panel{display:none;background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:var(--shadow)}.panel.on{display:block;animation:fade .45s ease}@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.panel svg{width:100%;height:auto;border-radius:14px;background:var(--pearl)}.panel .cap{margin-top:18px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.panel .cap div{font-size:.85rem;padding-left:12px;border-left:3px solid var(--ice)}.panel .cap b{display:block;color:var(--ink);font-size:.89rem}@media(max-width:760px){.panel .cap{grid-template-columns:1fr 1fr}}.vm{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}.vm .box{background:#fff;border-radius:18px;padding:32px;border-top:4px solid var(--ice);box-shadow:var(--shadow-s)}.vm .box:nth-child(2){border-top-color:var(--blue)}.vm .box:nth-child(3){border-top-color:var(--silver)}.vm h3{margin:14px 0 8px;font-size:1.15rem}.vm p,.vm ul{font-size:.94rem}.vm ul{list-style:none;margin-top:8px}.vm ul li{padding-left:22px;position:relative;margin-bottom:8px}.vm ul li::before{content:"❄";position:absolute;left:0;color:var(--ice)}@media(max-width:900px){.vm{grid-template-columns:1fr}}.plan{background:#fff;border:1.5px solid var(--line);border-radius:20px;padding:34px 28px;display:flex;flex-direction:column;transition:.28s;position:relative}.plan:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px)}.plan.pop{border-color:var(--blue);box-shadow:var(--shadow-lg)}.ribbon{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--metal);color:var(--navy);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:7px 18px;border-radius:99px;white-space:nowrap;box-shadow:0 6px 16px rgba(20,30,77,.25)}.plan h3{font-size:1.15rem}.plan .startfrom{font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-top:14px}.plan .price{font-size:2.5rem;font-weight:800;color:var(--navy);letter-spacing:-.045em;font-family:var(--serif);line-height:1.1}.plan .price sup{font-size:.85rem;font-weight:800;color:var(--body);margin-right:7px;top:-4px;position:relative;font-family:Inter;letter-spacing:.03em}.plan .per{font-size:.8rem;margin-top:6px;margin-bottom:20px}.plan ul{list-style:none;font-size:.91rem;flex:1;margin-bottom:22px}.plan li{padding:9px 0 9px 26px;position:relative;border-bottom:1px dashed var(--line)}.plan li::before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:800}.plan li.off{color:#A7B5C0}.plan li.off::before{content:"–";color:#C6D0D8}.sec-mapbg{position:relative;background:var(--pearl);background-image:radial-gradient(var(--silver) 1px,transparent 1px);background-size:22px 22px;background-position:-11px -11px}.area-wrap{max-width:var(--max);margin:40px auto 0;padding:0 22px}.area-track{display:flex;gap:20px;overflow-x:auto;cursor:grab;padding:6px 6px 20px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.area-track.dragging{cursor:grabbing;scroll-snap-type:none}.area-track::-webkit-scrollbar{height:6px}.area-track::-webkit-scrollbar-thumb{background:var(--silver);border-radius:99px}.area-card{flex:none;width:360px;scroll-snap-align:start;user-select:none;position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 26px 24px 28px;box-shadow:var(--shadow-s);overflow:hidden}.area-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--metal)}.area-card-h{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--blue)}.area-card-h h3{font-size:1.05rem;color:var(--ink)}.area-tags{display:flex;flex-wrap:wrap;gap:8px 10px}.area-tags span{font-size:.85rem;font-weight:600;color:var(--body);background:var(--ice-lt);border-radius:8px;padding:6px 11px;transition:.3s var(--ease)}.area-tags span:hover{background:var(--blue);color:#fff}@media(max-width:660px){.area-card{width:290px;padding:22px 20px 20px 24px}}.rev-wrap{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.rev-track{display:flex;gap:20px;width:max-content;animation:rev 150s linear infinite}.rev-wrap:hover .rev-track{animation-play-state:paused}@keyframes rev{to{transform:translateX(-50%)}}.rev{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;width:340px;flex:none;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-s)}.stars{color:#FFB400;letter-spacing:2px;font-size:.95rem}.rev p{font-size:.91rem;flex:1}.who{display:flex;align-items:center;gap:12px;padding-top:12px;border-top:1px solid var(--line)}.who .av{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--ice),var(--navy));color:#fff;display:grid;place-items:center;font-weight:800;font-size:.9rem;flex:none}.who b{display:block;color:var(--ink);font-size:.9rem}.who small{font-size:.78rem}.rev-meta{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:26px;font-size:.88rem;font-weight:600}.rev-meta b{color:var(--ink);font-size:1.05rem}.faq{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden}.faq button{width:100%;text-align:left;background:none;border:0;padding:20px 56px 20px 22px;font:inherit;font-weight:700;color:var(--ink);cursor:pointer;position:relative;font-size:1rem}.faq button::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--blue);font-weight:500;transition:.25s}.faq.open button::after{content:"–"}.faq .ans{max-height:0;overflow:hidden;transition:max-height .35s ease}.faq .ans p{padding:0 22px 20px;font-size:.93rem}.cta{background:linear-gradient(120deg,var(--navy),#1E2E73 60%,#3149E0);color:#CFE2EF;border-radius:22px;padding:54px;display:flex;justify-content:flex-start;align-items:center;gap:36px;flex-wrap:wrap;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(500px 300px at 90% 20%,rgba(143,160,214,.30),transparent 65%)}.cta>*{position:relative}.cta h2{color:#fff;font-family:var(--serif);font-weight:700}.cta p{margin-top:8px}.glass-panel{background:rgba(255,255,255,.08);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:22px 28px;max-width:560px}.mapbox{border-radius:18px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);line-height:0}.mapbox iframe{width:100%;height:360px;border:0}footer{position:relative;background:var(--navy);color:#9FBCD2;padding:96px 0 0;font-size:.9rem;margin-top:88px;clip-path:polygon(0 46px,100% 0,100% 100%,0 100%)}footer h4{color:#fff;font-size:1rem;margin-bottom:16px}footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:38px}footer ul{list-style:none}footer li{margin-bottom:9px}footer a:hover{color:var(--ice)}.foot-logo{display:inline-flex;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(6px);border-radius:16px;padding:14px 20px}.foot-logo img{border-radius:8px;display:block}.social a{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.09);display:grid;place-items:center;color:#fff;transition:.35s var(--ease)}.social a:hover{background:var(--ice);color:var(--navy)}.copy{border-top:1px solid rgba(255,255,255,.11);margin-top:26px;padding:22px 0;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.83rem}.copy nav{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:660px){footer{clip-path:polygon(0 26px,100% 0,100% 100%,0 100%);padding-top:64px}}.pay{margin-top:48px;padding-top:30px;border-top:1px solid rgba(255,255,255,.11);display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}.pay h5{color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin:0}.trust-badges{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.trust-badges span{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:99px;padding:10px 18px;font-size:.85rem;font-weight:700;color:#DCE2ED;transition:.35s var(--ease)}.trust-badges span:hover{background:rgba(255,255,255,.13);transform:translateY(-2px)}.trust-badges svg{width:16px;height:16px;color:var(--silver);flex:none}@media(max-width:660px){.trust-badges{justify-content:center}.trust-badges span{font-size:.78rem;padding:8px 14px}}.modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(8,25,42,.62);backdrop-filter:blur(4px)}.modal.on{display:flex}.modal-box{background:var(--opal-2);border-radius:18px;max-width:760px;width:100%;max-height:86vh;overflow:auto;padding:36px;box-shadow:var(--shadow-lg);position:relative}.modal-box h3{font-size:1.5rem;margin-bottom:6px;font-family:var(--serif)}.modal-box h4{font-size:1rem;margin:22px 0 6px;color:var(--ink)}.modal-box p,.modal-box li{font-size:.92rem}.modal-box ul{margin:6px 0 0 20px}.modal-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:0;background:var(--pearl);color:var(--ink);font-size:1.3rem;cursor:pointer;line-height:1}.modal-close:hover{background:var(--silver)}@media(max-width:900px){footer .cols{grid-template-columns:1fr 1fr;gap:30px}}@media(max-width:660px){footer li{margin-bottom:0}footer li a{display:block;padding:9px 0}.copy{justify-content:center;text-align:center}.copy nav{justify-content:center}.copy nav a{padding:6px 2px}.pay{justify-content:center;text-align:center}}@media(max-width:540px){footer .cols{grid-template-columns:1fr}}.float{position:fixed;right:18px;bottom:18px;z-index:90;display:flex;flex-direction:column;gap:12px}.float a{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 10px 26px rgba(0,0,0,.24);transition:.4s var(--ease);position:relative}.float a:hover{transform:scale(1.12) translateY(-2px)}.wa{background:var(--wa)}.wa::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--wa);animation:pulse 2.2s infinite}@keyframes pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.55);opacity:0}}.fab-call{background:var(--metal);color:var(--navy);border:1px solid rgba(255,255,255,.6);box-shadow:0 10px 24px rgba(20,30,77,.24),inset 0 1px 0 rgba(255,255,255,.9)}.fab-call:hover{background:var(--metal-dk);color:#fff}.mobar{display:none}@media(max-width:660px){.float{bottom:78px}.fab-call{display:none}.mobar{display:grid;grid-template-columns:1fr 1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:95;background:rgba(255,255,255,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(20,30,77,.08);box-shadow:0 -4px 22px rgba(20,30,77,.14)}.mobar a{display:flex;align-items:center;justify-content:center;gap:6px;padding:15px 6px;text-align:center;font-weight:700;font-size:.82rem;color:var(--navy);transition:.3s var(--ease)}.mobar a:active{transform:scale(.95)}.mobar a:first-child{background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff}.mobar-wa{background:#fff;color:var(--navy)}.mobar-wa svg{color:var(--wa)}body{padding-bottom:60px}.sec{padding:64px 0}.cta{padding:36px 26px}}.reveal-armed .reveal{opacity:0;transform:translateY(24px);transition:.75s var(--ease)}.reveal{opacity:1;transform:none}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.mq-track,.rev-track{animation:none}}.iconbar{display:flex;align-items:center;gap:8px}.ilink{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;flex:none;background:var(--pearl);color:var(--navy);border:1px solid var(--line);transition:.22s var(--ease)}.ilink svg{width:18px;height:18px}.ilink:hover,.ilink:focus-visible{transform:translateY(-2px);color:#fff;outline:none}.ilink.wa:hover,.ilink.wa:focus-visible{background:var(--blue);border-color:var(--blue)}.ilink.ig:hover,.ilink.ig:focus-visible{background:linear-gradient(45deg,#F58529,#DD2A7B,#8134AF);border-color:transparent}.ilink.fb:hover,.ilink.fb:focus-visible{background:#1877F2;border-color:#1877F2}.ilink.mp:hover,.ilink.mp:focus-visible{background:#EA4335;border-color:#EA4335}.ilink.ph:hover,.ilink.ph:focus-visible{background:var(--blue);border-color:var(--blue)}.ilink.em:hover,.ilink.em:focus-visible{background:var(--navy);border-color:var(--navy)}.iconbar-foot .ilink{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.14);color:#fff}@media(max-width:1200px) and (min-width:1041px){nav.menu{gap:18px;font-size:.88rem}.nav .wrap{gap:16px}}.mapfacade{position:relative;width:100%;min-height:360px;cursor:pointer;padding:24px;text-align:center;line-height:1.6;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#E3EDF3,#F3F6F8);color:var(--navy)}.mf-in{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.mapfacade::before{content:"";position:absolute;inset:0;opacity:.5;background-image:linear-gradient(var(--silver-lt) 1px,transparent 1px),linear-gradient(90deg,var(--silver-lt) 1px,transparent 1px);background-size:44px 44px}.mapfacade b{font-weight:800}.mapfacade .pin{width:56px;height:56px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;box-shadow:0 10px 26px rgba(49,73,224,.34)}.mapfacade b{font-size:1.02rem}.mapfacade .mf-sub{font-size:.87rem;color:var(--body);max-width:320px;font-weight:500}.mapfacade em{font-style:normal;font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}.svgwrap{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;border-radius:14px}.svgwrap svg{min-width:620px}.swipe-hint{display:none;font-size:.78rem;font-weight:700;color:var(--blue);margin-top:10px;text-align:center}@media(max-width:700px){.swipe-hint{display:block}}@media(max-width:660px){header.nav{backdrop-filter:blur(8px)}.rev{width:min(340px,82vw);padding:22px}.tabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:6px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.tabs button{flex:none;padding:11px 18px;font-size:.85rem;scroll-snap-align:start}.panel{padding:16px}.plan{padding:28px 22px}.cta{padding:32px 22px;text-align:center;justify-content:center}.glass-panel{padding:18px 20px;width:100%}.cta>div:last-child{justify-content:center;width:100%}.cta>div:last-child{flex-direction:column}.cta .btn{width:100%}.hero .wrap{padding-top:44px;padding-bottom:56px}.hero-cta{flex-direction:column}.hero-cta .btn{width:100%}.modal-box{padding:26px 20px}.quote-card{padding:24px 20px}.ba .arrow{width:40px;height:40px;border-width:2px}.ba .lbl{padding:6px 14px;font-size:.7rem;bottom:10px}.gal-grid{gap:14px}.gal-grid figure:nth-child(n+3){display:none}footer{padding-top:52px;margin-top:64px}}@media(max-width:660px){.btn-row{flex-direction:column}.btn-row .btn{width:100%}}@media(max-width:400px){.stat b{font-size:1.7rem}.btn{padding:14px 22px;font-size:.9rem}}@media(max-width:660px){body{padding-bottom:calc(56px+env(safe-area-inset-bottom))}.mobar a{padding-bottom:calc(15px+env(safe-area-inset-bottom))}.float{bottom:calc(78px+env(safe-area-inset-bottom))}}:focus-visible{outline:3px solid var(--ice);outline-offset:2px;border-radius:4px}.has-dropdown{position:relative;display:inline-flex;align-items:center}.dd-toggle{background:none;border:0;font:inherit;font-weight:600;font-size:.93rem;color:var(--ink);cursor:pointer;padding:6px 0;display:flex;align-items:center;gap:5px}.dd-toggle .dd-caret{width:9px;height:9px;flex:none;transition:transform .2s}.has-dropdown.open .dd-toggle .dd-caret,.has-dropdown:hover .dd-toggle .dd-caret{transform:rotate(180deg)}.dropdown-panel{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#fff;border-radius:12px;box-shadow:0 18px 40px rgba(20,30,77,.16);padding:8px;min-width:200px;max-height:70vh;overflow-y:auto;display:none;flex-direction:column;gap:2px;z-index:120;margin-top:14px}.dropdown-panel a{padding:10px 14px;border-radius:8px;font-size:.88rem;font-weight:600;color:var(--ink);white-space:nowrap}.dropdown-group-label{padding:10px 14px 4px;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--slate);opacity:.7}.dropdown-group-label:first-child{padding-top:2px}.dropdown-panel a::after{display:none}.dropdown-panel a:hover{background:var(--pearl,#F3F6FA);color:var(--blue)}.has-dropdown:hover .dropdown-panel,.has-dropdown.open .dropdown-panel{display:flex}@media(max-width:1200px){.has-dropdown{display:flex;flex-direction:column;align-items:stretch;width:100%}.dd-toggle{width:100%;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line)}.dropdown-panel{position:static;transform:none;box-shadow:none;background:var(--pearl-2);display:none;margin:0 0 6px;padding:4px 0 4px 14px;border-radius:0}.has-dropdown:hover .dropdown-panel{display:none}.has-dropdown.open .dropdown-panel{display:flex}.dropdown-panel a{padding:12px 0;border-bottom:1px dashed var(--line)}.dropdown-panel a:last-child{border-bottom:0}}.area-link-grid{margin-top:28px}.area-link-grid a{display:inline-block;padding:9px 16px;border-radius:999px;background:#fff;border:1px solid var(--line,#E2E8F0);font-size:.84rem;font-weight:600;color:var(--ink);transition:.2s}.area-link-grid a::after{display:none}.area-link-grid a:hover{background:var(--blue);color:#fff;border-color:var(--blue)}.scroll-top{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--navy,#141E4D);color:#fff;border:0;cursor:pointer;box-shadow:0 10px 26px rgba(0,0,0,.24);opacity:0;pointer-events:none;transform:translateY(12px) scale(.9);transition:opacity .32s var(--ease,ease),transform .4s var(--ease,ease),background .3s var(--ease,ease)}.scroll-top.show{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.scroll-top.show:hover,.scroll-top.show:focus-visible{background:var(--blue,#2C6FE0);transform:scale(1.12) translateY(-2px)}.scroll-top:focus-visible{outline:2px solid var(--blue,#2C6FE0);outline-offset:3px}.scroll-top svg{display:block}@media(max-width:660px){.scroll-top{width:46px;height:46px}.scroll-top svg{width:19px;height:19px}}.hero-photo-bg{position:absolute;inset:0;z-index:0;overflow:hidden}.hero-photo-bg img{width:100%;height:100%;object-fit:cover;object-position:center 38%;animation:heroPhotoDrift 22s var(--ease) infinite alternate;will-change:transform}.hero-photo-overlay{position:absolute;inset:0;background:linear-gradient(115deg,rgba(6,26,48,.90) 0%,rgba(14,22,64,.84) 38%,rgba(24,36,96,.62) 70%,rgba(38,54,150,.38) 100%)}@keyframes heroPhotoDrift{0%{transform:scale(1.03) translate(0,0)}100%{transform:scale(1.09) translate(-1.6%,-1.2%)}}@media(prefers-reduced-motion:reduce){.hero-photo-bg img{animation:none}}.hero-snow-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.hero .wrap{z-index:2}@media(prefers-reduced-motion:reduce){.hero-snow-canvas{display:none}}.cs-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:44px;align-items:start}.cs-main{min-width:0}.cs-main .sec{padding:0 0 56px}.cs-main .sec:last-child{padding-bottom:0}.cs-main .wrap{padding:0;max-width:none}.cs-sidebar{position:sticky;top:110px;display:flex;flex-direction:column;gap:20px}.cs-widget{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-s)}.cs-widget h4{font-size:.95rem;font-weight:800;color:var(--navy);margin-bottom:14px}.cs-widget-quote{background:var(--navy);border:none}.cs-widget-quote h4{color:#fff}.cs-widget-quote p{color:#B4D0E4;font-size:.85rem;margin-bottom:16px}.cs-widget-quote .btn{width:100%;justify-content:center}.cs-widget ul{list-style:none;display:flex;flex-direction:column;gap:2px}.cs-widget ul a{display:block;padding:9px 0;font-size:.87rem;font-weight:600;color:var(--body);border-bottom:1px solid var(--line)}.cs-widget ul li:last-child a{border-bottom:0}.cs-widget ul a:hover{color:var(--blue)}.cs-widget-badges div{display:flex;align-items:center;gap:10px;font-size:.85rem;font-weight:600;color:var(--body);padding:7px 0}.cs-widget-badges svg{flex:none;color:var(--blue)}@media(max-width:1040px){.cs-grid{grid-template-columns:1fr}.cs-sidebar{position:static;flex-direction:row;flex-wrap:wrap}.cs-widget{flex:1;min-width:240px}}@media(max-width:660px){.cs-sidebar{flex-direction:column}}.has-mega{position:static}.mega-panel{left:50%;transform:translateX(-50%);width:min(1080px,calc(100vw - 48px));max-width:none;display:none;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px 18px;padding:26px 28px 20px;max-height:none;overflow:visible}.has-dropdown.has-mega:hover .mega-panel,.has-dropdown.has-mega.open .mega-panel{display:grid}.mega-col{display:flex;flex-direction:column;gap:1px;min-width:0}.mega-col-title{display:block;font-size:.66rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--col-accent);padding:0 0 8px;margin-bottom:5px;border-bottom:2px solid var(--col-accent)}.mega-panel a{padding:7px 8px;border-radius:7px;font-size:.79rem;font-weight:600;line-height:1.3;color:var(--body);white-space:normal}.mega-panel a:hover{background:var(--pearl,#F3F6FA);color:var(--col-accent,var(--blue))}.mega-all{grid-column:1/-1;margin-top:14px;padding-top:14px!important;border-top:1px solid var(--line);text-align:center;font-size:.83rem!important;font-weight:700!important;color:var(--blue)!important}@media(max-width:1200px){.mega-panel{grid-template-columns:repeat(3,minmax(0,1fr));width:min(760px,calc(100vw - 40px))}}@media(max-width:1200px){.has-mega{position:relative}.mega-panel{position:static;transform:none;width:auto;grid-template-columns:1fr;gap:0;padding:4px 0 4px 14px;max-height:60vh;overflow-y:auto}.has-dropdown.has-mega:hover .mega-panel{display:none}.has-dropdown.has-mega.open .mega-panel{display:grid}.mega-col{margin-bottom:10px}.mega-col-title{padding-top:10px}}.post-hero-img{width:100%;height:auto;border-radius:var(--radius);margin-bottom:28px}.post-body{font-size:1rem;line-height:1.75;color:var(--body)}.post-body h2{font-family:var(--serif);font-size:1.35rem;color:var(--navy);margin:34px 0 12px}.post-body p{margin-bottom:16px}.post-body ul{margin:0 0 18px 20px;display:flex;flex-direction:column;gap:8px}.post-body strong{color:var(--navy)}.post-cta{margin-top:38px;padding:26px;background:var(--pearl);border:1px solid var(--line);border-radius:var(--radius)}.post-cta h3{font-size:1.1rem;color:var(--navy);margin-bottom:8px}.post-cta p{margin:0;font-size:.92rem}.post-prev-next{display:flex;justify-content:space-between;gap:18px;margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}.pn-link{font-size:.86rem;font-weight:700;color:var(--blue);max-width:46%}.pn-next{text-align:right;margin-left:auto}.blog-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-s);margin-bottom:30px;text-decoration:none}.blog-feature img{width:100%;height:100%;min-height:280px;object-fit:cover;display:block}.blog-feature-body{padding:32px;display:flex;flex-direction:column;justify-content:center}.blog-feature-body h2{font-family:var(--serif);font-size:1.5rem;color:var(--navy);margin:10px 0 12px;line-height:1.25}.blog-feature-body p{color:var(--body);font-size:.95rem;line-height:1.6}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.blog-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-s);text-decoration:none;display:flex;flex-direction:column;transition:.25s}.blog-card:hover,.blog-feature:hover{transform:translateY(-3px);box-shadow:var(--shadow-m)}.blog-card img{width:100%;height:190px;object-fit:cover;display:block}.blog-card-body{padding:22px;display:flex;flex-direction:column;flex:1}.blog-card-body h3{font-size:1.03rem;color:var(--navy);margin:10px 0 9px;line-height:1.32}.blog-card-body p{font-size:.88rem;color:var(--body);line-height:1.55;flex:1}.blog-cat{display:inline-block;align-self:flex-start;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);background:rgba(44,111,224,.09);padding:5px 11px;border-radius:999px}.blog-more{margin-top:14px;font-size:.85rem;font-weight:700;color:var(--blue)}@media(max-width:860px){.blog-feature{grid-template-columns:1fr}.blog-feature img{min-height:210px}.blog-feature-body{padding:24px}}.dropdown-panel.mega-panel{align-items:start}.dropdown-panel.mega-panel a{white-space:normal;overflow-wrap:anywhere;hyphens:none}.dropdown-panel.mega-panel .mega-col{min-width:0;align-content:start}.mega-col-title{min-height:2.4em;display:flex;align-items:flex-end}nav.menu a,.dd-toggle{color:var(--muted);transition:color .22s var(--ease)}nav.menu a:hover,nav.menu a:focus-visible,.dd-toggle:hover,.dd-toggle:focus-visible,.has-dropdown:hover>.dd-toggle,.has-dropdown.open>.dd-toggle{color:var(--navy)}.dropdown-panel a{color:var(--muted);transition:color .18s var(--ease),background .18s var(--ease)}.dropdown-panel a:hover,.dropdown-panel a:focus-visible{color:var(--navy);background:var(--pearl,#F3F6FA)}.dropdown-panel.mega-panel a{color:var(--muted)}.dropdown-panel.mega-panel a:hover,.dropdown-panel.mega-panel a:focus-visible{color:var(--navy)}:root{--serif:"Playfair Display","Plus Jakarta Sans",Georgia,serif}.hero h1,.sec h2,.cat h3{letter-spacing:-.015em}.hero h1{font-weight:600}.sec h2{font-weight:600}.contact-banner{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:var(--navy);overflow:hidden}.contact-banner-copy{display:flex;align-items:center;justify-content:flex-end;padding:clamp(40px,5vw,76px) clamp(26px,3.4vw,54px)}.contact-banner-inner{max-width:500px;width:100%}.contact-banner .eyebrow{color:#9FD4EE;background:rgba(159,212,238,.12);border-color:rgba(159,212,238,.28)}.contact-banner h2{font-family:var(--serif);color:#fff;font-size:clamp(1.55rem,2.8vw,2.2rem);line-height:1.13;margin-top:12px;text-wrap:balance}.contact-banner p{color:#C7DCEC;margin-top:14px;font-size:.98rem;line-height:1.66;max-width:44ch}.contact-banner-media{position:relative;min-height:330px}.contact-banner-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%}.contact-banner-media::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--navy) 0%,rgba(20,30,77,0) 16%)}@media(max-width:900px){.contact-banner{grid-template-columns:1fr}.contact-banner-copy{justify-content:flex-start;padding:34px clamp(20px,5vw,32px) 28px}.contact-banner-inner{max-width:none}.contact-banner-media{min-height:0;height:230px}.contact-banner-media::before{background:linear-gradient(180deg,var(--navy) 0%,rgba(20,30,77,0) 18%)}}.page-banner{position:relative;width:100%;height:clamp(190px,24vw,300px);overflow:hidden;isolation:isolate;margin-top:-8px}.page-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;z-index:0;animation:pbDrift 26s var(--ease) infinite alternate;will-change:transform}@keyframes pbDrift{0%{transform:scale(1.02)}100%{transform:scale(1.06) translateY(-1%)}}@media(prefers-reduced-motion:reduce){.page-banner img{animation:none}}.page-banner::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(8,20,46,.62) 0%,rgba(8,20,46,.22) 34%,transparent 62%)}.page-banner-cap{position:absolute;left:0;right:0;bottom:16px;z-index:2;max-width:1180px;margin:0 auto;padding:0 clamp(18px,5vw,52px);font-size:.74rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.86)}@media(max-width:640px){.page-banner{height:170px}.page-banner-cap{font-size:.66rem;bottom:12px}}.tool-band{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:var(--pearl);overflow:hidden}.tool-band-copy{display:flex;align-items:center;justify-content:flex-end;padding:clamp(44px,5.4vw,84px) clamp(28px,3.6vw,58px)}.tool-band-inner{max-width:520px;width:100%}.tool-band-inner h2{font-family:var(--serif);font-size:clamp(1.6rem,2.9vw,2.3rem);line-height:1.12;letter-spacing:-.015em;color:var(--navy);margin-top:12px;text-wrap:balance}.tool-band-inner p{margin-top:16px;color:var(--body);font-size:1rem;line-height:1.68;max-width:46ch}.tool-band-list{list-style:none;margin-top:22px;display:flex;flex-direction:column;gap:11px}.tool-band-list li{position:relative;padding-left:28px;font-size:.92rem;line-height:1.5;color:var(--body);font-weight:500}.tool-band-list li::before{content:"";position:absolute;left:0;top:.42em;width:15px;height:15px;border-radius:50%;background:var(--blue);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round' d='m5 12.5 4.5 4.5L19 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round' d='m5 12.5 4.5 4.5L19 7'/%3E%3C/svg%3E") center/contain no-repeat}.tool-band-media{position:relative;min-height:340px}.tool-band-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center}.tool-band-media::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--pearl) 0%,rgba(238,243,248,0) 14%)}@media(max-width:900px){.tool-band{grid-template-columns:1fr}.tool-band-copy{justify-content:flex-start;padding:38px clamp(20px,5vw,34px) 30px}.tool-band-inner{max-width:none}.tool-band-media{min-height:0;height:250px}.tool-band-media::before{background:linear-gradient(180deg,var(--pearl) 0%,rgba(238,243,248,0) 16%)}}.toolkit-strip{padding:70px 0 0;background:var(--pearl);text-align:center}.toolkit-strip img{display:block;width:100%;max-width:1180px;height:auto;margin:0 auto;mix-blend-mode:multiply}@media(max-width:660px){.toolkit-strip{padding-top:48px}}#siteSnow{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.62}section,footer,.hero{position:relative}section,footer,.hero{z-index:1}header.nav{z-index:80}.float{z-index:90}#siteSnow{display:block}@media(max-width:700px){#siteSnow{display:none}}@media(prefers-reduced-motion:reduce){#siteSnow{display:none}}header.nav .wrap{min-width:0;overflow:visible}nav.menu{min-width:0}.nav-ctas{flex:none;margin-left:0}.logo img{height:58px;border-radius:0;mix-blend-mode:multiply;transition:opacity .25s var(--ease)}.logo:hover img{opacity:.86}.nav .btn{gap:8px}.nav .btn svg{flex:none}@media(max-width:1460px){nav.menu{gap:19px;font-size:.885rem}.nav .wrap{gap:16px}.nav .btn{padding:11px 17px;font-size:.84rem}.logo img{height:52px}}@media(max-width:1330px){.nav .btn .btn-label{display:none}.nav .btn{width:46px;height:46px;padding:0;border-radius:50%;gap:0}.nav-ctas{gap:8px}nav.menu{gap:16px;font-size:.85rem}}@media(max-width:1180px){nav.menu{gap:13px;font-size:.82rem}.logo img{height:48px}}@media(max-width:1080px){.nav .btn{width:42px;height:42px}}@media(max-width:660px){.logo img{height:44px}.nav .btn{width:40px;height:40px}}.page-banner img[src*="banner-gauges"]{object-position:center 38%}.page-banner img[src*="banner-flaretools"]{object-position:center 46%}html,body{max-width:100%;overflow-x:clip}img,video,iframe,svg,canvas{max-width:100%}img{height:auto}.page-banner img,.tool-band-media img,.hero-photo-bg img,.contact-banner img{height:100%}p,li,td,h1,h2,h3,h4,a{overflow-wrap:break-word}@media(min-width:661px) and (max-width:1040px){.grid.g3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:660px){.grid.g2,.grid.g3,.grid.g4{grid-template-columns:1fr}}@media(hover:none){.btn,.float a,.float button,nav.menu a,.dd-toggle{min-height:44px}.dropdown-panel a{min-height:42px;display:flex;align-items:center}}table{width:100%;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:768px){input,select,textarea{font-size:16px}}@supports(padding:max(0px)){.wrap{padding-left:max(var(--pad),env(safe-area-inset-left));padding-right:max(var(--pad),env(safe-area-inset-right))}.float{bottom:max(18px,env(safe-area-inset-bottom))}}.foot-h{font-size:.95rem;font-weight:800;letter-spacing:.01em;margin-bottom:14px;color:#fff}.cs-h{font-size:.95rem;font-weight:800;color:var(--navy);margin-bottom:14px}.cs-widget-quote .cs-h{color:#fff}.skip-link{position:absolute;left:-9999px;top:0;z-index:300;background:var(--navy);color:#fff;padding:12px 20px;border-radius:0 0 10px 0;font-size:.9rem;font-weight:700;text-decoration:none}.skip-link:focus{left:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}#main:focus{outline:none}.nav .wrap{max-width:1440px;gap:18px}nav.menu{min-width:auto;flex-shrink:0;gap:22px;font-size:.9rem}@media(max-width:1500px){nav.menu{gap:18px;font-size:.87rem}.nav .wrap{gap:14px}.nav .btn .btn-label{display:none}.nav .btn{width:46px;height:46px;padding:0;border-radius:50%;gap:0}.nav-ctas{gap:8px}}@media(max-width:1280px){nav.menu{gap:15px;font-size:.845rem}.logo img{height:50px}}@media(max-width:1200px){.nav .wrap{max-width:var(--max)}}.hero{min-height:100svh;display:flex;align-items:center;padding:0;overflow:hidden}.hero-photo-bg{position:absolute;inset:0;z-index:0}.hero-photo-bg img{width:100%;height:100%;object-fit:cover;object-position:center 42%}.hero-photo-overlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,16,44,.92) 0%,rgba(10,20,54,.84) 34%,rgba(14,26,70,.46) 62%,rgba(18,32,86,.20) 100%),linear-gradient(to top,rgba(8,16,44,.55) 0%,transparent 42%)}.hero .wrap{position:relative;z-index:2;display:block;max-width:1440px;width:100%;padding-top:clamp(70px,10vh,120px);padding-bottom:clamp(60px,9vh,110px)}.hero .wrap>div:first-child{max-width:660px}.hero-price-badge small{font-size:.78rem;color:#C9D2EE;letter-spacing:.04em;text-transform:uppercase}.hero-price-badge b{font-family:var(--serif);font-size:1.35rem;color:#fff}.hero h1{max-width:14ch}.hero .lead{max-width:56ch}.hero-usp{margin-top:30px}@media(max-width:1040px){.hero .wrap{max-width:var(--max);display:block}.hero .wrap>div:first-child{max-width:none}.hero-photo-overlay{background:linear-gradient(180deg,rgba(8,16,44,.88) 0%,rgba(10,20,54,.80) 55%,rgba(14,26,70,.72) 100%)}}@media(max-width:660px){.hero{min-height:auto;padding:0}.hero .wrap{padding-top:64px;padding-bottom:56px}.hero h1{max-width:none}}@media(max-width:1200px){body.home .hero{margin-top:-78px}}.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:0}.hero-grain{position:absolute;inset:0;opacity:.14;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}.hero .wrap{position:relative;z-index:3;max-width:1440px;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:end;padding-top:clamp(120px,16vh,180px);padding-bottom:clamp(22px,4vh,40px)}.hero-copy{max-width:720px}.hero h1{font-family:var(--serif);color:#fff;font-weight:600;font-size:clamp(2.5rem,6.6vw,5.1rem);line-height:.98;letter-spacing:-.02em;margin:18px 0 0}.hero h1 em{font-style:italic;color:rgba(255,255,255,.62)}.hero .line{display:block;overflow:hidden}.hero .line>span{display:block;transform:translateY(105%);animation:heroLine 1.2s var(--ease) forwards}@keyframes heroLine{to{transform:translateY(0)}}.hero-lede-row{display:flex;align-items:flex-start;gap:22px;margin-top:30px}.hero-hairline{flex:none;height:1px;width:56px;margin-top:11px;background:linear-gradient(90deg,rgba(255,255,255,.55),rgba(255,255,255,0))}.hero .lead{color:rgba(255,255,255,.68);font-size:1rem;line-height:1.68;max-width:52ch;margin:0}.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.hero-rise{opacity:0;transform:translateY(24px);animation:heroRise 1.05s var(--ease) forwards}@keyframes heroRise{to{opacity:1;transform:translateY(0)}}.d1{animation-delay:.12s}.d4{animation-delay:.62s}.d5{animation-delay:.76s}.d6{animation-delay:.9s}.hero-cards{display:flex;flex-direction:column;gap:12px;align-self:end;justify-self:end}.hero-card{background:rgba(255,255,255,.06);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:18px 22px;min-width:206px}.hc-label{display:block;font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.46)}.hc-value{display:block;font-family:var(--serif);font-size:1.75rem;color:#fff;line-height:1;margin-top:9px}.hc-value span{font-size:1rem;color:rgba(255,255,255,.5)}.hc-sub{display:block;font-size:.76rem;color:rgba(255,255,255,.5);margin-top:8px}.hero-usp{position:relative;z-index:3;display:flex;flex-wrap:wrap;gap:14px 30px;max-width:1440px;width:100%;margin:0 auto;padding:0 22px clamp(58px,8vh,80px)}.hero-usp div{display:flex;align-items:center;gap:9px;font-size:.83rem;font-weight:500;color:rgba(255,255,255,.72)}.hero-usp svg{color:var(--ice-lt);flex:none}.hero-index{position:absolute;left:max(22px,calc((100vw - 1440px)/2+22px));bottom:26px;z-index:3;display:flex;align-items:center;gap:14px;font-size:.72rem;letter-spacing:.24em;color:rgba(255,255,255,.8);font-variant-numeric:tabular-nums}.hero-index .dim{color:rgba(255,255,255,.38);text-transform:uppercase}.hero-index .hero-hairline{width:46px;margin:0}.hero-lens{position:absolute;--lens:200px;width:var(--lens);height:var(--lens);border-radius:50%;left:50%;top:50%;margin:calc(var(--lens)/-2) 0 0 calc(var(--lens)/-2);overflow:hidden;pointer-events:none;z-index:2;box-shadow:inset 0 0 0 1px rgba(255,255,255,.32),inset 0 14px 30px rgba(255,255,255,.12),inset 0 -14px 30px rgba(0,0,0,.3),0 30px 70px rgba(0,0,0,.42);will-change:transform}.hero-lens::before{content:"";position:absolute;inset:0;background-image:url('../../images/hero-snow-bg.webp');background-size:var(--bgw) var(--bgh);background-position:var(--bgx) var(--bgy);filter:saturate(1.1) contrast(1.05)}.hero-lens::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.2),transparent 46%),radial-gradient(circle at 78% 76%,rgba(140,200,255,.15),transparent 52%);box-shadow:inset 0 0 22px rgba(170,215,255,.16)}.hero-lens-ring{position:absolute;--lens:200px;left:50%;top:50%;width:calc(var(--lens)+34px);height:calc(var(--lens)+34px);margin:calc((var(--lens)+34px)/-2) 0 0 calc((var(--lens)+34px)/-2);border-radius:50%;border:1px solid rgba(255,255,255,.15);pointer-events:none;z-index:2;animation:heroRing 4.5s var(--ease) infinite}@keyframes heroRing{0%,100%{transform:scale(1);opacity:.5}50%{transform:scale(1.045);opacity:.9}}@media(max-width:1040px){.hero .wrap{grid-template-columns:1fr;gap:34px;align-items:start}.hero-cards{flex-direction:row;justify-self:start;flex-wrap:wrap}.hero-card{flex:1;min-width:180px}}@media(max-width:660px){.hero{min-height:auto}.hero .wrap{padding-top:112px;padding-bottom:26px}.hero-lede-row{gap:0}.hero-hairline{display:none}.hero-index{display:none}.hero-usp{gap:12px 20px;padding-bottom:46px}}@media(prefers-reduced-motion:reduce){.hero-rise,.hero .line>span{animation-duration:.01ms}.hero-lens-ring{animation:none}}.logo{position:relative;display:block}.logo img{mix-blend-mode:normal;filter:none;transition:opacity .4s var(--ease)}body.home .logo::after{content:"";position:absolute;inset:0;background:url('../../images/logo-white.webp') left center/contain no-repeat;opacity:1;transition:opacity .4s var(--ease);pointer-events:none}body.home .logo img{opacity:0}body.home header.nav.scrolled .logo::after{opacity:0}body.home header.nav.scrolled .logo img{opacity:1}.hero h1{font-size:clamp(2.2rem,5.4vw,4.4rem);max-width:15ch;word-break:normal;hyphens:none}@media(max-width:1400px){.hero h1{font-size:clamp(2.1rem,5vw,3.8rem)}}@media(max-width:900px){.hero h1{font-size:clamp(2rem,7vw,3rem);max-width:none}}.hero-lens,.hero-lens-ring{left:50%;right:auto;top:50%}.has-browse{position:static}.browse-panel{display:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 30px;left:50%;transform:translateX(-50%);width:min(1020px,calc(100vw - 40px));max-width:none;max-height:none;overflow:visible;padding:26px 28px 22px;border-radius:16px}.has-dropdown.has-browse:hover .browse-panel,.has-dropdown.has-browse.open .browse-panel{display:grid}.browse-col{display:flex;flex-direction:column;gap:1px;min-width:0}.browse-col .dropdown-group-label{padding:0 0 7px;margin-bottom:6px;border-bottom:1.5px solid rgba(20,30,77,.10)}.browse-col .dropdown-group-label:not(:first-child){margin-top:16px}.browse-panel a{padding:6px 8px 6px 10px;border-radius:6px;font-size:.815rem;font-weight:500;line-height:1.34;color:var(--muted);white-space:normal}.browse-panel a:hover{color:var(--navy);background:rgba(20,30,77,.035)}.browse-all{margin-top:8px;font-weight:700!important;color:var(--blue)!important;font-size:.78rem!important}@media(max-width:1200px){.has-browse{position:relative}.browse-panel{position:static;transform:none;width:auto;grid-template-columns:1fr;gap:0;padding:4px 0 4px 14px;max-height:62vh;overflow-y:auto;box-shadow:none;border:0}.has-dropdown.has-browse:hover .browse-panel{display:none}.has-dropdown.has-browse.open .browse-panel{display:grid}.browse-col{margin-bottom:10px}}body.home header.nav{position:absolute;top:0;left:0;right:0;z-index:60;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom:0!important;box-shadow:none!important;transition:background .4s var(--ease),backdrop-filter .4s var(--ease)}body.home header.nav nav.menu a,body.home header.nav .dd-toggle{color:rgba(255,255,255,.78)!important}body.home header.nav nav.menu a:hover,body.home header.nav .dd-toggle:hover,body.home header.nav .has-dropdown:hover>.dd-toggle{color:#fff!important}body.home header.nav.scrolled{position:fixed;top:0;background:rgba(251,251,249,.94)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;border-bottom:1px solid var(--line)!important;box-shadow:0 1px 0 rgba(20,30,77,.06)!important}body.home header.nav.scrolled nav.menu a,body.home header.nav.scrolled .dd-toggle{color:var(--muted)!important}body.home header.nav.scrolled nav.menu a:hover,body.home header.nav.scrolled .dd-toggle:hover{color:var(--navy)!important}body.home .dropdown-panel a,body.home .browse-panel a,body.home .mega-panel a{color:var(--muted)!important}body.home .dropdown-panel a:hover,body.home .browse-panel a:hover,body.home .mega-panel a:hover{color:var(--navy)!important}body.home .logo{background:transparent;box-shadow:none;border-radius:0}body.home .logo::after{content:"";position:absolute;inset:0;background:url('../../images/logo-white.webp') left center/contain no-repeat;opacity:1;transition:opacity .4s var(--ease);pointer-events:none}body.home .logo img{opacity:0;transition:opacity .4s var(--ease)}body.home header.nav.scrolled .logo::after{opacity:0}body.home header.nav.scrolled .logo img{opacity:1}body.home .hero{margin-top:0;padding-top:0}body.home .hero .wrap{padding-top:clamp(150px,20vh,210px)}@media(max-width:768px){body.home header.nav{position:sticky;top:0}body.home .hero .wrap{padding-top:56px}}.stat b.count{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}@media(max-width:1200px){body.home header.nav{position:sticky;top:0;margin-top:0;background:rgba(251,251,249,.94)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;border-bottom:1px solid var(--line)!important}body.home header.nav nav.menu a,body.home header.nav .dd-toggle{color:var(--muted)!important}body.home header.nav nav.menu a:hover,body.home header.nav .dd-toggle:hover{color:var(--navy)!important}body.home .logo::after{display:none}body.home .logo img{opacity:1}body.home .hero{margin-top:0}body.home .hero .wrap{padding-top:clamp(48px,8vh,80px)}}@media(max-width:660px){.float a{display:none}.float{bottom:calc(74px+env(safe-area-inset-bottom,0px))!important;right:14px;gap:0}.float .scroll-top{display:grid}.mobar{box-shadow:0 -2px 18px rgba(20,30,77,.14)}.mobar a{min-height:56px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.92rem}body{padding-bottom:0}}@media(max-width:1200px){nav.menu{padding:10px 20px 26px;gap:0}nav.menu a{padding:14px 2px;font-size:1rem;font-weight:600;color:var(--navy)!important;border-bottom:1px solid var(--line);display:flex;align-items:center;min-height:50px}nav.menu a:active{background:var(--pearl)}nav.menu .dd-toggle{width:100%;justify-content:space-between;padding:14px 2px;min-height:50px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)!important;border-bottom:1px solid var(--line)}nav.menu .has-dropdown.open .dd-toggle{color:var(--navy)!important}.dropdown-panel a,.browse-panel a,.mega-panel a{padding:12px 2px 12px 16px!important;font-size:.9rem!important;font-weight:500!important;min-height:46px;border-bottom:1px dashed var(--line)!important}.browse-col .dropdown-group-label,.mega-col-title{padding:14px 2px 6px!important;font-size:.63rem!important;border-bottom:0!important}nav.menu{max-height:calc(100dvh - 92px)}}.hero-card-wx .hc-label{display:flex;align-items:center;gap:7px}.wx-dot{width:6px;height:6px;border-radius:50%;background:var(--ice-lt);box-shadow:0 0 0 0 rgba(255,255,255,.5);animation:wxPulse 2.6s ease-out infinite}@keyframes wxPulse{70%{box-shadow:0 0 0 7px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}.wx-unit{font-size:1rem;color:rgba(255,255,255,.5);margin-left:2px}.wx-rows{margin-top:12px;padding-top:11px;border-top:1px solid rgba(255,255,255,.13);display:flex;flex-direction:column;gap:6px}.wx-rows div{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.wx-k{font-size:.72rem;color:rgba(255,255,255,.5)}.wx-v{font-size:.8rem;font-weight:600;color:rgba(255,255,255,.9);font-variant-numeric:tabular-nums;text-align:right}.hero-card-wx.is-loading .wx-v,.hero-card-wx.is-loading .hc-value{opacity:.45}.wx-v[data-band="good"]{color:#7BE0A8}.wx-v[data-band="fair"]{color:#B7E88B}.wx-v[data-band="moderate"]{color:#FFD98A}.wx-v[data-band="poor"]{color:#FFB27A}.wx-v[data-band="very-poor"]{color:#FF9A9A}@media(max-width:1040px){.hero-card-wx{min-width:200px}}.hero-card-wx.is-stale .hc-value,.hero-card-wx.is-stale .wx-v{opacity:.8}@media(max-width:660px){.mobar{grid-template-columns:1fr 1fr!important}.float{bottom:calc(78px+env(safe-area-inset-bottom,0px))!important;right:16px!important}.float .scroll-top{width:48px;height:48px;box-shadow:0 8px 22px rgba(8,16,44,.4)}}@media(max-width:1200px){body.home header.nav{position:absolute!important;left:0;right:0;z-index:60;margin-top:0;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom:0!important;box-shadow:none!important}body.home header.nav .logo::after{display:block}body.home header.nav .logo img{opacity:0}body.home header.nav .burger span{background:#fff}body.home header.nav.scrolled{position:fixed!important;top:0;background:rgba(251,251,249,.96)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;border-bottom:1px solid var(--line)!important}body.home header.nav.scrolled .logo::after{display:none}body.home header.nav.scrolled .logo img{opacity:1}body.home header.nav.scrolled .burger span{background:var(--navy)}body.home .hero .wrap{padding-top:clamp(150px,22vh,220px)}nav.menu{background:rgba(10,18,44,.97)!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:14px 20px 30px!important;border-top:1px solid rgba(255,255,255,.08);box-shadow:0 24px 50px rgba(0,0,0,.4);max-height:calc(100dvh - 92px)}nav.menu a{color:rgba(255,255,255,.86)!important;font-size:.98rem!important;font-weight:500!important;padding:15px 2px!important;min-height:52px;border-bottom:1px solid rgba(255,255,255,.09)!important;text-align:left!important;justify-content:flex-start!important}nav.menu a:active{background:rgba(255,255,255,.06)}nav.menu .dd-toggle{color:rgba(255,255,255,.52)!important;font-size:.68rem!important;letter-spacing:.16em;text-transform:uppercase;font-weight:700!important;padding:16px 2px!important;min-height:52px;border-bottom:1px solid rgba(255,255,255,.09)!important}nav.menu .has-dropdown.open .dd-toggle{color:#fff!important}nav.menu .dd-caret{color:rgba(255,255,255,.45)}.dropdown-panel,.browse-panel,.mega-panel{background:transparent!important;box-shadow:none!important;border:0!important;padding:2px 0 8px 14px!important}.dropdown-panel a,.browse-panel a,.mega-panel a{color:rgba(255,255,255,.7)!important;font-size:.9rem!important;font-weight:400!important;padding:12px 2px!important;min-height:46px;border-bottom:1px solid rgba(255,255,255,.06)!important}.browse-col .dropdown-group-label,.mega-col-title{color:rgba(255,255,255,.38)!important;font-size:.62rem!important;letter-spacing:.16em;padding:16px 2px 6px!important;border-bottom:0!important}.browse-all,.mega-all{color:var(--ice-lt)!important;font-weight:600!important}}@media(max-width:660px){.btn{width:100%;min-height:52px;padding:0 22px!important;font-size:.94rem!important;line-height:1.2;white-space:normal;text-align:center}.hero-cta,.actions,.contact-banner-inner>div,.post-cta>div,.tool-band-inner .btn{display:flex;flex-direction:column;gap:10px;width:100%}.hero-cta .btn,.contact-banner-inner .btn{margin:0}.btn-num{display:none}.nav .btn,.float a,.float button{width:auto;min-height:0;padding:0!important}.nav .btn{width:40px;height:40px}.float .scroll-top{width:48px!important;height:48px!important;min-height:0;padding:0!important;border-radius:50%}}@media(max-width:400px){.btn{min-height:48px;padding:0 16px!important;font-size:.88rem!important}}.wa-book{min-height:38px;align-items:center}@media(hover:none),(max-width:900px){.wa-book{min-height:44px;padding:9px 15px 9px 12px;font-size:.78rem}}@media(min-width:1361px){.nav .btn{width:auto;height:auto;padding:11px 20px;border-radius:99px;gap:8px}.nav .btn .btn-label{display:inline}}@media(max-width:1360px){.nav .btn{width:46px;height:46px;padding:0;border-radius:50%;gap:0}.nav .btn .btn-label{display:none}}.scroll-top,.float .scroll-top{width:52px;height:52px}@media(max-width:660px){.scroll-top,.float .scroll-top{width:48px!important;height:48px!important}}.float a{width:56px;height:56px}@media(max-width:660px){.float a{width:52px;height:52px}}@media(hover:none){.btn,.mobar a,.wa-book,.nav .btn,.float a,.float button,nav.menu a,.dd-toggle,.dropdown-panel a{min-height:44px}.burger{min-width:44px;min-height:44px;display:grid;place-items:center}}.wx-ask{margin-top:12px;padding-top:11px;border-top:1px solid rgba(255,255,255,.13)}.wx-ask p{font-size:.73rem;line-height:1.5;color:rgba(255,255,255,.62);margin:0 0 10px}.wx-allow{width:100%;padding:10px 14px;border:1px solid rgba(255,255,255,.26);border-radius:99px;background:rgba(255,255,255,.10);color:#fff;font:inherit;font-size:.76rem;font-weight:600;letter-spacing:.04em;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 0 0 0 rgba(255,255,255,.22),inset 0 1px 0 rgba(255,255,255,.22);transition:background .3s var(--ease),box-shadow .3s var(--ease),transform .3s var(--ease)}.wx-allow:hover,.wx-allow:focus-visible{background:rgba(255,255,255,.19);transform:translateY(-1px);box-shadow:0 6px 20px rgba(255,255,255,.14),inset 0 1px 0 rgba(255,255,255,.3)}.wx-allow:active{transform:translateY(0)}.wx-allow[disabled]{opacity:.55;cursor:default;transform:none}.hero-card{padding:11px 15px;min-width:174px;border-radius:13px}.hc-label{font-size:.55rem;letter-spacing:.2em}.hc-value{font-size:1.28rem;margin-top:5px}.hc-value span{font-size:.8rem}.hc-sub{font-size:.66rem;margin-top:5px;line-height:1.35}.hero-cards{gap:9px}.hero-card-wx .wx-rows{margin-top:8px;padding-top:8px;gap:4px}.hero-card-wx .wx-k,.hero-card-wx .wx-v{font-size:.68rem}.hero-card-wx .wx-ask{margin-top:8px;padding-top:8px}.hero-card-wx .wx-ask p{font-size:.66rem;margin-bottom:7px}.hero-card-wx .wx-allow{padding:7px 12px;font-size:.7rem}@media(max-width:1040px){.hero-card{min-width:150px;flex:1}}.quote-wrap{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);gap:26px;align-items:stretch}.quote-visual{position:relative;margin:0;border-radius:20px;overflow:hidden;box-shadow:var(--shadow-lg);min-height:100%}.quote-visual img{width:100%;height:100%;object-fit:cover;display:block}.quote-visual figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 22px 18px;font-size:.86rem;line-height:1.45;color:rgba(255,255,255,.82);background:linear-gradient(transparent,rgba(6,16,40,.86) 55%)}.quote-visual figcaption strong{color:#fff;font-weight:700}@media(max-width:1040px){.quote-wrap{grid-template-columns:1fr;gap:20px}.quote-visual{min-height:0;max-height:280px}.quote-visual img{max-height:280px}}@media(max-width:660px){.quote-visual{max-height:210px}.quote-visual img{max-height:210px}}@media(max-width:900px){body.home .hero .wrap,.hero .wrap{padding-top:84px!important;padding-bottom:0!important}.hero{min-height:100svh!important;justify-content:flex-start}.hero-copy{margin-top:6vh}.hero-usp{padding-bottom:96px!important}.hero .lead{font-size:.95rem;line-height:1.6}.mobar{display:none!important}body{padding-bottom:0!important}.float{position:fixed!important;right:14px!important;bottom:max(18px,env(safe-area-inset-bottom,0px))!important;left:auto!important;z-index:95!important;display:flex!important;flex-direction:column;align-items:flex-end;gap:11px!important}.float a{display:grid!important;width:50px!important;height:50px!important;border-radius:50%;place-items:center;box-shadow:0 8px 22px rgba(8,16,44,.34),inset 0 1px 0 rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.float .fab-call{display:grid!important}.float .scroll-top{width:44px!important;height:44px!important;background:rgba(10,18,44,.72)!important;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 20px rgba(8,16,44,.3)}.float .scroll-top svg{width:17px;height:17px}nav.menu{background:#0B1330!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:8px 20px 28px!important;box-shadow:0 26px 54px rgba(0,0,0,.45)!important;border-top:1px solid rgba(255,255,255,.08)!important;max-height:calc(100dvh - 66px)!important;align-items:stretch!important}nav.menu a,nav.menu .dd-toggle{text-align:left!important;justify-content:flex-start!important;align-items:center!important;width:100%!important}nav.menu .dd-toggle{justify-content:space-between!important}nav.menu a::after{display:none!important}nav.menu a{color:rgba(255,255,255,.88)!important;font-size:.95rem!important;font-weight:500!important;padding:14px 0!important;min-height:50px;border-bottom:1px solid rgba(255,255,255,.08)!important}nav.menu .dd-toggle{color:rgba(255,255,255,.5)!important;font-size:.66rem!important;letter-spacing:.16em;font-weight:700!important;padding:15px 0!important;min-height:50px;border-bottom:1px solid rgba(255,255,255,.08)!important}nav.menu .has-dropdown.open .dd-toggle{color:#fff!important}.dropdown-panel,.browse-panel,.mega-panel{background:rgba(255,255,255,.04)!important;border:0!important;box-shadow:none!important;padding:2px 0 8px 14px!important;border-radius:8px!important}.dropdown-panel a,.browse-panel a,.mega-panel a{text-align:left!important;justify-content:flex-start!important;color:rgba(255,255,255,.72)!important;font-size:.88rem!important;font-weight:400!important;padding:11px 0!important;min-height:44px;border-bottom:1px solid rgba(255,255,255,.06)!important}.browse-col .dropdown-group-label,.mega-col-title{color:rgba(255,255,255,.4)!important;text-align:left!important;font-size:.6rem!important;letter-spacing:.18em;padding:14px 0 6px!important;border-bottom:0!important;min-height:0!important;display:block!important}body.home header.nav.menu-open .logo::after{display:block!important}body.home header.nav.menu-open .logo img{opacity:0!important}body.home header.nav.menu-open .burger span{background:#fff!important}}.hero-card{padding:9px 13px!important;min-width:144px!important;max-width:168px;border-radius:11px!important;background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.13)!important}.hc-label{font-size:.5rem!important;letter-spacing:.16em!important;line-height:1.2}.hc-value{font-size:1.06rem!important;margin-top:4px!important;line-height:1}.hc-value span{font-size:.66rem!important}.hc-sub{font-size:.58rem!important;margin-top:4px!important;line-height:1.3}.hero-cards{gap:8px!important}.hero-card-wx .wx-rows{margin-top:6px!important;padding-top:6px!important;gap:3px!important}.hero-card-wx .wx-k,.hero-card-wx .wx-v{font-size:.6rem!important}.hero-card-wx .wx-ask{margin-top:6px!important;padding-top:6px!important}.hero-card-wx .wx-ask p{font-size:.58rem!important;line-height:1.4;margin-bottom:6px!important}.hero-card-wx .wx-allow{padding:6px 10px!important;font-size:.62rem!important}.wx-dot{width:5px!important;height:5px!important}@media(max-width:1040px){.hero-cards{flex-direction:row!important;flex-wrap:wrap;gap:8px!important;justify-self:start}.hero-card{flex:0 1 auto!important;min-width:136px!important;max-width:180px}}@media(max-width:660px){.hero-cards{flex-direction:row!important;flex-wrap:nowrap;gap:7px!important;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.hero-cards::-webkit-scrollbar{display:none}.hero-card{flex:0 0 auto!important;min-width:124px!important;max-width:150px;padding:8px 11px!important}.hc-label{font-size:.46rem!important}.hc-value{font-size:.95rem!important}.hc-sub{font-size:.54rem!important}.hero-card-wx .wx-ask{margin-top:5px!important;padding-top:5px!important}.hero-card-wx .wx-ask p{display:none!important}.hero-card-wx .wx-allow{padding:5px 8px!important;font-size:.56rem!important;border-radius:8px!important;min-height:32px!important}.hero-card-wx .wx-rows{margin-top:5px!important;padding-top:5px!important}}.wx-allow-short{display:none}@media(max-width:660px){.wx-allow-long{display:none}.wx-allow-short{display:inline}}@media(min-width:901px){body.home header.nav nav.menu .dropdown-panel a,body.home header.nav nav.menu .browse-panel a,body.home header.nav nav.menu .mega-panel a,body.home header.nav.scrolled nav.menu .dropdown-panel a,body.home header.nav.scrolled nav.menu .browse-panel a,body.home header.nav.scrolled nav.menu .mega-panel a{color:var(--muted)!important}body.home header.nav nav.menu .dropdown-panel a:hover,body.home header.nav nav.menu .browse-panel a:hover,body.home header.nav nav.menu .mega-panel a:hover{color:var(--navy)!important;background:rgba(20,30,77,.04)!important}body.home header.nav nav.menu .mega-col-title{color:var(--col-accent)!important}body.home header.nav nav.menu .browse-col .dropdown-group-label{color:var(--muted-soft)!important}body.home header.nav nav.menu .mega-all,body.home header.nav nav.menu .browse-all{color:var(--blue)!important}}@media(max-width:900px){.hero .wrap{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important}.hero-copy{order:1;margin-top:4vh}.hero-cta{order:2;margin-top:24px!important;position:relative;z-index:4}.hero-cards{order:3;margin-top:22px!important;position:relative;z-index:2;display:block!important;overflow:hidden!important;width:100%;height:76px}.hero-card{position:absolute!important;inset:0 auto 0 0;width:100%!important;max-width:none!important;min-width:0!important;opacity:0;transform:translateY(8px);transition:opacity .6s var(--ease),transform .6s var(--ease);pointer-events:none}.hero-card.wx-on{opacity:1;transform:translateY(0);pointer-events:auto}.hero-usp{order:4;margin-top:22px!important;padding-bottom:120px!important}}@media(prefers-reduced-motion:reduce){.hero-card{transition:none}}.btn svg,.wa-book svg,.mobar a svg,.float a svg,.float button svg,nav.menu svg,.hero-usp svg,.guarantees svg,.cs-widget svg,.stat svg{width:18px;height:18px;flex:none}.btn svg{width:17px;height:17px}.float a svg{width:22px;height:22px}.float .scroll-top svg{width:17px;height:17px}.mobar a svg{width:19px;height:19px}.logo svg,.logo img{width:auto}svg:not([width]){max-width:1.4em;max-height:1.4em}@media(max-width:1200px){header.nav.menu-open{background:#0B1330!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom:1px solid rgba(255,255,255,.08)!important;box-shadow:none!important}header.nav.menu-open .logo::after{display:block!important;opacity:1!important}header.nav.menu-open .logo img{opacity:0!important}header.nav.menu-open .burger span{background:#fff!important}header.nav.menu-open .logo{position:relative}body:not(.home) header.nav.menu-open .logo::after{content:"";position:absolute;inset:0;background:url('../../images/logo-white.webp') left center/contain no-repeat;pointer-events:none}nav.menu .nav-home{font-weight:600!important}}.hero-lens{--lens:11px!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),0 2px 6px rgba(0,0,0,.3)!important}.hero-lens::before{display:none!important}.hero-lens::after{background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.55),rgba(255,255,255,.12) 70%)!important;box-shadow:none!important}.hero-lens-ring{display:none!important}@media(max-width:900px){.hero-lens{display:none!important}}@media(max-width:900px){.tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 2px 8px;margin:0 -4px}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:0 0 auto;white-space:nowrap;font-size:.78rem;padding:10px 16px;min-height:44px;border-radius:99px}.svgwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.svgwrap svg{min-width:520px}.panel{padding:14px 0}}.map-embed{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-s);border:1px solid var(--line);line-height:0}.map-embed iframe{display:block;width:100%;height:420px}@media(max-width:660px){.map-embed iframe{height:300px}}.btn-stack{display:grid;grid-template-columns:1fr;gap:10px;margin-top:16px;width:100%}.btn-stack .btn{width:100%;min-height:48px;white-space:nowrap}@media(max-width:420px){.btn-stack .btn{font-size:.86rem;padding:0 14px;white-space:normal;line-height:1.25}}.card .hero-cta,.cs-widget .btn-stack{display:grid;grid-template-columns:1fr;gap:10px}@media(min-width:520px){.btn-stack{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}}.map-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:18px}@media(max-width:520px){.map-actions{flex-direction:column}.map-actions .btn{width:100%}}.logo{transition:transform .35s var(--ease)}.logo:hover{transform:translateY(-1px)}.logo:hover img{opacity:.82}body.home .logo::after{transition:opacity .4s var(--ease),filter .3s var(--ease)}body.home .logo:hover::after{filter:drop-shadow(0 0 10px rgba(255,255,255,.55)) brightness(1.15)}body.home header.nav.scrolled .logo:hover img{opacity:.82;filter:drop-shadow(0 2px 8px rgba(20,30,77,.25))}.logo:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:6px}.card-actions{display:flex;justify-content:flex-start;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.wa-book{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;background:transparent;color:var(--navy);border:1px solid var(--line);font-size:.82rem;font-weight:600;letter-spacing:.01em;transition:background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease),transform .3s var(--ease)}.wa-book svg{width:16px;height:16px;color:var(--wa);transition:color .3s var(--ease)}.wa-book:hover{background:var(--navy);border-color:var(--navy);color:#fff;transform:translateY(-1px)}.wa-book:hover svg{color:#fff}.faq-head h2,.center.head h2{letter-spacing:-.015em}.sec{contain-intrinsic-size:auto 720px}.faq{transition:box-shadow .3s var(--ease),border-color .3s var(--ease)}.faq .ans{transition:max-height .38s var(--ease),opacity .28s var(--ease),padding .3s var(--ease)}.faq:hover{border-color:rgba(20,30,77,.16)}img,picture{background:linear-gradient(100deg,#EDEFF6 30%,#F5F6FA 50%,#EDEFF6 70%);background-size:200% 100%}img[src]{background:none}@media(prefers-reduced-motion:reduce){.faq .ans{transition:none}}.loc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:12px;margin-top:22px}.loc-card{display:flex;flex-direction:column;gap:5px;padding:18px 20px;border-radius:14px;background:#fff;border:1px solid var(--line);transition:border-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease)}.loc-card strong{font-size:.95rem;color:var(--navy);font-weight:700;letter-spacing:-.01em}.loc-sub{font-size:.74rem;color:var(--muted)}.loc-card:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 12px 28px rgba(20,30,77,.09)}.loc-card::after{display:none}@media(max-width:520px){.loc-grid{grid-template-columns:1fr 1fr;gap:9px}.loc-card{padding:14px}}.nav .btn{border-radius:10px!important;padding:12px 20px!important;font-size:.86rem!important;font-weight:600!important;letter-spacing:.01em;width:auto!important;height:auto!important;min-height:44px}.nav .btn .btn-label{display:inline}.nav-ctas{gap:9px}@media(max-width:1400px){.nav .btn{width:46px!important;height:46px!important;padding:0!important;border-radius:10px!important;gap:0}.nav .btn .btn-label{display:none}}@media(max-width:1200px){.nav .btn{width:42px!important;height:42px!important}}nav.menu{gap:34px;font-size:.95rem;font-weight:500;letter-spacing:-.005em}nav.menu a,nav.menu .dd-toggle{font-weight:500}@media(max-width:1400px){nav.menu{gap:26px;font-size:.9rem}}@media(max-width:1260px){nav.menu{gap:20px;font-size:.86rem}}body.home .logo:hover::after{opacity:0}body.home .logo:hover img{opacity:1}.logo:hover img{opacity:1;filter:none}.logo img{transition:opacity .35s var(--ease),filter .35s var(--ease)}body.home .logo::after{transition:opacity .35s var(--ease)}.browse-panel{grid-template-columns:repeat(4,minmax(0,1fr));width:min(980px,calc(100vw - 40px))}@media(max-width:1200px){.browse-panel{grid-template-columns:1fr;width:auto}}.btn,.wa-book,.mobar a,.nav .btn,.float a,.float button,.scroll-top,.plan,.card,.loc-card,.faq,.quote-card,.cs-widget,.hero-card,.stat,.dropdown-panel,.mega-panel,.browse-panel,nav.menu,input,select,textarea,.field input,.field select,.eyebrow,.ribbon,.badge,.chip,.area-link-grid a,.map-embed,.page-banner,.tool-band-media,.quote-visual,.contact-banner-media,.wx-allow,.hero-lens,.btn-stack .btn{border-radius:0!important}.btn,.wa-book,.mobar a,.nav .btn,.float a,.float button,.scroll-top,.plan,.card,.loc-card,.quote-card,.cs-widget,.hero-card,.wx-allow{box-shadow:none!important}.btn:hover,.wa-book:hover,.card:hover,.plan:hover,.loc-card:hover,.nav .btn:hover,.float a:hover,.scroll-top:hover,.hero-card:hover,.btn:active,.wa-book:active,.wx-allow:hover,.wx-allow:active{transform:none!important;box-shadow:none!important}.btn{background-image:none!important;border:1px solid transparent;font-weight:600;letter-spacing:.01em;transition:background-color .28s var(--ease),color .28s var(--ease),border-color .28s var(--ease)!important}.btn-primary,.btn-navy{background:var(--navy)!important;color:#fff!important;border-color:var(--navy)!important}.btn-primary:hover,.btn-navy:hover{background:var(--blue)!important;border-color:var(--blue)!important}.btn-ice{background:var(--blue)!important;color:#fff!important;border-color:var(--blue)!important}.btn-ice:hover{background:var(--navy)!important;border-color:var(--navy)!important}.btn-whatsapp{background:var(--wa)!important;color:#fff!important;border-color:var(--wa)!important}.btn-whatsapp:hover{background:var(--wa-dk)!important;border-color:var(--wa-dk)!important}.btn-ghost{background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.4)!important}.btn-ghost:hover{background:rgba(255,255,255,.12)!important;border-color:#fff!important}.btn::before,.btn::after{display:none!important}.card,.plan,.loc-card,.cs-widget,.quote-card{background:#fff;border:1px solid var(--line);transition:border-color .28s var(--ease),background .28s var(--ease)!important}.card:hover,.plan:hover,.loc-card:hover{border-color:var(--navy)}.card::before,.plan::before,.loc-card::before{display:none!important}.wa-book{background:transparent!important;color:var(--navy)!important;border:1px solid var(--navy)!important;padding:11px 20px!important;font-size:.8rem!important;font-weight:600!important;letter-spacing:.03em;text-transform:uppercase}.wa-book:hover{background:var(--navy)!important;color:#fff!important}.wa-book svg{color:currentColor!important}.float a,.float button,.scroll-top{border:1px solid rgba(255,255,255,.18)!important}.mobar{border-top:1px solid var(--line)}.mobar a{border-right:1px solid rgba(255,255,255,.14)}.mobar a:last-child{border-right:0}.field input,.field select,.field textarea{border:1px solid var(--line)!important;background:#fff!important;transition:border-color .25s var(--ease)!important}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy)!important;outline:none;box-shadow:none!important}.eyebrow{background:transparent!important;border:0!important;padding:0!important;color:var(--blue);font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.eyebrow::before{content:"";display:inline-block;width:22px;height:1px;background:currentColor;vertical-align:middle;margin-right:10px;opacity:.6}.ribbon{border-radius:0!important;letter-spacing:.14em;text-transform:uppercase;font-size:.62rem}.area-link-grid a{background:#fff!important;border:1px solid var(--line)!important;padding:10px 16px!important;font-size:.82rem!important;transition:border-color .25s var(--ease),color .25s var(--ease)!important}.area-link-grid a:hover{border-color:var(--navy)!important;color:var(--navy)!important;background:#fff!important}.dropdown-panel,.mega-panel,.browse-panel{border:1px solid var(--line)!important;box-shadow:0 18px 44px rgba(12,22,54,.10)!important}.faq{border:1px solid var(--line);background:#fff}.faq+.faq{border-top:0}.faq:hover{border-color:var(--navy)}.plan.pop{border:1px solid var(--navy)!important;background:#fff!important}.stat{background:transparent!important;border:0!important}.hero-card{background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.16)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.hero h1{letter-spacing:-.022em}.hero .lead{color:rgba(255,255,255,.7)}.hero-cta .btn{min-width:186px;justify-content:center}.hero-usp div{font-weight:500;letter-spacing:.01em}.hero-usp{gap:12px 34px}.sec{padding:clamp(64px,8vw,104px) 0}.head h2,.center.head h2{font-family:var(--serif);font-weight:600;letter-spacing:-.02em;font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.15}.head .lead,.center.head .lead{color:var(--body);max-width:60ch;margin-left:auto;margin-right:auto}.sec+.sec{border-top:1px solid var(--line)}.sec-pearl+.sec-pearl{border-top:1px solid rgba(20,30,77,.06)}.float a,.float button,.mobar a,footer .ilink,.iconbar a,.iconbar-foot a{position:relative;transition:background-color .28s var(--ease),border-color .28s var(--ease),color .28s var(--ease)!important}.float a::after,.float button::after,footer .ilink::after,.iconbar a::after,.iconbar-foot a::after{content:"";position:absolute;inset:-6px;border:1px solid currentColor;opacity:0;transition:opacity .28s var(--ease),inset .28s var(--ease);pointer-events:none}.float a:hover::after,.float button:hover::after,footer .ilink:hover::after,.iconbar a:hover::after,.iconbar-foot a:hover::after{opacity:.45;inset:-3px}.float a:hover,.float button:hover{filter:brightness(1.08)}footer .ilink:hover,.iconbar a:hover,.iconbar-foot a:hover{background:rgba(255,255,255,.1)}.mobar a:hover{filter:brightness(1.06)}.grid{align-items:stretch}.grid>*{height:100%}.card,.plan,.loc-card{display:flex!important;flex-direction:column!important;height:100%;padding:26px 24px!important}.card>p,.plan>p{flex:1 1 auto}.card-actions{margin-top:auto!important;padding-top:20px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:flex-start;width:100%}.card-actions .wa-book,.card-actions .btn{width:100%;justify-content:center}.card,.plan,.loc-card,.cs-widget,.quote-card{border:1px solid var(--line)!important}.card:hover,.plan:hover,.loc-card:hover{border-color:var(--navy)!important}.plan.pop{border:1px solid var(--navy)!important}.card .icon,.card .svc-ico,.ico,.icon-tile{width:46px;height:46px;display:grid;place-items:center;background:var(--pearl)!important;border:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important;filter:none!important;margin-bottom:16px;transition:background .28s var(--ease),border-color .28s var(--ease)!important}.card:hover .icon,.card:hover .svc-ico,.card:hover .ico{background:var(--navy)!important;border-color:var(--navy)!important}.card:hover .icon svg,.card:hover .svc-ico svg,.card:hover .ico svg{color:#fff!important;stroke:#fff!important}.card .icon svg,.card .svc-ico svg,.ico svg{width:20px;height:20px;color:var(--blue);transition:color .28s var(--ease)}.card h3{font-size:1.02rem;font-weight:700;letter-spacing:-.012em;color:var(--navy);line-height:1.3}.card p{font-size:.885rem;line-height:1.65;color:var(--body);margin-top:10px}@media(max-width:660px){.card,.plan,.loc-card{padding:20px 18px!important}.card-actions{padding-top:16px}}.card-detail{font-size:.845rem;line-height:1.7;color:var(--muted);margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.pay-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}.pay-chip{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 14px;border:1px solid rgba(255,255,255,.18);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72);transition:border-color .28s var(--ease),color .28s var(--ease),background .28s var(--ease)}.pay-chip:hover{border-color:rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.06)}.pay-label{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.42);margin-bottom:2px;width:100%}header.nav,header.nav.scrolled,body.home header.nav,body.home header.nav.scrolled,.float a,.float button,.scroll-top,.mobar,.dropdown-panel,.mega-panel,.browse-panel,nav.menu,.hero-card,.wx-allow,.pay-chip,.glass-panel{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}header.nav.scrolled,body.home header.nav.scrolled{background:#FBFBFD!important}.dropdown-panel,.mega-panel,.browse-panel{background:#fff!important}.hero-card{background:rgba(255,255,255,.10)!important}.mobar{background:#fff!important}.float a,.float button,.scroll-top{background-color:rgba(10,18,44,.9)}.float .wa{background-color:var(--wa)!important}header.nav{will-change:background-color}.hero-photo-bg img{will-change:transform}.reveal{will-change:opacity,transform}.reveal.in{will-change:auto}.sec{content-visibility:auto;contain-intrinsic-size:auto 640px;contain:layout paint style}footer{content-visibility:auto;contain-intrinsic-size:auto 800px}*{transition-property:opacity,transform,color,background-color,border-color,fill,stroke!important}.area-link-grid{content-visibility:auto;contain-intrinsic-size:auto 420px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}footer{background:var(--navy);color:rgba(255,255,255,.72);padding:0;margin-top:0}footer .wrap{padding-top:64px;padding-bottom:0}footer .foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:44px;align-items:start}footer h3,footer .foot-h{font-size:.68rem!important;font-weight:700!important;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.42)!important;margin-bottom:18px!important}footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}footer ul a{color:rgba(255,255,255,.74);font-size:.86rem;line-height:1.4;transition:color .25s var(--ease)}footer ul a:hover{color:#fff}footer ul a::after{display:none}footer .logo img,footer img[alt*="logo"]{max-width:150px;height:auto;filter:brightness(0) invert(1);opacity:.92}footer p{font-size:.86rem;line-height:1.7;color:rgba(255,255,255,.6);max-width:34ch}.pay-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:34px 0 0;padding-top:26px;border-top:1px solid rgba(255,255,255,.10)}.pay-label{width:100%;font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.38);margin-bottom:14px}.pay-tile{display:inline-flex;align-items:center;justify-content:center;width:72px;height:46px;background:#fff;border:1px solid rgba(255,255,255,.10);transition:transform .25s var(--ease),border-color .25s var(--ease)}.pay-tile img{width:auto;height:26px;display:block}.pay-tile:hover{border-color:rgba(255,255,255,.4)}footer .foot-bottom{margin-top:38px;padding:22px 0 34px;border-top:1px solid rgba(255,255,255,.10);display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;justify-content:space-between;font-size:.78rem;color:rgba(255,255,255,.5)}footer nav a{color:rgba(255,255,255,.6);font-size:.78rem}footer nav a:hover{color:#fff}@media(max-width:900px){footer .foot-grid{grid-template-columns:1fr 1fr;gap:32px}footer .wrap{padding-top:48px}}@media(max-width:560px){footer .foot-grid{grid-template-columns:1fr;gap:28px}.pay-tile{width:62px;height:40px}.pay-tile img{height:22px}footer .foot-bottom{flex-direction:column;align-items:flex-start}}.btn,.wa-book,.mobar a,.nav .btn,.wx-allow,.btn-stack .btn,.area-link-grid a,.pay-tile{border-radius:2px!important}.float a,.float button,.scroll-top{border-radius:2px!important}.btn{border:1px solid transparent;padding:13px 26px;font-size:.875rem;font-weight:600;letter-spacing:.015em;min-height:48px;position:relative}.btn-navy,.btn-primary{background:var(--navy)!important;color:#fff!important;border-color:var(--navy)!important}.btn-navy:hover,.btn-primary:hover{background:#0B1330!important;border-color:#0B1330!important}.btn-ice{background:var(--blue)!important;color:#fff!important;border-color:var(--blue)!important}.btn-ice:hover{background:#2439C4!important;border-color:#2439C4!important}.btn-whatsapp{background:var(--wa)!important;color:#fff!important;border-color:var(--wa)!important}.btn-whatsapp:hover{background:var(--wa-dk)!important;border-color:var(--wa-dk)!important}.btn-ghost{background:transparent!important;border-color:rgba(255,255,255,.35)!important;color:#fff!important}.btn-ghost:hover{background:rgba(255,255,255,.1)!important;border-color:#fff!important}.wa-book{background:transparent!important;color:var(--navy)!important;border:1px solid rgba(20,30,77,.22)!important;padding:12px 22px!important;font-size:.78rem!important;font-weight:600!important;letter-spacing:.06em;text-transform:uppercase}.wa-book:hover{background:var(--navy)!important;color:#fff!important;border-color:var(--navy)!important}.nav .btn{padding:11px 20px!important;min-height:42px;font-size:.84rem!important}.nav .btn-whatsapp{background:transparent!important;color:var(--wa)!important;border-color:rgba(63,157,109,.45)!important}.nav .btn-whatsapp:hover{background:var(--wa)!important;color:#fff!important;border-color:var(--wa)!important}body.home header.nav:not(.scrolled) .nav .btn-whatsapp{color:#fff!important;border-color:rgba(255,255,255,.4)!important}body.home header.nav:not(.scrolled) .nav .btn-primary{background:#fff!important;color:var(--navy)!important;border-color:#fff!important}body.home header.nav:not(.scrolled) .nav .btn-primary:hover{background:rgba(255,255,255,.85)!important}.loc-card,.card,.plan,.faq,.quote-card,.cs-widget,.hero-card,.map-embed{border-radius:2px!important}.has-dropdown{position:relative}.has-dropdown::after{content:"";position:absolute;left:0;right:0;top:100%;height:20px;display:none;z-index:119}.has-dropdown:hover::after{display:block}.has-mega::after{left:-50vw;right:-50vw}.has-browse::after{left:-40vw;right:-40vw}.dropdown-panel:hover,.mega-panel:hover,.browse-panel:hover{display:flex}.mega-panel:hover{display:grid}.browse-panel:hover{display:grid}.has-dropdown .dropdown-panel{transition:opacity .12s var(--ease)}footer .wrap{padding-left:max(22px,env(safe-area-inset-left))!important;padding-right:max(22px,env(safe-area-inset-right))!important;padding-top:64px!important;padding-bottom:0!important;max-width:var(--max);margin:0 auto}@media(min-width:1500px){footer .wrap{max-width:1320px}}.btn,.wa-book,.mobar a,.nav .btn,.wx-allow,.btn-stack .btn,.area-link-grid a,.card,.plan,.loc-card,.faq,.quote-card,.cs-widget,.hero-card,.map-embed,.dropdown-panel,.mega-panel,.browse-panel,.pay-tile,input,select,textarea,.field input,.field select{border-radius:5px!important}.float a,.float button,.scroll-top{border-radius:10px!important}.logo img{border-radius:6px}body.home .logo::after{border-radius:6px}.hero-photo-bg img{animation:none!important}.page-banner img,.tool-band-media img,.contact-banner-media img{animation:none!important}.wx-dot{animation:none!important}.contact-banner{animation:none!important}img{decoding:async}@font-face{font-display:swap}.mega-panel,.browse-panel{contain:layout style}.marquee,.reviews-track{will-change:auto}.area-link-grid a{contain:layout style}.reveal{transform:translate3d(0,24px,0)}.reveal.in{transform:translate3d(0,0,0)}@media(max-width:768px){.sec{padding:44px 0!important}.wrap{padding-left:18px;padding-right:18px}.head h2,.center.head h2{font-size:clamp(1.35rem,5.6vw,1.75rem)!important;line-height:1.2}.lead{font-size:.94rem!important;line-height:1.65}p{font-size:.9rem;line-height:1.68}.grid,.grid.g2,.grid.g3,.grid.g4{grid-template-columns:1fr!important;gap:12px!important}.card,.plan,.loc-card{padding:20px 18px!important}.loc-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}.loc-card{padding:14px 12px!important}.loc-card strong{font-size:.86rem}.loc-sub{font-size:.68rem}.area-link-grid{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;gap:8px!important;padding-bottom:10px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;justify-content:flex-start!important}.area-link-grid::-webkit-scrollbar{display:none}.area-link-grid a{flex:0 0 auto;scroll-snap-align:start;white-space:nowrap;font-size:.8rem!important}.faq button{padding:15px 14px;font-size:.92rem;min-height:52px;text-align:left}.faq .ans{padding:0 14px 15px}.field input,.field select,.field textarea{font-size:16px!important;min-height:48px}.field label{font-size:.74rem;letter-spacing:.08em}footer .wrap{padding-top:42px!important}.pay-row{margin-top:26px;padding-top:20px}}@media(max-width:420px){.loc-grid{grid-template-columns:1fr!important}.btn{padding:0 18px!important;font-size:.86rem!important}}@media(max-width:900px){.float{display:none!important}.mobar{display:grid!important;grid-template-columns:1fr 1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:400;background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -1px 0 rgba(20,30,77,.05)}.mobar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:58px;border-right:1px solid var(--line);font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--navy);background:#fff;border-radius:0!important}.mobar a:last-child{border-right:0}.mobar a svg{width:19px;height:19px}.mobar .m-wa{color:var(--wa)}.mobar .m-quote{background:var(--navy);color:#fff}body{padding-bottom:62px}#scrollTop{display:none!important}}@media(max-width:900px){.mobar{grid-template-columns:1fr 1fr 1fr!important;display:grid!important}}:root{--wa-text:#2F7A54}.nav .btn-whatsapp,.mobar .m-wa,.wa-book svg,a.wa-link{color:var(--wa-text)!important}.nav .btn-whatsapp{border-color:rgba(47,122,84,.4)!important}.nav .btn-whatsapp:hover{background:var(--wa-text)!important;color:#fff!important;border-color:var(--wa-text)!important}.mobar .m-wa svg{color:var(--wa-text)}:root{--t-fast:.18s;--t-base:.28s;--t-slow:.45s}.btn,.wa-book,.card,.plan,.loc-card,.faq,.area-link-grid a,.pay-tile,.field input,.field select,.logo,.logo img,nav.menu a,.dd-toggle{transition-duration:var(--t-base)!important;transition-timing-function:cubic-bezier(.22,.61,.36,1)!important}.dropdown-panel,.mega-panel,.browse-panel{transition-duration:var(--t-fast)!important}.reveal{transition-duration:var(--t-slow)!important}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}.btn:focus-visible{outline-offset:3px}.skip-link:focus{position:fixed;top:10px;left:10px;z-index:9999;background:var(--navy);color:#fff;padding:12px 20px;border-radius:4px;width:auto;height:auto;clip:auto;overflow:visible}@media(pointer:coarse){a,button,.btn,.wa-book,.area-link-grid a,.faq button{min-height:44px}.area-link-grid a{display:inline-flex;align-items:center}nav.menu a,.dd-toggle{min-height:46px;display:flex;align-items:center}}html,body{max-width:100%;overflow-x:hidden}img,video,iframe,table,pre{max-width:100%}footer .copy{box-sizing:border-box;width:100%;border-top:1px solid rgba(255,255,255,.11);display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px 26px;text-align:left;font-size:.82rem;padding-top:22px;padding-bottom:30px}footer .copy>span{grid-column:1;justify-self:start;color:rgba(255,255,255,.55)}footer .copy>nav{grid-column:2;justify-self:end;padding-right:92px}footer .copy>.pay-row{grid-column:1 / -1}footer>.copy{max-width:var(--max);margin:0 auto;padding-left:max(22px,env(safe-area-inset-left));padding-right:max(22px,env(safe-area-inset-right))}footer .wrap .copy{max-width:none;margin:0;padding-left:0;padding-right:0}footer .pay-row{max-width:none;margin:0;padding:24px 0 0;width:100%;border-top:1px solid rgba(255,255,255,.10);display:flex;flex-wrap:wrap;align-items:center;gap:10px}footer .pay-label{width:100%;margin-bottom:12px}@media(max-width:900px){footer .copy{grid-template-columns:1fr;gap:12px;padding-bottom:24px}footer .copy>span,footer .copy>nav{grid-column:1;justify-self:start;padding-right:0}footer .copy>nav{line-height:2}}.wrap{padding-left:max(22px,env(safe-area-inset-left));padding-right:max(22px,env(safe-area-inset-right));box-sizing:border-box}@media(min-width:1500px){.wrap,footer>.copy{max-width:1320px}}@media(max-width:768px){.wrap,footer>.copy{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}}.float{right:18px;bottom:18px;z-index:350}footer .cols{display:grid!important;grid-template-columns:1.6fr 1fr 1fr 1.15fr!important;gap:40px 44px!important;align-items:start!important;justify-items:stretch;padding-top:8px}footer .cols>*{align-self:start;min-width:0}footer .foot-h,footer h3{margin:0 0 18px!important;font-size:.68rem!important;font-weight:700!important;letter-spacing:.2em;text-transform:uppercase;line-height:1.4;color:rgba(255,255,255,.42)!important}footer .cols ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}footer .cols ul a{color:rgba(255,255,255,.74);font-size:.86rem;line-height:1.45;display:inline-block}footer .cols ul a:hover{color:#fff}footer .cols p{margin:16px 0 0;max-width:34ch;font-size:.86rem;line-height:1.7;color:rgba(255,255,255,.6)}footer .foot-logo{display:inline-block;margin:0}footer .foot-logo img{display:block;width:168px;height:auto}footer .iconbar-foot{margin-top:20px!important;display:flex;gap:9px;flex-wrap:wrap}@media(max-width:1000px){footer .cols{grid-template-columns:1fr 1fr!important;gap:34px!important}}@media(max-width:600px){footer .cols{grid-template-columns:1fr!important;gap:28px!important}footer .cols p{max-width:none}}
/* ============================================================
   FOOTER v2 — balanced columns, mobile accordion
   (appended last: intentionally overrides earlier footer rules)
   ============================================================ */
footer#site-footer{background:var(--navy);color:rgba(255,255,255,.72);padding:0;margin-top:0;clip-path:none;content-visibility:auto;contain-intrinsic-size:auto 900px}
footer#site-footer .wrap{max-width:var(--max);margin:0 auto;padding-top:clamp(48px,6vw,72px)!important;padding-bottom:0!important}
@media(min-width:1500px){footer#site-footer .wrap{max-width:1320px}}

/* --- top grid: brand + link columns --- */
footer#site-footer .ftr-grid{display:grid;grid-template-columns:minmax(280px,1.05fr) minmax(0,2.95fr);gap:44px 56px;align-items:start}
footer#site-footer .ftr-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.15fr);gap:36px 30px;align-items:start}

/* --- brand block --- */
footer#site-footer .foot-logo{display:inline-block;background:none;border:0;padding:0;margin:0}
footer#site-footer .foot-logo img{width:158px;height:auto;display:block}
footer#site-footer .ftr-blurb{margin:18px 0 0;max-width:34ch;font-size:.86rem;line-height:1.7;color:rgba(255,255,255,.58)}
footer#site-footer .iconbar-foot{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px!important}
footer#site-footer .ilink{width:40px;height:40px;display:grid;place-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:5px}
footer#site-footer .ilink svg{width:18px;height:18px}
footer#site-footer .ilink::after{display:none}
footer#site-footer .ilink:hover,footer#site-footer .ilink:focus-visible{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.4)}
footer#site-footer .ftr-cta{display:none;align-items:center;justify-content:center;gap:9px;margin-top:20px;padding:13px 20px;min-height:48px;border:1px solid rgba(255,255,255,.28);border-radius:5px;color:#fff;font-size:.86rem;font-weight:600}
footer#site-footer .ftr-cta svg{width:18px;height:18px;flex:none}
footer#site-footer .ftr-cta:hover{background:rgba(255,255,255,.1);border-color:#fff}

/* --- column headings --- */
footer#site-footer .fgroup-head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:0 0 16px;padding:0;font-size:.68rem!important;font-weight:700!important;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.42)!important;line-height:1.4;list-style:none;cursor:default}
footer#site-footer .fgroup-head::-webkit-details-marker{display:none}
footer#site-footer .fgroup-head::marker{content:""}
footer#site-footer .fchev{display:none;width:16px;height:16px;flex:none;transition:transform .25s var(--ease)}

/* --- link lists --- */
footer#site-footer .fgroup-body{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
footer#site-footer .fgroup-body a{display:inline-block;color:rgba(255,255,255,.74);font-size:.855rem;line-height:1.45}
footer#site-footer .fgroup-body a::after{display:none}
footer#site-footer .fgroup-body a:hover,footer#site-footer .fgroup-body a:focus-visible{color:#fff}
footer#site-footer .ftr-contact address{font-style:normal;font-size:.855rem;line-height:1.6;color:rgba(255,255,255,.6)}
footer#site-footer .ftr-hours{font-size:.82rem;color:rgba(255,255,255,.6)}
footer#site-footer .ftr-hours span{display:block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.38)}

/* --- payment strip --- */
footer#site-footer .ftr-pay{margin-top:44px;padding-top:26px;border-top:1px solid rgba(255,255,255,.1)}
footer#site-footer .pay-label{display:block;font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.38);margin-bottom:14px}
footer#site-footer .pay-list{list-style:none;margin:0;padding:0;display:flex;flex-flow:row wrap;gap:10px}
footer#site-footer .pay-tile{display:inline-flex;align-items:center;justify-content:center;width:66px;height:42px;background:#fff;border:1px solid rgba(255,255,255,.1);border-radius:5px}
footer#site-footer .pay-tile img{width:auto;height:22px;display:block}

/* --- bottom bar --- */
footer#site-footer .ftr-bottom{margin-top:30px;padding:20px 0 34px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 26px;font-size:.78rem;color:rgba(255,255,255,.5)}
footer#site-footer .ftr-copy{margin:0;max-width:none;font-size:.78rem;color:rgba(255,255,255,.5)}
footer#site-footer .ftr-legal{display:flex;flex-flow:row wrap;gap:6px 22px}
footer#site-footer .ftr-legal a{color:rgba(255,255,255,.6);font-size:.78rem}
footer#site-footer .ftr-legal a:hover{color:#fff}

/* --- 1160px and down: brand on its own row, 4 link columns full width --- */
@media(max-width:1159px){
 footer#site-footer .ftr-grid{grid-template-columns:1fr;gap:40px}
 footer#site-footer .ftr-blurb{max-width:60ch}
}
/* --- tablet: two columns --- */
@media(max-width:899px){
 footer#site-footer .ftr-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 28px}
}
/* --- mobile: single column, collapsible groups --- */
@media(max-width:639px){
 footer#site-footer .wrap{padding-top:40px!important}
 footer#site-footer .ftr-grid{gap:28px}
 footer#site-footer .ftr-nav{grid-template-columns:1fr;gap:0}
 footer#site-footer .foot-logo img{width:132px}
 footer#site-footer .ftr-cta{display:flex}
 footer#site-footer .iconbar-foot{gap:8px}

 footer#site-footer .fgroup{border-bottom:1px solid rgba(255,255,255,.1)}
 footer#site-footer .fgroup:first-child{border-top:1px solid rgba(255,255,255,.1)}
 footer#site-footer details.fgroup>.fgroup-head{cursor:pointer;margin:0;padding:17px 2px;min-height:54px;-webkit-tap-highlight-color:transparent}
 footer#site-footer details.fgroup[open]>.fgroup-head{color:#fff!important}
 footer#site-footer .fchev{display:block;color:rgba(255,255,255,.5)}
 footer#site-footer details.fgroup[open] .fchev{transform:rotate(180deg)}
 footer#site-footer details.fgroup>.fgroup-body{padding:2px 2px 18px;gap:0}
 footer#site-footer details.fgroup>.fgroup-body a{padding:11px 0;min-height:44px;display:flex;align-items:center;font-size:.9rem}

 footer#site-footer .fgroup-static>.fgroup-head{padding:20px 2px 14px;margin:0}
 footer#site-footer .fgroup-static>.fgroup-body{padding-bottom:8px;gap:4px}
 footer#site-footer .fgroup-static a{min-height:44px;display:flex;align-items:center;font-size:.92rem;font-weight:600;color:#fff}
 footer#site-footer .fgroup-static address{padding:6px 0}
 footer#site-footer .ftr-hours{padding:4px 0}

 footer#site-footer .ftr-pay{margin-top:26px;padding-top:22px}
 footer#site-footer .pay-list{gap:8px}
 footer#site-footer .pay-tile{width:58px;height:38px}
 footer#site-footer .pay-tile img{height:19px}
 footer#site-footer .ftr-bottom{flex-direction:column;align-items:flex-start;padding-bottom:calc(30px + env(safe-area-inset-bottom))}
 footer#site-footer .ftr-legal{gap:4px 18px}
}
@media(prefers-reduced-motion:reduce){footer#site-footer .fchev{transition:none}}

@media(min-width:900px){footer#site-footer .ftr-bottom{padding-right:92px}}








/* ============================================================
   FLOATING ACTION RAIL v3
   Four unlabelled icons stacked in four colours read as clutter,
   and the document glyph for "Get Price" was ambiguous. Now one
   grouped control with visible labels where there is room.
   ============================================================ */
.float{position:fixed!important;right:18px!important;left:auto!important;
 bottom:max(18px,env(safe-area-inset-bottom))!important;z-index:400!important;
 display:flex!important;flex-direction:column!important;align-items:flex-end!important;
 gap:10px!important;pointer-events:none}

/* back to top: neutral, secondary, sits apart from the actions */
/* A rounded rectangle of a different width sitting above the card read as a
   broken piece of it. A circle reads as what it is: a separate, secondary
   control. */
.float .fab-top{pointer-events:auto;width:44px;height:44px;min-height:44px;
 display:flex;align-items:center;justify-content:center;border-radius:50%!important;
 background:rgba(255,255,255,.94);border:1px solid var(--line);color:var(--navy);
 box-shadow:0 4px 14px rgba(8,16,44,.14);cursor:pointer;padding:0!important;
 opacity:0;transform:translateY(8px) scale(.92);transition:opacity .25s var(--ease),transform .25s var(--ease),background-color .2s}
.float .fab-top.show{opacity:1;transform:none}
.float .fab-top{margin-right:6px}
.float .fab-top:hover{background:#fff;border-color:var(--navy)}
.float .fab-top svg{width:18px;height:18px}
.float .fab-top .fab-lbl{display:none!important}
#scrollTop,.float .fab-top{display:flex!important}

/* the three actions, grouped into one card */
/* Three separate buttons, not one joined card. Each is its own control with
   its own shadow, which is also what a thumb expects to hit. */
.float .fab-actions{pointer-events:auto;display:flex;flex-direction:column;gap:10px;
 background:none;border:0;border-radius:0;overflow:visible;box-shadow:none}
.float .fab-actions .fab{display:flex!important;align-items:center;justify-content:center;gap:0;
 width:56px;min-height:56px;padding:0!important;
 border:1px solid var(--line)!important;border-radius:16px!important;
 box-shadow:0 6px 18px rgba(8,16,44,.16)!important;
 overflow:hidden;white-space:nowrap;
 background:#fff;color:var(--navy);text-decoration:none;white-space:nowrap;
 box-shadow:none!important;transition:background-color .18s var(--ease)}

.float .fab-actions .fab svg{width:21px;height:21px;flex:none}
.float .fab-actions .fab-lbl{max-width:0;opacity:0;overflow:hidden;
 font-size:.86rem;font-weight:700;letter-spacing:.01em;
 transition:max-width .26s var(--ease),opacity .18s var(--ease),margin .26s var(--ease)}

/* On a real pointer the whole card widens on hover and the labels appear, so
   desktop users still get the words without the rail sitting there as a menu. */
@media(hover:hover) and (pointer:fine){
 .float .fab-actions{transition:width .26s var(--ease)}
 .float .fab-actions:hover .fab{width:auto;justify-content:flex-start;gap:11px;padding:0 18px 0 17px!important}
 .float .fab-actions:hover .fab-lbl{max-width:140px;opacity:1}
}
.float .fab-actions .fab::after{display:none!important}

.float .fab-actions .fab-wa   svg{color:#2F7A54}
.float .fab-actions .fab-call svg{color:var(--navy)}
.float .fab-actions .fab-wa:hover{background:#EFF7F2}
.float .fab-actions .fab-call:hover{background:#F2F4FA}
.float .fab-actions .fab:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}

/* Get Price is the conversion button, so it reads as the primary one.
   Specificity has to match .float .fab-actions .fab or the white wins
   and the white icon disappears against it. */
.float .fab-actions .fab-quote{background:var(--blue)!important;color:#fff!important}
.float .fab-actions .fab-quote svg{color:#fff!important}
.float .fab-actions .fab-quote:hover{background:#2439C4!important}

/* Narrow screens have no room for labels: collapse to a compact icon rail. */
@media(max-width:1099px){
 .float{right:14px!important;bottom:max(14px,env(safe-area-inset-bottom))!important;gap:9px!important}
 .float .fab-actions{gap:9px}
 .float .fab-actions .fab{width:52px;min-height:52px;border-radius:15px!important}
 .float .fab-actions .fab-lbl{display:none}
 .float .fab-top{width:42px;height:42px;min-height:42px;display:flex!important;margin-right:5px;border-radius:50%!important}
 .float .fab-actions .fab:active{background:#E8ECF7}
}
@media(max-width:360px){
 .float{right:11px!important;gap:8px!important}
 .float .fab-actions .fab{width:48px;min-height:48px}
}
@media(prefers-reduced-motion:reduce){
 .float .fab-top,.float .fab-actions .fab{transition:none!important}
}

/* ============================================================
   BUG FIXES
   ============================================================ */
/* Closed FAQ answers were leaking a 15px sliver of text on mobile:
   the padding sat on .ans itself, and padding is not clipped by
   max-height:0 under border-box. Move it to the paragraph. */
.faq .ans{padding:0!important}
.faq .ans p{padding:0 22px 20px!important}
@media(max-width:768px){.faq .ans p{padding:0 14px 15px!important}}
/* The global transition-property override stripped max-height, so the
   accordion snapped instead of sliding. Put it back for this one case. */
.faq .ans{transition-property:max-height!important;transition-duration:.32s!important;
 transition-timing-function:cubic-bezier(.22,.61,.36,1)!important}
@media(prefers-reduced-motion:reduce){.faq .ans{transition:none!important}}





/* ============================================================
   MAINTENANCE LAYER — last block in the file. Put new overrides HERE.
   ============================================================ */
/* Plus Jakarta Sans was listed in --serif but always sat behind Playfair,
   so it never rendered while still being downloaded. Removed from the
   font URL; removed here too so the two stay in step. */
:root{--serif:"Playfair Display",Georgia,"Times New Roman",serif}

/* Standalone links need a real tap area. Inline links inside a paragraph
   are exempt under WCAG 2.5.8 and are deliberately left alone. */
.cat-link,.pn-link,.blog-more{display:inline-flex;align-items:center;min-height:44px}

/* Fonts load async now, so lock the fallback metrics to stop the headline
   jumping when Playfair arrives. */
@font-face{font-family:"Playfair Fallback";src:local("Georgia"),local("Times New Roman");
 size-adjust:105%;ascent-override:100%;descent-override:24%;line-gap-override:0%}
@font-face{font-family:"Inter Fallback";src:local("Helvetica Neue"),local("Arial");
 size-adjust:107%;ascent-override:90%;descent-override:22%;line-gap-override:0%}
:root{--serif:"Playfair Display","Playfair Fallback",Georgia,serif}
body{font-family:Inter,"Inter Fallback",system-ui,-apple-system,"Segoe UI",sans-serif}

/* Hero cards stacked on top of each other on mobile and became unreadable.
   Cause: .hero-card also carries .hero-rise, whose keyframe animation ends
   with `forwards` at opacity 1. A running animation outranks a normal
   author declaration, so the `opacity:0` that hides the inactive card in
   the <=900px block never applied. !important on the author rule wins. */
@media(max-width:900px){
 .hero-cards .hero-card{opacity:0!important}
 .hero-cards .hero-card.wx-on{opacity:1!important}
}

/* --- WCAG AA colour contrast -------------------------------------------
   Measured against white and against --opal. Three combinations failed.   */

/* White on the WhatsApp green was 3.36:1 (AA needs 4.5). Moved to the
   darker green that was already the hover state: 4.80:1. Hover goes
   darker again so the interaction is still readable. */
:root{--wa:#33805A;--wa-dk:#2B6E4C;--wa-text:#2B6E4C}

/* Struck-through "not included" rows in pricing were 2.10:1. */
.plan li.off{color:#67757F!important}
.plan li.off::before{color:#9AA6B0!important}

/* Star glyphs were #FFB400 at 1.78:1, failing even the 3:1 graphics
   threshold. This amber clears 4.5:1 on white and on the pearl panels.
   Purely a contrast call: if you prefer the brighter gold, change this
   one line back to #FFB400 and accept the AA failure. */
.stars{color:#9C6500!important}

/* The navy sidebar quote widget had turned white on 93 service pages, which
   made its white heading invisible and dropped its body text to 1.61:1.
   Cause: a later `.card,.plan,.loc-card,.cs-widget,.quote-card{background:#fff}`
   block matches with the same specificity as .cs-widget-quote and therefore
   wins on source order. Raised specificity so the navy sticks. */
.cs-widget.cs-widget-quote{background:var(--navy)!important;border:1px solid var(--navy)!important}
.cs-widget.cs-widget-quote .cs-h,.cs-widget.cs-widget-quote h4{color:#fff!important}
.cs-widget.cs-widget-quote p{color:#C9DCEC!important}

/* Honeypot. Off-screen rather than display:none, because some bots skip
   display:none inputs but fill everything else. Never focusable, never
   announced, never filled by a real visitor. */
.hp-field{position:absolute!important;left:-9999px!important;top:auto!important;
 width:1px!important;height:1px!important;overflow:hidden!important;
 opacity:0!important;pointer-events:none!important}






/* ============================================================
   COVERAGE RADAR — pan/zoom SVG dashboard
   All animation is transform + opacity only, so it composites on
   the GPU and costs nothing in INP. No Maps key, no tile server.
   ============================================================ */
.rdr{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start;margin-top:10px}
.rdr-stage{position:relative}
.rdr-canvas{position:relative;background:#fff;border:1px solid var(--line);border-radius:5px;
 overflow:hidden;touch-action:pan-y;cursor:grab;contain:layout paint}
.rdr-canvas.is-drag{cursor:grabbing}
.rdr-svg{display:block;width:100%;height:auto;max-width:none!important;max-height:none!important;
 user-select:none;-webkit-user-select:none}
#rdrView{transform-origin:0 0;will-change:transform}

/* --- base geography --- */
.rdr-land{fill:#F4F6FA}
.rdr-sea{fill:#DCEAF4}
.rdr-coast{fill:none;stroke:#9FC3DB;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.rdr-creek{fill:none;stroke:#9FC3DB;stroke-width:5;stroke-linecap:round}
.rdr-road{fill:none;stroke:#C9D2E4;stroke-width:4;stroke-linecap:round}
.rdr-water{fill:#7FA8C4;font-size:17px;font-weight:700;letter-spacing:.22em}
.rdr-roadlbl{fill:#A8B4CC;font-size:11px;font-weight:700;letter-spacing:.14em}

/* --- markers --- */
.rdr-hit{fill:transparent}
.rdr-pin{cursor:pointer;outline:none}
.rdr-dot{fill:var(--blue)}
.rdr-featured .rdr-dot{fill:#17A9C4}
.rdr-base .rdr-dot{fill:#C8922B}
.rdr-sel{fill:none;stroke:var(--navy);stroke-width:2.4;opacity:0}
.rdr-pin.is-on .rdr-sel{opacity:1}
.rdr-pin.is-dim{opacity:.16}
.rdr-pin.is-hidden{display:none}

.rdr-halo{pointer-events:none}

/* Radar sweep. scale + opacity only. */
@keyframes rdrPing{
 0%{transform:scale(.35);opacity:.55}
 70%{opacity:0}
 100%{transform:scale(3.1);opacity:0}
}
.rdr-ring{fill:none;stroke-width:1.6;transform-box:fill-box;transform-origin:center;
 animation:rdrPing 3.6s cubic-bezier(.2,.6,.35,1) infinite;pointer-events:none}
.rdr-ring-active{stroke:var(--blue);opacity:0;animation-duration:5.2s}
.rdr-ring-featured{stroke:#17A9C4;stroke-width:2}
.rdr-ring-base{stroke:#C8922B;stroke-width:2}

.rdr-lbl{fill:var(--navy);font-size:13px;font-weight:600;pointer-events:none}
.rdr-lbl-bg{fill:none;stroke:#F4F6FA;stroke-width:5;stroke-linejoin:round;font-size:13px;font-weight:600;pointer-events:none}
.rdr-featured .rdr-lbl{fill:#0E7E93;font-weight:700}
.rdr-base .rdr-lbl{fill:#8A6414;font-weight:700}
.rdr-pin:hover .rdr-lbl,.rdr-pin:focus-visible .rdr-lbl,.rdr-pin.is-on .rdr-lbl{fill:var(--blue)}
.rdr-pin:focus-visible .rdr-sel{opacity:1;stroke:var(--blue)}

/* --- overlays --- */
.rdr-legend{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.94);
 border:1px solid var(--line);border-radius:5px;padding:10px 12px;display:grid;gap:6px;
 font-size:.72rem;font-weight:600;color:var(--navy);backdrop-filter:blur(6px)}
.rdr-legend span{display:flex;align-items:center;gap:8px;white-space:nowrap}
.rdr-key{width:9px;height:9px;border-radius:50%;flex:none}
.rdr-key-active{background:var(--blue)}
.rdr-key-feat{background:#17A9C4;box-shadow:0 0 0 3px rgba(23,169,196,.22)}
.rdr-key-base{background:#C8922B;box-shadow:0 0 0 3px rgba(200,146,43,.22)}

.rdr-search{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:min(300px,58%);
 display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.96);border:1px solid var(--line);
 border-radius:5px;padding:0 12px;min-height:44px;backdrop-filter:blur(6px)}
.rdr-search svg{width:17px;height:17px;flex:none;color:var(--muted)}
.rdr-search input{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:.86rem;
 color:var(--navy);outline:none;min-height:42px}
.rdr-clear{border:0;background:none;font-size:1.3rem;line-height:1;color:var(--muted);cursor:pointer;
 padding:0 2px;min-width:32px;min-height:32px}

.rdr-zoom{position:absolute;right:12px;bottom:12px;display:grid;gap:6px}
.rdr-zoom button{width:44px;height:44px;display:grid;place-items:center;background:rgba(255,255,255,.96);
 border:1px solid var(--line);border-radius:5px;font-size:1.15rem;line-height:1;color:var(--navy);
 cursor:pointer;backdrop-filter:blur(6px)}
.rdr-zoom button:hover{border-color:var(--navy)}
.rdr-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;
 background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:5px;
 padding:14px 18px;font-size:.86rem;color:var(--navy)}
.rdr-empty a{color:var(--blue);font-weight:600}

/* --- sidebar --- */
.rdr-side{background:#fff;border:1px solid var(--line);border-radius:5px;overflow:hidden}
.rdr-side-body{padding:18px}
.rdr-grab{display:none}
.rdr-h{font-size:.66rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
 color:var(--muted);margin:0 0 12px}

.rdr-live{padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:16px}
.rdr-live-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rdr-stat{background:var(--pearl);border-radius:5px;padding:12px 14px}
.rdr-stat b{display:block;font-family:var(--serif);font-size:1.45rem;color:var(--navy);line-height:1.1}
.rdr-stat span{display:block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
 color:var(--muted);margin-top:5px}
.rdr-live-note{margin:12px 0 0;font-size:.79rem;line-height:1.6;color:var(--muted)}

.rdr-detail{padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:16px}
.rdr-name{font-family:var(--serif);font-size:1.2rem;color:var(--navy);margin:0 0 8px;line-height:1.25}
.rdr-desc{font-size:.86rem;line-height:1.62;color:var(--body);margin:0 0 16px}

.rdr-zone-list{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px}
.rdr-zone{display:block;width:100%;text-align:left;background:var(--pearl);border:1px solid transparent;
 border-radius:5px;padding:12px 14px;cursor:pointer;font:inherit;min-height:44px}
.rdr-zone:hover,.rdr-zone:focus-visible{border-color:var(--blue);background:#fff}
.rdr-zone-tag{display:inline-block;font-size:.58rem;font-weight:700;letter-spacing:.16em;
 text-transform:uppercase;padding:3px 8px;border-radius:4px;color:#fff}
.rdr-zone-tag-feat{background:#0E7E93}
.rdr-zone-tag-base{background:#8A6414}
.rdr-zone-name{display:block;font-weight:700;color:var(--navy);font-size:.94rem;margin:7px 0 3px}
.rdr-zone-desc{display:block;font-size:.79rem;line-height:1.55;color:var(--muted)}
.rdr-zone-cta{display:block;font-size:.76rem;font-weight:700;color:var(--blue);margin-top:8px}

.rdr-facts{margin:0;display:grid;gap:9px}
.rdr-facts>div{display:flex;justify-content:space-between;gap:12px;font-size:.8rem}
.rdr-facts dt{color:var(--muted)}
.rdr-facts dd{margin:0;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}

/* --- tablet --- */
@media(max-width:1080px){
 .rdr{grid-template-columns:1fr;gap:0}
 .rdr-side{border-top:0;border-radius:0 0 5px 5px;margin-top:-1px}
 .rdr-canvas{border-radius:5px 5px 0 0}
}

/* --- mobile: drawer --- */
@media(max-width:760px){
 .rdr-legend{top:8px;left:8px;padding:8px 10px;font-size:.66rem;gap:5px}
 .rdr-search{top:auto;bottom:12px;left:12px;right:68px;transform:none;width:auto}
 .rdr-zoom{right:8px;bottom:8px}
 .rdr-zoom button{width:40px;height:40px}
 .rdr-lbl,.rdr-lbl-bg{font-size:19px;opacity:0;transition:opacity .18s var(--ease)}
 .rdr-featured .rdr-lbl,.rdr-featured .rdr-lbl-bg,
 .rdr-base .rdr-lbl,.rdr-base .rdr-lbl-bg,
 .rdr-pin.is-on .rdr-lbl,.rdr-pin.is-on .rdr-lbl-bg{opacity:1}
 .rdr-water{font-size:23px}
 .rdr-roadlbl{display:none}

 .rdr-grab{display:flex;flex-direction:column;align-items:center;gap:7px;width:100%;
  background:#fff;border:0;border-bottom:1px solid var(--line);padding:12px 16px 11px;
  cursor:pointer;font:inherit;min-height:52px}
 .rdr-grab-bar{width:38px;height:4px;border-radius:2px;background:#C9D2E4}
 .rdr-grab-txt{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--navy)}
 .rdr-side-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s var(--ease);
  padding:0 16px;overflow:hidden}
 .rdr-side-body>*{min-height:0}
 .rdr-side.is-open .rdr-side-body{grid-template-rows:1fr;padding:16px}
}
@media(prefers-reduced-motion:reduce){
 .rdr-ring{animation:none;opacity:0}
 .rdr-featured .rdr-ring,.rdr-base .rdr-ring{opacity:.3;transform:scale(1.6)}
 .rdr-side-body,.rdr-lbl,.rdr-lbl-bg{transition:none}
 #rdrView{will-change:auto}
}






/* ============================================================
   COVERAGE MAP LAYOUT FIX
   The zone panel ran 1134px tall against an 879px map, leaving
   255px of dead space under the map on desktop. The panel now
   scrolls internally and the map fills the row.
   ============================================================ */

/* Stats block removed at request. */
.rdr-facts{display:none!important}

/* Letterbox around the map reads as land rather than a white band. */
.rdr-canvas{background:#F4F6FA}

@media(min-width:1081px){
 /* Both columns share one height derived from the viewport, so neither
    leaves dead space under the other. The SVG keeps its aspect ratio
    through preserveAspectRatio, so capping the height letterboxes
    slightly rather than distorting the map. */
 .rdr{align-items:stretch!important;--rdr-h:clamp(560px,calc(100vh - 140px),900px)}
 .rdr-stage{height:var(--rdr-h);max-height:var(--rdr-h);overflow:hidden}
 /* The canvas was sizing itself from the SVG's aspect ratio and running
    167px past the bottom of the stage, so the map painted below the panel
    column. Clamp it to the stage and let the SVG fit inside. */
 .rdr-canvas{height:100%!important;max-height:100%}
 .rdr-svg{height:100%;width:100%}

 /* Panel capped to the viewport and scrolling inside itself, which is
    the normal pattern for a map beside a list. */
 .rdr-side{display:flex;flex-direction:column;min-height:0;
  height:var(--rdr-h);max-height:var(--rdr-h)}
 .rdr-side-body{overflow-y:auto;min-height:0;flex:1 1 auto;
  overscroll-behavior:contain;scrollbar-width:thin}
 .rdr-side-body::-webkit-scrollbar{width:8px}
 .rdr-side-body::-webkit-scrollbar-thumb{background:rgba(20,30,77,.18);border-radius:8px}
 .rdr-side-body::-webkit-scrollbar-track{background:transparent}
}

/* Mobile drawer: the collapse used grid-template-rows 0fr -> 1fr, which left
   the weather tiles sized from a zero-height row while still painting, so
   they landed on top of the section below. A max-height collapse clips
   cleanly and lets every child size to its own content. */
/* The grab handle only exists below 760px, so the collapse must too.
   Between 761 and 1080 the panel is static and must stay open. */
@media(min-width:761px) and (max-width:1080px){
 .rdr-side-body{display:block!important;grid-template-rows:none!important;
  max-height:none!important;overflow:visible;padding:16px!important}
 .rdr-side-body>*{min-height:auto!important}
 .rdr-live{overflow:visible}
}
@media(max-width:760px){
 .rdr-side-body{display:block!important;grid-template-rows:none!important;
  max-height:0;overflow:hidden;padding:0 16px!important;
  transition:max-height .32s var(--ease),padding .32s var(--ease)}
 .rdr-side.is-open .rdr-side-body{max-height:3200px;padding:16px!important}
 .rdr-side-body>*{min-height:auto!important}
 .rdr-live{overflow:visible}
 .rdr-live-row{grid-template-columns:1fr 1fr;gap:10px}
}
@media(prefers-reduced-motion:reduce){.rdr-side-body{transition:none!important}}


/* ============================================================
   VISIT + CONTACT + QUOTE — merged into one section
   Was three stacked blocks: a map facade beside contact details
   with dead space under the shorter column, then a separate
   full-width quote section. Two section paddings and one dead
   column, for content that belongs together.
   ============================================================ */
.visit-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
 gap:32px;align-items:stretch;margin-top:26px}

/* One card, not two. Two stacked cards of different colours against a single
   tall card on the right read as unbalanced even though the geometry matched
   exactly. */
.visit-left{display:flex;flex-direction:column;min-width:0;
 background:#fff;border:1px solid var(--line);border-radius:5px;overflow:hidden}
.visit-left .mapbox{margin:0;border:0!important;border-radius:0!important;
 border-bottom:1px solid var(--line)!important;flex:0 0 auto}
.visit-left .mapfacade{min-height:0!important;padding:34px 22px!important}
.visit-contact{background:transparent;border:0;border-radius:0;
 padding:24px;flex:1 1 auto}
.visit-contact h3{font-size:1.12rem;margin-bottom:14px}
.visit-contact .tick li{font-size:.9rem}

.visit-right{min-width:0;display:flex}
.visit-right .quote-card{flex:1 1 auto;display:flex;flex-direction:column}
.vq-h{font-family:var(--serif);font-size:1.45rem;color:var(--navy);margin:0;line-height:1.2}
.vq-sub{font-size:.88rem;line-height:1.65;color:var(--body);margin:10px 0 0}
.vq-or{margin:20px 0 12px;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
 color:var(--muted);text-align:center}

/* Balance the two columns: the map facade takes whatever height is left
   once the contact card has what it needs, so neither column ends short. */
@media(min-width:901px){
 .visit-left .mapbox{min-height:260px}
}

@media(max-width:900px){
 .visit-grid{grid-template-columns:1fr;gap:20px;margin-top:20px;display:flex;flex-direction:column}
 /* Form first on a phone. Someone who taps Get Price should not have to
    scroll past a map facade and an address to reach it. */
 .visit-right{order:-1}
 .visit-left{gap:18px}
 .visit-contact{padding:20px}
}


