:root{--navy:#071b39;--blue:#0796d1;--cyan:#12b9de;--pale:#eaf7fc;--ink:#10274b;--muted:#687b94;--line:#e1eaf2;--white:#fff;--radius:18px;--shadow:0 10px 32px #132f5d12}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,'Segoe UI',system-ui,-apple-system,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.045em}small{font-size:12px}.container{max-width:1420px;margin:auto;padding:0 clamp(20px,4.5vw,66px)}.skip{position:absolute;top:-70px;left:20px;padding:12px;background:#fff;z-index:500}.skip:focus{top:0}.draft-ribbon{background:#eef8ff;color:#265175;text-align:center;font-size:11px;padding:5px 16px;border-bottom:1px solid #c9e8f7;letter-spacing:.015em}.topbar{height:70px;position:relative;z-index:50;background:#fff;border-bottom:1px solid #edf2f7}.nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}.wordmark{white-space:nowrap;font-weight:270;letter-spacing:-.085em;font-size:clamp(27px,2.65vw,43px);line-height:1;color:#16396e;display:inline-flex;align-items:center;gap:13px;font-family:'Helvetica Neue','Segoe UI Light',Arial,sans-serif}.wordmark .divider{width:2px;height:42px;background:var(--blue)}.wordmark .three{color:var(--blue);letter-spacing:-.08em}.wordmark.mini{font-size:30px}.wordmark.mini .divider{height:31px}.nav-links{display:flex;gap:clamp(17px,2vw,35px);align-items:center;margin-left:auto}.nav-links a{font-size:13px;color:#344869;font-weight:600;padding:25px 0 21px;position:relative}.nav-links a:is(:hover,.current){color:var(--blue)}.nav-links a:is(:hover,.current):after{content:'';position:absolute;height:2px;background:var(--cyan);bottom:12px;left:0;right:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 23px;border-radius:11px;border:1px solid transparent;font-weight:650;font-size:14px;min-height:46px;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;text-align:center}.btn:hover{transform:translateY(-1px);box-shadow:0 9px 20px #0002}.btn-primary{color:#fff;background:linear-gradient(110deg,#0698d1,#079ac9);box-shadow:0 7px 18px #0796d136}.btn-ghost{border-color:#fffd;color:#fff;background:#0b1c3340;backdrop-filter:blur(6px)}.btn-outline{border-color:#8bcde8;color:var(--blue);background:white}.nav-cta{margin-left:26px;min-width:160px}.hamburger{display:none;border:1px solid var(--line);border-radius:10px;width:44px;height:44px;background:white;align-items:center;justify-content:center;color:var(--navy)}.icon{width:18px;height:18px;display:inline-block;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon.large{width:32px;height:32px}.eyebrow{font-size:11px;letter-spacing:.23em;color:#0976b4;text-transform:uppercase;font-weight:850}.hero{min-height:592px;background:var(--navy);color:#fff;position:relative;isolation:isolate;overflow:hidden}.hero-bg{position:absolute;inset:0;z-index:-3;background:#122538 url('lounge-concept.webp') center/cover no-repeat}.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 44%;filter:saturate(1.12)}.hero::before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#020b1cf2 0%,#071325cd 26%,#07182f62 58%,#08111b58 100%)}.hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#001027a8,transparent 32%,transparent 70%,#030c1a26)}.hero-inner{padding-top:46px;padding-bottom:43px;display:grid;grid-template-columns:minmax(0,1fr) minmax(415px,460px);gap:clamp(22px,5vw,80px);align-items:start;min-height:592px}.hero-copy{padding-top:25px;max-width:650px;position:relative;z-index:2}.hero-logo{font-size:28px;font-weight:250;letter-spacing:-.07em;font-family:'Helvetica Neue',Arial,sans-serif;margin-bottom:15px}.hero-logo span{color:#20b5e4}.hero h1{font-size:clamp(48px,5.35vw,85px);max-width:600px;font-weight:390;line-height:.98;text-shadow:0 4px 24px #0004}.hero h1 strong{font-weight:830;display:block}.hero-lead{font-size:clamp(16px,1.4vw,21px);line-height:1.45;max-width:545px;margin-top:19px;color:#f3f7ff}.features{display:flex;gap:21px;margin:30px 0 34px;max-width:680px}.feature{min-width:0;display:flex;align-items:flex-start;gap:12px;flex:1}.feature-icon{border:1px solid #e9fbffad;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;flex-shrink:0;background:#071b3999;color:#eef8ff}.feature-icon .icon{width:23px;height:23px}.feature h3{font-size:13px;font-weight:750;line-height:1.25;letter-spacing:-.025em;margin-bottom:4px}.feature p{font-size:11px;color:#e4e7ee;line-height:1.4}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-actions .btn{min-width:195px}.orbit{position:absolute;left:47%;top:55%;width:280px;height:70px;border:4px solid #4dc7ff;border-radius:50%;transform:rotate(-10deg);box-shadow:0 0 16px #08a8fe, inset 0 0 15px #0796d1;z-index:0;pointer-events:none;opacity:.85}.orbit:before{content:'360°';font-size:29px;font-weight:850;position:absolute;left:39%;top:-41px;color:#fff;text-shadow:0 0 10px var(--blue)}.orbit:after{content:'➜';position:absolute;right:10%;top:30%;font-size:33px;color:#fff;text-shadow:0 0 8px var(--cyan)}.float-shot{position:absolute;border:4px solid #e2f9ff;border-radius:13px;box-shadow:0 5px 32px #082c4b,0 0 12px #42c6ff;z-index:0;pointer-events:none;background:#1b344e;overflow:visible}.float-shot img{width:100%;height:100%;object-fit:cover;border-radius:9px}.float-shot:after{content:'';position:absolute;bottom:-12px;left:calc(50% - 9px);height:19px;width:19px;border:4px solid #fff;border-radius:50%;background:#00a9e8;box-shadow:0 0 0 3px #0b90c1}.float-1{width:108px;height:81px;top:23%;left:43%;transform:rotate(-7deg)}.float-2{width:120px;height:90px;top:70%;left:51%;transform:rotate(7deg)}.float-3{width:98px;height:73px;top:12%;left:63%;transform:rotate(-4deg)}.booking-card{position:relative;z-index:4;background:#fff;color:#11274b;border-radius:17px;box-shadow:0 24px 55px #0004;padding:23px 25px 16px;min-height:490px}.booking-card h2{font-size:23px;letter-spacing:-.045em}.booking-card .sub{font-size:13px;color:#697993;margin:5px 0 21px}.progress{display:flex;justify-content:space-between;gap:5px;position:relative;margin:10px 0 23px}.progress:before{content:'';position:absolute;top:12px;left:12%;width:77%;height:1px;background:#d7e3ed}.step-dot{position:relative;text-align:center;flex:1;color:#8b9ab0;font-size:10px;white-space:nowrap}.step-dot b{display:grid;place-items:center;border-radius:50%;width:25px;height:25px;background:#e1e8f1;color:#607289;margin:0 auto 5px;font-size:11px}.step-dot.active{color:#153d76;font-weight:700}.step-dot.active b{background:#089bcb;color:white}.book-options{display:grid;gap:9px}.book-choice{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e3edf5;border-radius:10px;cursor:pointer;min-height:70px;transition:border-color .2s,background .2s}.book-choice:hover{border-color:#9bd2e9}.book-choice.selected{border-color:#25a7e4;background:#f1fbff}.book-choice input{accent-color:#068dce;width:17px;height:17px;flex:none}.choice-image{height:47px;width:61px;border-radius:7px;object-fit:cover;flex:none}.choice-label{font-size:12px;line-height:1.35;flex:1;min-width:0}.choice-label strong{display:block;font-weight:750}.choice-label span{color:#6d7d8c;font-size:10px}.choice-price{font-size:14px;font-weight:800;color:#0c4e8c;white-space:nowrap}.booking-next{margin-top:17px;width:100%;background:linear-gradient(90deg,#05a0d4,#0787c1);font-size:13px}.booking-trust{text-align:center;color:#60738a;font-size:10px;margin-top:14px}.booking-trust a{color:#1171a5;text-decoration:underline}.booking-step-calendar{display:none}.booking-card.calendar-open{min-height:600px}.booking-card.calendar-open .booking-step-select{display:none}.booking-card.calendar-open .booking-step-calendar{display:block}.calendar-tabs{display:flex;gap:7px;margin-bottom:10px}.calendar-tabs button{flex:1;padding:7px 5px;background:#f0f8ff;border:1px solid #d6e9f7;border-radius:7px;font-size:11px;font-weight:750;color:#2a648f}.calendar-tabs button.selected{background:#0796d1;color:white}.calendar-host{min-height:430px;overflow:hidden;background:#fff;position:relative;border-radius:8px;border:1px solid #eaf0f6}.calendar-host>p{padding:18px;color:var(--muted);font-size:12px}.calendar-host .calendly-inline-widget{min-width:320px;min-height:585px;height:620px}.calendar-footer{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:8px}.calendar-footer a{font-size:11px;text-decoration:underline;color:#167bad}.text-btn{font-size:11px;color:#336184;background:transparent;border:0;padding:7px}.section{padding:48px 0}.section-intro{text-align:center;margin-bottom:24px}.section-intro h2{color:#101f4b;font-size:clamp(26px,2.3vw,38px);letter-spacing:-.042em;margin:4px 0}.section-intro p{color:var(--muted);font-size:13px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.service-card{border:1px solid #e1e9ef;box-shadow:var(--shadow);border-radius:16px;padding:13px;display:grid;grid-template-columns:42% 1fr;gap:23px;min-height:211px;align-items:stretch;background:#fff}.service-photo{width:100%;height:100%;max-height:225px;object-fit:cover;border-radius:10px}.service-content{padding:12px 10px 10px 0;display:flex;flex-direction:column}.service-title{display:flex;align-items:center;gap:14px;margin-bottom:10px}.service-title .icon{height:30px;width:30px;color:var(--blue)}.service-title h3{color:#12254e;font-size:21px;font-weight:740;letter-spacing:-.03em}.service-content>p{font-size:13px;color:#677992;line-height:1.55;margin-bottom:14px}.prices-mini{display:flex;gap:10px;margin-top:auto}.prices-mini>a,.price-box{flex:1;display:block;border:1px solid #dbf1fa;border-radius:10px;background:#f0faff;padding:11px 8px;color:#0676bb;text-align:center;font-size:13px;line-height:1.35}.prices-mini a:hover{background:#e0f5ff}.prices-mini strong,.price-box strong{display:block;font-size:24px;letter-spacing:-.055em}.price-box{text-align:left;padding-left:17px}.subtle{color:#6e8393;font-size:10px}.process-strip{display:grid;grid-template-columns:300px 1fr;gap:22px;align-items:center;margin-top:30px}.process-intro h2{font-size:27px;letter-spacing:-.05em;margin:4px 0}.process-intro p{font-size:12px;color:#697990}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.process-step{display:flex;align-items:flex-start;gap:10px}.round-icon{border:1px solid #75c6e5;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:var(--blue);flex:none;background:#fff}.process-step h3{font-size:14px;margin:4px 0;font-weight:850;letter-spacing:-.025em}.process-step p{font-size:11px;line-height:1.4;color:#687890}.maint-strip{background:#eaf8ff;border:1px solid #d2f0fc;border-radius:16px;margin-top:28px;padding:15px 17px;display:grid;grid-template-columns:360px 1fr;gap:18px}.maint-intro h2{font-size:27px;margin:5px 0;letter-spacing:-.05em}.maint-intro p{font-size:12px;color:#657f91}.maint-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.maint-card{background:#fff;padding:12px 14px;border-radius:10px;display:flex;gap:12px;align-items:flex-start}.maint-card>.icon{color:var(--blue);height:28px;width:28px}.maint-card h3{font-size:13px;letter-spacing:-.02em;margin-bottom:5px}.maint-card p{font-size:10px;line-height:1.35;color:#627588;margin-bottom:8px}.maint-card strong{font-size:16px;color:var(--blue)}.maint-card a{display:inline-block;font-size:10px;text-decoration:underline;color:#1b6c9e;margin-left:5px}.tour-section{background:#f6faff;border-block:1px solid #e8f2f7}.section-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center}.section-grid h2{font-size:clamp(30px,3.3vw,51px);margin:10px 0 15px}.section-grid p{font-size:14px;color:#5e6f89;line-height:1.7;margin-bottom:18px}.path{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:18px}.path span{background:white;border:1px solid #dce6f3;border-radius:100px;padding:7px 12px;color:#226ba0;font-size:11px;font-weight:750}.path b{color:var(--blue)}.tour-view{height:360px;border-radius:20px;position:relative;overflow:hidden;box-shadow:0 18px 60px #0c34512b;background:#0c2541}.tour-view iframe{width:100%;height:100%;border:0}.tour-label{position:absolute;z-index:2;top:12px;left:12px;color:white;font-size:11px;background:#051e35d8;border:1px solid #8db9d4b0;padding:7px 10px;border-radius:8px}.small-note{font-size:11px!important;color:#6b8196!important}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px}.portfolio-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.portfolio-card img{height:180px;width:100%;object-fit:cover}.portfolio-content{padding:18px}.portfolio-card h3{font-size:20px;margin:6px 0}.portfolio-card p{font-size:13px;color:var(--muted);margin:0 0 14px}.portfolio-card a{font-weight:800;color:var(--blue);font-size:13px}.portfolio-card a:hover{text-decoration:underline}.about-panel{background:#071b39;color:white;border-radius:25px;padding:43px 52px;display:grid;grid-template-columns:1fr 1fr;gap:55px}.about-panel h2{font-size:37px;margin:10px 0 12px}.about-panel p{color:#d4e3f1;font-size:14px;line-height:1.72}.about-details{display:grid;grid-template-columns:1fr 1fr;gap:14px}.about-details div{border:1px solid #ffffff26;border-radius:15px;padding:17px}.about-details strong{display:block;font-size:20px;color:#60cff9;margin-bottom:7px}.about-details span{font-size:12px;color:#ccd8e2}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.faq-grid details{border:1px solid var(--line);border-radius:12px;padding:15px;background:#fff}.faq-grid summary{cursor:pointer;font-size:14px;font-weight:760;list-style-position:inside}.faq-grid p{font-size:13px;color:#61728b;margin:11px 0 0;line-height:1.65}.contact-panel{border-radius:20px;background:linear-gradient(110deg,#071b39,#11618f);color:#fff;padding:33px;display:flex;justify-content:space-between;align-items:center;gap:20px}.contact-panel h2{font-size:35px;margin:6px 0 9px}.contact-panel p{font-size:13px;color:#d2e5f1}.footer{background:#f6faff;border-top:1px solid #e0e8ef;padding:24px 0;color:#62748a}.footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:start;flex-wrap:wrap}.footer p{font-size:11px;max-width:670px;line-height:1.65}.footer a{text-decoration:underline}.legal-caption{margin-top:9px}.mobile-nav{display:none}.floating-top{position:fixed;z-index:90;right:17px;bottom:20px;width:45px;height:45px;border-radius:50%;border:0;background:var(--blue);color:white;box-shadow:0 9px 26px #0003;font-size:23px}.booking-page{background:#f1f8fd;padding:55px 0}.form-shell{display:grid;grid-template-columns:.75fr 1.25fr;gap:34px;background:#fff;border:1px solid #e3eff7;padding:25px;border-radius:22px;box-shadow:var(--shadow)}.form-shell h1{font-size:39px;margin:8px 0 14px}.form-shell h2{font-size:23px;margin-bottom:10px}.form-shell p{font-size:13px;color:#65758b;line-height:1.65}.form-main{display:grid;gap:16px}.field{display:flex;flex-direction:column;gap:6px;position:relative}.field label{font-weight:750;font-size:12px;color:#1a3a58}.field input,.field textarea,.field select{border:1px solid #cad7e5;padding:12px 13px;border-radius:9px;outline:none;width:100%;background:white;color:var(--ink);font-size:14px}.field input:focus,.field textarea:focus{border-color:var(--blue)}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-submit{width:100%;margin-top:5px}.address-suggest{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border:1px solid #b8cad9;border-radius:9px;box-shadow:0 13px 26px #132f5d16;max-height:220px;overflow:auto;z-index:30}.address-suggest button{display:block;width:100%;text-align:left;border:0;background:#fff;padding:10px 12px;font-size:12px;color:#23405c}.address-suggest button:hover{background:#eaf7fc}.address-row{display:grid;grid-template-columns:1fr auto;gap:7px}.address-row button{border:1px solid #bfd8ea;border-radius:8px;background:#eff9fc;font-size:12px;padding:0 12px;color:#326485}.info-box{padding:12px 14px;border-radius:10px;background:#eaf7fc;font-size:12px;color:#346181}.book-embed{display:none;background:white;padding:10px;margin-top:20px;border-radius:14px}.book-embed.visible{display:block}.book-embed .calendly-inline-widget{height:720px;min-width:320px}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:30px;border:1px solid #d6eaf6;color:#1378b5;background:#f1faff;font-size:11px;font-weight:750;padding:6px 10px}.tour-lab{background:#f3f8fb;padding:50px 0}.tour-lab-grid{display:grid;grid-template-columns:1fr 350px;gap:20px}.tour-stage{height:540px;border:1px solid #d1e2ef;background:#081c36;border-radius:18px;position:relative;overflow:hidden}.tour-stage .pnlm-container{height:100%;width:100%}.tour-controls{background:#fff;border:1px solid var(--line);padding:22px;border-radius:16px}.tour-controls h1{font-size:29px}.tour-controls p{font-size:12px;color:var(--muted);margin:9px 0 15px}.tour-controls input{font-size:12px;width:100%}.tour-controls label{display:block;font-size:12px;font-weight:750;margin:12px 0 5px}.tour-controls .btn{width:100%;margin-top:13px;white-space:normal}.tour-controls button:disabled{opacity:.5;cursor:not-allowed}.scene-buttons{display:flex;gap:8px}.scene-buttons button{border:1px solid #bdd3e4;border-radius:8px;padding:9px;font-size:12px;background:white;flex:1}.scene-buttons button.active{background:var(--blue);color:white}.tour-stage iframe{width:100%;height:100%;border:0}.viewer-loading{color:#ddeefa;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center}.tour-top{position:absolute;top:14px;left:14px;right:14px;display:flex;justify-content:space-between;z-index:10;pointer-events:none}.tour-top span{background:#061628ad;color:white;padding:7px 12px;border:1px solid #ffffff35;border-radius:9px;font-size:11px}.sub-nav{background:#fff;border-bottom:1px solid var(--line);padding:11px 0}.sub-nav .container{display:flex;justify-content:space-between}.sub-nav a{color:#2b739a;font-weight:700;font-size:12px}@media(max-width:1300px){.features{gap:12px}.hero-inner{grid-template-columns:minmax(0,1fr) 420px;gap:20px}.process-strip{grid-template-columns:1fr}.maint-strip{grid-template-columns:1fr}.float-3{display:none}.hero h1{font-size:clamp(52px,5.6vw,70px)}}@media(max-width:1050px){.nav-links{gap:15px}.nav-cta{min-width:auto;margin-left:5px}.nav-cta span{display:none}.hero-inner{grid-template-columns:1fr 395px}.hero-copy{padding-top:8px}.hero h1{font-size:54px}.features{flex-direction:column;gap:13px;max-width:285px}.feature p{display:none}.feature-icon{width:37px;height:37px}.orbit,.float-shot{opacity:.45}.service-card{grid-template-columns:1fr;gap:10px}.service-photo{height:190px}.service-content{padding:0 7px 7px}.maint-grid{grid-template-columns:repeat(3,1fr)}.process-step{display:block}.round-icon{margin-bottom:9px}.tour-lab-grid{grid-template-columns:1fr 300px}}@media(max-width:780px){.topbar{height:63px}.nav-links,.nav-cta{display:none}.hamburger{display:inline-flex}.mobile-nav{display:none;position:absolute;top:63px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:15px 20px;z-index:40;grid-template-columns:1fr 1fr;gap:7px}.mobile-nav.open{display:grid}.mobile-nav a{background:#f0f8ff;padding:13px 15px;border-radius:8px;font-size:13px;color:#204466;font-weight:700}.wordmark{font-size:29px;gap:8px}.wordmark .divider{height:32px}.hero-inner{display:flex;flex-direction:column;padding-top:31px;gap:26px}.hero-copy{padding-top:5px}.hero h1{font-size:clamp(46px,9vw,68px)}.hero-lead{font-size:17px;max-width:550px}.features{flex-direction:row;max-width:650px;margin:26px 0}.feature p{display:block}.feature{flex-direction:column;gap:8px}.hero-actions{margin-bottom:5px}.booking-card{width:100%;max-width:520px;margin:0 auto 15px}.orbit,.float-shot{display:none}.service-grid{grid-template-columns:1fr}.service-card{grid-template-columns:40% 1fr}.service-photo{height:210px;max-height:none}.steps{grid-template-columns:repeat(2,1fr);gap:20px}.process-step{display:flex}.maint-grid{grid-template-columns:1fr}.section-grid{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:1fr 1fr}.about-panel{grid-template-columns:1fr}.form-shell{grid-template-columns:1fr}.tour-lab-grid{grid-template-columns:1fr}.tour-controls{order:-1}.tour-stage{height:390px}}@media(max-width:520px){.container{padding:0 18px}.hero h1{font-size:49px}.hero-lead{font-size:16px}.feature-icon{width:36px;height:36px}.feature h3{font-size:11px}.feature p{font-size:10px}.hero-actions .btn{flex:1;min-width:160px}.hero-inner{padding-bottom:16px}.booking-card{padding:21px 14px}.book-choice{gap:8px;padding:9px 8px}.choice-image{height:40px;width:45px}.choice-price{font-size:12px}.choice-label{font-size:11px}.choice-label span{font-size:9px}.service-card{grid-template-columns:1fr}.service-photo{height:215px}.prices-mini strong{font-size:20px}.process-strip{display:block}.steps{margin-top:20px}.process-step{display:block}.maint-strip{padding:14px}.portfolio-grid{grid-template-columns:1fr}.about-panel{padding:26px}.about-details{grid-template-columns:1fr 1fr}.faq-grid{grid-template-columns:1fr}.contact-panel{display:block}.contact-panel .btn{margin-top:19px}.form-pair{grid-template-columns:1fr}.address-row{grid-template-columns:1fr}.address-row button{min-height:39px}.tour-stage{height:315px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* October 22 refinement: interactive 360 + accessible legal content */
.tour-view{isolation:isolate}.tour-view .pano-canvas,.pano-canvas .pnlm-container{height:100%;width:100%}.tour-view .pano-fallback{height:100%;position:relative}.pano-fallback img{width:100%;height:100%;object-fit:cover}.pano-fallback-message{position:absolute;left:0;right:0;bottom:0;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;color:#fff;padding:15px;background:linear-gradient(transparent,#03152add)}.pano-fallback-message strong{font-size:14px}.pano-fallback-message span{font-size:12px}.pano-fallback-message a{text-decoration:underline;color:#9befff}.tour-view .tour-label{pointer-events:none}.viewer-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;z-index:10;pointer-events:none;background:linear-gradient(transparent,#051a32e0);color:#fff;font-size:11px}.viewer-bottom a{pointer-events:auto;color:#fff;font-weight:800;text-decoration:underline}.viewer-bottom a:hover{color:#80dfff}.tour-view .pnlm-container{border-radius:20px}.tour-view .pnlm-controls-container{bottom:60px}.tour-stage .pnlm-container{border-radius:18px}.legal-inline{font-size:11px!important;color:#7287a1!important;line-height:1.65!important;margin-top:9px!important}.legal-inline a,.booking-policy-ack a{color:#066b9d;text-decoration:underline;font-weight:750}.booking-policy-ack{display:flex;align-items:flex-start;gap:10px;border:1px solid #d1e6f2;background:#f1fafe;padding:13px 14px;border-radius:10px;color:#405b75;font-size:12px;line-height:1.55}.booking-policy-ack input{margin-top:3px;flex:0 0 16px;width:16px;height:16px}.footer-enhanced{padding:45px 0 20px;background:linear-gradient(115deg,#071b39,#103652);color:#e3f0f8;border-color:#113657}.footer-columns{display:grid;grid-template-columns:1.6fr .72fr 1.18fr 1fr;gap:34px;align-items:start}.footer-columns>div{display:flex;flex-direction:column;gap:7px}.footer-columns .wordmark{align-self:start;color:white;text-decoration:none;font-size:27px}.footer-columns .wordmark span:first-child{color:white}.footer-columns p{color:#bbccda;margin:5px 0}.footer-columns a{color:#c8e7f4;text-decoration:none;font-size:12px;line-height:1.65}.footer-columns a:hover{text-decoration:underline;color:white}.footer-columns .footer-title{font-size:13px;color:#fff;letter-spacing:.025em;margin-bottom:8px}.footer-bottom{border-top:1px solid #ffffff23;margin-top:23px;padding-top:16px;color:#a3c4d8;font-size:11px}.footer-bottom a{color:#a3c4d8;text-decoration:underline}.footer-note{font-size:11px;line-height:1.5}.footer-brand .legal-caption{font-size:11px}.policy-main{background:linear-gradient(180deg,#eff8ff,#fff 34%);padding:56px 0 70px}.policy-layout{max-width:930px}.policy-kicker{font-size:11px;font-weight:800;color:#098bc5;letter-spacing:.17em}.policy-main h1{font-size:clamp(37px,4.7vw,60px);margin:14px 0;color:#071b39;letter-spacing:-.04em}.policy-lead{font-size:18px;line-height:1.55;color:#566e84;max-width:760px}.policy-draft-notice{margin:25px 0 30px;padding:17px 20px;border-left:4px solid #20a0d4;border-radius:10px;background:#eaf7fc;color:#1c506c;font-size:13px;line-height:1.7}.policy-body{padding:20px 32px;background:#fff;border:1px solid #d9eaf3;border-radius:18px;box-shadow:0 16px 45px #183e5d0d}.policy-section{padding:24px 0;border-bottom:1px solid #e3edf3}.policy-section:last-child{border:0}.policy-section h2{font-size:20px;letter-spacing:-.02em;color:#082b4c;margin:0 0 10px}.policy-section p{font-size:14px;line-height:1.8;color:#516780;margin:0}.policy-section a{color:#087aaf;text-decoration:underline}.policy-action{margin-top:28px;padding:22px;border:1px solid #d9eaf3;background:white;border-radius:16px}.policy-action strong{display:block;font-size:17px}.policy-action p{margin:8px 0 18px;color:#60758a;font-size:13px}.policy-action .btn{margin:3px 8px 5px 0}.footer .btn{text-decoration:none}
@media(max-width:900px){.footer-columns{grid-template-columns:repeat(2,1fr);gap:24px}}@media(max-width:550px){.footer-columns{grid-template-columns:1fr;gap:24px}.policy-main{padding:32px 0 60px}.policy-body{padding:10px 18px}.viewer-bottom{flex-direction:column;align-items:start;font-size:10px}.tour-view{height:340px}}


/* Google 3D 2026-10-22: cinematic hero / mobile immersive layout.
   Pure CSS: no video downloads or heavy animation libraries. Copy and booking remain static. */
.hero-bg{overflow:hidden;transform:translateZ(0)}
.hero-bg img{display:block;transform-origin:50% 50%;object-position:54% 48%;backface-visibility:hidden}
.hero-bg::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 82% 28%,rgba(255,190,99,.15),transparent 58%);
  mix-blend-mode:screen}
.hero::before{background:linear-gradient(90deg,rgba(2,11,28,.93) 0%,rgba(7,19,37,.79) 28%,rgba(7,24,47,.41) 56%,rgba(8,17,27,.24) 100%)}
.hero::after{background:linear-gradient(0deg,rgba(0,16,39,.68),transparent 36%,transparent 72%,rgba(3,12,26,.19))}
.hero-motion-toggle{display:inline-flex;align-items:center;gap:7px;margin-top:16px;
  border:1px solid #ffffff70;border-radius:999px;background:#061b35aa;
  color:#f1faff;font-size:11px;line-height:1.1;padding:8px 12px;
  cursor:pointer;backdrop-filter:blur(6px);transition:background-color .2s,border-color .2s}
.hero-motion-toggle:hover,.hero-motion-toggle:focus-visible{background:#034568d9;border-color:#98eaff}
.hero-motion-toggle .motion-icon{font-size:13px;font-weight:800;line-height:1}
.mobile-header-cta,.mobile-immersive{display:none}
@keyframes google3d-cinematic-drift {
  0%{transform:scale(1.09) translate3d(-1.1%,.3%,0)}
  50%{transform:scale(1.14) translate3d(.8%,-.55%,0)}
  100%{transform:scale(1.09) translate3d(1.2%,.25%,0)}
}
@keyframes google3d-float{
  from{transform:rotate(var(--float-tilt,0deg)) translate3d(0,-5px,0)}
  to{transform:rotate(var(--float-tilt,0deg)) translate3d(0,7px,0)}
}
@keyframes google3d-orbit-breathe{
  from{opacity:.67;filter:brightness(.95)}
  to{opacity:1;filter:brightness(1.25)}
}
@keyframes google3d-path-travel{
  to{stroke-dashoffset:-70}
}
@media (prefers-reduced-motion:no-preference){
  .hero-bg img{animation:google3d-cinematic-drift 48s ease-in-out infinite alternate;will-change:transform}
  .orbit{animation:google3d-orbit-breathe 7s ease-in-out infinite alternate}
  .float-shot{animation:google3d-float 7s ease-in-out infinite alternate}
  .float-1{--float-tilt:-7deg;animation-delay:-1s}
  .float-2{--float-tilt:7deg;animation-delay:-3.5s;animation-duration:8s}
  .float-3{--float-tilt:-4deg;animation-delay:-2s;animation-duration:9s}
  .mobile-immersive-path .path-dash{animation:google3d-path-travel 9s linear infinite}
  .mobile-immersive-card-one{animation:google3d-float 7s ease-in-out infinite alternate;--float-tilt:-5deg}
  .mobile-immersive-card-two{animation:google3d-float 8.5s ease-in-out infinite alternate-reverse;--float-tilt:5deg}
  .hero.motion-paused .hero-bg img,
  .hero.motion-paused .orbit,
  .hero.motion-paused .float-shot,
  .hero.motion-paused .mobile-immersive-path .path-dash,
  .hero.motion-paused .mobile-immersive-card{animation-play-state:paused}
}
@media (max-width:780px){
  .nav-inner{gap:9px}
  .mobile-header-cta{display:inline-flex;margin-left:auto;align-items:center;justify-content:center;
    min-height:38px;padding:0 12px;border-radius:9px;background:linear-gradient(105deg,#06a1db,#087db7);
    color:white;font-weight:740;font-size:12px;letter-spacing:-.01em;box-shadow:0 4px 12px #086fa34f;white-space:nowrap}
  .mobile-header-cta:hover{background:#0578b5}
  .hero-bg img{object-position:58% center}
  .hero::before{background:linear-gradient(180deg,rgba(2,11,28,.79) 0%,rgba(3,14,28,.70) 34%,rgba(3,14,28,.56) 58%,rgba(3,17,34,.82) 100%)}
  .hero-inner{gap:16px}
  .hero-copy{width:100%;max-width:none}
  .hero-lead{max-width:36rem}
  .mobile-immersive{display:block;position:relative;height:148px;margin:14px 0 15px;border:1px solid #cdf2ff73;
    border-radius:20px;overflow:hidden;isolation:isolate;background:linear-gradient(120deg,#071e39b2,#024c72a6 49%,#053b55a8);
    box-shadow:inset 0 0 22px #00a7e424,0 10px 28px #0004;backdrop-filter:blur(3px)}
  .mobile-immersive-kicker{position:absolute;left:13px;top:12px;right:13px;display:flex;
    align-items:center;justify-content:space-between;z-index:4;color:#e4faff;text-transform:uppercase;
    font-size:10px;letter-spacing:.1em;font-weight:800;text-shadow:0 2px 7px #001f37}
  .mobile-immersive-kicker span{font-size:15px;color:#abebff;letter-spacing:0}
  .mobile-immersive-path{position:absolute;inset:12px 8px 0;width:calc(100% - 16px);height:135px;z-index:1;overflow:visible}
  .mobile-immersive-path .path-glow{fill:none;stroke:#0bc3ff;stroke-width:9;opacity:.20;filter:blur(7px)}
  .mobile-immersive-path .path-dash{fill:none;stroke:url(#tourPathGradient);stroke-width:3;
    stroke-linecap:round;stroke-dasharray:15 13;filter:drop-shadow(0 0 5px #04bdff)}
  .mobile-immersive-path .path-arrow{fill:none;stroke:#dcfaff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
  .mobile-immersive-card{position:absolute;z-index:3;width:102px;height:77px;border:2px solid #d5f7ff;
    border-radius:11px;background:#183955;box-shadow:0 0 0 2px #039dd765,0 5px 23px #00101e9c;overflow:hidden}
  .mobile-immersive-card img{width:100%;height:100%;object-fit:cover}
  .mobile-immersive-card span{position:absolute;bottom:0;left:0;right:0;padding:4px 5px 5px;
    color:white;font-size:10px;font-weight:750;text-align:center;text-shadow:0 1px 4px black;
    background:linear-gradient(transparent,#02192de8)}
  .mobile-immersive-card-one{left:12%;top:48px;transform:rotate(-5deg)}
  .mobile-immersive-card-two{right:11%;top:49px;transform:rotate(5deg)}
  .mobile-immersive-node{position:absolute;top:125px;z-index:5;border:3px solid white;border-radius:50%;height:15px;width:15px;
    background:#05b5e7;box-shadow:0 0 0 3px #0395c4,0 0 16px #00d4ff}
  .mobile-node-one{left:calc(12% + 43px)}.mobile-node-two{right:calc(11% + 43px)}
  .features{margin:19px 0 20px}
  .hero-actions{margin-bottom:0}
  .hero-motion-toggle{margin-top:11px;margin-bottom:0}
  .booking-card{margin-top:12px}
  .section-grid{gap:22px}
  .tour-section{padding:36px 0}
  .tour-view{width:100%}
}
@media (max-width:520px){
  .wordmark{font-size:26px;gap:7px}.wordmark .divider{height:30px}
  .mobile-header-cta{min-height:36px;font-size:11px;padding:0 9px}
  .hamburger{width:39px;height:39px}
  .hero-inner{padding-top:26px}
  .hero h1{font-size:clamp(40px,10.7vw,55px);line-height:1.02;max-width:500px}
  .hero-lead{font-size:15px;line-height:1.47}
  .mobile-immersive{margin-top:17px;height:139px}
  .mobile-immersive-card{width:92px;height:70px}
  .mobile-immersive-card-one{left:10%;top:48px}
  .mobile-immersive-card-two{right:10%;top:47px}
  .mobile-immersive-node{top:119px}
  .mobile-node-one{left:calc(10% + 37px)}.mobile-node-two{right:calc(10% + 37px)}
  .features{gap:9px}
  .feature{gap:6px}
  .feature-icon{width:34px;height:34px}
  .feature h3{font-size:10.5px}
  .feature p{font-size:10px;line-height:1.35}
  .hero-actions{gap:9px}
  .hero-actions .btn{width:100%;min-width:0}
  .booking-card{padding:20px 13px}
  .booking-card h2{font-size:22px}
  .book-choice{min-height:67px}
  .choice-label span{font-size:10px}
  .choice-price{font-size:12px}
  .tour-view{height:325px}
}
@media (max-width:365px){
  .wordmark{font-size:23px;gap:5px}.wordmark .divider{height:27px}
  .mobile-header-cta{font-size:10px;padding:0 7px}
  .nav-inner{gap:5px}
  .hero h1{font-size:40px}
  .choice-image{width:39px;height:39px}
  .book-choice{gap:6px;padding:8px 6px}
  .choice-price{font-size:11px}
  .feature p{font-size:9px}
}
@media (prefers-reduced-motion:reduce){
  .hero-bg img,.orbit,.float-shot,.mobile-immersive-path .path-dash,.mobile-immersive-card{animation:none!important;transform:none;will-change:auto}
  .hero-motion-toggle{display:none}
}

/* Offline-safe cinematic fallback: the original Unsplash photo remains primary; a
   local concept panorama still moves if the external image cannot load. */
.hero-bg{background:#122538}
.hero-bg::before{content:"";position:absolute;inset:-8%;z-index:0;
  background:url('demo-cafe-concept.webp') center center / cover no-repeat;
  transform-origin:center center}
.hero-bg img{position:relative;z-index:1}
.hero-bg::after{z-index:2}
@media (prefers-reduced-motion:no-preference){
  .hero-bg::before{animation:google3d-cinematic-drift 48s ease-in-out infinite alternate}
  .hero.motion-paused .hero-bg::before{animation-play-state:paused}
}
@media (prefers-reduced-motion:reduce){.hero-bg::before{animation:none;transform:none}}


/* 2026-10-22: Mobile panorama motion, consent-friendly and low overhead. */
@keyframes google3d-mobile-hero-pan {
  0%   {transform:scale(1.13) translate3d(-2.5%, .1%, 0)}
  50%  {transform:scale(1.18) translate3d(.5%, -1%, 0)}
  100% {transform:scale(1.13) translate3d(2.4%, .3%, 0)}
}
@keyframes google3d-mobile-beacon {
  0%,100% {box-shadow:0 0 0 3px rgba(0,167,236,.28),0 0 12px 2px rgba(0,180,240,.56)}
  50% {box-shadow:0 0 0 7px rgba(0,167,236,.08),0 0 22px 7px rgba(0,180,240,.7)}
}
/* The mobile viewport presents a shorter crop; a little extra horizontal travel shows motion. */
@media (max-width:780px) and (prefers-reduced-motion:no-preference) {
  .hero-bg img, .hero-bg::before {animation:google3d-mobile-hero-pan 31s ease-in-out infinite alternate;will-change:transform}
  .mobile-immersive-path .path-dash {animation-duration:6.5s}
  .mobile-immersive-card-one {animation-duration:5.5s}
  .mobile-immersive-card-two {animation-duration:7s}
  .mobile-immersive-node {animation:google3d-mobile-beacon 3.3s ease-in-out infinite}
  .hero.motion-paused .mobile-immersive-node {animation-play-state:paused}
}
/* Do not expose warning banners or dark boxed legal notices in the marketing layout. */
.policy-smallprint {font-size:12px;line-height:1.65;color:#60718a;max-width:74ch;
  border-top:1px solid #e2eaf1;padding-top:14px;margin:22px 0 0}
.policy-smallprint strong {font-weight:600}
@media (prefers-reduced-motion:reduce) {.mobile-immersive-node {animation:none!important}}

/* 2026-10-22: calendar-first, short-path booking. The embedded provider owns real slots. */
.booking-card.calendar-open{min-height:0}
.booking-card.calendar-open .progress{display:none}
.booking-card.calendar-open h2{font-size:clamp(21px,2vw,27px);line-height:1.16}
.booking-card.calendar-open .sub{font-size:12px;margin-top:5px;margin-bottom:13px;color:#637790}
.booking-card.calendar-open .calendar-tabs{margin:0 0 6px;gap:6px}
.booking-card.calendar-open .calendar-tabs button{min-height:37px;padding:7px 4px;font-size:10px;letter-spacing:-.015em}
.calendar-deposit{color:#526c84;text-align:center;font-size:11px;line-height:1.35;margin:4px 0 10px}
.booking-card.calendar-open .calendar-host{min-height:585px;overflow:visible;border:0;border-radius:10px}
.booking-card.calendar-open .calendar-host .calendly-inline-widget{
  display:block;width:100%;min-width:320px!important;min-height:585px;
  height:620px;max-width:100%;overflow:visible
}
.booking-card.calendar-open .calendar-host iframe{display:block;width:100%;border:0}
.booking-card.calendar-open .calendar-footer{margin-top:5px}
.booking-card.calendar-open .booking-trust{margin-top:6px}
.calendar-loading{padding:22px 10px;text-align:center;color:#56708e;font-size:13px}
.book-embed .calendly-inline-widget{
  min-width:320px!important;min-height:640px;height:720px;
  overflow:visible
}
@media(max-width:700px){
  .booking-card.calendar-open{padding-top:18px;padding-bottom:16px}
  .booking-card.calendar-open .calendar-host{min-height:595px}
  .booking-card.calendar-open .calendar-host .calendly-inline-widget{
    min-height:595px;height:640px
  }
  .booking-card.calendar-open .calendar-tabs button{font-size:10px}
  .booking-card.calendar-open .calendar-footer{gap:6px}
}
@media(max-width:375px){
  /* Guarantee the minimum 320px Calendly content width without cropping on small phones. */
  .hero-inner .booking-card.calendar-open{
    width:calc(100% + 36px);max-width:none;margin-left:-18px;margin-right:-18px;
    padding-left:8px;padding-right:8px;border-radius:15px
  }
  .booking-card.calendar-open .calendar-host{margin-left:-8px;margin-right:-8px}
}

/* Progressive booking, 2026-10-22: original four stages preserved with dates first. */
.booking-card.calendar-open .progress{display:flex;align-items:flex-start;gap:3px;margin:7px 0 13px;padding:0 0 3px}
.booking-card .progress::before{content:"";position:absolute;left:12.5%;right:12.5%;height:2px;top:13px;background:#d9e5f0;z-index:0}
.booking-card .step-dot{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;
  margin:0;padding:0;border:0;background:transparent;font-size:10px;line-height:1.2;color:#788ba2;z-index:1}
.booking-card .step-dot b{position:relative;margin:0 auto 6px;width:26px;height:26px;flex-shrink:0;background:#e5ecf5;color:#5c7190}
.booking-card .step-dot span{display:block;white-space:nowrap}
.booking-card .step-dot.complete{color:#267da6}
.booking-card .step-dot.complete b{background:#d6f4fc;color:#087da8;box-shadow:inset 0 0 0 1px #67cbe7}
.booking-card .step-dot.active{font-weight:750;color:#113a70}
.booking-card .step-dot.active b{background:#049bcd;color:#fff;box-shadow:0 0 0 3px #d7f5fe}
.booking-card button.step-dot{cursor:pointer}
.booking-card button.step-dot:hover span{text-decoration:underline;text-underline-offset:2px}
.booking-card .step-dot[aria-current=step] span{text-decoration:none}
.booking-card.calendar-open .calendar-tabs{margin-top:5px}
.booking-card.calendar-open .calendar-host{min-height:545px}
.booking-card.calendar-open .calendar-host .calendly-inline-widget{min-height:545px}
.booking-card.calendar-open .calendar-deposit{margin-top:3px;margin-bottom:6px}
@media(max-width:520px){
  .booking-card.calendar-open .progress{margin:8px 0 13px}
  .booking-card .step-dot{font-size:9px}
  .booking-card .step-dot b{width:25px;height:25px}
  .booking-card.calendar-open .calendar-tabs button{font-size:10px}
}
@media(max-width:350px){.booking-card .step-dot{font-size:8.5px}}

/* Service-first launch view: full package cards -> compact Calendly date picker. */
#hero-book {scroll-margin-top:14px}
.booking-card:not(.calendar-open) .progress {display:flex}
.booking-card:not(.calendar-open) .booking-step-select {display:block}
.booking-card:not(.calendar-open) .booking-step-calendar {display:none}
@media(max-width:520px){
 .booking-card:not(.calendar-open) .progress {margin-bottom:20px}
 .booking-card:not(.calendar-open) .book-options {display:grid;gap:9px}
 .booking-card:not(.calendar-open) .book-choice {min-height:65px}
 .booking-card:not(.calendar-open) .booking-next {min-height:46px}
}

.hero h1 .hero-region{font-size:.68em;line-height:1.12;margin-top:.2em}
