:root{--navy:#102a37;--navy-dark:#081d29;--navy-light:#1b4351;--teal:#0f8f86;--mint:#b5eee1;--gold:#e5c68e;--gold-deep:#cba05c;--ink:#1c3038;--muted:#65777c;--white:#fff;--paper:#f6f9f8;--mist:#eaf2ef;--line:#dce8e4;--shadow:0 18px 55px rgba(13,38,45,.085);--radius:22px;--ease:cubic-bezier(.2,.75,.2,1)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.no-scroll{overflow:hidden}
::selection{background:#b0e8d8;color:#102a37}
a{color:inherit;text-decoration:none}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #f6c66c;outline-offset:4px}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Manrope,'DM Sans',Arial,sans-serif;letter-spacing:-.045em}
.icon{display:inline-block;flex-shrink:0;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.svg-sprite{width:0;height:0;position:absolute;overflow:hidden}
.container{width:min(100% - 88px,1216px);margin-inline:auto}
.skip-link{position:fixed;z-index:2000;left:10px;top:-80px;padding:12px 18px;background:#fff;color:#092830}
.skip-link:focus{top:10px}
.section{padding:120px 0}
.eyebrow{font-family:Manrope,'DM Sans',sans-serif;font-size:11px;font-weight:800;letter-spacing:.17em;color:var(--teal);display:flex;align-items:center;gap:11px;margin-bottom:25px;text-transform:uppercase}
.eyebrow-index{color:var(--gold-deep);font-weight:800;letter-spacing:.06em}
.eyebrow--light{color:#b3e6d9}
.eyebrow-dot{height:7px;width:7px;background:#e4c686;display:inline-block;box-shadow:0 0 0 5px rgba(228,198,134,.12);border-radius:50%;flex-shrink:0}
h2{font-size:clamp(2.45rem,4vw,3.65rem);line-height:1.14;font-weight:800;margin-bottom:0;color:var(--navy)}
.heading-accent{color:var(--teal)}
.section-lead{font-size:16px;line-height:1.87;color:var(--muted);max-width:385px;margin:0}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:13px;font-size:14px;font-weight:700;letter-spacing:-.015em;padding:18px 24px;min-height:57px;border-radius:12px;border:1px solid transparent;transition:transform .25s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease);white-space:nowrap}
.btn:hover{transform:translateY(-3px)}
.btn .icon{width:19px;height:19px}
.btn-primary{background:var(--gold);color:var(--navy-dark);box-shadow:0 12px 30px rgba(1,19,26,.13)}
.btn-primary:hover{background:#f5d6a0;box-shadow:0 15px 30px rgba(1,19,26,.22)}
.btn-ghost{color:#f0faf6;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.19)}
.btn-ghost:hover{background:rgba(255,255,255,.15)}
.btn-arrow{margin-left:6px}
.text-link{display:inline-flex;align-items:center;gap:13px;color:var(--teal);font-size:14px;font-weight:800;transition:gap .2s var(--ease),color .2s}
.text-link:hover{gap:19px;color:#0e6a64}
.text-link .icon{width:18px;height:18px}
/* Header */
.site-header{position:relative;z-index:120;background:#0c2531;border-bottom:1px solid rgba(255,255,255,.1)}
.header-inner{display:flex;justify-content:space-between;align-items:center;min-height:98px;gap:25px}
.brand{display:flex;align-items:center;gap:13px;min-width:235px;color:#fff}
.brand-mark{width:39px;height:39px;position:relative;display:block;border:1px solid rgba(226,197,142,.65);border-radius:10px;transform:rotate(0);flex-shrink:0}
.brand-mark span{position:absolute;display:block;border:2px solid var(--gold);border-bottom:0;border-right:0;transform:rotate(45deg);width:16px;height:16px;top:10px;left:10px}
.brand-mark span:nth-child(2){width:10px;height:10px;top:15px;left:15px;border-color:#7fddd0}
.brand-mark span:nth-child(3){border:none;transform:none;background:var(--gold);height:9px;width:6px;border-radius:2px 2px 0 0;left:17px;top:20px}
.brand-name{font-family:Manrope,Arial,sans-serif;font-weight:700;font-size:12.5px;line-height:1.37;letter-spacing:.035em;white-space:nowrap}
.brand-name strong{font-weight:800}
.brand-name small{display:block;font-size:10px;letter-spacing:.29em;color:var(--gold);font-weight:800;margin-top:1px}
.desktop-nav{display:flex;align-items:center;gap:clamp(17px,2vw,31px);margin-left:auto}
.desktop-nav a{font-size:12.5px;font-weight:700;color:#d0e0df;transition:color .2s}
.desktop-nav a:hover{color:var(--gold)}
.header-contact{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(180,228,220,.45);padding:12px 16px;color:#fff;border-radius:9px;font-size:12.5px;font-weight:700;transition:background .2s}
.header-contact:hover{background:rgba(255,255,255,.1)}
.header-contact .icon{width:18px;height:18px;color:#79ddba}
.menu-toggle{display:none;align-items:center;justify-content:center;width:45px;height:45px;border-radius:9px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;cursor:pointer}
.mobile-nav{display:none}
/* Hero */
.hero{background:linear-gradient(128deg,#112f3c 0%,#09222e 55%,#102e35 100%);position:relative;isolation:isolate;overflow:hidden;color:#fff}
.hero::before{content:"";position:absolute;z-index:-1;top:-400px;left:-390px;width:950px;height:950px;background:radial-gradient(circle,rgba(57,150,137,.19) 0%,transparent 64%);pointer-events:none}
.hero::after{content:"";position:absolute;z-index:-1;width:300px;height:300px;right:-170px;bottom:65px;border:1px solid rgba(194,225,218,.17);border-radius:50%;box-shadow:0 0 0 70px rgba(165,208,197,.025),0 0 0 140px rgba(165,208,197,.022);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px;padding-top:76px;padding-bottom:90px;min-height:665px}
.hero-content{position:relative;z-index:5;max-width:640px}
.hero h1{color:#fff;font-size:clamp(3.1rem,5.35vw,5.7rem);letter-spacing:-.068em;line-height:1.09;margin-bottom:26px;font-weight:800}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero-subtitle{font-size:17px;line-height:1.9;max-width:485px;color:#c5d6d6;margin-bottom:31px;font-weight:400}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-micro{display:flex;align-items:center;gap:10px;color:#bbd2d1;font-size:12.5px;margin-top:26px}
.micro-icon{display:grid;place-items:center;border-radius:50%;width:24px;height:24px;background:rgba(90,210,184,.12);color:#9dedcf;border:1px solid rgba(141,237,204,.29)}
.micro-icon .icon{width:14px;height:14px}
.hero-art{position:relative;height:550px;display:flex;justify-content:center;align-items:center;min-width:0}
.hero-halo{position:absolute;width:530px;height:530px;max-width:125%;border-radius:50%;background:radial-gradient(circle at center,rgba(100,193,175,.22),rgba(51,122,121,.07) 48%,transparent 70%);border:1px solid rgba(216,243,234,.08)}
.hero-poster-wrap{position:relative;width:min(100%,355px);height:515px;padding:12px 13px 13px;background:#f7f9f2;border:1px solid #f8faf4;border-radius:20px;box-shadow:0 25px 65px rgba(0,0,0,.3),0 0 0 10px rgba(255,255,255,.04);display:flex;flex-direction:column;align-items:center;z-index:2}
.poster-caption{display:flex;align-items:center;gap:9px;color:#3d6765;font-size:9px;letter-spacing:.08em;font-weight:800;margin-bottom:9px;line-height:1.2;white-space:nowrap;width:100%}
.caption-dot{height:7px;width:7px;background:#20a890;border-radius:50%;flex-shrink:0}
.poster-caption-line{height:1px;background:#c0d7d0;flex:1;min-width:10px}
.hero-poster{height:calc(100% - 22px);width:100%;object-fit:contain;border-radius:8px}
.floating-info{position:absolute;z-index:4;display:flex;align-items:center;gap:12px;background:#fff;color:#23393d;border:1px solid #f3f8f6;border-radius:13px;box-shadow:0 14px 38px rgba(0,0,0,.21);padding:12px 17px;max-width:230px}
.floating-info--one{top:77px;left:-7px}.floating-info--two{right:-6px;bottom:75px}
.float-icon{height:39px;width:39px;display:grid;place-items:center;background:#e2f4f0;color:#128e83;border-radius:9px}
.float-icon--gold{background:#f9efd9;color:#a77b32}
.floating-info strong,.floating-info small{display:block;white-space:nowrap}
.floating-info strong{font-size:11px;font-weight:800;line-height:1.4}
.floating-info small{font-size:10px;color:#78878c}
.hero-bottom{border-top:1px solid rgba(216,243,234,.12);display:flex;align-items:center;justify-content:space-between;height:67px;color:#9fb9ba;font-family:Manrope,Arial,sans-serif;font-size:10px;letter-spacing:.21em;font-weight:800}
.hero-bottom a{display:flex;align-items:center;gap:12px;color:#d8e5df}
.scroll-line{height:22px;width:1px;background:#c9a967;display:inline-block}
/* Info rail */
.intro-rail{background:#f3f7f4;border-bottom:1px solid #e2ebe6}
.rail-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:24px 0}
.rail-item{display:flex;gap:14px;align-items:center;justify-content:center;padding:4px 25px;border-right:1px solid #d9e6e0}
.rail-item:first-child{justify-content:flex-start}.rail-item:last-child{border:0;justify-content:flex-end}
.rail-icon{height:47px;width:47px;display:grid;place-items:center;background:#e0f1eb;border:1px solid #d5e7df;color:#168f82;border-radius:12px;flex-shrink:0}
.rail-icon .icon{height:22px;width:22px}
.rail-item strong,.rail-item small{display:block;line-height:1.5}
.rail-item strong{font-family:Manrope,sans-serif;font-size:15px;color:#18323b;font-weight:800}
.rail-item small{font-size:11.5px;color:#72817e}
/* Service */
.services-section{background:#fff}
.split-heading{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:48px}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.service-card{position:relative;background:#fbfcfb;border:1px solid #e2ebe7;border-radius:18px;padding:29px 25px 25px;min-height:290px;box-shadow:0 5px 30px rgba(17,45,46,.028);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s;overflow:hidden}
.service-card:hover{transform:translateY(-7px);box-shadow:0 15px 40px rgba(17,45,46,.095);border-color:#c2ded7}
.service-number{font-family:Manrope,sans-serif;position:absolute;top:22px;right:22px;font-size:11px;letter-spacing:.1em;color:#9ba9a6;font-weight:700}
.service-icon{background:#e5f3ed;border-radius:13px;width:56px;height:56px;display:grid;place-items:center;color:#13867b;margin-bottom:26px}
.service-icon .icon{width:25px;height:25px}
.service-card h3{font-size:18px;font-weight:800;line-height:1.4;letter-spacing:-.04em;color:#16313a;margin-bottom:13px}
.service-card p{font-size:13px;line-height:1.8;color:#6a7778;margin-bottom:16px}
.card-footer-line{width:28px;height:3px;display:block;position:absolute;bottom:23px;background:#d0ac70;border-radius:3px}
.service-bottom{border:1px solid #dfe8e3;border-radius:14px;background:#f8fbf9;margin-top:23px;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.bottom-copy{display:flex;gap:13px;align-items:center}
.bottom-copy p{margin:0;color:#74807d;font-size:13px;line-height:1.55}
.bottom-copy strong{color:#253f42;font-size:14px}
.bottom-check{display:grid;place-items:center;background:#dcefe7;color:#12867c;width:35px;height:35px;border-radius:50%;flex-shrink:0}
.bottom-check .icon{width:18px;height:18px}
/* Requirements */
.requirements-section{background:#102d39;overflow:hidden;position:relative;color:#fff}
.requirements-section::before{content:"";position:absolute;width:380px;height:380px;right:-250px;top:30px;border:1px solid rgba(209,238,222,.09);border-radius:50%;box-shadow:0 0 0 65px rgba(209,238,222,.027),0 0 0 130px rgba(209,238,222,.02)}
.requirements-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(55px,8vw,130px);position:relative}
.requirements-side{display:flex;flex-direction:column;align-items:flex-start}
.requirements-side h2{color:#fff;font-size:clamp(2.9rem,4.7vw,4.3rem);line-height:1.18;margin:0 0 22px}
.requirements-side h2 em{color:var(--gold);font-style:normal}
.requirements-side>p:not(.eyebrow){color:#b0c6c9;font-size:15px;line-height:1.85;max-width:370px}
.requirements-deco{position:relative;width:260px;height:210px;margin-top:6px;margin-bottom:13px;display:grid;place-items:center}
.deco-ring{position:absolute;border-radius:50%;border:1px solid rgba(207,229,218,.17)}
.ring1{height:170px;width:170px}.ring2{height:220px;width:220px;border-color:rgba(207,229,218,.12)}.ring3{height:120px;width:120px;background:rgba(39,148,133,.08)}
.deco-center{position:relative;width:65px;height:65px;background:linear-gradient(145deg,#d9b575,#f3daae);display:grid;place-items:center;border-radius:18px;color:#1f4145;box-shadow:0 13px 30px rgba(0,0,0,.12)}
.deco-center .icon{width:33px;height:33px;stroke-width:2.1}
.btn-outline-light{background:transparent;color:#e4f7ef;border-color:rgba(199,236,219,.38)}
.btn-outline-light:hover{background:rgba(255,255,255,.09)}
.requirements-list{display:flex;flex-direction:column;gap:13px}
.requirement{display:flex;align-items:flex-start;gap:19px;background:rgba(244,251,248,.065);border:1px solid rgba(232,248,240,.15);border-radius:15px;padding:25px 22px;transition:background .2s,border-color .2s}
.requirement:hover{background:rgba(244,251,248,.1);border-color:rgba(232,248,240,.28)}
.requirement-num{font-family:Manrope,sans-serif;font-size:12px;font-weight:800;color:#e5c68e;padding-top:2px}
.requirement h3{font-family:Manrope,sans-serif;color:#fff;font-size:17px;letter-spacing:-.027em;font-weight:700;margin-bottom:8px;line-height:1.4}
.requirement p{font-size:13px;color:#b8cdcd;line-height:1.7;margin:0}
.requirement-mark{margin-left:auto;color:#f1d5a0;background:rgba(230,195,134,.1);border:1px solid rgba(230,195,134,.19);height:30px;width:30px;flex-shrink:0;border-radius:50%;display:grid;place-items:center}
.requirement-mark .icon{width:14px;height:14px}
.price-note{padding:23px 24px;display:flex;gap:16px;background:#d2eee6;color:#1c3b42;border:1px solid #cee5df;border-radius:15px;margin-top:5px}
.price-note-icon{display:grid;place-items:center;flex-shrink:0;width:39px;height:39px;border-radius:10px;background:#b4dfd4;color:#0b7269}
.price-note strong{font-family:Manrope,sans-serif;font-size:15px;font-weight:800}
.price-note p{font-size:12.5px;line-height:1.8;margin:6px 0 0;color:#44665f}
.price-note b{font-weight:800;color:#1b4945}
.requirements-disclaimer{font-size:11px;line-height:1.65;color:#a2b8bb;margin:4px 0 0;padding:0 4px}
/* Gallery */
.gallery-section{background:linear-gradient(180deg,#f6f9f7,#eaf3ef)}
.gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:42px}
.gallery-heading h2{max-width:700px}
.gallery-heading p:not(.eyebrow){font-size:15px;line-height:1.85;color:#667975;max-width:620px;margin:17px 0 0}
.gallery-count{display:flex;align-items:center;gap:9px;white-space:nowrap;border:1px solid #d6e5dd;border-radius:30px;background:#fff;padding:11px 17px;color:#607a73;font-size:12px;font-weight:800;margin-bottom:4px}
.gallery-count .icon{color:var(--teal);width:17px;height:17px}
.gallery-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.gallery-card{cursor:zoom-in;text-align:left;appearance:none;background:#fff;border:1px solid #dfebe4;border-radius:18px;padding:10px;display:flex;flex-direction:column;min-width:0;grid-column:span 2;overflow:hidden;box-shadow:0 10px 27px rgba(21,65,58,.035);transition:transform .24s var(--ease),box-shadow .24s var(--ease),border-color .24s}
.gallery-card:nth-child(4),.gallery-card:nth-child(5){grid-column:span 3}
.gallery-card:hover{transform:translateY(-6px);box-shadow:0 18px 42px rgba(19,57,51,.14);border-color:#b5d5c9}
.gallery-media{background:radial-gradient(ellipse at center,#ebf3f0 0%,#dce9e5 100%);border:1px solid rgba(21,77,62,.08);border-radius:11px;position:relative;display:flex;align-items:center;justify-content:center;min-height:0;aspect-ratio:1 / 1.14;padding:12px;overflow:hidden}
.gallery-card:nth-child(4) .gallery-media,.gallery-card:nth-child(5) .gallery-media{aspect-ratio:1.45 / 1}
.gallery-media img{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 10px 13px rgba(17,38,32,.09));border-radius:5px}
.expand-icon{position:absolute;right:13px;bottom:13px;border:1px solid rgba(226,239,233,.7);background:rgba(15,43,49,.9);border-radius:9px;height:39px;width:39px;display:grid;place-items:center;color:#fff;transition:transform .2s}
.gallery-card:hover .expand-icon{transform:scale(1.08)}
.expand-icon .icon{width:19px;height:19px}
.gallery-card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 11px 10px;color:#1e4145}
.gallery-card-meta small{font-size:9px;letter-spacing:.13em;font-weight:800;color:#7b9892;display:block;line-height:1.45;margin-bottom:7px}
.gallery-card-meta strong{font-family:Manrope,sans-serif;letter-spacing:-.025em;font-size:15px;line-height:1.4;display:block;font-weight:800}
.gallery-card-meta>.icon{color:#24998b;width:19px;height:19px}
.gallery-footnote{display:flex;align-items:flex-start;gap:9px;color:#75847f;font-size:11.5px;line-height:1.7;margin:25px 0 0}
.gallery-footnote .icon{width:15px;height:15px;margin-top:2px;color:#679b8b}
/* coverage */
.coverage-section{background:#fff}
.coverage-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,8vw,125px);align-items:center}
.coverage-copy h2{max-width:560px}
.coverage-copy>p:not(.eyebrow){font-size:15px;color:var(--muted);line-height:1.9;margin:24px 0 27px;max-width:440px}
.coverage-panel{background:linear-gradient(155deg,#103540 0%,#163e48 100%);border-radius:22px;padding:27px;box-shadow:0 25px 50px rgba(6,42,46,.17);position:relative;overflow:hidden}
.coverage-panel::after{content:"";width:230px;height:230px;border:1px solid rgba(255,255,255,.04);border-radius:50%;position:absolute;right:-140px;top:-90px;pointer-events:none;box-shadow:0 0 0 55px rgba(255,255,255,.02)}
.coverage-panel-header{display:flex;align-items:center;gap:14px;margin-bottom:25px;color:#b9d9d4;font-size:10px;font-weight:800;letter-spacing:.12em}
.panel-logo{width:42px;height:42px;background:#2d5b62;color:#bce8d8;display:grid;place-items:center;border-radius:12px}
.panel-dots{display:flex;gap:5px;margin-left:auto}
.panel-dots i{display:block;width:6px;height:6px;border-radius:50%;background:#b1c4bf;opacity:.6}
.panel-dots i:first-child{background:var(--gold);opacity:1}
.city-list{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.city{display:flex;align-items:center;gap:10px;min-width:0;border:1px solid rgba(199,231,222,.21);background:rgba(245,255,251,.06);border-radius:11px;padding:15px 13px;color:#e7f2ed;font-family:Manrope,sans-serif;font-weight:700;font-size:12px;white-space:nowrap}
.city .icon{width:16px;height:16px;color:#d8b879}
.city span{margin-left:auto;font-family:'DM Sans',sans-serif;color:#6e9f9d;font-size:10px}
.city-main{grid-column:span 2;background:rgba(220,196,146,.11);border-color:rgba(220,196,146,.39)}
.coverage-panel-footer{border-top:1px solid rgba(219,235,226,.15);color:#abc8c3;margin-top:23px;padding-top:18px;display:flex;align-items:center;gap:9px;font-size:11.5px}
.coverage-pulse{width:7px;height:7px;border-radius:50%;background:#72d7bb;box-shadow:0 0 0 4px rgba(114,215,187,.13)}
/* FAQ */
.faq-section{background:#f5f8f7}
.faq-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(35px,8vw,120px)}
.faq-title{position:relative;min-height:380px}
.faq-title>p:not(.eyebrow){color:#6a7c78;line-height:1.9;font-size:15px;max-width:345px;margin:24px 0 0}
.faq-decoration{font-family:Manrope,Arial,sans-serif;font-weight:800;line-height:1;position:absolute;bottom:-40px;left:24%;color:rgba(18,132,119,.05);font-size:330px;z-index:0;pointer-events:none}
.faq-list{position:relative;z-index:1}
.faq-item{background:white;border:1px solid #e1ebe6;border-radius:12px;margin-bottom:11px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.faq-item[open]{border-color:#aed8c9;box-shadow:0 9px 24px rgba(18,66,53,.04)}
.faq-item summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 23px;list-style:none;color:#263d41;font-weight:800;font-family:Manrope,sans-serif;font-size:13px;line-height:1.55;letter-spacing:-.018em}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary span{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;border-radius:50%;background:#e9f4ef;color:#178b7c;transition:transform .2s}
.faq-item[open] summary span{transform:rotate(180deg);background:#cce9dd}
.faq-item summary .icon{width:16px;height:16px}
.faq-answer{padding:0 58px 21px 23px;font-size:13px;color:#71837e;line-height:1.8}
.faq-answer a{font-weight:800;color:var(--teal);text-decoration:underline;text-underline-offset:3px}
/* Contact */
.contact-section{padding:40px 0 100px;background:#f5f8f7}
.contact-panel{background:linear-gradient(122deg,#102e3a 0%,#0c2631 60%,#16383e 100%);border-radius:24px;padding:clamp(35px,6vw,75px);display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(35px,6vw,90px);position:relative;overflow:hidden;isolation:isolate}
.contact-panel::before{content:"";z-index:-1;position:absolute;top:-160px;left:-210px;width:580px;height:580px;border:1px solid rgba(159,206,191,.06);border-radius:50%;box-shadow:0 0 0 80px rgba(163,219,197,.022),0 0 0 155px rgba(163,219,197,.018)}
.contact-copy{align-self:center}
.contact-copy h2{font-size:clamp(2.7rem,4vw,4.05rem);line-height:1.16;color:#fff;letter-spacing:-.058em;margin-bottom:25px}
.contact-copy h2 em{font-style:normal;color:var(--gold)}
.contact-copy>p:not(.eyebrow){color:#b9cfcd;line-height:1.9;font-size:15px;max-width:450px;margin-bottom:29px}
.contact-cta{margin-bottom:14px}
.contact-small{display:block;color:#a8c6c3;font-size:11px}
.contact-card{background:#fff;border-radius:17px;padding:28px;align-self:center;box-shadow:0 18px 48px rgba(0,0,0,.14)}
.contact-card-head{display:flex;justify-content:space-between;color:#77918e;letter-spacing:.13em;font-size:10px;font-family:Manrope,sans-serif;font-weight:800;border-bottom:1px solid #e8efeb;padding-bottom:18px;margin-bottom:27px}
.contact-card-head .icon{height:17px;width:17px;color:#179185}
.contact-phone-label{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:800;letter-spacing:.14em;color:#20957b}
.contact-phone-label .icon{width:20px;height:20px}
.phone-number{display:block;white-space:nowrap;font-family:Manrope,sans-serif;font-weight:800;font-size:clamp(1.4rem,2.3vw,2.13rem);letter-spacing:-.075em;color:#19383e;margin:11px 0 24px;transition:color .2s}
.phone-number:hover{color:var(--teal)}
.contact-detail{display:flex;align-items:flex-start;gap:13px;border-top:1px solid #edf1ef;padding:16px 0}
.contact-detail:last-child{padding-bottom:0}
.contact-detail>.icon{width:19px;height:19px;margin-top:5px;color:#188c80}
.contact-detail small,.contact-detail strong{display:block}
.contact-detail small{font-size:9px;font-family:Manrope,sans-serif;letter-spacing:.1em;color:#829794;font-weight:800;margin-bottom:4px}
.contact-detail strong{font-size:12px;font-weight:700;color:#243f44;line-height:1.5}
/* footer */
.site-footer{background:#0d2530;color:#fff}
.footer-main{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:42px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.footer-brand{font-family:Manrope,sans-serif;font-weight:800;font-size:15px;letter-spacing:-.02em;line-height:1.3}
.footer-brand span{color:var(--gold)}
.footer-main p{color:#a5bdbb;font-size:12px;margin:9px 0 0}
.footer-links{display:flex;gap:26px}
.footer-links a{color:#c0d5d3;font-size:12px;font-weight:700;transition:color .2s}
.footer-links a:hover{color:var(--gold)}
.back-to-top{width:43px;height:43px;border:1px solid rgba(255,255,255,.23);border-radius:11px;display:grid;place-items:center;flex-shrink:0;transition:background .2s}
.back-to-top:hover{background:rgba(255,255,255,.12)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;color:#8da6a7;font-size:11px;padding:23px 0 26px}
/* floating contact */
.whatsapp-float{position:fixed;z-index:110;right:26px;bottom:26px;display:inline-flex;align-items:center;gap:11px;background:#21bd79;color:#fff;border-radius:50px;box-shadow:0 10px 32px rgba(8,90,63,.31);padding:14px 20px;font-size:13px;font-weight:800;border:1px solid rgba(255,255,255,.32);transition:transform .2s,box-shadow .2s}
.whatsapp-float:hover{transform:translateY(-4px);box-shadow:0 16px 37px rgba(8,90,63,.43)}
.whatsapp-float .icon{width:23px;height:23px;stroke-width:1.7}
/* lightbox */
.lightbox{position:fixed;z-index:999;inset:0;display:none;align-items:center;justify-content:center;background:rgba(3,18,22,.94);padding:65px 75px 65px;backdrop-filter:blur(15px)}
.lightbox.is-open{display:flex}
.lightbox-figure{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:min(100%,1000px);max-height:100%;min-width:0}
.lightbox-figure img{display:block;object-fit:contain;max-height:calc(100dvh - 150px);max-width:100%;width:auto;height:auto;border-radius:7px;border:1px solid rgba(255,255,255,.25);box-shadow:0 15px 70px rgba(0,0,0,.3)}
.lightbox-figure figcaption{color:#dcece7;font-size:12px;text-align:center;margin-top:13px;max-width:80vw}
.lightbox button{cursor:pointer;color:#fff;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.27);border-radius:50%;display:grid;place-items:center;transition:background .2s}
.lightbox button:hover{background:rgba(255,255,255,.24)}
.lightbox-close{width:44px;height:44px;position:absolute;top:20px;right:25px}
.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);width:45px;height:45px;font-size:36px;line-height:1}
.lightbox-prev{left:23px}.lightbox-next{right:23px}
.lightbox-counter{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:#c4d8d3;font-size:12px;letter-spacing:.08em}
/* gentle scroll reveals */
/* Progressive enhancement: all content stays visible even when JS or observers fail. */
.js-ready [data-reveal]{opacity:1;transform:none}
.js-ready [data-reveal].visible{animation:soft-appear .68s var(--ease) both}
@keyframes soft-appear{from{transform:translateY(13px);opacity:.85}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.js-ready [data-reveal]{opacity:1;transform:none}}
@media(max-width:1190px){.container{width:min(100% - 64px,1216px)}.desktop-nav{gap:18px}.brand{min-width:212px}.brand-name{font-size:11px}.hero-grid{gap:30px}.floating-info--one{left:-5px}.floating-info--two{right:-9px}.service-card{padding-left:20px;padding-right:20px}}
@media(max-width:990px){.header-inner{min-height:79px}.desktop-nav{display:none}.header-contact{margin-left:auto}.menu-toggle{display:inline-flex}.mobile-nav{position:absolute;top:100%;left:0;right:0;padding:10px max(32px,calc((100vw - 1216px)/2));background:#0e2b37;border-bottom:1px solid rgba(255,255,255,.15);box-shadow:0 13px 27px rgba(4,27,34,.21)}.mobile-nav.is-open{display:grid}.mobile-nav a{color:#e5f1ec;font-size:14px;font-weight:700;padding:12px 3px;border-bottom:1px solid rgba(255,255,255,.09)}.mobile-nav a:last-child{border:0}.hero-grid{grid-template-columns:1fr 1fr;gap:20px;padding-top:75px;padding-bottom:70px}.hero h1{font-size:clamp(2.7rem,5vw,4rem)}.hero-art{height:520px}.hero-poster-wrap{width:290px;height:470px}.floating-info--one{left:-22px;top:62px}.floating-info--two{right:-15px;bottom:67px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:255px}.split-heading{align-items:flex-start}.requirements-layout{grid-template-columns:.85fr 1.15fr;gap:37px}.requirements-side h2{font-size:2.85rem}.coverage-layout{gap:44px}.faq-layout{gap:40px}.contact-panel{gap:45px}.contact-card{padding:22px}}
@media(max-width:750px){.container{width:min(100% - 38px,600px)}.section{padding:82px 0}.header-inner{min-height:73px}.brand{min-width:auto}.brand-mark{width:35px;height:35px}.brand-name{font-size:11px}.brand-name small{font-size:9px}.header-contact{display:none}.hero-grid{display:flex;flex-direction:column;gap:42px;padding-top:68px;padding-bottom:64px;min-height:0}.hero-content{width:100%}.hero h1{font-size:clamp(3rem,9vw,4.5rem);max-width:630px}.hero-subtitle{max-width:590px;font-size:15px;line-height:1.8}.hero-art{width:100%;max-width:480px;height:510px}.hero-poster-wrap{width:min(80%,320px);height:475px}.floating-info--one{left:0;top:57px}.floating-info--two{right:0;bottom:57px}.hero-bottom{height:55px;font-size:9px}.rail-grid{grid-template-columns:1fr;gap:0;padding:7px 0}.rail-item,.rail-item:first-child,.rail-item:last-child{justify-content:flex-start;border-right:0;border-bottom:1px solid #d9e6e0;padding:14px 2px}.rail-item:last-child{border-bottom:0}.rail-icon{height:41px;width:41px}.split-heading,.gallery-heading{display:block}.split-heading h2,.gallery-heading h2{margin-bottom:20px}.section-lead{max-width:100%}.gallery-count{margin-top:24px;width:max-content}.requirements-layout,.coverage-layout,.faq-layout{grid-template-columns:1fr;gap:43px}.requirements-deco{display:none}.requirements-side h2{max-width:540px}.requirements-side p:not(.eyebrow){margin-bottom:22px}.requirements-list{gap:12px}.coverage-copy h2{max-width:590px}.faq-title{min-height:0}.faq-decoration{display:none}.faq-title>p:not(.eyebrow){max-width:590px}.contact-section{padding:0 0 70px}.contact-panel{grid-template-columns:1fr;padding:42px 26px;gap:33px}.contact-card{padding:25px}.contact-copy h2{max-width:590px}.footer-main{flex-wrap:wrap;padding:37px 0}.footer-links{order:3;flex-basis:100%;flex-wrap:wrap}.footer-bottom{flex-direction:column;gap:7px}}
@media(max-width:600px){.hero h1{font-size:clamp(2.68rem,11.4vw,3.9rem)}.hero-actions{gap:9px}.hero-actions .btn{padding:15px 16px;font-size:12px;min-height:53px}.hero-art{height:450px}.hero-poster-wrap{width:min(78%,300px);height:425px}.floating-info{padding:10px 11px;gap:8px}.floating-info--one{left:-4px;top:48px}.floating-info--two{right:-5px;bottom:44px}.float-icon{height:32px;width:32px}.float-icon .icon{height:18px;width:18px}.floating-info strong{font-size:10px}.floating-info small{font-size:9px}.service-grid{grid-template-columns:1fr;gap:13px}.service-card{min-height:215px;padding:23px}.service-icon{margin-bottom:15px}.service-card h3{margin-bottom:9px}.service-bottom{display:block;padding:17px}.service-bottom .text-link{margin-top:17px;margin-left:47px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-card,.gallery-card:nth-child(4),.gallery-card:nth-child(5){grid-column:span 1;padding:6px;border-radius:12px}.gallery-card:last-child{grid-column:span 2}.gallery-media,.gallery-card:nth-child(4) .gallery-media,.gallery-card:nth-child(5) .gallery-media{aspect-ratio:1/1.22;padding:7px}.gallery-card:last-child .gallery-media{aspect-ratio:1.28 / 1}.gallery-card-meta{padding:11px 5px 7px}.gallery-card-meta small{font-size:8px}.gallery-card-meta strong{font-size:12px}.gallery-card-meta>.icon{width:15px;height:15px}.expand-icon{height:30px;width:30px;right:7px;bottom:7px}.expand-icon .icon{width:15px;height:15px}.city-list{gap:8px}.coverage-panel{padding:18px}.city{font-size:11px;padding:12px 9px;gap:5px}.city .icon{width:14px;height:14px}.city span{font-size:9px}.faq-item summary{font-size:12px;padding:18px}.faq-answer{padding:0 45px 19px 18px}.contact-copy h2{font-size:clamp(2.45rem,9vw,3.5rem)}.contact-panel{margin-inline:-2px}.whatsapp-float{bottom:16px;right:16px;padding:14px;border-radius:50%;width:54px;height:54px;justify-content:center}.whatsapp-float span{display:none}.whatsapp-float .icon{width:27px;height:27px}.lightbox{padding:65px 13px 85px}.lightbox-figure img{max-height:calc(100dvh - 210px)}.lightbox-prev,.lightbox-next{top:auto;bottom:19px;transform:none;width:41px;height:41px}.lightbox-prev{left:17px}.lightbox-next{right:17px}.lightbox-counter{bottom:31px}.lightbox-close{top:15px;right:16px}}
@media(max-width:400px){.container{width:calc(100% - 32px)}.brand-name{font-size:9.5px}.brand-name small{font-size:8px}.brand-mark{width:32px;height:32px}.hero h1{font-size:2.55rem}.hero-actions .btn{width:100%}.hero-micro{margin-top:18px}.hero-art{height:407px}.hero-poster-wrap{width:74%;height:395px}.floating-info--one{top:62px;left:-5px}.floating-info--two{right:-7px;bottom:38px}.floating-info strong{font-size:9px}.floating-info small{font-size:8px}.coverage-panel-header{font-size:8px}.city{font-size:10px}.city span{display:none}.phone-number{font-size:1.55rem}.contact-card{padding:19px}.requirements-side h2{font-size:2.6rem}}

/* If scripting is unavailable, retain accessible navigation on small screens. */
@media(max-width:990px){html:not(.js-ready) .mobile-nav{display:grid;position:static}}
