@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap");:root{--apex-white:#fff;--apex-black:#000;--apex-navy:#01235e;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}*{margin:0;padding:0;box-sizing:border-box;font-family:var(--font-sans)}html{scroll-behavior:smooth;font-size:16px}body,html{min-height:100%}button,input,select,textarea{font-size:16px}#about,#booking,#contact,#faq,#gallery,#reviews,#services,#shop{scroll-margin-top:72px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}button{font-family:inherit;border:none;background:none}a,button{cursor:pointer}a{text-decoration:none}.app{min-height:100vh;background:var(--apex-white);font-family:var(--font-sans)}.nav{position:fixed;top:0;left:0;right:0;z-index:60;justify-content:space-between;padding:14px 20px;background:var(--apex-white);border-bottom:1px solid #ececec;opacity:0}.nav,.nav-logo{display:flex;align-items:center}.nav-logo-img{height:40px;width:auto;display:block}.pill-nav{display:none}.pill-btn{color:var(--apex-black);font-size:16px;font-weight:500;padding:8px 16px;border-radius:9999px;transition:color .2s ease,opacity .2s ease;opacity:.7;white-space:nowrap}.pill-btn:hover{opacity:1}.pill-btn.active{font-weight:600;opacity:1}.pill-btn.active:hover{opacity:1}.nav-actions{display:flex;align-items:center;gap:12px}.cta-desktop{display:none;background:var(--apex-navy);color:var(--apex-white);font-size:16px;font-weight:600;padding:10px 22px;border-radius:9999px;align-items:center;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .35s ease,transform .35s ease,background-color .2s ease}.cta-desktop.visible{opacity:1;transform:translateY(0);pointer-events:auto}.cta-desktop:hover{background:#023a8f}.cta-mobile{display:inline-flex;align-items:center;background:var(--apex-navy);color:var(--apex-white);font-size:15px;font-weight:600;padding:9px 18px;border-radius:9999px}.hamburger{display:flex;align-items:center;justify-content:center;color:var(--apex-black);padding:6px 2px}.mobile-menu{position:fixed;inset:0;z-index:55;height:100vh;height:100svh;background:var(--apex-white);justify-content:flex-start;overflow-y:auto}.mobile-menu,.mobile-menu-inner{display:flex;flex-direction:column}.mobile-menu-inner{gap:4px;padding:92px 32px 48px}.mobile-link{color:var(--apex-black);font-size:32px;font-weight:600;letter-spacing:-.01em;padding:18px 0;border-bottom:1px solid #ececec;text-align:left;transition:color .2s ease}.mobile-link:hover{color:var(--apex-navy)}.mobile-cta{margin-top:28px;background:var(--apex-navy);color:var(--apex-white);font-size:18px;font-weight:600;padding:18px 20px;border-radius:9999px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.mobile-cta:hover{background:#023a8f}.hero{position:relative;width:100%;overflow:hidden;height:100vh;height:100svh}.hero-visual{z-index:10;mask-image:linear-gradient(180deg,#000 0,#000 62%,transparent 96%);-webkit-mask-image:linear-gradient(180deg,#000 0,#000 62%,transparent 96%);will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.hero-bg,.hero-visual{position:absolute;inset:0;transform:translateZ(0)}.hero-bg{background-image:url(/hero-desktop-upscaled.webp);background-position:50%;background-size:cover;background-repeat:no-repeat;opacity:0}.hero-text{position:absolute;bottom:48px;left:20px;max-width:580px;z-index:50;opacity:0}.hero-title{font-size:32px;font-weight:600;color:var(--apex-black);line-height:1.12;letter-spacing:-.01em;margin-bottom:20px}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.btn-discover{background:var(--apex-navy);color:var(--apex-white);font-size:16px;font-weight:600;padding:12px 26px;border-radius:9999px;transition:background-color .2s ease;display:inline-block;cursor:pointer}.btn-discover:hover{background:#023a8f}.btn-call{background:transparent;color:var(--apex-black);font-size:16px;font-weight:600;padding:12px 26px;border-radius:9999px;border:1px solid var(--apex-black);cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease;display:inline-block}.btn-call:hover{background:var(--apex-black);color:var(--apex-white)}.hero-rating{display:inline-block;margin-top:18px;color:var(--apex-black);font-size:16px;font-weight:500;border-bottom:1px solid hsla(0,0%,4%,.3);padding-bottom:2px;transition:color .2s ease,border-color .2s ease}.hero-rating:hover{color:var(--apex-navy);border-color:var(--apex-navy)}@media (min-width:640px){.nav{padding:20px 32px}.nav-logo-img{height:46px}.hero-text{left:32px;max-width:32rem}.hero-title{font-size:46px;margin-bottom:24px}.hero-actions{flex-direction:row-reverse;align-items:center;justify-content:flex-end;gap:16px}}@media (min-width:768px){.pill-nav{position:absolute;left:50%;transform:translateX(-50%);background:none;align-items:center;gap:16px}.cta-desktop,.pill-nav{display:flex}.cta-mobile,.hamburger,.mobile-menu{display:none}.hero{display:flex;align-items:flex-end}.hero-text{position:relative;bottom:auto;left:0;margin-left:48px;margin-bottom:8vh}.hero-title{font-size:60px}}.section-title{font-size:34px;font-weight:600;line-height:1.1;letter-spacing:-.01em;color:var(--apex-black);margin-bottom:40px}.about{background:var(--apex-white);min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:96px 24px}.about-inner{max-width:760px;margin:0 auto;width:100%}.about-lede{font-size:20px;line-height:1.6;color:rgba(0,0,0,.7);max-width:620px;margin-bottom:56px}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px;border-top:1px solid #ececec;padding-top:40px}.about-stat{display:flex;flex-direction:column;gap:8px}.about-stat-num{font-size:40px;font-weight:700;letter-spacing:-.02em;color:var(--apex-navy);line-height:1}.about-stat-label{font-size:15px;color:rgba(0,0,0,.55)}.faq{background:var(--apex-white);min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:96px 24px}.faq-inner{max-width:760px;margin:0 auto;width:100%}.faq-list{display:flex;flex-direction:column}.faq-item{border-top:1px solid #ececec}.faq-item:last-child{border-bottom:1px solid #ececec}.faq-q-btn{width:100%;display:flex;justify-content:space-between;align-items:center;padding:24px 0;background:none;border:none;text-align:left;cursor:pointer;font-family:inherit;outline:none}.faq-q{font-size:19px;font-weight:600;margin-bottom:0;padding-right:16px}.faq-icon,.faq-q{color:var(--apex-black)}.faq-icon{width:20px;height:20px;transition:transform .25s ease;flex-shrink:0}.faq-item.open .faq-icon{transform:rotate(45deg)}.faq-answer-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.4,0,.2,1),opacity .3s ease;opacity:0}.faq-item.open .faq-answer-wrapper{grid-template-rows:1fr;opacity:1}.faq-answer-inner{overflow:hidden}.faq-a{font-size:16px;line-height:1.6;color:rgba(0,0,0,.65);max-width:640px;padding-bottom:24px;margin:0}.services{background:var(--apex-white);min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:96px 24px}.services-inner{max-width:1040px;margin:0 auto;width:100%}.services-grid{display:grid;grid-template-columns:1fr;grid-gap:1px;gap:1px;background:#e8e8e8;border:1px solid #e8e8e8}.service-card{padding:32px 28px}.gallery,.service-card{background:var(--apex-white)}.gallery{min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:96px 24px}.gallery-inner{max-width:860px;margin:0 auto;width:100%}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:24px;gap:24px}.gallery-image-wrapper,.gallery-item{position:relative;width:100%}.gallery-image-wrapper{aspect-ratio:1/1;overflow:hidden;border-radius:4px}.gallery-img{width:100%!important;height:100%!important;object-fit:cover;transition:transform .6s cubic-bezier(.25,1,.5,1)}.gallery-item:hover .gallery-img{transform:scale(1.08)}.service-name{font-size:20px;font-weight:600;color:var(--apex-black);margin-bottom:8px}.service-note{font-size:16px;line-height:1.5;color:hsla(0,0%,4%,.6)}.products{background:var(--apex-white);min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:96px 24px}.products-inner{max-width:1120px;margin:0 auto;width:100%}.products-lede{font-size:18px;line-height:1.6;color:rgba(0,0,0,.65);max-width:640px;margin-top:-24px;margin-bottom:48px}.products-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:24px;gap:24px}.product-card{display:flex;flex-direction:column;background:var(--apex-white);border:1px solid #ececec;border-radius:8px;overflow:hidden;transition:box-shadow .3s ease,transform .3s ease}.product-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(1,35,94,.1)}.product-image-wrapper{position:relative;width:100%;aspect-ratio:1/1;background:#f6f7f9;overflow:hidden}.product-btu{position:absolute;top:12px;right:12px;z-index:2;background:var(--apex-navy);color:#fff;font-size:12px;font-weight:600;letter-spacing:.02em;padding:5px 10px;border-radius:4px}.product-img{width:100%!important;height:100%!important;object-fit:cover;transition:transform .5s cubic-bezier(.25,1,.5,1)}.product-card:hover .product-img{transform:scale(1.05)}.product-body{display:flex;flex-direction:column;padding:20px 20px 24px;border-top:1px solid #f0f0f0}.product-name{font-size:17px;font-weight:600;color:var(--apex-navy);line-height:1.35;margin-bottom:6px}.product-model{font-size:13px;color:rgba(0,0,0,.5);margin-bottom:14px}.product-price{font-size:22px;font-weight:700;letter-spacing:-.01em;color:var(--apex-black);margin-bottom:16px}.product-enquire{margin-top:auto;width:100%;padding:13px 16px;background:var(--apex-navy);color:#fff;font-size:15px;font-weight:600;border-radius:9999px;transition:opacity .2s ease}.product-enquire:hover{opacity:.88}.reviews{background:var(--apex-white);min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:96px 24px}.reviews-inner{max-width:1120px;margin:0 auto;width:100%}.reviews-title{font-size:34px;font-weight:600;line-height:1.15;letter-spacing:-.01em;color:var(--apex-black);margin-bottom:40px;max-width:640px}.reviews-title::selection{background:var(--apex-navy)}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}.review-card{display:flex;flex-direction:column;background:var(--apex-white);border:1px solid #e8e8e8;border-radius:12px;padding:22px}.review-name{font-size:16px;font-weight:600;color:var(--apex-black);margin-bottom:4px}.review-meta{font-size:16px;color:hsla(0,0%,4%,.45);margin-bottom:14px}.review-text{font-size:16px;line-height:1.6;color:hsla(0,0%,4%,.78);flex:1 1}.review-reply{margin-top:14px;padding:14px;border-radius:8px;background:rgba(1,35,94,.08);border:1px solid rgba(1,35,94,.28)}.review-reply-label{font-size:16px;font-weight:600;color:var(--apex-navy);margin-bottom:6px}.review-reply p:last-child{font-size:16px;line-height:1.55;color:hsla(0,0%,4%,.6)}.booking{background:var(--apex-white);min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:96px 24px}.booking-inner{max-width:720px;margin:0 auto;width:100%}.booking-lede{font-size:16px;line-height:1.65;color:hsla(0,0%,4%,.65);margin:-20px 0 36px;max-width:520px}.packages-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px;margin-bottom:40px}.packages-select{display:none;margin-bottom:40px}.field-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230a0a0a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:42px}.package-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;background:var(--apex-white);border:1px solid #e2e2e2;border-radius:10px;padding:18px 20px;transition:border-color .2s ease,background-color .2s ease}.package-card:hover{border-color:rgba(1,35,94,.6)}.package-card.selected{background:#eef3fb;border-color:var(--apex-navy)}.package-name{font-size:16px;font-weight:600;color:var(--apex-black)}.package-price{font-size:16px;color:hsla(0,0%,4%,.5)}.package-card.selected .package-price{color:var(--apex-navy)}.booking-form{gap:20px}.booking-form,.field{display:flex;flex-direction:column}.field{gap:8px;flex:1 1}.field-row{display:flex;gap:16px}.field-label{font-size:16px;font-weight:500;color:hsla(0,0%,4%,.6)}.field-input{background:var(--apex-white);border:1px solid #e2e2e2;border-radius:8px;padding:14px 16px;font-size:16px;color:var(--apex-black);transition:border-color .2s ease}.field-input:focus{outline:none;border-color:var(--apex-navy)}.field-input::placeholder{color:hsla(0,0%,4%,.35)}.phone-input-group{display:flex;align-items:center;border:1px solid #e2e2e2;border-radius:8px;background:var(--apex-white);overflow:hidden;transition:border-color .2s ease}.phone-input-group:focus-within{border-color:var(--apex-navy)}.phone-prefix{padding:14px 0 14px 16px;font-size:16px;font-weight:500;color:var(--apex-black);-webkit-user-select:none;-moz-user-select:none;user-select:none}.field-input.phone-input{border:none;border-radius:0;padding-left:8px;width:100%}.field-input.phone-input:focus{outline:none;border-color:transparent}.booking-submit{background:var(--apex-navy);color:var(--apex-white);font-size:16px;font-weight:600;padding:15px 24px;border-radius:9999px;transition:background-color .2s ease}.booking-submit:hover{background:#023a8f}.booking-confirm{font-size:16px;color:var(--apex-navy)}.contact{background:var(--apex-white);min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:96px 24px}.contact-inner{max-width:720px;margin:0 auto;width:100%}.contact-lede{font-size:16px;line-height:1.65;color:hsla(0,0%,4%,.65);margin:18px 0 32px;max-width:560px}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:56px}.contact-btn{display:inline-flex;align-items:center;font-size:16px;font-weight:500;padding:13px 24px;border-radius:9999px;border:1px solid var(--apex-black);color:var(--apex-black);background:var(--apex-white);transition:background-color .2s ease,color .2s ease,border-color .2s ease}.contact-btn:hover{border-color:var(--apex-navy);color:var(--apex-navy)}.contact-btn.primary{background:var(--apex-navy);border-color:var(--apex-navy);color:var(--apex-white)}.contact-btn.primary:hover{background:#023a8f;border-color:#023a8f;color:var(--apex-white)}.contact-details{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px;padding:32px 0;border-top:1px solid #ececec;border-bottom:1px solid #ececec}.detail-row{display:flex;flex-direction:column;gap:6px}.detail-label{font-size:16px;font-weight:600;color:var(--apex-navy)}.detail-value{font-size:16px;line-height:1.5;color:var(--apex-black)}.detail-value.link:hover{color:var(--apex-navy)}.footer-line{font-size:16px;color:hsla(0,0%,4%,.45);padding-top:28px}@media (max-width:900px){.gallery-grid,.reviews-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{gap:12px}.products-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.services-grid{grid-template-columns:1fr}.about-lede{font-size:18px}.about-stats{grid-template-columns:1fr;gap:24px}.about-stat{flex-direction:row;align-items:baseline;gap:12px}.about-stat-num{font-size:30px}.reviews-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px}.contact-details{grid-template-columns:1fr}.packages-grid{display:none}.packages-select{display:flex}.field-row{flex-direction:column}.products-grid{grid-template-columns:repeat(2,1fr);gap:12px}.products-lede{font-size:16px;margin-top:-12px;margin-bottom:32px}.product-body{padding:16px 14px 18px}.product-price{font-size:19px}.product-enquire{font-size:14px;padding:10px 12px}.reviews-title,.section-title{font-size:28px}}@media (max-width:1200px){.hero-bg{background-image:url(/mobile-hero-upscaled.webp)}.hero-text{left:20px;right:20px;bottom:56px;max-width:none;text-align:left}.hero-actions{flex-direction:row-reverse;align-items:center;justify-content:flex-end;width:auto;gap:12px}}@media (min-width:768px) and (max-width:1200px) and (orientation:landscape){.hero-bg{background-image:url(/hero-desktop-upscaled.webp)}.hero-title{font-size:42px}}.lightbox-overlay{position:fixed;inset:0;background:hsla(0,0%,4%,.95);z-index:9999;cursor:zoom-out}.lightbox-content-wrapper,.lightbox-overlay{display:flex;align-items:center;justify-content:center}.lightbox-content-wrapper{max-width:90%;max-height:90%;position:relative}.lightbox-img{max-width:100%;max-height:90vh;object-fit:contain;border-radius:4px;box-shadow:0 20px 40px rgba(0,0,0,.5)}.lightbox-close{position:absolute;top:24px;right:24px;background:none;border:none;color:var(--apex-white);font-size:42px;line-height:1;cursor:pointer;opacity:.8;transition:opacity .2s ease,transform .2s ease;z-index:10000}.lightbox-close:hover{opacity:1;transform:scale(1.1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@font-face{font-family:__Caveat_6e83a6;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e44cdba7d0878bc5-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Caveat_6e83a6;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/07fccecd6728972a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Caveat_6e83a6;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/486fce9f36bc8f45-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Caveat_6e83a6;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/46bdd75a3ff56824-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Caveat_6e83a6;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e44cdba7d0878bc5-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Caveat_6e83a6;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/07fccecd6728972a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Caveat_6e83a6;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/486fce9f36bc8f45-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Caveat_6e83a6;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/46bdd75a3ff56824-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Caveat_Fallback_6e83a6;src:local("Arial");ascent-override:124.77%;descent-override:38.99%;line-gap-override:0.00%;size-adjust:76.94%}.__className_6e83a6{font-family:__Caveat_6e83a6,__Caveat_Fallback_6e83a6;font-style:normal}.__variable_6e83a6{--font-script:"__Caveat_6e83a6","__Caveat_Fallback_6e83a6"}