:root{--ink:#0c3449;--cyan:#06a9cc;--line:rgba(12,52,73,.16);--white:#fff;--ease:cubic-bezier(.2,.75,.2,1)}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#eef5f7}button,a{font:inherit}button{cursor:pointer}.app,.hero-stage,.hero-scene{position:relative;width:100%;height:100%}.hero-stage{overflow:hidden}.hero-scene{position:absolute;inset:0;opacity:0;pointer-events:none;transform:translateX(9%);transition:opacity .5s var(--ease),transform .7s var(--ease);overflow:hidden}.hero-scene.is-active{opacity:1;pointer-events:auto;transform:none;z-index:2}.hero-scene.is-left{transform:translateX(-9%)}.hero-scene.is-right{transform:translateX(9%)}.scene-bg{position:absolute;inset:0;background-size:cover;background-position:center}.bg-home{background-image:url('assets/home-bg.webp');background-position:center center}.floating-ui{position:absolute;z-index:50;left:0;right:0;top:0;display:flex;justify-content:space-between;align-items:flex-start;padding:26px 34px;pointer-events:none}.floating-ui>*{pointer-events:auto}.brand{border:0;background:transparent;display:flex;align-items:center;gap:13px;color:var(--ink);padding:0}.brand img{width:72px;height:72px;object-fit:contain}.brand-copy{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.brand-copy b{font-size:19px;letter-spacing:.02em}.brand-copy small{font-size:9px;letter-spacing:.24em;color:#6d8594}.top-actions{display:flex;align-items:center;gap:16px}.booking-pill{position:static;height:48px;border:1px solid rgba(6,169,204,.48);background:rgba(7,48,67,.94);color:white;border-radius:999px;padding:0 15px 0 7px;display:flex;align-items:center;gap:9px;font-size:11px;font-weight:800;letter-spacing:.075em;backdrop-filter:blur(10px);transition:transform .22s var(--ease),background .22s var(--ease),border-color .22s var(--ease)}.booking-pill:hover{transform:translateY(-2px);background:#073b52;border-color:var(--cyan)}.booking-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--cyan);font-size:13px;border:1px solid rgba(255,255,255,.34)}.menu-btn{width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.9);background:rgba(255,255,255,.72);backdrop-filter:blur(10px);display:grid;place-content:center;gap:5px}.menu-btn span{display:block;width:20px;height:2px;background:var(--ink);border-radius:99px}.edge-nav{position:absolute;z-index:45;top:50%;transform:translateY(-50%);width:58px;height:58px;border-radius:50%;border:1px solid rgba(255,255,255,.85);background:rgba(255,255,255,.64);backdrop-filter:blur(10px);color:var(--ink);font-size:42px;line-height:1;display:grid;place-items:center;transition:transform .25s ease,background .25s ease}.edge-nav:hover{transform:translateY(-50%) scale(1.05);background:#fff}.edge-prev{left:20px}.edge-next{right:20px}.hero-progress{position:absolute;z-index:44;left:50%;bottom:28px;transform:translateX(-50%);display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.12em;color:#6b8290}.dots{display:flex;align-items:center;gap:12px}.dots button{width:10px;height:10px;border-radius:50%;border:1px solid rgba(12,52,73,.18);background:rgba(255,255,255,.64);padding:0}.dots button.active{background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 0 5px rgba(6,169,204,.12)}
.home-content{position:absolute;z-index:5;left:9.8%;top:23.5%;width:36%}.pill-row{display:flex;gap:10px;margin-bottom:24px}.pill-row span{padding:8px 18px;border-radius:999px;border:1px solid rgba(6,169,204,.28);background:rgba(255,255,255,.42);font-size:12px;font-weight:700;color:#0785a4;backdrop-filter:blur(5px)}.home-content h1{margin:0}.home-content h1 strong{display:block;font-size:clamp(56px,5.9cqw,96px);line-height:.88;letter-spacing:-.065em;font-weight:800;color:#062f43}.home-content h1 em{display:block;margin-top:10px;font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(50px,5cqw,82px);line-height:.95;letter-spacing:-.045em;color:var(--cyan)}.home-content p{max-width:520px;font-size:16px;line-height:1.55;color:#617b8b;margin:24px 0 24px}.contact-cta{min-width:250px;height:54px;border:0;border-radius:999px;background:#0d5d74;color:white;padding:0 18px 0 22px;display:flex;align-items:center;justify-content:space-between;font-size:13px;letter-spacing:.08em}.home-footer-note{position:absolute;z-index:5;left:4.5%;bottom:24px;font-size:9px;letter-spacing:.24em;color:#6d8797}.pulse-lockup{position:absolute;z-index:5;right:7%;bottom:20px;width:33%;height:72px;display:flex;align-items:center;gap:14px}.pulse-lockup svg{flex:1;height:54px;overflow:visible}.pulse-lockup path{fill:none;stroke:var(--cyan);stroke-width:2.6;vector-effect:non-scaling-stroke}.pulse-lockup .pulse-base{opacity:.30}.pulse-lockup .pulse-trace{stroke-dasharray:110 520;stroke-dashoffset:630;animation:pulseRun 2.35s linear infinite;filter:none}.pulse-lockup span{font-size:9px;font-weight:800;letter-spacing:.22em;color:#fff;white-space:nowrap;text-align:center}@keyframes pulseRun{0%{stroke-dashoffset:630;opacity:0}8%{opacity:1}78%{opacity:1}100%{stroke-dashoffset:0;opacity:0}}
.bg-services{background-image:url('assets/services.webp');filter:saturate(.9) contrast(1.02);background-position:center}.scene-overlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(3,28,41,.96) 0 38%,rgba(3,28,41,.45) 64%,rgba(3,28,41,.15) 100%)}.scene-kicker{position:absolute;z-index:5;left:5%;top:9%;font-size:10px;letter-spacing:.24em;color:#93e8f6}.scene-kicker.dark{color:#178aa5}.scene-kicker.light{color:#c9f5fb}.services-layout{position:absolute;inset:0;z-index:4;display:grid;grid-template-columns:43% 57%;align-items:center;padding:7% 7% 5%}.services-copy{color:white;max-width:560px}.mini-label{font-size:10px;letter-spacing:.24em;font-weight:800;color:var(--cyan)}.services-copy h2,.profile-panel h2,.space-copy h2,.contact-panel h2{font-size:clamp(48px,5cqw,84px);line-height:.94;letter-spacing:-.05em;margin:14px 0 18px}.services-copy h2 i,.profile-panel h2 i,.space-copy h2 i,.contact-panel h2 i{font-family:Georgia,serif;font-weight:400;color:var(--cyan)}.services-copy p{max-width:480px;color:rgba(255,255,255,.72);line-height:1.6}.service-orbit{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-left:6%}.service-orbit button{min-height:140px;text-align:left;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.10);backdrop-filter:blur(12px);color:white;border-radius:26px;padding:22px;display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:16px}.service-orbit b{font-size:12px;color:#8de0ee}.service-orbit span{font-size:17px;font-weight:800}.service-orbit i{font-style:normal;font-size:22px;color:#8de0ee}.profile-photo{position:absolute;inset:0 0 0 38%;overflow:hidden}.profile-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f5f8f9 0,rgba(245,248,249,.74) 19%,transparent 46%),linear-gradient(0deg,rgba(7,37,50,.18),transparent 40%)}.profile-photo img{width:100%;height:100%;object-fit:cover;object-position:center 24%}.profile-panel{position:absolute;z-index:5;left:7%;top:17%;width:37%;color:var(--ink)}.profile-panel p,.contact-panel p{font-size:16px;line-height:1.6;color:#627d8d}.text-link{border:0;border-bottom:2px solid var(--cyan);background:transparent;color:var(--ink);padding:0 0 7px;margin-top:18px;font-weight:800;letter-spacing:.08em}.profile-accent{position:absolute;left:48%;top:11%;width:2px;height:72%;background:linear-gradient(transparent,var(--cyan),transparent);transform:rotate(7deg);opacity:.55}.bg-space{background-image:url('assets/space.webp');background-position:center}.space-gradient{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,31,43,.82) 0 45%,rgba(3,31,43,.14) 78%),linear-gradient(0deg,rgba(3,31,43,.38),transparent 50%)}.space-copy{position:absolute;z-index:5;left:7%;top:20%;width:43%;color:white}.space-copy p{max-width:480px;color:rgba(255,255,255,.75);line-height:1.55}.space-rail{position:absolute;z-index:5;right:7%;bottom:9%;display:flex;gap:8px}.space-rail span{width:54px;height:4px;border-radius:999px;background:rgba(255,255,255,.35)}.space-rail .active{background:var(--cyan)}.contact-visual{position:absolute;inset:0 0 0 45%;overflow:hidden}.contact-visual img{width:100%;height:100%;object-fit:cover}.contact-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#eff6f8 0,rgba(239,246,248,.75) 18%,transparent 46%)}.contact-panel{position:absolute;z-index:5;left:7%;top:18%;width:40%}.contact-lines{display:grid;gap:12px;margin-top:28px}.contact-lines a{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid rgba(12,52,73,.14);text-decoration:none;color:#6c8391;font-size:10px;letter-spacing:.18em}.contact-lines b{color:var(--ink);letter-spacing:.02em;font-size:13px}
.menu-overlay,.booking-modal{position:absolute;inset:0;z-index:80;opacity:0;pointer-events:none;transition:opacity .35s ease}.menu-overlay{background:rgba(4,26,38,.94);backdrop-filter:blur(20px)}.menu-overlay.open,.booking-modal.open{opacity:1;pointer-events:auto}.menu-close,.modal-close{position:absolute;right:34px;top:28px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:transparent;color:white;font-size:30px}.menu-inner{height:100%;display:grid;place-content:center;padding:6cqw}.menu-eyebrow{color:#70d8e9;font-size:10px;letter-spacing:.28em;margin-bottom:28px}.menu-inner nav{display:grid}.menu-inner nav button{border:0;background:transparent;color:white;text-align:left;font-size:clamp(42px,5.3cqw,88px);line-height:1.06;padding:5px 0;letter-spacing:-.04em}.menu-inner nav small{display:inline-block;width:48px;font-size:10px;letter-spacing:.16em;color:#62ccdf;vertical-align:middle}.booking-modal{background:rgba(4,26,38,.75);display:grid;place-items:center;backdrop-filter:blur(16px)}.booking-card{position:relative;width:min(520px,calc(100% - 32px));background:white;border-radius:28px;padding:44px;color:var(--ink)}.booking-card .modal-close{right:18px;top:16px;color:var(--ink);border-color:rgba(12,52,73,.2)}.booking-card h3{font-size:32px;margin:12px 0}.booking-card p{line-height:1.55;color:#6a8290}.booking-actions{display:grid;gap:12px}.booking-demo{border:0;border-radius:999px;background:#0d5d74;color:white;padding:14px 18px;font-weight:800}#bookingStatus{font-size:12px;color:#6a8290}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.floating-ui{padding:14px 16px}.brand img{width:48px;height:48px}.brand-copy{display:none}.booking-pill{position:static;height:42px;padding-right:13px;font-size:9px}.booking-icon{width:28px;height:28px}.menu-btn{width:44px;height:44px}.edge-nav{width:46px;height:46px;font-size:34px;top:auto;bottom:22px}.edge-prev{left:16px}.edge-next{right:16px}.hero-progress{bottom:36px}.home-content{left:7%;right:7%;top:20%;width:auto}.pill-row{gap:6px;margin-bottom:18px}.pill-row span{padding:7px 10px;font-size:9px}.home-content h1 strong{font-size:clamp(48px,14cqw,70px)}.home-content h1 em{font-size:clamp(42px,12cqw,62px)}.home-content p{font-size:13px;max-width:80%}.contact-cta{min-width:210px;height:48px}.home-footer-note{display:none}.pulse-lockup{right:5%;bottom:78px;width:58%}.pulse-lockup span{display:none}.services-layout{display:block;padding:18% 7% 10%}.services-copy{max-width:80%}.services-copy h2,.profile-panel h2,.space-copy h2,.contact-panel h2{font-size:clamp(42px,12cqw,64px)}.service-orbit{position:absolute;left:7%;right:7%;bottom:12%;padding:0;grid-template-columns:1fr 1fr;gap:8px}.service-orbit button{min-height:92px;border-radius:18px;padding:13px;grid-template-columns:auto 1fr;align-items:center}.service-orbit i{display:none}.service-orbit span{font-size:11px}.profile-photo{left:20%}.profile-panel{left:7%;top:18%;width:56%}.profile-panel p{font-size:12px}.space-copy{left:7%;top:17%;width:72%}.space-copy p{font-size:12px}.contact-visual{left:20%}.contact-panel{left:7%;top:17%;width:70%}.contact-lines a{font-size:8px}.contact-lines b{font-size:11px}.menu-inner nav button{font-size:clamp(38px,12cqw,58px)}}


/* 11.0.3 — compact right-to-left menu + readable footer note */
.menu-overlay{
  opacity:1!important;
  transform:translateX(100%);
  transition:transform .52s cubic-bezier(.2,.78,.2,1)!important;
  pointer-events:none;
  will-change:transform;
}
.menu-overlay.open{
  transform:translateX(0);
  pointer-events:auto;
}
.menu-inner{
  height:100%;
  display:flex!important;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  width:min(720px,72cqw);
  margin-left:auto;
  padding:8cqh 8cqw 8cqh 5cqw!important;
}
.menu-eyebrow{
  margin-bottom:22px!important;
  font-size:9px!important;
  letter-spacing:.26em!important;
}
.menu-inner nav{
  display:grid!important;
  gap:2px!important;
  width:100%;
}
.menu-inner nav button{
  font-size:clamp(34px,3.7cqw,58px)!important;
  line-height:1.02!important;
  padding:6px 0!important;
  letter-spacing:-.035em!important;
  font-weight:400!important;
}
.menu-inner nav small{
  width:42px!important;
  font-size:9px!important;
}
.menu-close{
  right:28px!important;
  top:24px!important;
}
.home-footer-note{
  left:4.5%!important;
  bottom:34px!important;
  color:#4f6f80!important;
  opacity:1!important;
  font-size:9.5px!important;
  font-weight:700!important;
  letter-spacing:.22em!important;
  text-shadow:0 1px 0 rgba(255,255,255,.7);
}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .menu-inner{
    width:86cqw;
    padding:10cqh 8cqw 8cqh 7cqw!important;
  }
  .menu-inner nav button{
    font-size:clamp(30px,9cqw,46px)!important;
    padding:7px 0!important;
  }
  .home-footer-note{display:none!important;}
}

/* 11.0.5 — refined uppercase brand + softer footer note */
.brand-copy b{
  font-family:"Avenir Next","Helvetica Neue",Inter,ui-sans-serif,system-ui,sans-serif!important;
  font-size:17px!important;
  font-weight:700!important;
  letter-spacing:.11em!important;
  line-height:1!important;
  color:#073247!important;
  text-transform:uppercase!important;
}
.brand-copy small{
  margin-top:4px!important;
  font-size:8.5px!important;
  font-weight:500!important;
  letter-spacing:.30em!important;
  color:rgba(64,94,112,.62)!important;
}
.home-footer-note{
  left:11%!important;
  bottom:34px!important;
  font-size:9px!important;
  font-weight:500!important;
  letter-spacing:.28em!important;
  color:rgba(47,91,111,.50)!important;
  opacity:1!important;
  text-shadow:none!important;
  white-space:nowrap!important;
}

/* 11.0.6 — visible premium uppercase wordmark */
.brand-copy b{
  font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif;
  font-size:21px;
  font-weight:600;
  letter-spacing:.115em;
  line-height:1;
  color:#07364c;
  transform:scaleX(.94);
  transform-origin:left center;
}
.brand-copy small{
  margin-top:6px;
  font-size:8.5px;
  font-weight:500;
  letter-spacing:.34em;
  color:rgba(54,91,109,.66);
}

/* 11.0.7 — actual PHYSIOSTAMATIA wordmark override (wins over 11.0.5 !important rules) */
.brand-copy b{
  font-family:"Helvetica Neue",Arial,sans-serif!important;
  font-size:22px!important;
  font-weight:300!important;
  letter-spacing:.18em!important;
  line-height:.92!important;
  color:#07364c!important;
  text-transform:uppercase!important;
  transform:scaleX(.88)!important;
  transform-origin:left center!important;
}
.brand-copy small{
  margin-top:7px!important;
  font-size:8px!important;
  font-weight:400!important;
  letter-spacing:.38em!important;
  color:rgba(54,91,109,.62)!important;
}

/* 11.0.8 — fuller two-tone PHYSIOSTAMATIA wordmark */
.brand-copy b{
  display:flex!important;
  align-items:baseline!important;
  font-family:"Helvetica Neue",Arial,sans-serif!important;
  font-size:21px!important;
  font-weight:800!important;
  letter-spacing:.055em!important;
  line-height:1!important;
  transform:none!important;
}
.brand-copy .brand-physio{color:#07364c!important;}
.brand-copy .brand-stamatia{color:#08a9cc!important;}
.brand-copy small{margin-top:5px!important;letter-spacing:.30em!important;}

/* 11.0.9 — visible HTML wordmark: crop legacy text from logo asset and render new duotone name */
.brand{gap:12px!important;overflow:visible!important;}
.brand img{
  width:78px!important;
  height:78px!important;
  object-fit:cover!important;
  object-position:left center!important;
  clip-path:inset(0 20% 0 0)!important;
}
.brand-copy{display:flex!important;position:relative!important;z-index:2!important;margin-left:-10px!important;}
.brand-copy b{
  display:flex!important;
  font-family:Inter,"Helvetica Neue",Arial,sans-serif!important;
  font-size:23px!important;
  font-weight:850!important;
  letter-spacing:.025em!important;
  line-height:1!important;
  transform:none!important;
  white-space:nowrap!important;
}
.brand-copy .brand-physio{color:#07364c!important;}
.brand-copy .brand-stamatia{color:#08a9cc!important;}
.brand-copy small{display:block!important;margin-top:6px!important;font-size:8px!important;font-weight:500!important;letter-spacing:.31em!important;color:rgba(54,91,109,.68)!important;white-space:nowrap!important;}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.brand-copy{display:none!important}.brand img{width:52px!important;height:52px!important;clip-path:none!important;object-fit:contain!important}}

/* 11.0.10 — keep brand crystal-clear above the hero fade */
.floating-ui{z-index:120!important;}
.brand{
  position:relative!important;
  z-index:125!important;
  isolation:isolate!important;
}
.brand::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-16px;
  top:-12px;
  width:360px;
  height:112px;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.42) 0%,rgba(255,255,255,.16) 62%,rgba(255,255,255,0) 100%);
  filter:blur(10px);
  opacity:.72;
}
.brand img,.brand-copy{position:relative!important;z-index:2!important;}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .brand::before{width:96px;height:82px;left:-10px;top:-8px;opacity:.58;}
}

/* 11.0.11 — right-side navigation drawer, not fullscreen */
.menu-overlay{
  left:auto;
  width:min(46cqw,760px);
  background:rgba(4,26,38,.97);
  border-left:1px solid rgba(112,216,233,.12);
  transform:translateX(100%);
  opacity:1;
  transition:transform .48s cubic-bezier(.22,.75,.18,1);
  backdrop-filter:blur(18px);
}
.menu-overlay.open{transform:translateX(0);opacity:1;pointer-events:auto}
.menu-inner{padding:100px 9% 60px;place-content:center start;width:100%}
.menu-inner nav button{font-size:clamp(34px,3.25cqw,56px);line-height:1.08;padding:7px 0}
.menu-inner nav small{width:42px}
.menu-eyebrow{margin-bottom:22px}
.menu-close{right:28px;top:28px}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
 .menu-overlay{width:min(88cqw,520px)}
 .menu-inner{padding:92px 9% 48px}
 .menu-inner nav button{font-size:clamp(34px,9cqw,50px)}
}

/* 11.0.12 — transparent brand + simple contact CTA highlight */
.brand::before{
  display:none!important;
  content:none!important;
  background:none!important;
  filter:none!important;
  opacity:0!important;
}
.brand{
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.brand img,.brand-copy{
  filter:none!important;
}
.contact-cta{
  position:relative;
  overflow:hidden;
  transition:background-color .22s ease,border-color .22s ease,color .22s ease,transform .22s ease!important;
  border:1px solid rgba(255,255,255,.14)!important;
}
.contact-cta::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.16) 48%,transparent 76%);
  transform:translateX(-125%);
  transition:transform .48s ease;
}
.contact-cta:hover{
  background:#0b6d86!important;
  border-color:rgba(108,224,243,.5)!important;
  transform:translateY(-1px);
}
.contact-cta:hover::after{transform:translateX(125%)}
.contact-cta:focus-visible{outline:2px solid rgba(6,169,204,.55);outline-offset:3px}

/* 11.0.13 — hard lock the three requested UI fixes */
/* 1) Brand is genuinely transparent: no white/blur/backdrop layer around it. */
.floating-ui .brand,
.floating-ui .brand:hover,
.floating-ui .brand:focus,
.floating-ui .brand:active{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border:0!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.floating-ui .brand::before,
.floating-ui .brand::after{
  content:none!important;
  display:none!important;
  background:none!important;
  box-shadow:none!important;
  filter:none!important;
}
.floating-ui .brand img,
.floating-ui .brand-copy{
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  opacity:1!important;
}

/* 2) Contact CTA: one simple, visible highlight — no sweeping/gloss effect. */
.contact-cta{
  background:#0d5d74!important;
  border:1px solid rgba(6,169,204,.34)!important;
  box-shadow:none!important;
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease!important;
}
.contact-cta::before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:7px;
  height:2px;
  border-radius:999px;
  background:rgba(112,216,233,.34);
  transform:scaleX(.34);
  transform-origin:center;
  transition:transform .18s ease,background-color .18s ease;
  pointer-events:none;
}
.contact-cta::after{content:none!important;display:none!important;}
.contact-cta:hover{
  background:#0b6d86!important;
  border-color:rgba(112,216,233,.72)!important;
  transform:translateY(-1px)!important;
}
.contact-cta:hover::before{
  transform:scaleX(1);
  background:rgba(255,255,255,.72);
}

/* 3) Hamburger navigation is a compact right drawer, never fullscreen. */
.menu-overlay{
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:auto!important;
  width:clamp(440px,42cqw,700px)!important;
  height:100cqh!important;
  background:rgba(4,26,38,.97)!important;
  border-left:1px solid rgba(112,216,233,.14)!important;
  transform:translateX(102%)!important;
  opacity:1!important;
  pointer-events:none!important;
  transition:transform .42s cubic-bezier(.22,.75,.18,1)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
  overflow:hidden!important;
}
.menu-overlay.open{
  transform:translateX(0)!important;
  pointer-events:auto!important;
}
.menu-inner{
  width:100%!important;
  height:100%!important;
  padding:92px 9% 48px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
}
.menu-eyebrow{margin:0 0 20px!important;font-size:9px!important;letter-spacing:.24em!important;}
.menu-inner nav{display:grid!important;gap:0!important;width:100%!important;}
.menu-inner nav button{
  width:100%!important;
  padding:6px 0!important;
  font-size:clamp(30px,3cqw,50px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
  white-space:nowrap!important;
}
.menu-inner nav small{width:38px!important;font-size:9px!important;}
.menu-close{right:24px!important;top:24px!important;width:44px!important;height:44px!important;}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .menu-overlay{width:min(88cqw,520px)!important;}
  .menu-inner{padding:84px 8% 40px!important;}
  .menu-inner nav button{font-size:clamp(30px,8cqw,44px)!important;padding:7px 0!important;}
}

/* 11.0.15 — true transparent logo asset + native clinic source for crisp hero */
.floating-ui .brand img{
  width:78px!important;
  height:78px!important;
  object-fit:contain!important;
  object-position:center!important;
  clip-path:none!important;
  background:transparent!important;
  filter:none!important;
}
.bg-home{
  background-image:url('assets/home-photo.webp')!important;
  background-size:cover!important;
  background-position:center center!important;
}
/* Rebuild the approved left readability fade in CSS so the clinic photo itself stays native/sharp. */
.scene-home::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0 auto 0 0;
  width:56%;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.91) 43%,rgba(244,252,255,.70) 72%,rgba(238,250,253,.18) 100%);
  clip-path:polygon(0 0,76% 0,100% 100%,0 100%);
}
.scene-home::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0 auto 0 31%;
  width:22%;
  pointer-events:none;
  background:rgba(124,222,239,.10);
  clip-path:polygon(0 0,32% 0,100% 100%,68% 100%);
}
.home-content,.home-footer-note,.pulse-lockup{z-index:3!important}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
 .floating-ui .brand img{width:52px!important;height:52px!important}
 .scene-home::before{width:88%;clip-path:polygon(0 0,72% 0,100% 100%,0 100%)}
 .scene-home::after{left:48%;width:34%}
}


/* 11.0.16 — uploaded original hero photo + separate left plant site layer; keep approved fades */
.bg-home{
  background-image:url('assets/home-photo-original.webp')!important;
  background-size:cover!important;
  background-position:center 52%!important;
}
.scene-home .scene-bg{z-index:0!important;}
.home-plant{
  position:absolute;
  z-index:1;
  left:0;
  top:0;
  width:clamp(220px,28cqw,520px);
  height:100%;
  object-fit:cover;
  object-position:left center;
  pointer-events:none;
  opacity:.88;
  mix-blend-mode:normal;
}
.scene-home::before,.scene-home::after{z-index:2!important;}
.home-content,.home-footer-note,.pulse-lockup{z-index:3!important;}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .bg-home{background-position:58% 50%!important;}
  .home-plant{width:44cqw;min-width:150px;max-width:250px;opacity:.82;}
}

/* 11.0.17 definitive original photo + plant layer */
.scene-home .bg-home{background-image:url("assets/home-photo-original.webp?v=1118")!important;background-size:cover!important;background-position:center 52%!important;filter:none!important;}
.scene-home .home-plant{display:block!important;visibility:visible!important;position:absolute!important;left:-22px!important;bottom:-2px!important;top:auto!important;width:clamp(230px,27cqw,500px)!important;height:auto!important;max-height:78cqh!important;object-fit:contain!important;object-position:left bottom!important;opacity:.92!important;z-index:2!important;pointer-events:none!important;}
.scene-home::before,.scene-home::after{z-index:3!important}.home-content,.home-footer-note,.pulse-lockup{z-index:4!important}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.scene-home .home-plant{left:-35px!important;width:48cqw!important;max-height:54cqh!important;opacity:.82!important}}

/* 11.0.19 FINAL: render the user-uploaded original as a real IMG, never a legacy CSS background. */
.scene-home .home-photo-live{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center 52%!important;
  display:block!important;filter:none!important;opacity:1!important;z-index:0!important;
  background:none!important;transform:none!important;
}
.scene-home .home-plant{z-index:2!important;}
.scene-home::before,.scene-home::after{z-index:3!important;}
.scene-home .home-content,.scene-home .home-footer-note,.scene-home .pulse-lockup{z-index:4!important;}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.scene-home .home-photo-live{object-position:58% 50%!important;}}

/* 11.0.20 — lock Home alignment + restore left plant layer */
@media (min-width:901px){
  .floating-ui{padding-left:9.8%!important;padding-right:34px!important;}
  .floating-ui .brand{margin-left:0!important;transform:none!important;}
  .scene-home .home-plant{
    display:block!important;
    visibility:visible!important;
    left:0!important;
    bottom:-4px!important;
    width:clamp(250px,28cqw,520px)!important;
    max-height:82cqh!important;
    opacity:.96!important;
    z-index:3!important;
    mix-blend-mode:normal!important;
  }
  .scene-home::before,.scene-home::after{z-index:2!important;}
  .scene-home .home-content,.scene-home .home-footer-note,.scene-home .pulse-lockup{z-index:4!important;}
}

/* 11.0.21 — clean transparent SVG plant only; no other Home changes */
.scene-home .home-plant{
  display:block!important;visibility:visible!important;position:absolute!important;
  left:18px!important;bottom:-18px!important;top:auto!important;
  width:clamp(180px,15cqw,285px)!important;height:auto!important;max-height:72cqh!important;
  object-fit:contain!important;object-position:left bottom!important;opacity:.78!important;
  z-index:3!important;pointer-events:none!important;mix-blend-mode:normal!important;
  filter:none!important;
}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-home .home-plant{left:6px!important;bottom:-8px!important;width:28cqw!important;max-width:150px!important;max-height:44cqh!important;opacity:.72!important;}
}

/* 11.0.22 — move decorative Home plant farther left so it stays clear of hero text */
.scene-home .home-plant{left:-72px!important;}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.scene-home .home-plant{left:-32px!important;}}

/* 11.0.23 — move decorative Home plant even farther left */
.scene-home .home-plant{left:-125px!important;}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.scene-home .home-plant{left:-65px!important;}}


/* 11.0.24 — hamburger always above page UI */
.menu-overlay{z-index:220!important;}


/* 11.0.25 — Services hero clarity, subtle blue hover and responsive detail modal */
.scene-services .scene-kicker{
  left:6.8%!important;
  top:16.5%!important;
  padding:9px 13px!important;
  border:1px solid rgba(141,224,238,.22)!important;
  border-radius:999px!important;
  background:rgba(3,28,41,.46)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  color:#b9f2fb!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.service-orbit .service-card{
  position:relative;
  overflow:hidden;
  transition:transform .24s ease,border-color .24s ease,background .24s ease,box-shadow .24s ease;
}
.service-orbit .service-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(135deg,rgba(6,169,204,.17),rgba(6,169,204,.035) 55%,transparent 78%);
  transition:opacity .24s ease;
}
.service-orbit .service-card:hover,
.service-orbit .service-card:focus-visible{
  transform:translateY(-3px);
  border-color:rgba(87,220,244,.48);
  background:rgba(6,169,204,.14);
  box-shadow:0 14px 38px rgba(0,45,62,.18),inset 0 0 0 1px rgba(117,229,246,.08);
  outline:none;
}
.service-orbit .service-card:hover::before,
.service-orbit .service-card:focus-visible::before{opacity:1}
.service-orbit .service-card b,.service-orbit .service-card span,.service-orbit .service-card i{position:relative;z-index:1}
.service-modal{
  position:fixed;
  z-index:260;
  inset:0;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(2,20,30,.66);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease;
}
.service-modal.open{opacity:1;pointer-events:auto}
.service-modal-card{
  position:relative;
  width:min(620px,92cqw);
  max-height:min(78cqh,720px);
  overflow:auto;
  border:1px solid rgba(147,232,246,.24);
  border-radius:28px;
  padding:42px 44px 40px;
  color:#fff;
  background:linear-gradient(145deg,rgba(7,48,67,.98),rgba(4,31,45,.98));
  box-shadow:0 30px 90px rgba(0,0,0,.3);
  transform:translateY(12px) scale(.985);
  transition:transform .22s ease;
}
.service-modal.open .service-modal-card{transform:none}
.service-modal-card h3{margin:12px 50px 14px 0;font-size:clamp(30px,4cqw,48px);line-height:1.02;letter-spacing:-.035em}
.service-modal-card p{margin:0;color:rgba(255,255,255,.76);font-size:16px;line-height:1.7}
.service-modal-close{position:absolute;right:18px;top:18px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;font-size:27px;line-height:1;display:grid;place-items:center}
.service-modal-close:hover{background:rgba(6,169,204,.18);border-color:rgba(115,228,246,.45)}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-services .scene-kicker{left:7%!important;top:10.5%!important;font-size:8px!important;padding:7px 10px!important;}
  .service-orbit .service-card:hover{transform:none}
  .service-modal{padding:16px;align-items:end}
  .service-modal-card{width:100%;max-height:82cqh;border-radius:24px 24px 18px 18px;padding:34px 24px 28px}
  .service-modal-card h3{font-size:clamp(28px,9cqw,40px);margin-right:42px}
  .service-modal-card p{font-size:14px;line-height:1.65}
  .service-modal-close{right:14px;top:14px;width:38px;height:38px}
}

/* 11.0.26 — Services: pill beside logo + cleaner headline spacing */
@media(min-width:901px){
  .scene-services .scene-kicker{
    left:30.5%!important;
    top:5.4%!important;
  }
  .scene-services .services-copy h2{
    line-height:1.04!important;
    letter-spacing:-.045em!important;
  }
}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-services .services-copy h2{
    line-height:1.03!important;
    letter-spacing:-.04em!important;
  }
}

/* 11.0.27 — align Services pill vertically with PHYSIO STAMATIA wordmark */
@media(min-width:901px){
  .scene-services .scene-kicker{top:7.1%!important;}
}


/* 11.0.28 — Services: align header logo with the left edge of hero copy */
@media(min-width:901px){
  body.services-active .floating-ui{padding-left:7%!important;}
}

/* 11.0.29 - Services: align TOP edge of section pill with TOP edge of PHYSIO STAMATIA wordmark */
@media(min-width:901px){
  .scene-services .scene-kicker{top:4.9%!important;}
}

/* 11.0.30 - Services: exact top alignment of pill with PHYSIO STAMATIA wordmark */
@media(min-width:901px){
  .scene-services .scene-kicker{top:6.6%!important;}
}


/* 11.0.31 - Profile hero: signature kinetic cut reveal, no photo fade */
.scene-profile{background:#edf5f7;isolation:isolate}
.scene-profile .profile-photo{
  inset:0 0 0 43%;
  overflow:hidden;
  clip-path:polygon(13% 0,100% 0,100% 100%,0 100%);
  background:#062f42;
}
.scene-profile .profile-photo:after{display:none!important}
.scene-profile .profile-photo img{
  width:100%;height:100%;object-fit:cover;object-position:center 30%;
  opacity:1!important;filter:none!important;
  transform:scale(1.08) translateX(2%);
}
.scene-profile .profile-panel{
  left:7%;top:18%;width:38%;z-index:8;
  transform:translateX(-44px);
}
.scene-profile .profile-accent{
  z-index:9;left:48.7%;top:-8%;width:3px;height:116%;opacity:0;
  background:linear-gradient(180deg,transparent 0%,#9cebf6 18%,#06a9cc 48%,#9cebf6 80%,transparent 100%);
  box-shadow:0 0 22px rgba(6,169,204,.55);
  transform:rotate(7deg) translateY(-28%);
}
.scene-profile.is-active .profile-photo{animation:profileCutReveal .95s cubic-bezier(.16,1,.3,1) both}
.scene-profile.is-active .profile-photo img{animation:profileImageSettle 1.35s cubic-bezier(.16,1,.3,1) .08s both}
.scene-profile.is-active .profile-panel{animation:profileCopyIn .82s cubic-bezier(.16,1,.3,1) .14s both}
.scene-profile.is-active .profile-accent{animation:profileScanner 1.05s cubic-bezier(.16,1,.3,1) .03s both}
.scene-profile.is-active .profile-panel .mini-label{animation:profileLabelIn .65s cubic-bezier(.16,1,.3,1) .28s both}
.scene-profile.is-active .profile-panel h2{animation:profileTitleIn .78s cubic-bezier(.16,1,.3,1) .34s both}
.scene-profile.is-active .profile-panel p,.scene-profile.is-active .profile-panel .text-link{animation:profileTextIn .72s cubic-bezier(.16,1,.3,1) .48s both}
@keyframes profileCutReveal{0%{clip-path:polygon(100% 0,100% 0,100% 100%,92% 100%)}100%{clip-path:polygon(13% 0,100% 0,100% 100%,0 100%)}}
@keyframes profileImageSettle{0%{transform:scale(1.15) translateX(6%)}100%{transform:scale(1.03) translateX(0)}}
@keyframes profileCopyIn{0%{transform:translateX(-44px)}100%{transform:translateX(0)}}
@keyframes profileScanner{0%{opacity:0;transform:rotate(7deg) translateY(-28%)}18%{opacity:1}76%{opacity:.9}100%{opacity:.48;transform:rotate(7deg) translateY(0)}}
@keyframes profileLabelIn{0%{transform:translateX(-22px)}100%{transform:none}}
@keyframes profileTitleIn{0%{transform:translateX(-34px) skewX(-3deg)}100%{transform:none}}
@keyframes profileTextIn{0%{transform:translateY(20px)}100%{transform:none}}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-profile .profile-photo{left:26%;clip-path:polygon(24% 0,100% 0,100% 100%,6% 100%)}
  .scene-profile .profile-photo img{object-position:56% center}
  .scene-profile .profile-panel{left:7%;top:18%;width:61%}
  .scene-profile .profile-accent{left:39%;top:-5%;height:110%}
  @keyframes profileCutReveal{0%{clip-path:polygon(100% 0,100% 0,100% 100%,96% 100%)}100%{clip-path:polygon(24% 0,100% 0,100% 100%,6% 100%)}}
}
@media(prefers-reduced-motion:reduce){
 .scene-profile.is-active .profile-photo,.scene-profile.is-active .profile-photo img,.scene-profile.is-active .profile-panel,.scene-profile.is-active .profile-accent,.scene-profile.is-active .profile-panel *{animation:none!important}
 .scene-profile .profile-panel{transform:none}.scene-profile .profile-accent{opacity:.48;transform:rotate(7deg)}
}

/* 11.0.32 - Services hero: full staggered entrance on every hero change */
.scene-services{isolation:isolate}
.scene-services .scene-bg{transform:scale(1.035)}
.scene-services.is-active .scene-bg{animation:servicesBgSettle 1.15s cubic-bezier(.16,1,.3,1) both}
.scene-services.is-active .scene-overlay{animation:servicesOverlaySweep .9s cubic-bezier(.16,1,.3,1) both}
body.services-active .floating-ui .brand{animation:servicesBrandIn .7s cubic-bezier(.16,1,.3,1) .04s both}
.scene-services.is-active .scene-kicker{animation:servicesPillIn .66s cubic-bezier(.16,1,.3,1) .08s both}
.scene-services.is-active .services-copy .mini-label{animation:servicesLabelIn .62s cubic-bezier(.16,1,.3,1) .16s both}
.scene-services.is-active .services-copy h2{animation:servicesTitleIn .82s cubic-bezier(.16,1,.3,1) .22s both;transform-origin:left center}
.scene-services.is-active .services-copy p{animation:servicesTextIn .72s cubic-bezier(.16,1,.3,1) .38s both}
.scene-services.is-active .service-card:nth-child(1){animation:servicesCardIn .68s cubic-bezier(.16,1,.3,1) .34s both}
.scene-services.is-active .service-card:nth-child(2){animation:servicesCardIn .68s cubic-bezier(.16,1,.3,1) .42s both}
.scene-services.is-active .service-card:nth-child(3){animation:servicesCardIn .68s cubic-bezier(.16,1,.3,1) .50s both}
.scene-services.is-active .service-card:nth-child(4){animation:servicesCardIn .68s cubic-bezier(.16,1,.3,1) .58s both}

@keyframes servicesBgSettle{
  0%{transform:scale(1.075) translateX(1.2%)}
  100%{transform:scale(1.035) translateX(0)}
}
@keyframes servicesOverlaySweep{
  0%{clip-path:inset(0 100% 0 0)}
  100%{clip-path:inset(0 0 0 0)}
}
@keyframes servicesBrandIn{
  0%{transform:translateY(-18px) scale(.985)}
  100%{transform:none}
}
@keyframes servicesPillIn{
  0%{transform:translateX(26px);clip-path:inset(0 100% 0 0 round 999px)}
  100%{transform:none;clip-path:inset(0 0 0 0 round 999px)}
}
@keyframes servicesLabelIn{
  0%{transform:translateY(16px);clip-path:inset(100% 0 0 0)}
  100%{transform:none;clip-path:inset(0 0 0 0)}
}
@keyframes servicesTitleIn{
  0%{transform:translateY(34px) skewY(2deg);clip-path:inset(100% 0 0 0)}
  100%{transform:none;clip-path:inset(0 0 0 0)}
}
@keyframes servicesTextIn{
  0%{transform:translateY(24px);clip-path:inset(100% 0 0 0)}
  100%{transform:none;clip-path:inset(0 0 0 0)}
}
@keyframes servicesCardIn{
  0%{transform:translateY(34px) scale(.955);clip-path:inset(18% 7% 18% 7% round 26px)}
  100%{transform:none;clip-path:inset(0 0 0 0 round 26px)}
}

@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-services.is-active .service-card:nth-child(1){animation-delay:.28s}
  .scene-services.is-active .service-card:nth-child(2){animation-delay:.35s}
  .scene-services.is-active .service-card:nth-child(3){animation-delay:.42s}
  .scene-services.is-active .service-card:nth-child(4){animation-delay:.49s}
}
@media(prefers-reduced-motion:reduce){
  .scene-services.is-active .scene-bg,
  .scene-services.is-active .scene-overlay,
  body.services-active .floating-ui .brand,
  .scene-services.is-active .scene-kicker,
  .scene-services.is-active .services-copy .mini-label,
  .scene-services.is-active .services-copy h2,
  .scene-services.is-active .services-copy p,
  .scene-services.is-active .service-card{animation:none!important;transform:none!important;clip-path:none!important}
}


/* 11.0.33 - unified section pill on every hero */
.section-pill{
  padding:9px 13px!important;
  border:1px solid rgba(141,224,238,.28)!important;
  border-radius:999px!important;
  background:rgba(3,28,41,.46)!important;
  color:#93e8f6!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  white-space:nowrap!important;
}
@media(min-width:901px){
  .hero-scene .section-pill{left:30.5%!important;top:6.6%!important;}
  body:not(.services-active) .floating-ui{padding-left:7%!important;}
}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .hero-scene .section-pill{left:7%!important;top:10.5%!important;font-size:8px!important;padding:7px 10px!important;}
}


/* 11.0.34 - section pills share the exact Services scene-level anchor */
@media(min-width:901px){
  .hero-scene > .section-pill{left:30.5%!important;top:6.6%!important;}
}


/* 11.0.35 — Profile cinematic modal + no pill on Home */
.scene-home > .section-pill{display:none!important}
body.modal-open{overflow:hidden}
.profile-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:28px;background:rgba(2,23,34,.78);backdrop-filter:blur(18px);opacity:0;pointer-events:none;transition:opacity .32s ease;overflow:hidden}
.profile-modal.open{opacity:1;pointer-events:auto}
.profile-modal-shell{position:relative;width:min(1180px,94cqw);height:min(820px,88cqh);display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.35fr);overflow:hidden;border-radius:34px;background:#f7fbfc;box-shadow:0 42px 140px rgba(0,16,28,.42);transform:perspective(1400px) rotateX(4deg) scale(.92);opacity:0;transition:transform .68s cubic-bezier(.16,1,.3,1),opacity .36s ease}
.profile-modal.entered .profile-modal-shell{transform:none;opacity:1}
.profile-modal-shell:before{content:"";position:absolute;z-index:4;left:36%;top:-22%;width:2px;height:150%;background:linear-gradient(transparent,#57d7ec 22%,#09a7c7 50%,#57d7ec 78%,transparent);box-shadow:0 0 26px rgba(38,202,229,.45);transform:rotate(6deg);pointer-events:none}
.profile-modal-sweep{position:absolute;z-index:8;inset:-15%;pointer-events:none;background:linear-gradient(108deg,transparent 0 43%,rgba(95,227,248,.68) 48%,rgba(255,255,255,.96) 50%,rgba(95,227,248,.28) 52%,transparent 57%);transform:translateX(-130%);mix-blend-mode:screen}
.profile-modal.entered .profile-modal-sweep{animation:profileModalSweep 1.15s cubic-bezier(.16,1,.3,1) .12s both}
.profile-modal-close{position:absolute;z-index:20;right:22px;top:22px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(13,60,79,.16);background:rgba(255,255,255,.82);backdrop-filter:blur(12px);color:#0b3448;font-size:28px;line-height:1;display:grid;place-items:center;cursor:pointer;transition:transform .25s ease,background .25s ease}
.profile-modal-close:hover{transform:rotate(90deg);background:#fff}
.profile-modal-portrait{position:relative;overflow:hidden;background:#082f40;clip-path:polygon(0 0,100% 0,88% 100%,0 100%)}
.profile-modal-portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(3,34,47,.72) 100%)}
.profile-modal-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 22%;transform:scale(1.08)}
.profile-modal.entered .profile-modal-portrait img{animation:profileModalPortrait 1.15s cubic-bezier(.16,1,.3,1) .08s both}
.profile-modal-signature{position:absolute;z-index:3;left:34px;right:58px;bottom:34px;color:white}
.profile-modal-signature span{display:inline-flex;padding:8px 12px;border:1px solid rgba(129,225,241,.42);border-radius:999px;font-size:9px;letter-spacing:.19em;color:#9cebf7;background:rgba(4,42,55,.44);backdrop-filter:blur(10px)}
.profile-modal-signature strong{display:block;margin-top:15px;font-size:clamp(34px,4cqw,58px);line-height:.88;letter-spacing:-.055em}
.profile-modal-signature small{display:block;margin-top:14px;font-size:9px;letter-spacing:.22em;color:rgba(255,255,255,.68)}
.profile-modal-content{position:relative;overflow:auto;padding:58px 56px 46px 62px;scrollbar-width:thin;scrollbar-color:#a7dce6 transparent}
.profile-modal-content:before{content:"";position:absolute;right:-110px;top:-120px;width:340px;height:340px;border:1px solid rgba(0,157,192,.13);border-radius:50%;box-shadow:0 0 0 44px rgba(0,157,192,.035),0 0 0 88px rgba(0,157,192,.02);pointer-events:none}
.profile-modal-head{position:relative;z-index:2;max-width:720px}
.profile-modal-eyebrow{display:block;color:#019dc0;font-size:10px;font-weight:900;letter-spacing:.22em;margin-bottom:12px}
.profile-modal-head h2{margin:0;color:#0b3448;font-size:clamp(40px,4.4cqw,66px);line-height:.94;letter-spacing:-.05em}
.profile-modal-head h2 i{font-family:Georgia,serif;font-weight:400;color:#08a8c8}
.profile-modal-head p{margin:18px 0 0;color:#667f8c;font-size:15px;line-height:1.65;max-width:680px}
.profile-modal-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}
.profile-modal-grid article{position:relative;min-height:152px;padding:20px 20px 18px;border:1px solid #dce9ed;border-radius:20px;background:rgba(255,255,255,.76);overflow:hidden;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.profile-modal-grid article:after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:linear-gradient(90deg,#06a9c9,transparent);transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
.profile-modal-grid article:hover{transform:translateY(-3px);border-color:#b8dfe7;box-shadow:0 15px 34px rgba(11,52,72,.08)}
.profile-modal-grid article:hover:after{transform:scaleX(1)}
.profile-modal-grid article>span{display:block;color:#07a4c4;font-size:9px;font-weight:900;letter-spacing:.16em;margin-bottom:8px}
.profile-modal-grid b{display:block;color:#12384d;font-size:14px;margin-bottom:7px}
.profile-modal-grid p{margin:0;color:#687e89;font-size:12.5px;line-height:1.52}
.profile-modal-contact{position:relative;z-index:2;display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:8px;margin-top:14px}
.profile-modal-contact div{padding:13px 14px;border-radius:15px;background:#0d3a4d;color:#fff;min-width:0}
.profile-modal-contact span{display:block;margin-bottom:4px;color:#84ddeb;font-size:8px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.profile-modal-contact strong{display:block;font-size:10.5px;line-height:1.35;overflow-wrap:anywhere}
.profile-modal.entered .profile-modal-head>*{animation:profileModalCopy .64s cubic-bezier(.16,1,.3,1) both}
.profile-modal.entered .profile-modal-head>*:nth-child(2){animation-delay:.12s}.profile-modal.entered .profile-modal-head>*:nth-child(3){animation-delay:.2s}
.profile-modal.entered .profile-modal-grid article{animation:profileModalCard .58s cubic-bezier(.16,1,.3,1) both}
.profile-modal.entered .profile-modal-grid article:nth-child(1){animation-delay:.22s}.profile-modal.entered .profile-modal-grid article:nth-child(2){animation-delay:.27s}.profile-modal.entered .profile-modal-grid article:nth-child(3){animation-delay:.32s}.profile-modal.entered .profile-modal-grid article:nth-child(4){animation-delay:.37s}.profile-modal.entered .profile-modal-grid article:nth-child(5){animation-delay:.42s}.profile-modal.entered .profile-modal-grid article:nth-child(6){animation-delay:.47s}
.profile-modal.entered .profile-modal-contact{animation:profileModalCopy .62s cubic-bezier(.16,1,.3,1) .5s both}
@keyframes profileModalSweep{0%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
@keyframes profileModalPortrait{from{transform:scale(1.16) translateX(-2%)}to{transform:scale(1.08) translateX(0)}}
@keyframes profileModalCopy{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes profileModalCard{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.profile-modal{padding:12px;align-items:end}.profile-modal-shell{width:100%;height:min(92cqh,880px);grid-template-columns:1fr;grid-template-rows:33% 67%;border-radius:28px 28px 18px 18px}.profile-modal-shell:before{left:0;right:0;top:31.5%;width:100%;height:2px;transform:none;background:linear-gradient(90deg,transparent,#42d3e9,transparent)}.profile-modal-portrait{clip-path:polygon(0 0,100% 0,100% 90%,0 100%)}.profile-modal-portrait img{object-position:center 27%}.profile-modal-signature{left:22px;right:72px;bottom:24px}.profile-modal-signature strong{font-size:36px}.profile-modal-signature small{display:none}.profile-modal-content{padding:30px 20px 34px}.profile-modal-head h2{font-size:clamp(34px,9cqw,48px)}.profile-modal-head p{font-size:13px}.profile-modal-grid{grid-template-columns:1fr;gap:9px;margin-top:20px}.profile-modal-grid article{min-height:0;padding:15px 16px}.profile-modal-contact{grid-template-columns:1fr 1fr}.profile-modal-close{right:14px;top:14px;width:42px;height:42px}}
@media(max-width:520px){.profile-modal-shell{grid-template-rows:29% 71%}.profile-modal-portrait img{object-position:center 24%}.profile-modal-signature{bottom:18px}.profile-modal-signature span{font-size:8px;padding:6px 9px}.profile-modal-signature strong{font-size:31px;margin-top:10px}.profile-modal-content{padding:26px 16px 30px}.profile-modal-head h2{font-size:34px}.profile-modal-contact{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.profile-modal *{animation:none!important;transition:none!important}.profile-modal-shell{transform:none!important}.profile-modal-sweep{display:none!important}}

/* 11.0.36 - Profile hero: give Greek accents/diacritics safe vertical breathing room */
.scene-profile .profile-panel h2{
  line-height:1.07!important;
}
.scene-profile .profile-panel h2 i{
  line-height:1.08;
}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-profile .profile-panel h2{line-height:1.08!important;}
}


/* 11.0.37 - Profile modal particle creation + contained scrollbars */
.profile-modal-particles{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;opacity:0}
.profile-modal-particles:before,.profile-modal-particles:after{content:"";position:absolute;left:50%;top:50%;width:min(68cqw,900px);aspect-ratio:1;border:1px solid rgba(80,220,242,.38);border-radius:50%;transform:translate(-50%,-50%) scale(.08);opacity:0;box-shadow:0 0 42px rgba(29,190,218,.18),inset 0 0 32px rgba(66,218,239,.08)}
.profile-modal-particles:after{width:min(48cqw,620px);border-color:rgba(255,255,255,.38)}
.profile-modal.open .profile-modal-particles{opacity:1}
.profile-modal.entered .profile-modal-particles:before{animation:profileCreationRing 1s cubic-bezier(.16,1,.3,1) both}
.profile-modal.entered .profile-modal-particles:after{animation:profileCreationRing .82s cubic-bezier(.16,1,.3,1) .08s both}
.profile-modal-particles i{position:absolute;left:50%;top:50%;width:var(--s);height:var(--s);border-radius:50%;background:#63def1;box-shadow:0 0 12px rgba(67,216,239,.9),0 0 24px rgba(16,166,196,.38);opacity:0;transform:translate(-50%,-50%) scale(.2)}
.profile-modal-particles i:nth-child(3n){background:#fff;box-shadow:0 0 14px rgba(255,255,255,.85),0 0 28px rgba(86,220,241,.36)}
.profile-modal-particles i:nth-child(4n){border-radius:999px;height:2px;width:calc(var(--s) * 2.4)}
.profile-modal.entered .profile-modal-particles i{animation:profileCreationParticle 1.02s cubic-bezier(.12,.72,.2,1) var(--d) both}
.profile-modal-shell{z-index:1;clip-path:inset(46% 46% round 34px);transition:clip-path .74s cubic-bezier(.16,1,.3,1),transform .68s cubic-bezier(.16,1,.3,1),opacity .36s ease}
.profile-modal.entered .profile-modal-shell{clip-path:inset(0 round 34px)}
.profile-modal-content{margin:10px 10px 10px 0;border-radius:0 24px 24px 0;scrollbar-gutter:stable;overscroll-behavior:contain}
.profile-modal-content::-webkit-scrollbar{width:7px}
.profile-modal-content::-webkit-scrollbar-track{background:transparent;margin-block:18px}
.profile-modal-content::-webkit-scrollbar-thumb{background:linear-gradient(#bfeaf1,#65cfe1);border-radius:999px;border:1px solid transparent;background-clip:padding-box}
.profile-modal-content::-webkit-scrollbar-thumb:hover{background:#42bdd3;background-clip:padding-box}
@keyframes profileCreationParticle{0%{opacity:0;transform:translate(-50%,-50%) scale(.1)}20%{opacity:var(--a)}70%{opacity:calc(var(--a) * .75)}100%{opacity:0;transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(1.15)}}
@keyframes profileCreationRing{0%{opacity:0;transform:translate(-50%,-50%) scale(.08)}24%{opacity:.72}100%{opacity:0;transform:translate(-50%,-50%) scale(1.06)}}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.profile-modal-shell{clip-path:inset(48% 44% round 28px)}.profile-modal.entered .profile-modal-shell{clip-path:inset(0 round 28px 28px 18px 18px)}.profile-modal-content{margin:8px 7px 8px 0;border-radius:0 16px 16px 0}.profile-modal-content::-webkit-scrollbar{width:5px}.profile-modal-content::-webkit-scrollbar-track{margin-block:14px}}
@media(prefers-reduced-motion:reduce){.profile-modal-particles{display:none!important}.profile-modal-shell{clip-path:none!important}}


/* 11.0.38 - Refined profile modal scene, cleaner background graphics, stronger opening */
.profile-modal{
  background:
    radial-gradient(circle at 50% 46%,rgba(14,148,180,.18) 0,rgba(2,23,34,0) 35%),
    rgba(2,23,34,.82);
}
.profile-modal-shell{
  transform:perspective(1500px) rotateY(-8deg) rotateX(4deg) scale(.78);
  filter:blur(8px);
  clip-path:inset(49% 49% round 34px);
  transition:clip-path .82s cubic-bezier(.16,1,.3,1),transform .82s cubic-bezier(.16,1,.3,1),filter .58s ease,opacity .32s ease;
  box-shadow:0 46px 150px rgba(0,16,28,.5),0 0 0 1px rgba(122,224,241,.12);
}
.profile-modal.entered .profile-modal-shell{
  transform:perspective(1500px) rotateY(0) rotateX(0) scale(1);
  filter:none;
  clip-path:inset(0 round 34px);
}
.profile-modal-shell:after{
  content:"";
  position:absolute;
  z-index:18;
  inset:0;
  border-radius:inherit;
  border:1px solid rgba(104,224,242,.8);
  box-shadow:inset 0 0 34px rgba(60,207,231,.16),0 0 34px rgba(39,201,227,.2);
  opacity:0;
  pointer-events:none;
}
.profile-modal.entered .profile-modal-shell:after{animation:profileFrameFlash 1.1s cubic-bezier(.16,1,.3,1) .04s both}
.profile-modal-content{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:
    radial-gradient(circle at 88% 7%,rgba(3,174,207,.10),transparent 26%),
    radial-gradient(circle at 74% 38%,rgba(96,217,235,.055),transparent 24%),
    linear-gradient(135deg,rgba(255,255,255,.50),rgba(241,249,251,.24));
}
.profile-modal-content:before{
  right:22px!important;
  top:18px!important;
  width:150px!important;
  height:150px!important;
  border:1px solid rgba(0,157,192,.075)!important;
  box-shadow:0 0 0 26px rgba(0,157,192,.018),0 0 0 52px rgba(0,157,192,.010)!important;
  opacity:.7;
}
.profile-modal-content:after{
  content:"";
  position:absolute;
  z-index:0;
  right:4%;
  top:4%;
  width:42%;
  height:46%;
  pointer-events:none;
  opacity:.42;
  background:
    linear-gradient(115deg,transparent 0 48%,rgba(0,166,199,.08) 48.5% 49%,transparent 49.5% 100%),
    linear-gradient(25deg,transparent 0 63%,rgba(0,166,199,.05) 63.5% 64%,transparent 64.5% 100%);
  mask-image:linear-gradient(to bottom,black,transparent 92%);
}
.profile-modal-particles i{filter:drop-shadow(0 0 6px rgba(86,221,241,.72))}
.profile-modal.entered .profile-modal-particles i{animation-duration:1.28s}
.profile-modal-sweep{
  background:linear-gradient(108deg,transparent 0 42%,rgba(64,215,239,.18) 46%,rgba(255,255,255,.88) 49.4%,rgba(102,231,248,.55) 50%,rgba(64,215,239,.12) 53%,transparent 58%);
}
.profile-modal.entered .profile-modal-sweep{animation-duration:1.32s}
.profile-modal-signature strong{margin-top:12px}
@keyframes profileFrameFlash{
  0%{opacity:0;transform:scale(.94)}
  22%{opacity:1}
  68%{opacity:.5}
  100%{opacity:0;transform:scale(1)}
}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .profile-modal-shell{transform:perspective(1200px) rotateX(8deg) scale(.82);filter:blur(6px);clip-path:inset(49% 46% round 28px)}
  .profile-modal.entered .profile-modal-shell{transform:none;filter:none;clip-path:inset(0 round 28px 28px 18px 18px)}
  .profile-modal-content:before{right:8px!important;top:10px!important;width:110px!important;height:110px!important}
  .profile-modal-content:after{width:60%;height:34%;right:-4%;top:2%}
}
@media(prefers-reduced-motion:reduce){.profile-modal-shell{filter:none!important}}

/* 11.0.39 - Expanded cyan background artwork across the full profile content panel */
.profile-modal-content{
  isolation:isolate;
  background:
    radial-gradient(ellipse at 92% 4%,rgba(16,185,216,.18) 0%,rgba(16,185,216,.10) 24%,rgba(16,185,216,.035) 48%,transparent 72%),
    radial-gradient(ellipse at 76% 44%,rgba(64,210,233,.11) 0%,rgba(64,210,233,.05) 34%,transparent 70%),
    linear-gradient(145deg,rgba(255,255,255,.58),rgba(239,249,251,.42));
}
.profile-modal-content:before{
  right:-22%!important;
  top:-38%!important;
  width:min(78cqw,920px)!important;
  height:min(78cqw,920px)!important;
  border:1px solid rgba(0,166,199,.12)!important;
  border-radius:50%!important;
  box-shadow:
    0 0 0 72px rgba(0,166,199,.030),
    0 0 0 146px rgba(0,166,199,.022),
    0 0 0 224px rgba(0,166,199,.014),
    inset 0 0 140px rgba(34,195,222,.035)!important;
  opacity:1!important;
  z-index:0;
}
.profile-modal-content:after{
  right:-8%;
  top:-4%;
  width:105%;
  height:108%;
  opacity:.78;
  background:
    radial-gradient(circle at 88% 11%,transparent 0 19%,rgba(7,170,201,.055) 19.2% 19.7%,transparent 20% 28%,rgba(7,170,201,.04) 28.2% 28.7%,transparent 29%),
    linear-gradient(118deg,transparent 0 56%,rgba(0,166,199,.055) 56.2% 56.6%,transparent 56.8% 100%),
    linear-gradient(28deg,transparent 0 72%,rgba(0,166,199,.038) 72.2% 72.6%,transparent 72.8% 100%);
  mask-image:linear-gradient(135deg,rgba(0,0,0,.92),rgba(0,0,0,.58) 58%,transparent 96%);
}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .profile-modal-content:before{right:-42%!important;top:-20%!important;width:560px!important;height:560px!important;box-shadow:0 0 0 54px rgba(0,166,199,.026),0 0 0 110px rgba(0,166,199,.018),0 0 0 168px rgba(0,166,199,.012)!important}
  .profile-modal-content:after{width:120%;right:-20%;opacity:.6}
}

/* 11.0.40 — align Greek brand strapline exactly under PHYSIOSTAMATIA on every hero */
@media (min-width:901px){
  .floating-ui .brand-copy{
    align-items:stretch!important;
  }
  .floating-ui .brand-copy b{
    width:100%!important;
  }
  .floating-ui .brand-copy small{
    width:100%!important;
    margin-top:7px!important;
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    font-size:8px!important;
    line-height:1!important;
    letter-spacing:.12em!important;
    white-space:nowrap!important;
  }
}

/* 11.0.41 — true edge-to-edge alignment of Greek strapline with PHYSIOSTAMATIA */
@media (min-width:901px){
  .floating-ui .brand-copy{
    display:grid!important;
    grid-template-columns:max-content!important;
    align-items:start!important;
    margin-left:-10px!important;
  }
  .floating-ui .brand-copy b{
    display:flex!important;
    width:max-content!important;
    justify-self:start!important;
  }
  .floating-ui .brand-copy small{
    display:block!important;
    width:100%!important;
    min-width:100%!important;
    max-width:none!important;
    margin-top:7px!important;
    padding:0!important;
    font-size:8px!important;
    line-height:1!important;
    letter-spacing:normal!important;
    white-space:nowrap!important;
    text-align:justify!important;
    text-align-last:justify!important;
    justify-self:stretch!important;
  }
  .floating-ui .brand-copy small::after{
    content:"";
    display:inline-block;
    width:100%;
  }
}

/* 11.0.42 — full contact interaction + stronger reveal + top-blue profile atmosphere */

/* Profile modal: the WHOLE content background starts blue at the top and fades out downward. */
.profile-modal-content{
  isolation:isolate;
  background:
    linear-gradient(180deg,
      rgba(18,177,209,.34) 0%,
      rgba(42,194,219,.26) 12%,
      rgba(116,219,235,.18) 30%,
      rgba(206,241,246,.12) 48%,
      rgba(247,251,252,.62) 70%,
      #f7fbfc 100%)!important;
}
.profile-modal-content:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:58%!important;
  right:auto!important;
  top:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  opacity:1!important;
  z-index:0!important;
  pointer-events:none!important;
  background:
    radial-gradient(ellipse at 82% 0%,rgba(0,133,174,.24) 0%,rgba(0,160,194,.12) 27%,transparent 62%),
    radial-gradient(ellipse at 22% 0%,rgba(80,215,236,.20) 0%,transparent 58%),
    linear-gradient(180deg,rgba(0,161,199,.16),transparent 100%)!important;
  mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.88) 52%,transparent 100%);
}
.profile-modal-content:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:68%!important;
  right:auto!important;
  top:0!important;
  z-index:0!important;
  opacity:.62!important;
  pointer-events:none!important;
  background:
    linear-gradient(116deg,transparent 0 57%,rgba(255,255,255,.32) 57.2% 57.5%,transparent 57.8% 100%),
    linear-gradient(28deg,transparent 0 72%,rgba(0,135,177,.08) 72.2% 72.55%,transparent 72.8% 100%)!important;
  mask-image:linear-gradient(to bottom,#000,rgba(0,0,0,.56) 52%,transparent 100%)!important;
}
.profile-modal-content>*{position:relative;z-index:1}

/* Contact hero: cinematic reveal, not a simple photo fade. */
.scene-contact{overflow:hidden;background:#eef6f8}
.scene-contact .contact-visual{
  transform-origin:82% 50%;
  clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%);
  transform:perspective(1400px) translateX(9%) rotateY(-7deg) scale(1.08);
  filter:saturate(.82) contrast(1.04) blur(7px);
  opacity:1;
  transition:none;
}
.scene-contact.is-active .contact-visual{animation:contactVisualBuild 1.08s cubic-bezier(.12,.84,.18,1) .06s both}
.scene-contact .contact-visual img{transform:scale(1.16) translateX(2%);filter:saturate(.82) contrast(1.02);transition:none}
.scene-contact.is-active .contact-visual img{animation:contactImageResolve 1.38s cubic-bezier(.16,1,.3,1) .08s both}
.scene-contact .contact-photo-line{position:absolute;left:1%;top:0;width:2px;height:100%;background:linear-gradient(transparent,rgba(63,216,239,.9) 20%,#fff 50%,rgba(63,216,239,.9) 80%,transparent);box-shadow:0 0 24px rgba(37,196,224,.8);opacity:0;z-index:3}
.scene-contact.is-active .contact-photo-line{animation:contactScan 1.16s cubic-bezier(.18,.8,.2,1) .04s both}
.scene-contact .contact-visual:after{background:linear-gradient(90deg,#eef6f8 0%,rgba(238,246,248,.92) 12%,rgba(238,246,248,.48) 29%,rgba(238,246,248,.08) 48%,transparent 68%)}
.contact-reveal-frame{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}
.contact-reveal-frame i{position:absolute;background:linear-gradient(90deg,transparent,rgba(62,204,229,.68),#fff,rgba(62,204,229,.46),transparent);opacity:0;box-shadow:0 0 30px rgba(38,198,225,.4)}
.contact-reveal-frame i:nth-child(1){left:42%;top:0;width:2px;height:100%;transform:translateY(-100%)}
.contact-reveal-frame i:nth-child(2){left:0;top:17%;width:100%;height:1px;transform:translateX(-100%)}
.contact-reveal-frame i:nth-child(3){left:0;bottom:16%;width:100%;height:1px;transform:translateX(100%)}
.contact-reveal-frame i:nth-child(4){right:4%;top:0;width:1px;height:100%;transform:translateY(100%)}
.scene-contact.is-active .contact-reveal-frame i:nth-child(1){animation:contactLineV .82s ease-out .02s both}
.scene-contact.is-active .contact-reveal-frame i:nth-child(2){animation:contactLineH .88s ease-out .08s both}
.scene-contact.is-active .contact-reveal-frame i:nth-child(3){animation:contactLineHReverse .92s ease-out .16s both}
.scene-contact.is-active .contact-reveal-frame i:nth-child(4){animation:contactLineVReverse .76s ease-out .12s both}
.contact-reveal-flash{position:absolute;z-index:3;inset:-10%;pointer-events:none;opacity:0;background:radial-gradient(circle at 57% 50%,rgba(91,225,244,.25),transparent 20%),linear-gradient(102deg,transparent 42%,rgba(255,255,255,.78) 49%,rgba(78,216,237,.35) 50.5%,transparent 58%);transform:translateX(-72%)}
.scene-contact.is-active .contact-reveal-flash{animation:contactFlash 1.1s cubic-bezier(.16,1,.3,1) .02s both}
.scene-contact .scene-kicker{opacity:0;transform:translateY(-14px)}
.scene-contact.is-active .scene-kicker{animation:contactCopyIn .52s ease-out .56s both}

/* Real typing fields. */
.contact-panel{top:13.5%;width:min(43%,590px);height:auto;max-height:76%;display:flex;align-items:flex-start}
.contact-form-state{width:100%}
.contact-panel .contact-copy{opacity:0;transform:translateX(-42px);filter:blur(4px)}
.scene-contact.is-active .contact-panel .contact-copy{animation:contactCopyIn .72s cubic-bezier(.16,1,.3,1) .38s both}
.contact-panel h2{font-size:clamp(42px,4.5cqw,76px);margin:10px 0 12px}
.contact-intro{max-width:520px!important;margin:0 0 16px!important;font-size:13px!important;line-height:1.45!important}
.hero-contact-form{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;width:100%}
.contact-field{position:relative;min-width:0;opacity:0;transform:translateY(18px)}
.scene-contact.is-active .contact-field:nth-child(1){animation:contactFieldIn .56s cubic-bezier(.16,1,.3,1) .62s both}
.scene-contact.is-active .contact-field:nth-child(2){animation:contactFieldIn .56s cubic-bezier(.16,1,.3,1) .69s both}
.scene-contact.is-active .contact-field:nth-child(3){animation:contactFieldIn .56s cubic-bezier(.16,1,.3,1) .76s both}
.scene-contact.is-active .contact-field:nth-child(4){animation:contactFieldIn .56s cubic-bezier(.16,1,.3,1) .83s both}
.contact-field-message{grid-column:1/-1}
.contact-field label{display:block;margin:0 0 4px;font-size:8px;font-weight:800;letter-spacing:.18em;color:#668492}
.contact-field input,.contact-field textarea{width:100%;border:0;border-bottom:1px solid rgba(13,75,97,.20);border-radius:0;background:transparent;outline:0;padding:8px 2px 9px;color:#0b3549;font:600 13px/1.25 inherit;transition:border-color .22s ease,background .22s ease,box-shadow .22s ease}
.contact-field textarea{min-height:44px;max-height:78px;resize:vertical}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#97aab2;font-weight:500}
.contact-field input:focus,.contact-field textarea:focus{border-color:#11aeca;background:transparent;box-shadow:0 7px 14px -14px rgba(0,132,164,.8)}
.contact-field.has-error input,.contact-field.has-error textarea{border-color:#d25757;background:rgba(255,235,235,.45)}
.contact-form-actions{grid-column:1/-1;display:flex;align-items:center;gap:14px;margin-top:4px;opacity:0;transform:translateY(12px)}
.scene-contact.is-active .contact-form-actions{animation:contactFieldIn .56s cubic-bezier(.16,1,.3,1) .91s both}
.contact-submit{height:42px;min-width:166px;padding:0 16px;border:0;border-radius:999px;background:#062e43;color:white;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:9px;font-weight:900;letter-spacing:.16em;cursor:pointer;box-shadow:0 10px 30px rgba(6,46,67,.16);transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
.contact-submit:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(6,46,67,.24);background:#0a4259}
.contact-submit:disabled{opacity:.62;cursor:wait;transform:none}
.contact-submit b{font-size:17px;color:#69d9eb}
.contact-form-status{font-size:10px;line-height:1.35;color:#6d818b;max-width:230px}
.contact-form-status.error{color:#b54040}

/* The SAME panel transforms into detailed success content. */
.contact-success{display:none;width:100%;max-width:560px;opacity:0;transform:translateY(26px) scale(.97);filter:blur(7px)}
.contact-panel.success-mode .contact-form-state{display:none}
.contact-panel.success-mode .contact-success{display:block;animation:contactSuccessReveal .72s cubic-bezier(.16,1,.3,1) both}
.success-mark{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;margin-bottom:15px;background:radial-gradient(circle at 36% 30%,#77e0ef,#0ea7c3);box-shadow:0 14px 38px rgba(14,167,195,.24),0 0 0 7px rgba(25,185,211,.08)}
.success-mark span{font-size:30px;color:white;font-weight:900}
.contact-success h3{font-size:clamp(34px,4cqw,58px);line-height:.98;letter-spacing:-.045em;margin:10px 0 12px;color:#0a3448}
.contact-success h3 strong{color:#08a8c5;font-weight:500;font-family:Georgia,serif;font-style:italic}
.contact-success>p{font-size:13px!important;max-width:480px;color:#637e8d!important;margin-bottom:15px}
.contact-success dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:7px 18px}
.contact-success dl div{padding:8px 0;border-bottom:1px solid rgba(11,74,96,.12);min-width:0}
.contact-success .success-message-row{grid-column:1/-1}
.contact-success dt{font-size:7px;font-weight:900;letter-spacing:.16em;color:#78909b;margin-bottom:3px}
.contact-success dd{margin:0;color:#123d50;font-size:11px;font-weight:700;overflow-wrap:anywhere}
.contact-new-message{margin-top:14px;border:0;border-bottom:1px solid #10abc7;background:transparent;padding:0 0 5px;color:#0d4054;font-size:9px;font-weight:900;letter-spacing:.14em;cursor:pointer}
.contact-new-message span{color:#11abc7;font-size:15px;margin-left:8px}

@keyframes contactVisualBuild{0%{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%);transform:perspective(1400px) translateX(10%) rotateY(-8deg) scale(1.1);filter:saturate(.72) blur(8px)}48%{clip-path:polygon(32% 0,100% 0,100% 100%,42% 100%)}100%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:none;filter:saturate(.94) blur(0)}}
@keyframes contactImageResolve{0%{transform:scale(1.16) translateX(3%)}100%{transform:scale(1.01) translateX(0)}}
@keyframes contactScan{0%{left:100%;opacity:0}14%{opacity:1}78%{opacity:.7}100%{left:0;opacity:0}}
@keyframes contactLineV{0%{transform:translateY(-100%);opacity:0}25%{opacity:.9}100%{transform:translateY(100%);opacity:0}}
@keyframes contactLineVReverse{0%{transform:translateY(100%);opacity:0}25%{opacity:.8}100%{transform:translateY(-100%);opacity:0}}
@keyframes contactLineH{0%{transform:translateX(-100%);opacity:0}22%{opacity:.8}100%{transform:translateX(100%);opacity:0}}
@keyframes contactLineHReverse{0%{transform:translateX(100%);opacity:0}22%{opacity:.8}100%{transform:translateX(-100%);opacity:0}}
@keyframes contactFlash{0%{transform:translateX(-72%);opacity:0}20%{opacity:.7}100%{transform:translateX(72%);opacity:0}}
@keyframes contactCopyIn{0%{opacity:0;transform:translateX(-42px);filter:blur(5px)}100%{opacity:1;transform:none;filter:none}}
@keyframes contactFieldIn{0%{opacity:0;transform:translateY(18px)}100%{opacity:1;transform:none}}
@keyframes contactSuccessReveal{0%{opacity:0;transform:translateY(26px) scale(.97);filter:blur(7px)}100%{opacity:1;transform:none;filter:none}}

@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .profile-modal-content{background:linear-gradient(180deg,rgba(18,177,209,.34) 0%,rgba(73,202,225,.22) 20%,rgba(221,244,248,.11) 48%,#f7fbfc 78%)!important}
  .profile-modal-content:before{height:52%!important}
  .contact-panel{left:7%;top:13%;width:84%;max-height:74%}
  .contact-panel h2{font-size:clamp(38px,10cqw,58px)}
  .contact-intro{font-size:11px!important;max-width:72%!important}
  .hero-contact-form{grid-template-columns:1fr 1fr;gap:6px 10px;max-width:74%}
  .contact-field input,.contact-field textarea{font-size:12px;padding:6px 1px 7px;background:transparent}
  .contact-field textarea{min-height:38px}
  .contact-form-actions{gap:10px}
  .contact-submit{height:38px;min-width:148px;padding:0 14px}
  .contact-form-status{font-size:8px;max-width:160px}
  .contact-success{max-width:75%}
  .contact-success h3{font-size:clamp(32px,8.6cqw,48px)}
}
@media(max-width:620px){
  .contact-panel{top:13%;width:86%;max-height:76%}
  .contact-panel h2{font-size:clamp(34px,9.5cqw,48px);margin:7px 0 8px}
  .contact-intro{display:none}
  .hero-contact-form{max-width:79%;grid-template-columns:1fr;gap:5px}
  .contact-field-message{grid-column:auto}
  .contact-field label{font-size:7px;margin-bottom:2px}
  .contact-field input,.contact-field textarea{font-size:11px;padding:4px 1px 5px}
  .contact-field textarea{min-height:32px;max-height:52px}
  .contact-form-actions{margin-top:2px;display:block}
  .contact-submit{height:34px;min-width:142px}
  .contact-form-status{display:block;margin-top:5px;max-width:72%;font-size:7px}
  .contact-success{max-width:82%}
  .success-mark{width:50px;height:50px;margin-bottom:10px}.success-mark span{font-size:24px}
  .contact-success>p{font-size:11px!important;margin-bottom:9px}
  .contact-success dl{grid-template-columns:1fr;gap:2px}.contact-success .success-message-row{grid-column:auto}.contact-success dl div{padding:5px 0}
}
@media(prefers-reduced-motion:reduce){
  .scene-contact .contact-visual,.scene-contact .contact-visual img,.scene-contact .contact-panel .contact-copy,.scene-contact .contact-field,.scene-contact .contact-form-actions,.scene-contact .scene-kicker{animation:none!important;transform:none!important;filter:none!important;opacity:1!important;clip-path:none!important}
  .contact-reveal-frame,.contact-reveal-flash,.contact-photo-line{display:none!important}
}

/* 11.0.43 — rebuilt space hero + interactive horizontal gallery */
.scene-space{background:#082b3b;color:#fff;isolation:isolate}
.scene-space:before{content:"";position:absolute;inset:0;z-index:0;background:
  radial-gradient(circle at 72% 22%,rgba(44,192,218,.18),transparent 24%),
  linear-gradient(110deg,#082c3d 0 38%,#0b3e51 38% 55%,#0d3140 100%)}
.space-ambient{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.space-ambient span{position:absolute;border:1px solid rgba(130,226,241,.16);border-radius:50%;filter:blur(.1px);opacity:0;transform:scale(.55)}
.space-ambient span:nth-child(1){width:48cqw;height:48cqw;right:-12cqw;top:-20cqw}
.space-ambient span:nth-child(2){width:26cqw;height:26cqw;right:22cqw;bottom:-15cqw}
.space-ambient span:nth-child(3){width:12cqw;height:12cqw;left:41%;top:16%}
.scene-space.is-active .space-ambient span{animation:spaceRingReveal 1.35s var(--ease) forwards}
.scene-space.is-active .space-ambient span:nth-child(2){animation-delay:.13s}.scene-space.is-active .space-ambient span:nth-child(3){animation-delay:.22s}
@keyframes spaceRingReveal{0%{opacity:0;transform:scale(.42) rotate(-16deg)}55%{opacity:.5}100%{opacity:1;transform:scale(1) rotate(0)}}
.scene-space .scene-kicker{z-index:8}
.space-copy{position:absolute;z-index:7;left:7%;top:20%;width:35%;color:white;opacity:0;transform:translate3d(-46px,28px,0) scale(.97);filter:blur(9px)}
.scene-space.is-active .space-copy{animation:spaceCopyReveal .95s .18s cubic-bezier(.18,.8,.18,1) forwards}
@keyframes spaceCopyReveal{0%{opacity:0;transform:translate3d(-46px,28px,0) scale(.97);filter:blur(9px)}100%{opacity:1;transform:none;filter:blur(0)}}
.space-copy .mini-label{display:block;margin-bottom:16px;color:#8be7f4}
.space-copy h2{font-size:clamp(46px,4.75cqw,82px);line-height:.93;margin:0 0 20px;letter-spacing:-.055em}
.space-copy p{max-width:500px;color:rgba(255,255,255,.72);font-size:15px;line-height:1.62}
.space-open-gallery{margin-top:24px;min-width:210px;height:50px;border-radius:999px;border:1px solid rgba(123,224,239,.45);background:rgba(255,255,255,.08);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 18px 0 20px;font-size:11px;letter-spacing:.14em;font-weight:800;backdrop-filter:blur(12px);transition:.28s var(--ease)}
.space-open-gallery:hover{background:#08a9cb;border-color:#08a9cb;transform:translateY(-3px);box-shadow:0 16px 40px rgba(6,169,204,.22)}
.space-open-gallery b{font-size:18px;font-weight:400}
.space-gallery{position:absolute;z-index:6;left:45%;right:3.8%;top:15.5%;bottom:13%;display:flex;gap:12px;align-items:stretch;perspective:1300px;opacity:0;transform:translate3d(9cqw,0,0)}
.scene-space.is-active .space-gallery{animation:spaceGalleryReveal 1.05s .16s cubic-bezier(.16,.82,.18,1) forwards}
@keyframes spaceGalleryReveal{0%{opacity:0;transform:translate3d(12cqw,0,0);clip-path:inset(0 0 0 100%)}100%{opacity:1;transform:none;clip-path:inset(0)}}
.space-card{position:relative;flex:1 1 0;min-width:0;border:0;padding:0;border-radius:24px;overflow:hidden;background:#0b2935;box-shadow:0 18px 52px rgba(0,0,0,.24);transition:flex .55s cubic-bezier(.18,.8,.18,1),transform .42s var(--ease),filter .42s ease,opacity .42s ease;transform:translateZ(0)}
.space-card:after{content:"↗";position:absolute;right:15px;top:15px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(4,35,48,.58);color:#fff;border:1px solid rgba(255,255,255,.45);backdrop-filter:blur(8px);font-size:15px;opacity:0;transform:scale(.75);transition:.3s ease}
.space-card img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:saturate(.8) brightness(.82);transform:scale(1.05);transition:transform .72s cubic-bezier(.18,.8,.18,1),filter .42s ease}
.space-gallery:hover .space-card{filter:brightness(.78);opacity:.78}
.space-gallery .space-card:hover{flex:2.2 1 0;filter:none;opacity:1;transform:translateY(-8px);z-index:4}
.space-card:hover img{transform:scale(1);filter:saturate(1) brightness(1)}
.space-card:hover:after{opacity:1;transform:scale(1)}
.space-card:nth-child(2){transform:translateY(24px)}
.space-card:nth-child(3){transform:translateY(-18px)}
.space-card:nth-child(4){transform:translateY(12px)}
.space-gallery .space-card:nth-child(2):hover,.space-gallery .space-card:nth-child(3):hover,.space-gallery .space-card:nth-child(4):hover{transform:translateY(-8px)}
.space-gallery-hint{position:absolute;z-index:7;right:4.3%;bottom:7.5%;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.6);font-size:8px;letter-spacing:.23em;font-weight:700}
.space-gallery-hint i{width:72px;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.2),#5ed5e8,rgba(255,255,255,.2));position:relative}
.space-gallery-hint i:after{content:"";position:absolute;left:0;top:-2px;width:5px;height:5px;border-radius:50%;background:#78e2ef;animation:spaceHint 2.4s ease-in-out infinite}
@keyframes spaceHint{0%,100%{left:0;opacity:.3}50%{left:calc(100% - 5px);opacity:1}}

.space-lightbox{position:absolute;inset:0;z-index:120;opacity:0;pointer-events:none;transition:opacity .36s ease}
.space-lightbox.open{opacity:1;pointer-events:auto}
.space-lightbox-backdrop{position:absolute;inset:0;background:rgba(2,22,31,.86);backdrop-filter:blur(18px)}
.space-lightbox-shell{position:absolute;inset:3.5%;display:grid;grid-template-columns:72px 1fr 72px;align-items:center;border-radius:34px;overflow:hidden;background:linear-gradient(140deg,rgba(8,45,59,.96),rgba(4,29,40,.98));border:1px solid rgba(124,225,240,.24);box-shadow:0 34px 100px rgba(0,0,0,.42);transform:scale(.91) translateY(24px);opacity:0;transition:transform .55s cubic-bezier(.16,.82,.18,1),opacity .4s ease}
.space-lightbox.open .space-lightbox-shell{transform:none;opacity:1}
.space-lightbox-stage{position:relative;width:100%;height:82%;min-height:0;border-radius:26px;overflow:hidden;background:#092b3a}
.space-lightbox-media{position:absolute;inset:0;overflow:hidden}
.space-lightbox-media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,25,34,.58),transparent 35%)}
.space-lightbox-media img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.03)}
.space-lightbox-media.is-changing img{animation:spacePhotoSwap .58s cubic-bezier(.16,.8,.2,1)}
@keyframes spacePhotoSwap{0%{opacity:0;transform:scale(1.08) translateX(3%);filter:blur(8px)}100%{opacity:1;transform:scale(1.03);filter:blur(0)}}
.space-lightbox-meta{position:absolute;z-index:2;left:30px;right:30px;bottom:25px;display:flex;align-items:flex-end;justify-content:space-between;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.34)}
.space-lightbox-meta span{font-size:10px;letter-spacing:.2em;color:#87e7f3}.space-lightbox-meta strong{font-size:22px;letter-spacing:-.02em}
.space-lightbox-nav,.space-lightbox-close{border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.08);color:#fff;backdrop-filter:blur(10px);transition:.25s ease}
.space-lightbox-nav{width:54px;height:54px;border-radius:50%;font-size:34px;display:grid;place-items:center;justify-self:center}
.space-lightbox-nav:hover,.space-lightbox-close:hover{background:#08a9cb;border-color:#08a9cb;transform:scale(1.06)}
.space-lightbox-close{position:absolute;z-index:8;right:22px;top:20px;width:48px;height:48px;border-radius:50%;font-size:28px}
.space-lightbox-track{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;gap:7px;z-index:8}
.space-lightbox-track button{width:36px;height:4px;border:0;padding:0;border-radius:99px;background:rgba(255,255,255,.28);transition:.25s ease}.space-lightbox-track button.active{width:62px;background:#58d6e8}

@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .space-copy{left:7%;top:16%;width:82%;z-index:8}.space-copy h2{font-size:clamp(42px,12cqw,64px)}.space-copy p{font-size:12px;max-width:78%}.space-open-gallery{display:none}
  .space-gallery{left:7%;right:7%;top:auto;bottom:12%;height:31%;gap:7px}.space-card{border-radius:16px}.space-card:nth-child(n){transform:none}.space-gallery .space-card:hover{flex:1.7 1 0;transform:translateY(-4px)}
  .space-gallery-hint{display:none}.space-lightbox-shell{inset:2%;grid-template-columns:48px 1fr 48px;border-radius:22px}.space-lightbox-stage{height:78%;border-radius:18px}.space-lightbox-nav{width:40px;height:40px;font-size:28px}.space-lightbox-close{right:12px;top:12px;width:42px;height:42px}.space-lightbox-meta{left:18px;right:18px;bottom:18px}.space-lightbox-meta strong{font-size:15px}
}
@media(max-width:560px){.space-copy p{max-width:94%}.space-gallery{height:27%;bottom:15%}.space-card:nth-child(4){display:block}.space-lightbox-shell{grid-template-columns:42px 1fr 42px}.space-lightbox-track button{width:24px}.space-lightbox-track button.active{width:42px}}
@media(prefers-reduced-motion:reduce){.space-ambient span,.scene-space.is-active .space-copy,.scene-space.is-active .space-gallery,.space-lightbox-media.is-changing img{animation:none!important;opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}}

/* 11.0.44 — consolidated polish: exact branding, atmospheric profile, contact scene */
@media (min-width:901px){
  .floating-ui .brand-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;margin-left:-10px!important}
  .floating-ui .brand-copy b{display:inline-flex!important;width:auto!important}
  .floating-ui .brand-copy small{display:block!important;text-align:left!important;text-align-last:auto!important;white-space:nowrap!important;margin-top:7px!important;padding:0!important}
  .floating-ui .brand-copy small::after{display:none!important;content:none!important}
}

/* Profile: one continuous cyan atmosphere, no circle / no band edge. */
.profile-modal-content{
  background:linear-gradient(180deg,#9fe6f1 0%,#c8f0f6 20%,rgba(226,247,250,.86) 43%,rgba(244,251,252,.96) 69%,#f7fbfc 100%)!important;
}
.profile-modal-content:before{
  inset:0!important;height:82%!important;width:auto!important;border:0!important;border-radius:0!important;box-shadow:none!important;opacity:1!important;
  background:linear-gradient(180deg,rgba(0,167,204,.19) 0%,rgba(45,196,221,.13) 22%,rgba(137,224,237,.08) 48%,rgba(247,251,252,0) 100%)!important;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 30%,rgba(0,0,0,.72) 57%,transparent 100%)!important;
  mask-image:linear-gradient(to bottom,#000 0%,#000 30%,rgba(0,0,0,.72) 57%,transparent 100%)!important;
}
.profile-modal-content:after{display:none!important}

/* Contact sits safely below the floating brand and uses a scene-build reveal. */
.contact-panel{top:18.5%!important;max-height:70%!important}
.scene-contact .contact-visual{clip-path:inset(0 0 0 100% round 0);transform:perspective(1500px) translateX(8%) rotateY(-5deg) scale(1.07);filter:saturate(.8) contrast(1.03) blur(5px)}
.scene-contact.is-active .contact-visual{animation:contactCurtainBuild 1.12s cubic-bezier(.16,1,.3,1) .04s both!important}
.scene-contact.is-active .contact-visual img{animation:contactDepthResolve 1.45s cubic-bezier(.16,1,.3,1) .04s both!important}
.contact-reveal-flash{background:linear-gradient(100deg,transparent 37%,rgba(255,255,255,.88) 47%,rgba(41,207,232,.48) 49%,transparent 59%)!important;transform:translateX(-86%) skewX(-8deg)!important}
.scene-contact.is-active .contact-reveal-flash{animation:contactCurtainSweep 1.18s cubic-bezier(.16,1,.3,1) .02s both!important}
@keyframes contactCurtainBuild{0%{clip-path:inset(0 0 0 100%);transform:perspective(1500px) translateX(8%) rotateY(-5deg) scale(1.07);filter:blur(5px) saturate(.8)}45%{clip-path:inset(0 0 0 37%)}100%{clip-path:inset(0 0 0 0);transform:none;filter:none}}
@keyframes contactDepthResolve{0%{transform:scale(1.15) translateX(3%)}100%{transform:scale(1.01) translateX(0)}}
@keyframes contactCurtainSweep{0%{opacity:0;transform:translateX(-86%) skewX(-8deg)}18%{opacity:.9}100%{opacity:0;transform:translateX(86%) skewX(-8deg)}}

/* Never expose backend/SMTP diagnostics to visitors. */
.contact-form-status.error{max-width:250px;color:#a83f3f}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .profile-modal-content{background:linear-gradient(180deg,#9fe6f1 0%,#c9f0f6 22%,rgba(235,249,251,.92) 55%,#f7fbfc 84%)!important}
  .profile-modal-content:before{height:78%!important}
  .contact-panel{top:18%!important;max-height:70%!important}
}
@media(max-width:620px){.contact-panel{top:17.5%!important;max-height:72%!important}}


/* 11.0.46 — definitive PHYSIOSTAMATIA / Greek strapline edge alignment */
.floating-ui .brand-copy{
  position:relative!important;
  display:inline-block!important;
  width:max-content!important;
  margin-left:-10px!important;
  padding-bottom:18px!important;
}
.floating-ui .brand-copy b{
  display:inline-flex!important;
  width:max-content!important;
  white-space:nowrap!important;
}
.floating-ui .brand-copy .brand-strapline{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:calc(100% - 12px)!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:0!important;
  white-space:nowrap!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:500!important;
  letter-spacing:0!important;
  color:rgba(54,91,109,.68)!important;
  text-align:initial!important;
  text-align-last:auto!important;
}
.floating-ui .brand-copy .brand-strapline::after{display:none!important;content:none!important}
.floating-ui .brand-copy .brand-strapline span,
.floating-ui .brand-copy .brand-strapline i{
  display:block!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
  font-style:normal!important;
  letter-spacing:.04em!important;
}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .floating-ui .brand-copy{
    display:inline-block!important;
    margin-left:-6px!important;
    padding-bottom:14px!important;
  }
  .floating-ui .brand-copy b{font-size:13px!important}
  .floating-ui .brand-copy .brand-strapline{
    top:calc(100% - 9px)!important;
    font-size:5.2px!important;
  }
  .floating-ui .brand-copy .brand-strapline span,
  .floating-ui .brand-copy .brand-strapline i{letter-spacing:.015em!important}
}
@media(max-width:560px){
  .floating-ui .brand-copy b{font-size:11.5px!important}
  .floating-ui .brand-copy .brand-strapline{font-size:4.65px!important}
}


/* 11.0.48 — Profile modal cyan wash reaches the absolute top and spans left-to-right */
.profile-modal-topwash{
  position:absolute;
  z-index:3;
  left:0;
  right:0;
  top:0;
  height:44%;
  pointer-events:none;
  background:linear-gradient(180deg,
    rgba(91,211,231,.82) 0%,
    rgba(128,224,238,.66) 24%,
    rgba(175,235,244,.40) 52%,
    rgba(222,247,250,.16) 76%,
    rgba(247,251,252,0) 100%);
}
.profile-modal-portrait{z-index:1}
.profile-modal-content{z-index:1}
.profile-modal-close,.profile-modal-sweep{z-index:20}
.profile-modal-signature{z-index:5}
.profile-modal-head,.profile-modal-grid,.profile-modal-contact{z-index:5}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .profile-modal-topwash{height:40%;background:linear-gradient(180deg,rgba(91,211,231,.76) 0%,rgba(145,228,241,.56) 30%,rgba(219,246,249,.19) 72%,rgba(247,251,252,0) 100%)}
}

/* 11.0.49 — profile top cyan correction: ONLY the right content panel reaches the top */
.profile-modal-topwash{display:none!important}
.profile-modal-content{
  margin:0 10px 10px 0!important;
  border-radius:0 24px 24px 0!important;
}
.profile-modal-portrait{
  position:relative!important;
  z-index:2!important;
}
.profile-modal-content{z-index:1!important}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .profile-modal-content{
    margin:0 7px 8px 0!important;
    border-radius:0 16px 16px 0!important;
  }
}

/* 11.0.50 — full-width cyan atmosphere behind the entire profile modal.
   The wash spans the whole shell, while the portrait remains a clean foreground layer. */
.profile-modal-shell{
  background:#f7fbfc!important;
}
.profile-modal-topwash{
  display:block!important;
  position:absolute!important;
  z-index:0!important;
  inset:0 0 auto 0!important;
  width:100%!important;
  height:58%!important;
  pointer-events:none!important;
  background:linear-gradient(180deg,
    rgba(91,211,231,.82) 0%,
    rgba(118,221,237,.70) 20%,
    rgba(158,232,242,.48) 43%,
    rgba(207,243,248,.23) 68%,
    rgba(247,251,252,0) 100%)!important;
}
.profile-modal-content{
  background:transparent!important;
  position:relative!important;
  z-index:1!important;
}
.profile-modal-content:before,
.profile-modal-content:after{
  background:none!important;
  box-shadow:none!important;
  border:0!important;
}
.profile-modal-portrait{
  position:relative!important;
  z-index:2!important;
  background:#082f40!important;
}
.profile-modal-portrait img{
  position:relative!important;
  z-index:1!important;
}
.profile-modal-portrait:after{
  z-index:2!important;
}
.profile-modal-signature{
  z-index:3!important;
}
.profile-modal-close,
.profile-modal-sweep{
  z-index:20!important;
}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .profile-modal-topwash{
    height:64%!important;
    background:linear-gradient(180deg,
      rgba(91,211,231,.78) 0%,
      rgba(132,225,239,.62) 24%,
      rgba(184,237,245,.38) 50%,
      rgba(224,247,250,.16) 74%,
      rgba(247,251,252,0) 100%)!important;
  }
}

/* 11.0.51 — contact architecture reveal + cleaner split + lower profile contact cards */

/* Profile modal: move the four dark contact cards slightly lower as one group. */
.profile-modal-contact{
  margin-top:28px!important;
}

/* Contact hero: new non-fade separation between form and photography. */
.scene-contact{
  background:#eef6f8!important;
}
.scene-contact .contact-visual{
  left:46%!important;
  overflow:hidden!important;
  clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)!important;
  transform-origin:100% 50%!important;
  filter:none!important;
  opacity:1!important;
}
.scene-contact .contact-visual:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(4,45,61,.04),transparent 24%,transparent 76%,rgba(4,45,61,.08))!important;
  pointer-events:none!important;
}
.scene-contact .contact-visual:before{
  content:"";
  position:absolute;
  z-index:4;
  left:5.8%;
  top:-8%;
  width:5px;
  height:116%;
  transform:rotate(5.8deg);
  transform-origin:center;
  background:linear-gradient(180deg,transparent 0%,rgba(91,229,245,.35) 9%,#47d4e8 44%,#fff 52%,#47d4e8 60%,rgba(91,229,245,.35) 91%,transparent 100%);
  box-shadow:0 0 18px rgba(21,184,213,.55),0 0 42px rgba(21,184,213,.24);
  opacity:.86;
  pointer-events:none;
}

/* A slim architectural divider replaces the old soft photo/form fade. */
.scene-contact .contact-photo-line{
  display:block!important;
  left:6.05%!important;
  top:-8%!important;
  width:2px!important;
  height:116%!important;
  transform:rotate(5.8deg) translateY(-3%)!important;
  transform-origin:center!important;
  background:linear-gradient(180deg,transparent,#9aedf7 20%,#fff 50%,#68ddec 80%,transparent)!important;
  box-shadow:0 0 22px rgba(38,198,225,.78)!important;
  opacity:0;
}

/* Strong staged reveal: diagonal aperture + depth settle + travelling light edge. */
.scene-contact .contact-visual{
  clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%)!important;
  transform:perspective(1500px) translate3d(10%,0,0) rotateY(-8deg) scale(1.09)!important;
  filter:saturate(.76) contrast(1.04) blur(7px)!important;
}
.scene-contact.is-active .contact-visual{
  animation:contactApertureReveal 1.24s cubic-bezier(.14,.86,.2,1) .03s both!important;
}
.scene-contact .contact-visual img{
  transform:scale(1.18) translateX(4%)!important;
  filter:saturate(.84) contrast(1.04)!important;
}
.scene-contact.is-active .contact-visual img{
  animation:contactPhotoSettle 1.58s cubic-bezier(.16,1,.3,1) .04s both!important;
}
.scene-contact.is-active .contact-photo-line{
  animation:contactDividerIgnite 1.28s cubic-bezier(.16,1,.3,1) .08s both!important;
}
.contact-reveal-flash{
  background:linear-gradient(104deg,transparent 35%,rgba(255,255,255,.08) 42%,rgba(255,255,255,.94) 49%,rgba(52,214,235,.55) 50.5%,rgba(255,255,255,.10) 57%,transparent 64%)!important;
  transform:translateX(-96%) skewX(-10deg)!important;
  mix-blend-mode:screen;
}
.scene-contact.is-active .contact-reveal-flash{
  animation:contactBladeSweep 1.34s cubic-bezier(.16,1,.3,1) .02s both!important;
}

@keyframes contactApertureReveal{
  0%{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%);transform:perspective(1500px) translate3d(10%,0,0) rotateY(-8deg) scale(1.09);filter:saturate(.72) contrast(1.03) blur(8px)}
  42%{clip-path:polygon(48% 0,100% 0,100% 100%,39% 100%);transform:perspective(1500px) translate3d(4%,0,0) rotateY(-3deg) scale(1.055);filter:saturate(.84) contrast(1.04) blur(3px)}
  100%{clip-path:polygon(12% 0,100% 0,100% 100%,0 100%);transform:none;filter:none}
}
@keyframes contactPhotoSettle{
  0%{transform:scale(1.18) translateX(4%)}
  55%{transform:scale(1.055) translateX(1%)}
  100%{transform:scale(1.01) translateX(0)}
}
@keyframes contactDividerIgnite{
  0%{opacity:0;filter:blur(4px);transform:rotate(5.8deg) translateY(-22%) scaleY(.55)}
  24%{opacity:1;filter:blur(0);transform:rotate(5.8deg) translateY(-8%) scaleY(1.08)}
  72%{opacity:.95;transform:rotate(5.8deg) translateY(0) scaleY(1)}
  100%{opacity:.62;transform:rotate(5.8deg) translateY(0) scaleY(1)}
}
@keyframes contactBladeSweep{
  0%{opacity:0;transform:translateX(-96%) skewX(-10deg)}
  16%{opacity:.95}
  70%{opacity:.42}
  100%{opacity:0;transform:translateX(96%) skewX(-10deg)}
}

/* Form stays visually clean and clearly separated from the image. */
.contact-panel{
  width:min(42%,590px)!important;
}

@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .profile-modal-contact{margin-top:22px!important}
  .scene-contact .contact-visual{left:28%!important;clip-path:polygon(8% 0,100% 0,100% 100%,0 100%)!important}
  .scene-contact .contact-visual:before{left:3.8%;transform:rotate(3.5deg)}
  .scene-contact .contact-photo-line{left:4%!important;transform:rotate(3.5deg)!important}
  .contact-panel{width:72%!important}
}
@media(max-width:620px){
  .profile-modal-contact{margin-top:18px!important}
  .scene-contact .contact-visual{left:24%!important}
  .contact-panel{width:78%!important}
}
@media(prefers-reduced-motion:reduce){
  .scene-contact .contact-visual,.scene-contact .contact-visual img,.scene-contact .contact-photo-line,.scene-contact .contact-reveal-flash{animation:none!important;transform:none!important;filter:none!important;opacity:1!important}
  .scene-contact .contact-visual{clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)!important}
}


/* 11.0.52 — full-height horizontal space gallery + reliable Contact photo reveal */
@media (min-width:901px){
  .scene-space .space-gallery{
    left:43%!important;
    right:0!important;
    top:0!important;
    bottom:0!important;
    height:auto!important;
    gap:10px!important;
    align-items:stretch!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-behavior:smooth!important;
    overscroll-behavior-x:contain!important;
    scrollbar-width:none!important;
    padding:0 76px 0 0!important;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3.5%,#000 96%,transparent 100%);
            mask-image:linear-gradient(90deg,transparent 0,#000 3.5%,#000 96%,transparent 100%);
  }
  .scene-space .space-gallery::-webkit-scrollbar{display:none!important}
  .scene-space .space-card{
    flex:0 0 clamp(190px,13.8cqw,270px)!important;
    min-width:clamp(190px,13.8cqw,270px)!important;
    height:100%!important;
    border-radius:0!important;
    transform:none!important;
    box-shadow:-10px 0 34px rgba(0,0,0,.12)!important;
  }
  .scene-space .space-gallery:hover .space-card{opacity:.82;filter:brightness(.8)}
  .scene-space .space-gallery .space-card:hover{
    flex-basis:clamp(235px,17cqw,330px)!important;
    min-width:clamp(235px,17cqw,330px)!important;
    transform:none!important;
    opacity:1!important;
    filter:none!important;
    z-index:4;
  }
  .scene-space .space-card img{height:100%!important;object-fit:cover!important}
  .space-gallery-hint{display:none!important}
  .space-gallery-controls{
    position:absolute;z-index:10;right:3.2%;bottom:4.2%;display:flex;gap:8px;
    padding:7px;border-radius:999px;background:rgba(5,37,49,.56);
    border:1px solid rgba(135,231,244,.28);backdrop-filter:blur(14px);
    box-shadow:0 16px 42px rgba(0,0,0,.22)
  }
  .space-gallery-controls button{
    width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.28);
    background:rgba(255,255,255,.08);color:#fff;font-size:30px;line-height:1;
    display:grid;place-items:center;transition:.25s ease
  }
  .space-gallery-controls button:hover{background:#08a9cb;border-color:#08a9cb;transform:scale(1.06)}
}
@media (max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-space .space-gallery{overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity;scrollbar-width:none!important}
  .scene-space .space-gallery::-webkit-scrollbar{display:none!important}
  .scene-space .space-card{flex:0 0 42%!important;min-width:42%!important;scroll-snap-align:center}
  .space-gallery-controls{display:none!important}
}

/* Keep the Contact photograph permanently available; the drama comes from a travelling cover, not a clipped image. */
.scene-contact .contact-visual{
  clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)!important;
  transform:none!important;
  filter:none!important;
  opacity:1!important;
}
.scene-contact .contact-visual img{
  transform:scale(1.01)!important;
  filter:saturate(.9) contrast(1.03)!important;
  opacity:1!important;
  animation:none!important;
}
.scene-contact.is-active .contact-visual{animation:none!important}
.scene-contact .contact-visual:after{
  z-index:3!important;
  background:linear-gradient(100deg,#eef6f8 0 18%,rgba(238,246,248,.96) 34%,rgba(238,246,248,.68) 48%,rgba(238,246,248,.18) 64%,transparent 78%)!important;
  transform:translateX(0);
  opacity:1;
}
.scene-contact.is-active .contact-visual:after{
  animation:contactCoverReveal 1.12s cubic-bezier(.16,1,.3,1) .04s both!important;
}
@keyframes contactCoverReveal{
  0%{transform:translateX(0);opacity:1}
  72%{opacity:1}
  100%{transform:translateX(100%);opacity:0}
}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-contact .contact-visual{clip-path:polygon(8% 0,100% 0,100% 100%,0 100%)!important}
}
@media(prefers-reduced-motion:reduce){
  .scene-contact .contact-visual:after{animation:none!important;transform:translateX(100%)!important;opacity:0!important}
}

/* 11.0.53 — gallery no-fade + map hero */
.scene-space .space-gallery,
.scene-space .space-card,
.scene-space .space-card img,
.scene-space .space-gallery:hover .space-card,
.scene-space .space-gallery .space-card:hover{
  opacity:1!important;
  filter:none!important;
}
.scene-space .space-card img{filter:none!important;}
.scene-space .space-gallery:hover .space-card:not(:hover){opacity:1!important;filter:none!important;}
.scene-space .space-card:before{display:none!important;content:none!important;}

.scene-map{background:#eef6f8;color:#073047;isolation:isolate;overflow:hidden}
.scene-map:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,#f3fafb 0%,#edf7f9 43%,#d9f2f7 100%);z-index:0}
.scene-map:after{content:"";position:absolute;width:62cqw;height:62cqw;right:-18cqw;top:-28cqw;border-radius:50%;border:1px solid rgba(6,169,204,.13);box-shadow:0 0 0 7cqw rgba(6,169,204,.035),0 0 0 14cqw rgba(6,169,204,.025);z-index:0}
.scene-map .scene-kicker{z-index:9}
.map-ambient{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.map-ambient span{position:absolute;border:1px solid rgba(6,169,204,.14);border-radius:50%;opacity:0;transform:scale(.55)}
.map-ambient span:nth-child(1){width:420px;height:420px;left:33%;top:15%}
.map-ambient span:nth-child(2){width:220px;height:220px;left:42%;top:35%}
.map-ambient span:nth-child(3){width:680px;height:680px;right:-8%;bottom:-42%}
.scene-map.is-active .map-ambient span{animation:mapRingIn 1.2s cubic-bezier(.16,1,.3,1) forwards}
.scene-map.is-active .map-ambient span:nth-child(2){animation-delay:.1s}.scene-map.is-active .map-ambient span:nth-child(3){animation-delay:.2s}
.map-copy{position:absolute;z-index:6;left:6.7%;top:19%;width:35%;opacity:0;transform:translate3d(-34px,0,0)}
.scene-map.is-active .map-copy{animation:mapCopyIn .85s cubic-bezier(.16,1,.3,1) .14s forwards}
.map-copy .mini-label{color:#079fbd}
.map-copy h2{margin:14px 0 18px;font-size:clamp(52px,5.1cqw,92px);line-height:.91;letter-spacing:-.055em;color:#073047;font-weight:750}
.map-copy h2 i{font-family:Georgia,"Times New Roman",serif;font-weight:500;color:#08a9cb}
.map-copy p{max-width:510px;font-size:16px;line-height:1.65;color:#617d8c;margin:0 0 28px}
.map-actions{display:flex;align-items:center;gap:24px}
.map-route-btn{height:54px;padding:0 20px 0 23px;border-radius:999px;background:#073047;color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:28px;font-size:11px;font-weight:800;letter-spacing:.16em;box-shadow:0 18px 38px rgba(7,48,71,.16);transition:transform .25s ease,background .25s ease}
.map-route-btn:hover{transform:translateY(-3px);background:#07506b}
.map-route-btn b{font-size:20px;color:#65d8eb}
.map-coordinates{display:flex;flex-direction:column;gap:4px;color:#6d8794}.map-coordinates small{font-size:8px;letter-spacing:.18em}.map-coordinates strong{font-size:17px;color:#073047}
.map-stage-wrap{position:absolute;z-index:5;right:4.2%;top:10.5%;bottom:9.5%;width:52%;opacity:0;transform:translate3d(8%,0,0) rotateY(-5deg);transform-origin:right center;perspective:1400px}
.scene-map.is-active .map-stage-wrap{animation:mapStageIn 1.05s cubic-bezier(.16,1,.3,1) .06s forwards}
.map-glow{position:absolute;inset:4% -2% -2% 4%;border-radius:38px;background:radial-gradient(circle at 20% 20%,rgba(68,215,238,.38),transparent 44%),linear-gradient(135deg,rgba(6,169,204,.32),rgba(7,48,71,.12));filter:blur(24px);opacity:.65}
.map-frame{position:absolute;inset:0 0 40px 0;border-radius:36px;overflow:hidden;background:#dbecef;border:1px solid rgba(255,255,255,.9);box-shadow:0 38px 90px rgba(5,44,62,.2),inset 0 0 0 1px rgba(7,48,71,.04)}
.map-frame iframe{position:absolute;inset:-2%;width:104%;height:104%;border:0;filter:saturate(.78) contrast(.96) brightness(1.03)}
.map-frame-sheen{position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,rgba(255,255,255,.28) 0%,transparent 20%,transparent 72%,rgba(6,169,204,.08) 100%);mix-blend-mode:screen}
.map-pin-pulse{position:absolute;left:50%;top:50%;width:58px;height:58px;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;pointer-events:none}
.map-pin-pulse i{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(6,169,204,.62);animation:mapPulse 2.1s ease-out infinite}.map-pin-pulse i:nth-child(2){animation-delay:1.05s}.map-pin-pulse span{position:relative;z-index:2;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#08a9cb;color:#fff;font-size:20px;box-shadow:0 0 0 7px rgba(8,169,203,.18),0 10px 28px rgba(7,48,71,.22)}
.map-caption{position:absolute;left:26px;right:26px;bottom:0;height:40px;display:flex;align-items:center;justify-content:space-between;color:#6c8592;font-size:8px;letter-spacing:.19em}.map-caption b{color:#073047;font-size:9px}
@keyframes mapRingIn{to{opacity:1;transform:scale(1)}}
@keyframes mapCopyIn{to{opacity:1;transform:none}}
@keyframes mapStageIn{0%{opacity:0;clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%)}100%{opacity:1;transform:none;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}
@keyframes mapPulse{0%{transform:scale(.65);opacity:.9}100%{transform:scale(2.1);opacity:0}}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.map-copy{left:7%;top:15%;width:78%}.map-copy h2{font-size:clamp(44px,11cqw,64px)}.map-copy p{font-size:12px;max-width:78%}.map-stage-wrap{left:7%;right:7%;width:auto;top:54%;bottom:11%}.map-frame{inset:0 0 28px;border-radius:22px}.map-caption{left:14px;right:14px;height:28px}.map-actions{gap:12px}.map-route-btn{height:46px;padding:0 15px 0 17px;gap:16px;font-size:9px}.map-coordinates{display:none}}
@media(max-width:560px){.map-copy{top:14%}.map-copy h2{margin-top:9px}.map-stage-wrap{top:57%}.map-frame{border-radius:18px}.map-pin-pulse{transform:translate(-50%,-50%) scale(.8)}}
@media(prefers-reduced-motion:reduce){.scene-map .map-ambient span,.scene-map.is-active .map-copy,.scene-map.is-active .map-stage-wrap,.map-pin-pulse i{animation:none!important;opacity:1!important;transform:none!important}.map-stage-wrap{clip-path:none!important}}


/* 11.0.54 — spacious navigation + premium hover/current state */
.menu-inner nav{
  gap:clamp(12px,1.5cqh,22px)!important;
}
.menu-inner nav button{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  gap:0!important;
  padding:9px 14px 9px 0!important;
  border-radius:16px!important;
  color:rgba(255,255,255,.86)!important;
  transform:translateX(0)!important;
  transition:transform .32s cubic-bezier(.2,.8,.2,1),color .25s ease,background .25s ease,text-shadow .25s ease!important;
  overflow:hidden!important;
}
.menu-inner nav button::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:3px;
  height:0;
  border-radius:999px;
  background:#08a9cb;
  box-shadow:0 0 18px rgba(8,169,203,.8);
  transform:translateY(-50%);
  transition:height .28s ease,opacity .28s ease;
  opacity:0;
}
.menu-inner nav button::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:16px;
  background:linear-gradient(90deg,rgba(8,169,203,.14),rgba(8,169,203,.025) 58%,transparent);
  opacity:0;
  transform:translateX(-10px);
  transition:opacity .28s ease,transform .32s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.menu-inner nav button small{
  position:relative;
  z-index:1;
  flex:0 0 42px;
  transition:color .25s ease,transform .32s cubic-bezier(.2,.8,.2,1);
}
.menu-inner nav button:hover{
  color:#fff!important;
  transform:translateX(12px)!important;
  text-shadow:0 0 28px rgba(8,169,203,.18);
}
.menu-inner nav button:hover::before{height:56%;opacity:1}
.menu-inner nav button:hover::after{opacity:1;transform:translateX(0)}
.menu-inner nav button:hover small{color:#8cecff!important;transform:translateX(4px)}
.menu-inner nav button.is-current{
  color:#fff!important;
  transform:translateX(16px)!important;
  background:rgba(8,169,203,.075)!important;
  text-shadow:0 0 30px rgba(8,169,203,.16);
}
.menu-inner nav button.is-current::before{height:72%;opacity:1}
.menu-inner nav button.is-current::after{opacity:1;transform:translateX(0)}
.menu-inner nav button.is-current small{color:#8cecff!important;transform:translateX(4px)}
.menu-inner nav button.is-current small::after{
  content:"";display:inline-block;width:16px;height:1px;background:#08a9cb;margin-left:8px;vertical-align:middle;box-shadow:0 0 9px rgba(8,169,203,.7)
}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .menu-inner nav{gap:clamp(10px,1.25cqh,16px)!important}
  .menu-inner nav button{padding:8px 10px 8px 0!important}
  .menu-inner nav button:hover{transform:translateX(7px)!important}
  .menu-inner nav button.is-current{transform:translateX(9px)!important}
}
@media(prefers-reduced-motion:reduce){
  .menu-inner nav button,.menu-inner nav button::before,.menu-inner nav button::after,.menu-inner nav button small{transition:none!important}
}


/* 11.0.55 — exact map target + no gallery edge fade + safer Greek headline spacing */
@media (min-width:901px){
  .scene-space .space-gallery{
    -webkit-mask-image:none!important;
            mask-image:none!important;
  }
}
.scene-space .space-gallery::before,
.scene-space .space-gallery::after{
  display:none!important;
  content:none!important;
}
.scene-space .space-card,
.scene-space .space-card img{
  opacity:1!important;
  filter:none!important;
}

/* Give Greek accents/descenders real breathing room on every large multiline hero title. */
.services-copy h2,
.profile-panel h2,
.space-copy h2,
.contact-copy h2,
.map-copy h2{
  line-height:1.075!important;
  letter-spacing:-.032em!important;
}
.profile-modal-head h2{
  line-height:1.09!important;
  letter-spacing:-.032em!important;
}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .services-copy h2,
  .profile-panel h2,
  .space-copy h2,
  .contact-copy h2,
  .map-copy h2{
    line-height:1.085!important;
    letter-spacing:-.025em!important;
  }
  .profile-modal-head h2{line-height:1.095!important;letter-spacing:-.024em!important}
}

/* Map hero: tighter premium composition around the exact PhysioStamatia place. */
.scene-map:before{
  background:
    radial-gradient(circle at 78% 19%,rgba(66,211,234,.20),transparent 24%),
    linear-gradient(116deg,#f6fbfc 0%,#edf8fa 43%,#d9f1f6 100%)!important;
}
.map-stage-wrap{
  right:3.6%!important;
  top:10.8%!important;
  bottom:8.2%!important;
  width:53.5%!important;
}
.map-frame{
  inset:0 0 44px 0!important;
  border-radius:30px!important;
  border:1px solid rgba(255,255,255,.95)!important;
  box-shadow:0 32px 88px rgba(5,44,62,.18),0 0 0 1px rgba(8,169,203,.08),inset 0 0 0 1px rgba(7,48,71,.04)!important;
}
.map-frame:before{
  content:"";position:absolute;z-index:3;left:0;top:0;bottom:0;width:4px;
  background:linear-gradient(180deg,transparent 2%,#41d0e7 22%,#079fbd 64%,transparent 96%);
  box-shadow:0 0 26px rgba(8,169,203,.35);pointer-events:none;
}
.map-frame iframe{
  inset:0!important;width:100%!important;height:100%!important;
  filter:saturate(.88) contrast(.98) brightness(1.02)!important;
}
.map-frame-sheen{
  background:linear-gradient(108deg,rgba(255,255,255,.18) 0%,transparent 15%,transparent 82%,rgba(8,169,203,.06) 100%)!important;
}
.map-pin-pulse{left:50%!important;top:50%!important}
.map-caption{left:22px!important;right:22px!important;height:44px!important}
.map-copy{top:18.2%!important;width:34.5%!important}
.map-copy h2{font-size:clamp(50px,4.75cqw,84px)!important}
.map-route-btn{box-shadow:0 18px 42px rgba(7,48,71,.18)!important}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .map-copy{top:14.5%!important;width:82%!important}
  .map-stage-wrap{left:6%!important;right:6%!important;width:auto!important;top:55.5%!important;bottom:9%!important}
  .map-frame{inset:0 0 30px 0!important;border-radius:22px!important}
  .map-caption{height:30px!important;left:14px!important;right:14px!important}
}

/* 11.0.56 contact submit spacing */
.contact-form-actions{margin-top:26px}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.contact-form-actions{margin-top:20px}}
@media(max-width:600px){.contact-form-actions{margin-top:18px}}


/* 11.0.57 — MAP HERO: exact real location + clean unified visual system */
.scene-map{
  background:#eef7f9!important;
}
.scene-map:before{
  background:
    radial-gradient(90% 80% at 82% 14%,rgba(61,205,228,.18) 0%,rgba(61,205,228,.07) 34%,transparent 62%),
    linear-gradient(120deg,#f5fbfc 0%,#edf7f9 48%,#e3f3f6 100%)!important;
}
.scene-map:after,
.scene-map .map-ambient{
  display:none!important;
}
.map-copy{
  top:18%!important;
  width:33.5%!important;
}
.map-copy h2{
  font-size:clamp(48px,4.55cqw,82px)!important;
  line-height:1.03!important;
  letter-spacing:-.03em!important;
}
.map-copy p{
  max-width:470px!important;
  color:#587685!important;
}
.map-stage-wrap{
  right:3.8%!important;
  top:10.8%!important;
  bottom:8.5%!important;
  width:53.2%!important;
  transform:translate3d(7%,0,0) scale(.985)!important;
  perspective:none!important;
}
.scene-map.is-active .map-stage-wrap{
  animation:mapStageCleanIn .95s cubic-bezier(.16,1,.3,1) .08s forwards!important;
}
.map-frame{
  inset:0 0 46px 0!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:#dceef1!important;
  border:1px solid rgba(255,255,255,.96)!important;
  box-shadow:0 24px 64px rgba(7,48,71,.15),0 0 0 1px rgba(8,169,203,.07)!important;
}
.map-frame:before{
  width:3px!important;
  background:linear-gradient(180deg,rgba(65,208,231,0),#41d0e7 24%,#079fbd 76%,rgba(7,159,189,0))!important;
  box-shadow:0 0 18px rgba(8,169,203,.28)!important;
}
.map-frame iframe{
  inset:0!important;
  width:100%!important;
  height:100%!important;
  filter:none!important;
  transform:none!important;
  background:#dceef1!important;
}
.map-frame-sheen{
  display:none!important;
}
.map-caption{
  left:18px!important;
  right:18px!important;
  height:42px!important;
  font-size:8px!important;
  letter-spacing:.16em!important;
}
.map-caption span:after{
  content:" · ΑΚΡΙΒΕΣ ΣΗΜΕΙΟ";
  color:#08a9cb;
}
.map-route-btn{
  box-shadow:0 16px 36px rgba(7,48,71,.15)!important;
}
@keyframes mapStageCleanIn{
  0%{opacity:0;transform:translate3d(7%,0,0) scale(.985);clip-path:inset(0 0 0 100% round 28px)}
  55%{opacity:1}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1);clip-path:inset(0 0 0 0 round 28px)}
}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .map-copy{top:14.5%!important;width:84%!important}
  .map-stage-wrap{left:6%!important;right:6%!important;width:auto!important;top:55%!important;bottom:8.5%!important}
  .map-frame{inset:0 0 30px 0!important;border-radius:22px!important}
  .map-caption{height:28px!important;left:12px!important;right:12px!important}
}
@media(prefers-reduced-motion:reduce){
  .scene-map.is-active .map-stage-wrap{animation:none!important;opacity:1!important;transform:none!important;clip-path:none!important}
}
\n\n/* 11.0.58 — Home brand/content exact left alignment */\n@media(min-width:901px){\n  body.home-active .floating-ui{\n    padding-left:9.8%!important;\n  }\n  body.home-active .floating-ui .brand{\n    margin-left:0!important;\n    transform:none!important;\n  }\n}\n@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){\n  body.home-active .floating-ui{\n    padding-left:7%!important;\n  }\n  body.home-active .floating-ui .brand{\n    margin-left:0!important;\n    transform:none!important;\n  }\n}\n

/* 11.0.59 — full online booking flow */
.booking-modal{overflow:auto;padding:26px 18px}
.booking-card-full{width:min(920px,calc(100% - 20px));max-height:min(90cqh,860px);overflow:auto;padding:44px 46px 38px;border:1px solid rgba(6,169,204,.2);box-shadow:0 34px 90px rgba(4,26,38,.28);background:linear-gradient(180deg,#ffffff 0%,#f7fcfd 100%)}
.booking-head{padding-right:58px}.booking-head h3{font-size:clamp(34px,4cqw,54px);line-height:.98;letter-spacing:-.04em;margin:10px 0 12px}.booking-head p{margin:0 0 26px;max-width:690px}
.booking-form{display:grid;gap:22px}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-details{margin-top:2px}.booking-field{display:grid;gap:8px}.booking-field-wide{grid-column:1/-1}.booking-field>span,.booking-section-label>span{font-size:10px;font-weight:800;letter-spacing:.18em;color:#66818f}.booking-field input,.booking-field select{width:100%;height:52px;border:1px solid rgba(12,52,73,.14);border-radius:14px;background:#fff;color:var(--ink);padding:0 15px;outline:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.booking-field input:focus,.booking-field select:focus{border-color:rgba(6,169,204,.78);box-shadow:0 0 0 4px rgba(6,169,204,.1);transform:translateY(-1px)}
.booking-slots-wrap{border:1px solid rgba(12,52,73,.1);border-radius:20px;padding:18px;background:rgba(237,248,250,.7)}.booking-section-label{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:12px}.booking-section-label small{font-size:11px;color:#77909c}.booking-slots{display:flex;flex-wrap:wrap;gap:8px;min-height:42px}.booking-slot{min-width:74px;height:40px;border:1px solid rgba(12,52,73,.14);border-radius:999px;background:white;color:var(--ink);font-size:12px;font-weight:800;transition:.2s ease}.booking-slot:hover{border-color:var(--cyan);transform:translateY(-2px)}.booking-slot.active{background:var(--ink);color:white;border-color:var(--ink);box-shadow:0 8px 20px rgba(7,48,67,.18)}
.booking-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:2px}.booking-status{min-height:18px;font-size:12px;color:#6a8290;line-height:1.45}.booking-status.is-error{color:#b74747}.booking-submit,.booking-new{border:0;border-radius:999px;background:var(--ink);color:#fff;min-height:50px;padding:0 20px;font-size:11px;font-weight:900;letter-spacing:.12em;display:inline-flex;align-items:center;justify-content:center;gap:28px;transition:.22s ease}.booking-submit:hover,.booking-new:hover{transform:translateY(-2px);background:#07516b}.booking-submit:disabled{opacity:.55;cursor:wait;transform:none}.booking-submit.loading b{animation:bookingArrow .7s ease-in-out infinite alternate}@keyframes bookingArrow{to{transform:translate(3px,-3px)}}
.booking-success{padding:14px 0 4px}.booking-success-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:rgba(6,169,204,.13);color:var(--cyan);font-size:30px;margin-bottom:20px}.booking-success h3{font-size:clamp(38px,5cqw,62px);margin:10px 0}.booking-success p{max-width:620px}.booking-success-details{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0}.booking-success-details span{display:grid;gap:6px;padding:16px;border-radius:16px;background:#eef8fa;border:1px solid rgba(6,169,204,.14)}.booking-success-details small{font-size:9px;letter-spacing:.13em;color:#6b8290}.booking-success-details b{font-size:13px;overflow-wrap:anywhere}
@media(max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.booking-modal{padding:10px}.booking-card-full{width:100%;max-height:94cqh;border-radius:24px;padding:34px 20px 24px}.booking-head{padding-right:42px}.booking-head h3{font-size:38px}.booking-grid{grid-template-columns:1fr}.booking-field-wide{grid-column:auto}.booking-footer{align-items:stretch;flex-direction:column}.booking-submit{width:100%}.booking-success-details{grid-template-columns:1fr 1fr}.booking-slots-wrap{padding:14px}.booking-slot{min-width:68px}.booking-card .modal-close{right:12px;top:12px}}

/* 11.0.60 — unified hero axis + centered map + approved booking modal + cinematic gallery viewer */
:root{--hero-left:7%;}
@media(min-width:901px){
  .floating-ui{padding-left:var(--hero-left)!important;}
  .home-content{left:var(--hero-left)!important;}
  .services-layout{padding-left:var(--hero-left)!important;}
  .profile-panel{left:var(--hero-left)!important;}
  .space-copy{left:var(--hero-left)!important;}
  .contact-panel{left:var(--hero-left)!important;}
  .map-copy{left:var(--hero-left)!important;}
  body.home-active .floating-ui{padding-left:var(--hero-left)!important;}
}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  :root{--hero-left:7%;}
  .floating-ui{padding-left:var(--hero-left)!important;}
  .home-content,.profile-panel,.space-copy,.contact-panel,.map-copy{left:var(--hero-left)!important;}
  .services-layout{padding-left:var(--hero-left)!important;}
}

/* Map panel: visually centered in the right half while keeping the exact target */
@media(min-width:901px){
  .map-stage-wrap{
    right:6.2%!important;
    width:49.6%!important;
    top:10.8%!important;
    bottom:8.5%!important;
  }
}

/* Booking modal — top anchored, internal scroll, 8.9.182 visual language */
.booking-modal{
  position:fixed!important;
  inset:0!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  overflow:hidden!important;
  padding:14px 12px!important;
  background:rgba(4,26,38,.78)!important;
  backdrop-filter:blur(18px)!important;
}
.booking-card-ref{
  position:relative!important;
  width:min(620px,calc(100cqw - 24px))!important;
  max-height:calc(100cqh - 28px)!important;
  margin:0 auto!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
  border-radius:26px!important;
  padding:52px 28px 26px!important;
  background:linear-gradient(180deg,#fff 0%,#fbfdfe 100%)!important;
  border:1px solid rgba(6,169,204,.18)!important;
  box-shadow:0 34px 100px rgba(0,0,0,.32)!important;
  color:#25353d!important;
}
.booking-card-ref::-webkit-scrollbar{width:8px}.booking-card-ref::-webkit-scrollbar-thumb{background:rgba(0,157,184,.34);border-radius:999px}.booking-card-ref::-webkit-scrollbar-track{background:transparent}
.booking-card-ref .modal-close{position:sticky!important;float:right;z-index:10;top:0!important;right:auto!important;margin:-34px -10px 0 0!important;width:44px!important;height:44px!important;border-radius:50%!important;border:1px solid rgba(12,52,73,.18)!important;background:rgba(255,255,255,.9)!important;color:#073047!important;backdrop-filter:blur(10px)!important}
.booking-ref-head{max-width:520px;margin:0 auto 18px}.booking-ref-head .mini-label{display:block;margin-bottom:9px}.booking-ref-head h3{margin:0 0 9px;font-size:clamp(28px,3cqw,40px);line-height:1.02;letter-spacing:-.035em;color:#25353d}.booking-ref-head p{margin:0;color:#6d7f87;font-size:12px;line-height:1.55}
.booking-ref-body{width:100%;max-width:520px;margin:0 auto}.booking-rebuilt{display:grid;gap:12px;width:100%}.booking-step{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start}.booking-step>span{display:grid;place-items:center;width:32px;height:32px;margin-top:21px;border-radius:10px;background:rgba(0,157,184,.12);color:#009DB8;font-size:12px;font-weight:900}.booking-step>label,.booking-plain-field{position:relative;display:grid;gap:6px;min-width:0;color:#405653;font-size:12px;font-weight:800;letter-spacing:.01em}.booking-step select,.booking-plain-field input,.booking-select{width:100%;min-height:48px;height:48px;box-sizing:border-box;border:1px solid #d8e5e8;border-radius:14px;background:#fff;color:#25353d;padding:0 15px;font:inherit;font-size:14px;outline:none;box-shadow:0 5px 16px rgba(34,59,68,.035);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.booking-step select:focus,.booking-plain-field input:focus,.booking-select:focus-visible{border-color:#009DB8;box-shadow:0 0 0 4px rgba(0,157,184,.10)}.booking-control-wrap{position:relative}.booking-select{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left}.booking-select strong{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-select>b{color:#009DB8;font-size:17px;transition:transform .18s ease}.booking-select.is-open>b{transform:rotate(180deg)}.booking-select:disabled{cursor:not-allowed;background:#f2f5f6;color:#9ca8ad;border-color:#e4eaec}
.booking-date-menu,.booking-time-menu{position:absolute;z-index:120;left:0;right:0;top:calc(100% + 8px);padding:12px;border:1px solid rgba(0,157,184,.22);border-radius:18px;background:rgba(255,255,255,.985);box-shadow:0 22px 55px rgba(31,56,66,.19);backdrop-filter:blur(16px)}.booking-date-menu[hidden],.booking-time-menu[hidden]{display:none!important}.booking-date-head{display:grid;grid-template-columns:38px 1fr 38px;gap:8px;align-items:center;margin-bottom:8px}.booking-date-head b{text-align:center;text-transform:capitalize;font-size:14px}.booking-date-head button{height:36px;border:1px solid #d9e7ea;border-radius:11px;background:#fff;color:#009DB8;font-size:24px;cursor:pointer}.booking-week,.booking-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.booking-week span{text-align:center;padding:2px 0 5px;color:#85939a;font-size:9px;font-weight:900}.booking-days i,.booking-days button{min-height:34px;height:34px}.booking-days button{border:1px solid #dbe8eb;border-radius:9px;background:#fff;color:#2b3c44;font-size:12px;font-weight:800;cursor:pointer}.booking-days button:hover:not(:disabled){border-color:#009DB8;box-shadow:0 4px 12px rgba(0,157,184,.12)}.booking-days button.selected{background:#009DB8;border-color:#009DB8;color:#fff}.booking-days button:disabled{background:#eef2f3;border-color:#e4e9eb;color:#aab3b7;cursor:not-allowed}.booking-date-legend{display:flex;gap:14px;margin-top:9px;color:#7c8a90;font-size:9px;font-weight:700}.booking-date-legend span{display:flex;align-items:center;gap:5px}.booking-date-legend i{width:7px;height:7px;border-radius:50%;background:#fff;border:1px solid #cfe0e4}.booking-date-legend i.closed{background:#eef2f3;border-color:#e0e7e9}.booking-time-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:230px;overflow:auto}.booking-time-menu>button{min-height:40px;border:1px solid #dbe8eb;border-radius:11px;background:#fff;color:#2b3c44;font-size:12px;font-weight:800;cursor:pointer}.booking-time-menu>button.available:hover,.booking-time-menu>button.selected{border-color:#009DB8;background:#009DB8;color:#fff}.booking-time-menu>button:disabled{background:#eef2f3;color:#aab3b7;border-color:#e2e8ea;cursor:not-allowed;text-decoration:line-through}.booking-time-menu>div{grid-column:1/-1;padding:14px;text-align:center;color:#75838a;font-size:12px;background:#f5f8f9;border-radius:11px}.booking-contact-head{display:grid;gap:3px;margin:6px 0 0;padding-top:14px;border-top:1px solid #e8eef0}.booking-contact-head b{font-size:15px;color:#2e3d44}.booking-contact-head small{font-size:10px;color:#89959a;font-weight:500}.booking-plain-field input{font-weight:600}.booking-status{min-height:18px;font-size:12px;color:#6a8290}.booking-status.is-error{padding:10px 12px;border-radius:11px;background:#fff2f2;color:#b04444;border:1px solid #f0cccc}.booking-submit-ref,.booking-new-ref{width:100%;min-height:48px;border:0;border-radius:14px;background:#073047;color:#fff;font-size:11px;font-weight:900;letter-spacing:.12em;display:flex;align-items:center;justify-content:center;gap:20px;transition:.2s ease}.booking-submit-ref:hover:not(:disabled),.booking-new-ref:hover{background:#07536c;transform:translateY(-2px)}.booking-submit-ref:disabled{opacity:.45;cursor:not-allowed}.booking-confirmation{display:flex;flex-direction:column;align-items:center;text-align:center;gap:11px;max-width:520px;margin:0 auto;padding:16px 0}.booking-confirmation-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:rgba(0,157,184,.12);color:#009DB8;border:1px solid rgba(0,157,184,.22);font-size:28px;font-weight:900}.booking-confirmation>span{font-size:10px;font-weight:900;letter-spacing:.15em;color:#009DB8}.booking-confirmation h3{margin:0;font-size:22px;line-height:1.2;color:#25353d}.booking-confirmation>p{margin:0 0 3px;color:#68787f;font-size:12px;line-height:1.55}.booking-confirmation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin-top:4px}.booking-confirmation-grid>div{display:grid;gap:3px;text-align:left;padding:10px 12px;border:1px solid #e0eaed;border-radius:12px;background:#fff}.booking-confirmation-grid small{font-size:9px;color:#849198;text-transform:uppercase;font-weight:900;letter-spacing:.045em}.booking-confirmation-grid b{font-size:12px;color:#2d3d44;overflow-wrap:anywhere}.booking-confirmation-grid .wide{grid-column:1/-1;background:rgba(0,157,184,.055);border-color:rgba(0,157,184,.2)}

/* Gallery viewer: cinematic full-screen canvas, no boxed shell */
.space-lightbox{position:fixed!important;inset:0!important;z-index:120!important}.space-lightbox-backdrop{background:radial-gradient(circle at 50% 45%,rgba(8,62,78,.28),transparent 48%),rgba(2,18,27,.94)!important;backdrop-filter:blur(24px)!important}.space-lightbox-shell{inset:0!important;display:block!important;border-radius:0!important;overflow:hidden!important;background:transparent!important;border:0!important;box-shadow:none!important;transform:scale(.975)!important;opacity:0!important;transition:transform .55s cubic-bezier(.16,.82,.18,1),opacity .38s ease!important}.space-lightbox.open .space-lightbox-shell{transform:none!important;opacity:1!important}.space-lightbox-stage{position:absolute!important;inset:5.5% 7%!important;width:auto!important;height:auto!important;min-height:0!important;border-radius:28px!important;overflow:hidden!important;background:#061f2b!important;box-shadow:0 36px 120px rgba(0,0,0,.48)!important}.space-lightbox-stage:before{content:"";position:absolute;z-index:5;inset:0;border-radius:inherit;border:1px solid rgba(116,224,239,.22);pointer-events:none}.space-lightbox-media:after{background:linear-gradient(0deg,rgba(2,25,34,.62),transparent 30%)!important}.space-lightbox-media img{transform:scale(1.01)!important}.space-lightbox-media.is-changing img{animation:spacePhotoSwapCinematic .62s cubic-bezier(.16,.8,.2,1)!important}.space-lightbox-close{position:absolute!important;right:3%!important;top:3%!important;width:52px!important;height:52px!important;border-radius:50%!important;background:rgba(5,40,54,.66)!important;border:1px solid rgba(255,255,255,.28)!important;box-shadow:0 12px 35px rgba(0,0,0,.2)!important}.space-lightbox-nav{position:absolute!important;z-index:9!important;top:50%!important;transform:translateY(-50%)!important;width:58px!important;height:58px!important;border-radius:50%!important;background:rgba(5,40,54,.62)!important;border:1px solid rgba(255,255,255,.28)!important;box-shadow:0 12px 35px rgba(0,0,0,.2)!important}.space-lightbox-nav.prev{left:2.2%!important}.space-lightbox-nav.next{right:2.2%!important}.space-lightbox-nav:hover{transform:translateY(-50%) scale(1.08)!important}.space-lightbox-meta{left:34px!important;right:34px!important;bottom:28px!important}.space-lightbox-meta span{font-size:10px!important;letter-spacing:.22em!important}.space-lightbox-meta strong{font-size:clamp(18px,2cqw,28px)!important}.space-lightbox-track{bottom:2.2%!important}.space-lightbox-track button{height:3px!important;background:rgba(255,255,255,.24)!important}.space-lightbox-track button.active{background:#5ddbed!important;box-shadow:0 0 18px rgba(93,219,237,.6)!important}@keyframes spacePhotoSwapCinematic{0%{opacity:.2;transform:scale(1.055) translateX(calc(var(--space-dir,1)*24px));filter:blur(8px)}100%{opacity:1;transform:scale(1.01) translateX(0);filter:blur(0)}}

@media(max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .booking-modal{padding:8px!important}.booking-card-ref{width:100%!important;max-height:calc(100cqh - 16px)!important;border-radius:22px!important;padding:50px 14px 18px!important}.booking-ref-head{padding:0 4px}.booking-ref-head h3{font-size:28px}.booking-step{grid-template-columns:31px minmax(0,1fr);gap:8px}.booking-step>span{width:29px;height:29px;margin-top:20px}.booking-step select,.booking-plain-field input,.booking-select{min-height:46px;height:46px;border-radius:13px;font-size:13px}.booking-date-menu,.booking-time-menu{left:-39px;right:0;border-radius:16px;padding:10px}.booking-time-menu{grid-template-columns:repeat(3,minmax(0,1fr));max-height:200px}.booking-confirmation-grid{grid-template-columns:1fr}.booking-confirmation-grid .wide{grid-column:auto}.space-lightbox-stage{inset:8% 4% 10%!important;border-radius:20px!important}.space-lightbox-nav{width:44px!important;height:44px!important;font-size:28px!important}.space-lightbox-nav.prev{left:2%!important}.space-lightbox-nav.next{right:2%!important}.space-lightbox-close{right:3%!important;top:2%!important;width:44px!important;height:44px!important}.space-lightbox-meta{left:18px!important;right:18px!important;bottom:18px!important}.space-lightbox-meta strong{font-size:15px!important}.space-lightbox-track{bottom:3.2%!important}
}

/* 11.0.61 — Map navigation ambience: route beams, GPS traces and location pulses */
.scene-map:before{background:
  radial-gradient(circle at 70% 42%,rgba(6,169,204,.13),transparent 24%),
  linear-gradient(115deg,#f6fbfc 0%,#edf8fa 44%,#dff5f8 100%)!important}
.scene-map .map-ambient:before,.scene-map .map-ambient:after{content:"";position:absolute;pointer-events:none}
.scene-map .map-ambient:before{left:4%;top:9%;width:58%;height:72%;opacity:.55;background:
  linear-gradient(124deg,transparent 0 34%,rgba(8,169,203,.12) 34.15% 34.35%,transparent 34.5% 100%),
  linear-gradient(18deg,transparent 0 51%,rgba(8,169,203,.09) 51.15% 51.35%,transparent 51.5% 100%),
  radial-gradient(circle at 24% 68%,rgba(8,169,203,.7) 0 2px,transparent 3px),
  radial-gradient(circle at 48% 48%,rgba(8,169,203,.45) 0 2px,transparent 3px);filter:drop-shadow(0 0 10px rgba(8,169,203,.12));transform:translateX(-3%)}
.scene-map .map-ambient:after{left:31%;top:18%;width:34cqw;height:34cqw;border:1px dashed rgba(8,169,203,.15);border-radius:50%;box-shadow:0 0 0 5cqw rgba(8,169,203,.025),0 0 0 10cqw rgba(8,169,203,.018)}
.scene-map.is-active .map-ambient:before{animation:mapRouteDrift 8s ease-in-out infinite alternate}
.scene-map.is-active .map-ambient:after{animation:mapRadar 6s ease-in-out infinite}
.map-stage-wrap:before{content:"";position:absolute;inset:-28px -34px -34px -34px;border-radius:46px;background:radial-gradient(circle at 45% 48%,rgba(8,169,203,.16),transparent 64%);filter:blur(18px);z-index:-1;animation:mapHalo 4.5s ease-in-out infinite}
@keyframes mapRouteDrift{0%{transform:translate3d(-3%,1%,0)}100%{transform:translate3d(3%,-2%,0)}}
@keyframes mapRadar{0%,100%{transform:scale(.92);opacity:.25}50%{transform:scale(1.05);opacity:.62}}
@keyframes mapHalo{0%,100%{opacity:.45;transform:scale(.98)}50%{opacity:.9;transform:scale(1.02)}}
@media(prefers-reduced-motion:reduce){.scene-map.is-active .map-ambient:before,.scene-map.is-active .map-ambient:after,.map-stage-wrap:before{animation:none!important}}

/* 11.0.62 — MAP HERO visible navigation ambience fix */
.scene-map .map-ambient{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  pointer-events:none!important;
  overflow:hidden!important;
  opacity:1!important;
}
.scene-map .map-ambient span{
  display:block!important;
  opacity:.5!important;
  border-color:rgba(8,169,203,.22)!important;
  box-shadow:0 0 0 1px rgba(8,169,203,.04),0 0 60px rgba(8,169,203,.07)!important;
}
.scene-map .map-ambient:before{
  left:0!important;
  top:5%!important;
  width:62%!important;
  height:86%!important;
  opacity:.92!important;
  background:
    radial-gradient(circle at 18% 72%,rgba(8,169,203,.9) 0 3px,transparent 4px),
    radial-gradient(circle at 36% 55%,rgba(8,169,203,.7) 0 3px,transparent 4px),
    radial-gradient(circle at 57% 36%,rgba(8,169,203,.75) 0 3px,transparent 4px),
    linear-gradient(128deg,transparent 0 24%,rgba(8,169,203,.18) 24.15% 24.45%,transparent 24.6% 100%),
    linear-gradient(24deg,transparent 0 46%,rgba(8,169,203,.14) 46.15% 46.45%,transparent 46.6% 100%),
    linear-gradient(154deg,transparent 0 61%,rgba(8,169,203,.1) 61.1% 61.35%,transparent 61.5% 100%)!important;
  filter:drop-shadow(0 0 16px rgba(8,169,203,.16))!important;
  transform:none!important;
}
.scene-map .map-ambient:after{
  display:block!important;
  left:26%!important;
  top:12%!important;
  width:38cqw!important;
  height:38cqw!important;
  opacity:.62!important;
  border:1px dashed rgba(8,169,203,.24)!important;
  border-radius:50%!important;
  box-shadow:0 0 0 6cqw rgba(8,169,203,.03),0 0 0 12cqw rgba(8,169,203,.018)!important;
}
.scene-map:after{
  display:block!important;
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    linear-gradient(108deg,transparent 0 36%,rgba(255,255,255,.32) 36.2% 36.7%,transparent 37% 100%),
    radial-gradient(circle at 44% 62%,rgba(8,169,203,.08),transparent 28%)!important;
  opacity:.85!important;
}
.scene-map.is-active .map-ambient:before{animation:mapRouteDrift 6.5s ease-in-out infinite alternate!important}
.scene-map.is-active .map-ambient:after{animation:mapRadar 5s ease-in-out infinite!important}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-map .map-ambient:before{width:100%!important;height:52%!important;top:7%!important;opacity:.48!important}
  .scene-map .map-ambient:after{left:54%!important;top:18%!important;width:52cqw!important;height:52cqw!important;opacity:.35!important}
}

/* 11.0.63 — MAP HERO: smaller panel with clear space below Online Ραντεβού */
@media(min-width:901px){
  .scene-map .map-stage-wrap{
    width:49.5%!important;
    right:4.4%!important;
    top:13.4%!important;
    bottom:10.2%!important;
  }
  .scene-map .map-frame{
    inset:0 0 44px 0!important;
  }
}

/* 11.0.68 — unlimited gallery: every dynamically added card stays available on mobile. */
.scene-space .space-card{display:block!important}

/* 11.0.69 — Booking modal: full desktop fit + dedicated mobile experience */
@media (min-width:701px){
  .booking-modal{padding:10px 16px!important;align-items:center!important}
  .booking-card-ref{width:min(760px,calc(100cqw - 32px))!important;max-height:calc(100cqh - 20px)!important;overflow:visible!important;padding:22px 30px 20px!important;border-radius:24px!important}
  .booking-card-ref .modal-close{position:absolute!important;float:none!important;top:16px!important;right:16px!important;margin:0!important;width:42px!important;height:42px!important}
  .booking-ref-head{max-width:680px;margin:0 auto 12px;padding-right:52px}
  .booking-ref-head .mini-label{margin-bottom:5px;font-size:9px}
  .booking-ref-head h3{font-size:clamp(27px,3cqw,38px);margin:0 0 5px;line-height:1}
  .booking-ref-head p{font-size:11px;line-height:1.35;margin:0}
  .booking-ref-body{max-width:680px}
  .booking-rebuilt{gap:8px}
  .booking-step{grid-template-columns:30px minmax(0,1fr);gap:8px}
  .booking-step>span{width:28px;height:28px;margin-top:18px;border-radius:9px;font-size:10px}
  .booking-step>label,.booking-plain-field{gap:4px;font-size:11px}
  .booking-step select,.booking-plain-field input,.booking-select{height:42px;min-height:42px;border-radius:12px;padding:0 13px;font-size:13px}
  .booking-contact-head{margin:2px 0 0;padding-top:8px;gap:1px}
  .booking-contact-head b{font-size:13px}.booking-contact-head small{font-size:9px}
  .booking-rebuilt .booking-contact-head~.booking-plain-field{display:grid}
  .booking-status{min-height:14px;font-size:10px}
  .booking-submit-ref,.booking-new-ref{min-height:42px;border-radius:12px;font-size:10px}
  .booking-date-menu{top:calc(100% + 5px);padding:9px;border-radius:15px}
  .booking-date-head{grid-template-columns:32px 1fr 32px;margin-bottom:5px}.booking-date-head button{height:31px}.booking-date-head b{font-size:12px}
  .booking-week,.booking-days{gap:3px}.booking-days i,.booking-days button{height:29px;min-height:29px}.booking-days button{font-size:10px;border-radius:7px}.booking-date-legend{margin-top:6px;font-size:8px}
  .booking-time-menu{top:calc(100% + 5px);max-height:170px;padding:9px;gap:5px}.booking-time-menu>button{min-height:34px;font-size:10px}
}
@media (min-width:701px) and (max-height:760px){
  .booking-card-ref{padding:16px 26px 14px!important}
  .booking-ref-head{margin-bottom:8px}.booking-ref-head h3{font-size:29px}.booking-ref-head p{font-size:10px}
  .booking-rebuilt{gap:6px}.booking-step select,.booking-plain-field input,.booking-select{height:38px;min-height:38px}
  .booking-step>span{margin-top:16px;width:26px;height:26px}.booking-contact-head{padding-top:6px}.booking-submit-ref,.booking-new-ref{min-height:38px}
}
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .booking-modal{padding:0!important;align-items:stretch!important;background:#f8fcfd!important;backdrop-filter:none!important}
  .booking-card-ref{width:100%!important;height:100cqh!important;max-height:100cqh!important;margin:0!important;border:0!important;border-radius:0!important;padding:0!important;overflow:hidden!important;box-shadow:none!important;background:#fbfdfe!important;display:flex!important;flex-direction:column!important}
  .booking-card-ref .modal-close{position:absolute!important;float:none!important;top:max(12px,env(safe-area-inset-top))!important;right:14px!important;margin:0!important;width:44px!important;height:44px!important;z-index:40!important;background:#fff!important;box-shadow:0 6px 22px rgba(7,48,71,.1)!important}
  .booking-ref-head{flex:0 0 auto;max-width:none!important;margin:0!important;padding:calc(18px + env(safe-area-inset-top)) 66px 13px 18px!important;border-bottom:1px solid #e6eff1;background:rgba(255,255,255,.96)}
  .booking-ref-head .mini-label{margin:0 0 5px!important;font-size:8px!important;letter-spacing:.2em}
  .booking-ref-head h3{font-size:25px!important;line-height:1.02!important;margin:0 0 5px!important}
  .booking-ref-head p{font-size:10px!important;line-height:1.35!important;margin:0!important}
  .booking-ref-body{flex:1 1 auto;min-height:0;max-width:none!important;margin:0!important;overflow-y:auto!important;overscroll-behavior:contain;padding:14px 14px calc(92px + env(safe-area-inset-bottom))!important;scrollbar-width:none}
  .booking-ref-body::-webkit-scrollbar{display:none}
  .booking-rebuilt{gap:10px!important}
  .booking-step{grid-template-columns:30px minmax(0,1fr)!important;gap:8px!important}
  .booking-step>span{width:28px!important;height:28px!important;margin-top:18px!important;border-radius:9px!important;font-size:10px!important}
  .booking-step>label,.booking-plain-field{gap:5px!important;font-size:11px!important}
  .booking-step select,.booking-plain-field input,.booking-select{height:46px!important;min-height:46px!important;border-radius:13px!important;font-size:16px!important;padding:0 13px!important}
  .booking-contact-head{margin:3px 0 0!important;padding-top:12px!important}.booking-contact-head b{font-size:14px!important}.booking-contact-head small{font-size:9px!important}
  .booking-date-menu,.booking-time-menu{position:fixed!important;z-index:150!important;left:10px!important;right:10px!important;top:auto!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;max-height:min(62cqh,500px)!important;border-radius:22px!important;padding:14px!important;box-shadow:0 24px 80px rgba(4,26,38,.3)!important}
  .booking-date-head{grid-template-columns:40px 1fr 40px!important}.booking-date-head button{height:40px!important}.booking-days i,.booking-days button{height:38px!important;min-height:38px!important;font-size:12px!important}
  .booking-time-menu{grid-template-columns:repeat(3,minmax(0,1fr))!important;overflow:auto!important}.booking-time-menu>button{min-height:44px!important;font-size:12px!important}
  .booking-submit-ref,.booking-new-ref{position:sticky!important;bottom:0!important;z-index:20!important;min-height:52px!important;border-radius:14px!important;box-shadow:0 -10px 28px rgba(251,253,254,.96),0 10px 28px rgba(7,48,71,.18)!important}
  .booking-status{font-size:11px!important;min-height:14px!important}
  .booking-confirmation{padding:18px 4px 4px!important}.booking-confirmation-grid{grid-template-columns:1fr!important}.booking-confirmation-grid .wide{grid-column:auto!important}
}
@media (max-width:380px){
  .booking-ref-head{padding-left:14px!important}.booking-ref-head h3{font-size:22px!important}.booking-ref-body{padding-left:10px!important;padding-right:10px!important}
  .booking-step{grid-template-columns:27px minmax(0,1fr)!important;gap:6px!important}.booking-step>span{width:26px!important;height:26px!important}
}

/* =========================================================
   11.0.71 — APPROVED MOBILE HERO 01 / HOME
   Dedicated mobile composition. Desktop remains untouched.
   ========================================================= */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-home{background:#f8fbfc!important;overflow:hidden!important}
  .scene-home .bg-home{
    display:block!important;
    position:absolute!important;
    left:0!important;right:0!important;top:auto!important;bottom:0!important;
    width:100%!important;height:49%!important;
    object-fit:cover!important;object-position:center center!important;
    opacity:1!important;filter:none!important;transform:none!important;
    border-radius:30px 30px 0 0!important;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.34) 10%,#000 29%,#000 100%)!important;
    mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.34) 10%,#000 29%,#000 100%)!important;
  }
  .scene-home:after{
    content:""!important;display:block!important;position:absolute!important;z-index:2!important;
    left:0;right:0;bottom:0;height:25%;pointer-events:none;
    background:linear-gradient(180deg,transparent,rgba(3,29,42,.12) 45%,rgba(3,29,42,.46));
  }
  .scene-home .home-plant{display:none!important}
  .scene-home .home-content{
    position:absolute!important;z-index:5!important;
    left:22px!important;right:22px!important;top:calc(108px + env(safe-area-inset-top))!important;
    width:auto!important;max-width:none!important;transform:none!important;
  }
  .scene-home .pill-row{display:flex!important;gap:6px!important;flex-wrap:wrap!important;margin:0 0 16px!important}
  .scene-home .pill-row span{
    padding:6px 10px!important;border-radius:999px!important;
    border:1px solid rgba(6,169,204,.15)!important;background:rgba(228,246,249,.78)!important;
    color:#168ba5!important;font-size:8px!important;font-weight:700!important;letter-spacing:.02em!important;
    backdrop-filter:blur(8px)!important;
  }
  .scene-home .home-content h1{margin:0!important;max-width:94%!important}
  .scene-home .home-content h1 strong{
    display:block!important;color:#082f40!important;font-size:clamp(45px,12.4cqw,58px)!important;
    line-height:.92!important;letter-spacing:-.058em!important;font-weight:800!important;
  }
  .scene-home .home-content h1 em{
    display:block!important;margin-top:7px!important;color:#08a5c5!important;
    font-family:Georgia,"Times New Roman",serif!important;font-weight:500!important;
    font-size:clamp(37px,10.4cqw,48px)!important;line-height:.98!important;letter-spacing:-.04em!important;
  }
  .scene-home .home-content p{
    max-width:94%!important;margin:14px 0 15px!important;color:#6d8390!important;
    font-size:11.5px!important;line-height:1.47!important;
  }
  .scene-home .contact-cta{
    width:190px!important;min-width:0!important;height:44px!important;padding:0 15px!important;
    border-radius:999px!important;background:linear-gradient(135deg,#078cab,#08a8c5)!important;
    box-shadow:0 13px 30px rgba(5,142,170,.19)!important;color:#fff!important;
    font-size:9px!important;
  }
  .scene-home .home-footer-note{
    display:block!important;z-index:5!important;left:50%!important;right:auto!important;
    bottom:calc(18px + env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;
    width:max-content!important;max-width:72%!important;text-align:center!important;
    color:rgba(255,255,255,.88)!important;font-size:7px!important;letter-spacing:.22em!important;
  }
  .scene-home .pulse-lockup{display:none!important}

  /* Header tuned only for approved Home hero composition */
  body:has(.scene-home.is-active) .floating-ui{height:76px!important;padding:calc(12px + env(safe-area-inset-top)) 16px 8px!important;align-items:center!important}
  body:has(.scene-home.is-active) .brand img{width:46px!important;height:46px!important}
  body:has(.scene-home.is-active) .brand-copy{display:block!important}
  body:has(.scene-home.is-active) .brand-copy b{font-size:11px!important;letter-spacing:.07em!important}
  body:has(.scene-home.is-active) .booking-pill{display:none!important}
  body:has(.scene-home.is-active) .menu-btn{width:44px!important;height:44px!important;border-radius:50%!important;background:rgba(255,255,255,.86)!important;box-shadow:0 8px 24px rgba(7,48,67,.08)!important}

  /* Navigation floats over the photographic lower field like the approved mockup. */
  body:has(.scene-home.is-active) .edge-nav{
    display:grid!important;place-items:center!important;z-index:8!important;
    top:auto!important;bottom:calc(50px + env(safe-area-inset-bottom))!important;
    width:46px!important;height:46px!important;border-radius:50%!important;
    background:rgba(255,255,255,.93)!important;color:#08384b!important;border:1px solid rgba(8,56,75,.08)!important;
    box-shadow:0 10px 28px rgba(0,0,0,.13)!important;
  }
  body:has(.scene-home.is-active) .edge-prev{left:18px!important}
  body:has(.scene-home.is-active) .edge-next{right:18px!important}
  body:has(.scene-home.is-active) .hero-progress{bottom:calc(67px + env(safe-area-inset-bottom))!important;color:#fff!important;z-index:8!important}
  body:has(.scene-home.is-active) .hero-progress .current,
  body:has(.scene-home.is-active) .hero-progress>span:last-child{display:none!important}
  body:has(.scene-home.is-active) .hero-progress .dots{gap:8px!important}
  body:has(.scene-home.is-active) .hero-progress .dots button{width:7px!important;height:7px!important;background:rgba(255,255,255,.48)!important;border-color:transparent!important}
  body:has(.scene-home.is-active) .hero-progress .dots button.is-active{background:#fff!important;transform:scale(1.2)!important}
}

@media (max-width:390px){
  .scene-home .home-content{left:18px!important;right:18px!important;top:calc(101px + env(safe-area-inset-top))!important}
  .scene-home .home-content h1 strong{font-size:43px!important}
  .scene-home .home-content h1 em{font-size:35px!important}
  .scene-home .home-content p{font-size:10.5px!important;margin:11px 0 12px!important}
  .scene-home .contact-cta{height:42px!important;width:178px!important}
  .scene-home .bg-home{height:47%!important}
}

@media (max-width:700px) and (max-height:720px){
  .scene-home .home-content{top:88px!important}
  .scene-home .pill-row{margin-bottom:10px!important}
  .scene-home .home-content h1 strong{font-size:40px!important}
  .scene-home .home-content h1 em{font-size:33px!important;margin-top:4px!important}
  .scene-home .home-content p{font-size:10px!important;line-height:1.4!important;margin:9px 0 10px!important}
  .scene-home .contact-cta{height:39px!important}
  .scene-home .bg-home{height:45%!important}
}


/* =========================================================
   11.0.72 — BOOKING MODAL TOP LAYER + REAL CLOSED DATES
   Always top anchored, nothing may overlap it.
   ========================================================= */
.booking-modal{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  isolation:isolate!important;
  align-items:flex-start!important;
  justify-content:center!important;
  padding-top:max(8px,env(safe-area-inset-top))!important;
  padding-bottom:8px!important;
}
.booking-modal.open{pointer-events:auto!important}
.booking-card-ref{
  margin:0 auto!important;
  z-index:2!important;
}
.booking-card-ref .modal-close{z-index:2147483001!important}
.booking-date-menu,.booking-time-menu{z-index:2147483002!important}
body.modal-open .floating-ui,
body.modal-open .edge-prev,
body.modal-open .edge-next,
body.modal-open .hero-progress,
body.modal-open .menu-overlay{pointer-events:none!important}
.booking-days button.is-closed{
  background:#eef2f3!important;
  border-color:#e0e7e9!important;
  color:#a5b0b5!important;
  opacity:.72!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
}
.booking-days button.is-full{
  background:repeating-linear-gradient(135deg,#eef2f3 0 6px,#e8edef 6px 12px)!important;
  color:#929ea3!important;
}
.booking-days button.is-past{opacity:.46!important}
@media (min-width:701px){
  .booking-modal{align-items:flex-start!important;padding-top:max(8px,env(safe-area-inset-top))!important}
  .booking-card-ref{max-height:calc(100cqh - 16px)!important}
}
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .booking-modal{align-items:flex-start!important;padding:0!important}
  .booking-card-ref{margin:0!important}
}

/* =========================================================
   11.0.73 — APPROVED MOBILE HOME POLISH
   Refines Hero 01 only on mobile. Desktop remains untouched.
   ========================================================= */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  /* Remove legacy diagonal/white readability layers from the mobile Home hero. */
  .scene-home::before{display:none!important}

  .scene-home .bg-home{
    left:0!important;right:0!important;top:auto!important;bottom:0!important;
    width:100%!important;height:53%!important;
    object-fit:cover!important;object-position:72% 50%!important;
    border-radius:24px 24px 0 0!important;
    -webkit-mask-image:none!important;mask-image:none!important;
    opacity:1!important;filter:none!important;
  }
  /* Controlled transition into the photograph; no washed-out left half. */
  .scene-home::after{
    display:block!important;
    left:0!important;right:0!important;top:auto!important;bottom:0!important;
    width:auto!important;height:53%!important;
    clip-path:none!important;
    background:linear-gradient(180deg,rgba(248,251,252,.68) 0%,rgba(248,251,252,.18) 5%,transparent 13%,transparent 70%,rgba(3,29,42,.46) 100%)!important;
    pointer-events:none!important;z-index:2!important;
  }

  .scene-home .home-content{
    left:22px!important;right:22px!important;
    top:calc(88px + env(safe-area-inset-top))!important;
    width:auto!important;max-width:none!important;
  }
  .scene-home .pill-row{
    gap:6px!important;flex-wrap:nowrap!important;
    margin:0 0 12px!important;
  }
  .scene-home .pill-row span{
    padding:5px 9px!important;
    font-size:7.5px!important;
    letter-spacing:.015em!important;
    white-space:nowrap!important;
    background:rgba(235,249,251,.84)!important;
    border-color:rgba(6,169,204,.18)!important;
  }
  .scene-home .home-content h1{max-width:92%!important}
  .scene-home .home-content h1 strong{
    font-size:clamp(39px,10.8cqw,49px)!important;
    line-height:.94!important;
    letter-spacing:-.052em!important;
  }
  .scene-home .home-content h1 em{
    margin-top:5px!important;
    font-size:clamp(33px,9.4cqw,42px)!important;
    line-height:1!important;
    letter-spacing:-.035em!important;
  }
  .scene-home .home-content p{
    max-width:91%!important;
    margin:10px 0 12px!important;
    font-size:10.7px!important;
    line-height:1.45!important;
    color:#6b818e!important;
  }
  .scene-home .contact-cta{
    width:168px!important;height:40px!important;
    padding:0 13px!important;
    font-size:8.4px!important;
    box-shadow:0 10px 24px rgba(5,142,170,.16)!important;
  }

  body:has(.scene-home.is-active) .floating-ui{
    height:68px!important;
    padding:calc(9px + env(safe-area-inset-top)) 16px 6px!important;
  }
  body:has(.scene-home.is-active) .brand img{width:42px!important;height:42px!important}
  body:has(.scene-home.is-active) .brand-copy b{font-size:10.5px!important;letter-spacing:.06em!important}
  body:has(.scene-home.is-active) .menu-btn{width:40px!important;height:40px!important}

  body:has(.scene-home.is-active) .edge-nav{
    bottom:calc(44px + env(safe-area-inset-bottom))!important;
    width:42px!important;height:42px!important;
    box-shadow:0 8px 22px rgba(0,0,0,.12)!important;
  }
  body:has(.scene-home.is-active) .edge-prev{left:16px!important}
  body:has(.scene-home.is-active) .edge-next{right:16px!important}
  body:has(.scene-home.is-active) .hero-progress{
    bottom:calc(58px + env(safe-area-inset-bottom))!important;
  }
  body:has(.scene-home.is-active) .hero-progress .dots{gap:7px!important}
  body:has(.scene-home.is-active) .hero-progress .dots button{width:6px!important;height:6px!important}
  .scene-home .home-footer-note{
    bottom:calc(11px + env(safe-area-inset-bottom))!important;
    max-width:78%!important;
    font-size:6.4px!important;
    letter-spacing:.20em!important;
    text-shadow:0 1px 8px rgba(0,0,0,.22)!important;
  }
}

@media (max-width:390px){
  .scene-home .home-content{left:18px!important;right:18px!important;top:calc(82px + env(safe-area-inset-top))!important}
  .scene-home .home-content h1 strong{font-size:37px!important}
  .scene-home .home-content h1 em{font-size:31px!important}
  .scene-home .home-content p{font-size:10px!important;margin:9px 0 11px!important}
  .scene-home .contact-cta{width:158px!important;height:38px!important}
  .scene-home .bg-home,.scene-home::after{height:52%!important}
}

@media (max-width:700px) and (max-height:720px){
  .scene-home .home-content{top:78px!important}
  .scene-home .pill-row{margin-bottom:9px!important}
  .scene-home .home-content h1 strong{font-size:36px!important}
  .scene-home .home-content h1 em{font-size:30px!important;margin-top:3px!important}
  .scene-home .home-content p{font-size:9.7px!important;line-height:1.38!important;margin:8px 0 9px!important}
  .scene-home .contact-cta{height:36px!important}
  .scene-home .bg-home,.scene-home::after{height:51%!important}
}

/* =========================================================
   11.0.75 — MOBILE HOME PILLS + TRUE TOP FADE ONLY
   Requested micro-adjustment: pills slightly higher and the
   top edge of the existing photo dissolves naturally into the
   page background. No photo/content/layout changes elsewhere.
   ========================================================= */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  /* Move only the pills upward; keep title/body/CTA anchored. */
  .scene-home .pill-row{
    transform:translateY(-12px)!important;
    margin-bottom:0!important;
  }

  /* True image fade: the photo itself dissolves into the page at the top. */
  .scene-home .bg-home{
    -webkit-mask-image:linear-gradient(to bottom,
      transparent 0%,
      rgba(0,0,0,.16) 3%,
      rgba(0,0,0,.48) 7%,
      rgba(0,0,0,.78) 12%,
      #000 19%,
      #000 100%)!important;
    mask-image:linear-gradient(to bottom,
      transparent 0%,
      rgba(0,0,0,.16) 3%,
      rgba(0,0,0,.48) 7%,
      rgba(0,0,0,.78) 12%,
      #000 19%,
      #000 100%)!important;
    -webkit-mask-repeat:no-repeat!important;
    mask-repeat:no-repeat!important;
  }

  /* Remove the old pale top overlay; preserve only the subtle lower-depth shade. */
  .scene-home::after{
    background:linear-gradient(180deg,
      transparent 0%,
      transparent 68%,
      rgba(3,29,42,.46) 100%)!important;
  }
}

@media (max-width:390px){
  .scene-home .pill-row{transform:translateY(-10px)!important}
}

/* =========================================================
   11.0.76 — APPROVED MOBILE HOME FADE + BOOKING + SERVICES
   Mobile-only. No image asset changes.
   ========================================================= */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  /* HOME: soft continuous dissolve into the photographic field. */
  .scene-home .bg-home{
    -webkit-mask-image:linear-gradient(to bottom,
      transparent 0%,
      rgba(0,0,0,.035) 2%,
      rgba(0,0,0,.11) 5%,
      rgba(0,0,0,.25) 9%,
      rgba(0,0,0,.44) 14%,
      rgba(0,0,0,.64) 20%,
      rgba(0,0,0,.82) 27%,
      rgba(0,0,0,.94) 34%,
      #000 42%,
      #000 100%)!important;
    mask-image:linear-gradient(to bottom,
      transparent 0%,
      rgba(0,0,0,.035) 2%,
      rgba(0,0,0,.11) 5%,
      rgba(0,0,0,.25) 9%,
      rgba(0,0,0,.44) 14%,
      rgba(0,0,0,.64) 20%,
      rgba(0,0,0,.82) 27%,
      rgba(0,0,0,.94) 34%,
      #000 42%,
      #000 100%)!important;
  }
  .scene-home::after{
    background:linear-gradient(180deg,transparent 0%,transparent 72%,rgba(3,29,42,.40) 100%)!important;
  }

  /* Mobile header: booking is available on Home too, compact and balanced. */
  body:has(.scene-home.is-active) .booking-pill{
    display:flex!important;
    position:absolute!important;
    right:68px!important;
    top:calc(15px + env(safe-area-inset-top))!important;
    width:42px!important;height:42px!important;padding:0!important;
    border-radius:50%!important;justify-content:center!important;gap:0!important;
    overflow:hidden!important;box-shadow:0 8px 24px rgba(7,48,67,.13)!important;
  }
  body:has(.scene-home.is-active) .booking-pill .booking-icon{width:30px!important;height:30px!important;flex:0 0 30px!important}
  body:has(.scene-home.is-active) .booking-pill > span:not(.booking-icon){display:none!important}

  /* SERVICES: cleaner mobile hierarchy while preserving content and image. */
  .scene-services .scene-kicker{left:7%!important;top:calc(84px + env(safe-area-inset-top))!important;font-size:8px!important;padding:7px 12px!important}
  .scene-services .services-layout{display:block!important;padding:0!important}
  .scene-services .services-copy{position:absolute!important;z-index:5!important;left:7%!important;right:7%!important;top:calc(128px + env(safe-area-inset-top))!important;max-width:none!important;width:auto!important}
  .scene-services .services-copy .mini-label{font-size:8px!important;letter-spacing:.24em!important}
  .scene-services .services-copy h2{margin:10px 0 8px!important;max-width:88%!important;font-size:clamp(43px,12.2cqw,59px)!important;line-height:.88!important;letter-spacing:-.055em!important}
  .scene-services .services-copy h2 i{color:#08a9cb!important}
  .scene-services .services-copy p{max-width:78%!important;margin:0!important;font-size:9.5px!important;line-height:1.42!important;color:rgba(255,255,255,.78)!important}

  /* Keep the photograph readable: dark support on left, clear treatment image on right. */
  .scene-services .scene-overlay{background:linear-gradient(90deg,rgba(2,31,44,.94) 0%,rgba(2,31,44,.82) 28%,rgba(2,31,44,.48) 53%,rgba(2,31,44,.10) 76%,rgba(2,31,44,.04) 100%)!important}

  /* Compact one-column glass service list. */
  .scene-services .service-orbit{
    position:absolute!important;z-index:6!important;left:7%!important;right:7%!important;bottom:calc(88px + env(safe-area-inset-bottom))!important;
    display:flex!important;flex-direction:column!important;gap:7px!important;padding:0!important;
  }
  .scene-services .service-orbit .service-card{
    width:100%!important;min-height:0!important;height:56px!important;border-radius:16px!important;
    padding:0 14px!important;display:grid!important;grid-template-columns:38px 1fr 24px!important;align-items:center!important;
    background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.18)!important;
    backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;
    box-shadow:0 8px 24px rgba(0,0,0,.10)!important;text-align:left!important;
  }
  .scene-services .service-card b{font-size:10px!important;color:#79dced!important}
  .scene-services .service-card span{font-size:10px!important;line-height:1.12!important;color:#fff!important}
  .scene-services .service-card i{display:block!important;justify-self:end!important;font-size:13px!important;color:#79dced!important;font-style:normal!important}

  /* Services navigation: quieter and aligned to the common bottom rail. */
  body:has(.scene-services.is-active) .edge-nav{width:42px!important;height:42px!important;bottom:calc(22px + env(safe-area-inset-bottom))!important;font-size:30px!important}
  body:has(.scene-services.is-active) .edge-prev{left:16px!important}
  body:has(.scene-services.is-active) .edge-next{right:16px!important}
  body:has(.scene-services.is-active) .hero-progress{bottom:calc(35px + env(safe-area-inset-bottom))!important;gap:8px!important;font-size:8px!important}
  body:has(.scene-services.is-active) .dots{gap:8px!important}
  body:has(.scene-services.is-active) .dots button{width:8px!important;height:8px!important}
}

@media (max-width:390px){
  body:has(.scene-home.is-active) .booking-pill{right:62px!important;width:40px!important;height:40px!important}
  .scene-services .services-copy h2{font-size:clamp(39px,11.6cqw,50px)!important}
  .scene-services .services-copy p{font-size:8.8px!important}
  .scene-services .service-orbit .service-card{height:51px!important}
}

/* =========================================================
   11.0.76 — APPROVED MOBILE HOME FADE + BOOKING / SERVICES POLISH
   CSS/layout only. Existing images and copy are untouched.
   ========================================================= */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  /* HOME: a longer, softer dissolve instead of a visible horizontal seam. */
  .scene-home .bg-home{
    -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.04) 4%,rgba(0,0,0,.12) 8%,rgba(0,0,0,.28) 13%,rgba(0,0,0,.50) 19%,rgba(0,0,0,.72) 25%,rgba(0,0,0,.90) 31%,#000 38%,#000 100%)!important;
    mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.04) 4%,rgba(0,0,0,.12) 8%,rgba(0,0,0,.28) 13%,rgba(0,0,0,.50) 19%,rgba(0,0,0,.72) 25%,rgba(0,0,0,.90) 31%,#000 38%,#000 100%)!important;
  }
  .scene-home::after{background:linear-gradient(180deg,transparent 0%,transparent 72%,rgba(3,29,42,.42) 100%)!important}

  /* HOME: restore Online Booking as a compact mobile header action. */
  body:has(.scene-home.is-active) .booking-pill{
    display:flex!important;width:auto!important;min-width:0!important;height:38px!important;
    padding:4px 10px 4px 4px!important;gap:7px!important;border-radius:999px!important;
    font-size:7px!important;letter-spacing:.08em!important;white-space:nowrap!important;
  }
  body:has(.scene-home.is-active) .booking-pill .booking-icon{width:28px!important;height:28px!important;font-size:11px!important}
  body:has(.scene-home.is-active) .booking-pill span:last-child{font-size:10px!important}
  body:has(.scene-home.is-active) .top-actions{gap:7px!important}
  body:has(.scene-home.is-active) .menu-btn{width:40px!important;height:40px!important}

  /* SERVICES: purpose-built mobile composition; no image asset changes. */
  .scene-services .scene-bg{transform:none!important;background-position:center center!important}
  .scene-services .scene-overlay{
    background:linear-gradient(180deg,rgba(2,29,42,.86) 0%,rgba(2,29,42,.68) 42%,rgba(2,29,42,.48) 68%,rgba(2,29,42,.64) 100%)!important;
  }
  .scene-services .scene-kicker{left:22px!important;top:calc(82px + env(safe-area-inset-top))!important;font-size:7.5px!important;padding:6px 9px!important}
  .scene-services .services-layout{display:block!important;padding:0!important}
  .scene-services .services-copy{position:absolute!important;z-index:5!important;left:22px!important;right:22px!important;top:calc(126px + env(safe-area-inset-top))!important;max-width:none!important}
  .scene-services .services-copy .mini-label{font-size:7.5px!important;letter-spacing:.25em!important}
  .scene-services .services-copy h2{margin:12px 0 8px!important;max-width:88%!important;font-size:clamp(39px,11.2cqw,50px)!important;line-height:.92!important;letter-spacing:-.045em!important}
  .scene-services .services-copy h2 i{color:#09acd0!important}
  .scene-services .services-copy p{max-width:88%!important;margin:0!important;font-size:10px!important;line-height:1.42!important;color:rgba(255,255,255,.72)!important}
  .scene-services .service-orbit{
    position:absolute!important;z-index:6!important;left:22px!important;right:22px!important;bottom:calc(82px + env(safe-area-inset-bottom))!important;
    display:grid!important;grid-template-columns:1fr!important;gap:7px!important;padding:0!important;max-height:250px!important;overflow:auto!important;scrollbar-width:none!important;
  }
  .scene-services .service-orbit::-webkit-scrollbar{display:none!important}
  .scene-services .service-orbit .service-card{
    min-height:54px!important;height:54px!important;border-radius:16px!important;padding:0 13px!important;
    display:grid!important;grid-template-columns:34px 1fr 20px!important;align-items:center!important;gap:8px!important;
    background:rgba(16,49,62,.62)!important;border:1px solid rgba(210,244,249,.16)!important;
    backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;
  }
  .scene-services .service-card b{font-size:10px!important;color:#7fe4f4!important}
  .scene-services .service-card span{font-size:10.5px!important;line-height:1.12!important;color:#fff!important}
  .scene-services .service-card span br{display:none!important}
  .scene-services .service-card i{display:block!important;font-size:12px!important;color:#8de8f6!important;font-style:normal!important;text-align:right!important}

  /* SERVICES: compact booking/header and lighter hero navigation. */
  body:has(.scene-services.is-active) .floating-ui{height:72px!important;padding:calc(10px + env(safe-area-inset-top)) 16px 6px!important;align-items:center!important}
  body:has(.scene-services.is-active) .brand img{width:42px!important;height:42px!important}
  body:has(.scene-services.is-active) .brand-copy{display:block!important}
  body:has(.scene-services.is-active) .brand-copy b{font-size:10px!important;letter-spacing:.06em!important}
  body:has(.scene-services.is-active) .booking-pill{display:flex!important;width:auto!important;min-width:0!important;height:38px!important;padding:4px 10px 4px 4px!important;gap:7px!important;font-size:7px!important;letter-spacing:.08em!important;white-space:nowrap!important}
  body:has(.scene-services.is-active) .booking-icon{width:28px!important;height:28px!important;font-size:11px!important}
  body:has(.scene-services.is-active) .top-actions{gap:7px!important}
  body:has(.scene-services.is-active) .menu-btn{width:40px!important;height:40px!important}
  body:has(.scene-services.is-active) .edge-nav{top:auto!important;bottom:calc(24px + env(safe-area-inset-bottom))!important;width:38px!important;height:38px!important;font-size:27px!important}
  body:has(.scene-services.is-active) .edge-prev{left:16px!important}
  body:has(.scene-services.is-active) .edge-next{right:16px!important}
  body:has(.scene-services.is-active) .hero-progress{bottom:calc(36px + env(safe-area-inset-bottom))!important}
  body:has(.scene-services.is-active) .hero-progress .dots{gap:6px!important}
  body:has(.scene-services.is-active) .hero-progress .dots button{width:6px!important;height:6px!important}
}

@media (max-width:390px){
  body:has(.scene-home.is-active) .brand-copy b,body:has(.scene-services.is-active) .brand-copy b{font-size:9px!important}
  body:has(.scene-home.is-active) .booking-pill,body:has(.scene-services.is-active) .booking-pill{font-size:6.4px!important;padding-right:8px!important;gap:5px!important}
  .scene-services .services-copy h2{font-size:37px!important}
  .scene-services .services-copy p{font-size:9.4px!important}
  .scene-services .service-orbit{left:18px!important;right:18px!important;max-height:235px!important}
}

/* =========================================================
   11.0.77 — MOBILE MODAL CENTER + HOME BOOKING MATCH SERVICES
   Mobile-only polish. No image/content changes.
   ========================================================= */
@media (max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  /* Service and profile dialogs open visually centered in the viewport. */
  .service-modal{
    align-items:center!important;
    justify-items:center!important;
    padding:16px!important;
  }
  .service-modal-card{
    width:min(620px,100%)!important;
    max-height:min(82cqh,720px)!important;
    border-radius:24px!important;
    margin:auto!important;
    overflow:auto!important;
  }
  .profile-modal{
    align-items:center!important;
    justify-items:center!important;
    padding:12px!important;
  }
  .profile-modal-shell{
    height:min(88cqh,880px)!important;
    margin:auto!important;
    border-radius:28px!important;
  }
}

@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  /* HOME: use exactly the same compact Online Booking treatment as Services. */
  body:has(.scene-home.is-active) .floating-ui{
    height:72px!important;
    padding:calc(10px + env(safe-area-inset-top)) 16px 6px!important;
    align-items:center!important;
  }
  body:has(.scene-home.is-active) .brand img{
    width:42px!important;
    height:42px!important;
  }
  body:has(.scene-home.is-active) .brand-copy{
    display:block!important;
  }
  body:has(.scene-home.is-active) .brand-copy b{
    font-size:10px!important;
    letter-spacing:.06em!important;
  }
  body:has(.scene-home.is-active) .top-actions{
    gap:7px!important;
  }
  body:has(.scene-home.is-active) .booking-pill{
    display:flex!important;
    position:static!important;
    right:auto!important;
    top:auto!important;
    width:auto!important;
    min-width:0!important;
    height:38px!important;
    padding:4px 10px 4px 4px!important;
    gap:7px!important;
    border-radius:999px!important;
    justify-content:flex-start!important;
    overflow:visible!important;
    font-size:7px!important;
    letter-spacing:.08em!important;
    white-space:nowrap!important;
    box-shadow:none!important;
  }
  body:has(.scene-home.is-active) .booking-pill .booking-icon{
    width:28px!important;
    height:28px!important;
    flex:0 0 28px!important;
    font-size:11px!important;
  }
  body:has(.scene-home.is-active) .booking-pill > span:not(.booking-icon){
    display:inline!important;
  }
  body:has(.scene-home.is-active) .menu-btn{
    width:40px!important;
    height:40px!important;
  }
}

@media (max-width:390px){
  body:has(.scene-home.is-active) .brand-copy b{font-size:9px!important}
  body:has(.scene-home.is-active) .booking-pill{
    font-size:6.4px!important;
    padding-right:8px!important;
    gap:5px!important;
  }
}

/* =========================================================
   11.0.78 — MOBILE HOME CTA + ECG FADE DETAIL
   Mobile-only refinement. No image asset or copy changes.
   ========================================================= */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  /* Give the primary contact CTA a little more breathing room below the copy. */
  .scene-home .contact-cta{
    transform:translateY(18px)!important;
  }

  /* Reuse the existing ECG SVG as a subtle animated detail inside the photo dissolve. */
  .scene-home .pulse-lockup{
    display:flex!important;
    position:absolute!important;
    z-index:4!important;
    left:50%!important;
    right:auto!important;
    bottom:49.2%!important;
    width:min(64%,390px)!important;
    height:34px!important;
    transform:translate(-50%,50%)!important;
    align-items:center!important;
    pointer-events:none!important;
    opacity:.92!important;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 86%,transparent 100%)!important;
    mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 86%,transparent 100%)!important;
  }
  .scene-home .pulse-lockup svg{
    width:100%!important;
    height:30px!important;
    overflow:visible!important;
    filter:drop-shadow(0 0 7px rgba(7,174,205,.16))!important;
  }
  .scene-home .pulse-lockup span{display:none!important}
  .scene-home .pulse-lockup path{
    stroke:#09a9c8!important;
    stroke-width:1.8!important;
  }
  .scene-home .pulse-lockup .pulse-base{opacity:.13!important}
  .scene-home .pulse-lockup .pulse-trace{
    opacity:0;
    stroke-width:2.2!important;
    stroke-dasharray:88 542!important;
    stroke-dashoffset:630!important;
    animation:mobileHomePulseRun 3.15s cubic-bezier(.45,0,.25,1) infinite!important;
  }
}

@keyframes mobileHomePulseRun{
  0%{stroke-dashoffset:630;opacity:0}
  10%{opacity:0}
  18%{opacity:.95}
  72%{opacity:.95}
  86%{opacity:0}
  100%{stroke-dashoffset:0;opacity:0}
}

@media (max-width:390px){
  .scene-home .contact-cta{transform:translateY(15px)!important}
  .scene-home .pulse-lockup{width:68%!important;bottom:48.8%!important}
}

@media (prefers-reduced-motion:reduce) and (max-width:700px){
  .scene-home .pulse-lockup .pulse-trace{animation:none!important;opacity:.55!important;stroke-dashoffset:280!important}
}


/* =========================================================
   11.0.79 — MOBILE MASTER HEADER / MASTER NUMBER PILL
   Services hero is the mobile reference for every hero.
   Also: continuous ECG, services cards higher, no-scroll booking.
   ========================================================= */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .floating-ui{height:72px!important;padding:calc(10px + env(safe-area-inset-top)) 16px 6px!important;align-items:center!important}
  .floating-ui .brand img{width:42px!important;height:42px!important}
  .floating-ui .brand-copy{display:block!important}
  .floating-ui .brand-copy b{font-size:10px!important;letter-spacing:.06em!important}
  .floating-ui .top-actions{gap:7px!important}
  .floating-ui .booking-pill{display:flex!important;position:static!important;width:auto!important;min-width:0!important;height:38px!important;padding:4px 10px 4px 4px!important;gap:7px!important;border-radius:999px!important;justify-content:flex-start!important;overflow:visible!important;font-size:7px!important;letter-spacing:.08em!important;white-space:nowrap!important;box-shadow:none!important}
  .floating-ui .booking-pill .booking-icon{width:28px!important;height:28px!important;flex:0 0 28px!important;font-size:11px!important}
  .floating-ui .booking-pill > span:not(.booking-icon){display:inline!important}
  .floating-ui .menu-btn{width:40px!important;height:40px!important}

  .hero-scene > .section-pill,.scene-home > .section-pill{display:block!important;left:22px!important;top:calc(82px + env(safe-area-inset-top))!important;padding:6px 9px!important;border-radius:999px!important;border:1px solid rgba(141,224,238,.28)!important;background:rgba(3,28,41,.46)!important;color:#93e8f6!important;font-size:7.5px!important;line-height:1!important;letter-spacing:.24em!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;white-space:nowrap!important;z-index:7!important}

  .scene-home .home-content{top:calc(126px + env(safe-area-inset-top))!important}
  .scene-services .service-orbit{bottom:calc(104px + env(safe-area-inset-bottom))!important}

  .scene-home .pulse-lockup .pulse-trace{opacity:.92!important;stroke-dasharray:88 542!important;stroke-dashoffset:630!important;animation:mobileHomePulseLoop 2.35s linear infinite!important}

  .booking-modal{overflow:hidden!important}
  .booking-card-ref{height:100cqh!important;max-height:100cqh!important;overflow:hidden!important}
  .booking-ref-head{padding:calc(10px + env(safe-area-inset-top)) 62px 8px 14px!important}
  .booking-ref-head .mini-label{margin-bottom:3px!important;font-size:7px!important}
  .booking-ref-head h3{font-size:21px!important;line-height:1!important;margin:0 0 3px!important}
  .booking-ref-head p{font-size:8.5px!important;line-height:1.25!important}
  .booking-ref-body{overflow:hidden!important;padding:8px 10px calc(8px + env(safe-area-inset-bottom))!important}
  .booking-rebuilt{gap:5px!important}
  .booking-step{grid-template-columns:25px minmax(0,1fr)!important;gap:6px!important}
  .booking-step>span{width:24px!important;height:24px!important;margin-top:14px!important;font-size:9px!important;border-radius:8px!important}
  .booking-step>label,.booking-plain-field{gap:3px!important;font-size:9.5px!important}
  .booking-step select,.booking-plain-field input,.booking-select{height:38px!important;min-height:38px!important;border-radius:11px!important;font-size:14px!important;padding:0 11px!important}
  .booking-contact-head{padding-top:5px!important;margin:0!important;gap:0!important}
  .booking-contact-head b{font-size:11px!important}.booking-contact-head small{font-size:7.5px!important;line-height:1.2!important}
  .booking-status{min-height:10px!important;font-size:8.5px!important}
  .booking-submit-ref,.booking-new-ref{position:static!important;min-height:40px!important;height:40px!important;border-radius:12px!important;font-size:9px!important;box-shadow:none!important}
}

@keyframes mobileHomePulseLoop{from{stroke-dashoffset:630;opacity:.92}to{stroke-dashoffset:0;opacity:.92}}

@media (max-width:390px){
  .floating-ui .brand-copy b{font-size:9px!important}
  .floating-ui .booking-pill{font-size:6.4px!important;padding-right:8px!important;gap:5px!important}
  .hero-scene > .section-pill,.scene-home > .section-pill{left:18px!important}
  .scene-home .home-content{top:calc(122px + env(safe-area-inset-top))!important}
  .scene-services .service-orbit{bottom:calc(100px + env(safe-area-inset-bottom))!important}
  .booking-ref-head h3{font-size:19px!important}
  .booking-step select,.booking-plain-field input,.booking-select{height:35px!important;min-height:35px!important}
  .booking-step>span{margin-top:12px!important}
}


/* =========================================================
   11.0.80 — SERVICES CATALOG + PROFILE MOBILE APPROVED SYSTEM
   Exact service structure from the clinic board reference.
   Mobile header/section pill remain governed by Services master.
   ========================================================= */
.service-card-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;border:1px solid rgba(126,227,244,.22);background:rgba(7,167,199,.10);color:#8ce8f6;flex:0 0 auto}
.service-card-icon svg,.service-modal-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.service-card-title{min-width:0}
.service-modal-brandline{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.service-modal-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,rgba(19,191,220,.20),rgba(255,255,255,.04));border:1px solid rgba(128,232,247,.28);color:#8eeaf7;box-shadow:inset 0 0 24px rgba(11,178,208,.07)}
.service-modal-subtitle{margin:28px 0 12px;color:#83e5f4;font-size:10px;font-weight:900;letter-spacing:.20em;text-transform:uppercase}
.service-modal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.service-subitem{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) 20px;gap:9px;align-items:center;min-height:68px;padding:12px 14px;border:1px solid rgba(178,235,244,.15);border-radius:17px;background:rgba(255,255,255,.065);overflow:hidden;transition:transform .25s ease,border-color .25s ease,background .25s ease}
.service-subitem:before{content:"";position:absolute;inset:auto 12px 0 12px;height:1px;background:linear-gradient(90deg,transparent,#48d5ed,transparent);opacity:.35}
.service-subitem span{color:#79dced;font-size:10px;font-weight:900;letter-spacing:.12em}
.service-subitem b{color:#fff;font-size:13px;line-height:1.25}
.service-subitem i{font-style:normal;color:#7ee3f3;font-size:14px;text-align:right}
.service-subitem:hover{transform:translateY(-2px);border-color:rgba(126,227,244,.35);background:rgba(255,255,255,.085)}

/* Desktop service cards now use the four official categories and their symbols. */
@media (min-width:901px){
  .service-orbit .service-card{display:grid;grid-template-columns:52px 36px minmax(0,1fr) 28px;align-items:center;column-gap:10px}
  .service-orbit .service-card .service-card-icon{grid-column:1;grid-row:1}
  .service-orbit .service-card b{grid-column:2;grid-row:1}
  .service-orbit .service-card .service-card-title{grid-column:3;grid-row:1}
  .service-orbit .service-card i{grid-column:4;grid-row:1}
}

@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  /* SERVICES: keep the approved look, but lift and refine the official category cards. */
  .scene-services .service-orbit{bottom:calc(116px + env(safe-area-inset-bottom))!important;gap:6px!important;max-height:none!important;overflow:visible!important}
  .scene-services .service-orbit .service-card{height:58px!important;grid-template-columns:36px 25px minmax(0,1fr) 18px!important;gap:7px!important;padding:0 11px!important;border-radius:16px!important}
  .scene-services .service-card-icon{width:34px!important;height:34px!important;border-radius:11px!important}
  .scene-services .service-card-icon svg{width:22px!important;height:22px!important;stroke-width:2.2!important}
  .scene-services .service-card b{font-size:9px!important}
  .scene-services .service-card .service-card-title{font-size:9.6px!important;line-height:1.13!important;font-weight:800!important}
  .scene-services .service-card i{font-size:11px!important}

  /* Service modal: centered premium catalog panel with clear subcategories. */
  .service-modal{padding:14px!important;place-items:center!important}
  .service-modal-card{width:min(94cqw,620px)!important;max-height:86cqh!important;padding:26px 18px 20px!important;border-radius:26px!important;background:linear-gradient(160deg,rgba(6,49,67,.985),rgba(4,29,42,.99))!important;box-shadow:0 30px 100px rgba(0,0,0,.42)!important}
  .service-modal-brandline{margin:0 40px 8px 0!important;gap:9px!important}
  .service-modal-icon{width:40px!important;height:40px!important;border-radius:13px!important}
  .service-modal-icon svg{width:24px!important;height:24px!important}
  .service-modal-card h3{margin:8px 36px 9px 0!important;font-size:clamp(27px,8cqw,38px)!important;line-height:.97!important}
  .service-modal-card>p{font-size:11px!important;line-height:1.45!important;max-width:92%!important}
  .service-modal-subtitle{margin:18px 0 9px!important;font-size:8px!important}
  .service-modal-list{grid-template-columns:1fr!important;gap:6px!important}
  .service-subitem{min-height:49px!important;padding:9px 10px!important;grid-template-columns:28px minmax(0,1fr) 16px!important;gap:7px!important;border-radius:14px!important}
  .service-subitem span{font-size:8px!important}
  .service-subitem b{font-size:10.2px!important;line-height:1.18!important}
  .service-subitem i{font-size:11px!important}

  /* PROFILE: purpose-built mobile composition. The portrait remains untouched. */
  .scene-profile{background:#edf5f7!important;overflow:hidden!important}
  .scene-profile .profile-photo{left:0!important;right:0!important;top:0!important;bottom:auto!important;width:100%!important;height:49%!important;clip-path:polygon(0 0,100% 0,100% 86%,0 100%)!important;z-index:1!important;background:#dfecef!important}
  .scene-profile .profile-photo img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:58% 21%!important;transform:scale(1.03)!important;filter:none!important}
  .scene-profile .profile-photo:after{display:block!important;content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(90deg,rgba(237,245,247,.14) 0%,transparent 35%,transparent 100%)!important;pointer-events:none!important}
  .scene-profile .profile-panel{left:22px!important;right:22px!important;top:auto!important;bottom:calc(116px + env(safe-area-inset-bottom))!important;width:auto!important;z-index:6!important;transform:none!important}
  .scene-profile .profile-panel h2{margin:0!important;max-width:94%!important;font-size:clamp(38px,10.6cqw,48px)!important;line-height:.91!important;letter-spacing:-.052em!important;color:#0b3448!important;text-shadow:none!important}
  .scene-profile .profile-panel h2 i{color:#08a9cb!important;font-family:Georgia,serif!important;font-weight:400!important}
  .scene-profile .profile-panel p{margin:12px 0 13px!important;max-width:94%!important;font-size:10.5px!important;line-height:1.48!important;color:#6a8390!important;text-shadow:none!important}
  .scene-profile .profile-panel .text-link{position:relative!important;display:inline-flex!important;align-items:center!important;gap:10px!important;min-height:38px!important;padding:0 0 5px!important;font-size:10px!important;letter-spacing:.14em!important;color:#0b4057!important;border-bottom:2px solid #08a9cb!important}
  .scene-profile .profile-panel .text-link span{font-size:17px!important;color:#08a9cb!important}
  .scene-profile .profile-accent{display:none!important}
  .scene-profile.is-active .profile-photo,.scene-profile.is-active .profile-photo img,.scene-profile.is-active .profile-panel{animation:none!important}
  body:has(.scene-profile.is-active) .edge-nav{width:42px!important;height:42px!important;bottom:calc(22px + env(safe-area-inset-bottom))!important;font-size:30px!important}
  body:has(.scene-profile.is-active) .edge-prev{left:16px!important}
  body:has(.scene-profile.is-active) .edge-next{right:16px!important}
  body:has(.scene-profile.is-active) .hero-progress{bottom:calc(35px + env(safe-area-inset-bottom))!important;gap:8px!important;font-size:8px!important}
  body:has(.scene-profile.is-active) .dots{gap:8px!important}
  body:has(.scene-profile.is-active) .dots button{width:8px!important;height:8px!important}
}

@media (max-width:390px){
  .scene-services .service-orbit{bottom:calc(108px + env(safe-area-inset-bottom))!important}
  .scene-services .service-orbit .service-card{height:53px!important}
  .scene-services .service-card .service-card-title{font-size:9px!important}
  .scene-profile .profile-photo{height:47%!important}
  .scene-profile .profile-panel{bottom:calc(108px + env(safe-area-inset-bottom))!important}
  .scene-profile .profile-panel h2{font-size:36px!important}
  .scene-profile .profile-panel p{font-size:9.7px!important}
}


/* =========================================================
   11.0.81 — MOBILE SYSTEM CONSOLIDATION
   Services remains the mobile master for header + numbered pills.
   Home intentionally has no numbered pill.
   ========================================================= */

/* Exact service symbols from the clinic's own services board reference. */
.service-card-icon img,.service-modal-icon img{
  display:block;width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 0 8px rgba(105,224,242,.10));
}
.service-card-icon{padding:5px!important}
.service-modal-icon{padding:7px!important}

/* A single, consistent thin cyan scrollbar language everywhere. */
html,body,*{
  scrollbar-width:thin;
  scrollbar-color:#55cfe3 rgba(7,48,67,.07);
}
*::-webkit-scrollbar{width:5px;height:5px}
*::-webkit-scrollbar-track{background:rgba(7,48,67,.05);border-radius:999px}
*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#8be5f2,#32bdd5);border-radius:999px;border:1px solid transparent;background-clip:padding-box}
*::-webkit-scrollbar-thumb:hover{background:#22abc6;background-clip:padding-box}
/* Previously hidden scrollbars now follow the global thin style when content can scroll. */
.scene-space .space-gallery,.booking-ref-body,.scene-services .service-orbit{
  scrollbar-width:thin!important;
  scrollbar-color:#55cfe3 rgba(7,48,67,.06)!important;
}
.scene-space .space-gallery::-webkit-scrollbar,.booking-ref-body::-webkit-scrollbar,.scene-services .service-orbit::-webkit-scrollbar{display:block!important;width:5px!important;height:5px!important}

@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  /* Header master: identical to Services on every mobile hero, including Home. */
  .floating-ui{
    height:72px!important;
    padding:calc(10px + env(safe-area-inset-top)) 16px 6px!important;
    align-items:center!important;
  }
  .floating-ui .brand img{width:42px!important;height:42px!important}
  .floating-ui .brand-copy{display:block!important}
  .floating-ui .brand-copy b{font-size:10px!important;letter-spacing:.06em!important}
  .floating-ui .top-actions{gap:7px!important;align-items:center!important}
  .floating-ui .booking-pill,
  body:has(.scene-home.is-active) .booking-pill,
  body:has(.scene-services.is-active) .booking-pill{
    display:flex!important;
    position:static!important;
    width:auto!important;
    min-width:0!important;
    height:38px!important;
    padding:4px 10px 4px 4px!important;
    gap:7px!important;
    border-radius:999px!important;
    justify-content:flex-start!important;
    align-items:center!important;
    overflow:visible!important;
    font-size:7px!important;
    line-height:1!important;
    letter-spacing:.08em!important;
    white-space:nowrap!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .floating-ui .booking-pill .booking-icon,
  body:has(.scene-home.is-active) .booking-pill .booking-icon,
  body:has(.scene-services.is-active) .booking-pill .booking-icon{
    width:28px!important;height:28px!important;flex:0 0 28px!important;font-size:11px!important;
  }
  .floating-ui .booking-pill > span:not(.booking-icon),
  body:has(.scene-home.is-active) .booking-pill > span:not(.booking-icon){display:inline!important}
  .floating-ui .menu-btn{width:40px!important;height:40px!important}

  /* Home: no 01/ΑΡΧΙΚΗ pill; reclaim its vertical space. */
  .scene-home > .section-pill{display:none!important}
  .scene-home .home-content{top:calc(88px + env(safe-area-inset-top))!important}

  /* ECG: one highlighted segment travels around a 560-unit path forever.
     Because dash pattern + travel distance are both exactly 560, there is no pause/jump. */
  .scene-home .pulse-lockup{display:flex!important}
  .scene-home .pulse-lockup .pulse-base{opacity:.14!important}
  .scene-home .pulse-lockup .pulse-trace{
    opacity:.92!important;
    stroke-dasharray:118 442!important;
    stroke-dashoffset:0!important;
    stroke-linecap:round!important;
    animation:homeEcgContinuous 1.75s linear infinite!important;
    will-change:stroke-dashoffset!important;
  }

  /* Services: lower the four category cards slightly so they no longer stick to the heading. */
  .scene-services .service-orbit{
    bottom:calc(88px + env(safe-area-inset-bottom))!important;
  }

  /* Booking stays deliberately scroll-free on mobile, as requested. */
  .booking-modal{overflow:hidden!important}
  .booking-card-ref{height:100cqh!important;max-height:100cqh!important;overflow:hidden!important}
  .booking-ref-body{overflow:hidden!important}
}

@keyframes homeEcgContinuous{
  from{stroke-dashoffset:0}
  to{stroke-dashoffset:-560}
}

@media (max-width:390px){
  .scene-home .home-content{top:calc(84px + env(safe-area-inset-top))!important}
  .scene-services .service-orbit{bottom:calc(82px + env(safe-area-inset-bottom))!important}
}

/* =========================================================
   11.0.82 — DEEP MOBILE HERO REFINEMENT
   Mobile-only composition pass based on real-device screenshots.
   Goals: cleaner vertical rhythm, zero copy/gallery collisions,
   clearer contact hierarchy and consistent lower navigation.
   Desktop/tablet >700px is intentionally untouched.
   ========================================================= */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  /* Global mobile rhythm: preserve the approved Services header system. */
  .hero-scene{min-height:100cqh!important}
  .floating-ui{z-index:120!important}
  .edge-nav{
    width:46px!important;height:46px!important;
    bottom:calc(18px + env(safe-area-inset-bottom))!important;
    font-size:32px!important;
    background:rgba(255,255,255,.90)!important;
    border:1px solid rgba(255,255,255,.88)!important;
    box-shadow:0 10px 30px rgba(4,38,53,.12)!important;
  }
  .edge-prev{left:16px!important}.edge-next{right:16px!important}
  .hero-progress{
    bottom:calc(31px + env(safe-area-inset-bottom))!important;
    gap:8px!important;font-size:8px!important;letter-spacing:.14em!important;
  }
  .dots{gap:7px!important}
  .dots button{width:7px!important;height:7px!important}
  .dots button.active{box-shadow:0 0 0 4px rgba(6,169,204,.12)!important}

  /* 01 / HOME — keep the successful layout, refine breathing room only. */
  .scene-home .home-content{
    top:calc(90px + env(safe-area-inset-top))!important;
    left:22px!important;right:22px!important;
  }
  .scene-home .pill-row{margin-bottom:10px!important}
  .scene-home .home-content h1 strong{
    font-size:clamp(43px,12cqw,54px)!important;
    line-height:.94!important;
  }
  .scene-home .home-content h1 em{
    margin-top:5px!important;
    font-size:clamp(35px,10.1cqw,45px)!important;
    line-height:1!important;
  }
  .scene-home .home-content p{
    margin:12px 0 14px!important;
    max-width:96%!important;
    font-size:11px!important;line-height:1.45!important;
  }
  .scene-home .contact-cta{height:42px!important;width:184px!important}
  .scene-home .bg-home{height:51%!important;object-position:69% 50%!important}
  .scene-home::after{height:51%!important}
  body:has(.scene-home.is-active) .edge-nav{bottom:calc(42px + env(safe-area-inset-bottom))!important}
  body:has(.scene-home.is-active) .hero-progress{bottom:calc(56px + env(safe-area-inset-bottom))!important}

  /* 02 / SERVICES — stronger separation between copy and the four categories. */
  .scene-services .services-layout{
    padding:0 22px!important;
    top:0!important;inset:0!important;
  }
  .scene-services .services-copy{
    position:absolute!important;
    left:22px!important;right:22px!important;
    top:calc(150px + env(safe-area-inset-top))!important;
    max-width:none!important;
  }
  .scene-services .services-copy .mini-label{font-size:8px!important;letter-spacing:.25em!important}
  .scene-services .services-copy h2{
    margin:12px 0 10px!important;
    max-width:96%!important;
    font-size:clamp(39px,10.8cqw,48px)!important;
    line-height:.98!important;letter-spacing:-.045em!important;
  }
  .scene-services .services-copy p{
    margin:0!important;max-width:94%!important;
    font-size:10.5px!important;line-height:1.43!important;
  }
  .scene-services .service-orbit{
    left:22px!important;right:22px!important;
    bottom:calc(92px + env(safe-area-inset-bottom))!important;
    gap:6px!important;
  }
  .scene-services .service-orbit .service-card{
    height:52px!important;
    grid-template-columns:32px 24px minmax(0,1fr) 15px!important;
    gap:7px!important;padding:0 10px!important;
    border-radius:16px!important;
  }
  .scene-services .service-card-icon{width:30px!important;height:30px!important;border-radius:10px!important;padding:4px!important}
  .scene-services .service-card b{font-size:8px!important}
  .scene-services .service-card .service-card-title{font-size:9.2px!important;line-height:1.15!important}
  body:has(.scene-services.is-active) .edge-nav{bottom:calc(18px + env(safe-area-inset-bottom))!important}
  body:has(.scene-services.is-active) .hero-progress{bottom:calc(31px + env(safe-area-inset-bottom))!important}

  /* 03 / PROFILE — keep portrait dominant, reduce the lower block's visual weight. */
  .scene-profile .profile-photo{height:47%!important;clip-path:polygon(0 0,100% 0,100% 88%,0 100%)!important}
  .scene-profile .profile-photo img{object-position:58% 22%!important;transform:scale(1.02)!important}
  .scene-profile .profile-panel{
    left:22px!important;right:22px!important;
    bottom:calc(102px + env(safe-area-inset-bottom))!important;
  }
  .scene-profile .profile-panel h2{
    max-width:96%!important;
    font-size:clamp(36px,9.9cqw,44px)!important;
    line-height:.94!important;
  }
  .scene-profile .profile-panel p{
    margin:10px 0 10px!important;max-width:96%!important;
    font-size:10px!important;line-height:1.44!important;
  }
  .scene-profile .profile-panel .text-link{min-height:34px!important;font-size:9px!important}
  body:has(.scene-profile.is-active) .edge-nav{bottom:calc(18px + env(safe-area-inset-bottom))!important}
  body:has(.scene-profile.is-active) .hero-progress{bottom:calc(31px + env(safe-area-inset-bottom))!important}

  /* 04 / SPACE — fix the screenshot collision between paragraph and gallery. */
  .scene-space .space-copy{
    left:22px!important;right:22px!important;
    top:calc(142px + env(safe-area-inset-top))!important;
    width:auto!important;max-width:none!important;
  }
  .scene-space .space-copy .mini-label{margin-bottom:9px!important;font-size:8px!important}
  .scene-space .space-copy h2{
    margin:0 0 10px!important;max-width:96%!important;
    font-size:clamp(37px,10.2cqw,46px)!important;
    line-height:.96!important;letter-spacing:-.045em!important;
  }
  .scene-space .space-copy p{
    margin:0!important;max-width:96%!important;
    font-size:10.5px!important;line-height:1.45!important;
  }
  .scene-space .space-gallery{
    left:22px!important;right:22px!important;
    top:auto!important;
    bottom:calc(102px + env(safe-area-inset-bottom))!important;
    height:24%!important;
    gap:7px!important;
    overflow-x:auto!important;overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    padding-bottom:5px!important;
  }
  .scene-space .space-card{
    flex:0 0 31%!important;min-width:31%!important;
    border-radius:15px!important;scroll-snap-align:start!important;
  }
  .scene-space .space-card img{object-position:center center!important}
  body:has(.scene-space.is-active) .edge-nav{bottom:calc(18px + env(safe-area-inset-bottom))!important}
  body:has(.scene-space.is-active) .hero-progress{bottom:calc(31px + env(safe-area-inset-bottom))!important}

  /* 05 / CONTACT — make the form and photography two distinct vertical zones. */
  .scene-contact{background:#eef6f8!important}
  .scene-contact .contact-visual{
    left:18%!important;right:0!important;
    top:auto!important;bottom:0!important;
    width:auto!important;height:35%!important;
    clip-path:polygon(13% 0,100% 0,100% 100%,0 100%)!important;
    transform:none!important;filter:none!important;
  }
  .scene-contact .contact-visual img{object-position:center 58%!important;transform:none!important;filter:none!important}
  .scene-contact .contact-visual:before{display:none!important}
  .scene-contact .contact-visual:after{
    display:block!important;
    background:linear-gradient(180deg,#eef6f8 0%,rgba(238,246,248,.76) 11%,rgba(238,246,248,.18) 31%,transparent 52%)!important;
  }
  .scene-contact .contact-photo-line{display:none!important}
  .scene-contact .contact-panel{
    left:22px!important;right:22px!important;
    top:calc(142px + env(safe-area-inset-top))!important;
    width:auto!important;max-height:none!important;
  }
  .scene-contact .contact-copy{width:100%!important}
  .scene-contact .contact-copy .mini-label{font-size:8px!important;letter-spacing:.24em!important}
  .scene-contact .contact-panel h2{
    margin:9px 0 8px!important;max-width:92%!important;
    font-size:clamp(38px,10.3cqw,46px)!important;
    line-height:.95!important;letter-spacing:-.045em!important;
  }
  .scene-contact .contact-intro{display:none!important}
  .scene-contact .hero-contact-form{
    width:100%!important;max-width:100%!important;
    grid-template-columns:1fr 1fr!important;
    column-gap:12px!important;row-gap:7px!important;
  }
  .scene-contact .contact-field-message{grid-column:1 / -1!important}
  .scene-contact .contact-field label{font-size:7px!important;margin-bottom:2px!important}
  .scene-contact .contact-field input,.scene-contact .contact-field textarea{
    width:100%!important;background:rgba(255,255,255,.36)!important;
    border-radius:0!important;font-size:11px!important;
    padding:5px 2px 6px!important;
  }
  .scene-contact .contact-field textarea{min-height:40px!important;max-height:50px!important}
  .scene-contact .contact-form-actions{
    grid-column:1 / -1!important;
    margin-top:7px!important;display:flex!important;
    align-items:flex-start!important;gap:9px!important;
  }
  .scene-contact .contact-submit{height:37px!important;min-width:146px!important}
  .scene-contact .contact-form-status{margin:4px 0 0!important;max-width:145px!important;font-size:7px!important;line-height:1.25!important}
  body:has(.scene-contact.is-active) .edge-nav{bottom:calc(18px + env(safe-area-inset-bottom))!important}
  body:has(.scene-contact.is-active) .hero-progress{bottom:calc(31px + env(safe-area-inset-bottom))!important}

  /* 06 / MAP — fit copy, CTA, map and caption without crowding the bottom controls. */
  .scene-map .map-copy{
    left:22px!important;right:22px!important;
    top:calc(142px + env(safe-area-inset-top))!important;
    width:auto!important;
  }
  .scene-map .map-copy .mini-label{font-size:8px!important;letter-spacing:.24em!important}
  .scene-map .map-copy h2{
    margin:9px 0 10px!important;max-width:98%!important;
    font-size:clamp(39px,10.5cqw,48px)!important;
    line-height:.98!important;letter-spacing:-.04em!important;
  }
  .scene-map .map-copy p{
    margin:0 0 12px!important;max-width:96%!important;
    font-size:10.5px!important;line-height:1.45!important;
  }
  .scene-map .map-route-btn{height:42px!important;padding:0 14px!important;font-size:8px!important}
  .scene-map .map-stage-wrap{
    left:22px!important;right:22px!important;
    top:56%!important;bottom:calc(88px + env(safe-area-inset-bottom))!important;
    width:auto!important;
  }
  .scene-map .map-frame{inset:0 0 26px!important;border-radius:17px!important}
  .scene-map .map-caption{left:10px!important;right:10px!important;height:24px!important;font-size:7px!important;letter-spacing:.11em!important}
  body:has(.scene-map.is-active) .edge-nav{bottom:calc(18px + env(safe-area-inset-bottom))!important}
  body:has(.scene-map.is-active) .hero-progress{bottom:calc(31px + env(safe-area-inset-bottom))!important}
}

@media (max-width:390px){
  .scene-home .home-content{top:calc(86px + env(safe-area-inset-top))!important;left:18px!important;right:18px!important}
  .scene-services .services-copy,.scene-space .space-copy,.scene-contact .contact-panel,.scene-map .map-copy{left:18px!important;right:18px!important}
  .scene-services .service-orbit,.scene-space .space-gallery,.scene-map .map-stage-wrap{left:18px!important;right:18px!important}
  .scene-services .services-copy{top:calc(140px + env(safe-area-inset-top))!important}
  .scene-services .services-copy h2{font-size:38px!important}
  .scene-services .service-orbit{bottom:calc(88px + env(safe-area-inset-bottom))!important}
  .scene-profile .profile-panel{left:18px!important;right:18px!important;bottom:calc(96px + env(safe-area-inset-bottom))!important}
  .scene-space .space-copy{top:calc(136px + env(safe-area-inset-top))!important}
  .scene-space .space-copy h2{font-size:36px!important}
  .scene-space .space-gallery{height:23%!important;bottom:calc(98px + env(safe-area-inset-bottom))!important}
  .scene-contact .contact-panel{top:calc(136px + env(safe-area-inset-top))!important}
  .scene-contact .contact-panel h2{font-size:36px!important}
  .scene-contact .hero-contact-form{column-gap:9px!important;row-gap:5px!important}
  .scene-contact .contact-visual{height:33%!important}
  .scene-map .map-copy{top:calc(136px + env(safe-area-inset-top))!important}
  .scene-map .map-copy h2{font-size:37px!important}
  .scene-map .map-stage-wrap{top:57%!important;bottom:calc(84px + env(safe-area-inset-bottom))!important}
}

@media (max-width:700px) and (max-height:720px){
  .scene-services .services-copy{top:118px!important}
  .scene-services .services-copy h2{font-size:34px!important;margin:8px 0!important}
  .scene-services .services-copy p{font-size:9.5px!important}
  .scene-services .service-orbit{bottom:76px!important}
  .scene-services .service-orbit .service-card{height:46px!important}
  .scene-profile .profile-photo{height:43%!important}
  .scene-profile .profile-panel{bottom:86px!important}
  .scene-profile .profile-panel h2{font-size:33px!important}
  .scene-space .space-copy{top:118px!important}
  .scene-space .space-copy h2{font-size:33px!important}
  .scene-space .space-copy p{font-size:9.4px!important}
  .scene-space .space-gallery{height:22%!important;bottom:86px!important}
  .scene-contact .contact-panel{top:116px!important}
  .scene-contact .contact-panel h2{font-size:33px!important}
  .scene-contact .contact-field input,.scene-contact .contact-field textarea{font-size:10px!important;padding:3px 1px 4px!important}
  .scene-contact .contact-field textarea{min-height:32px!important;max-height:38px!important}
  .scene-contact .contact-submit{height:33px!important}
  .scene-contact .contact-visual{height:30%!important}
  .scene-map .map-copy{top:116px!important}
  .scene-map .map-copy h2{font-size:34px!important}
  .scene-map .map-copy p{font-size:9.4px!important;margin-bottom:8px!important}
  .scene-map .map-route-btn{height:36px!important}
  .scene-map .map-stage-wrap{top:58%!important;bottom:78px!important}
}

/* =========================================================
   11.0.83 — MOBILE FOCUSED HERO ADJUSTMENTS
   Requested real-device refinements only. Desktop unchanged.
   ========================================================= */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  /* HOME — move ECG/pulse a little lower and keep a visibly continuous animation. */
  .scene-home .pulse-lockup{
    bottom:47.2%!important;
  }
  .scene-home .pulse-lockup .pulse-trace{
    opacity:.96!important;
    stroke-dasharray:104 456!important;
    stroke-dashoffset:0!important;
    animation:homeEcgContinuous 1.55s linear infinite!important;
    will-change:stroke-dashoffset!important;
  }

  /* SERVICES — lift the cards into the free zone between heading and bottom controls. */
  .scene-services .service-orbit{
    bottom:calc(118px + env(safe-area-inset-bottom))!important;
  }

  /* PROFILE — raise the complete text block, including the full-profile button. */
  .scene-profile .profile-panel{
    bottom:calc(126px + env(safe-area-inset-bottom))!important;
  }

  /* SPACE — taller thumbnails, slightly higher, and isolate touch scrolling to gallery. */
  .scene-space .space-gallery{
    height:29%!important;
    bottom:calc(116px + env(safe-area-inset-bottom))!important;
    touch-action:pan-x!important;
    overscroll-behavior-x:contain!important;
    overscroll-behavior-y:none!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .scene-space .space-card{
    flex-basis:32%!important;
    min-width:32%!important;
  }

  /* MAP — place the map stage in the visual center of the lower hero area. */
  .scene-map .map-stage-wrap{
    left:50%!important;
    right:auto!important;
    width:calc(100% - 44px)!important;
    transform:translateX(-50%)!important;
    top:53.5%!important;
    bottom:calc(92px + env(safe-area-inset-bottom))!important;
  }
  .scene-map.is-active .map-stage-wrap{
    transform:translateX(-50%)!important;
  }
}

@media (max-width:390px){
  .scene-home .pulse-lockup{bottom:46.8%!important}
  .scene-services .service-orbit{bottom:calc(112px + env(safe-area-inset-bottom))!important}
  .scene-profile .profile-panel{bottom:calc(118px + env(safe-area-inset-bottom))!important}
  .scene-space .space-gallery{height:28%!important;bottom:calc(110px + env(safe-area-inset-bottom))!important}
  .scene-map .map-stage-wrap{width:calc(100% - 36px)!important;top:54%!important;bottom:calc(88px + env(safe-area-inset-bottom))!important}
}

@media (max-width:700px) and (max-height:720px){
  .scene-services .service-orbit{bottom:96px!important}
  .scene-profile .profile-panel{bottom:104px!important}
  .scene-space .space-gallery{height:27%!important;bottom:100px!important}
  .scene-map .map-stage-wrap{top:54.5%!important;bottom:84px!important}
}

/* =========================================================
   11.0.84 — ICON SCALE + CONTAINED SCROLLBARS
   Service symbols are smaller/centered; thin cyan scrollbars
   stay visually inside rounded scroll containers.
   ========================================================= */

/* Service category symbols: same optical size, always centered, never clipped. */
.service-card-icon{
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
.service-card-icon img,
.service-card-icon svg{
  width:22px!important;
  height:22px!important;
  max-width:58%!important;
  max-height:58%!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:auto!important;
  transform:none!important;
}

@media (min-width:901px){
  .service-orbit .service-card .service-card-icon{
    width:44px!important;
    height:44px!important;
    padding:0!important;
  }
  .service-orbit .service-card .service-card-icon img,
  .service-orbit .service-card .service-card-icon svg{
    width:24px!important;
    height:24px!important;
    max-width:55%!important;
    max-height:55%!important;
  }
}

@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-services .service-card-icon{
    width:34px!important;
    height:34px!important;
    padding:0!important;
  }
  .scene-services .service-card-icon img,
  .scene-services .service-card-icon svg{
    width:19px!important;
    height:19px!important;
    max-width:56%!important;
    max-height:56%!important;
  }
}

/* Keep vertical scrollbars inset from the rounded top/bottom corners. */
.service-modal-card,
.profile-modal-content,
.booking-ref-body{
  overflow-x:hidden!important;
  scrollbar-gutter:stable!important;
}
.service-modal-card::-webkit-scrollbar,
.profile-modal-content::-webkit-scrollbar,
.booking-ref-body::-webkit-scrollbar{
  width:5px!important;
}
.service-modal-card::-webkit-scrollbar-track,
.profile-modal-content::-webkit-scrollbar-track,
.booking-ref-body::-webkit-scrollbar-track{
  background:transparent!important;
  margin-block:16px!important;
}
.service-modal-card::-webkit-scrollbar-thumb,
.profile-modal-content::-webkit-scrollbar-thumb,
.booking-ref-body::-webkit-scrollbar-thumb{
  border:1px solid transparent!important;
  background-clip:padding-box!important;
  border-radius:999px!important;
}

/* Horizontal gallery scrollbar also stops before the left/right rounded edges. */
.scene-space .space-gallery::-webkit-scrollbar{
  height:4px!important;
}
.scene-space .space-gallery::-webkit-scrollbar-track{
  background:transparent!important;
  margin-inline:14px!important;
}
.scene-space .space-gallery::-webkit-scrollbar-thumb{
  border-radius:999px!important;
}

/* The service list should never show a stray bar when it does not actually scroll. */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-services .service-orbit{
    overflow:visible!important;
    scrollbar-width:none!important;
  }
  .scene-services .service-orbit::-webkit-scrollbar{
    display:none!important;
  }
}

/* =========================================================
   11.0.85 — DESKTOP CONTACT + MAP ALIGNMENT
   Keep the message underline safely inside the form column
   and shift the map panel left for cleaner header symmetry.
   ========================================================= */
@media (min-width:901px){
  .scene-contact .contact-field-message{
    width:92%!important;
    justify-self:start!important;
  }
  .scene-contact .contact-field-message textarea{
    width:100%!important;
  }

  .scene-map .map-stage-wrap{
    right:5.2%!important;
    width:52.1%!important;
  }
}


/* =========================================================
   11.0.86 — FINAL UI CONSISTENCY / ICONS / SCROLLBARS
   ========================================================= */
/* Service icons: smaller optical size, exact centering, never touching the tile edge. */
.service-card-icon,.service-modal-icon{display:grid!important;place-items:center!important;overflow:hidden!important}
.service-card-icon img,.service-modal-icon img{display:block!important;width:18px!important;height:18px!important;max-width:48%!important;max-height:48%!important;object-fit:contain!important;object-position:center!important;margin:auto!important}
@media (min-width:901px){
  .service-orbit .service-card .service-card-icon{width:40px!important;height:40px!important;padding:0!important;border-radius:13px!important}
  .service-modal-icon{width:42px!important;height:42px!important;padding:0!important;border-radius:14px!important}
  .service-modal-icon img{width:20px!important;height:20px!important;max-width:50%!important;max-height:50%!important}
}
@media (max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-services .service-card-icon{width:30px!important;height:30px!important;padding:0!important;border-radius:9px!important}
  .scene-services .service-card-icon img{width:16px!important;height:16px!important;max-width:52%!important;max-height:52%!important}
  .service-modal-icon{width:38px!important;height:38px!important;padding:0!important;border-radius:12px!important}
  .service-modal-icon img{width:18px!important;height:18px!important}
}

/* WebKit native scrollbar arrow-buttons were protruding beyond rounded panels. */
*::-webkit-scrollbar-button{display:none!important;width:0!important;height:0!important}
.service-modal-card::-webkit-scrollbar-button,
.profile-modal-content::-webkit-scrollbar-button,
.booking-ref-body::-webkit-scrollbar-button,
.booking-time-menu::-webkit-scrollbar-button{display:none!important;width:0!important;height:0!important}
.service-modal-card::-webkit-scrollbar-track,
.profile-modal-content::-webkit-scrollbar-track,
.booking-ref-body::-webkit-scrollbar-track,
.booking-time-menu::-webkit-scrollbar-track{margin-block:22px!important;background:transparent!important}
.service-modal-card::-webkit-scrollbar-thumb,
.profile-modal-content::-webkit-scrollbar-thumb,
.booking-ref-body::-webkit-scrollbar-thumb,
.booking-time-menu::-webkit-scrollbar-thumb{border-radius:999px!important;border:1px solid transparent!important;background-clip:padding-box!important}

/* Remove the footer copy that sat below the Home contact action. */
.scene-home .home-footer-note{display:none!important}

/* Mobile: the Online Ραντεβού action must be identical on every hero, including Home. */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  body:has(.scene-home.is-active) .floating-ui .booking-pill,
  body:has(.scene-services.is-active) .floating-ui .booking-pill,
  body:has(.scene-profile.is-active) .floating-ui .booking-pill,
  body:has(.scene-space.is-active) .floating-ui .booking-pill,
  body:has(.scene-contact.is-active) .floating-ui .booking-pill,
  body:has(.scene-map.is-active) .floating-ui .booking-pill{
    display:flex!important;position:static!important;width:auto!important;min-width:0!important;height:38px!important;
    padding:4px 10px 4px 4px!important;gap:7px!important;border-radius:999px!important;justify-content:flex-start!important;
    overflow:visible!important;font-size:7px!important;letter-spacing:.08em!important;white-space:nowrap!important;box-shadow:none!important;
  }
  body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-icon{width:28px!important;height:28px!important;flex:0 0 28px!important;font-size:11px!important}
  body:has(.hero-scene.is-active) .floating-ui .booking-pill > span:not(.booking-icon){display:inline!important}
}

/* =========================================================
   11.0.87 — DEEP DESKTOP ICON + SCROLLBAR FIX
   Native desktop scrollbars are hidden and replaced by a
   contained visual indicator so nothing can protrude past
   rounded modal corners. Service symbols use a smaller,
   uniform optical box on desktop and mobile.
   ========================================================= */

/* Final service-symbol sizing — intentionally more compact on desktop. */
.service-card-icon,
.service-modal-icon{
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  line-height:0!important;
}
.service-card-icon > img,
.service-modal-icon > img,
.service-card-icon > svg,
.service-modal-icon > svg{
  display:block!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  flex:none!important;
}
@media (min-width:901px){
  .scene-services .service-orbit .service-card .service-card-icon{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    padding:0!important;
    border-radius:11px!important;
  }
  .scene-services .service-orbit .service-card .service-card-icon > img,
  .scene-services .service-orbit .service-card .service-card-icon > svg{
    width:14px!important;
    height:14px!important;
    max-width:14px!important;
    max-height:14px!important;
  }
  .service-modal-icon{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    padding:0!important;
    border-radius:12px!important;
  }
  .service-modal-icon > img,
  .service-modal-icon > svg{
    width:16px!important;
    height:16px!important;
    max-width:16px!important;
    max-height:16px!important;
  }
}
@media (max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-services .service-card-icon{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    padding:0!important;
    border-radius:9px!important;
  }
  .scene-services .service-card-icon > img,
  .scene-services .service-card-icon > svg{
    width:14px!important;
    height:14px!important;
    max-width:14px!important;
    max-height:14px!important;
  }
  .service-modal-icon{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    min-height:36px!important;
    padding:0!important;
  }
  .service-modal-icon > img,
  .service-modal-icon > svg{
    width:16px!important;
    height:16px!important;
    max-width:16px!important;
    max-height:16px!important;
  }
}

/* Hide the platform-native bar completely on controlled scroll areas. */
.service-modal-card,
.profile-modal-content,
.booking-ref-body,
.booking-time-menu{
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
.service-modal-card::-webkit-scrollbar,
.profile-modal-content::-webkit-scrollbar,
.booking-ref-body::-webkit-scrollbar,
.booking-time-menu::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
}

/* Custom scrollbar lives in the viewport, fully inset from rounded corners. */
.ps-scrollbar-overlay{
  position:fixed;
  z-index:10000;
  width:4px;
  pointer-events:none;
  opacity:0;
  transition:opacity .16s ease;
}
.ps-scrollbar-overlay.is-visible{opacity:1}
.ps-scrollbar-overlay::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:999px;
  background:rgba(92,208,227,.10);
}
.ps-scrollbar-thumb{
  position:absolute;
  left:0;
  top:0;
  width:4px;
  min-height:24px;
  border-radius:999px;
  background:linear-gradient(180deg,#8be5f2,#32bdd5);
  box-shadow:0 0 0 1px rgba(255,255,255,.08);
  transform:translateY(0);
}


/* =========================================================
   11.0.88 — MOBILE NAV + SPACE GALLERY HARD FIX
   Optical-centred mobile chevrons, taller room thumbnails,
   and gallery gesture isolation so hero/page navigation never
   fires while the user is interacting with the gallery.
   ========================================================= */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  /* Use a CSS-drawn chevron instead of the font glyph. This removes
     the font baseline/side-bearing offset that made arrows look off-centre. */
  .edge-nav{
    display:grid!important;
    place-items:center!important;
    line-height:0!important;
    font-size:0!important;
    padding:0!important;
    text-indent:-9999px!important;
    overflow:hidden!important;
  }
  .edge-nav::before{
    content:""!important;
    display:block!important;
    width:11px!important;
    height:11px!important;
    border-right:3px solid currentColor!important;
    border-bottom:3px solid currentColor!important;
    box-sizing:border-box!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform-origin:center!important;
  }
  .edge-prev::before{transform:translate(-42%,-50%) rotate(135deg)!important}
  .edge-next::before{transform:translate(-58%,-50%) rotate(-45deg)!important}

  /* Space gallery: substantially taller cards and a slightly higher rail. */
  .scene-space .space-gallery{
    height:34%!important;
    bottom:calc(112px + env(safe-area-inset-bottom))!important;
    touch-action:pan-x!important;
    overscroll-behavior:contain!important;
    overscroll-behavior-x:contain!important;
    overscroll-behavior-y:contain!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    isolation:isolate!important;
  }
  .scene-space .space-card{
    height:100%!important;
    flex:0 0 34%!important;
    min-width:34%!important;
    scroll-snap-align:center!important;
  }
  .scene-space .space-card img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
}

@media (max-width:390px){
  .scene-space .space-gallery{
    height:33%!important;
    bottom:calc(108px + env(safe-area-inset-bottom))!important;
  }
  .scene-space .space-card{flex-basis:35%!important;min-width:35%!important}
}

@media (max-width:700px) and (max-height:720px){
  .scene-space .space-gallery{
    height:31%!important;
    bottom:96px!important;
  }
}

/* =========================================================
   11.0.89 — SERVICE ICON OPTICAL SIZE + ORPHAN SCROLLBAR FIX
   ========================================================= */
/* The previous deep-fix made the actual white glyphs too small.
   Keep the compact badge, but give every source image a consistent
   optical size while preserving aspect ratio and centering. */
@media (min-width:901px){
  .scene-services .service-orbit .service-card .service-card-icon{
    width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
    border-radius:12px!important;display:grid!important;place-items:center!important;
  }
  .scene-services .service-orbit .service-card .service-card-icon > img,
  .scene-services .service-orbit .service-card .service-card-icon > svg{
    width:24px!important;height:24px!important;max-width:24px!important;max-height:24px!important;
    object-fit:contain!important;object-position:center!important;
  }
  /* The very wide Special icon has extra transparent vertical padding,
     so it needs a little more box width to look optically equal. */
  .scene-services .service-orbit .service-card[data-service="special"] .service-card-icon > img{
    width:26px!important;height:26px!important;max-width:26px!important;max-height:26px!important;
  }
  .service-modal-icon{
    width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;
    border-radius:13px!important;display:grid!important;place-items:center!important;
  }
  .service-modal-icon > img,.service-modal-icon > svg{
    width:27px!important;height:27px!important;max-width:27px!important;max-height:27px!important;
  }
}
@media (max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-services .service-card-icon{
    width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;
    display:grid!important;place-items:center!important;
  }
  .scene-services .service-card-icon > img,.scene-services .service-card-icon > svg{
    width:20px!important;height:20px!important;max-width:20px!important;max-height:20px!important;
  }
  .scene-services .service-card[data-service="special"] .service-card-icon > img{
    width:22px!important;height:22px!important;max-width:22px!important;max-height:22px!important;
  }
}

/* Never allow an orphan custom scrollbar to exist when its owner is closed.
   The overlay itself is also clipped away until JS explicitly verifies that
   the owning scroller is open, onscreen and actually scrollable. */
.ps-scrollbar-overlay{display:none!important;}
.ps-scrollbar-overlay.is-visible{display:block!important;}

/* =========================================================
   11.0.90 — MOBILE REAL-DEVICE POLISH
   Service icon normalization, forced ECG motion, larger contact
   controls, map clearance, smaller/higher home CTA and higher menu.
   ========================================================= */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  /* SERVICES — normalize the real PNG artwork, not only the wrapper.
     The source files are trimmed into *-mobile90.webp so transparent
     padding can no longer make the glyph look tiny or off-centre. */
  .scene-services .service-orbit .service-card .service-card-icon{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    min-height:36px!important;
    padding:0!important;
    border-radius:10px!important;
    display:grid!important;
    place-items:center!important;
    overflow:hidden!important;
  }
  .scene-services .service-orbit .service-card .service-card-icon > img{
    width:26px!important;
    height:26px!important;
    max-width:26px!important;
    max-height:26px!important;
    object-fit:contain!important;
    object-position:50% 50%!important;
    display:block!important;
    margin:0!important;
    transform:none!important;
  }
  .scene-services .service-orbit .service-card[data-service="special"] .service-card-icon > img{
    width:27px!important;
    height:27px!important;
    max-width:27px!important;
    max-height:27px!important;
  }

  /* HOME — force a visible continuous ECG animation on real phones.
     This final rule intentionally overrides older reduced-motion and
     refinement blocks because the requested hero detail is animated. */
  .scene-home .pulse-lockup{
    display:flex!important;
    bottom:46.6%!important;
    opacity:1!important;
  }
  .scene-home .pulse-lockup .pulse-trace{
    opacity:1!important;
    stroke-dasharray:92 468!important;
    stroke-dashoffset:560!important;
    animation:mobilePulseForce90 1.85s linear infinite!important;
    -webkit-animation:mobilePulseForce90 1.85s linear infinite!important;
    will-change:stroke-dashoffset!important;
  }

  /* HOME CONTACT CTA — a little smaller and a little higher. */
  .scene-home .contact-cta{
    min-width:188px!important;
    width:auto!important;
    height:44px!important;
    padding:0 15px 0 18px!important;
    font-size:11px!important;
    transform:translateY(7px)!important;
  }

  /* CONTACT — make the input areas easier to read/tap on mobile. */
  .scene-contact .hero-contact-form{
    row-gap:9px!important;
  }
  .scene-contact .contact-field label{
    font-size:7.5px!important;
    margin-bottom:3px!important;
  }
  .scene-contact .contact-field input,
  .scene-contact .contact-field textarea{
    min-height:36px!important;
    font-size:12px!important;
    line-height:1.25!important;
    padding:7px 3px 8px!important;
  }
  .scene-contact .contact-field textarea{
    min-height:50px!important;
    max-height:62px!important;
  }

  /* MAP — lift the map away from the bottom arrows/progress. */
  .scene-map .map-stage-wrap{
    top:51.5%!important;
    bottom:calc(108px + env(safe-area-inset-bottom))!important;
  }

  /* MOBILE MENU — raise only the hamburger slightly. */
  .floating-ui .menu-btn{
    transform:translateY(-5px)!important;
  }
}

@media (max-width:390px){
  .scene-home .contact-cta{
    min-width:180px!important;
    height:42px!important;
    transform:translateY(5px)!important;
  }
  .scene-contact .contact-field input,
  .scene-contact .contact-field textarea{
    min-height:34px!important;
    font-size:11.5px!important;
    padding:6px 3px 7px!important;
  }
  .scene-contact .contact-field textarea{min-height:46px!important;max-height:56px!important}
  .scene-map .map-stage-wrap{top:52%!important;bottom:calc(104px + env(safe-area-inset-bottom))!important}
}

@keyframes mobilePulseForce90{
  0%{stroke-dashoffset:560;opacity:.2}
  8%{opacity:1}
  86%{opacity:1}
  100%{stroke-dashoffset:0;opacity:.2}
}
@-webkit-keyframes mobilePulseForce90{
  0%{stroke-dashoffset:560;opacity:.2}
  8%{opacity:1}
  86%{opacity:1}
  100%{stroke-dashoffset:0;opacity:.2}
}

/* 11.0.91 — Mobile profile: keep touch scrolling, hide every scrollbar indicator */
@media (max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .profile-modal-content{
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;
  }
  .profile-modal-content::-webkit-scrollbar{
    display:none!important;
    width:0!important;
    height:0!important;
  }
  .profile-modal .ps-scrollbar-overlay,
  .profile-modal-content + .ps-scrollbar-overlay{
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}


/* =========================================================
   11.0.92 — MOBILE HARD OVERRIDES
   Final real-device fixes for service icon optical scale,
   identical booking pill sizing and ECG motion fallback.
   ========================================================= */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  /* SERVICES: make the artwork itself visibly larger, not just the badge. */
  .scene-services .service-orbit .service-card .service-card-icon{
    width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;
    padding:0!important;border-radius:11px!important;display:grid!important;place-items:center!important;
    overflow:hidden!important;
  }
  .scene-services .service-orbit .service-card .service-card-icon > img{
    width:31px!important;height:31px!important;max-width:31px!important;max-height:31px!important;
    object-fit:contain!important;object-position:center!important;margin:0!important;padding:0!important;
    transform:none!important;filter:none!important;
  }
  .scene-services .service-orbit .service-card[data-service="special"] .service-card-icon > img{
    width:32px!important;height:32px!important;max-width:32px!important;max-height:32px!important;
  }

  /* Header booking action: one exact geometry on every hero. */
  body:has(.hero-scene.is-active) .floating-ui .booking-pill{
    width:188px!important;min-width:188px!important;max-width:188px!important;height:40px!important;
    padding:4px 9px 4px 4px!important;gap:7px!important;border-radius:999px!important;
    display:flex!important;align-items:center!important;justify-content:flex-start!important;
    font-size:7px!important;letter-spacing:.065em!important;line-height:1!important;box-shadow:none!important;
    transform:none!important;
  }
  body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-icon{
    width:30px!important;height:30px!important;min-width:30px!important;max-width:30px!important;
    flex:0 0 30px!important;font-size:11px!important;
  }
  body:has(.hero-scene.is-active) .floating-ui .booking-pill > span:nth-child(2){
    flex:1 1 auto!important;min-width:0!important;font-size:9px!important;letter-spacing:.055em!important;
    text-align:center!important;white-space:nowrap!important;
  }
  body:has(.hero-scene.is-active) .floating-ui .booking-pill > span:last-child{
    flex:0 0 auto!important;font-size:12px!important;line-height:1!important;
  }

  /* HOME pulse: CSS fallback stays active; JS also drives dash-offset on real phones. */
  .scene-home .pulse-lockup{display:flex!important;visibility:visible!important;opacity:1!important}
  .scene-home .pulse-lockup .pulse-trace{
    stroke-dasharray:78 482!important;stroke-dashoffset:560!important;opacity:1!important;
    animation:mobilePulseForce92 1.55s linear infinite!important;
    -webkit-animation:mobilePulseForce92 1.55s linear infinite!important;
  }
}
@media (max-width:390px){
  body:has(.hero-scene.is-active) .floating-ui .booking-pill{
    width:176px!important;min-width:176px!important;max-width:176px!important;height:38px!important;
  }
  body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-icon{
    width:28px!important;height:28px!important;min-width:28px!important;max-width:28px!important;flex-basis:28px!important;
  }
  body:has(.hero-scene.is-active) .floating-ui .booking-pill > span:nth-child(2){font-size:8.4px!important}
}
@keyframes mobilePulseForce92{
  0%{stroke-dashoffset:560;opacity:.22} 8%{opacity:1} 88%{opacity:1} 100%{stroke-dashoffset:0;opacity:.22}
}
@-webkit-keyframes mobilePulseForce92{
  0%{stroke-dashoffset:560;opacity:.22} 8%{opacity:1} 88%{opacity:1} 100%{stroke-dashoffset:0;opacity:.22}
}

/* =========================================================
   11.0.93 — MOBILE HEADER UNIFICATION
   One compact, aligned header geometry on every hero.
   ========================================================= */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  /* Keep the whole action group safely inside the right edge on every hero. */
  .floating-ui{
    padding-left:18px!important;
    padding-right:20px!important;
  }
  .floating-ui .top-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    margin:0!important;
    transform:none!important;
  }

  /* ONLINE ΡΑΝΤΕΒΟΥ: compact pill, same vertical geometry as hamburger. */
  .floating-ui .booking-pill,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill,
  body:has(.scene-home.is-active) .floating-ui .booking-pill,
  body:has(.scene-services.is-active) .floating-ui .booking-pill{
    position:static!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:126px!important;
    min-width:126px!important;
    max-width:126px!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    padding:0 12px!important;
    margin:0!important;
    gap:5px!important;
    border-radius:999px!important;
    font-size:8.2px!important;
    line-height:1!important;
    letter-spacing:.045em!important;
    white-space:nowrap!important;
    transform:none!important;
    box-shadow:none!important;
  }
  /* Remove the left booking icon completely on mobile. */
  .floating-ui .booking-pill .booking-icon,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-icon{
    display:none!important;
    width:0!important;
    height:0!important;
    min-width:0!important;
    flex:0 0 0!important;
    margin:0!important;
    padding:0!important;
  }
  .floating-ui .booking-pill > span:nth-child(2),
  body:has(.hero-scene.is-active) .floating-ui .booking-pill > span:nth-child(2){
    flex:0 1 auto!important;
    min-width:0!important;
    font-size:8.2px!important;
    line-height:1!important;
    letter-spacing:.045em!important;
    text-align:center!important;
  }
  .floating-ui .booking-pill > span:last-child,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill > span:last-child{
    flex:0 0 auto!important;
    font-size:11px!important;
    line-height:1!important;
  }

  /* Hamburger: same 40px height / fully-rounded language, same baseline. */
  .floating-ui .menu-btn,
  body:has(.hero-scene.is-active) .floating-ui .menu-btn{
    position:static!important;
    width:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    margin:0!important;
    border-radius:50%!important;
    transform:none!important;
    align-self:center!important;
  }
}

@media (max-width:390px){
  .floating-ui{padding-right:18px!important}
  .floating-ui .top-actions{gap:7px!important}
  .floating-ui .booking-pill,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill{
    width:118px!important;
    min-width:118px!important;
    max-width:118px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    padding:0 10px!important;
  }
  .floating-ui .booking-pill > span:nth-child(2),
  body:has(.hero-scene.is-active) .floating-ui .booking-pill > span:nth-child(2){font-size:7.7px!important}
  .floating-ui .menu-btn,
  body:has(.hero-scene.is-active) .floating-ui .menu-btn{
    width:38px!important;min-width:38px!important;max-width:38px!important;
    height:38px!important;min-height:38px!important;max-height:38px!important;
  }
}


/* =========================================================
   11.0.94 — MOBILE HEADER HARD FIX
   Applied directly to the real production stylesheet as well.
   ========================================================= */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .floating-ui{
    padding:12px 18px 0 16px!important;
    align-items:flex-start!important;
  }
  .floating-ui .brand img{
    width:46px!important;
    height:46px!important;
  }
  .floating-ui .top-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:7px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
  }
  .floating-ui .booking-pill{
    position:static!important;
    width:112px!important;
    min-width:112px!important;
    max-width:112px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    padding:0 10px 0 12px!important;
    margin:0!important;
    border-radius:999px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    white-space:nowrap!important;
    font-size:7.8px!important;
    line-height:1!important;
    letter-spacing:.035em!important;
    transform:none!important;
    box-shadow:none!important;
  }
  .floating-ui .booking-pill .booking-icon{display:none!important}
  .floating-ui .booking-pill .booking-label{
    display:block!important;
    flex:0 1 auto!important;
    font-size:7.8px!important;
    line-height:1!important;
    letter-spacing:.035em!important;
    text-align:center!important;
  }
  .floating-ui .booking-pill .booking-arrow{
    display:block!important;
    flex:0 0 auto!important;
    font-size:10px!important;
    line-height:1!important;
    margin-left:1px!important;
  }
  .floating-ui .menu-btn{
    position:static!important;
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    margin:0!important;
    padding:0!important;
    border-radius:999px!important;
    display:grid!important;
    place-content:center!important;
    gap:4px!important;
    transform:none!important;
  }
  .floating-ui .menu-btn span{
    width:17px!important;
    height:2px!important;
  }
}
@media (max-width:390px){
  .floating-ui{padding-right:16px!important;padding-left:14px!important}
  .floating-ui .top-actions{gap:6px!important}
  .floating-ui .booking-pill{
    width:104px!important;
    min-width:104px!important;
    max-width:104px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    padding:0 8px 0 10px!important;
  }
  .floating-ui .booking-pill .booking-label{font-size:7.2px!important}
  .floating-ui .booking-pill .booking-arrow{font-size:9px!important}
  .floating-ui .menu-btn{
    width:36px!important;min-width:36px!important;max-width:36px!important;
    height:36px!important;min-height:36px!important;max-height:36px!important;
  }
}

/* =========================================================
   11.0.95 — MOBILE HEADER POSITION LOCK
   Exact same booking + hamburger coordinates on every hero.
   ========================================================= */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .floating-ui{
    position:absolute!important;
    inset:0 0 auto 0!important;
    height:70px!important;
    padding:0!important;
    margin:0!important;
    transform:none!important;
    pointer-events:none!important;
  }
  .floating-ui .brand{
    position:absolute!important;
    left:16px!important;
    top:12px!important;
    margin:0!important;
    transform:none!important;
    pointer-events:auto!important;
  }
  .floating-ui .top-actions,
  body:has(.hero-scene.is-active) .floating-ui .top-actions,
  body:has(.scene-home.is-active) .floating-ui .top-actions,
  body:has(.scene-services.is-active) .floating-ui .top-actions,
  body:has(.scene-profile.is-active) .floating-ui .top-actions,
  body:has(.scene-space.is-active) .floating-ui .top-actions,
  body:has(.scene-contact.is-active) .floating-ui .top-actions,
  body:has(.scene-map.is-active) .floating-ui .top-actions{
    position:absolute!important;
    top:12px!important;
    right:18px!important;
    left:auto!important;
    bottom:auto!important;
    width:auto!important;
    height:38px!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:7px!important;
    padding:0!important;
    margin:0!important;
    transform:none!important;
    pointer-events:auto!important;
  }
  .floating-ui .booking-pill,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill,
  body:has(.scene-home.is-active) .floating-ui .booking-pill,
  body:has(.scene-services.is-active) .floating-ui .booking-pill,
  body:has(.scene-profile.is-active) .floating-ui .booking-pill,
  body:has(.scene-space.is-active) .floating-ui .booking-pill,
  body:has(.scene-contact.is-active) .floating-ui .booking-pill,
  body:has(.scene-map.is-active) .floating-ui .booking-pill{
    position:relative!important;
    inset:auto!important;
    width:112px!important;
    min-width:112px!important;
    max-width:112px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    margin:0!important;
    transform:none!important;
    align-self:center!important;
  }
  .floating-ui .menu-btn,
  body:has(.hero-scene.is-active) .floating-ui .menu-btn,
  body:has(.scene-home.is-active) .floating-ui .menu-btn,
  body:has(.scene-services.is-active) .floating-ui .menu-btn,
  body:has(.scene-profile.is-active) .floating-ui .menu-btn,
  body:has(.scene-space.is-active) .floating-ui .menu-btn,
  body:has(.scene-contact.is-active) .floating-ui .menu-btn,
  body:has(.scene-map.is-active) .floating-ui .menu-btn{
    position:relative!important;
    inset:auto!important;
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    margin:0!important;
    transform:none!important;
    align-self:center!important;
  }
}
@media (max-width:390px){
  .floating-ui .top-actions,
  body:has(.hero-scene.is-active) .floating-ui .top-actions,
  body:has(.scene-home.is-active) .floating-ui .top-actions,
  body:has(.scene-services.is-active) .floating-ui .top-actions,
  body:has(.scene-profile.is-active) .floating-ui .top-actions,
  body:has(.scene-space.is-active) .floating-ui .top-actions,
  body:has(.scene-contact.is-active) .floating-ui .top-actions,
  body:has(.scene-map.is-active) .floating-ui .top-actions{
    top:12px!important;
    right:16px!important;
    height:36px!important;
    gap:6px!important;
  }
}

/* 11.0.96 — Reviews hero: cinematic trust deck */
.scene-reviews{background:radial-gradient(circle at 72% 28%,rgba(23,190,214,.20),transparent 28%),linear-gradient(135deg,#061c29 0%,#0a3143 50%,#0c5363 100%);color:#fff}
.reviews-grid{position:absolute;inset:0;opacity:.13;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,transparent,#000 30%,#000)}
.reviews-aurora i{position:absolute;border-radius:50%;filter:blur(2px);opacity:.28;animation:reviewFloat 9s ease-in-out infinite alternate}.reviews-aurora i:nth-child(1){width:38cqw;height:38cqw;right:-8cqw;top:-12cqw;background:radial-gradient(circle,rgba(62,222,238,.58),transparent 67%)}.reviews-aurora i:nth-child(2){width:25cqw;height:25cqw;left:38%;bottom:-13cqw;background:radial-gradient(circle,rgba(76,174,215,.4),transparent 68%);animation-delay:-3s}.reviews-aurora i:nth-child(3){width:11cqw;height:11cqw;right:31%;top:17%;border:1px solid rgba(139,235,246,.34);background:transparent;animation-delay:-5s}
@keyframes reviewFloat{to{transform:translate3d(22px,-18px,0) scale(1.08)}}
.reviews-copy{position:absolute;left:7%;top:24%;width:36%;z-index:3}.reviews-copy .mini-label{display:block;color:#8fe9f5;font-size:10px;font-weight:800;letter-spacing:.28em;margin-bottom:17px}.reviews-copy h2{margin:0;font-size:clamp(48px,5.2cqw,82px);line-height:.92;letter-spacing:-.055em;font-weight:760}.reviews-copy h2 i{font-family:Georgia,serif;font-weight:400;color:#8ee9f5}.reviews-copy>p{max-width:520px;color:rgba(235,248,251,.72);font-size:13px;line-height:1.75;margin:23px 0 25px}.reviews-score{display:flex;align-items:center;gap:14px}.reviews-score>strong{font-size:40px;line-height:1;letter-spacing:-.06em}.reviews-score span{display:flex;flex-direction:column;gap:3px}.reviews-score b{color:#8fe9f5;letter-spacing:.12em;font-size:13px}.reviews-score small{font-size:8px;letter-spacing:.18em;color:rgba(255,255,255,.55)}
.reviews-deck{position:absolute;z-index:4;right:8%;top:22%;width:min(42cqw,610px);height:58%;perspective:1200px}.review-card{position:absolute;inset:0;border:1px solid rgba(174,236,244,.24);border-radius:32px;padding:42px;background:linear-gradient(145deg,rgba(255,255,255,.15),rgba(255,255,255,.055));box-shadow:0 30px 80px rgba(0,10,18,.34);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);display:flex;flex-direction:column;justify-content:space-between;opacity:0;transform:translate3d(38px,20px,-80px) rotateY(-7deg) scale(.94);transition:opacity .7s ease,transform .9s cubic-bezier(.2,.8,.2,1)}.review-card.is-active{opacity:1;transform:none}.review-card::before{content:'“';position:absolute;right:28px;top:5px;font-family:Georgia,serif;font-size:120px;line-height:1;color:rgba(142,233,245,.14)}.review-top{display:flex;justify-content:space-between;align-items:center}.review-stars{color:#8fe9f5;letter-spacing:.18em}.review-source{font-size:8px;letter-spacing:.2em;color:rgba(255,255,255,.5)}.review-card blockquote{margin:20px 0;font-family:Georgia,serif;font-size:clamp(20px,2.1cqw,31px);line-height:1.35;color:#f6fcfd}.review-card footer{display:flex;align-items:center;gap:13px}.review-avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#8fe9f5;color:#073242;font-weight:900;font-size:11px}.review-card footer div{display:flex;flex-direction:column;gap:4px}.review-card footer b{font-size:12px}.review-card footer small{font-size:8px;letter-spacing:.16em;color:rgba(255,255,255,.52)}
.reviews-orbit{position:absolute;right:4%;bottom:7%;width:122px;height:122px;border:1px solid rgba(143,233,245,.22);border-radius:50%;display:grid;place-items:center;animation:reviewSpin 18s linear infinite}.reviews-orbit::after{content:'✦';font-size:23px;color:#8fe9f5}.reviews-orbit span{position:absolute;font-size:7px;letter-spacing:.15em;color:rgba(255,255,255,.45);width:90px;text-align:center}@keyframes reviewSpin{to{transform:rotate(360deg)}}
.scene-reviews.is-active .reviews-copy>*{animation:reviewReveal .8s both}.scene-reviews.is-active .reviews-copy>*:nth-child(2){animation-delay:.08s}.scene-reviews.is-active .reviews-copy>*:nth-child(3){animation-delay:.16s}.scene-reviews.is-active .reviews-copy>*:nth-child(4){animation-delay:.24s}@keyframes reviewReveal{from{opacity:0;transform:translateY(25px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.scene-reviews>.section-pill{left:22px!important;top:calc(82px + env(safe-area-inset-top))!important}.reviews-copy{left:22px;right:22px;top:16%;width:auto}.reviews-copy .mini-label{font-size:7px;margin-bottom:8px}.reviews-copy h2{font-size:clamp(36px,10.8cqw,52px);line-height:.94}.reviews-copy>p{font-size:10.5px;line-height:1.5;margin:12px 0;max-width:92%}.reviews-score>strong{font-size:28px}.reviews-score b{font-size:10px}.reviews-score small{font-size:6px}.reviews-deck{left:22px;right:22px;top:auto;bottom:11%;width:auto;height:34%}.review-card{border-radius:22px;padding:20px}.review-card::before{font-size:76px;right:14px}.review-card blockquote{font-size:clamp(15px,4.5cqw,20px);margin:10px 0;line-height:1.3}.review-avatar{width:36px;height:36px}.review-card footer b{font-size:10px}.review-card footer small,.review-source{font-size:6px}.review-stars{font-size:10px}.reviews-orbit{display:none}body:has(.scene-reviews.is-active) .hero-progress{bottom:calc(31px + env(safe-area-inset-bottom))!important}}
@media(prefers-reduced-motion:reduce){.reviews-aurora i,.reviews-orbit,.scene-reviews.is-active .reviews-copy>*{animation:none!important}.review-card{transition:none!important}}

/* 11.0.98 — Keep review copy strictly inside review cards */
.review-card{overflow:hidden;min-width:0;min-height:0}
.review-card .review-top,.review-card footer{flex:0 0 auto;min-width:0}
.review-card blockquote{flex:1 1 auto;min-height:0;max-width:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;overflow-wrap:anywhere;word-break:normal;hyphens:auto;padding-right:8px;scrollbar-width:thin;scrollbar-color:rgba(143,233,245,.34) transparent}
.review-card blockquote::-webkit-scrollbar{width:4px}.review-card blockquote::-webkit-scrollbar-thumb{background:rgba(143,233,245,.34);border-radius:999px}.review-card blockquote::-webkit-scrollbar-track{background:transparent}
.review-card footer div{min-width:0}.review-card footer b,.review-card footer small{max-width:100%;overflow-wrap:anywhere}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.review-card{padding:18px 18px 16px}.review-card blockquote{font-size:clamp(13px,3.8cqw,18px);line-height:1.28;margin:8px 0;padding-right:5px}.review-card .review-top{gap:10px}.review-source{white-space:nowrap}.review-card footer{gap:10px}}

/* 11.0.99 — HERO 01 motion polish (layout/header positions unchanged) */
.scene-home::before{
  background:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.88) 41%,rgba(244,252,255,.60) 70%,rgba(238,250,253,.10) 100%)!important;
}
.scene-home.is-active .home-photo-live{animation:homeCinematicDrift 12s ease-out both!important;transform-origin:62% 48%!important}
.scene-home.is-active .pill-row span{opacity:0;animation:homePillReveal .62s cubic-bezier(.2,.75,.2,1) forwards}
.scene-home.is-active .pill-row span:nth-child(1){animation-delay:.12s}.scene-home.is-active .pill-row span:nth-child(2){animation-delay:.22s}.scene-home.is-active .pill-row span:nth-child(3){animation-delay:.32s}
.scene-home.is-active .home-content h1 strong{opacity:0;animation:homeTitleReveal .82s .24s cubic-bezier(.16,.8,.2,1) forwards}
.scene-home.is-active .home-content h1 em{opacity:0;animation:homeLifeReveal .9s .42s cubic-bezier(.16,.8,.2,1) forwards}
.scene-home.is-active .home-content>p{opacity:0;animation:homeCopyReveal .7s .58s ease forwards}
.scene-home.is-active .contact-cta{opacity:0;animation:homeCopyReveal .7s .7s ease forwards}
.contact-cta>span:last-child{transition:transform .2s ease}.contact-cta:hover>span:last-child{transform:translateX(4px)}
.scene-home.is-active .pulse-lockup{animation:homePulseReveal .8s .78s ease both}
@keyframes homeCinematicDrift{from{transform:scale(1)}to{transform:scale(1.025)}}
@keyframes homePillReveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes homeTitleReveal{from{opacity:0;transform:translateY(30px);filter:blur(7px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes homeLifeReveal{from{opacity:0;transform:translateY(24px);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes homeCopyReveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes homePulseReveal{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:none}}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.scene-home::before{background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.90) 45%,rgba(244,252,255,.67) 74%,rgba(238,250,253,.14) 100%)!important}.scene-home.is-active .home-photo-live{animation-duration:14s!important}}
@media(prefers-reduced-motion:reduce){.scene-home.is-active .home-photo-live,.scene-home.is-active .pill-row span,.scene-home.is-active .home-content h1 strong,.scene-home.is-active .home-content h1 em,.scene-home.is-active .home-content>p,.scene-home.is-active .contact-cta,.scene-home.is-active .pulse-lockup{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}}

/* =========================================================
   11.0.100 — GLOBAL BOOKING CTA GLASS + POSITION LOCK
   Same centered/aligned booking control on every hero.
   ========================================================= */
.floating-ui .top-actions,
body:has(.hero-scene.is-active) .floating-ui .top-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:18px!important;
}
.floating-ui .booking-pill,
body:has(.hero-scene.is-active) .floating-ui .booking-pill{
  position:relative!important;
  inset:auto!important;
  width:174px!important;
  min-width:174px!important;
  max-width:174px!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  margin:0!important;
  padding:0 8px 0 18px!important;
  border:1px solid rgba(6,169,204,.48)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.78)!important;
  color:#073043!important;
  box-shadow:0 8px 28px rgba(6,43,61,.10),inset 0 1px 0 rgba(255,255,255,.78)!important;
  -webkit-backdrop-filter:blur(16px) saturate(135%)!important;
  backdrop-filter:blur(16px) saturate(135%)!important;
  display:grid!important;
  grid-template-columns:1fr 32px!important;
  align-items:center!important;
  justify-items:center!important;
  gap:8px!important;
  overflow:hidden!important;
  transform:none!important;
  transition:background .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease!important;
}
.floating-ui .booking-pill .booking-label,
body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-label{
  display:block!important;
  width:100%!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.105em!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.floating-ui .booking-pill .booking-arrow,
body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-arrow{
  width:30px!important;
  height:30px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  background:#08a9cc!important;
  color:#fff!important;
  font-size:12px!important;
  line-height:1!important;
  transition:transform .25s ease,background .25s ease,color .25s ease!important;
}
.floating-ui .booking-pill:hover,
body:has(.hero-scene.is-active) .floating-ui .booking-pill:hover{
  background:rgba(7,75,96,.94)!important;
  border-color:#08a9cc!important;
  color:#fff!important;
  box-shadow:0 10px 34px rgba(6,43,61,.18)!important;
  transform:none!important;
}
.floating-ui .booking-pill:hover .booking-arrow,
body:has(.hero-scene.is-active) .floating-ui .booking-pill:hover .booking-arrow{
  background:#fff!important;
  color:#087f9c!important;
  transform:translate(2px,-2px)!important;
}

@media (min-width:701px){
  .floating-ui{
    padding:26px 38px!important;
  }
  .floating-ui .top-actions,
  body:has(.hero-scene.is-active) .floating-ui .top-actions{
    position:absolute!important;
    top:26px!important;
    right:38px!important;
    height:52px!important;
    margin:0!important;
    transform:none!important;
  }
  .floating-ui .booking-pill,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill,
  .floating-ui .menu-btn,
  body:has(.hero-scene.is-active) .floating-ui .menu-btn{
    align-self:center!important;
  }
}

@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .floating-ui .top-actions,
  body:has(.hero-scene.is-active) .floating-ui .top-actions{
    top:12px!important;
    right:18px!important;
    height:38px!important;
    gap:7px!important;
  }
  .floating-ui .booking-pill,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill{
    width:112px!important;
    min-width:112px!important;
    max-width:112px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    padding:0 5px 0 10px!important;
    grid-template-columns:1fr 24px!important;
    gap:4px!important;
  }
  .floating-ui .booking-pill .booking-label,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-label{
    font-size:7.2px!important;
    letter-spacing:.055em!important;
  }
  .floating-ui .booking-pill .booking-arrow,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-arrow{
    width:23px!important;
    height:23px!important;
    font-size:9px!important;
  }
}
@media (max-width:390px){
  .floating-ui .top-actions,
  body:has(.hero-scene.is-active) .floating-ui .top-actions{
    right:16px!important;
    height:36px!important;
    gap:6px!important;
  }
  .floating-ui .booking-pill,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill{
    width:104px!important;
    min-width:104px!important;
    max-width:104px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    grid-template-columns:1fr 22px!important;
  }
  .floating-ui .booking-pill .booking-label,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-label{font-size:6.7px!important}
  .floating-ui .booking-pill .booking-arrow,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-arrow{width:21px!important;height:21px!important;font-size:8px!important}
}

/* 11.0.101 — all hero polish pass */
/* Hero 2: keep service artwork fully inside its icon frame + premium hover */
.scene-services .service-card-icon{overflow:visible!important;display:grid!important;place-items:center!important;padding:7px!important;box-sizing:border-box!important}
.scene-services .service-card-icon>img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important;clip-path:none!important}
.scene-services .service-card{transition:transform .38s var(--ease),border-color .38s ease,background .38s ease,box-shadow .38s ease!important}
.scene-services .service-card:hover{transform:translateY(-6px)!important;box-shadow:0 24px 60px rgba(0,20,30,.24)!important;border-color:rgba(126,227,244,.48)!important}
.scene-services .service-card:hover .service-card-icon{box-shadow:0 0 24px rgba(126,227,244,.22)}
.scene-services .service-card:hover>i{transform:translate(4px,-4px)}
.scene-services .service-card>i{transition:transform .3s ease}

/* Hero 3: refined staged copy + slow portrait drift */
.scene-profile.is-active .profile-photo img{animation:profileImageSettle 1.35s cubic-bezier(.16,1,.3,1) .08s both,hero101PortraitDrift 14s ease-in-out 1.5s infinite alternate!important}
.scene-profile .text-link .cta-label{position:relative}.scene-profile .text-link .cta-label:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:#08a9ca;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}.scene-profile .text-link:hover .cta-label:after{transform:scaleX(1)}
@keyframes hero101PortraitDrift{to{transform:scale(1.025) translate3d(-.35%,0,0)}}

/* Hero 4: individual cinematic strip movement + smoother controls */
.scene-space.is-active .space-card:nth-child(1) img{animation:hero101StripA 13s ease-in-out 1.1s infinite alternate}.scene-space.is-active .space-card:nth-child(2) img{animation:hero101StripB 15s ease-in-out 1.2s infinite alternate}.scene-space.is-active .space-card:nth-child(3) img{animation:hero101StripA 14s ease-in-out 1.3s infinite alternate-reverse}.scene-space.is-active .space-card:nth-child(4) img{animation:hero101StripB 16s ease-in-out 1.4s infinite alternate-reverse}
@keyframes hero101StripA{to{transform:scale(1.035) translateY(-.5%)}}@keyframes hero101StripB{to{transform:scale(1.03) translateY(.45%)}}
.space-gallery-controls button{transition:transform .28s ease,background .28s ease,border-color .28s ease}.space-gallery-controls button:hover{transform:scale(1.08);border-color:rgba(139,234,247,.65);background:rgba(139,234,247,.14)}

/* Hero 5: clearer form and animated focus rules */
.scene-contact .contact-field{position:relative}.scene-contact .contact-field:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#08a9ca;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.scene-contact .contact-field:focus-within:after{transform:scaleX(1)}
.scene-contact input::placeholder,.scene-contact textarea::placeholder{color:rgba(38,78,96,.48)!important;opacity:1!important}.scene-contact .contact-field:focus-within label{color:#078eae!important}

/* Hero 7: move deck left clear of orbit artwork + explicit reading controls */
.reviews-deck{right:auto!important;left:50%!important;width:min(41cqw,600px)!important}
.reviews-controls{position:absolute;z-index:8;left:50%;top:82%;width:min(41cqw,600px);display:flex;align-items:center;gap:10px;pointer-events:auto}
.reviews-control{appearance:none;border:1px solid rgba(160,232,243,.34);background:rgba(255,255,255,.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#eafcff;border-radius:999px;min-height:42px;padding:0 18px;font:700 10px/1 Arial,sans-serif;letter-spacing:.14em;cursor:pointer;transition:transform .25s ease,background .25s ease,border-color .25s ease}.reviews-control:hover{transform:translateY(-2px);background:rgba(143,233,245,.15);border-color:rgba(143,233,245,.65)}.reviews-control.pause{width:42px;padding:0;display:grid;place-items:center;font-size:14px;letter-spacing:0}.reviews-control.is-paused{background:rgba(143,233,245,.18)}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.scene-services .service-card-icon{padding:5px!important}.reviews-deck{left:22px!important;right:22px!important;width:auto!important}.reviews-controls{left:22px;right:22px;top:auto;bottom:6.2%;width:auto;justify-content:flex-end}.reviews-control{min-height:36px;padding:0 14px;font-size:8px}.reviews-control.pause{width:36px;padding:0}}
@media(prefers-reduced-motion:reduce){.scene-profile.is-active .profile-photo img,.scene-space.is-active .space-card img{animation:none!important}.scene-services .service-card:hover{transform:none!important}}

/* 11.0.103 — Reviews alignment, Greek diacritics spacing, submission flow */
@media(min-width:901px){.reviews-copy h2{line-height:1.06!important}.reviews-deck{left:47%!important;width:min(41cqw,600px)!important}.reviews-controls{left:47%!important}.review-card blockquote{line-height:1.48!important;padding:4px 12px 8px 0}}
.review-submit-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:22px;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}.review-submit-modal.is-open{opacity:1;visibility:visible}.review-submit-backdrop{position:absolute;inset:0;background:rgba(1,20,30,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.review-submit-panel{position:relative;width:min(560px,100%);max-height:min(760px,calc(100cqh - 44px));overflow:auto;border:1px solid rgba(143,233,245,.32);border-radius:28px;padding:34px;background:linear-gradient(145deg,rgba(17,67,82,.98),rgba(5,43,57,.98));box-shadow:0 30px 100px rgba(0,0,0,.45);color:#f6fcfd}.review-submit-panel .mini-label{color:#8fe9f5;font:800 9px/1 Arial,sans-serif;letter-spacing:.24em}.review-submit-panel h2{margin:12px 42px 8px 0;font-size:clamp(30px,4cqw,46px);line-height:1.08;letter-spacing:-.035em}.review-submit-panel>p{margin:0 0 22px;color:rgba(235,248,251,.72);font-size:13px}.review-submit-close{position:absolute;right:20px;top:18px;width:38px;height:38px;border:1px solid rgba(143,233,245,.35);border-radius:50%;background:rgba(255,255,255,.07);color:#eafcff;font-size:24px;cursor:pointer}.review-submit-panel form{display:grid;gap:14px}.review-submit-panel form>label,.review-submit-panel fieldset{display:grid;gap:7px;margin:0;padding:0;border:0;font:700 10px/1.2 Arial,sans-serif;letter-spacing:.12em;color:#bdebf2}.review-submit-panel label small{font-weight:400;letter-spacing:.04em;color:rgba(255,255,255,.55)}.review-submit-panel input,.review-submit-panel textarea{box-sizing:border-box;width:100%;border:1px solid rgba(143,233,245,.25);border-radius:13px;background:rgba(255,255,255,.07);color:#fff;padding:12px 14px;font:500 14px/1.45 Arial,sans-serif;outline:none}.review-submit-panel textarea{resize:vertical;min-height:118px}.review-submit-panel input:focus,.review-submit-panel textarea:focus{border-color:#8fe9f5;box-shadow:0 0 0 3px rgba(143,233,245,.08)}.review-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}.review-rating{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:5px}.review-rating input{position:absolute;opacity:0;pointer-events:none}.review-rating label{font-size:26px;line-height:1;color:rgba(255,255,255,.24);cursor:pointer}.review-rating label:hover,.review-rating label:hover~label,.review-rating input:checked~label{color:#8fe9f5}.review-submit-send{min-height:46px;border:1px solid rgba(143,233,245,.45);border-radius:999px;background:#8fe9f5;color:#073242;padding:0 20px;font:800 10px/1 Arial,sans-serif;letter-spacing:.14em;cursor:pointer}.review-submit-send:disabled{opacity:.55;cursor:wait}.review-submit-status{min-height:18px;font:600 11px/1.45 Arial,sans-serif;color:#8fe9f5}.review-submit-status.is-error{color:#ffb7b7}@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.reviews-copy h2{line-height:1.04!important}.review-card blockquote{line-height:1.42!important}.review-submit-panel{padding:28px 20px 22px;border-radius:22px}.review-submit-panel h2{font-size:30px}.review-submit-modal{padding:14px}}

/* 11.0.108 — Review submission modal: everything visible, no internal scrollbars */
.review-submit-modal{
  padding:14px!important;
  overflow:hidden!important;
}
.review-submit-panel{
  width:min(620px,calc(100cqw - 28px))!important;
  max-width:620px!important;
  max-height:calc(100cqh - 28px)!important;
  overflow:hidden!important;
  scrollbar-width:none!important;
  padding:clamp(18px,2.6cqh,28px) clamp(20px,2.4cqw,30px)!important;
  border-radius:26px!important;
}
.review-submit-panel::-webkit-scrollbar{display:none!important}
.review-submit-panel .mini-label{font-size:8px!important}
.review-submit-panel h2{
  margin:8px 42px 5px 0!important;
  font-size:clamp(28px,4.2cqh,42px)!important;
  line-height:1.02!important;
}
.review-submit-panel>p{
  margin:0 0 clamp(10px,1.7cqh,16px)!important;
  font-size:12px!important;
  line-height:1.35!important;
}
.review-submit-close{
  right:16px!important;
  top:14px!important;
  width:34px!important;
  height:34px!important;
  font-size:21px!important;
}
.review-submit-panel form{
  display:grid!important;
  gap:clamp(7px,1.25cqh,11px)!important;
  min-width:0!important;
}
.review-submit-panel form>label,
.review-submit-panel fieldset{
  gap:5px!important;
  min-width:0!important;
  font-size:9px!important;
}
.review-submit-panel input,
.review-submit-panel textarea{
  min-width:0!important;
  max-width:100%!important;
  padding:10px 13px!important;
  font-size:13px!important;
  line-height:1.35!important;
  border-radius:12px!important;
}
.review-submit-panel input:not([type="radio"]):not([type="hidden"]){height:44px!important}
.review-submit-panel textarea{
  resize:none!important;
  min-height:clamp(88px,14cqh,112px)!important;
  height:clamp(88px,14cqh,112px)!important;
  max-height:112px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-width:none!important;
}
.review-submit-panel textarea::-webkit-scrollbar{display:none!important}
.review-rating{gap:4px!important}
.review-rating label{font-size:24px!important}
.review-submit-send{
  min-height:44px!important;
  height:44px!important;
  margin-top:2px!important;
}
.review-submit-status{
  min-height:12px!important;
  font-size:10px!important;
  line-height:1.25!important;
}
@media(max-height:720px){
  .review-submit-modal{padding:8px!important}
  .review-submit-panel{max-height:calc(100cqh - 16px)!important;padding:14px 18px!important}
  .review-submit-panel h2{font-size:26px!important;margin-top:4px!important}
  .review-submit-panel>p{margin-bottom:7px!important;font-size:11px!important}
  .review-submit-panel form{gap:6px!important}
  .review-submit-panel input:not([type="radio"]):not([type="hidden"]){height:38px!important}
  .review-submit-panel textarea{min-height:72px!important;height:72px!important;max-height:72px!important}
  .review-rating label{font-size:21px!important}
  .review-submit-send{min-height:39px!important;height:39px!important}
  .review-submit-status{min-height:8px!important}
}
@media(max-width:620px){
  .review-submit-modal{padding:8px!important}
  .review-submit-panel{width:calc(100cqw - 16px)!important;max-height:calc(100cqh - 16px)!important;padding:18px 16px!important;border-radius:20px!important}
  .review-submit-panel h2{font-size:28px!important;margin-right:36px!important}
  .review-submit-close{right:10px!important;top:10px!important}
}

/* 11.0.109 — Review text box: easy touch/mouse scrolling */
.review-submit-panel textarea{
  overflow-y:scroll!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(143,233,245,.78) rgba(255,255,255,.06)!important;
  cursor:text!important;
}
.review-submit-panel textarea::-webkit-scrollbar{display:block!important;width:7px!important}
.review-submit-panel textarea::-webkit-scrollbar-track{background:rgba(255,255,255,.06)!important;border-radius:999px!important}
.review-submit-panel textarea::-webkit-scrollbar-thumb{background:rgba(143,233,245,.78)!important;border-radius:999px!important}

/* =========================================================
   11.0.110 — RESPONSIVE REBUILD FROM DESKTOP MASTER
   Mobile + tablet portrait/landscape. Desktop >=1181px untouched.
   Hero arrows are viewport-anchored and identical on every hero.
   ========================================================= */
@media (max-width:1180px){
  html,body{width:100%;min-width:0;overflow:hidden!important}
  .app-shell,.hero-stage,.hero-scene{width:100%;height:100cqh;min-height:100cqh;overflow:hidden!important}
  .hero-scene{box-sizing:border-box}
  .floating-ui{z-index:110!important;box-sizing:border-box;width:100%!important}

  /* One navigation geometry for every hero: never hero-specific. */
  .edge-nav{
    position:fixed!important;top:auto!important;transform:none!important;
    z-index:95!important;width:48px!important;height:48px!important;
    bottom:calc(20px + env(safe-area-inset-bottom))!important;
    border-radius:50%!important;font-size:0!important;line-height:1!important;
    display:grid!important;place-items:center!important;
    background:rgba(244,249,250,.88)!important;
    border:1px solid rgba(255,255,255,.92)!important;
    box-shadow:0 10px 32px rgba(4,31,43,.15)!important;
    backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;
  }
  .edge-nav:hover{transform:none!important}
  .edge-prev{left:18px!important}.edge-next{right:18px!important}
  .edge-nav::before{content:""!important;position:absolute!important;left:50%!important;top:50%!important;width:11px!important;height:11px!important;border-top:3px solid #0b4057!important;border-right:3px solid #0b4057!important;border-radius:1px!important}
  .edge-prev::before{transform:translate(-38%,-50%) rotate(-135deg)!important}
  .edge-next::before{transform:translate(-62%,-50%) rotate(45deg)!important}
  body:has(.hero-scene.is-active) .edge-prev{left:18px!important}
  body:has(.hero-scene.is-active) .edge-next{right:18px!important}
  body:has(.hero-scene.is-active) .edge-nav{bottom:calc(20px + env(safe-area-inset-bottom))!important}
  .hero-progress{position:fixed!important;z-index:94!important;left:50%!important;bottom:calc(34px + env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;white-space:nowrap!important}
  body:has(.hero-scene.is-active) .hero-progress{bottom:calc(34px + env(safe-area-inset-bottom))!important}

  .scene-kicker{z-index:12!important}
  .services-copy,.profile-panel,.space-copy,.contact-panel,.map-copy,.reviews-copy,.reviews-deck{box-sizing:border-box;min-width:0!important}
  .service-card,.space-card,.review-card,input,textarea,button{box-sizing:border-box}
  .service-card-title,.contact-panel,.map-copy,.reviews-copy,.reviews-deck{overflow-wrap:anywhere}
}

/* Tablet portrait uses the same mobile layouts through the portrait compatibility queries below. */
/* ---------- TABLET LANDSCAPE ---------- */
@media (min-width:701px) and (max-width:1180px) and (orientation:landscape){
  .floating-ui{height:74px!important;padding:12px 24px 8px!important}
  .floating-ui .brand img{width:48px!important;height:48px!important}
  .floating-ui .brand-copy{display:flex!important}.floating-ui .brand-copy b{font-size:14px!important}
  .floating-ui .booking-pill{height:42px!important}.floating-ui .menu-btn{width:44px!important;height:44px!important}
  .scene-kicker{top:88px!important;left:7%!important}
  .edge-nav{bottom:16px!important;width:46px!important;height:46px!important}
  body:has(.hero-scene.is-active) .edge-nav{bottom:16px!important}
  .hero-progress,body:has(.hero-scene.is-active) .hero-progress{bottom:29px!important}

  .scene-home .home-content{left:7%!important;top:18%!important;width:48%!important}
  .scene-home .home-content h1 strong{font-size:clamp(48px,6cqw,70px)!important}.scene-home .home-content h1 em{font-size:clamp(40px,5cqw,60px)!important}
  .scene-home .home-content p{font-size:13px!important;max-width:90%!important}.scene-home .pulse-lockup{right:5%!important;bottom:72px!important;width:35%!important}

  .scene-services .services-layout{display:grid!important;grid-template-columns:43% 57%!important;padding:15% 7% 11%!important;align-items:center!important}
  .scene-services .services-copy{max-width:100%!important}.scene-services .services-copy h2{font-size:clamp(42px,5.2cqw,62px)!important}.scene-services .services-copy p{font-size:12px!important;max-width:92%!important}
  .scene-services .service-orbit{position:static!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;padding:0!important;align-self:center!important}
  .scene-services .service-card{min-height:98px!important;padding:15px!important;grid-template-columns:44px 26px 1fr 16px!important;gap:9px!important}.scene-services .service-card-icon{width:42px!important;height:42px!important}.scene-services .service-card-title{font-size:12px!important}

  .scene-profile .profile-photo{left:49%!important;width:51%!important;height:100%!important;top:0!important}.scene-profile .profile-panel{left:7%!important;top:22%!important;width:43%!important;bottom:auto!important}.scene-profile .profile-panel h2{font-size:clamp(43px,5.2cqw,62px)!important}.scene-profile .profile-panel p{font-size:12px!important}

  .scene-space .space-copy{left:7%!important;top:18%!important;width:42%!important}.scene-space .space-copy h2{font-size:clamp(42px,5cqw,60px)!important}.scene-space .space-copy p{font-size:12px!important}
  .scene-space .space-gallery{left:49%!important;right:6%!important;top:20%!important;bottom:92px!important;height:auto!important;display:grid!important;grid-template-columns:1.2fr 1fr!important;grid-template-rows:1fr 1fr!important;gap:10px!important;overflow:hidden!important}.scene-space .space-card{min-height:0!important}.scene-space .space-card:nth-child(4){display:none!important}

  .scene-contact .contact-visual{left:52%!important;width:48%!important;height:100%!important}.scene-contact .contact-panel{left:6%!important;top:15%!important;width:45%!important;max-height:72%!important;overflow-y:auto!important;overflow-x:hidden!important}.scene-contact .contact-panel h2{font-size:clamp(38px,4.7cqw,56px)!important}.scene-contact .contact-intro{font-size:11px!important}.scene-contact .hero-contact-form{gap:7px!important}.scene-contact .contact-field input,.scene-contact .contact-field textarea{min-height:40px!important;padding:8px 11px!important}

  .scene-map .map-copy{left:7%!important;top:17%!important;width:40%!important}.scene-map .map-copy h2{font-size:clamp(40px,4.8cqw,58px)!important}.scene-map .map-stage-wrap{left:48%!important;right:6%!important;top:18%!important;bottom:88px!important;width:auto!important}

  .scene-reviews .reviews-copy{left:7%!important;top:19%!important;width:42%!important}.scene-reviews .reviews-copy h2{font-size:clamp(42px,5cqw,60px)!important}.scene-reviews .reviews-copy p{font-size:12px!important}
  .scene-reviews .reviews-deck{left:50%!important;right:6%!important;top:20%!important;bottom:132px!important;width:auto!important;height:auto!important}.scene-reviews .review-card{padding:25px!important}.scene-reviews .reviews-controls{left:50%!important;bottom:80px!important}
}

/* ---------- MOBILE PORTRAIT ---------- */
@media (max-width:700px) and (orientation:portrait){
  .floating-ui{height:70px!important;padding:calc(9px + env(safe-area-inset-top)) 14px 6px!important}
  .floating-ui .brand img{width:40px!important;height:40px!important}
  .floating-ui .brand-copy{display:block!important}.floating-ui .brand-copy b{font-size:9px!important}.floating-ui .brand-copy small{display:none!important}
  .floating-ui .top-actions{gap:6px!important}.floating-ui .booking-pill{height:36px!important;padding:3px 9px 3px 3px!important;font-size:6.5px!important}.floating-ui .booking-pill .booking-icon{width:26px!important;height:26px!important}.floating-ui .menu-btn{width:38px!important;height:38px!important}
  .scene-kicker{top:calc(78px + env(safe-area-inset-top))!important;left:20px!important}
  .edge-nav{width:44px!important;height:44px!important;bottom:calc(14px + env(safe-area-inset-bottom))!important}.edge-prev{left:14px!important}.edge-next{right:14px!important}
  body:has(.hero-scene.is-active) .edge-prev{left:14px!important}body:has(.hero-scene.is-active) .edge-next{right:14px!important}body:has(.hero-scene.is-active) .edge-nav{bottom:calc(14px + env(safe-area-inset-bottom))!important}
  .hero-progress,body:has(.hero-scene.is-active) .hero-progress{bottom:calc(27px + env(safe-area-inset-bottom))!important;gap:7px!important;font-size:7px!important}.dots{gap:6px!important}.dots button{width:7px!important;height:7px!important}

  .scene-home .home-content{left:20px!important;right:20px!important;top:calc(92px + env(safe-area-inset-top))!important;width:auto!important}.scene-home .pill-row{gap:5px!important;margin-bottom:10px!important}.scene-home .pill-row span{padding:6px 8px!important;font-size:7px!important}
  .scene-home .home-content h1 strong{font-size:clamp(41px,12.2cqw,54px)!important;line-height:.92!important}.scene-home .home-content h1 em{font-size:clamp(34px,10cqw,44px)!important;line-height:1!important;margin-top:5px!important}.scene-home .home-content p{font-size:11px!important;line-height:1.48!important;max-width:88%!important}.scene-home .contact-cta{height:43px!important;min-width:185px!important;font-size:9px!important}.scene-home .pulse-lockup{right:5%!important;bottom:72px!important;width:54%!important}.scene-home .home-footer-note{display:none!important}

  .scene-services .services-layout{display:block!important;padding:calc(114px + env(safe-area-inset-top)) 20px 0!important}.scene-services .services-copy{max-width:100%!important;width:100%!important}.scene-services .services-copy h2{font-size:clamp(39px,11cqw,50px)!important;line-height:.92!important;margin:8px 0 9px!important}.scene-services .services-copy p{font-size:10.5px!important;line-height:1.42!important;max-width:94%!important}.scene-services .service-orbit{position:absolute!important;left:20px!important;right:20px!important;bottom:calc(82px + env(safe-area-inset-bottom))!important;display:grid!important;grid-template-columns:1fr!important;gap:7px!important;padding:0!important;max-height:43%!important;overflow-y:auto!important;overflow-x:hidden!important}.scene-services .service-card{height:54px!important;min-height:54px!important;border-radius:16px!important;padding:8px 10px!important;grid-template-columns:36px 24px minmax(0,1fr) 14px!important;gap:7px!important}.scene-services .service-card-icon{width:34px!important;height:34px!important}.scene-services .service-card-title{font-size:10px!important;line-height:1.18!important}

  .scene-profile .profile-photo{left:0!important;right:0!important;top:0!important;width:100%!important;height:46%!important;clip-path:polygon(0 0,100% 0,100% 86%,0 100%)!important}.scene-profile .profile-photo img{object-position:58% 24%!important}.scene-profile .profile-panel{left:20px!important;right:20px!important;top:auto!important;bottom:calc(86px + env(safe-area-inset-bottom))!important;width:auto!important}.scene-profile .profile-panel h2{font-size:clamp(35px,10.5cqw,44px)!important;line-height:.91!important}.scene-profile .profile-panel p{font-size:10px!important;line-height:1.45!important;margin:10px 0!important}.scene-profile .profile-panel .text-link{font-size:9px!important}

  .scene-space .space-copy{left:20px!important;right:20px!important;top:calc(106px + env(safe-area-inset-top))!important;width:auto!important}.scene-space .space-copy h2{font-size:clamp(34px,9.8cqw,44px)!important;line-height:.94!important}.scene-space .space-copy p{font-size:10px!important;line-height:1.4!important;max-width:92%!important}.scene-space .space-open-gallery{height:39px!important;font-size:8px!important}.scene-space .space-gallery{left:20px!important;right:20px!important;bottom:calc(84px + env(safe-area-inset-bottom))!important;height:27%!important;display:grid!important;grid-template-columns:1.25fr 1fr 1fr!important;gap:7px!important;overflow:hidden!important}.scene-space .space-card:nth-child(4){display:none!important}.scene-space .space-gallery-controls,.scene-space .space-gallery-hint{display:none!important}

  .scene-contact .contact-visual{left:0!important;right:0!important;top:0!important;width:100%!important;height:35%!important;opacity:.45!important}.scene-contact .contact-panel{left:20px!important;right:20px!important;top:calc(102px + env(safe-area-inset-top))!important;bottom:calc(78px + env(safe-area-inset-bottom))!important;width:auto!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;padding-right:5px!important}.scene-contact .contact-copy h2{font-size:clamp(33px,9.5cqw,42px)!important;line-height:.93!important}.scene-contact .contact-intro{font-size:10px!important;margin:7px 0 10px!important}.scene-contact .hero-contact-form{gap:6px!important}.scene-contact .contact-field{gap:3px!important}.scene-contact .contact-field label{font-size:7px!important}.scene-contact .contact-field input,.scene-contact .contact-field textarea{min-height:38px!important;height:38px!important;border-radius:11px!important;padding:7px 10px!important;font-size:11px!important}.scene-contact .contact-field textarea{height:52px!important;min-height:52px!important}.scene-contact .contact-submit{height:38px!important;font-size:8px!important}

  .scene-map .map-copy{left:20px!important;right:20px!important;top:calc(104px + env(safe-area-inset-top))!important;width:auto!important}.scene-map .map-copy h2{font-size:clamp(34px,9.5cqw,43px)!important;line-height:.94!important}.scene-map .map-copy p{font-size:10px!important;max-width:92%!important}.scene-map .map-route-btn{height:40px!important;font-size:8px!important}.scene-map .map-stage-wrap{left:20px!important;right:20px!important;top:53%!important;bottom:calc(82px + env(safe-area-inset-bottom))!important;width:auto!important}.scene-map .map-frame{inset:0!important;border-radius:18px!important}.scene-map .map-caption{display:none!important}

  .scene-reviews .reviews-copy{left:20px!important;right:20px!important;top:calc(103px + env(safe-area-inset-top))!important;width:auto!important}.scene-reviews .reviews-copy h2{font-size:clamp(34px,9.5cqw,43px)!important;line-height:.94!important}.scene-reviews .reviews-copy p{font-size:10px!important;line-height:1.4!important;max-width:96%!important}.scene-reviews .reviews-score{margin-top:10px!important}.scene-reviews .reviews-deck{left:20px!important;right:20px!important;top:47%!important;bottom:calc(132px + env(safe-area-inset-bottom))!important;width:auto!important;height:auto!important}.scene-reviews .review-card{padding:20px!important;border-radius:22px!important}.scene-reviews .review-card blockquote{font-size:clamp(17px,4.8cqw,22px)!important;line-height:1.35!important;max-height:7.5em!important;overflow-y:auto!important}.scene-reviews .review-card footer{bottom:18px!important;left:20px!important;right:20px!important}.scene-reviews .reviews-controls{left:20px!important;right:20px!important;bottom:calc(76px + env(safe-area-inset-bottom))!important;display:flex!important;gap:8px!important}.scene-reviews .reviews-control.next{height:40px!important;font-size:8px!important}.scene-reviews .reviews-control.pause{width:40px!important;height:40px!important}
}

/* ---------- MOBILE LANDSCAPE ---------- */
@media (max-width:900px) and (orientation:landscape) and (max-height:560px){
  .floating-ui{height:58px!important;padding:6px 14px!important}.floating-ui .brand img{width:36px!important;height:36px!important}.floating-ui .brand-copy{display:block!important}.floating-ui .brand-copy b{font-size:8px!important}.floating-ui .brand-copy small{display:none!important}.floating-ui .booking-pill{height:34px!important;font-size:6px!important}.floating-ui .booking-pill .booking-icon{width:25px!important;height:25px!important}.floating-ui .menu-btn{width:36px!important;height:36px!important}
  .scene-kicker{top:66px!important;left:6%!important}
  .edge-nav{width:40px!important;height:40px!important;bottom:10px!important}.edge-prev{left:12px!important}.edge-next{right:12px!important}body:has(.hero-scene.is-active) .edge-prev{left:12px!important}body:has(.hero-scene.is-active) .edge-next{right:12px!important}body:has(.hero-scene.is-active) .edge-nav{bottom:10px!important}.hero-progress,body:has(.hero-scene.is-active) .hero-progress{bottom:21px!important;font-size:6px!important}.dots button{width:6px!important;height:6px!important}

  .scene-home .home-content{left:6%!important;top:20%!important;width:46%!important}.scene-home .pill-row{margin-bottom:7px!important}.scene-home .pill-row span{padding:4px 7px!important;font-size:6px!important}.scene-home .home-content h1 strong{font-size:clamp(34px,6.6cqw,48px)!important}.scene-home .home-content h1 em{font-size:clamp(28px,5.5cqw,40px)!important}.scene-home .home-content p{font-size:9px!important;line-height:1.4!important;max-width:94%!important}.scene-home .contact-cta{height:34px!important;min-width:150px!important;font-size:7px!important}.scene-home .pulse-lockup{right:5%!important;bottom:55px!important;width:32%!important}

  .scene-services .services-layout{display:grid!important;grid-template-columns:42% 58%!important;padding:13% 6% 10%!important;align-items:center!important}.scene-services .services-copy h2{font-size:clamp(31px,5cqw,42px)!important}.scene-services .services-copy p{font-size:9px!important;max-width:94%!important}.scene-services .service-orbit{position:static!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;padding:0!important;max-height:none!important;overflow:hidden!important}.scene-services .service-card{height:62px!important;min-height:62px!important;padding:8px!important;border-radius:14px!important;grid-template-columns:32px 20px minmax(0,1fr) 12px!important;gap:5px!important}.scene-services .service-card-icon{width:30px!important;height:30px!important}.scene-services .service-card-title{font-size:8px!important}

  .scene-profile .profile-photo{left:52%!important;width:48%!important;height:100%!important;clip-path:none!important}.scene-profile .profile-panel{left:6%!important;top:22%!important;bottom:auto!important;width:44%!important}.scene-profile .profile-panel h2{font-size:clamp(31px,5cqw,42px)!important}.scene-profile .profile-panel p{font-size:9px!important;line-height:1.38!important;margin:7px 0!important}

  .scene-space .space-copy{left:6%!important;top:20%!important;width:41%!important}.scene-space .space-copy h2{font-size:clamp(29px,4.7cqw,40px)!important}.scene-space .space-copy p{font-size:8.5px!important}.scene-space .space-open-gallery{height:32px!important;font-size:7px!important}.scene-space .space-gallery{left:49%!important;right:6%!important;top:20%!important;bottom:58px!important;height:auto!important;display:grid!important;grid-template-columns:1.2fr 1fr!important;grid-template-rows:1fr 1fr!important;gap:6px!important;overflow:hidden!important}.scene-space .space-card:nth-child(4){display:none!important}

  .scene-contact .contact-visual{left:55%!important;width:45%!important;height:100%!important;opacity:1!important}.scene-contact .contact-panel{left:5%!important;top:17%!important;width:48%!important;bottom:55px!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important}.scene-contact .contact-copy h2{font-size:clamp(27px,4.3cqw,37px)!important}.scene-contact .contact-intro{font-size:8px!important;margin:4px 0 6px!important}.scene-contact .hero-contact-form{gap:4px!important}.scene-contact .contact-field input,.scene-contact .contact-field textarea{height:31px!important;min-height:31px!important;font-size:9px!important;padding:5px 8px!important}.scene-contact .contact-field textarea{height:38px!important;min-height:38px!important}.scene-contact .contact-submit{height:31px!important}

  .scene-map .map-copy{left:6%!important;top:20%!important;width:39%!important}.scene-map .map-copy h2{font-size:clamp(29px,4.5cqw,39px)!important}.scene-map .map-copy p{font-size:8.5px!important}.scene-map .map-stage-wrap{left:48%!important;right:6%!important;top:18%!important;bottom:58px!important;width:auto!important}

  .scene-reviews .reviews-copy{left:6%!important;top:20%!important;width:41%!important}.scene-reviews .reviews-copy h2{font-size:clamp(29px,4.6cqw,40px)!important}.scene-reviews .reviews-copy p{font-size:8.5px!important}.scene-reviews .reviews-score{margin-top:7px!important}.scene-reviews .reviews-deck{left:49%!important;right:6%!important;top:18%!important;bottom:92px!important;width:auto!important;height:auto!important}.scene-reviews .review-card{padding:16px!important}.scene-reviews .review-card blockquote{font-size:15px!important;line-height:1.28!important;max-height:5.2em!important;overflow-y:auto!important}.scene-reviews .review-card footer{left:16px!important;right:16px!important;bottom:13px!important}.scene-reviews .reviews-controls{left:49%!important;bottom:52px!important}.scene-reviews .reviews-control.next{height:34px!important;font-size:7px!important}.scene-reviews .reviews-control.pause{width:34px!important;height:34px!important}
}

/* Preserve modal usability across phone/tablet orientations. */
@media (max-width:1180px){
  .review-submit-modal{padding:clamp(8px,2cqw,18px)!important;overflow:hidden!important}
  .review-submit-panel{width:min(680px,calc(100cqw - 24px))!important;max-width:calc(100cqw - 24px)!important;max-height:calc(100cqh - 24px)!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important}
  .review-submit-panel textarea{touch-action:pan-y!important;-webkit-overflow-scrolling:touch!important}
}

/* 11.0.111 — clean arrow glyphs across every hero / mobile + tablet */
@media (max-width:1180px){
  .edge-nav{font-size:0!important;overflow:hidden!important}
  .edge-nav::before{
    content:""!important;position:absolute!important;left:50%!important;top:50%!important;
    width:15px!important;height:15px!important;border:0!important;border-radius:0!important;
    background-repeat:no-repeat!important;background-position:center!important;background-size:15px 15px!important;
    transform:translate(-50%,-50%)!important;
  }
  .edge-prev::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b4057' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 18l-6-6 6-6'/%3E%3C/svg%3E")!important}
  .edge-next::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b4057' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E")!important}
  .floating-ui .booking-pill .booking-arrow,body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-arrow{
    font-size:0!important;position:relative!important;overflow:hidden!important;flex:0 0 auto!important;
  }
  .floating-ui .booking-pill .booking-arrow::before,body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-arrow::before{
    content:""!important;width:11px!important;height:11px!important;display:block!important;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M8 7h9v9'/%3E%3C/svg%3E") center/contain no-repeat!important;
  }
  .floating-ui .booking-pill:hover .booking-arrow::before,body:has(.hero-scene.is-active) .floating-ui .booking-pill:hover .booking-arrow::before{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23087f9c' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M8 7h9v9'/%3E%3C/svg%3E")!important;
  }
}


/* 11.0.113 — requested fixes applied directly on user's uploaded 11.0.107 base */
/* One clean centered booking arrow on every hero, all viewports. */
.floating-ui .booking-pill .booking-arrow,
body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-arrow{
  font-size:0!important;position:relative!important;overflow:hidden!important;display:grid!important;place-items:center!important;
}
.floating-ui .booking-pill .booking-arrow::before,
body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-arrow::before{
  content:""!important;width:12px!important;height:12px!important;display:block!important;margin:0!important;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M8 7h9v9'/%3E%3C/svg%3E") center/contain no-repeat!important;
}
.floating-ui .booking-pill:hover .booking-arrow::before,
body:has(.hero-scene.is-active) .floating-ui .booking-pill:hover .booking-arrow::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23087f9c' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M8 7h9v9'/%3E%3C/svg%3E")!important;
}
/* Services: a little more breathing room between premium icon and 01/02/03/04. */
@media (min-width:701px){
  .scene-services .service-orbit .service-card{column-gap:14px!important}
}
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-services .service-orbit .service-card{column-gap:10px!important}
}

/* 11.0.114 — Mobile Greek heading accent clearance */
@media (max-width:700px) and (orientation:portrait){
  .scene-home .home-content h1 strong,
  .scene-home .home-content h1 em,
  .scene-services .services-copy h2,
  .scene-profile .profile-panel h2,
  .scene-space .space-copy h2,
  .scene-contact .contact-copy h2,
  .scene-map .map-copy h2,
  .scene-reviews .reviews-copy h2{
    line-height:1.08!important;
    letter-spacing:-.025em!important;
  }
  .scene-home .home-content h1 em{margin-top:7px!important}
}

/* 11.0.115 — smoother gallery motion + larger mobile thumbnails */
.scene-space .space-card{
  transition:flex .85s cubic-bezier(.22,.61,.36,1),transform .72s cubic-bezier(.22,.61,.36,1),filter .65s ease,opacity .65s ease,box-shadow .65s ease!important;
  will-change:transform,opacity,filter;
}
.scene-space .space-card img{
  transition:transform 1s cubic-bezier(.22,.61,.36,1),filter .72s ease!important;
  will-change:transform,filter;
}
.scene-space .space-gallery:hover .space-card{transition-duration:.72s!important}
.scene-space .space-gallery .space-card:hover{
  transition-duration:.72s!important;
  box-shadow:0 22px 58px rgba(0,0,0,.28)!important;
}
.scene-space .space-card:hover img{transition-duration:1s!important}

@media (max-width:700px) and (orientation:portrait){
  .scene-space .space-gallery{
    left:20px!important;
    right:20px!important;
    bottom:calc(92px + env(safe-area-inset-bottom))!important;
    height:31%!important;
    display:flex!important;
    gap:12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:0!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    padding:0 2px 2px!important;
  }
  .scene-space .space-gallery::-webkit-scrollbar{display:none!important}
  .scene-space .space-card,
  .scene-space .space-card:nth-child(n){
    display:block!important;
    flex:0 0 76%!important;
    min-width:76%!important;
    height:100%!important;
    border-radius:20px!important;
    transform:none!important;
    scroll-snap-align:center!important;
  }
  .scene-space .space-card img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    transform:scale(1.015)!important;
  }
}

@media (max-width:700px) and (orientation:landscape){
  .scene-space .space-gallery{
    display:flex!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:10px!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  .scene-space .space-gallery::-webkit-scrollbar{display:none!important}
  .scene-space .space-card,
  .scene-space .space-card:nth-child(n){
    display:block!important;
    flex:0 0 58%!important;
    min-width:58%!important;
    height:100%!important;
    transform:none!important;
    scroll-snap-align:center!important;
  }
}


/* 11.0.116 — language switch inside hamburger + single centered booking arrow */
.floating-ui .booking-pill .booking-arrow,
body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-arrow{
  display:grid!important;place-items:center!important;position:relative!important;overflow:hidden!important;
}
.floating-ui .booking-pill .booking-arrow::before,
body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-arrow::before{content:none!important;display:none!important;background:none!important}
.floating-ui .booking-pill .booking-arrow svg,
body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-arrow svg{
  width:12px!important;height:12px!important;display:block!important;margin:0!important;transform:none!important;
  fill:none!important;stroke:#fff!important;stroke-width:2.4!important;stroke-linecap:round!important;stroke-linejoin:round!important;
}
.floating-ui .booking-pill:hover .booking-arrow svg,
body:has(.hero-scene.is-active) .floating-ui .booking-pill:hover .booking-arrow svg{stroke:#087f9c!important}

.menu-inner .language-switch{margin-top:clamp(24px,4cqh,42px);padding-top:18px;border-top:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:space-between;gap:18px}
.menu-inner .language-switch>span{font-size:10px;letter-spacing:.22em;color:rgba(255,255,255,.56);font-weight:800}
.menu-inner .language-switch>div{display:flex;gap:8px}
.menu-inner .language-switch button{width:46px;height:36px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;font:800 11px/1 inherit;letter-spacing:.12em;cursor:pointer;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}
.menu-inner .language-switch button:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.56)}
.menu-inner .language-switch button.active{background:#fff;color:#0b4057;border-color:#fff}
@media(max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.menu-inner .language-switch{margin-top:20px}.menu-inner .language-switch button{width:44px;height:34px}}
/* The hamburger content can always fit; on short screens it scrolls instead of clipping GR / EN. */
.menu-overlay{overflow:hidden!important}
.menu-inner{
  min-height:100cqh!important;
  height:100cqh!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
}
.menu-inner::-webkit-scrollbar{display:none!important}
.menu-inner .language-switch{flex:0 0 auto!important}

@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .menu-inner{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:stretch!important;
    padding:70px 26px calc(22px + env(safe-area-inset-bottom))!important;
    gap:0!important;
  }
  .menu-inner .menu-eyebrow{
    margin:0 0 12px!important;
    font-size:8px!important;
    line-height:1.2!important;
  }
  .menu-inner nav{
    display:grid!important;
    gap:0!important;
    flex:0 0 auto!important;
  }
  .menu-inner nav button{
    font-size:clamp(27px,8.3cqw,39px)!important;
    line-height:1.02!important;
    padding:4px 0!important;
    min-height:0!important;
  }
  .menu-inner nav small{
    width:34px!important;
    font-size:8px!important;
  }
  .menu-inner .language-switch{
    margin-top:12px!important;
    padding-top:12px!important;
    gap:10px!important;
    width:100%!important;
  }
  .menu-inner .language-switch>span{
    font-size:8px!important;
    letter-spacing:.16em!important;
    white-space:nowrap!important;
  }
  .menu-inner .language-switch>div{
    display:flex!important;
    gap:6px!important;
    margin-left:auto!important;
    flex:0 0 auto!important;
  }
  .menu-inner .language-switch button{
    width:42px!important;
    min-width:42px!important;
    height:32px!important;
    padding:0!important;
    font-size:10px!important;
    letter-spacing:.08em!important;
  }
}

@media (max-width:700px) and (max-height:680px){
  .menu-inner{
    justify-content:flex-start!important;
    padding-top:58px!important;
  }
  .menu-inner nav button{
    font-size:clamp(24px,7.2cqw,32px)!important;
    padding:2px 0!important;
  }
  .menu-inner .language-switch{
    margin-top:8px!important;
    padding-top:9px!important;
  }
}

/* 11.0.122 — compact no-scroll hamburger */
.menu-overlay{overflow:hidden!important}
.menu-inner{
  height:100cqh!important;
  min-height:0!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .menu-inner{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:stretch!important;
    padding:54px 22px 16px!important;
    gap:0!important;
  }
  .menu-inner .menu-eyebrow{
    margin:0 0 7px!important;
    font-size:7px!important;
    line-height:1!important;
    letter-spacing:.22em!important;
  }
  .menu-inner nav{
    display:grid!important;
    gap:0!important;
    flex:0 0 auto!important;
  }
  .menu-inner nav button{
    font-size:clamp(22px,6.8cqw,31px)!important;
    line-height:.98!important;
    padding:2px 0!important;
    min-height:0!important;
  }
  .menu-inner nav small{
    width:30px!important;
    font-size:7px!important;
  }
  .menu-inner .language-switch{
    margin-top:7px!important;
    padding-top:8px!important;
    min-height:0!important;
    gap:8px!important;
  }
  .menu-inner .language-switch>span{
    font-size:7px!important;
    line-height:1!important;
    letter-spacing:.13em!important;
  }
  .menu-inner .language-switch>div{gap:5px!important}
  .menu-inner .language-switch button{
    width:38px!important;
    min-width:38px!important;
    height:28px!important;
    font-size:9px!important;
  }
  .menu-close{
    right:14px!important;
    top:12px!important;
    width:38px!important;
    height:38px!important;
    font-size:24px!important;
  }
}
@media (max-width:700px) and (max-height:680px){
  .menu-inner{
    justify-content:center!important;
    padding:46px 18px 10px!important;
  }
  .menu-inner .menu-eyebrow{display:none!important}
  .menu-inner nav button{
    font-size:clamp(19px,5.8cqw,27px)!important;
    line-height:.96!important;
    padding:1px 0!important;
  }
  .menu-inner .language-switch{
    margin-top:5px!important;
    padding-top:6px!important;
  }
  .menu-inner .language-switch button{width:35px!important;min-width:35px!important;height:26px!important}
}

/* 11.0.123 — extra-compact mobile menu: GR/EN always visible, no scroll */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .menu-overlay,.menu-inner{overflow:hidden!important;overscroll-behavior:none!important}
  .menu-inner{height:100cqh!important;min-height:100cqh!important;justify-content:center!important;padding:40px 18px 10px!important}
  .menu-inner .menu-eyebrow{display:none!important}
  .menu-inner nav{gap:0!important;margin:0!important}
  .menu-inner nav button{font-size:clamp(18px,5.6cqw,25px)!important;line-height:.94!important;padding:0!important;min-height:0!important;margin:0!important}
  .menu-inner nav small{width:26px!important;font-size:6px!important;margin-right:6px!important}
  .menu-inner .language-switch{margin-top:4px!important;padding-top:5px!important;gap:5px!important;flex:0 0 auto!important}
  .menu-inner .language-switch>span{font-size:6px!important;line-height:1!important}
  .menu-inner .language-switch>div{gap:4px!important}
  .menu-inner .language-switch button{width:34px!important;min-width:34px!important;height:24px!important;padding:0!important;font-size:8px!important}
  .menu-close{top:10px!important;right:12px!important;width:34px!important;height:34px!important;font-size:22px!important}
}
@media (max-width:700px) and (max-height:620px){
  .menu-inner{padding:34px 16px 8px!important}
  .menu-inner nav button{font-size:clamp(16px,5cqw,21px)!important;line-height:.9!important}
  .menu-inner .language-switch{margin-top:2px!important;padding-top:4px!important}
  .menu-inner .language-switch button{width:32px!important;min-width:32px!important;height:22px!important}
}

/* 11.0.125 — FAQ hero + ultra compact no-scroll menu */
.scene-faq{background:linear-gradient(135deg,#071b24 0%,#0a3440 52%,#0b5961 100%);color:#fff;overflow:hidden}.faq-noise{position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(80,224,217,.16),transparent 28%),radial-gradient(circle at 85% 75%,rgba(255,255,255,.08),transparent 30%);animation:faqGlow 8s ease-in-out infinite alternate}.faq-orb{position:absolute;border:1px solid rgba(135,242,233,.18);border-radius:50%;animation:faqFloat 12s ease-in-out infinite}.faq-orb-a{width:42cqw;height:42cqw;right:-13cqw;top:-17cqw}.faq-orb-b{width:28cqw;height:28cqw;left:-12cqw;bottom:-14cqw;animation-delay:-5s}.faq-copy{position:absolute;left:8cqw;top:24%;width:min(35cqw,520px);z-index:2}.faq-copy h2{font-size:clamp(42px,5.1cqw,82px);line-height:.92;margin:12px 0 20px;letter-spacing:-.055em}.faq-copy h2 i{color:#74e4dc;font-weight:400}.faq-copy p{max-width:480px;color:rgba(255,255,255,.72);line-height:1.6}.faq-grid{position:absolute;right:6cqw;top:17%;width:min(49cqw,760px);display:grid;grid-template-columns:1fr 1fr;gap:9px;z-index:3}.faq-card{min-height:68px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.065);backdrop-filter:blur(12px);color:#fff;text-align:left;padding:13px 15px;display:grid;grid-template-columns:32px 1fr 22px;gap:9px;align-items:center;cursor:pointer;transition:transform .3s ease,background .3s ease,border-color .3s ease}.faq-card:hover{transform:translateY(-3px);background:rgba(116,228,220,.14);border-color:rgba(116,228,220,.48)}.faq-card small{color:#74e4dc;font-size:10px}.faq-card b{font-size:13px;line-height:1.25;font-weight:600}.faq-card em{font-style:normal;font-size:18px;color:#74e4dc}.faq-marquee{position:absolute;bottom:8%;left:0;width:100%;white-space:nowrap;opacity:.1;font-size:clamp(28px,4cqw,64px);font-weight:800;letter-spacing:.12em;animation:faqMarquee 24s linear infinite}.faq-modal{position:fixed;inset:0;z-index:12000;display:none}.faq-modal.is-open{display:block}.faq-modal-backdrop{position:absolute;inset:0;background:rgba(2,15,20,.74);backdrop-filter:blur(10px)}.faq-modal-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-46%) scale(.96);width:min(680px,calc(100cqw - 32px));max-height:calc(100cqh - 32px);overflow:auto;background:#f7fbfa;color:#0a2831;padding:clamp(28px,5cqw,58px);box-shadow:0 30px 100px rgba(0,0,0,.35);opacity:0;transition:.28s ease}.faq-modal.is-open .faq-modal-panel{transform:translate(-50%,-50%) scale(1);opacity:1}.faq-modal-close{position:absolute;right:18px;top:16px;border:0;background:#0b3540;color:#fff;width:38px;height:38px;border-radius:50%;font-size:24px;cursor:pointer}.faq-modal-num{font-size:12px;color:#159a96;letter-spacing:.16em;margin:18px 0 8px}.faq-modal-panel h2{font-size:clamp(27px,4cqw,45px);line-height:1.05;letter-spacing:-.035em;margin:0 0 22px}.faq-modal-panel p{font-size:16px;line-height:1.75;color:#46616a;margin:0}@keyframes faqGlow{to{transform:scale(1.08) rotate(2deg)}}@keyframes faqFloat{50%{transform:translate3d(0,24px,0) scale(1.05)}}@keyframes faqMarquee{to{transform:translateX(-45%)}}
.menu-overlay .menu-inner{overflow:hidden!important;padding-top:clamp(30px,5cqh,52px)!important;padding-bottom:12px!important}.menu-overlay .menu-eyebrow{margin-bottom:clamp(8px,1.3cqh,14px)!important}.menu-overlay nav{gap:0!important}.menu-overlay nav button{padding:clamp(4px,.75cqh,8px) 0!important;line-height:1!important;font-size:clamp(20px,3.3cqh,35px)!important}.menu-overlay nav button small{font-size:9px!important;margin-right:12px!important}.menu-inner .language-switch{margin-top:clamp(8px,1.5cqh,15px)!important;padding-top:8px!important}.menu-inner .language-switch button{height:30px!important;min-height:30px!important;width:42px!important}.menu-inner .language-switch span{font-size:9px!important}@media(max-width:760px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.faq-copy{left:22px;right:22px;top:14%;width:auto}.faq-copy h2{font-size:clamp(34px,10cqw,50px)}.faq-copy p{font-size:13px;max-width:90%}.faq-grid{left:22px;right:22px;top:45%;width:auto;grid-template-columns:1fr 1fr;gap:6px}.faq-card{min-height:54px;padding:8px;grid-template-columns:22px 1fr 14px;gap:5px}.faq-card b{font-size:10.5px}.faq-card small{font-size:8px}.faq-card em{font-size:14px}.faq-marquee{bottom:5%}.menu-overlay nav button{font-size:clamp(18px,3.1cqh,27px)!important;padding:clamp(3px,.55cqh,6px) 0!important}.menu-overlay .menu-inner{padding-top:24px!important}.menu-inner .language-switch{margin-top:6px!important}}@media(max-height:680px){.menu-overlay nav button{font-size:18px!important;padding:3px 0!important}.menu-overlay .menu-eyebrow{margin-bottom:5px!important}.menu-inner .language-switch{margin-top:4px!important;padding-top:5px!important}.menu-inner .language-switch button{height:27px!important;min-height:27px!important}.faq-copy{top:11%}.faq-grid{top:40%}.faq-card{min-height:48px}}@media(prefers-reduced-motion:reduce){.faq-noise,.faq-orb,.faq-marquee{animation:none}}

/* 11.0.126 — restore comfortable menu sizing while keeping all 8 items + GR/EN visible */
.menu-overlay .menu-inner{
  padding-top:clamp(58px,8cqh,86px)!important;
  padding-bottom:clamp(22px,4cqh,42px)!important;
}
.menu-overlay .menu-eyebrow{
  display:block!important;
  margin-bottom:clamp(14px,2cqh,22px)!important;
  font-size:10px!important;
}
.menu-overlay nav{
  gap:2px!important;
}
.menu-overlay nav button{
  font-size:clamp(27px,3.9cqh,42px)!important;
  line-height:1.06!important;
  padding:clamp(5px,.8cqh,8px) 0!important;
}
.menu-overlay nav button small{
  width:42px!important;
  margin-right:10px!important;
  font-size:9px!important;
}
.menu-inner .language-switch{
  margin-top:clamp(12px,2cqh,20px)!important;
  padding-top:10px!important;
}
.menu-inner .language-switch>span{
  font-size:9px!important;
}
.menu-inner .language-switch button{
  width:44px!important;
  min-width:44px!important;
  height:32px!important;
  min-height:32px!important;
  font-size:10px!important;
}
@media(max-width:760px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .menu-overlay .menu-inner{
    height:100cqh!important;
    min-height:100cqh!important;
    padding:50px 22px 16px!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  .menu-overlay .menu-eyebrow{
    display:block!important;
    margin-bottom:8px!important;
    font-size:8px!important;
  }
  .menu-overlay nav{gap:1px!important;}
  .menu-overlay nav button{
    font-size:clamp(23px,6.4cqw,30px)!important;
    line-height:1.04!important;
    padding:4px 0!important;
  }
  .menu-overlay nav button small{
    width:31px!important;
    margin-right:7px!important;
    font-size:7px!important;
  }
  .menu-inner .language-switch{
    margin-top:8px!important;
    padding-top:8px!important;
  }
  .menu-inner .language-switch>span{font-size:7px!important;}
  .menu-inner .language-switch button{
    width:38px!important;
    min-width:38px!important;
    height:28px!important;
    min-height:28px!important;
    font-size:9px!important;
  }
}
@media(max-width:760px) and (max-height:640px){
  .menu-overlay .menu-inner{padding:40px 18px 10px!important;}
  .menu-overlay .menu-eyebrow{display:none!important;}
  .menu-overlay nav button{
    font-size:clamp(20px,5.6cqw,25px)!important;
    line-height:1!important;
    padding:3px 0!important;
  }
  .menu-inner .language-switch{margin-top:5px!important;padding-top:5px!important;}
}

/* 11.0.127 — FAQ signature redesign + balanced navigation spacing */
.scene-faq{background:linear-gradient(118deg,#061a24 0%,#082f39 48%,#07545b 100%)}
.faq-stage-art{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(circle at 74% 44%,rgba(96,239,224,.12),transparent 27%),linear-gradient(110deg,transparent 48%,rgba(112,232,223,.035) 48.2%,transparent 48.5%)}
.faq-ring{position:absolute;border:1px solid rgba(116,228,220,.18);border-radius:50%;box-shadow:inset 0 0 80px rgba(116,228,220,.025);animation:faqRing 13s ease-in-out infinite alternate}.faq-ring.r1{width:42cqw;height:42cqw;right:-7cqw;top:-12cqw}.faq-ring.r2{width:26cqw;height:26cqw;right:12cqw;top:18cqh;animation-delay:-4s}.faq-ring.r3{width:17cqw;height:17cqw;left:-5cqw;bottom:-6cqw;animation-delay:-8s}.faq-cross{position:absolute;color:rgba(116,228,220,.32);font-size:30px;font-weight:200;animation:faqCross 7s ease-in-out infinite}.faq-cross.c1{right:46%;top:18%}.faq-cross.c2{right:7%;bottom:17%;animation-delay:-3s}.faq-beam{position:absolute;width:1px;height:70cqh;right:29%;top:8%;background:linear-gradient(transparent,rgba(116,228,220,.3),transparent);transform:rotate(24deg);transform-origin:center;animation:faqBeam 8s ease-in-out infinite alternate}
.faq-copy{left:7.8cqw;top:22%;width:min(34cqw,520px)}.faq-copy .mini-label{letter-spacing:.3em}.faq-copy h2{font-size:clamp(48px,5cqw,84px);line-height:.91}.faq-copy h2 i{display:inline-block;color:#77e7df;text-shadow:0 0 38px rgba(119,231,223,.12)}
.faq-grid{right:5.5cqw;top:18%;width:min(50cqw,790px);gap:12px;perspective:900px}.faq-card{position:relative;min-height:76px;border:1px solid rgba(149,239,232,.16);border-radius:18px;background:linear-gradient(115deg,rgba(255,255,255,.075),rgba(255,255,255,.035));box-shadow:0 12px 34px rgba(0,0,0,.08);overflow:hidden;padding:14px 17px;grid-template-columns:38px 1fr 34px;transition:transform .38s cubic-bezier(.2,.8,.2,1),border-color .3s,background .3s,box-shadow .3s}.faq-card:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 20%,rgba(116,228,220,.12),transparent 70%);transform:translateX(-120%);transition:transform .65s ease}.faq-card:hover:before{transform:translateX(120%)}.faq-card:hover{transform:translateY(-5px) rotateX(1deg);border-color:rgba(116,228,220,.52);background:rgba(116,228,220,.105);box-shadow:0 20px 50px rgba(0,0,0,.16)}.faq-card small{font-size:11px;letter-spacing:.08em}.faq-card b{font-size:14px;line-height:1.28}.faq-card em{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;border:1px solid rgba(116,228,220,.35);font-size:15px;transition:.3s}.faq-card:hover em{background:#74e4dc;color:#08303a;transform:rotate(45deg)}
.faq-modal-backdrop{background:rgba(1,14,20,.78);backdrop-filter:blur(14px)}.faq-modal-panel{overflow:hidden;border-radius:28px;border:1px solid rgba(116,228,220,.24);background:linear-gradient(145deg,#f9fdfc,#eaf7f5);box-shadow:0 35px 120px rgba(0,0,0,.46);padding:clamp(34px,5cqw,64px)}.faq-modal-panel:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;right:-170px;top:-170px;border:1px solid rgba(15,156,151,.18);box-shadow:0 0 0 45px rgba(15,156,151,.035),0 0 0 90px rgba(15,156,151,.02)}.faq-modal-num{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#0a3540;color:#77e7df;margin:22px 0 16px;font-size:12px}.faq-modal-panel h2{position:relative;max-width:560px}.faq-modal-panel p{position:relative;font-size:17px;line-height:1.8;max-width:570px}.faq-modal-close{z-index:2;transition:transform .25s,background .25s}.faq-modal-close:hover{transform:rotate(90deg);background:#0e5660}
.menu-overlay nav{gap:clamp(3px,.55cqh,7px)!important}.menu-overlay nav button{padding:clamp(5px,.9cqh,9px) 0!important;line-height:1.05!important;font-size:clamp(21px,3.45cqh,36px)!important}.menu-inner .language-switch{margin-top:clamp(10px,1.7cqh,17px)!important}
@keyframes faqRing{to{transform:translate3d(-22px,18px,0) scale(1.05)}}@keyframes faqCross{50%{transform:rotate(90deg) scale(1.25);opacity:.55}}@keyframes faqBeam{to{opacity:.35;transform:rotate(29deg) translateX(24px)}}
@media(max-width:760px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.faq-copy{left:22px;top:12.5%;width:calc(100% - 44px)}.faq-copy h2{font-size:clamp(36px,10.4cqw,52px);max-width:90%}.faq-copy p{font-size:13px;line-height:1.45}.faq-grid{left:20px;right:20px;top:43%;width:auto;gap:7px}.faq-card{min-height:58px;border-radius:13px;padding:9px;grid-template-columns:24px 1fr 25px}.faq-card b{font-size:10.5px}.faq-card em{width:24px;height:24px;font-size:12px}.menu-overlay nav{gap:2px!important}.menu-overlay nav button{font-size:clamp(19px,3.2cqh,28px)!important;padding:clamp(4px,.7cqh,7px) 0!important}}
@media(max-height:680px){.menu-overlay nav{gap:1px!important}.menu-overlay nav button{font-size:18px!important;padding:4px 0!important}.menu-inner .language-switch{margin-top:5px!important}.faq-grid{top:40%}.faq-card{min-height:49px}}

/* 11.0.128 — FAQ typography, premium modal, relaxed navigation */
.scene-faq .faq-copy h2{
  line-height:1.08!important;
  padding-top:.08em;
  padding-bottom:.08em;
  overflow:visible!important;
}
.scene-faq .faq-copy h2 i{line-height:1.14!important;display:inline-block;padding-top:.04em}

/* Give navigation comfortable vertical rhythm without introducing scroll. */
.menu-overlay .menu-inner{justify-content:center!important;overflow:hidden!important}
.menu-overlay nav{gap:clamp(5px,.8cqh,10px)!important}
.menu-overlay nav button{
  padding:clamp(6px,1.05cqh,11px) 0!important;
  line-height:1.08!important;
  font-size:clamp(21px,3.35cqh,35px)!important;
}
.menu-inner .language-switch{margin-top:clamp(12px,2cqh,20px)!important;padding-top:10px!important}

/* FAQ answer modal — graphic/UI only, no photography. */
.faq-modal-backdrop{
  background:radial-gradient(circle at 72% 24%,rgba(34,204,198,.12),transparent 28%),rgba(1,13,19,.84)!important;
  backdrop-filter:blur(18px) saturate(115%)!important;
}
.faq-modal-panel{
  isolation:isolate;
  width:min(820px,calc(100cqw - 40px))!important;
  min-height:min(540px,calc(100cqh - 48px));
  max-height:calc(100cqh - 40px)!important;
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:hidden!important;
  border-radius:34px!important;
  border:1px solid rgba(104,231,222,.34)!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.98),rgba(235,249,247,.97))!important;
  box-shadow:0 42px 140px rgba(0,0,0,.52),0 0 0 1px rgba(255,255,255,.55) inset!important;
  padding:clamp(44px,6cqw,82px)!important;
}
.faq-modal-panel:before{
  content:""!important;
  position:absolute!important;
  width:430px!important;height:430px!important;
  right:-220px!important;top:-230px!important;
  border-radius:50%!important;
  border:1px solid rgba(10,169,164,.22)!important;
  box-shadow:0 0 0 58px rgba(10,169,164,.045),0 0 0 116px rgba(10,169,164,.025)!important;
  animation:faqModalOrbit 8s ease-in-out infinite alternate!important;
  z-index:-1;
}
.faq-modal-panel:after{
  content:"?";
  position:absolute;
  right:clamp(28px,5cqw,64px);
  bottom:-.19em;
  font:700 clamp(190px,25cqw,330px)/1 Arial,sans-serif;
  color:rgba(13,126,128,.045);
  transform:rotate(-8deg);
  pointer-events:none;
  z-index:-1;
}
.faq-modal-panel .mini-label{
  position:relative;
  display:inline-flex;
  width:max-content;
  align-items:center;
  gap:10px;
  color:#0ca8b5;
  font-size:11px;
  font-weight:800;
  letter-spacing:.28em;
  margin-bottom:18px;
}
.faq-modal-panel .mini-label:after{content:"";width:48px;height:1px;background:linear-gradient(90deg,#11b8bf,transparent)}
.faq-modal-num{
  position:absolute!important;
  top:clamp(34px,5cqw,56px)!important;
  right:clamp(88px,8cqw,118px)!important;
  width:66px!important;height:66px!important;
  margin:0!important;
  border:1px solid rgba(111,235,225,.35)!important;
  background:linear-gradient(145deg,#073744,#0b5660)!important;
  color:#7aeee5!important;
  box-shadow:0 16px 38px rgba(3,52,61,.22),inset 0 0 24px rgba(111,235,225,.08)!important;
  font-size:14px!important;font-weight:800!important;letter-spacing:.12em!important;
}
.faq-modal-panel h2{
  position:relative!important;
  max-width:650px!important;
  margin:0 0 24px!important;
  font-size:clamp(34px,4.5cqw,58px)!important;
  line-height:1.12!important;
  letter-spacing:-.045em!important;
  color:#062c36!important;
  padding-top:.05em;
}
.faq-modal-panel h2:after{content:"";display:block;width:74px;height:4px;border-radius:99px;margin-top:24px;background:linear-gradient(90deg,#0db3bd,#73e5dc)}
.faq-modal-panel p{
  position:relative!important;
  max-width:650px!important;
  margin:0!important;
  padding:0 0 0 22px!important;
  border-left:2px solid rgba(13,179,189,.28);
  color:#496872!important;
  font-size:clamp(16px,1.5cqw,19px)!important;
  line-height:1.85!important;
}
.faq-modal-close{
  right:24px!important;top:24px!important;
  width:52px!important;height:52px!important;
  border:1px solid rgba(116,228,220,.3)!important;
  background:#073743!important;
  box-shadow:0 10px 28px rgba(0,0,0,.18)!important;
  font-size:29px!important;line-height:1!important;
}
.faq-modal.is-open .faq-modal-panel{animation:faqModalIn .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes faqModalIn{0%{opacity:0;transform:translate(-50%,-47%) scale(.93) rotateX(4deg)}100%{opacity:1;transform:translate(-50%,-50%) scale(1) rotateX(0)}}
@keyframes faqModalOrbit{to{transform:translate(-18px,18px) scale(1.05)}}

@media(max-width:760px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-faq .faq-copy h2{line-height:1.12!important}
  .faq-modal-panel{min-height:auto!important;width:calc(100cqw - 24px)!important;padding:72px 26px 36px!important;border-radius:26px!important}
  .faq-modal-num{top:22px!important;left:26px!important;right:auto!important;width:48px!important;height:48px!important}
  .faq-modal-close{top:20px!important;right:20px!important;width:46px!important;height:46px!important}
  .faq-modal-panel .mini-label{margin-top:10px;font-size:9px;letter-spacing:.2em}
  .faq-modal-panel h2{font-size:clamp(30px,9cqw,44px)!important;line-height:1.15!important}
  .faq-modal-panel p{font-size:15px!important;line-height:1.7!important;padding-left:16px!important}
  .menu-overlay nav{gap:clamp(4px,.7cqh,7px)!important}
  .menu-overlay nav button{font-size:clamp(19px,3cqh,27px)!important;padding:clamp(5px,.85cqh,8px) 0!important}
  .menu-inner .language-switch{margin-top:clamp(8px,1.4cqh,13px)!important}
}
@media(max-height:680px){
  .menu-overlay nav{gap:2px!important}
  .menu-overlay nav button{font-size:18px!important;padding:4px 0!important}
  .menu-inner .language-switch{margin-top:6px!important;padding-top:6px!important}
}


/* =========================================================
   11.0.129 — SERVICES DETAIL MODAL + INSTANT LANGUAGE FEEDBACK
   No photos: pure UI graphics / CSS animation.
   ========================================================= */
.language-changing .hero-scene.is-active{animation:langFlash .22s ease both}
@keyframes langFlash{0%{opacity:.88}100%{opacity:1}}

.service-modal{background:radial-gradient(circle at 72% 24%,rgba(17,190,218,.13),transparent 35%),rgba(0,17,27,.76)!important;backdrop-filter:blur(15px)!important}
.service-modal-card{width:min(1120px,92cqw)!important;max-height:min(86cqh,780px)!important;padding:0!important;overflow:hidden!important;border-radius:34px!important;background:linear-gradient(145deg,rgba(7,48,64,.985),rgba(4,28,40,.995))!important;border:1px solid rgba(116,226,242,.24)!important;box-shadow:0 40px 130px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.05)!important;transform:translateY(24px) scale(.975)!important;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .4s ease!important}
.service-modal.open.entered .service-modal-card{transform:none!important}
.service-modal-layout{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.45fr);min-height:620px}
.service-modal-visual{position:relative;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle at 50% 44%,rgba(28,216,236,.17),transparent 32%),linear-gradient(165deg,rgba(8,77,93,.56),rgba(2,31,43,.68));border-right:1px solid rgba(130,229,242,.13)}
.service-modal-visual:before{content:"";position:absolute;inset:-25%;background:conic-gradient(from 0deg,transparent 0 22%,rgba(57,223,239,.06) 26%,transparent 31% 54%,rgba(57,223,239,.05) 58%,transparent 63%);animation:serviceSweep 14s linear infinite}
.service-modal-orbit{position:absolute;border:1px solid rgba(103,227,241,.2);border-radius:50%;animation:serviceOrbit 10s ease-in-out infinite alternate}
.service-modal-orbit.orbit-a{width:360px;height:360px}.service-modal-orbit.orbit-b{width:255px;height:255px;animation-delay:-3s}.service-modal-orbit.orbit-c{width:155px;height:155px;animation-delay:-6s}
.service-modal-spark{position:absolute;width:7px;height:7px;border-radius:50%;background:#7de8f5;box-shadow:0 0 24px #2fd2e6;animation:serviceSpark 5s ease-in-out infinite}
.service-modal-spark.spark-a{top:20%;left:30%}.service-modal-spark.spark-b{right:22%;bottom:24%;animation-delay:-1.7s}.service-modal-spark.spark-c{left:22%;bottom:36%;animation-delay:-3.2s}
.service-modal-graphic-icon{position:relative;z-index:2;width:116px;height:116px;border-radius:34px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(102,231,244,.18),rgba(255,255,255,.035));border:1px solid rgba(126,234,246,.36);box-shadow:0 0 0 16px rgba(50,208,225,.035),0 30px 70px rgba(0,0,0,.22),inset 0 0 40px rgba(53,215,232,.08);animation:serviceIconFloat 4.8s ease-in-out infinite}
.service-modal-graphic-icon img,.service-modal-graphic-icon svg{width:54px!important;height:54px!important;max-width:54px!important;max-height:54px!important;filter:drop-shadow(0 0 16px rgba(93,229,242,.32))}
.service-modal-visual-number{position:absolute;left:30px;top:28px;font-size:clamp(70px,8cqw,118px);font-weight:800;line-height:.8;letter-spacing:-.07em;color:rgba(118,229,241,.08)}
.service-modal-wave{position:absolute;left:10%;right:10%;bottom:52px;height:48px;display:flex;align-items:center;justify-content:center;gap:10px;opacity:.48}
.service-modal-wave i{display:block;width:3px;height:18px;border-radius:99px;background:#66ddea;animation:serviceWave 1.4s ease-in-out infinite}.service-modal-wave i:nth-child(2){animation-delay:.12s}.service-modal-wave i:nth-child(3){animation-delay:.24s}.service-modal-wave i:nth-child(4){animation-delay:.36s}.service-modal-wave i:nth-child(5){animation-delay:.48s}
.service-modal-content{position:relative;padding:58px 58px 42px;overflow:auto;scrollbar-width:none}.service-modal-content::-webkit-scrollbar{display:none}
.service-modal-brandline{margin:0 56px 18px 0!important;gap:10px!important}.service-modal-code{display:grid;place-items:center;min-width:36px;height:28px;padding:0 9px;border-radius:999px;background:rgba(99,224,239,.1);border:1px solid rgba(106,226,240,.2);font-size:10px;font-weight:900;letter-spacing:.14em;color:#88e9f5}
.service-modal-card h3{margin:0 60px 18px 0!important;font-size:clamp(39px,4.1cqw,62px)!important;line-height:1.03!important;letter-spacing:-.045em!important;text-wrap:balance}
.service-modal-lead{max-width:780px!important;margin:0!important;color:rgba(232,247,250,.82)!important;font-size:16px!important;line-height:1.62!important}
.service-modal-detail{margin-top:20px;padding:18px 20px;border-left:2px solid rgba(78,216,232,.72);background:linear-gradient(90deg,rgba(41,188,207,.09),transparent);border-radius:0 16px 16px 0;color:rgba(216,239,243,.72);font-size:13px;line-height:1.7}
.service-modal-subtitle{margin:28px 0 12px!important}
.service-modal-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.service-subitem{min-height:96px!important;display:grid!important;grid-template-columns:34px 1fr 24px!important;align-items:start!important;gap:12px!important;padding:16px!important;border-radius:18px!important;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(88,221,235,.035))!important;border:1px solid rgba(132,227,239,.12)!important;transition:transform .25s ease,border-color .25s ease,background .25s ease!important}
.service-subitem:hover{transform:translateY(-2px);border-color:rgba(104,226,240,.35)!important;background:linear-gradient(145deg,rgba(76,211,228,.09),rgba(255,255,255,.045))!important}
.service-subitem>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(89,218,234,.09);border:1px solid rgba(102,226,240,.16);font-size:9px;color:#77e2ef;font-weight:900}.service-subitem>div b{display:block;font-size:13px;line-height:1.3;color:#f4fbfc}.service-subitem>div p{margin:6px 0 0!important;font-size:10.5px!important;line-height:1.45!important;color:rgba(219,239,243,.62)!important}.service-subitem>i{font-style:normal;color:#79e3ef;font-size:16px}
.service-modal-note{margin-top:18px;padding-top:16px;border-top:1px solid rgba(157,228,237,.12);font-size:10.5px;line-height:1.55;color:rgba(204,232,237,.5)}
@keyframes serviceSweep{to{transform:rotate(360deg)}}
@keyframes serviceOrbit{0%{transform:scale(.96) rotate(-7deg);opacity:.42}100%{transform:scale(1.04) rotate(7deg);opacity:.9}}
@keyframes serviceSpark{0%,100%{transform:translateY(0) scale(.8);opacity:.35}50%{transform:translateY(-16px) scale(1.15);opacity:1}}
@keyframes serviceIconFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-10px) rotate(1deg)}}
@keyframes serviceWave{0%,100%{height:12px;opacity:.4}50%{height:42px;opacity:1}}
@media (max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .service-modal{padding:12px!important;place-items:center!important}
  .service-modal-card{width:min(96cqw,700px)!important;max-height:90cqh!important;border-radius:28px!important;overflow:auto!important}
  .service-modal-layout{grid-template-columns:1fr;min-height:0}
  .service-modal-visual{min-height:190px;border-right:0;border-bottom:1px solid rgba(130,229,242,.13)}
  .service-modal-orbit.orbit-a{width:240px;height:240px}.service-modal-orbit.orbit-b{width:170px;height:170px}.service-modal-orbit.orbit-c{width:104px;height:104px}
  .service-modal-graphic-icon{width:82px;height:82px;border-radius:25px}.service-modal-graphic-icon img,.service-modal-graphic-icon svg{width:38px!important;height:38px!important;max-width:38px!important;max-height:38px!important}
  .service-modal-visual-number{left:22px;top:20px;font-size:72px}.service-modal-wave{bottom:18px;height:28px}
  .service-modal-content{padding:28px 22px 26px;overflow:visible}
  .service-modal-card h3{font-size:clamp(30px,8.6cqw,44px)!important;line-height:1.08!important;margin-right:40px!important}
  .service-modal-lead{font-size:13px!important;line-height:1.55!important}.service-modal-detail{font-size:11px;line-height:1.6;margin-top:16px;padding:14px 15px}
  .service-modal-list{grid-template-columns:1fr!important}.service-subitem{min-height:0!important}
  .service-modal-close{z-index:8!important;right:15px!important;top:15px!important}
}
@media (prefers-reduced-motion:reduce){.service-modal-visual:before,.service-modal-orbit,.service-modal-spark,.service-modal-graphic-icon,.service-modal-wave i{animation:none!important}}


/* =========================================================
   11.0.130 — STABLE FAQ + ROOMIER MENU + NESTED SERVICE DETAILS
   ========================================================= */
@media (min-width:901px){
  .scene-faq .faq-grid{top:128px!important;bottom:auto!important;transform:none!important}
  .menu-overlay nav{gap:clamp(8px,1.05cqh,12px)!important}
  .menu-overlay nav button{padding:clamp(7px,1.05cqh,11px) 0!important;line-height:1.08!important}
  .menu-inner .language-switch{margin-top:clamp(15px,2.3cqh,24px)!important}
}
@media (min-width:761px) and (max-height:760px){
  .scene-faq .faq-grid{top:112px!important}
  .scene-faq .faq-card{min-height:58px!important;padding:9px 13px!important}
  .menu-overlay nav{gap:5px!important}.menu-overlay nav button{padding:6px 0!important;font-size:clamp(20px,3.1cqh,27px)!important}
}
@media (max-width:760px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-faq .faq-grid{top:39%!important;bottom:auto!important;transform:none!important}
  .menu-overlay nav{gap:clamp(6px,1cqh,10px)!important}
  .menu-overlay nav button{padding:clamp(6px,1cqh,9px) 0!important}
}
.service-subitem{appearance:none;text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer}
.service-subitem:focus-visible{outline:2px solid #74e4dc;outline-offset:2px}
.service-subitem>i{transition:transform .25s ease}.service-subitem:hover>i{transform:translate(3px,-3px)}

.service-detail-modal{position:fixed;inset:0;z-index:12050;display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility .28s ease}
.service-detail-modal.open{opacity:1;visibility:visible;pointer-events:auto}
.service-detail-backdrop{position:absolute;inset:0;background:rgba(0,14,22,.62);backdrop-filter:blur(13px)}
.service-detail-shell{position:relative;width:min(980px,94cqw);max-height:min(86cqh,760px);display:grid;grid-template-columns:minmax(270px,.7fr) minmax(0,1.35fr);overflow:hidden;border-radius:34px;border:1px solid rgba(120,232,241,.25);background:linear-gradient(145deg,#073746 0%,#062735 44%,#f7fbfb 44.2%,#fff 100%);box-shadow:0 46px 150px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.08);transform:translateY(24px) scale(.96);opacity:.3;transition:transform .48s cubic-bezier(.2,.8,.2,1),opacity .35s ease}
.service-detail-modal.entered .service-detail-shell{transform:none;opacity:1}
.service-detail-close{position:absolute;right:20px;top:20px;z-index:5;width:48px;height:48px;border-radius:50%;border:1px solid rgba(7,75,89,.18);background:#073744;color:#dffbfb;font-size:27px;line-height:1;cursor:pointer;box-shadow:0 10px 28px rgba(0,0,0,.18)}
.service-detail-art{position:relative;min-height:590px;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle at 52% 42%,rgba(80,224,235,.18),transparent 28%)}
.service-detail-art:before{content:"";position:absolute;inset:-35%;background:conic-gradient(from 20deg,transparent 0 20%,rgba(102,228,238,.08) 25%,transparent 31% 58%,rgba(102,228,238,.06) 63%,transparent 70%);animation:detailSpin 16s linear infinite}
.service-detail-ring{position:absolute;border-radius:50%;border:1px solid rgba(117,231,240,.24);animation:detailBreathe 5s ease-in-out infinite alternate}.ring-1{width:330px;height:330px}.ring-2{width:225px;height:225px;animation-delay:-1.5s}.ring-3{width:125px;height:125px;animation-delay:-3s}
.service-detail-symbol{position:relative;z-index:2;width:100px;height:100px;border-radius:30px;display:grid;place-items:center;font-size:58px;font-weight:200;color:#82edf3;background:linear-gradient(145deg,rgba(117,233,242,.15),rgba(255,255,255,.025));border:1px solid rgba(126,234,246,.32);box-shadow:0 0 0 18px rgba(74,219,230,.035),0 28px 70px rgba(0,0,0,.2);animation:detailFloat 4.5s ease-in-out infinite}
.service-detail-index{position:absolute;left:28px;top:28px;font-size:68px;font-weight:800;line-height:.9;letter-spacing:-.07em;color:rgba(121,234,242,.11)}
.service-detail-pulse{position:absolute;width:7px;height:7px;border-radius:50%;background:#7de8f5;box-shadow:0 0 25px #2fd2e6;animation:detailPulse 3.5s ease-in-out infinite}.pulse-1{left:24%;top:25%}.pulse-2{right:22%;bottom:26%;animation-delay:-1.7s}
.service-detail-copy{padding:62px 58px 46px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(8,146,160,.35) transparent}
.service-detail-kicker{font-size:10px;font-weight:900;letter-spacing:.2em;color:#0b9ead;margin:0 58px 18px 0}
.service-detail-copy h3{margin:0 48px 16px 0;color:#07313b;font-size:clamp(36px,4.1cqw,56px);line-height:1.06;letter-spacing:-.045em;text-wrap:balance}
.service-detail-intro{margin:0;color:#4d6c74;font-size:15px;line-height:1.7;max-width:620px}
.service-detail-sections{display:grid;gap:10px;margin-top:26px}.service-detail-sections article{display:grid;grid-template-columns:34px 1fr;gap:13px;padding:16px;border-radius:18px;background:linear-gradient(135deg,rgba(7,132,148,.07),rgba(7,132,148,.025));border:1px solid rgba(8,123,138,.1)}.service-detail-sections span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e7f8f8;color:#078b99;font-size:9px;font-weight:900}.service-detail-sections b{display:block;color:#0a3b45;font-size:13px}.service-detail-sections p{margin:5px 0 0;color:#607a81;font-size:12px;line-height:1.55}.service-detail-note{margin-top:20px;padding-top:16px;border-top:1px solid rgba(8,108,122,.12);color:#82969b;font-size:10.5px;line-height:1.55}
@keyframes detailSpin{to{transform:rotate(360deg)}}@keyframes detailBreathe{to{transform:scale(1.07) rotate(8deg);opacity:.55}}@keyframes detailFloat{50%{transform:translateY(-10px) rotate(3deg)}}@keyframes detailPulse{50%{transform:translateY(-18px) scale(1.25);opacity:.45}}
@media(max-width:760px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.service-detail-modal{padding:10px}.service-detail-shell{width:calc(100cqw - 20px);max-height:92cqh;grid-template-columns:1fr;border-radius:26px;background:linear-gradient(180deg,#073746 0 180px,#fff 180px)}.service-detail-art{min-height:180px}.service-detail-ring.ring-1{width:220px;height:220px}.service-detail-ring.ring-2{width:150px;height:150px}.service-detail-ring.ring-3{width:86px;height:86px}.service-detail-symbol{width:70px;height:70px;border-radius:22px;font-size:40px}.service-detail-index{left:18px;top:18px;font-size:50px}.service-detail-copy{padding:30px 22px 28px;max-height:calc(92cqh - 180px);overflow:auto}.service-detail-copy h3{font-size:clamp(30px,9cqw,42px);margin-right:34px}.service-detail-kicker{margin-right:42px}.service-detail-close{right:14px;top:14px;width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.service-detail-art:before,.service-detail-ring,.service-detail-symbol,.service-detail-pulse{animation:none!important}}

/* =========================================================
   11.0.131 — SERVICE MODAL INTERACTION + DETAIL TITLE FIX
   ========================================================= */
/* Modal 1: keep the close control above every visual layer and make the
   right-hand content the dedicated scroll region on desktop as well. */
.service-modal-card{
  overflow:hidden!important;
}
.service-modal-layout{
  height:min(86cqh,780px)!important;
  min-height:0!important;
}
.service-modal-content{
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(105,226,239,.55) rgba(255,255,255,.035)!important;
}
.service-modal-content::-webkit-scrollbar{display:block!important;width:8px!important}
.service-modal-content::-webkit-scrollbar-track{background:rgba(255,255,255,.03)!important;border-radius:99px!important}
.service-modal-content::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#82eaf5,#2bbdd0)!important;border-radius:99px!important;border:2px solid rgba(4,31,45,.72)!important}
.service-modal-close{
  z-index:50!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  isolation:isolate!important;
}
.service-modal-close:after{content:"";position:absolute;inset:-8px;border-radius:50%}

/* Modal 2: remove the diagonal split from behind the title. The graphic
   panel owns the dark treatment; copy stays on a clean light surface. */
.service-detail-shell{
  background:#f8fcfc!important;
  grid-template-columns:minmax(285px,.72fr) minmax(0,1.42fr)!important;
  overflow:hidden!important;
}
.service-detail-art{
  background:radial-gradient(circle at 52% 42%,rgba(80,224,235,.20),transparent 29%),linear-gradient(155deg,#073746 0%,#052b39 100%)!important;
  border-right:1px solid rgba(9,114,129,.12)!important;
}
.service-detail-copy{
  position:relative!important;
  z-index:2!important;
  min-width:0!important;
  min-height:0!important;
  padding:58px 54px 44px!important;
  background:linear-gradient(160deg,#fbfefe 0%,#f5fbfb 100%)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
}
.service-detail-copy h3{
  position:relative!important;
  z-index:3!important;
  margin:0 58px 18px 0!important;
  max-width:100%!important;
  color:#07313b!important;
  font-size:clamp(34px,3.45cqw,52px)!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important;
  overflow:visible!important;
  text-wrap:balance!important;
}
.service-detail-kicker{position:relative!important;z-index:3!important;margin-right:64px!important}
.service-detail-intro{position:relative!important;z-index:3!important}
.service-detail-close{z-index:60!important;pointer-events:auto!important;cursor:pointer!important}

@media (max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .service-modal-card{overflow:hidden!important}
  .service-modal-layout{height:min(90cqh,820px)!important;display:grid!important;grid-template-rows:190px minmax(0,1fr)!important}
  .service-modal-content{overflow-y:auto!important;padding-bottom:32px!important}
}
@media (max-width:760px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .service-detail-shell{background:#fff!important;grid-template-columns:1fr!important;grid-template-rows:180px minmax(0,1fr)!important}
  .service-detail-art{min-height:180px!important;border-right:0!important;border-bottom:1px solid rgba(9,114,129,.10)!important}
  .service-detail-copy{padding:30px 22px 32px!important;max-height:none!important;overflow-y:auto!important}
  .service-detail-copy h3{font-size:clamp(29px,8.4cqw,40px)!important;line-height:1.14!important;margin:0 34px 14px 0!important}
}


/* =========================================================
   11.0.132 — LANGUAGE-STABLE GEOMETRY
   GR / EN changes copy only. Controls keep the exact size they had
   immediately before the language switch, so icons and positions do not jump.
   ========================================================= */
.language-geometry-lock{
  width:var(--lang-lock-w)!important;
  min-width:var(--lang-lock-w)!important;
  max-width:var(--lang-lock-w)!important;
  height:var(--lang-lock-h)!important;
  min-height:var(--lang-lock-h)!important;
  max-height:var(--lang-lock-h)!important;
  flex:0 0 var(--lang-lock-w)!important;
}
.language-flow-lock{min-height:var(--lang-lock-min-h)!important}
.booking-pill .booking-label,.contact-cta b{white-space:nowrap!important}
.contact-cta>span,.booking-pill .booking-arrow{flex:0 0 auto!important}
.contact-cta b,.booking-pill .booking-label{min-width:0!important;text-align:center!important}


/* 11.0.134 — social links replace the former language selector. */
.menu-inner .menu-social{margin-top:clamp(12px,2cqh,20px);padding-top:10px;border-top:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:space-between;gap:18px;flex:0 0 auto}
.menu-inner .menu-social>span{font-size:9px;letter-spacing:.22em;color:rgba(255,255,255,.56);font-weight:800;white-space:nowrap}
.menu-social-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.menu-social-link{height:34px;padding:0 13px;border-radius:999px;border:1px solid rgba(255,255,255,.28);display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font:800 10px/1 inherit;letter-spacing:.08em;transition:background .25s ease,border-color .25s ease,transform .25s ease}
.menu-social-link:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.56);background:rgba(255,255,255,.08)}
.menu-social-link svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.menu-social-link#menuFacebook svg{fill:currentColor;stroke:none}
@media(max-width:760px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.menu-inner .menu-social{margin-top:6px;padding-top:7px;gap:8px}.menu-inner .menu-social>span{font-size:7px}.menu-social-links{gap:5px}.menu-social-link{height:28px;padding:0 9px;font-size:8px;gap:5px}.menu-social-link svg{width:13px;height:13px}}
@media(max-height:680px){.menu-inner .menu-social{margin-top:4px;padding-top:5px}.menu-social-link{height:26px}}


/* 11.0.135 — all rounded modal scrollbars stay fully inside their panels. */
.service-modal-content,.service-detail-copy{scrollbar-width:none!important;}
.service-modal-content::-webkit-scrollbar,.service-detail-copy::-webkit-scrollbar{width:0!important;height:0!important;display:none!important;}
.service-detail-shell,.service-modal-card{overflow:hidden!important;}
@media(max-width:760px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.service-detail-copy{padding-right:28px!important;}}

/* 11.0.136 — space gallery: simple photo highlight on hover, no zoom/expansion */
@media (min-width:901px){
  .scene-space .space-gallery:hover .space-card{
    opacity:1!important;
    filter:none!important;
  }
  .scene-space .space-gallery .space-card:hover{
    flex-basis:clamp(190px,13.8cqw,270px)!important;
    min-width:clamp(190px,13.8cqw,270px)!important;
    transform:none!important;
    opacity:1!important;
    filter:brightness(1.08) saturate(1.04)!important;
    box-shadow:inset 0 0 0 2px rgba(113,224,241,.72),0 0 28px rgba(76,211,233,.22)!important;
    z-index:4;
  }
  .scene-space .space-card img,
  .scene-space .space-card:hover img{
    transform:scale(1.05)!important;
    filter:saturate(.92) brightness(.94)!important;
  }
  .scene-space .space-card:hover img{
    filter:saturate(1.04) brightness(1.08)!important;
  }
  .scene-space .space-card:hover:after{opacity:0!important;transform:scale(.75)!important}
}

/* 11.0.137 — Hero navigation: subtle directional animation */
.edge-nav{
  box-shadow:0 8px 26px rgba(4,43,59,.10),0 0 0 0 rgba(6,169,204,0);
  animation:heroNavSoftPulse 3.4s ease-in-out infinite;
  will-change:transform,box-shadow;
}
.edge-prev{animation-delay:.15s}
.edge-next{animation-delay:.55s}
.edge-prev::after,.edge-next::after{
  display:block;
  line-height:1;
  animation:heroArrowHint 2.8s ease-in-out infinite;
}
.edge-prev::after{content:'‹'}
.edge-next::after{content:'›';animation-delay:.4s}
.edge-nav{font-size:0}
.edge-nav::after{font-size:42px}
.edge-nav:hover{
  animation-play-state:paused;
  box-shadow:0 10px 30px rgba(4,43,59,.15),0 0 0 5px rgba(6,169,204,.10);
}
.edge-prev:hover::after{transform:translateX(-4px)}
.edge-next:hover::after{transform:translateX(4px)}
@keyframes heroNavSoftPulse{
  0%,100%{box-shadow:0 8px 26px rgba(4,43,59,.10),0 0 0 0 rgba(6,169,204,0)}
  50%{box-shadow:0 10px 30px rgba(4,43,59,.14),0 0 0 5px rgba(6,169,204,.08)}
}
@keyframes heroArrowHint{
  0%,72%,100%{transform:translateX(0)}
  82%{transform:translateX(3px)}
  90%{transform:translateX(0)}
}
.edge-prev::after{animation-name:heroArrowHintPrev}
@keyframes heroArrowHintPrev{
  0%,72%,100%{transform:translateX(0)}
  82%{transform:translateX(-3px)}
  90%{transform:translateX(0)}
}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.edge-nav::after{font-size:34px}}
@media(max-width:560px){.edge-nav::after{font-size:30px}}
@media(prefers-reduced-motion:reduce){.edge-nav,.edge-nav::after{animation:none!important}}

/* 11.0.138 — optically and geometrically center Hero chevrons */
.edge-nav{position:absolute!important;display:grid!important;place-items:center!important;}
.edge-prev::after,.edge-next::after{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:1em!important;
  height:1em!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  margin:0!important;
  padding:0!important;
  transform:translate(-50%,-50%)!important;
  transform-origin:center!important;
}
.edge-prev:hover::after{transform:translate(calc(-50% - 4px),-50%)!important}
.edge-next:hover::after{transform:translate(calc(-50% + 4px),-50%)!important}
@keyframes heroArrowHint{
  0%,72%,100%{transform:translate(-50%,-50%)}
  82%{transform:translate(calc(-50% + 3px),-50%)}
  90%{transform:translate(-50%,-50%)}
}
@keyframes heroArrowHintPrev{
  0%,72%,100%{transform:translate(-50%,-50%)}
  82%{transform:translate(calc(-50% - 3px),-50%)}
  90%{transform:translate(-50%,-50%)}
}


/* 11.0.140 — discreet destination labels under Hero arrows */
.edge-nav-label{
  position:absolute;
  top:calc(100% + 9px);
  left:50%;
  transform:translateX(-50%);
  width:max-content;
  max-width:150px;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(5,42,57,.42);
  border:1px solid rgba(255,255,255,.20);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  color:rgba(255,255,255,.84);
  font-size:8px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  white-space:nowrap;
  opacity:.72;
  pointer-events:none;
  transition:opacity .22s ease,transform .22s ease,background .22s ease;
  text-shadow:0 1px 8px rgba(0,0,0,.18);
}
.edge-nav:hover .edge-nav-label{opacity:1;transform:translateX(-50%) translateY(2px);background:rgba(5,42,57,.58)}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.edge-nav-label{top:calc(100% + 6px);font-size:6.5px;padding:3px 6px;max-width:112px;letter-spacing:.09em}}
@media(max-width:560px){.edge-nav-label{font-size:6px;max-width:96px}}

/* 11.0.140 — keep Hero destination labels safely inside viewport */
.edge-prev .edge-nav-label{
  left:0!important;
  transform:none!important;
  max-width:min(124px,calc(100cqw - 20px))!important;
}
.edge-next .edge-nav-label{
  left:auto!important;
  right:0!important;
  transform:none!important;
  max-width:min(124px,calc(100cqw - 20px))!important;
}
.edge-nav-label{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:7px!important;
  letter-spacing:.09em!important;
  padding:4px 7px!important;
}
.edge-prev:hover .edge-nav-label,.edge-next:hover .edge-nav-label{transform:translateY(2px)!important}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .edge-nav-label{font-size:6px!important;max-width:min(100px,calc(100cqw - 16px))!important;padding:3px 6px!important;letter-spacing:.07em!important}
}
@media(max-width:560px){
  .edge-nav-label{font-size:5.5px!important;max-width:min(86px,calc(100cqw - 14px))!important}
}

/* 11.0.142 — destination name follows the Hero navigation circle */
.edge-nav-label{
  top:50%!important;left:50%!important;right:auto!important;
  width:calc(100% + 34px)!important;height:calc(100% + 34px)!important;
  max-width:none!important;padding:0!important;border:0!important;background:transparent!important;
  overflow:visible!important;text-overflow:clip!important;border-radius:50%!important;
  transform:translate(-50%,-50%)!important;opacity:.72!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
.edge-nav-label svg{display:block;width:100%;height:100%;overflow:visible}
.edge-nav-label text{fill:rgba(255,255,255,.82);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:7px;font-weight:800;letter-spacing:.10em;text-transform:uppercase;text-shadow:0 1px 6px rgba(0,0,0,.25)}
.edge-nav:hover .edge-nav-label{transform:translate(-50%,-50%)!important;opacity:1!important;background:transparent!important}
/* light Hero backgrounds */
body:has(.hero-scene.is-active.scene-profile) .edge-nav-label text,
body:has(.hero-scene.is-active.scene-faq) .edge-nav-label text,
body:has(.hero-scene.is-active.scene-map) .edge-nav-label text{fill:rgba(5,48,67,.76)}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.edge-nav-label{width:calc(100% + 28px)!important;height:calc(100% + 28px)!important}.edge-nav-label text{font-size:6.4px;letter-spacing:.08em}}
@media(max-width:560px){.edge-nav-label{width:calc(100% + 24px)!important;height:calc(100% + 24px)!important}.edge-nav-label text{font-size:6px;letter-spacing:.06em}}

/* 11.0.142 — destination labels removed completely; keep only hero arrow controls. */
.edge-nav-label{display:none!important}


/* 11.0.143 — 1920x1080 desktop reference canvas for higher resolutions.
   Container query units keep every desktop element anchored to the same
   1920x1080 design geometry before the whole canvas is scaled uniformly. */
.app{container-type:size}
html.desktop-reference,html.desktop-reference body{overflow:hidden!important}
html.desktop-reference body{display:block!important;background:#eef5f7!important}
html.desktop-reference .app{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:1920px!important;
  height:1080px!important;
  transform:translate(-50%,-50%) scale(var(--desktop-reference-scale,1))!important;
  transform-origin:center center!important;
}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .app{container-type:size}
}

/* 11.0.144 — Reviews editorial constellation */
@media (min-width:901px){
  .scene-reviews{overflow:hidden}
  .scene-reviews::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 73% 50%,rgba(133,232,245,.11),transparent 28%),linear-gradient(90deg,transparent 0 48%,rgba(145,235,246,.035) 48% 48.08%,transparent 48.08%)}
  .scene-reviews .reviews-copy{left:7%!important;top:21%!important;width:38%!important;z-index:5}
  .scene-reviews .reviews-copy h2{font-size:clamp(54px,5.15cqw,80px)!important;line-height:.94!important;max-width:650px}
  .scene-reviews .reviews-copy>p{max-width:470px!important;margin-top:28px!important;font-size:13px!important}
  .scene-reviews .reviews-score{margin-top:34px;gap:18px}
  .scene-reviews .reviews-score>strong{font-size:52px}
  .scene-reviews .reviews-score b{font-size:15px}

  .scene-reviews .reviews-deck{left:50.5%!important;right:auto!important;top:19%!important;width:min(38cqw,610px)!important;height:56%!important;z-index:6;perspective:1400px;isolation:isolate}
  .scene-reviews .reviews-deck::before,.scene-reviews .reviews-deck::after{content:"";position:absolute;inset:5% -8% -5% 8%;border:1px solid rgba(143,233,245,.16);border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.015));box-shadow:0 28px 70px rgba(0,10,18,.18);transform:rotate(4deg) translate(24px,12px);z-index:-2}
  .scene-reviews .reviews-deck::after{inset:9% -13% -9% 14%;opacity:.58;transform:rotate(8deg) translate(38px,20px);z-index:-3}
  .scene-reviews .review-card{padding:44px 46px!important;border-radius:34px!important;border-color:rgba(170,239,248,.3)!important;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.055))!important;box-shadow:0 38px 100px rgba(0,8,16,.38),inset 0 1px 0 rgba(255,255,255,.09)!important}
  .scene-reviews .review-card::after{content:"";position:absolute;left:44px;right:44px;bottom:92px;height:1px;background:linear-gradient(90deg,rgba(143,233,245,.5),transparent)}
  .scene-reviews .review-card blockquote{font-size:clamp(24px,2cqw,32px)!important;line-height:1.42!important;max-width:92%;padding:0!important}
  .scene-reviews .review-avatar{width:52px;height:52px;box-shadow:0 0 0 7px rgba(143,233,245,.08)}
  .scene-reviews .reviews-controls{left:50.5%!important;bottom:13.5%!important;top:auto!important;width:min(38cqw,610px);display:flex;justify-content:space-between;align-items:center;z-index:7}
  .scene-reviews .reviews-control.next{min-width:170px;background:rgba(143,233,245,.95);color:#073242;border-color:transparent;box-shadow:0 12px 32px rgba(0,0,0,.16)}
  .scene-reviews .reviews-control.pause{margin-left:auto}
  .scene-reviews .reviews-orbit{right:3.4%;bottom:5.5%;opacity:.48;transform:scale(.82)}
}

/* 11.0.145 — review author sits cleanly below divider */
@media (min-width:901px){
  .scene-reviews .review-card footer{transform:translateY(18px)!important}
}

/* 11.0.146 — give the menu social row a little more breathing room below navigation. */
@media (min-width:761px){
  .menu-inner .menu-social{transform:translateY(22px)}
}

/* 11.0.149 — CINEMATIC LOCATION EXPERIENCE. 1920x1080 reference remains authoritative. */
@media (min-width:901px){
  .scene-map{background:#eef8fa!important;overflow:hidden!important}
  .scene-map:before{background:radial-gradient(circle at 78% 42%,rgba(52,211,235,.22),transparent 29%),radial-gradient(circle at 20% 74%,rgba(7,48,71,.055),transparent 34%),linear-gradient(118deg,#f7fcfd 0%,#eef9fb 45%,#dff5f8 100%)!important}
  .scene-map:after{width:54cqw!important;height:54cqw!important;right:-12cqw!important;top:-22cqw!important;border-color:rgba(5,174,205,.16)!important;box-shadow:0 0 0 5cqw rgba(5,174,205,.035),0 0 0 11cqw rgba(5,174,205,.022)!important}
  .map-gridfield{position:absolute;z-index:1;inset:0;pointer-events:none;opacity:.32;background-image:linear-gradient(rgba(7,48,71,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(7,48,71,.055) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.65) 43%,rgba(0,0,0,.25) 72%,transparent 100%)}
  .map-copy{left:6.8%!important;top:17.8%!important;width:36%!important;z-index:8!important}
  .map-copy h2{font-size:clamp(58px,5.15cqw,92px)!important;line-height:.91!important;letter-spacing:-.06em!important;margin:17px 0 22px!important}
  .map-copy p{font-size:14px!important;letter-spacing:.02em!important;max-width:470px!important;color:#587987!important}
  .map-actions{margin-top:6px!important}
  .map-route-btn{height:58px!important;padding:0 22px 0 25px!important;background:linear-gradient(110deg,#073047,#07566e)!important;box-shadow:0 22px 54px rgba(7,48,71,.22),inset 0 1px rgba(255,255,255,.13)!important;position:relative;overflow:hidden}
  .map-route-btn:after{content:"";position:absolute;inset:-80% -20%;background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.22) 50%,transparent 65%);transform:translateX(-90%);transition:transform .65s ease}.map-route-btn:hover:after{transform:translateX(90%)}
  .map-stage-wrap{right:3.3%!important;top:8.5%!important;bottom:7.2%!important;width:55.5%!important;z-index:6!important;perspective:1800px!important}
  .map-glow{inset:2% -4% -4% 3%!important;border-radius:54px!important;filter:blur(34px)!important;opacity:.82!important;background:radial-gradient(circle at 58% 42%,rgba(51,217,240,.52),transparent 31%),linear-gradient(135deg,rgba(6,169,204,.34),rgba(7,48,71,.12))!important}
  .map-frame{inset:0 0 46px 0!important;border-radius:42px 42px 42px 14px!important;border:1px solid rgba(255,255,255,.98)!important;box-shadow:0 45px 110px rgba(4,45,64,.25),0 0 0 8px rgba(255,255,255,.38),inset 0 0 0 1px rgba(7,48,71,.05)!important;transform:rotateY(-2.5deg) rotateX(.7deg);transform-origin:center}
  .map-frame iframe{filter:saturate(.86) contrast(.96) brightness(1.035)!important;transform:scale(1.035)}
  .map-frame-sheen{background:linear-gradient(112deg,rgba(255,255,255,.34) 0%,transparent 17%,transparent 69%,rgba(35,205,231,.12) 100%)!important}
  .map-caption{left:34px!important;right:30px!important;height:46px!important;font-size:8px!important}
  .map-location-beacon{position:absolute;left:51%;top:49%;width:72px;height:72px;transform:translate(-50%,-50%);z-index:7;display:grid;place-items:center;pointer-events:none}
  .map-location-beacon i{position:absolute;inset:0;border:1px solid rgba(4,190,220,.8);border-radius:50%;animation:mapMegaPulse 2.35s cubic-bezier(.2,.65,.3,1) infinite}.map-location-beacon i:nth-child(2){animation-delay:1.15s}
  .map-location-beacon span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#08b9d7;color:#fff;font-size:24px;font-weight:300;box-shadow:0 0 0 8px rgba(8,185,215,.17),0 15px 34px rgba(3,70,92,.32);animation:mapBeaconFloat 2.6s ease-in-out infinite}
  .map-live-card{position:absolute;z-index:8;right:26px;top:26px;width:190px;padding:15px 17px;border-radius:17px;background:rgba(5,43,59,.83);border:1px solid rgba(159,237,247,.25);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 18px 42px rgba(3,33,47,.22);color:#fff;display:flex;flex-direction:column;gap:4px}
  .map-live-card small{font-size:7px;letter-spacing:.22em;color:#85e7f3}.map-live-card strong{font-size:13px;letter-spacing:.08em}.map-live-card span{font-size:8px;opacity:.65;letter-spacing:.05em}
  .map-corner{position:absolute;z-index:8;width:46px;height:46px;pointer-events:none}.map-corner-a{left:20px;top:20px;border-left:1px solid rgba(8,185,215,.65);border-top:1px solid rgba(8,185,215,.65)}.map-corner-b{right:20px;bottom:20px;border-right:1px solid rgba(8,185,215,.65);border-bottom:1px solid rgba(8,185,215,.65)}
  .map-route-line{position:absolute;z-index:4;left:38.2%;top:49%;width:14%;height:1px;background:linear-gradient(90deg,rgba(8,185,215,0),rgba(8,185,215,.85),rgba(8,185,215,.12));transform:rotate(-7deg);transform-origin:left center;pointer-events:none}
  .map-route-line:after{content:"";position:absolute;right:-5px;top:-4px;width:9px;height:9px;border-radius:50%;background:#08b9d7;box-shadow:0 0 0 7px rgba(8,185,215,.13),0 0 22px rgba(8,185,215,.65)}
  .map-route-line i{position:absolute;width:5px;height:5px;border-radius:50%;background:#08b9d7;top:-2px;animation:mapRouteTravel 2.4s linear infinite}.map-route-line i:nth-child(2){animation-delay:.8s}.map-route-line i:nth-child(3){animation-delay:1.6s}
  @keyframes mapMegaPulse{0%{transform:scale(.45);opacity:.9}100%{transform:scale(2.65);opacity:0}}
  @keyframes mapBeaconFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
  @keyframes mapRouteTravel{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:100%;opacity:0}}
}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.map-gridfield,.map-route-line,.map-live-card,.map-corner{display:none!important}.map-location-beacon{position:absolute;left:50%;top:50%;width:48px;height:48px;transform:translate(-50%,-50%);z-index:8;display:grid;place-items:center}.map-location-beacon i{position:absolute;inset:0;border:1px solid rgba(4,190,220,.7);border-radius:50%;animation:mapMegaPulse 2.35s ease-out infinite}.map-location-beacon i:nth-child(2){animation-delay:1.15s}.map-location-beacon span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#08b9d7;color:#fff;box-shadow:0 0 0 6px rgba(8,185,215,.15)}}
@media(prefers-reduced-motion:reduce){.map-location-beacon i,.map-location-beacon span,.map-route-line i{animation:none!important}}

/* 11.0.151 — cinematic map hero, reference-safe */
.scene-map{
  background:#041823!important;
  color:#effcff!important;
}
.scene-map:before{
  background:
    radial-gradient(circle at 77% 48%,rgba(0,214,245,.14),transparent 28%),
    radial-gradient(circle at 18% 78%,rgba(0,156,197,.10),transparent 31%),
    linear-gradient(118deg,#03151f 0%,#062331 52%,#03151f 100%)!important;
}
.scene-map:after{
  width:74cqw!important;height:74cqw!important;right:-25cqw!important;top:-34cqw!important;
  border-color:rgba(72,224,245,.16)!important;
  box-shadow:0 0 0 8cqw rgba(33,211,237,.025),0 0 0 16cqw rgba(33,211,237,.018)!important;
}
.scene-map .scene-kicker{color:#dffaff!important;border-color:rgba(142,235,248,.32)!important;background:rgba(4,24,35,.42)!important;backdrop-filter:blur(14px)}
.scene-map .map-copy{left:6.7%!important;top:17.2%!important;width:34.5%!important;z-index:8!important}
.scene-map .map-copy .mini-label{color:#4ae0f5!important}
.scene-map .map-copy h2{color:#f4fdff!important;text-shadow:0 18px 50px rgba(0,0,0,.23)}
.scene-map .map-copy h2 i{color:#4de7fa!important;text-shadow:0 0 30px rgba(77,231,250,.18)}
.scene-map .map-copy p{color:#92adba!important;font-size:15px!important;letter-spacing:.01em}
.scene-map .map-route-btn{background:#59e5f7!important;color:#03202c!important;box-shadow:0 0 0 1px rgba(106,237,255,.35),0 18px 50px rgba(0,205,235,.18)!important}
.scene-map .map-route-btn:hover{background:#8af0fc!important;transform:translateY(-3px) scale(1.015)!important}
.scene-map .map-route-btn b{color:#03202c!important}
.scene-map .map-coordinates small{color:#6e95a4!important}.scene-map .map-coordinates strong{color:#e9fbff!important}

.scene-map .map-supertype{position:absolute;z-index:1;left:5.4%;bottom:4.7%;font-size:clamp(88px,10.8cqw,188px);line-height:.74;font-weight:900;letter-spacing:-.07em;color:transparent;-webkit-text-stroke:1px rgba(94,225,243,.10);white-space:nowrap;pointer-events:none;transform:skewX(-5deg)}
.scene-map .map-gridfield{display:block!important;position:absolute!important;z-index:1!important;inset:0!important;opacity:.34!important;background-image:linear-gradient(rgba(69,211,231,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(69,211,231,.055) 1px,transparent 1px)!important;background-size:42px 42px!important;mask-image:linear-gradient(90deg,#000 0 58%,transparent 88%)!important}
.scene-map .map-orbit{position:absolute;z-index:3;left:34.2%;top:28%;width:19cqw;height:19cqw;border:1px solid rgba(83,225,244,.16);border-radius:50%;pointer-events:none;animation:mapOrbitFloat 6s ease-in-out infinite}
.scene-map .map-orbit:before,.scene-map .map-orbit:after{content:"";position:absolute;border-radius:50%;inset:12%;border:1px dashed rgba(83,225,244,.14)}
.scene-map .map-orbit:after{inset:28%;border-style:solid;border-color:rgba(83,225,244,.12)}
.scene-map .map-orbit i{position:absolute;left:50%;top:50%;width:7px;height:7px;margin:-3.5px;border-radius:50%;background:#5be8fa;box-shadow:0 0 18px rgba(91,232,250,.75)}
.scene-map .map-orbit i:nth-child(1){transform:translate(8.2cqw,-1.3cqw)}.scene-map .map-orbit i:nth-child(2){transform:translate(-6.8cqw,4.4cqw)}.scene-map .map-orbit i:nth-child(3){transform:translate(1.8cqw,7.5cqw)}
.scene-map .map-orbit b{position:absolute;left:50%;top:-18px;transform:translateX(-50%);font-size:9px;letter-spacing:.25em;color:#78dae8;font-weight:800}
.scene-map .map-signal{position:absolute;z-index:4;left:39.7%;top:19%;width:95px;height:28px;display:flex;align-items:flex-end;gap:4px;color:#80dce9;pointer-events:none}
.scene-map .map-signal span{display:block;width:3px;background:#5be8fa;border-radius:3px;animation:mapBars 1.4s ease-in-out infinite}.scene-map .map-signal span:nth-child(1){height:8px}.scene-map .map-signal span:nth-child(2){height:14px;animation-delay:.12s}.scene-map .map-signal span:nth-child(3){height:20px;animation-delay:.24s}.scene-map .map-signal small{margin-left:6px;white-space:nowrap;font-size:8px;letter-spacing:.14em;opacity:.75}

.scene-map .map-stage-wrap{right:3.4%!important;top:8.2%!important;bottom:7.2%!important;width:55.5%!important;z-index:6!important;transform:translate3d(8%,0,0) rotateY(-4deg)!important}
.scene-map.is-active .map-stage-wrap{animation:mapStageIn151 1.08s cubic-bezier(.16,1,.3,1) .04s forwards!important}
.scene-map .map-stage-wrap:before{inset:-42px -50px -48px!important;border-radius:54px!important;background:radial-gradient(circle at 45% 48%,rgba(46,224,246,.26),transparent 62%)!important;filter:blur(24px)!important}
.scene-map .map-frame{inset:0 0 40px 0!important;border-radius:34px!important;background:#061c27!important;border:1px solid rgba(111,235,251,.24)!important;box-shadow:0 46px 110px rgba(0,0,0,.42),0 0 0 1px rgba(111,235,251,.08),inset 0 0 70px rgba(20,217,239,.07)!important}
.scene-map .map-frame:before{content:""!important;position:absolute!important;inset:0!important;z-index:2!important;pointer-events:none!important;background:linear-gradient(90deg,rgba(1,22,31,.38),transparent 22%,transparent 75%,rgba(2,20,30,.32)),linear-gradient(0deg,rgba(2,19,28,.28),transparent 24%,transparent 82%,rgba(2,19,28,.22))!important}
.scene-map .map-frame iframe{inset:-3%!important;width:106%!important;height:106%!important;filter:grayscale(.88) saturate(.55) contrast(1.26) brightness(.70) sepia(.14) hue-rotate(142deg)!important;opacity:.92!important}
.scene-map .map-frame-sheen{z-index:3!important;background:linear-gradient(115deg,rgba(91,232,250,.08),transparent 18%,transparent 58%,rgba(7,165,196,.12)),repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0 1px,transparent 1px 4px)!important;mix-blend-mode:screen!important}
.scene-map .map-scanline{position:absolute;z-index:4;left:0;right:0;height:1px;top:10%;background:linear-gradient(90deg,transparent,rgba(91,232,250,.8),transparent);box-shadow:0 0 18px rgba(91,232,250,.55);opacity:.65;animation:mapScan 5.2s linear infinite;pointer-events:none}
.scene-map .map-location-beacon{z-index:6!important;filter:drop-shadow(0 0 18px rgba(83,232,250,.55))}
.scene-map .map-location-beacon span{background:#5be8fa!important;color:#03202c!important;border-color:#b8f7ff!important;box-shadow:0 0 0 5px rgba(91,232,250,.12),0 0 32px rgba(91,232,250,.45)!important}
.scene-map .map-live-card{z-index:6!important;background:rgba(3,26,37,.86)!important;border:1px solid rgba(98,231,248,.25)!important;color:#effcff!important;backdrop-filter:blur(16px)!important;box-shadow:0 18px 42px rgba(0,0,0,.22)!important}
.scene-map .map-live-card small,.scene-map .map-live-card span{color:#72ccda!important}.scene-map .map-live-card strong{color:#f3fdff!important}
.scene-map .map-route-chip{position:absolute;z-index:6;right:24px;bottom:24px;min-width:238px;padding:15px 17px 14px;border-radius:18px;background:rgba(3,25,35,.82);border:1px solid rgba(91,232,250,.22);backdrop-filter:blur(14px);box-shadow:0 16px 40px rgba(0,0,0,.25);display:grid;gap:3px;color:#eefdff}
.scene-map .map-route-chip small{font-size:7px;letter-spacing:.22em;color:#64d9e8}.scene-map .map-route-chip strong{font-size:11px;letter-spacing:.08em}.scene-map .map-route-chip span{font-size:8px;letter-spacing:.14em;color:#7ba9b7}
.scene-map .map-caption{color:#75c6d2!important;border-color:rgba(89,226,244,.16)!important}.scene-map .map-caption b{color:#e8faff!important}
.scene-map .map-corner{border-color:#5be8fa!important;opacity:.8!important}
.scene-map .map-route-line{display:block!important;position:absolute!important;z-index:2!important;left:33.8%!important;top:51%!important;width:16.5%!important;height:1px!important;background:linear-gradient(90deg,rgba(91,232,250,.08),rgba(91,232,250,.62),rgba(91,232,250,.08))!important;transform:rotate(-12deg)!important;transform-origin:left center!important;box-shadow:0 0 12px rgba(91,232,250,.22)!important}
.scene-map .map-route-line i{position:absolute!important;top:-3px!important;width:7px!important;height:7px!important;border-radius:50%!important;background:#5be8fa!important;box-shadow:0 0 16px rgba(91,232,250,.75)!important}.scene-map .map-route-line i:nth-child(1){left:0!important}.scene-map .map-route-line i:nth-child(2){left:48%!important}.scene-map .map-route-line i:nth-child(3){right:0!important}

@keyframes mapScan{0%{top:8%;opacity:0}8%{opacity:.75}88%{opacity:.5}100%{top:92%;opacity:0}}
@keyframes mapBars{0%,100%{opacity:.35;transform:scaleY(.55)}50%{opacity:1;transform:scaleY(1)}}
@keyframes mapOrbitFloat{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-8px) rotate(4deg)}}
@keyframes mapStageIn151{0%{opacity:0;transform:translate3d(9%,0,0) rotateY(-7deg) scale(.965);clip-path:inset(0 0 0 100% round 34px)}100%{opacity:1;transform:translate3d(0,0,0) rotateY(-4deg) scale(1);clip-path:inset(0 0 0 0 round 34px)}}

@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-map .map-supertype{font-size:18cqw;left:4%;bottom:8%;opacity:.7}
  .scene-map .map-orbit,.scene-map .map-signal,.scene-map .map-route-line{display:none!important}
  .scene-map .map-copy{left:7%!important;top:14.2%!important;width:84%!important}
  .scene-map .map-copy h2{font-size:clamp(44px,11cqw,64px)!important}
  .scene-map .map-copy p{color:#8eacb9!important}
  .scene-map .map-stage-wrap{left:6%!important;right:6%!important;width:auto!important;top:54.5%!important;bottom:9%!important;transform:none!important}
  .scene-map.is-active .map-stage-wrap{animation:none!important;opacity:1!important;transform:none!important;clip-path:none!important}
  .scene-map .map-frame{inset:0 0 28px!important;border-radius:22px!important}
  .scene-map .map-route-chip{right:12px;bottom:12px;min-width:0;padding:10px 12px}.scene-map .map-route-chip strong{font-size:9px}
}
@media(max-width:560px){
  .scene-map .map-route-chip{display:none!important}
  .scene-map .map-copy h2{font-size:37px!important}
  .scene-map .map-stage-wrap{top:57%!important}
  .scene-map .map-frame{border-radius:18px!important}
}
@media(prefers-reduced-motion:reduce){.scene-map .map-scanline,.scene-map .map-orbit,.scene-map .map-signal span{animation:none!important}}
\n\n/* 11.0.153 — large-resolution reference viewport hardening.\n   Keep the full 1920x1080 composition intact, center it, and extend the\n   active hero atmosphere into any extra ultrawide/tall viewport area. */\nhtml.desktop-reference,\nhtml.desktop-reference body{\n  width:100%!important;\n  height:100%!important;\n  min-width:100%!important;\n  min-height:100%!important;\n  overflow:hidden!important;\n  background:#061f2a!important;\n}\nhtml.desktop-reference body{\n  position:fixed!important;\n  inset:0!important;\n  margin:0!important;\n}\nhtml.desktop-reference body::before{\n  content:"";\n  position:fixed;\n  inset:-3px;\n  z-index:-2;\n  pointer-events:none;\n  background:\n    radial-gradient(circle at 72% 36%,rgba(32,190,211,.16),transparent 34%),\n    linear-gradient(135deg,#061b25 0%,#073140 52%,#082b36 100%);\n}\nhtml.desktop-reference body[data-active-scene="0"]::before{background:linear-gradient(135deg,#eef5f7 0%,#f8fbfc 54%,#eaf4f6 100%)}\nhtml.desktop-reference body[data-active-scene="1"]::before{background:linear-gradient(135deg,#041d29 0%,#073445 58%,#062633 100%)}\nhtml.desktop-reference body[data-active-scene="2"]::before{background:linear-gradient(135deg,#eef5f7 0%,#f9fcfd 55%,#e8f3f5 100%)}\nhtml.desktop-reference body[data-active-scene="3"]::before{background:linear-gradient(135deg,#052836 0%,#073b4b 55%,#061f2b 100%)}\nhtml.desktop-reference body[data-active-scene="4"]::before{background:linear-gradient(135deg,#eef5f7 0%,#f8fbfc 54%,#eaf4f6 100%)}\nhtml.desktop-reference body[data-active-scene="5"]::before{background:radial-gradient(circle at 72% 36%,rgba(32,190,211,.16),transparent 34%),linear-gradient(135deg,#061b25 0%,#073140 52%,#082b36 100%)}\nhtml.desktop-reference body[data-active-scene="6"]::before{background:linear-gradient(135deg,#041d29 0%,#0a4050 58%,#07313f 100%)}\nhtml.desktop-reference body[data-active-scene="7"]::before{background:linear-gradient(135deg,#071b24 0%,#0a3440 52%,#0b5961 100%)}\nhtml.desktop-reference .app{\n  position:fixed!important;\n  left:50%!important;\n  top:50%!important;\n  width:1920px!important;\n  height:1080px!important;\n  max-width:none!important;\n  max-height:none!important;\n  margin:0!important;\n  transform:translate3d(-50%,-50%,0) scale(var(--desktop-reference-scale,1))!important;\n  transform-origin:center center!important;\n  overflow:hidden!important;\n  box-shadow:0 0 0 1px rgba(255,255,255,.015);\n  isolation:isolate;\n}\n/* Everything that belongs to the hero navigation remains in the same\n   reference coordinate system — no viewport-fixed drift on 2K/4K. */\nhtml.desktop-reference .floating-ui,\nhtml.desktop-reference .edge-nav,\nhtml.desktop-reference .hero-progress,\nhtml.desktop-reference .menu-overlay,\nhtml.desktop-reference .booking-modal{\n  position:absolute!important;\n}\nhtml.desktop-reference .service-detail-modal,\nhtml.desktop-reference .profile-modal,\nhtml.desktop-reference .faq-modal{\n  position:absolute!important;\n}\n

/* 11.0.154 — true fullscreen cover reference + smaller map hero.
   On any desktop resolution larger than the 1920x1080 reference, the
   reference canvas covers the viewport completely. No side gutters, no
   neighbouring menu/scene and no exposed page background. */
html.desktop-reference,html.desktop-reference body{overflow:hidden!important;background:#061f2a!important}
html.desktop-reference .app{
  width:1920px!important;height:1080px!important;
  left:50%!important;top:50%!important;
  transform:translate3d(-50%,-50%,0) scale(var(--desktop-reference-scale,1))!important;
  transform-origin:center center!important;
  overflow:hidden!important;
}
html.desktop-reference .app-shell,
html.desktop-reference .hero-stage,
html.desktop-reference .hero-scene{overflow:hidden!important}
@media (min-width:1181px){
  .scene-map .map-stage-wrap{right:5.2%!important;top:12%!important;bottom:11.5%!important;width:49.2%!important}
  .scene-map .map-frame{inset:0 0 38px 0!important}
  .scene-map .map-supertype{left:5.5%!important;bottom:5.4%!important;font-size:clamp(80px,9.1cqw,160px)!important;letter-spacing:-.055em!important}
}


/* =========================================================
   11.0.156 — VIEWPORT-SAFE HERO CHROME
   The 1920x1080 hero remains a full-cover reference canvas.
   Navigation chrome is physically outside that canvas and scales from the
   viewport itself, so it is never lost to cover-cropping on 2K/4K/ultrawide.
   ========================================================= */
@media (min-width:901px){
  .viewport-chrome-shell{
    position:fixed!important;
    z-index:1000!important;
    left:0!important;
    top:0!important;
    width:var(--viewport-chrome-width,100vw)!important;
    height:var(--viewport-chrome-height,100vh)!important;
    transform:scale(var(--viewport-chrome-scale,1))!important;
    transform-origin:0 0!important;
    overflow:visible!important;
    pointer-events:none!important;
    isolation:isolate!important;
  }
  /* Only real chrome controls receive clicks. Hidden full-screen overlays must
     stay click-through until they are actually opened. */
  .viewport-chrome-shell > .floating-ui,
  .viewport-chrome-shell > .edge-nav,
  .viewport-chrome-shell > .hero-progress{pointer-events:auto!important}
  .viewport-chrome-shell > .menu-overlay,
  .viewport-chrome-shell > .booking-modal{pointer-events:none!important}
  .viewport-chrome-shell > .menu-overlay.open,
  .viewport-chrome-shell > .booking-modal.open{pointer-events:auto!important}
  html.desktop-reference .viewport-chrome-shell .floating-ui{
    position:absolute!important;
    left:0!important;right:0!important;top:0!important;
    width:100%!important;
    max-width:none!important;
    padding:26px 34px!important;
    transform:none!important;
  }
  html.desktop-reference .viewport-chrome-shell .edge-nav{
    position:absolute!important;
    top:50%!important;
    transform:translateY(-50%)!important;
  }
  html.desktop-reference .viewport-chrome-shell .edge-prev{left:20px!important;right:auto!important}
  html.desktop-reference .viewport-chrome-shell .edge-next{right:20px!important;left:auto!important}
  html.desktop-reference .viewport-chrome-shell .hero-progress{
    position:absolute!important;
    left:50%!important;
    right:auto!important;
    bottom:28px!important;
    transform:translateX(-50%)!important;
  }
  html.desktop-reference .viewport-chrome-shell .menu-overlay,
  html.desktop-reference .viewport-chrome-shell .booking-modal{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
  }
  /* The cover canvas clips only scene content now; viewport chrome is outside. */
  html.desktop-reference .app{overflow:hidden!important}
}

/* 11.0.159 — Reviews: extra Greek diacritic breathing room */
.scene-reviews .review-card blockquote{
  line-height:1.62!important;
  padding-top:.12em!important;
  padding-bottom:.18em!important;
}
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-reviews .review-card blockquote{line-height:1.56!important}
}



/* 11.0.164 — HOME 01 exact restoration from 11.0.131.
   All post-131 HOME redesign layers are intentionally disabled; newer non-home sections remain intact. */
.scene-home .home-content::before,.scene-home .home-content::after{content:none!important;display:none!important}
.scene-home .pill-row::before,.scene-home .pill-row::after{content:none!important;display:none!important}
.scene-home .contact-cta::before,.scene-home .contact-cta::after{content:none!important;display:none!important}
.scene-home .pulse-lockup::before,.scene-home .pulse-lockup::after{content:none!important;display:none!important}
.scene-home .home-content{isolation:auto!important}
\n\n/* 11.0.166 — proportional high-resolution growth without layout drift.\n   1920x1080 stays the design master. On 2K/4K the whole hero composition\n   grows gently as one unit; individual hero layouts do not reflow. */\n@media (min-width:901px){\n  html.desktop-reference .app{\n    width:1920px!important;\n    height:1080px!important;\n    left:50%!important;\n    top:50%!important;\n    transform:translate3d(-50%,-50%,0) scale(var(--desktop-reference-scale,1))!important;\n    transform-origin:center center!important;\n  }\n  html.desktop-reference .app-shell,\n  html.desktop-reference .hero-stage,\n  html.desktop-reference .hero-scene{\n    width:1920px!important;\n    height:1080px!important;\n    min-width:1920px!important;\n    min-height:1080px!important;\n    max-width:1920px!important;\n    max-height:1080px!important;\n  }\n  /* Container-query geometry is therefore resolved against the same master\n     canvas on 1080p, 1440p and 4K, preventing cards/text from wandering. */\n  html.desktop-reference .hero-stage{container-type:size!important;}\n}\n

/* 11.0.167 — SAFE FULL-VIEW REFERENCE SCALE
   1920x1080 remains the master composition. Larger desktop resolutions scale
   the whole scene by the largest factor that still fits BOTH viewport axes.
   Nothing is cropped. Any ultrawide/tall surplus is filled by the matching
   active-scene atmosphere instead of dark side bars. */
@media (min-width:901px){
  html.desktop-reference .app{
    transform:translate3d(-50%,-50%,0) scale(var(--desktop-reference-scale,1))!important;
    transform-origin:center center!important;
  }
}
html.desktop-reference body[data-active-scene="0"]{background:#eef5f7!important}
html.desktop-reference body[data-active-scene="1"]{background:#062b39!important}
html.desktop-reference body[data-active-scene="2"]{background:#eef5f7!important}
html.desktop-reference body[data-active-scene="3"]{background:#06303e!important}
html.desktop-reference body[data-active-scene="4"]{background:#eef6f8!important}
html.desktop-reference body[data-active-scene="5"]{background:#062733!important}
html.desktop-reference body[data-active-scene="6"]{background:#073442!important}
html.desktop-reference body[data-active-scene="7"]{background:#073b45!important}

/* 11.0.168 — FULL-BLEED DESKTOP HERO BACKDROP
   The 1920x1080 hero composition remains reference-safe and centered, while
   the active scene now paints the entire physical viewport behind it. This
   removes all visible side/top bars on 2K, 4K and ultrawide displays without
   changing card/title/CTA coordinates inside the master composition. */
@media (min-width:901px){
  html.desktop-reference body{
    background:#061f2a!important;
    isolation:isolate!important;
  }
  html.desktop-reference body::before{
    content:""!important;
    position:fixed!important;
    inset:-3.5vmax!important;
    z-index:0!important;
    pointer-events:none!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    background-size:cover!important;
    transform:scale(1.025)!important;
    transform-origin:center center!important;
    filter:saturate(.92) contrast(1.02)!important;
  }
  html.desktop-reference body::after{
    content:""!important;
    position:fixed!important;
    inset:0!important;
    z-index:1!important;
    pointer-events:none!important;
    background:transparent!important;
  }
  html.desktop-reference .app{
    z-index:2!important;
    box-shadow:none!important;
    background:transparent!important;
  }

  /* HOME — use the same source image and a soft white/cyan wash so the
     outside viewport feels like one continuous hero, not a letterbox. */
  html.desktop-reference body[data-active-scene="0"]::before{
    background-image:url('assets/home-photo-original.webp?v=1119')!important;
    background-position:center 52%!important;
    filter:saturate(.88) brightness(1.05) contrast(.98)!important;
  }
  html.desktop-reference body[data-active-scene="0"]::after{
    background:linear-gradient(90deg,rgba(244,250,252,.94) 0%,rgba(244,250,252,.72) 30%,rgba(244,250,252,.10) 66%,rgba(4,36,49,.08) 100%)!important;
  }

  /* SERVICES — same treatment image full-bleed with the same dark clinical
     atmosphere used by the scene itself. */
  html.desktop-reference body[data-active-scene="1"]::before{
    background-image:url('assets/services.webp')!important;
    background-position:center center!important;
    filter:saturate(.78) brightness(.58) contrast(1.05)!important;
  }
  html.desktop-reference body[data-active-scene="1"]::after{
    background:linear-gradient(100deg,rgba(3,28,41,.95) 0 34%,rgba(3,28,41,.48) 62%,rgba(3,28,41,.20) 100%)!important;
  }

  /* PROFILE — the outer viewport inherits the same light editorial field;
     the portrait remains governed by the reference scene so its crop/position
     never drifts. */
  html.desktop-reference body[data-active-scene="2"]::before{
    background-image:linear-gradient(135deg,#edf5f7 0%,#f8fbfc 54%,#e9f3f5 100%)!important;
    filter:none!important;
  }
  html.desktop-reference body[data-active-scene="2"]::after{background:transparent!important;}

  /* SPACE — gallery/photo atmosphere can safely bleed outside the reference
     canvas; the gallery cards and controls still stay locked inside. */
  html.desktop-reference body[data-active-scene="3"]::before{
    background-image:url('assets/space.webp')!important;
    background-position:center center!important;
    filter:saturate(.72) brightness(.48) contrast(1.04)!important;
  }
  html.desktop-reference body[data-active-scene="3"]::after{
    background:linear-gradient(90deg,rgba(3,31,43,.86),rgba(3,31,43,.42) 52%,rgba(3,31,43,.20))!important;
  }

  /* CONTACT — keep the reference split layout, but let a softened version of
     the same room image extend to the viewport edges instead of exposing bars. */
  html.desktop-reference body[data-active-scene="4"]::before{
    background-image:url('assets/contact.webp')!important;
    background-position:center center!important;
    filter:saturate(.80) brightness(1.03) contrast(.98)!important;
  }
  html.desktop-reference body[data-active-scene="4"]::after{
    background:linear-gradient(90deg,rgba(238,246,248,.96) 0%,rgba(238,246,248,.82) 32%,rgba(238,246,248,.18) 66%,rgba(238,246,248,.04) 100%)!important;
  }

  /* MAP / REVIEWS / FAQ use their native graphic atmospheres rather than a
     literal photo, but still fill the entire physical viewport. */
  html.desktop-reference body[data-active-scene="5"]::before{
    background-image:radial-gradient(circle at 72% 36%,rgba(32,190,211,.22),transparent 35%),linear-gradient(135deg,#061b25 0%,#073140 52%,#082b36 100%)!important;
    filter:none!important;
  }
  html.desktop-reference body[data-active-scene="5"]::after{background:transparent!important;}
  html.desktop-reference body[data-active-scene="6"]::before{
    background-image:radial-gradient(circle at 78% 30%,rgba(40,190,210,.16),transparent 34%),linear-gradient(135deg,#041d29 0%,#0a4050 58%,#07313f 100%)!important;
    filter:none!important;
  }
  html.desktop-reference body[data-active-scene="6"]::after{background:transparent!important;}
  html.desktop-reference body[data-active-scene="7"]::before{
    background-image:radial-gradient(circle at 78% 34%,rgba(43,194,205,.12),transparent 34%),linear-gradient(135deg,#071b24 0%,#0a3440 52%,#0b5961 100%)!important;
    filter:none!important;
  }
  html.desktop-reference body[data-active-scene="7"]::after{background:transparent!important;}
}
\n\n/* 11.0.169 — TRUE FULLSCREEN ACTIVE HERO ON LARGE DESKTOPS\n   The 1920x1080 scene canvas now uses COVER scaling, so the active hero\n   always fills the entire physical viewport with no side/top bars and no\n   neighbouring scenes visible. Navigation chrome stays in the separate\n   viewport-safe shell. */\n@media (min-width:901px){\n  html.desktop-reference,\n  html.desktop-reference body{\n    width:100%!important;\n    height:100%!important;\n    overflow:hidden!important;\n    background:#061f2a!important;\n  }\n  html.desktop-reference body::before,\n  html.desktop-reference body::after{\n    content:none!important;\n    display:none!important;\n  }\n  html.desktop-reference .app{\n    position:fixed!important;\n    left:50%!important;\n    top:50%!important;\n    width:1920px!important;\n    height:1080px!important;\n    min-width:1920px!important;\n    min-height:1080px!important;\n    max-width:1920px!important;\n    max-height:1080px!important;\n    transform:translate3d(-50%,-50%,0) scale(var(--desktop-reference-scale,1))!important;\n    transform-origin:center center!important;\n    overflow:hidden!important;\n    background:#061f2a!important;\n  }\n  html.desktop-reference .app-shell,\n  html.desktop-reference .hero-stage,\n  html.desktop-reference .hero-scene{\n    width:1920px!important;\n    height:1080px!important;\n    min-width:1920px!important;\n    min-height:1080px!important;\n    max-width:1920px!important;\n    max-height:1080px!important;\n    overflow:hidden!important;\n  }\n  html.desktop-reference .hero-scene:not(.is-active){\n    visibility:hidden!important;\n    pointer-events:none!important;\n  }\n  html.desktop-reference .hero-scene.is-active{\n    visibility:visible!important;\n  }\n}\n
/* 11.0.170 — MOBILE BOOKING ARROW + MAP CENTER LOCK
   Mobile-only. Keep the online-booking arrow perfectly centered on every hero,
   and force the map card to the visual center of the phone viewport. */
@media (max-width:700px) and (orientation:portrait){
  .floating-ui .booking-pill,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 28px!important;
    align-items:center!important;
    gap:4px!important;
    padding:3px 5px 3px 11px!important;
  }
  .floating-ui .booking-pill .booking-label,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-label{
    width:100%!important;
    text-align:center!important;
    line-height:1!important;
    margin:0!important;
  }
  .floating-ui .booking-pill .booking-arrow,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-arrow{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    min-height:28px!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    align-self:center!important;
    justify-self:end!important;
    border-radius:50%!important;
    line-height:0!important;
    overflow:hidden!important;
  }
  .floating-ui .booking-pill .booking-arrow svg,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-arrow svg{
    width:13px!important;
    height:13px!important;
    margin:0!important;
    display:block!important;
    transform:translate3d(0,0,0)!important;
    transform-origin:center!important;
  }

  .scene-map .map-stage-wrap{
    left:50%!important;
    right:auto!important;
    width:calc(100% - 40px)!important;
    max-width:calc(100% - 40px)!important;
    transform:translateX(-50%)!important;
    transform-origin:center center!important;
    margin:0!important;
  }
  .scene-map.is-active .map-stage-wrap{
    transform:translateX(-50%)!important;
    animation:none!important;
    opacity:1!important;
    clip-path:none!important;
  }
  .scene-map .map-frame{
    left:0!important;
    right:0!important;
    width:100%!important;
    margin:0 auto!important;
  }
}

@media (max-width:900px) and (orientation:landscape) and (max-height:560px){
  .floating-ui .booking-pill,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 26px!important;
    align-items:center!important;
    gap:3px!important;
    padding:3px 4px 3px 9px!important;
  }
  .floating-ui .booking-pill .booking-arrow,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-arrow{
    width:26px!important;
    height:26px!important;
    display:grid!important;
    place-items:center!important;
    margin:0!important;
    padding:0!important;
    border-radius:50%!important;
    line-height:0!important;
  }
  .floating-ui .booking-pill .booking-arrow svg,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-arrow svg{
    width:12px!important;
    height:12px!important;
    margin:0!important;
    transform:none!important;
  }
}

/* 11.0.171 — REAL MOBILE BOOKING ARROW + TRUE MAP CENTER
   Fix the actual mobile layout seen on-device: the CTA arrow is geometrically
   centered inside its cyan circle, and the map stage is centered by equal
   left/right gutters instead of relying on translateX/animation transforms. */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .floating-ui .booking-pill .booking-arrow,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-arrow{
    position:relative!important;
    display:block!important;
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    min-height:28px!important;
    padding:0!important;
    margin:0!important;
    border-radius:50%!important;
    overflow:hidden!important;
  }
  .floating-ui .booking-pill .booking-arrow svg,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-arrow svg{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:13px!important;
    height:13px!important;
    margin:0!important;
    transform:translate(-50%,-50%)!important;
    transform-origin:center center!important;
  }

  .scene-map .map-stage-wrap,
  .scene-map.is-active .map-stage-wrap{
    left:20px!important;
    right:20px!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    transform:none!important;
    transform-origin:center center!important;
    animation:none!important;
    opacity:1!important;
    clip-path:none!important;
  }
  .scene-map .map-frame{
    left:0!important;
    right:0!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    transform:none!important;
  }
}

@media (max-width:390px){
  .scene-map .map-stage-wrap,
  .scene-map.is-active .map-stage-wrap{
    left:18px!important;
    right:18px!important;
  }
}

/* =========================================================
   11.0.172 — MOBILE CTA FIT + REVIEW TOUCH SCROLL
   - Keep ONLINE ΡΑΝΤΕΒΟΥ comfortably inside the pill on phones.
   - Long reviews scroll vertically with native momentum and never trigger
     hero swipes while the visitor is reading them.
   ========================================================= */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .floating-ui .booking-pill,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill{
    width:118px!important;
    min-width:118px!important;
    max-width:118px!important;
    height:38px!important;
    grid-template-columns:minmax(0,1fr) 28px!important;
    gap:3px!important;
    padding:3px 4px 3px 8px!important;
    overflow:hidden!important;
  }
  .floating-ui .booking-pill .booking-label,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-label{
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
    font-size:6.2px!important;
    line-height:1!important;
    letter-spacing:.035em!important;
    font-weight:800!important;
    white-space:nowrap!important;
    text-align:center!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }
  .floating-ui .booking-pill .booking-arrow,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-arrow{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    min-height:28px!important;
    justify-self:end!important;
    align-self:center!important;
  }

  .scene-reviews .reviews-deck{
    overflow:visible!important;
    touch-action:pan-y!important;
    overscroll-behavior:contain!important;
  }
  .scene-reviews .review-card{
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    min-height:0!important;
    touch-action:pan-y!important;
    overscroll-behavior:contain!important;
  }
  .scene-reviews .review-card blockquote{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:scroll!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
    padding-right:10px!important;
  }
  .scene-reviews .review-card blockquote::-webkit-scrollbar{width:5px!important}
  .scene-reviews .review-card blockquote::-webkit-scrollbar-thumb{
    background:rgba(143,233,245,.58)!important;
    border-radius:999px!important;
  }
}

@media (max-width:390px){
  .floating-ui .booking-pill,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill{
    width:112px!important;
    min-width:112px!important;
    max-width:112px!important;
    padding-left:7px!important;
  }
  .floating-ui .booking-pill .booking-label,
  body:has(.hero-scene.is-active) .floating-ui .booking-pill .booking-label{
    font-size:5.9px!important;
    letter-spacing:.025em!important;
  }
}

/* =========================================================
   11.0.173 — MOBILE FAQ REFLOW + REVIEW SCROLL FIX
   1) FAQ on phones becomes a real single-column vertical flow.
   2) Review text gets a guaranteed scroll viewport on mobile/desktop.
   3) Desktop review scrollbar is always visible when the review overflows.
   ========================================================= */

/* Reviews — guarantee that the text area is the scrollable row, not the card. */
.scene-reviews .review-card{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  overflow:hidden!important;
  min-height:0!important;
}
.scene-reviews .review-card blockquote{
  min-height:0!important;
  max-height:100%!important;
  overflow-y:scroll!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(143,233,245,.88) rgba(255,255,255,.08)!important;
  padding-right:14px!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
}
.scene-reviews .review-card blockquote::-webkit-scrollbar{
  width:7px!important;
}
.scene-reviews .review-card blockquote::-webkit-scrollbar-track{
  background:rgba(255,255,255,.08)!important;
  border-radius:999px!important;
}
.scene-reviews .review-card blockquote::-webkit-scrollbar-thumb{
  background:rgba(143,233,245,.88)!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.12)!important;
}
.scene-reviews .review-card blockquote::-webkit-scrollbar-thumb:hover{
  background:#8fe9f5!important;
}

@media (max-width:760px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  /* FAQ: stop shrinking the desktop two-column grid into the phone. */
  .scene-faq{
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:contain!important;
    touch-action:pan-y!important;
    padding:0 0 calc(150px + env(safe-area-inset-bottom))!important;
    box-sizing:border-box!important;
  }
  .scene-faq>.section-pill{
    top:calc(88px + env(safe-area-inset-top))!important;
    left:22px!important;
  }
  .scene-faq .faq-copy{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    width:auto!important;
    margin:0 22px!important;
    padding-top:calc(150px + env(safe-area-inset-top))!important;
    transform:none!important;
  }
  .scene-faq .faq-copy .mini-label{
    display:block!important;
    margin:0 0 12px!important;
    font-size:8px!important;
    line-height:1.25!important;
    letter-spacing:.28em!important;
  }
  .scene-faq .faq-copy h2{
    margin:0!important;
    max-width:100%!important;
    font-size:clamp(36px,11.2vw,52px)!important;
    line-height:1.02!important;
    letter-spacing:-.045em!important;
  }
  .scene-faq .faq-copy h2 i{
    display:block!important;
    margin-top:2px!important;
    line-height:1.08!important;
  }
  .scene-faq .faq-copy p{
    display:block!important;
    margin:18px 0 0!important;
    max-width:100%!important;
    font-size:13px!important;
    line-height:1.55!important;
  }
  .scene-faq .faq-grid{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    width:auto!important;
    margin:28px 20px 0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    transform:none!important;
    perspective:none!important;
  }
  .scene-faq .faq-card{
    min-height:72px!important;
    width:100%!important;
    padding:13px 14px!important;
    grid-template-columns:34px minmax(0,1fr) 34px!important;
    gap:10px!important;
    border-radius:16px!important;
    box-sizing:border-box!important;
  }
  .scene-faq .faq-card small{
    font-size:10px!important;
  }
  .scene-faq .faq-card b{
    font-size:14px!important;
    line-height:1.28!important;
    overflow-wrap:anywhere!important;
  }
  .scene-faq .faq-card em{
    width:30px!important;
    height:30px!important;
    font-size:14px!important;
  }
  .scene-faq .faq-marquee{
    display:none!important;
  }
  body:has(.scene-faq.is-active) .hero-progress{
    bottom:calc(20px + env(safe-area-inset-bottom))!important;
  }

  /* Reviews on touch devices: make the deck taller and the text a true native scroller. */
  .scene-reviews .reviews-deck{
    height:39%!important;
    bottom:10%!important;
    overflow:hidden!important;
    touch-action:pan-y!important;
  }
  .scene-reviews .review-card{
    touch-action:pan-y!important;
  }
  .scene-reviews .review-card blockquote{
    overflow-y:scroll!important;
    touch-action:pan-y!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
    padding-right:10px!important;
  }
}

@media (max-width:390px){
  .scene-faq .faq-copy{
    margin:0 18px!important;
  }
  .scene-faq .faq-grid{
    margin-left:16px!important;
    margin-right:16px!important;
  }
  .scene-faq .faq-card{
    min-height:68px!important;
    grid-template-columns:30px minmax(0,1fr) 30px!important;
    padding:11px 12px!important;
  }
  .scene-faq .faq-card b{
    font-size:13.2px!important;
  }
}


/* =========================================================
   11.0.174 — SERVICE SCROLLBAR + COMPACT REVIEWS + DETAIL MODAL
   ========================================================= */

/* Desktop service-detail modal: always expose a real scrollbar. */
@media (min-width:761px){
  .service-detail-copy{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-width:thin!important;
    scrollbar-color:#39c4d5 rgba(7,49,59,.08)!important;
    scrollbar-gutter:stable!important;
    padding-right:46px!important;
  }
  .service-detail-copy::-webkit-scrollbar{display:block!important;width:10px!important;height:10px!important}
  .service-detail-copy::-webkit-scrollbar-track{background:rgba(7,49,59,.07)!important;border-radius:999px!important}
  .service-detail-copy::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#78e2ee,#1aaabd)!important;border:2px solid #eef8f9!important;border-radius:999px!important}
  .service-detail-copy::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#8eeaf3,#13a0b4)!important}
}

/* Reviews: replace the single oversized review with four compact preview cards. */
.scene-reviews .reviews-deck{
  overflow:visible!important;
  perspective:none!important;
  isolation:auto!important;
}
.scene-reviews .reviews-deck::before,
.scene-reviews .reviews-deck::after{display:none!important}
.scene-reviews .review-card-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
}
.scene-reviews .review-card.review-card-compact{
  position:relative!important;
  inset:auto!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  opacity:1!important;
  transform:none!important;
  transition:transform .25s ease,border-color .25s ease,background .25s ease!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  padding:18px 18px 16px!important;
  border-radius:22px!important;
  cursor:pointer!important;
  overflow:hidden!important;
  background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.045))!important;
  border:1px solid rgba(157,233,243,.22)!important;
  box-shadow:0 16px 38px rgba(0,9,16,.18)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
}
.scene-reviews .review-card.review-card-compact:hover,
.scene-reviews .review-card.review-card-compact:focus-visible{
  transform:translateY(-3px)!important;
  border-color:rgba(143,233,245,.5)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.065))!important;
  outline:none!important;
}
.scene-reviews .review-card.review-card-compact::before{display:none!important}
.scene-reviews .review-card.review-card-compact .review-top{gap:8px!important}
.scene-reviews .review-card.review-card-compact .review-stars{font-size:10px!important;letter-spacing:.08em!important;white-space:nowrap!important}
.scene-reviews .review-card.review-card-compact .review-source{font-size:6.5px!important;letter-spacing:.14em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.scene-reviews .review-card.review-card-compact blockquote{
  margin:12px 0 10px!important;
  padding:0!important;
  font-family:inherit!important;
  font-size:13px!important;
  font-weight:650!important;
  line-height:1.42!important;
  color:#f4fbfc!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:4!important;
  max-height:5.68em!important;
  scrollbar-width:none!important;
}
.scene-reviews .review-card.review-card-compact blockquote::-webkit-scrollbar{display:none!important}
.scene-reviews .review-card.review-card-compact footer{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) 24px!important;
  gap:9px!important;
  align-items:center!important;
  transform:none!important;
  position:relative!important;
  inset:auto!important;
}
.scene-reviews .review-card.review-card-compact .review-avatar{width:34px!important;height:34px!important;font-size:8px!important}
.scene-reviews .review-card.review-card-compact footer b{font-size:9.5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.scene-reviews .review-card.review-card-compact footer small{font-size:5.8px!important;letter-spacing:.10em!important}
.scene-reviews .review-card.review-card-compact footer>i{font-style:normal!important;color:#8fe9f5!important;font-size:15px!important;justify-self:end!important}
.scene-reviews .review-page-nav{
  position:absolute!important;
  left:50%!important;
  bottom:-54px!important;
  transform:translateX(-50%)!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  z-index:9!important;
}
.scene-reviews .review-page-nav button{
  width:34px!important;height:34px!important;border-radius:50%!important;border:1px solid rgba(143,233,245,.35)!important;background:rgba(255,255,255,.07)!important;color:#a6eef6!important;font-size:19px!important;display:grid!important;place-items:center!important;cursor:pointer!important
}
.scene-reviews .review-page-nav span{font-size:7px!important;letter-spacing:.16em!important;color:rgba(255,255,255,.65)!important;min-width:40px!important;text-align:center!important}

/* Full review modal */
.review-detail-modal{position:fixed;inset:0;z-index:1400;display:none;place-items:center;padding:34px;background:rgba(1,19,27,.52);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.review-detail-modal.is-open{display:grid}
.review-detail-backdrop{position:absolute;inset:0}
.review-detail-panel{position:relative;z-index:1;width:min(760px,88vw);max-height:min(780px,86vh);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(160,235,245,.28);border-radius:32px;background:linear-gradient(145deg,#0a3b49,#082b38);box-shadow:0 40px 120px rgba(0,8,14,.5);color:#fff}
.review-detail-close{position:absolute;right:18px;top:18px;width:46px;height:46px;border-radius:50%;border:1px solid rgba(155,234,244,.30);background:#0b5261;color:#fff;font-size:28px;line-height:1;z-index:4;cursor:pointer}
.review-detail-top{padding:30px 82px 0 34px;display:flex;justify-content:space-between;align-items:center;gap:20px}.review-detail-stars{color:#8fe9f5;letter-spacing:.12em}.review-detail-source{font-size:8px;letter-spacing:.2em;color:rgba(255,255,255,.52)}
.review-detail-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#64dce9 rgba(255,255,255,.06);padding:30px 34px 24px}
.review-detail-body::-webkit-scrollbar{width:8px}.review-detail-body::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:99px}.review-detail-body::-webkit-scrollbar-thumb{background:#64dce9;border-radius:99px;border:2px solid #0a3442}
.review-detail-kicker{font-size:8px;letter-spacing:.22em;color:#7fe6f1;margin-bottom:18px}.review-detail-body blockquote{margin:0;font-family:Georgia,serif;font-size:clamp(22px,2.2vw,34px);line-height:1.48;color:#f6fcfd}.review-detail-body footer{margin-top:30px;padding-top:20px;border-top:1px solid rgba(143,233,245,.18);display:flex;flex-direction:column;gap:5px}.review-detail-body footer b{font-size:15px}.review-detail-body footer small{font-size:7px;letter-spacing:.18em;color:rgba(255,255,255,.55)}
.review-detail-nav{padding:14px 24px 20px;display:flex;align-items:center;justify-content:center;gap:16px}.review-detail-nav button{width:40px;height:40px;border-radius:50%;border:1px solid rgba(143,233,245,.28);background:rgba(255,255,255,.06);color:#8fe9f5;font-size:18px;cursor:pointer}.review-detail-nav span{font-size:7px;letter-spacing:.2em;color:rgba(255,255,255,.5)}
body.review-detail-open{overflow:hidden!important}

@media (max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-reviews .reviews-deck{left:20px!important;right:20px!important;top:47%!important;bottom:calc(128px + env(safe-area-inset-bottom))!important;height:auto!important;width:auto!important;overflow:visible!important}
  .scene-reviews .review-card-grid{gap:9px!important}
  .scene-reviews .review-card.review-card-compact{padding:12px 12px 11px!important;border-radius:16px!important}
  .scene-reviews .review-card.review-card-compact .review-stars{font-size:8px!important}
  .scene-reviews .review-card.review-card-compact .review-source{font-size:5.2px!important}
  .scene-reviews .review-card.review-card-compact blockquote{font-size:11.5px!important;line-height:1.32!important;-webkit-line-clamp:3!important;max-height:3.96em!important;margin:8px 0!important}
  .scene-reviews .review-card.review-card-compact footer{grid-template-columns:28px minmax(0,1fr) 18px!important;gap:6px!important}
  .scene-reviews .review-card.review-card-compact .review-avatar{width:28px!important;height:28px!important;font-size:7px!important}
  .scene-reviews .review-card.review-card-compact footer b{font-size:8px!important}.scene-reviews .review-card.review-card-compact footer small{font-size:4.9px!important}
  .scene-reviews .review-page-nav{bottom:-43px!important}
  .scene-reviews .review-page-nav button{width:30px!important;height:30px!important;font-size:17px!important}
  .reviews-control.pause{display:none!important}
  .review-detail-modal{padding:16px!important;align-items:center!important}
  .review-detail-panel{width:min(92vw,680px)!important;max-height:84dvh!important;border-radius:24px!important}
  .review-detail-top{padding:24px 66px 0 22px!important}.review-detail-body{padding:24px 22px 20px!important}.review-detail-body blockquote{font-size:clamp(20px,4vw,29px)!important}
}

@media (max-width:600px){
  .scene-reviews .reviews-deck{top:49%!important;bottom:calc(128px + env(safe-area-inset-bottom))!important}
  .scene-reviews .review-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .scene-reviews .review-card.review-card-compact{padding:10px!important;border-radius:15px!important}
  .scene-reviews .review-card.review-card-compact .review-top{align-items:flex-start!important;flex-direction:column!important;gap:3px!important}
  .scene-reviews .review-card.review-card-compact blockquote{font-size:10.6px!important;line-height:1.28!important;-webkit-line-clamp:3!important;max-height:3.84em!important;margin:6px 0!important}
  .scene-reviews .review-card.review-card-compact footer{grid-template-columns:24px minmax(0,1fr) 15px!important;gap:5px!important}
  .scene-reviews .review-card.review-card-compact .review-avatar{width:24px!important;height:24px!important;font-size:6.5px!important}
  .scene-reviews .review-card.review-card-compact footer b{font-size:7.4px!important}.scene-reviews .review-card.review-card-compact footer small{display:none!important}.scene-reviews .review-card.review-card-compact footer>i{font-size:12px!important}
  .review-detail-modal{padding:10px!important;align-items:end!important}
  .review-detail-panel{width:100%!important;max-height:82dvh!important;border-radius:24px 24px 0 0!important}
  .review-detail-close{width:42px!important;height:42px!important;right:12px!important;top:12px!important}
  .review-detail-top{padding:22px 58px 0 18px!important}.review-detail-body{padding:20px 18px 18px!important}.review-detail-body blockquote{font-size:20px!important;line-height:1.5!important}
  .review-detail-nav{padding-bottom:calc(16px + env(safe-area-inset-bottom))!important}
}

/* =========================================================
   11.0.183 — CLEAN MODAL SCROLL SYSTEM
   One custom scrollbar per modal. Native/legacy modal scrollbars are hidden.
   The rail is positioned by app.js fully INSIDE each modal frame and begins
   below the close button, so it never protrudes and never sits under the X.
   ========================================================= */

/* Old custom overlay from pre-11.0.183 must never render. */
.ps-scrollbar-overlay,
.ps-scrollbar-thumb{display:none!important}

/* Actual scrolling regions. Keep scrolling behavior, hide native rails. */
:is(
  .service-modal-content,
  .service-detail-copy,
  .profile-modal-content,
  .review-detail-body,
  .review-submit-panel,
  .faq-modal-panel,
  .booking-card-ref,
  .space-lightbox-shell
){
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  scrollbar-gutter:auto!important;
}
:is(
  .service-modal-content,
  .service-detail-copy,
  .profile-modal-content,
  .review-detail-body,
  .review-submit-panel,
  .faq-modal-panel,
  .booking-card-ref,
  .space-lightbox-shell
)::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
}

/* Restore clean modal geometry; remove the old scrollbar margins/heights. */
.service-modal-card{overflow:hidden!important}
.service-modal-layout{min-height:0!important;overflow:hidden!important}
.service-modal-content{
  width:auto!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
}
.service-detail-shell{min-height:0!important;overflow:hidden!important}
.service-detail-copy{
  width:auto!important;
  height:100%!important;
  max-height:100%!important;
  margin:0!important;
}

/* New single rail. app.js positions this against the modal frame rectangle. */
.ps-modal-rail-183{
  position:absolute!important;
  width:10px!important;
  border-radius:999px!important;
  background:rgba(7,49,59,.11)!important;
  box-shadow:inset 0 0 0 1px rgba(32,185,204,.10)!important;
  z-index:2147483000!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .18s ease!important;
}
.ps-modal-rail-183.is-visible{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.ps-modal-thumb-183{
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:100%!important;
  min-height:42px!important;
  border-radius:999px!important;
  box-sizing:border-box!important;
  background:linear-gradient(180deg,#79e4ef,#20b9cc)!important;
  border:2px solid rgba(238,248,249,.92)!important;
  box-shadow:0 2px 10px rgba(7,89,105,.18)!important;
  cursor:grab!important;
  touch-action:none!important;
}
.ps-modal-thumb-183:active{cursor:grabbing!important}

/* Close controls stay above all content; the rail itself starts below them. */
:is(
  .service-modal-close,
  .service-detail-close,
  .profile-modal-close,
  .review-detail-close,
  .review-submit-close,
  .faq-modal-close,
  .space-lightbox-close,
  .booking-card-ref .modal-close
){z-index:2147483100!important}

/* Pause remains removed from Reviews. */
.scene-reviews .reviews-control.pause{display:none!important}

@media(max-width:760px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .ps-modal-rail-183{width:8px!important}
  .ps-modal-thumb-183{min-height:34px!important;border-width:1.5px!important}
}


/* =========================================================
   11.0.184 — SERVICE DETAIL SCROLL FIX
   The nested service detail uses the same real scroll viewport behavior as
   the previous service modal. Constrain the shell itself so the right copy
   becomes the scrolling element instead of being clipped by the shell.
   ========================================================= */
@media (min-width:761px){
  .service-detail-shell{
    height:min(86cqh,760px)!important;
    max-height:min(86cqh,760px)!important;
    grid-template-rows:minmax(0,1fr)!important;
  }
  .service-detail-art,
  .service-detail-copy{
    min-height:0!important;
    max-height:100%!important;
  }
  .service-detail-copy{
    height:auto!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    touch-action:pan-y!important;
  }
}
@media (max-width:760px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .service-detail-shell{
    height:92cqh!important;
    max-height:92cqh!important;
    grid-template-rows:180px minmax(0,1fr)!important;
  }
  .service-detail-copy{
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    touch-action:pan-y!important;
  }
}

/* 11.0.185 — Reviews pager: full-surface clickable arrows + visible interaction states */
.scene-reviews .review-page-nav{
  pointer-events:auto!important;
  z-index:20!important;
}
.scene-reviews .review-page-nav button{
  position:relative!important;
  z-index:2!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  -webkit-tap-highlight-color:transparent!important;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease!important;
}
@media (hover:hover) and (pointer:fine){
  .scene-reviews .review-page-nav button:hover{
    background:rgba(143,233,245,.22)!important;
    border-color:rgba(143,233,245,.92)!important;
    color:#d9fbff!important;
    box-shadow:0 0 0 6px rgba(143,233,245,.08),0 10px 24px rgba(0,0,0,.18)!important;
    transform:translateY(-1px) scale(1.06)!important;
  }
}
.scene-reviews .review-page-nav button:focus-visible{
  outline:none!important;
  background:rgba(143,233,245,.24)!important;
  border-color:#8fe9f5!important;
  color:#fff!important;
  box-shadow:0 0 0 4px rgba(143,233,245,.22)!important;
}
.scene-reviews .review-page-nav button:active{
  background:#8fe9f5!important;
  border-color:#8fe9f5!important;
  color:#073242!important;
  box-shadow:0 0 0 5px rgba(143,233,245,.14)!important;
  transform:scale(.94)!important;
}
@media (max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-reviews .review-page-nav{gap:12px!important}
  .scene-reviews .review-page-nav button{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    font-size:21px!important;
  }
}


/* =========================================================
   11.0.186 — REVIEWS ROW ALIGNMENT + NO-SCROLL NEW REVIEW MODAL
   - Pager arrows share the exact same row as the New Review button.
   - Full click/highlight behavior from 11.0.185 remains intact.
   - New Review modal has no modal scrollbar/custom rail.
   ========================================================= */
.scene-reviews .reviews-controls{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
}
.scene-reviews .reviews-controls .review-page-nav{
  position:static!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  margin-left:auto!important;
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  pointer-events:auto!important;
  z-index:20!important;
}
.scene-reviews .reviews-controls .review-page-nav button{
  flex:0 0 44px!important;
}
.scene-reviews .reviews-control.next{
  flex:0 1 auto!important;
}

/* New review dialog: never create a modal scrollbar/rail. */
#reviewSubmitModal,
#reviewSubmitModal .review-submit-panel{
  overflow:hidden!important;
  overscroll-behavior:none!important;
  scrollbar-width:none!important;
}
#reviewSubmitModal .review-submit-panel::-webkit-scrollbar,
#reviewSubmitModal > .ps-modal-rail-183{
  display:none!important;
}
/* Keep the review text field usable without showing another scrollbar. */
#reviewSubmitModal textarea{
  overflow-y:auto!important;
  scrollbar-width:none!important;
}
#reviewSubmitModal textarea::-webkit-scrollbar{display:none!important}

@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-reviews .reviews-controls{
    justify-content:space-between!important;
    gap:10px!important;
  }
  .scene-reviews .reviews-controls .review-page-nav{
    margin-left:auto!important;
    gap:8px!important;
  }
  .scene-reviews .reviews-control.next{
    min-width:0!important;
    max-width:calc(100% - 150px)!important;
  }
}
@media(max-width:430px){
  .scene-reviews .reviews-controls{gap:6px!important}
  .scene-reviews .reviews-controls .review-page-nav{gap:5px!important}
  .scene-reviews .reviews-controls .review-page-nav span{min-width:34px!important}
  .scene-reviews .reviews-control.next{
    padding-left:11px!important;
    padding-right:11px!important;
    letter-spacing:.10em!important;
  }
}


/* =========================================================
   11.0.187 — REVIEW PAGER SINGLETON + BOOKING FORM NO BAR
   - Reviews use one permanent pager; clicks only update page/content.
   - Appointment form keeps wheel/touch scrolling when needed, but no visible
     native or custom scrollbar is rendered.
   ========================================================= */
.scene-reviews .reviews-controls > .review-page-nav[hidden]{display:none!important}
#bookingModal > .ps-modal-rail-183{display:none!important}
#bookingModal .booking-card-ref{
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
#bookingModal .booking-card-ref::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
}

/* 11.0.189 — Home visual polish + booking room selector stability */
@media (min-width:701px){
  .scene-home::before{
    background:linear-gradient(90deg,
      rgba(255,255,255,.995) 0%,
      rgba(255,255,255,.97) 43%,
      rgba(247,253,255,.84) 72%,
      rgba(242,251,253,.30) 100%)!important;
  }
}
.scene-home .pulse-lockup path{
  stroke:#fff!important;
}
.scene-home .pulse-lockup .pulse-base{
  opacity:.38!important;
}
.scene-home .pulse-lockup .pulse-trace{
  stroke:#fff!important;
  filter:drop-shadow(0 0 5px rgba(255,255,255,.30))!important;
}

.booking-card-ref{
  overflow-x:hidden!important;
}
.booking-ref-body,
.booking-rebuilt,
.booking-step,
.booking-step>label,
.booking-control-wrap{
  min-width:0!important;
}
.booking-step select,
.booking-select,
.booking-plain-field input{
  max-width:100%!important;
}
.booking-date-menu,
.booking-time-menu{
  z-index:35!important;
}
@media (min-width:701px){
  .booking-card-ref{
    width:min(92vw,980px)!important;
    max-height:min(94cqh,920px)!important;
    overflow-y:auto!important;
  }
  .booking-ref-body{
    max-width:none!important;
  }
}

/* 11.0.190 — booking room select: remove native square/arrow chrome */
#bookingRoom{
  -webkit-appearance:none!important;
  appearance:none!important;
  background-color:#fff!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23009DB8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 15px center!important;
  background-size:18px 18px!important;
  padding-right:46px!important;
  outline:0!important;
}
#bookingRoom:focus,
#bookingRoom:focus-visible{
  outline:0!important;
  border-color:#009DB8!important;
  box-shadow:0 0 0 4px rgba(0,157,184,.10)!important;
}
#bookingRoom::-ms-expand{display:none!important}

/* 11.0.192 — room dropdown matches the custom date/time dropdown */
.booking-room-menu{position:absolute;z-index:120;left:0;right:0;top:calc(100% + 8px);padding:8px;border:1px solid rgba(0,157,184,.22);border-radius:18px;background:rgba(255,255,255,.985);box-shadow:0 22px 55px rgba(31,56,66,.19);backdrop-filter:blur(16px);display:grid;gap:6px}
.booking-room-menu[hidden]{display:none!important}
.booking-room-menu>button{width:100%;min-height:42px;padding:0 14px;border:1px solid #dbe8eb;border-radius:11px;background:#fff;color:#2b3c44;font:inherit;font-size:13px;font-weight:800;text-align:left;cursor:pointer;transition:.18s ease}
.booking-room-menu>button:hover,.booking-room-menu>button:focus-visible{border-color:#009DB8;background:rgba(0,157,184,.06);color:#007f98;outline:none}
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.booking-room-menu{left:-39px;right:0;border-radius:16px;padding:10px}}


/* 11.0.193 — animated cyan accent on the Home hero diagonal */
@media (min-width:701px){
  .scene-home .home-diagonal-accent{
    position:absolute!important;
    inset:0!important;
    z-index:3!important;
    pointer-events:none!important;
    background:linear-gradient(180deg,rgba(69,211,233,.38) 0%,#23b9d6 28%,#08a6c7 70%,rgba(69,211,233,.42) 100%)!important;
    clip-path:polygon(42.50% 0,42.64% 0,56.14% 100%,56.00% 100%)!important;
    opacity:0;
    transform:translate3d(-3.2cqw,-2.2cqh,0);
    filter:drop-shadow(0 0 4px rgba(18,178,207,.22));
  }
  .scene-home.is-active .home-diagonal-accent{
    animation:homeDiagonalSettle 1.05s cubic-bezier(.16,1,.3,1) .16s both;
  }
}
@keyframes homeDiagonalSettle{
  0%{opacity:0;transform:translate3d(-3.2cqw,-2.2cqh,0)}
  58%{opacity:.86;transform:translate3d(.34cqw,.18cqh,0)}
  100%{opacity:.72;transform:translate3d(0,0,0)}
}
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.scene-home .home-diagonal-accent{display:none!important}}
@media (prefers-reduced-motion:reduce){
  .scene-home .home-diagonal-accent{animation:none!important;opacity:.72!important;transform:none!important}
}

/* 11.0.194 — mobile Home only: compact CTA + desktop-style ECG sweep */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-home .contact-cta{
    min-width:0!important;
    width:168px!important;
    height:40px!important;
    padding:0 14px!important;
    font-size:10px!important;
  }
  .scene-home .pulse-lockup .pulse-trace{
    stroke-dasharray:110 520!important;
    stroke-dashoffset:630!important;
    animation:mobileDesktopPulse194 2.35s linear infinite!important;
    -webkit-animation:mobileDesktopPulse194 2.35s linear infinite!important;
  }
}
@keyframes mobileDesktopPulse194{
  0%{stroke-dashoffset:630;opacity:0}
  8%{opacity:1}
  78%{opacity:1}
  100%{stroke-dashoffset:0;opacity:0}
}
@-webkit-keyframes mobileDesktopPulse194{
  0%{stroke-dashoffset:630;opacity:0}
  8%{opacity:1}
  78%{opacity:1}
  100%{stroke-dashoffset:0;opacity:0}
}

/* 11.0.195 - mobile full profile: remove horizontal cyan divider that follows content while scrolling */
@media(max-width:900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .profile-modal-shell:before{display:none!important;content:none!important;background:none!important;box-shadow:none!important}
}

/* 11.0.196 — mobile map: keep the map card centered in the viewport. */
@media (max-width:560px){
  .scene-map .map-stage-wrap{
    left:50%!important;
    right:auto!important;
    width:calc(100% - 44px)!important;
    transform:translateX(-50%)!important;
    transform-origin:center center!important;
  }
  .scene-map.is-active .map-stage-wrap{
    animation:none!important;
    opacity:1!important;
    transform:translateX(-50%)!important;
    clip-path:none!important;
  }
}

/* 11.0.197 - mobile FAQ: center the question pills/cards */
@media (max-width:560px){
  .scene-faq .faq-grid{
    width:calc(100% - 44px)!important;
    margin:28px auto 0!important;
    left:auto!important;
    right:auto!important;
  }
  .scene-faq .faq-card{
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* 11.0.198 — mobile pulse hard fallback + truly centered FAQ pills */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-home .pulse-lockup{display:flex!important;visibility:visible!important;opacity:1!important}
  .scene-home .pulse-lockup .pulse-trace{
    stroke:#fff!important;
    stroke-dasharray:110 520!important;
    stroke-dashoffset:630!important;
    opacity:1!important;
    animation:mobilePulse198 2.15s linear infinite!important;
    -webkit-animation:mobilePulse198 2.15s linear infinite!important;
    will-change:stroke-dashoffset,opacity!important;
  }
}
@keyframes mobilePulse198{
  0%{stroke-dashoffset:630;opacity:.08}
  8%{opacity:1}
  78%{opacity:1}
  100%{stroke-dashoffset:0;opacity:.08}
}
@-webkit-keyframes mobilePulse198{
  0%{stroke-dashoffset:630;opacity:.08}
  8%{opacity:1}
  78%{opacity:1}
  100%{stroke-dashoffset:0;opacity:.08}
}
@media (max-width:560px){
  .scene-faq .faq-grid{
    left:50%!important;
    right:auto!important;
    width:calc(100% - 30px)!important;
    max-width:620px!important;
    margin:28px 0 0!important;
    transform:translateX(-50%)!important;
    justify-items:center!important;
  }
  .scene-faq .faq-card{
    width:100%!important;
    max-width:100%!important;
    margin:0 auto!important;
  }
}

/* 11.0.199 — mobile reliability pass: centered FAQ + stronger contact photo */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-contact .contact-visual{
    opacity:.68!important;
  }
  .scene-contact .contact-visual:after{
    background:linear-gradient(180deg,rgba(238,246,248,.12) 0%,rgba(238,246,248,.28) 54%,rgba(238,246,248,.52) 100%)!important;
  }
}
@media (max-width:560px){
  .scene-faq .faq-grid{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    width:calc(100% - 40px)!important;
    max-width:none!important;
    margin:28px auto 0!important;
    transform:none!important;
    justify-items:stretch!important;
    box-sizing:border-box!important;
  }
  .scene-faq .faq-card{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    box-sizing:border-box!important;
  }
}
@media (max-width:390px){
  .scene-faq .faq-grid{
    width:calc(100% - 32px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}


/* 11.0.200 — definitive mobile fixes: self-animated ECG, truly centered FAQ pills, clearer contact photo */
.pulse-mobile-runner{display:none;fill:none}
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-home .pulse-lockup .pulse-trace{display:none!important}
  .scene-home .pulse-lockup .pulse-base{stroke:#fff!important;opacity:.24!important}
  .scene-home .pulse-lockup .pulse-mobile-runner{
    display:block!important;
    fill:none!important;
    stroke:#fff!important;
    stroke-width:2.8!important;
    stroke-linecap:round!important;
    vector-effect:non-scaling-stroke!important;
    filter:drop-shadow(0 0 5px rgba(255,255,255,.42))!important;
  }
  .scene-contact .contact-visual{opacity:.92!important}
  .scene-contact .contact-visual img{filter:saturate(.96) contrast(1.04)!important}
  .scene-contact .contact-visual:after{
    background:linear-gradient(180deg,rgba(238,246,248,.05) 0%,rgba(238,246,248,.10) 42%,rgba(238,246,248,.28) 100%)!important;
  }
}
@media (max-width:560px){
  .scene-faq .faq-grid{
    position:relative!important;
    left:50%!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    width:min(84vw,360px)!important;
    max-width:360px!important;
    margin:28px 0 0!important;
    transform:translateX(-50%)!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    justify-items:stretch!important;
    gap:10px!important;
    box-sizing:border-box!important;
  }
  .scene-faq .faq-card{
    width:100%!important;
    max-width:360px!important;
    margin:0 auto!important;
    box-sizing:border-box!important;
  }
}
@media (max-width:390px){
  .scene-faq .faq-grid{width:84vw!important;max-width:336px!important}
}

/* 11.0.201 — adaptive brand colors per hero */
.floating-ui .brand img,
.floating-ui .brand-copy .brand-physio,
.floating-ui .brand-copy .brand-stamatia{
  transition:filter .42s cubic-bezier(.16,1,.3,1),color .42s cubic-bezier(.16,1,.3,1),opacity .42s ease!important;
}
/* light heroes: original brand palette */
body[data-active-scene="0"] .floating-ui .brand img,
body[data-active-scene="2"] .floating-ui .brand img,
body[data-active-scene="4"] .floating-ui .brand img{
  filter:none!important;
}
body[data-active-scene="0"] .floating-ui .brand-copy .brand-physio,
body[data-active-scene="2"] .floating-ui .brand-copy .brand-physio,
body[data-active-scene="4"] .floating-ui .brand-copy .brand-physio{color:#07364c!important}
body[data-active-scene="0"] .floating-ui .brand-copy .brand-stamatia,
body[data-active-scene="2"] .floating-ui .brand-copy .brand-stamatia,
body[data-active-scene="4"] .floating-ui .brand-copy .brand-stamatia{color:#08a9cc!important}

/* dark / photographic heroes: brighter brand for contrast */
body[data-active-scene="1"] .floating-ui .brand img,
body[data-active-scene="3"] .floating-ui .brand img,
body[data-active-scene="5"] .floating-ui .brand img,
body[data-active-scene="6"] .floating-ui .brand img,
body[data-active-scene="7"] .floating-ui .brand img{
  filter:brightness(0) invert(1) drop-shadow(0 4px 16px rgba(0,0,0,.16))!important;
  opacity:.96!important;
}
body[data-active-scene="1"] .floating-ui .brand-copy .brand-physio,
body[data-active-scene="3"] .floating-ui .brand-copy .brand-physio,
body[data-active-scene="5"] .floating-ui .brand-copy .brand-physio,
body[data-active-scene="6"] .floating-ui .brand-copy .brand-physio,
body[data-active-scene="7"] .floating-ui .brand-copy .brand-physio{color:#f7fcff!important}
body[data-active-scene="1"] .floating-ui .brand-copy .brand-stamatia,
body[data-active-scene="3"] .floating-ui .brand-copy .brand-stamatia,
body[data-active-scene="5"] .floating-ui .brand-copy .brand-stamatia,
body[data-active-scene="6"] .floating-ui .brand-copy .brand-stamatia,
body[data-active-scene="7"] .floating-ui .brand-copy .brand-stamatia{color:#16c4e8!important}

/* 11.0.207 hotfix: compact request CTA, no collision with hamburger */
.floating-ui .top-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:12px!important;min-width:0!important;max-width:calc(100vw - 24px)!important}
.floating-ui .booking-pill{position:relative!important;inset:auto!important;transform:none!important;display:flex!important;flex:0 1 auto!important;width:auto!important;min-width:0!important;max-width:min(270px,calc(100vw - 110px))!important;height:48px!important;padding:5px 5px 5px 18px!important;gap:10px!important;align-items:center!important;justify-content:space-between!important;white-space:nowrap!important;overflow:hidden!important}
.floating-ui .booking-pill .booking-label{display:block!important;flex:0 1 auto!important;min-width:0!important;max-width:none!important;font-size:12px!important;line-height:1.1!important;letter-spacing:.09em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.floating-ui .booking-pill .booking-arrow{display:grid!important;place-items:center!important;flex:0 0 36px!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;margin:0!important}
.floating-ui .menu-btn{position:relative!important;inset:auto!important;transform:none!important;flex:0 0 52px!important;width:52px!important;height:52px!important;margin:0!important}
@media(max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
 .floating-ui{padding:14px 14px!important}
 .floating-ui .top-actions{gap:9px!important}
 .floating-ui .booking-pill{width:auto!important;min-width:0!important;max-width:calc(100vw - 105px)!important;height:42px!important;padding:4px 4px 4px 12px!important;gap:7px!important}
 .floating-ui .booking-pill .booking-label{font-size:clamp(8px,2.3vw,11px)!important;letter-spacing:.035em!important}
 .floating-ui .booking-pill .booking-arrow{flex-basis:32px!important;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important}
 .floating-ui .menu-btn{flex-basis:44px!important;width:44px!important;height:44px!important}
}
@media(max-width:370px){.floating-ui .booking-pill{padding-left:8px!important}.floating-ui .booking-pill .booking-label{font-size:8px!important}}
/* Request CTA: show the full label instead of clipping it. */
.floating-ui .booking-pill{max-width:min(380px,calc(100vw - 110px))!important;overflow:visible!important;flex-shrink:0!important}
.floating-ui .booking-pill .booking-label{flex:0 0 auto!important;max-width:none!important;overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important}
@media(max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
 .floating-ui .booking-pill{max-width:calc(100vw - 105px)!important;flex-shrink:1!important}
 .floating-ui .booking-pill .booking-label{font-size:clamp(7px,2.3vw,11px)!important;letter-spacing:0!important}
}

/* 11.0.207 final CTA legibility: smaller text, guaranteed arrow clearance */
.floating-ui .booking-pill{max-width:min(380px,calc(100vw - 110px))!important;overflow:hidden!important;gap:9px!important;justify-content:space-between!important}
.floating-ui .booking-pill .booking-label{flex:0 1 auto!important;min-width:0!important;overflow:hidden!important;text-overflow:clip!important;white-space:nowrap!important;font-size:10px!important;letter-spacing:.025em!important;line-height:1.15!important}
.floating-ui .booking-pill .booking-arrow{flex:0 0 36px!important;margin-left:5px!important}
@media(max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){.floating-ui .booking-pill{gap:5px!important}.floating-ui .booking-pill .booking-label{font-size:clamp(7px,2vw,10px)!important;letter-spacing:0!important}.floating-ui .booking-pill .booking-arrow{flex-basis:32px!important;margin-left:3px!important}}


/* CTA label: smaller text, reserved arrow space, no clipping */
.floating-ui #bookingBtn.booking-pill {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 6px !important;
  box-sizing: border-box !important;
}
.floating-ui #bookingBtn .booking-label {
  display: block !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.floating-ui #bookingBtn .booking-arrow {
  flex-shrink: 0 !important;
}
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px) {
  .floating-ui #bookingBtn .booking-label {
    font-size: 10px !important;
    letter-spacing: 0 !important;
  }
  .floating-ui #bookingBtn.booking-pill {
    gap: 4px !important;
    padding-left: 8px !important;
    padding-right: 4px !important;
  }
}

/* 11.0.210 — mobile corrections from real device screenshots. */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .floating-ui{
    width:100%!important;
    padding-left:14px!important;
    padding-right:14px!important;
    gap:8px!important;
    align-items:center!important;
  }
  .floating-ui .brand{flex:0 1 auto!important;min-width:0!important;gap:6px!important}
  .floating-ui .brand img{width:42px!important;height:42px!important;flex:0 0 42px!important}
  .floating-ui .brand-copy{display:flex!important;min-width:0!important;margin-left:0!important}
  .floating-ui .brand-copy b{font-size:9px!important;letter-spacing:.025em!important;white-space:nowrap!important}
  .floating-ui .brand-copy small{display:none!important}
  .floating-ui .top-actions{flex:0 0 auto!important;gap:7px!important;min-width:0!important;margin-left:auto!important}
  .floating-ui #bookingBtn.booking-pill{
    display:flex!important;
    flex:0 1 auto!important;
    width:clamp(136px,40vw,158px)!important;
    min-width:126px!important;
    max-width:calc(100vw - 180px)!important;
    height:40px!important;
    padding:3px 4px 3px 10px!important;
    gap:5px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  .floating-ui #bookingBtn .booking-label{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:none!important;
    font-size:8px!important;
    letter-spacing:0!important;
    line-height:1!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .floating-ui #bookingBtn .booking-arrow{
    flex:0 0 30px!important;
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    margin:0!important;
  }
  .floating-ui .menu-btn{flex:0 0 42px!important;width:42px!important;height:42px!important}

  .scene-contact .contact-panel{
    left:5%!important;
    top:14%!important;
    width:90%!important;
    max-height:82%!important;
    translate:0 0!important;
  }
  .scene-contact .hero-contact-form{
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:9px 10px!important;
    padding:14px!important;
    border:1px solid rgba(13,75,97,.10)!important;
    border-radius:18px!important;
    background:rgba(246,250,251,.96)!important;
    box-shadow:0 12px 32px rgba(7,48,67,.10)!important;
    -webkit-backdrop-filter:blur(8px)!important;
    backdrop-filter:blur(8px)!important;
  }
  .scene-contact .contact-field:nth-child(3),
  .scene-contact .contact-field-message{grid-column:1/-1!important}
  .scene-contact .contact-field label{font-size:8px!important;color:#435f6d!important;letter-spacing:.12em!important}
  .scene-contact .contact-field input,
  .scene-contact .contact-field textarea{
    min-height:42px!important;
    padding:9px 10px!important;
    border:1px solid rgba(13,75,97,.18)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.96)!important;
    color:#0b3549!important;
    font-size:12px!important;
  }
  .scene-contact .contact-field textarea{min-height:68px!important;max-height:110px!important}
  .scene-contact .contact-field input::placeholder,
  .scene-contact .contact-field textarea::placeholder{color:#748b97!important;opacity:1!important}
  .scene-contact .contact-form-actions{margin-top:2px!important}

  .scene-map .map-stage-wrap,
  .scene-map.is-active .map-stage-wrap{
    left:18px!important;
    right:18px!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    translate:0 0!important;
    transform:none!important;
    animation:none!important;
    opacity:1!important;
    clip-path:none!important;
  }
  .scene-map .map-frame{
    left:0!important;
    right:0!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
  }
}
@media (max-width:390px){
  .floating-ui .brand img{width:36px!important;height:36px!important;flex-basis:36px!important}
  .floating-ui .brand-copy b{font-size:8px!important}
  .floating-ui #bookingBtn.booking-pill{width:clamp(126px,39vw,148px)!important;min-width:120px!important;max-width:calc(100vw - 165px)!important;padding-left:7px!important}
  .floating-ui #bookingBtn .booking-label{font-size:7.4px!important}
  .floating-ui .menu-btn{flex-basis:40px!important;width:40px!important;height:40px!important}
}


/* 11.0.211 — smaller booking arrow circle, shared by every hero. */
.floating-ui #bookingBtn .booking-arrow{flex:0 0 28px!important;width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;margin:0!important}
.floating-ui #bookingBtn .booking-arrow svg{width:14px!important;height:14px!important}


/* 11.0.212 — contact hero contrast and form shadow cleanup on mobile. */
@media (max-width:700px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px){
  .scene-contact .contact-copy h2,
  .scene-contact .contact-copy h2 i{
    color:#fff!important;
    text-shadow:0 2px 10px rgba(4,28,38,.28)!important;
  }
  .scene-contact .hero-contact-form,
  .scene-contact .contact-field,
  .scene-contact .contact-field input,
  .scene-contact .contact-field textarea,
  .scene-contact .contact-form-actions,
  .scene-contact .contact-submit{
    box-shadow:none!important;
    filter:none!important;
  }
}


/* 11.0.217 — Nudge the booking CTA circle left on desktop across all heroes. */
@media (min-width:701px){
  .floating-ui #bookingBtn .booking-arrow{transform:translateX(-5px)!important}
}

/* 11.0.220 - mobile modal safe-area / rounded-corner clearance */
@media (max-width: 700px), (pointer: coarse) and (max-width: 900px) {
  .profile-modal {
    box-sizing:border-box!important;
    padding: max(18px, env(safe-area-inset-top, 0px)) 18px max(28px, env(safe-area-inset-bottom, 0px))!important;
    align-items:center!important;justify-items:center!important;
  }
  .profile-modal-shell {
    box-sizing:border-box!important;
    width:100%!important;max-width:100%!important;
    height:auto!important;
    max-height:calc(100% - 4px)!important;
    min-height:0!important;
    margin:auto!important;
    border-radius:clamp(22px, 6vw, 32px)!important;
    overflow:hidden!important;
  }
  .profile-modal-content {
    min-height:0!important;
    padding-bottom:max(42px, calc(28px + env(safe-area-inset-bottom, 0px)))!important;
    scroll-padding-bottom:36px!important;
  }
  .profile-modal-contact {padding-bottom:14px!important;}
}
@media (max-width: 380px) {
 .profile-modal{padding-left:12px!important;padding-right:12px!important;}
}


/* Profile modal: white and navy rounded cards clear the right scrollbar. */
@media (max-width: 900px), (pointer:coarse) and (orientation:portrait) and (min-width:701px) and (max-width:1200px) {
  .profile-modal-content .profile-modal-grid,
  .profile-modal-content .profile-modal-contact {
    margin-right: 14px !important;
    min-width: 0;
  }
  .profile-modal-content .profile-modal-grid article,
  .profile-modal-content .profile-modal-contact > div {
    box-sizing: border-box;
    min-width: 0;
  }
}

/* Mobile photo gallery: gestures belong to photos, not the background. */
@media(max-width:767px){.space-lightbox.open,.space-lightbox.open .space-lightbox-shell,.space-lightbox.open .space-lightbox-stage{overscroll-behavior:none!important;touch-action:none!important;scrollbar-width:none!important}.space-lightbox.open ::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}}

/* 12.0 — tablet experience: generous controls, stable safe areas, and flexible booking */
@media (min-width:701px) and (max-width:1180px) and (min-height:600px){
  html,body{width:100%;min-width:0;overflow-x:hidden}
  .app{width:100%;min-width:0;min-height:100svh}
  .hero-stage,.hero-scene{min-height:100svh;min-height:100dvh}
  .floating-ui{left:0!important;right:0!important;width:100%!important;box-sizing:border-box!important;padding-left:clamp(18px,4vw,42px)!important;padding-right:clamp(18px,4vw,42px)!important}
  .floating-ui .brand{min-width:0!important;touch-action:manipulation}
  .floating-ui .brand img{width:clamp(44px,6vw,56px)!important;height:clamp(44px,6vw,56px)!important}
  .floating-ui .brand-copy{display:flex!important}
  .floating-ui .top-actions{gap:clamp(8px,1.5vw,14px)!important}
  .floating-ui #bookingBtn.booking-pill{width:auto!important;min-width:196px!important;max-width:min(330px,45vw)!important;height:46px!important;padding:6px 9px 6px 16px!important;gap:10px!important}
  .floating-ui #bookingBtn .booking-label{flex:1 1 auto!important;min-width:0!important;font-size:clamp(11px,1.3vw,14px)!important;letter-spacing:.04em!important}
  .floating-ui #bookingBtn .booking-arrow{flex:0 0 32px!important;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important}
  .floating-ui .menu-btn{width:48px!important;height:48px!important;min-width:48px!important;touch-action:manipulation}
  .edge-nav{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;touch-action:manipulation}
  .hero-progress{gap:10px!important}
  .hero-progress .dots button{width:10px!important;height:10px!important;min-width:10px!important;min-height:10px!important}
  .service-card,.space-card,.reviews-control,.faq-card{touch-action:manipulation}
  .scene-contact .contact-field input,.scene-contact .contact-field textarea{font-size:16px!important}
  .booking-modal{box-sizing:border-box!important;padding:clamp(16px,3vh,32px) max(18px,env(safe-area-inset-right)) clamp(16px,3vh,32px) max(18px,env(safe-area-inset-left))!important;overflow-y:auto!important;overscroll-behavior:contain!important}
  .booking-card-ref{width:min(860px,94vw)!important;max-width:94vw!important;max-height:min(92dvh,900px)!important;margin:auto!important;border-radius:26px!important;overflow-x:hidden!important;overflow-y:auto!important}
  .booking-ref-head{position:sticky!important;top:0!important;z-index:40!important}
  .booking-ref-body{padding:clamp(20px,3vw,34px)!important;overflow:visible!important}
  .booking-rebuilt{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 18px!important;align-items:start!important}
  .booking-step{min-width:0!important}
  .booking-contact-head,.booking-status,.booking-submit-ref{grid-column:1/-1!important}
  .booking-contact-head small{line-height:1.5!important}
  .booking-plain-field input,.booking-select{min-height:50px!important;font-size:16px!important}
  .booking-submit-ref{min-height:52px!important;touch-action:manipulation}
  .booking-date-menu,.booking-time-menu{max-width:min(92vw,460px)!important}
  .booking-days button{min-width:40px!important;min-height:40px!important}
  .service-modal-card,.faq-modal-card,.profile-modal-shell{max-width:calc(100vw - 40px)!important}
  .profile-modal,.service-detail-modal,.faq-modal,.space-lightbox,.review-submit-modal{padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))!important}
}
@media (min-width:701px) and (max-width:1180px) and (min-height:600px) and (orientation:landscape){
  .floating-ui{height:78px!important;padding-top:max(10px,env(safe-area-inset-top))!important}
  .scene-contact .contact-panel{max-height:74%!important}
  .scene-contact .hero-contact-form{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px 12px!important}
  .scene-contact .contact-field:nth-child(3),.scene-contact .contact-field-message{grid-column:1/-1!important}
  .booking-card-ref{width:min(960px,92vw)!important}
}
@media (pointer:coarse) and (min-width:701px) and (max-width:1180px) and (min-height:600px){
  button,a,input,select,textarea{touch-action:manipulation}
  .service-card:hover,.space-card:hover,.booking-pill:hover{transform:none!important}
}

/* 12.0.1 — tablet landscape home, matched to the supplied reference */
@media (min-width:900px) and (max-width:1600px) and (min-height:430px) and (orientation:landscape) and (pointer:coarse){
  body:has(.scene-home.is-active) .floating-ui{
    height:76px!important;min-height:76px!important;
    padding:10px 2.6% 8px 6.9%!important;
    display:flex!important;align-items:center!important;
  }
  body:has(.scene-home.is-active) .floating-ui .brand{gap:8px!important;min-width:0!important}
  body:has(.scene-home.is-active) .floating-ui .brand img{width:clamp(50px,4vw,62px)!important;height:clamp(50px,4vw,62px)!important;flex:0 0 clamp(50px,4vw,62px)!important}
  body:has(.scene-home.is-active) .floating-ui .brand-copy{display:flex!important}
  body:has(.scene-home.is-active) .floating-ui .brand-copy b{font-size:clamp(15px,1.8vw,19px)!important;white-space:nowrap!important}
  body:has(.scene-home.is-active) .floating-ui .top-actions{gap:12px!important;margin-left:auto!important}
  body:has(.scene-home.is-active) .floating-ui #bookingBtn.booking-pill{
    width:clamp(175px,18.5vw,250px)!important;min-width:175px!important;max-width:250px!important;
    height:40px!important;
  }
  body:has(.scene-home.is-active) .floating-ui #bookingBtn .booking-label{font-size:10px!important;letter-spacing:.02em!important}
  body:has(.scene-home.is-active) .floating-ui #bookingBtn .booking-arrow{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;flex:0 0 28px!important}
  body:has(.scene-home.is-active) .floating-ui .menu-btn{width:40px!important;height:40px!important;flex:0 0 40px!important}

  body:has(.scene-home.is-active) .scene-home .home-content{
    left:6.9%!important;right:auto!important;top:21.2%!important;width:43%!important;max-width:560px!important;
  }
  body:has(.scene-home.is-active) .scene-home .pill-row{gap:7px!important;margin:0 0 19px!important;flex-wrap:nowrap!important}
  body:has(.scene-home.is-active) .scene-home .pill-row span{padding:6px 13px!important;font-size:clamp(11px,.8vw,14px)!important;line-height:1.2!important;white-space:nowrap!important}
  body:has(.scene-home.is-active) .scene-home .home-content h1{max-width:100%!important}
  body:has(.scene-home.is-active) .scene-home .home-content h1 strong{font-size:clamp(50px,5.6vw,78px)!important;line-height:.9!important;letter-spacing:-.065em!important}
  body:has(.scene-home.is-active) .scene-home .home-content h1 em{font-size:clamp(44px,4.9vw,68px)!important;line-height:.98!important;margin-top:6px!important;white-space:nowrap!important}
  body:has(.scene-home.is-active) .scene-home .home-content p{width:min(100%,42vw,560px)!important;max-width:560px!important;margin:17px 0 18px!important;font-size:clamp(12px,.95vw,15px)!important;line-height:1.48!important}
  body:has(.scene-home.is-active) .scene-home .contact-cta{width:clamp(180px,18vw,245px)!important;min-width:180px!important;height:clamp(40px,4vw,52px)!important;padding:0 16px!important;font-size:clamp(10px,.9vw,13px)!important}
  body:has(.scene-home.is-active) .scene-home .home-footer-note{display:none!important}

  body:has(.scene-home.is-active) .edge-nav{
    top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;
    width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
  }
  body:has(.scene-home.is-active) .edge-nav.edge-prev{left:1.3%!important;right:auto!important}
  body:has(.scene-home.is-active) .edge-nav.edge-next{right:1.3%!important;left:auto!important}
  body:has(.scene-home.is-active) .hero-progress{left:50%!important;right:auto!important;bottom:14px!important;transform:translateX(-50%)!important;gap:8px!important}
  body:has(.scene-home.is-active) .hero-progress .dots{gap:8px!important}
  body:has(.scene-home.is-active) .hero-progress .dots button{width:7px!important;height:7px!important;min-width:7px!important;min-height:7px!important}
  body:has(.scene-home.is-active) .scene-home .pulse-lockup{right:5.5%!important;bottom:14px!important;width:32%!important;height:42px!important;gap:9px!important}
  body:has(.scene-home.is-active) .scene-home .pulse-lockup svg{height:36px!important}
  body:has(.scene-home.is-active) .scene-home .pulse-lockup span{font-size:7px!important;letter-spacing:.16em!important}

  /* Keep the decorative plant anchored to the lower-left on tablet. */
  body:has(.scene-home.is-active) .scene-home .home-plant{
    display:block!important;visibility:visible!important;position:absolute!important;
    left:-18px!important;right:auto!important;top:auto!important;bottom:-8px!important;
    width:clamp(150px,18vw,230px)!important;height:auto!important;
    min-width:0!important;max-width:24vw!important;max-height:48vh!important;
    object-fit:contain!important;object-position:left bottom!important;
    opacity:.82!important;z-index:3!important;pointer-events:none!important;
  }

  /* The SVG chevron is the sole arrow mark; hide the legacy glyph layer. */
  body:has(.scene-home.is-active) .edge-nav::after{
    content:none!important;display:none!important;animation:none!important;
  }
  body:has(.scene-home.is-active) .edge-nav::before{
    content:""!important;display:block!important;
  }
}

/* 12.0.3 — tablet landscape Services page, matched to the supplied reference */
@media (min-width:900px) and (max-width:1600px) and (min-height:430px) and (orientation:landscape) and (pointer:coarse){
  body:has(.scene-services.is-active) .floating-ui{
    height:76px!important;min-height:76px!important;
    padding:10px 2.6% 8px 6.9%!important;
    display:flex!important;align-items:center!important;
  }
  body:has(.scene-services.is-active) .floating-ui .brand{gap:8px!important;min-width:0!important}
  body:has(.scene-services.is-active) .floating-ui .brand img{width:clamp(50px,4vw,62px)!important;height:clamp(50px,4vw,62px)!important;flex:0 0 clamp(50px,4vw,62px)!important}
  body:has(.scene-services.is-active) .floating-ui .brand-copy{display:flex!important}
  body:has(.scene-services.is-active) .floating-ui .brand-copy b{font-size:clamp(15px,1.8vw,19px)!important;white-space:nowrap!important}
  body:has(.scene-services.is-active) .floating-ui .top-actions{gap:12px!important;margin-left:auto!important}
  body:has(.scene-services.is-active) .floating-ui #bookingBtn.booking-pill{
    width:clamp(175px,18.5vw,250px)!important;min-width:175px!important;max-width:250px!important;height:40px!important;
  }
  body:has(.scene-services.is-active) .floating-ui #bookingBtn .booking-label{font-size:10px!important;letter-spacing:.02em!important}
  body:has(.scene-services.is-active) .floating-ui #bookingBtn .booking-arrow{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;flex:0 0 28px!important}
  body:has(.scene-services.is-active) .floating-ui .menu-btn{width:40px!important;height:40px!important;flex:0 0 40px!important}

  body:has(.scene-services.is-active) .scene-kicker{
    left:30.5%!important;top:6.6%!important;padding:7px 10px!important;
    font-size:7px!important;line-height:1.1!important;letter-spacing:.22em!important;
  }
  body:has(.scene-services.is-active) .scene-overlay{
    background:linear-gradient(90deg,rgba(2,26,38,.92) 0%,rgba(2,26,38,.88) 34%,rgba(2,26,38,.50) 56%,rgba(2,26,38,.12) 78%,rgba(2,26,38,.06) 100%)!important;
  }
  body:has(.scene-services.is-active) .services-layout{
    position:absolute!important;inset:0!important;display:block!important;padding:0!important;
  }
  body:has(.scene-services.is-active) .services-copy{
    position:absolute!important;left:6.9%!important;right:auto!important;top:30.5%!important;
    width:39%!important;max-width:440px!important;color:#fff!important;
  }
  body:has(.scene-services.is-active) .services-copy .mini-label{font-size:7px!important;letter-spacing:.24em!important}
  body:has(.scene-services.is-active) .services-copy h2{
    margin:13px 0 17px!important;max-width:100%!important;
    font-size:clamp(45px,5.35vw,60px)!important;line-height:.96!important;letter-spacing:-.05em!important;
  }
  body:has(.scene-services.is-active) .services-copy h2 i{color:#08a9cb!important}
  body:has(.scene-services.is-active) .services-copy p{
    width:100%!important;max-width:420px!important;margin:0!important;
    font-size:clamp(12px,1.25vw,14px)!important;line-height:1.5!important;color:rgba(255,255,255,.72)!important;
  }
  body:has(.scene-services.is-active) .service-orbit{
    position:absolute!important;left:47%!important;right:7%!important;top:29.4%!important;bottom:25%!important;
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:12px!important;
    padding:0!important;max-height:none!important;overflow:visible!important;align-self:stretch!important;
  }
  body:has(.scene-services.is-active) .service-orbit .service-card{
    position:relative!important;width:100%!important;height:auto!important;min-height:0!important;
    padding:14px 15px!important;display:grid!important;
    grid-template-columns:30px 25px minmax(0,1fr) 16px!important;
    align-items:center!important;column-gap:9px!important;row-gap:0!important;
    border-radius:21px!important;border:1px solid rgba(255,255,255,.24)!important;
    background:rgba(255,255,255,.16)!important;color:#fff!important;
    backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;
    box-shadow:none!important;text-align:left!important;
  }
  body:has(.scene-services.is-active) .service-orbit .service-card .service-card-icon{
    grid-column:1!important;grid-row:1!important;width:30px!important;height:30px!important;
    min-width:30px!important;min-height:30px!important;padding:5px!important;border-radius:10px!important;
    border:1px solid rgba(105,221,240,.32)!important;background:rgba(7,170,204,.12)!important;
  }
  body:has(.scene-services.is-active) .service-orbit .service-card .service-card-icon>img,
  body:has(.scene-services.is-active) .service-orbit .service-card .service-card-icon>svg{
    width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important;
  }
  body:has(.scene-services.is-active) .service-orbit .service-card b{
    grid-column:2!important;grid-row:1!important;font-size:9px!important;color:#8de4f3!important;
  }
  body:has(.scene-services.is-active) .service-orbit .service-card .service-card-title{
    grid-column:3!important;grid-row:1!important;min-width:0!important;
    font-size:clamp(11px,1.25vw,14px)!important;line-height:1.12!important;font-weight:800!important;color:#fff!important;
  }
  body:has(.scene-services.is-active) .service-orbit .service-card i{
    grid-column:4!important;grid-row:1!important;justify-self:end!important;
    display:block!important;font-size:15px!important;line-height:1!important;color:#8de4f3!important;font-style:normal!important;
  }
  body:has(.scene-services.is-active) .edge-nav{
    top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;
    width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
  }
  body:has(.scene-services.is-active) .edge-nav.edge-prev{left:1.3%!important;right:auto!important}
  body:has(.scene-services.is-active) .edge-nav.edge-next{right:1.3%!important;left:auto!important}
  body:has(.scene-services.is-active) .edge-nav::after{content:none!important;display:none!important;animation:none!important}
  body:has(.scene-services.is-active) .edge-nav::before{content:""!important;display:block!important}
  body:has(.scene-services.is-active) .hero-progress{
    left:50%!important;right:auto!important;bottom:18px!important;transform:translateX(-50%)!important;gap:8px!important;
  }
  body:has(.scene-services.is-active) .hero-progress .dots{gap:8px!important}
  body:has(.scene-services.is-active) .hero-progress .dots button{width:7px!important;height:7px!important;min-width:7px!important;min-height:7px!important}
}

/* 12.0.4 — tablet-only brand spacing and section badge alignment */
@media (min-width:900px) and (max-width:1600px) and (min-height:430px) and (orientation:landscape) and (pointer:coarse){
  body:has(.scene-home.is-active) .floating-ui .brand,
  body:has(.scene-services.is-active) .floating-ui .brand{gap:12px!important}
  body:has(.scene-home.is-active) .scene-home .pill-row{margin-left:0!important;padding-left:0!important}
  body:has(.scene-services.is-active) .scene-services>.scene-kicker{
    left:30.5%!important;
    top:calc(10px + (clamp(50px,4vw,62px) - 24px)/2 + 7px)!important;
  }
}

/* 12.0.5 — center the Services pill on the tablet header wordmark line */
@media (min-width:900px) and (max-width:1600px) and (min-height:430px) and (orientation:landscape) and (pointer:coarse){
  body:has(.scene-services.is-active) .scene-services>.section-pill{
    top:calc((76px + 10px - 8px - 22px)/2)!important;
    height:22px!important;box-sizing:border-box!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    padding:0 10px!important;line-height:1!important;
  }
}

/* 12.0.6 — tablet landscape Profile page, matched to the supplied reference */
@media (min-width:900px) and (max-width:1600px) and (min-height:430px) and (orientation:landscape) and (pointer:coarse){
  body:has(.scene-profile.is-active) .floating-ui{
    height:76px!important;min-height:76px!important;
    padding:10px 2.6% 8px 6.9%!important;display:flex!important;align-items:center!important;
  }
  body:has(.scene-profile.is-active) .floating-ui .brand{gap:12px!important;min-width:0!important}
  body:has(.scene-profile.is-active) .floating-ui .brand img{width:clamp(50px,4vw,62px)!important;height:clamp(50px,4vw,62px)!important;flex:0 0 clamp(50px,4vw,62px)!important}
  body:has(.scene-profile.is-active) .floating-ui .brand-copy{display:flex!important}
  body:has(.scene-profile.is-active) .floating-ui .brand-copy b{font-size:clamp(15px,1.8vw,19px)!important;white-space:nowrap!important}
  body:has(.scene-profile.is-active) .floating-ui .top-actions{gap:12px!important;margin-left:auto!important}
  body:has(.scene-profile.is-active) .floating-ui #bookingBtn.booking-pill{
    width:clamp(175px,18.5vw,250px)!important;min-width:175px!important;max-width:250px!important;height:40px!important;
  }
  body:has(.scene-profile.is-active) .floating-ui #bookingBtn .booking-label{font-size:10px!important;letter-spacing:.02em!important}
  body:has(.scene-profile.is-active) .floating-ui #bookingBtn .booking-arrow{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;flex:0 0 28px!important}
  body:has(.scene-profile.is-active) .floating-ui .menu-btn{width:40px!important;height:40px!important;flex:0 0 40px!important}

  body:has(.scene-profile.is-active) .scene-profile{background:#edf5f7!important;isolation:isolate!important}
  body:has(.scene-profile.is-active) .scene-profile>.section-pill{
    left:30.5%!important;top:28px!important;height:22px!important;box-sizing:border-box!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    padding:0 10px!important;line-height:1!important;font-size:7px!important;letter-spacing:.22em!important;
    color:#d9f4f7!important;background:rgba(80,119,130,.70)!important;border-color:rgba(102,142,152,.34)!important;
  }
  body:has(.scene-profile.is-active) .scene-profile .profile-photo{
    position:absolute!important;left:43%!important;right:0!important;top:0!important;bottom:0!important;
    width:57%!important;height:100%!important;overflow:hidden!important;
    clip-path:polygon(13% 0,100% 0,100% 100%,0 100%)!important;background:#e8eff1!important;z-index:1!important;
  }
  body:has(.scene-profile.is-active) .scene-profile .profile-photo img{
    display:block!important;width:100%!important;height:100%!important;
    object-fit:cover!important;object-position:center 24%!important;transform:none!important;filter:none!important;opacity:1!important;
  }
  body:has(.scene-profile.is-active) .scene-profile .profile-panel{
    position:absolute!important;left:6.9%!important;right:auto!important;top:21.8%!important;bottom:auto!important;
    width:43%!important;max-width:470px!important;z-index:8!important;color:#0b3448!important;transform:none!important;
  }
  body:has(.scene-profile.is-active) .scene-profile .profile-panel h2{
    margin:0 0 7px!important;max-width:100%!important;
    font-size:clamp(46px,5.2vw,58px)!important;line-height:1.05!important;letter-spacing:-.045em!important;color:#0b3448!important;
  }
  body:has(.scene-profile.is-active) .scene-profile .profile-panel h2 i{
    color:#08a9cb!important;font-family:Georgia,serif!important;font-weight:400!important;
  }
  body:has(.scene-profile.is-active) .scene-profile .profile-panel p{
    width:100%!important;max-width:100%!important;margin:0 0 17px!important;
    font-size:clamp(11px,1.2vw,13px)!important;line-height:1.55!important;color:#6a8390!important;
  }
  body:has(.scene-profile.is-active) .scene-profile .profile-panel .text-link{
    display:inline-flex!important;position:relative!important;align-items:center!important;gap:8px!important;
    min-height:30px!important;margin:0!important;padding:0 0 5px!important;
    font-size:clamp(10px,1.05vw,12px)!important;line-height:1.2!important;letter-spacing:.12em!important;
    color:#0b4057!important;border:0!important;border-bottom:1.5px solid #08a9cb!important;background:transparent!important;
  }
  body:has(.scene-profile.is-active) .scene-profile .profile-panel .text-link span{font-size:15px!important;color:#08a9cb!important}
  body:has(.scene-profile.is-active) .scene-profile .profile-accent{
    display:block!important;left:48.7%!important;top:-8%!important;width:3px!important;height:116%!important;
    z-index:9!important;opacity:.52!important;transform:rotate(7deg)!important;
    background:linear-gradient(180deg,transparent 0%,#9cebf6 18%,#06a9cc 48%,#9cebf6 80%,transparent 100%)!important;
    box-shadow:0 0 22px rgba(6,169,204,.35)!important;
  }
  body:has(.scene-profile.is-active) .scene-profile .profile-photo,
  body:has(.scene-profile.is-active) .scene-profile .profile-photo img,
  body:has(.scene-profile.is-active) .scene-profile .profile-panel,
  body:has(.scene-profile.is-active) .scene-profile .profile-accent,
  body:has(.scene-profile.is-active) .scene-profile .profile-panel *{animation:none!important}

  body:has(.scene-profile.is-active) .edge-nav{
    top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;
    width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
  }
  body:has(.scene-profile.is-active) .edge-nav.edge-prev{left:1.3%!important;right:auto!important}
  body:has(.scene-profile.is-active) .edge-nav.edge-next{right:1.3%!important;left:auto!important}
  body:has(.scene-profile.is-active) .edge-nav::after{content:none!important;display:none!important;animation:none!important}
  body:has(.scene-profile.is-active) .edge-nav::before{content:""!important;display:block!important}
  body:has(.scene-profile.is-active) .hero-progress{
    left:50%!important;right:auto!important;bottom:18px!important;transform:translateX(-50%)!important;gap:8px!important;
  }
  body:has(.scene-profile.is-active) .hero-progress .dots{gap:8px!important}
  body:has(.scene-profile.is-active) .hero-progress .dots button{width:7px!important;height:7px!important;min-width:7px!important;min-height:7px!important}
}

/* 12.0.8 — Tablet modal sizing and scroll containment. */
body.modal-open{overflow:hidden!important;overscroll-behavior:none!important}
body.modal-open .hero-stage,
body.modal-open .floating-ui,
body.modal-open .edge-nav,
body.modal-open .hero-progress,
body.modal-open .menu-overlay{pointer-events:none!important}

@media (pointer:coarse) and (min-width:701px) and (max-width:1600px){
  :is(.service-modal,.service-detail-modal,.profile-modal,.space-lightbox,.booking-modal,.faq-modal,.review-detail-modal,.review-submit-modal){overscroll-behavior:contain!important}

  .service-modal{
    padding:16px!important;overflow-y:auto!important;overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;align-items:center!important;
  }
  .service-modal-card{
    width:min(1120px,calc(100vw - 32px))!important;
    height:min(86dvh,780px)!important;max-height:calc(100dvh - 32px)!important;
  }
  .service-modal-layout{
    height:100%!important;grid-template-columns:minmax(0,.72fr) minmax(0,1.45fr)!important;
  }
  .service-modal-visual,.service-modal-content{min-height:0!important;height:100%!important}
  .service-modal-content{
    overflow-y:auto!important;overflow-x:hidden!important;touch-action:pan-y!important;
    -webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;
  }

  .service-detail-modal{padding:16px!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}
  .service-detail-shell{
    width:min(980px,calc(100vw - 32px))!important;height:min(86dvh,760px)!important;
    max-height:calc(100dvh - 32px)!important;min-height:0!important;
  }
  .service-detail-copy{min-height:0!important;overflow-y:auto!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important}

  .profile-modal{padding:16px!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}
  .profile-modal-shell{
    width:min(1180px,calc(100vw - 32px))!important;height:min(88dvh,820px)!important;
    max-height:calc(100dvh - 32px)!important;min-height:0!important;
    grid-template-columns:minmax(220px,.82fr) minmax(0,1.35fr)!important;
  }
  .profile-modal-content{min-width:0!important;min-height:0!important;overflow-y:auto!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important}

  .faq-modal{overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}
  .faq-modal-panel{
    max-height:calc(100dvh - 32px)!important;overflow-y:auto!important;overflow-x:hidden!important;
    overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;
  }

  .review-detail-modal{overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}
  .review-detail-panel{max-height:calc(100dvh - 32px)!important;min-height:0!important}
  .review-detail-body{min-height:0!important;overflow-y:auto!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important}

  .review-submit-modal{overflow-y:auto!important;align-items:center!important;-webkit-overflow-scrolling:touch!important}
  #reviewSubmitModal .review-submit-panel{
    max-height:calc(100dvh - 32px)!important;overflow-y:auto!important;overflow-x:hidden!important;
    overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;
  }

  .booking-modal{overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
  .booking-card-ref{
    max-height:calc(100dvh - 32px)!important;min-height:0!important;overflow-y:auto!important;
    overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;
  }
}

@media (pointer:coarse) and (min-width:701px) and (max-width:900px) and (orientation:portrait){
  .service-modal-card{height:min(90dvh,820px)!important}
  .service-modal-layout{grid-template-columns:1fr!important;grid-template-rows:clamp(130px,23dvh,190px) minmax(0,1fr)!important}
  .service-modal-visual{height:auto!important;min-height:0!important}
  .service-modal-content{height:auto!important}
  .service-detail-shell{height:min(90dvh,820px)!important;grid-template-columns:1fr!important;grid-template-rows:clamp(130px,23dvh,190px) minmax(0,1fr)!important}
  .service-detail-art{min-height:0!important}
  .profile-modal-shell{height:min(92dvh,900px)!important;grid-template-columns:1fr!important;grid-template-rows:minmax(150px,.42fr) minmax(0,1fr)!important}
}

/* 12.0.8 — Tablet landscape Space hero, matched to the supplied screen. */
@media (pointer:coarse) and (min-width:900px) and (max-width:2400px) and (min-height:430px) and (orientation:landscape){
  body:has(.scene-space.is-active) .floating-ui{
    height:76px!important;min-height:76px!important;padding:10px 2.6% 8px 6.9%!important;
    display:flex!important;align-items:center!important;
  }
  body:has(.scene-space.is-active) .floating-ui .brand{gap:12px!important;min-width:0!important}
  body:has(.scene-space.is-active) .floating-ui .brand img{
    width:clamp(50px,4vw,82px)!important;height:clamp(50px,4vw,82px)!important;
    flex:0 0 clamp(50px,4vw,82px)!important;
  }
  body:has(.scene-space.is-active) .floating-ui .brand-copy{display:flex!important}
  body:has(.scene-space.is-active) .floating-ui .brand-copy b{
    font-size:clamp(15px,1vw,22px)!important;white-space:nowrap!important;
  }
  body:has(.scene-space.is-active) .floating-ui .top-actions{gap:12px!important;margin-left:auto!important}
  body:has(.scene-space.is-active) .floating-ui #bookingBtn.booking-pill{
    width:clamp(175px,18.5vw,250px)!important;min-width:175px!important;max-width:250px!important;
    height:40px!important;padding:0 5px 0 12px!important;
  }
  body:has(.scene-space.is-active) .floating-ui #bookingBtn .booking-label{
    font-size:clamp(8px,.72vw,12px)!important;letter-spacing:.02em!important;white-space:nowrap!important;
  }
  body:has(.scene-space.is-active) .floating-ui #bookingBtn .booking-arrow{
    width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;flex:0 0 30px!important;
  }
  body:has(.scene-space.is-active) .floating-ui .menu-btn{
    width:clamp(38px,3.8vw,52px)!important;height:clamp(38px,3.8vw,52px)!important;
    flex:0 0 clamp(38px,3.8vw,52px)!important;
  }

  body:has(.scene-space.is-active) .scene-space,
  body:has(.scene-space.is-active) .scene-space:before{background:#062f40!important}
  body:has(.scene-space.is-active) .scene-space:before{
    background:linear-gradient(110deg,#062f40 0 43%,#0a3544 43% 100%)!important;
  }
  body:has(.scene-space.is-active) .scene-space>.section-pill{
    left:30.5%!important;top:28px!important;height:22px!important;box-sizing:border-box!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    padding:0 10px!important;line-height:1!important;font-size:7px!important;letter-spacing:.22em!important;
    color:#d9f4f7!important;background:rgba(80,119,130,.70)!important;border-color:rgba(102,142,152,.34)!important;
  }
  body:has(.scene-space.is-active) .space-copy{
    left:7%!important;right:auto!important;top:23.8%!important;width:36%!important;max-width:390px!important;
    opacity:1!important;transform:none!important;filter:none!important;
  }
  body:has(.scene-space.is-active) .space-copy .mini-label{display:none!important}
  body:has(.scene-space.is-active) .space-copy h2{
    margin:0 0 16px!important;font-size:clamp(44px,5vw,56px)!important;
    line-height:1.02!important;letter-spacing:-.045em!important;text-wrap:balance!important;
  }
  body:has(.scene-space.is-active) .space-copy h2 i{color:#08a9c9!important}
  body:has(.scene-space.is-active) .space-copy p{
    max-width:390px!important;margin:16px 0 18px!important;
    font-size:clamp(11px,1.2vw,14px)!important;line-height:1.55!important;color:rgba(235,246,249,.76)!important;
  }
  body:has(.scene-space.is-active) .space-open-gallery{
    width:152px!important;min-width:152px!important;height:36px!important;margin-top:18px!important;
    padding:0 14px!important;border-color:rgba(108,222,239,.46)!important;background:rgba(68,126,145,.22)!important;
    font-size:8px!important;letter-spacing:.14em!important;transition:transform .18s ease,background .2s ease,border-color .2s ease!important;
  }
  body:has(.scene-space.is-active) .space-open-gallery b{font-size:15px!important}
  body:has(.scene-space.is-active) .space-open-gallery:active{transform:scale(.975)!important;background:rgba(8,169,201,.38)!important}

  body:has(.scene-space.is-active) .space-gallery{
    left:43%!important;right:0!important;top:0!important;bottom:0!important;height:auto!important;
    display:flex!important;align-items:stretch!important;gap:8px!important;padding:0!important;
    overflow-x:auto!important;overflow-y:hidden!important;scroll-behavior:smooth!important;
    scroll-snap-type:x proximity!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-x:contain!important;
    scrollbar-width:none!important;
    -webkit-mask-image:none!important;mask-image:none!important;perspective:none!important;
    opacity:1!important;transform:none!important;clip-path:none!important;
  }
  body:has(.scene-space.is-active) .space-gallery::-webkit-scrollbar{display:none!important}
  body:has(.scene-space.is-active) .space-gallery .space-card,
  body:has(.scene-space.is-active) .space-gallery .space-card:nth-child(n){
    display:block!important;position:relative!important;
    flex:0 0 calc(25% - 6px)!important;min-width:calc(25% - 6px)!important;
    width:calc(25% - 6px)!important;height:100%!important;scroll-snap-align:start!important;
    margin:0!important;border:0!important;border-radius:0!important;overflow:hidden!important;
    opacity:1!important;filter:none!important;transform:none!important;box-shadow:none!important;
    transition:filter .2s ease,transform .18s ease!important;
  }
  body:has(.scene-space.is-active) .space-gallery .space-card:active{transform:scale(.985)!important}
  body:has(.scene-space.is-active) .space-gallery .space-card img{
    display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;
    object-position:center!important;transform:scale(1.015)!important;filter:saturate(.88) brightness(.88)!important;
    transition:transform .35s cubic-bezier(.2,.75,.2,1),filter .2s ease!important;
  }
  body:has(.scene-space.is-active) .space-gallery .space-card:nth-child(2) img{object-position:63% center!important}
  body:has(.scene-space.is-active) .space-gallery .space-card:nth-child(3) img{object-position:68% center!important}
  body:has(.scene-space.is-active) .space-gallery .space-card:nth-child(4) img{object-position:78% center!important}
  body:has(.scene-space.is-active) .space-gallery .space-card:after{display:none!important}
  body:has(.scene-space.is-active) .space-gallery-hint{display:none!important}

  body:has(.scene-space.is-active) .space-gallery-controls{
    right:3.1%!important;bottom:4.4%!important;gap:4px!important;padding:5px!important;
    border-radius:999px!important;background:rgba(74,121,133,.72)!important;
    border:1px solid rgba(211,244,248,.18)!important;box-shadow:none!important;backdrop-filter:blur(12px)!important;
  }
  body:has(.scene-space.is-active) .space-gallery-controls button{
    width:34px!important;height:34px!important;font-size:23px!important;line-height:1!important;
    border-color:rgba(255,255,255,.3)!important;background:rgba(255,255,255,.07)!important;
    transition:transform .16s ease,background .18s ease!important;
  }
  body:has(.scene-space.is-active) .space-gallery-controls button:active{transform:scale(.92)!important;background:rgba(255,255,255,.22)!important}

  body:has(.scene-space.is-active) .edge-nav{
    top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;
    width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;font-size:28px!important;
  }
  /* Use the same single CSS chevron as the tablet Home, Services and Profile heroes. */
  body:has(.scene-space.is-active) .edge-nav::after{content:none!important;display:none!important;animation:none!important}
  body:has(.scene-space.is-active) .edge-nav::before{
    content:""!important;display:block!important;position:absolute!important;left:50%!important;top:50%!important;
    width:11px!important;height:11px!important;border:0!important;border-top:3px solid #0b4057!important;
    border-right:3px solid #0b4057!important;border-bottom:0!important;border-left:0!important;border-radius:1px!important;
    background:none!important;box-shadow:none!important;animation:none!important;
  }
  body:has(.scene-space.is-active) .edge-nav.edge-prev::before{transform:translate(-38%,-50%) rotate(-135deg)!important}
  body:has(.scene-space.is-active) .edge-nav.edge-next::before{transform:translate(-62%,-50%) rotate(45deg)!important}
  body:has(.scene-space.is-active) .edge-nav.edge-prev{left:1.3%!important;right:auto!important}
  body:has(.scene-space.is-active) .edge-nav.edge-next{right:1.3%!important;left:auto!important}
  body:has(.scene-space.is-active) .edge-nav:active{transform:translateY(-50%) scale(.93)!important}
  body:has(.scene-space.is-active) .hero-progress{
    left:50%!important;right:auto!important;bottom:20px!important;transform:translateX(-50%)!important;gap:8px!important;
  }
  body:has(.scene-space.is-active) .hero-progress .dots{gap:8px!important}
  body:has(.scene-space.is-active) .hero-progress .dots button{
    width:7px!important;height:7px!important;min-width:7px!important;min-height:7px!important;
    transition:transform .16s ease,background .2s ease!important;
  }

  :is(.service-modal-content,.service-detail-copy,.profile-modal-content,.review-detail-body,.faq-modal-panel,.booking-card-ref,#reviewSubmitModal .review-submit-panel){
    scroll-behavior:smooth!important;scrollbar-gutter:stable!important;
  }
  :is(.service-modal,.service-detail-modal,.profile-modal,.booking-modal,.faq-modal,.review-detail-modal,.review-submit-modal){
    transition-timing-function:cubic-bezier(.2,.75,.25,1)!important;
  }
  /* Keep the four reference photos still on tablet; the desktop drift animation flickers here. */
  body:has(.scene-space.is-active) .space-gallery,
  body:has(.scene-space.is-active) .space-gallery .space-card,
  body:has(.scene-space.is-active) .space-gallery .space-card img{
    animation:none!important;transition:none!important;will-change:auto!important;
  }
  body:has(.scene-space.is-active) .space-gallery .space-card img{transform:scale(1.015)!important}
  button,a,[role="button"]{-webkit-tap-highlight-color:transparent!important;touch-action:manipulation}
  .space-lightbox{z-index:13000!important}
}

@media (pointer:coarse) and (min-width:900px) and (max-width:1600px) and (min-height:430px) and (orientation:landscape) and (hover:none){
  body.modal-open :is(.service-modal-content,.service-detail-copy,.profile-modal-content,.review-detail-body,.faq-modal-panel,.booking-card-ref,#reviewSubmitModal .review-submit-panel){
    overscroll-behavior-y:contain!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;
  }
}

/* 12.0.10 — tablet controls stay perfectly round and resist flex squeezing. */
@media (pointer:coarse) and (min-width:701px) and (max-width:2400px) and (min-height:430px){
  .floating-ui .menu-btn{
    aspect-ratio:1/1!important;flex-shrink:0!important;min-width:40px!important;min-height:40px!important;
    box-sizing:border-box!important;border-radius:50%!important;padding:0!important;
  }

  :is(.menu-close,.service-modal-close,.service-detail-close,.profile-modal-close,.review-detail-close,
      .review-submit-close,.faq-modal-close,.space-lightbox-close,.booking-card-ref .modal-close){
    aspect-ratio:1/1!important;min-width:44px!important;min-height:44px!important;
    width:44px!important;height:44px!important;max-width:44px!important;max-height:44px!important;
    flex:0 0 44px!important;box-sizing:border-box!important;border-radius:50%!important;
    padding:0!important;display:grid!important;place-items:center!important;line-height:1!important;
  }

  :is(.space-gallery-controls button,.space-lightbox-nav,.review-detail-nav button,.scene-reviews .review-page-nav button){
    aspect-ratio:1/1!important;min-width:40px!important;min-height:40px!important;
    width:44px!important;height:44px!important;max-width:44px!important;max-height:44px!important;
    flex:0 0 44px!important;box-sizing:border-box!important;border-radius:50%!important;
    padding:0!important;display:grid!important;place-items:center!important;line-height:1!important;
  }
}

/* 12.0.11 — one shared, uncompressed Hero arrow treatment on every tablet scene. */
@media (pointer:coarse) and (min-width:701px) and (max-width:2400px) and (min-height:430px){
  body:has(.hero-scene.is-active) .edge-nav{
    width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
    max-width:42px!important;max-height:42px!important;aspect-ratio:1/1!important;flex:0 0 42px!important;
    box-sizing:border-box!important;padding:0!important;border-radius:50%!important;display:grid!important;
    place-items:center!important;line-height:0!important;font-size:0!important;overflow:visible!important;
  }
  body:has(.hero-scene.is-active) .edge-nav::after{content:none!important;display:none!important;animation:none!important}
  body:has(.hero-scene.is-active) .edge-nav::before{
    content:""!important;display:block!important;position:absolute!important;left:50%!important;top:50%!important;
    width:11px!important;height:11px!important;margin:0!important;box-sizing:border-box!important;
    border:0!important;border-right:3px solid #0b4057!important;border-bottom:3px solid #0b4057!important;
    border-radius:1px!important;background:none!important;background-image:none!important;box-shadow:none!important;
    transform-origin:center!important;animation:none!important;
  }
  body:has(.hero-scene.is-active) .edge-nav.edge-prev::before{transform:translate(-42%,-50%) rotate(135deg)!important}
  body:has(.hero-scene.is-active) .edge-nav.edge-next::before{transform:translate(-58%,-50%) rotate(-45deg)!important}
}

/* The photo viewer uses no modal scroll rail on tablets or phones. */
@media (pointer:coarse) and (min-width:320px) and (max-width:2400px){
  #spaceLightbox>.ps-modal-rail-183{display:none!important;visibility:hidden!important;pointer-events:none!important}
  #spaceLightbox .space-lightbox-shell,
  #spaceLightbox .space-lightbox-shell::-webkit-scrollbar{
    scrollbar-width:none!important;-ms-overflow-style:none!important;
  }
  #spaceLightbox .space-lightbox-shell::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
}


/* 12.0.12 — tablet landscape: raise and align section pills; finish Contact and Map heroes. */
@media (pointer:coarse) and (min-width:900px) and (max-width:1600px) and (min-height:430px) and (orientation:landscape){
  /* Keep every numbered badge on the same line as the wordmark, slightly higher. */
  body:has(.hero-scene.is-active) .hero-scene>.section-pill{
    left:30.5%!important;top:23px!important;height:22px!important;min-height:22px!important;
    box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;
    padding:0 10px!important;line-height:1!important;font-size:7px!important;letter-spacing:.22em!important;
  }

  body:has(.scene-contact.is-active) .floating-ui,
  body:has(.scene-map.is-active) .floating-ui{
    height:76px!important;min-height:76px!important;padding:10px 2.6% 8px 6.9%!important;
    display:flex!important;align-items:center!important;
  }
  body:has(.scene-contact.is-active) .floating-ui .brand,
  body:has(.scene-map.is-active) .floating-ui .brand{gap:12px!important;min-width:0!important}
  body:has(.scene-contact.is-active) .floating-ui .brand img,
  body:has(.scene-map.is-active) .floating-ui .brand img{
    width:clamp(50px,4vw,62px)!important;height:clamp(50px,4vw,62px)!important;flex:0 0 clamp(50px,4vw,62px)!important;
  }
  body:has(.scene-contact.is-active) .floating-ui .brand-copy,
  body:has(.scene-map.is-active) .floating-ui .brand-copy{display:flex!important}
  body:has(.scene-contact.is-active) .floating-ui .brand-copy b,
  body:has(.scene-map.is-active) .floating-ui .brand-copy b{font-size:clamp(15px,1.8vw,19px)!important;white-space:nowrap!important}
  body:has(.scene-contact.is-active) .floating-ui .top-actions,
  body:has(.scene-map.is-active) .floating-ui .top-actions{gap:12px!important;margin-left:auto!important}
  body:has(.scene-contact.is-active) .floating-ui #bookingBtn.booking-pill,
  body:has(.scene-map.is-active) .floating-ui #bookingBtn.booking-pill{
    width:clamp(175px,18.5vw,250px)!important;min-width:175px!important;max-width:250px!important;height:40px!important;
  }
  body:has(.scene-contact.is-active) .floating-ui #bookingBtn .booking-label,
  body:has(.scene-map.is-active) .floating-ui #bookingBtn .booking-label{font-size:10px!important;letter-spacing:.02em!important}
  body:has(.scene-contact.is-active) .floating-ui .menu-btn,
  body:has(.scene-map.is-active) .floating-ui .menu-btn{width:40px!important;height:40px!important;flex:0 0 40px!important}

  /* Contact: calm, readable form on the left and a full-height diagonal photo on the right. */
  body:has(.scene-contact.is-active) .scene-contact{background:#edf6f8!important;isolation:isolate!important;overflow:hidden!important}
  body:has(.scene-contact.is-active) .scene-contact>.section-pill{
    color:#d9f4f7!important;background:rgba(80,119,130,.70)!important;border-color:rgba(102,142,152,.34)!important;
  }
  body:has(.scene-contact.is-active) .scene-contact .contact-visual{
    position:absolute!important;left:45%!important;right:0!important;top:0!important;bottom:0!important;
    width:auto!important;height:100%!important;opacity:1!important;overflow:hidden!important;
    clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)!important;z-index:1!important;
    animation:none!important;transform:none!important;filter:none!important;
  }
  body:has(.scene-contact.is-active) .scene-contact .contact-visual img{
    display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 52%!important;
    opacity:1!important;filter:saturate(.96) contrast(1.02)!important;animation:none!important;transform:none!important;
  }
  body:has(.scene-contact.is-active) .scene-contact .contact-visual:after,
  body:has(.scene-contact.is-active) .scene-contact .contact-visual:before,
  body:has(.scene-contact.is-active) .scene-contact .contact-reveal-frame,
  body:has(.scene-contact.is-active) .scene-contact .contact-reveal-flash{display:none!important;content:none!important}
  body:has(.scene-contact.is-active) .scene-contact .contact-photo-line{
    display:block!important;position:absolute!important;left:3.1%!important;top:-5%!important;width:2px!important;height:110%!important;
    opacity:.82!important;z-index:3!important;transform:rotate(7deg)!important;transform-origin:center!important;
    background:linear-gradient(transparent,rgba(63,216,239,.92) 20%,#fff 50%,rgba(63,216,239,.92) 80%,transparent)!important;
    box-shadow:0 0 18px rgba(37,196,224,.58)!important;animation:none!important;
  }
  body:has(.scene-contact.is-active) .scene-contact .contact-panel{
    position:absolute!important;left:6.9%!important;right:auto!important;top:20.5%!important;bottom:auto!important;
    width:40%!important;max-width:590px!important;height:auto!important;max-height:73%!important;overflow-y:auto!important;
    scrollbar-width:none!important;z-index:8!important;display:block!important;translate:0 0!important;transform:none!important;
  }
  body:has(.scene-contact.is-active) .scene-contact .contact-panel::-webkit-scrollbar{display:none!important;width:0!important}
  body:has(.scene-contact.is-active) .scene-contact .contact-form-state,
  body:has(.scene-contact.is-active) .scene-contact .contact-copy,
  body:has(.scene-contact.is-active) .scene-contact .contact-field,
  body:has(.scene-contact.is-active) .scene-contact .contact-form-actions{
    opacity:1!important;visibility:visible!important;transform:none!important;filter:none!important;animation:none!important;
  }
  body:has(.scene-contact.is-active) .scene-contact .contact-copy .mini-label{display:none!important}
  body:has(.scene-contact.is-active) .scene-contact .contact-copy h2{
    margin:0 0 11px!important;font-size:clamp(48px,4.4vw,62px)!important;line-height:1.04!important;
    letter-spacing:-.045em!important;color:#0b3448!important;text-shadow:none!important;
  }
  body:has(.scene-contact.is-active) .scene-contact .contact-copy h2 i{color:#08a9cb!important;font-family:Georgia,serif!important;font-weight:400!important}
  body:has(.scene-contact.is-active) .scene-contact .contact-copy .contact-intro{
    max-width:100%!important;margin:0 0 15px!important;font-size:clamp(11px,1.05vw,14px)!important;
    line-height:1.5!important;color:#6a8390!important;
  }
  body:has(.scene-contact.is-active) .scene-contact .hero-contact-form{
    width:100%!important;max-width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:7px 14px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;
    box-shadow:none!important;backdrop-filter:none!important;
  }
  body:has(.scene-contact.is-active) .scene-contact .contact-field{min-width:0!important;margin:0!important}
  body:has(.scene-contact.is-active) .scene-contact .contact-field:nth-child(1){grid-column:1!important;grid-row:1!important}
  body:has(.scene-contact.is-active) .scene-contact .contact-field:nth-child(2){grid-column:2!important;grid-row:1!important}
  body:has(.scene-contact.is-active) .scene-contact .contact-field:nth-child(3){grid-column:1!important;grid-row:2!important}
  body:has(.scene-contact.is-active) .scene-contact .contact-field-message{grid-column:1/-1!important;grid-row:3!important;width:92%!important}
  body:has(.scene-contact.is-active) .scene-contact .contact-field label{
    display:block!important;margin:0 0 4px!important;font-size:8px!important;line-height:1.2!important;color:#668391!important;letter-spacing:.14em!important;
  }
  body:has(.scene-contact.is-active) .scene-contact .contact-field input,
  body:has(.scene-contact.is-active) .scene-contact .contact-field textarea{
    display:block!important;width:100%!important;min-width:0!important;min-height:34px!important;height:34px!important;
    box-sizing:border-box!important;padding:5px 2px!important;border:0!important;border-bottom:1px solid rgba(13,75,97,.20)!important;
    border-radius:0!important;background:transparent!important;color:#0b3549!important;font-size:13px!important;line-height:1.35!important;
    box-shadow:none!important;resize:vertical!important;
  }
  body:has(.scene-contact.is-active) .scene-contact .contact-field textarea{height:44px!important;min-height:44px!important;max-height:76px!important}
  body:has(.scene-contact.is-active) .scene-contact .contact-field input::placeholder,
  body:has(.scene-contact.is-active) .scene-contact .contact-field textarea::placeholder{color:#8aa2ad!important;opacity:1!important}
  body:has(.scene-contact.is-active) .scene-contact .contact-form-actions{grid-column:1/-1!important;margin-top:5px!important;display:flex!important;align-items:center!important;gap:12px!important}
  body:has(.scene-contact.is-active) .scene-contact .contact-submit{
    width:160px!important;min-width:160px!important;height:40px!important;min-height:40px!important;padding:0 18px!important;
    display:flex!important;align-items:center!important;justify-content:space-between!important;border-radius:999px!important;
    font-size:9px!important;letter-spacing:.15em!important;box-shadow:0 12px 28px rgba(7,48,67,.12)!important;
  }
  body:has(.scene-contact.is-active) .scene-contact .contact-submit b{font-size:18px!important;color:#63d9ec!important}

  /* Map: preserve the dark navigation motif with a large, static map at right. */
  body:has(.scene-map.is-active) .scene-map{background:#04212e!important;color:#f4fdff!important;isolation:isolate!important;overflow:hidden!important}
  body:has(.scene-map.is-active) .scene-map:before{
    background:radial-gradient(ellipse at 47% 48%,rgba(11,73,91,.42),transparent 50%),linear-gradient(115deg,#031c28 0%,#052b39 52%,#062a37 100%)!important;
  }
  body:has(.scene-map.is-active) .scene-map:after{opacity:.6!important;border-color:rgba(32,199,224,.1)!important}
  body:has(.scene-map.is-active) .scene-map>.section-pill{color:#dffaff!important;border-color:rgba(142,235,248,.32)!important;background:rgba(4,24,35,.42)!important}
  body:has(.scene-map.is-active) .scene-map .map-gridfield{display:block!important;opacity:.32!important;pointer-events:none!important}
  body:has(.scene-map.is-active) .scene-map .map-copy{
    left:6.7%!important;right:auto!important;top:20.2%!important;width:36%!important;max-width:500px!important;
    z-index:8!important;opacity:1!important;visibility:visible!important;transform:none!important;filter:none!important;animation:none!important;
  }
  body:has(.scene-map.is-active) .scene-map .map-copy .mini-label{display:none!important}
  body:has(.scene-map.is-active) .scene-map .map-copy h2{
    margin:0 0 14px!important;font-size:clamp(50px,5vw,68px)!important;line-height:.96!important;
    letter-spacing:-.055em!important;color:#f4fdff!important;text-shadow:0 16px 45px rgba(0,0,0,.22)!important;
  }
  body:has(.scene-map.is-active) .scene-map .map-copy h2 i{color:#4de7fa!important}
  body:has(.scene-map.is-active) .scene-map .map-copy p{
    max-width:100%!important;margin:0 0 24px!important;font-size:clamp(12px,1.15vw,15px)!important;
    line-height:1.55!important;color:#92adba!important;letter-spacing:.01em!important;
  }
  body:has(.scene-map.is-active) .scene-map .map-actions{display:flex!important;align-items:center!important;gap:22px!important;flex-wrap:nowrap!important}
  body:has(.scene-map.is-active) .scene-map .map-route-btn{
    height:56px!important;min-height:56px!important;padding:0 21px 0 24px!important;gap:22px!important;
    border-radius:999px!important;background:#59e5f7!important;color:#03202c!important;font-size:10px!important;
    letter-spacing:.15em!important;white-space:nowrap!important;box-shadow:0 0 0 1px rgba(106,237,255,.35),0 16px 42px rgba(0,205,235,.16)!important;
  }
  body:has(.scene-map.is-active) .scene-map .map-route-btn b{font-size:20px!important;color:#03202c!important}
  body:has(.scene-map.is-active) .scene-map .map-coordinates{display:flex!important;flex:0 0 auto!important;gap:4px!important;color:#6e95a4!important}
  body:has(.scene-map.is-active) .scene-map .map-coordinates small{font-size:7px!important;letter-spacing:.16em!important;color:#6e95a4!important;white-space:nowrap!important}
  body:has(.scene-map.is-active) .scene-map .map-coordinates strong{font-size:17px!important;color:#e9fbff!important}
  body:has(.scene-map.is-active) .scene-map .map-stage-wrap,
  body:has(.scene-map.is-active) .scene-map.is-active .map-stage-wrap{
    position:absolute!important;left:auto!important;right:9.3%!important;top:14.2%!important;bottom:16.5%!important;
    width:44.5%!important;max-width:none!important;margin:0!important;z-index:6!important;perspective:none!important;
    opacity:1!important;visibility:visible!important;transform:none!important;translate:0 0!important;clip-path:none!important;animation:none!important;
  }
  body:has(.scene-map.is-active) .scene-map .map-stage-wrap:before{opacity:.35!important;filter:blur(20px)!important}
  body:has(.scene-map.is-active) .scene-map .map-glow{opacity:.3!important}
  body:has(.scene-map.is-active) .scene-map .map-frame{
    inset:0 0 34px 0!important;border-radius:30px!important;background:#aeb8bc!important;
    border:1px solid rgba(238,249,251,.6)!important;box-shadow:0 30px 70px rgba(0,0,0,.34)!important;
  }
  body:has(.scene-map.is-active) .scene-map .map-frame:before{
    inset:0!important;z-index:2!important;pointer-events:none!important;
    background:rgba(9,31,38,.12)!important;
  }
  body:has(.scene-map.is-active) .scene-map .map-frame iframe{
    inset:-2%!important;width:104%!important;height:104%!important;filter:grayscale(.95) saturate(.3) contrast(.94) brightness(.82)!important;opacity:1!important;
  }
  body:has(.scene-map.is-active) .scene-map .map-frame-sheen{display:none!important}
  body:has(.scene-map.is-active) .scene-map .map-scanline{display:none!important}
  body:has(.scene-map.is-active) .scene-map .map-location-beacon{z-index:6!important;filter:drop-shadow(0 0 14px rgba(83,232,250,.45))!important}
  body:has(.scene-map.is-active) .scene-map .map-location-beacon span{
    background:#5be8fa!important;color:#03202c!important;border-color:#b8f7ff!important;
    box-shadow:0 0 0 5px rgba(91,232,250,.12),0 0 28px rgba(91,232,250,.4)!important;
  }
  body:has(.scene-map.is-active) .scene-map .map-live-card,
  body:has(.scene-map.is-active) .scene-map .map-route-chip{pointer-events:none!important}
  body:has(.scene-map.is-active) .scene-map .map-live-card{
    top:5%!important;right:3%!important;z-index:7!important;background:rgba(3,26,37,.88)!important;
    border:1px solid rgba(98,231,248,.25)!important;backdrop-filter:blur(12px)!important;
  }
  body:has(.scene-map.is-active) .scene-map .map-route-chip{
    right:3%!important;bottom:4%!important;min-width:210px!important;padding:13px 15px!important;border-radius:17px!important;
    z-index:7!important;background:rgba(3,25,35,.88)!important;border:1px solid rgba(91,232,250,.22)!important;
  }
  body:has(.scene-map.is-active) .scene-map .map-caption{
    left:20px!important;right:20px!important;height:30px!important;color:#75c6d2!important;
    font-size:7px!important;letter-spacing:.16em!important;border:0!important;
  }
  body:has(.scene-map.is-active) .scene-map .map-caption b{color:#e8faff!important;font-size:8px!important}
  body:has(.scene-map.is-active) .scene-map .map-supertype{
    left:5.4%!important;bottom:4.7%!important;font-size:clamp(88px,10.8cqw,150px)!important;
    opacity:.65!important;pointer-events:none!important;
  }
  body:has(.scene-map.is-active) .scene-map .map-orbit{animation:none!important}
  body:has(.scene-map.is-active) .scene-map .map-signal span{animation:none!important;opacity:.8!important}
  body:has(.scene-map.is-active) .scene-map .map-route-line{pointer-events:none!important}

  /* Keep the numbered progress track clear of the lower scene edge. */
  .app:has(.hero-scene.is-active) .hero-progress{bottom:20px!important}
}

/* 12.0.13 — keep Contact tablet scene arrows centered like the other tablet Heroes. */
@media (pointer:coarse) and (min-width:900px) and (max-width:1600px) and (min-height:430px) and (orientation:landscape){
  body:has(.scene-contact.is-active) .edge-nav{
    top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;
  }
  body:has(.scene-contact.is-active) .edge-nav:active{
    transform:translateY(-50%) scale(.93)!important;
  }
}

/* 12.0.14 — contain the Space gallery's two photo arrows on tablet. */
@media (pointer:coarse) and (min-width:900px) and (max-width:1600px) and (min-height:430px) and (orientation:landscape){
  body:has(.scene-space.is-active) .space-gallery-controls{
    right:4.2%!important;bottom:5%!important;width:96px!important;height:50px!important;
    box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;
    gap:4px!important;padding:5px!important;overflow:hidden!important;border-radius:999px!important;
  }
  body:has(.scene-space.is-active) .space-gallery-controls button{
    flex:0 0 38px!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;
    max-width:38px!important;max-height:38px!important;aspect-ratio:1/1!important;box-sizing:border-box!important;
    display:grid!important;place-items:center!important;padding:0!important;margin:0!important;border-radius:50%!important;
    line-height:1!important;font-size:23px!important;transform:none!important;
  }
  body:has(.scene-space.is-active) .space-gallery-controls button:active{transform:scale(.94)!important}
}


/* 12.0.15 — keep the tablet Contact form underline clear of the diagonal photo. */
@media (pointer:coarse) and (min-width:900px) and (max-width:1600px) and (min-height:430px) and (orientation:landscape){
  body:has(.scene-contact.is-active) .scene-contact .contact-field:nth-child(2){
    width:calc(100% - clamp(10px,1vw,16px))!important;justify-self:start!important;
  }
}


/* 12.0.16 — final two tablet landscape Heroes + mobile layout in tablet portrait. */
@media (pointer:coarse) and (min-width:701px) and (max-width:1600px) and (min-height:430px) and (orientation:landscape){
  body:has(.hero-scene.is-active) .hero-scene>.section-pill{left:clamp(235px,30.5%,415px)!important;top:23px!important;height:22px!important;min-height:22px!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0 10px!important;line-height:1!important}
  body:has(.hero-scene.is-active) .edge-nav{top:50%!important;bottom:auto!important;transform:translateY(-50%)!important}
  body:has(.hero-scene.is-active) .edge-nav:active{transform:translateY(-50%) scale(.93)!important}
  .app:has(.hero-scene.is-active) .hero-progress{bottom:20px!important}

  body:has(.scene-reviews.is-active) .floating-ui{height:76px!important;min-height:76px!important;padding:10px 2.6% 8px 6.9%!important;align-items:center!important}
  body:has(.scene-reviews.is-active) .floating-ui .brand{gap:12px!important;min-width:0!important}
  body:has(.scene-reviews.is-active) .floating-ui .brand img{width:clamp(48px,4vw,62px)!important;height:clamp(48px,4vw,62px)!important;flex:0 0 clamp(48px,4vw,62px)!important}
  body:has(.scene-reviews.is-active) .floating-ui .brand-copy{display:flex!important}
  body:has(.scene-reviews.is-active) .floating-ui .brand-copy b{font-size:clamp(14px,1.4vw,19px)!important;white-space:nowrap!important}
  body:has(.scene-reviews.is-active) .floating-ui .top-actions{gap:12px!important;margin-left:auto!important}
  body:has(.scene-reviews.is-active) .floating-ui #bookingBtn.booking-pill{width:clamp(166px,18.5vw,250px)!important;min-width:166px!important;max-width:250px!important;height:40px!important}
  body:has(.scene-reviews.is-active) .floating-ui .menu-btn{width:40px!important;height:40px!important;flex:0 0 40px!important}
  body:has(.scene-reviews.is-active) .scene-reviews{overflow:hidden!important;background-color:#073344!important}
  body:has(.scene-reviews.is-active) .scene-reviews>.section-pill{color:#dffaff!important;border-color:rgba(142,235,248,.32)!important;background:rgba(4,24,35,.42)!important}
  body:has(.scene-reviews.is-active) .scene-reviews .reviews-copy{left:7%!important;right:auto!important;top:21%!important;width:38%!important;max-width:540px!important;z-index:5!important}
  body:has(.scene-reviews.is-active) .scene-reviews .reviews-copy .mini-label{font-size:clamp(8px,.75vw,10px)!important;margin:0 0 14px!important;letter-spacing:.26em!important}
  body:has(.scene-reviews.is-active) .scene-reviews .reviews-copy h2{font-size:clamp(38px,5.15vw,72px)!important;line-height:.96!important;letter-spacing:-.055em!important}
  body:has(.scene-reviews.is-active) .scene-reviews .reviews-copy>p{max-width:95%!important;margin:22px 0 22px!important;font-size:clamp(10px,1vw,13px)!important;line-height:1.65!important}
  body:has(.scene-reviews.is-active) .scene-reviews .reviews-score{margin-top:clamp(18px,2.5vw,34px)!important;gap:14px!important}
  body:has(.scene-reviews.is-active) .scene-reviews .reviews-score>strong{font-size:clamp(38px,3.8vw,52px)!important}
  body:has(.scene-reviews.is-active) .scene-reviews .reviews-score b{font-size:clamp(10px,1.1vw,15px)!important}
  body:has(.scene-reviews.is-active) .scene-reviews .reviews-deck{left:50.5%!important;right:8%!important;top:19%!important;bottom:auto!important;width:auto!important;height:56%!important;overflow:visible!important;z-index:6!important;perspective:none!important}
  body:has(.scene-reviews.is-active) .scene-reviews .review-card-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:clamp(8px,1vw,14px)!important;width:100%!important;height:100%!important}
  body:has(.scene-reviews.is-active) .scene-reviews .review-card.review-card-compact{min-width:0!important;padding:clamp(10px,1.3vw,18px)!important;border-radius:clamp(16px,1.8vw,24px)!important}
  body:has(.scene-reviews.is-active) .scene-reviews .review-card.review-card-compact .review-stars{font-size:clamp(8px,.74vw,10px)!important}
  body:has(.scene-reviews.is-active) .scene-reviews .review-card.review-card-compact .review-source{font-size:clamp(5px,.48vw,6.5px)!important}
  body:has(.scene-reviews.is-active) .scene-reviews .review-card.review-card-compact blockquote{font-size:clamp(9px,.96vw,13px)!important;line-height:1.38!important;-webkit-line-clamp:4!important;max-height:5.52em!important;margin:8px 0!important}
  body:has(.scene-reviews.is-active) .scene-reviews .review-card.review-card-compact footer{grid-template-columns:clamp(24px,2.5vw,34px) minmax(0,1fr) 18px!important;gap:7px!important}
  body:has(.scene-reviews.is-active) .scene-reviews .review-card.review-card-compact .review-avatar{width:clamp(24px,2.5vw,34px)!important;height:clamp(24px,2.5vw,34px)!important}
  body:has(.scene-reviews.is-active) .scene-reviews .review-card.review-card-compact footer b{font-size:clamp(7px,.7vw,9.5px)!important}
  body:has(.scene-reviews.is-active) .scene-reviews .review-page-nav{left:auto!important;right:0!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;gap:8px!important}
  body:has(.scene-reviews.is-active) .scene-reviews .review-page-nav button{width:clamp(30px,2.5vw,36px)!important;height:clamp(30px,2.5vw,36px)!important;flex:0 0 clamp(30px,2.5vw,36px)!important}
  body:has(.scene-reviews.is-active) .scene-reviews .reviews-controls{left:50.5%!important;right:8%!important;top:auto!important;bottom:13.5%!important;width:auto!important;display:flex!important;align-items:center!important;justify-content:space-between!important;z-index:8!important}
  body:has(.scene-reviews.is-active) .scene-reviews .reviews-control.next{height:40px!important;min-height:40px!important;min-width:clamp(150px,18vw,245px)!important;padding:0 18px!important;border-radius:999px!important;background:#8fe9f5!important;color:#073242!important;font-size:clamp(8px,.75vw,10px)!important;letter-spacing:.14em!important}
  body:has(.scene-reviews.is-active) .scene-reviews .reviews-control.pause{display:none!important}
  body:has(.scene-reviews.is-active) .scene-reviews .reviews-orbit{right:3.4%!important;bottom:5.5%!important;opacity:.40!important;pointer-events:none!important}

  body:has(.scene-faq.is-active) .floating-ui{height:76px!important;min-height:76px!important;padding:10px 2.6% 8px 6.9%!important;align-items:center!important}
  body:has(.scene-faq.is-active) .floating-ui .brand{gap:12px!important;min-width:0!important}
  body:has(.scene-faq.is-active) .floating-ui .brand img{width:clamp(48px,4vw,62px)!important;height:clamp(48px,4vw,62px)!important;flex:0 0 clamp(48px,4vw,62px)!important}
  body:has(.scene-faq.is-active) .floating-ui .brand-copy{display:flex!important}
  body:has(.scene-faq.is-active) .floating-ui .brand-copy b{font-size:clamp(14px,1.4vw,19px)!important;white-space:nowrap!important}
  body:has(.scene-faq.is-active) .floating-ui .top-actions{gap:12px!important;margin-left:auto!important}
  body:has(.scene-faq.is-active) .floating-ui #bookingBtn.booking-pill{width:clamp(166px,18.5vw,250px)!important;min-width:166px!important;max-width:250px!important;height:40px!important}
  body:has(.scene-faq.is-active) .floating-ui .menu-btn{width:40px!important;height:40px!important;flex:0 0 40px!important}
  body:has(.scene-faq.is-active) .scene-faq{overflow:hidden!important;background-color:#062e39!important}
  body:has(.scene-faq.is-active) .scene-faq>.section-pill{color:#dffaff!important;border-color:rgba(142,235,248,.32)!important;background:rgba(4,24,35,.42)!important}
  body:has(.scene-faq.is-active) .scene-faq .faq-copy{left:8%!important;right:auto!important;top:22.5%!important;width:36%!important;max-width:500px!important;z-index:4!important;transform:none!important}
  body:has(.scene-faq.is-active) .scene-faq .faq-copy .mini-label{display:block!important;margin:0 0 12px!important;font-size:clamp(8px,.72vw,10px)!important;letter-spacing:.26em!important}
  body:has(.scene-faq.is-active) .scene-faq .faq-copy h2{margin:0!important;max-width:100%!important;font-size:clamp(38px,5.3vw,74px)!important;line-height:.98!important;letter-spacing:-.05em!important}
  body:has(.scene-faq.is-active) .scene-faq .faq-copy h2 i{display:block!important;margin-top:2px!important;line-height:1.05!important}
  body:has(.scene-faq.is-active) .scene-faq .faq-copy p{display:block!important;max-width:100%!important;margin:18px 0 0!important;font-size:clamp(11px,1.2vw,15px)!important;line-height:1.55!important}
  body:has(.scene-faq.is-active) .scene-faq .faq-grid{position:absolute!important;left:auto!important;right:6%!important;top:16.5%!important;bottom:auto!important;width:50%!important;height:63%!important;margin:0!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(6,minmax(0,1fr))!important;grid-auto-flow:row!important;gap:clamp(6px,.6vw,9px)!important;transform:none!important;perspective:none!important;overflow:visible!important;z-index:5!important}
  body:has(.scene-faq.is-active) .scene-faq .faq-card{width:100%!important;min-width:0!important;min-height:0!important;height:100%!important;padding:7px clamp(8px,1vw,14px)!important;grid-template-columns:clamp(24px,2.1vw,30px) minmax(0,1fr) clamp(26px,2.4vw,34px)!important;gap:clamp(5px,.6vw,9px)!important;border-radius:clamp(14px,1.6vw,22px)!important;box-sizing:border-box!important;overflow:hidden!important}
  body:has(.scene-faq.is-active) .scene-faq .faq-card small{font-size:clamp(8px,.82vw,11px)!important;white-space:nowrap!important}
  body:has(.scene-faq.is-active) .scene-faq .faq-card b{font-size:clamp(9px,1vw,13px)!important;line-height:1.24!important;overflow:hidden!important;text-overflow:ellipsis!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important}
  body:has(.scene-faq.is-active) .scene-faq .faq-card em{width:clamp(25px,2.4vw,34px)!important;height:clamp(25px,2.4vw,34px)!important;display:grid!important;place-items:center!important;font-size:clamp(13px,1.25vw,18px)!important}
  body:has(.scene-faq.is-active) .scene-faq .faq-marquee{display:block!important;bottom:6.5%!important;opacity:.16!important;font-size:clamp(32px,4vw,58px)!important;pointer-events:none!important}
  body:has(.scene-faq.is-active) .faq-modal{overflow:hidden!important}
  body:has(.scene-faq.is-active) .faq-modal-panel{max-height:min(84dvh,680px)!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
}

/* 12.0.17 — tablet portrait keeps mobile flow, with tablet sized spacing and controls. */
@media (pointer:coarse) and (min-width:701px) and (max-width:1200px) and (min-height:600px) and (orientation:portrait){
  .floating-ui,body:has(.hero-scene.is-active) .floating-ui{
    height:clamp(78px,8.5dvh,98px)!important;min-height:clamp(78px,8.5dvh,98px)!important;
    padding:max(12px,env(safe-area-inset-top)) clamp(20px,4vw,42px) 8px!important;align-items:center!important;
  }
  .floating-ui .brand,body:has(.hero-scene.is-active) .floating-ui .brand{gap:10px!important;min-width:0!important}
  .floating-ui .brand img,body:has(.hero-scene.is-active) .floating-ui .brand img{
    width:clamp(48px,6vw,62px)!important;height:clamp(48px,6vw,62px)!important;flex:0 0 clamp(48px,6vw,62px)!important;
  }
  .floating-ui .brand-copy,body:has(.hero-scene.is-active) .floating-ui .brand-copy{display:flex!important;margin:0!important;padding:0!important}
  .floating-ui .brand-copy b,body:has(.hero-scene.is-active) .floating-ui .brand-copy b{font-size:clamp(14px,1.8vw,19px)!important;white-space:nowrap!important}
  .floating-ui .top-actions,body:has(.hero-scene.is-active) .floating-ui .top-actions{gap:8px!important;margin-left:auto!important}
  .floating-ui #bookingBtn.booking-pill,body:has(.hero-scene.is-active) .floating-ui #bookingBtn.booking-pill{
    width:clamp(150px,22vw,220px)!important;min-width:150px!important;max-width:220px!important;height:42px!important;
    padding:0 5px 0 10px!important;gap:5px!important;
  }
  .floating-ui #bookingBtn .booking-label,body:has(.hero-scene.is-active) .floating-ui #bookingBtn .booking-label{font-size:clamp(8px,1vw,10px)!important;letter-spacing:0!important}
  .floating-ui .menu-btn,body:has(.hero-scene.is-active) .floating-ui .menu-btn{width:44px!important;height:44px!important;flex:0 0 44px!important;border-radius:50%!important}
  .hero-scene>.section-pill,body:has(.hero-scene.is-active) .hero-scene>.section-pill{
    top:calc(clamp(78px,8.5dvh,98px) + 7px)!important;left:clamp(20px,4vw,42px)!important;
    height:22px!important;min-height:22px!important;padding:0 11px!important;display:flex!important;align-items:center!important;
    font-size:7px!important;line-height:1!important;box-sizing:border-box!important;
  }
  .edge-nav,body:has(.hero-scene.is-active) .edge-nav{
    top:auto!important;bottom:calc(16px + env(safe-area-inset-bottom))!important;width:46px!important;height:46px!important;
    min-width:46px!important;min-height:46px!important;max-width:46px!important;max-height:46px!important;flex:0 0 46px!important;
    border-radius:50%!important;transform:none!important;
  }
  .edge-nav:active,body:has(.hero-scene.is-active) .edge-nav:active{transform:scale(.94)!important}
  .edge-nav.edge-prev,body:has(.hero-scene.is-active) .edge-nav.edge-prev{left:clamp(16px,3vw,30px)!important;right:auto!important}
  .edge-nav.edge-next,body:has(.hero-scene.is-active) .edge-nav.edge-next{right:clamp(16px,3vw,30px)!important;left:auto!important}
  .app:has(.hero-scene.is-active) .hero-progress{bottom:calc(24px + env(safe-area-inset-bottom))!important}

  .scene-home .home-content{left:clamp(24px,6vw,60px)!important;right:clamp(24px,6vw,60px)!important;top:17%!important;width:auto!important;max-width:850px!important}
  .scene-home .home-content h1 strong{font-size:clamp(48px,8.3vw,76px)!important;line-height:.93!important}
  .scene-home .home-content h1 em{font-size:clamp(40px,7vw,64px)!important;line-height:1!important}
  .scene-home .home-content p{max-width:720px!important;font-size:clamp(13px,1.7vw,17px)!important;line-height:1.55!important}
  .scene-home .home-footer-note{display:none!important}

  .scene-services .services-layout{display:block!important;padding:calc(clamp(126px,14dvh,170px)) clamp(24px,6vw,60px) 0!important}
  .scene-services .services-copy{width:100%!important;max-width:850px!important}
  .scene-services .services-copy h2{font-size:clamp(42px,7.5vw,68px)!important;line-height:.98!important;margin:10px 0 12px!important}
  .scene-services .services-copy p{max-width:760px!important;font-size:clamp(12px,1.6vw,16px)!important;line-height:1.5!important}
  .scene-services .service-orbit{left:clamp(24px,6vw,60px)!important;right:clamp(24px,6vw,60px)!important;bottom:calc(104px + env(safe-area-inset-bottom))!important;
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;padding:0!important;max-height:42%!important;overflow-y:auto!important;overflow-x:hidden!important}
  .scene-services .service-card{height:auto!important;min-height:clamp(68px,8dvh,92px)!important;padding:clamp(10px,1.5vw,16px)!important;border-radius:18px!important;grid-template-columns:clamp(34px,4vw,44px) 24px minmax(0,1fr) 16px!important;gap:8px!important}
  .scene-services .service-card-icon{width:clamp(32px,4vw,42px)!important;height:clamp(32px,4vw,42px)!important}
  .scene-services .service-card-title{font-size:clamp(10px,1.25vw,13px)!important;line-height:1.2!important}

  .scene-profile .profile-photo{left:0!important;right:0!important;top:0!important;bottom:auto!important;width:100%!important;height:43%!important;clip-path:polygon(0 0,100% 0,100% 87%,0 100%)!important}
  .scene-profile .profile-photo img{object-position:center 25%!important}
  .scene-profile .profile-panel{left:clamp(24px,6vw,60px)!important;right:clamp(24px,6vw,60px)!important;top:auto!important;bottom:calc(102px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:850px!important}
  .scene-profile .profile-panel h2{font-size:clamp(40px,7vw,64px)!important;line-height:.98!important}
  .scene-profile .profile-panel p{font-size:clamp(12px,1.55vw,16px)!important;line-height:1.5!important;margin:12px 0!important}

  .scene-space .space-copy{left:clamp(24px,6vw,60px)!important;right:clamp(24px,6vw,60px)!important;top:15%!important;width:auto!important;max-width:820px!important}
  .scene-space .space-copy h2{font-size:clamp(42px,7.2vw,66px)!important;line-height:1!important}
  .scene-space .space-copy p{font-size:clamp(12px,1.55vw,16px)!important;max-width:720px!important}
  .scene-space .space-gallery{left:clamp(24px,6vw,60px)!important;right:clamp(24px,6vw,60px)!important;bottom:calc(98px + env(safe-area-inset-bottom))!important;height:27%!important;
    display:grid!important;grid-template-columns:1.2fr 1fr 1fr!important;gap:10px!important;overflow:hidden!important}
  .scene-space .space-card:nth-child(4){display:none!important}
  .scene-space .space-gallery-controls{display:none!important}

  .scene-contact .contact-visual{left:0!important;right:0!important;top:0!important;bottom:auto!important;width:100%!important;height:36%!important;opacity:.48!important;clip-path:none!important}
  .scene-contact .contact-visual:after{display:block!important;background:linear-gradient(180deg,rgba(7,35,48,.10),rgba(7,35,48,.30) 65%,#edf6f8 100%)!important}
  .scene-contact .contact-panel{left:clamp(24px,6vw,60px)!important;right:clamp(24px,6vw,60px)!important;top:30%!important;bottom:calc(88px + env(safe-area-inset-bottom))!important;
    width:auto!important;max-width:850px!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;padding:0!important}
  .scene-contact .contact-copy h2{font-size:clamp(36px,6.5vw,56px)!important;line-height:1!important;margin:0 0 8px!important}
  .scene-contact .contact-intro{font-size:clamp(12px,1.5vw,15px)!important;line-height:1.45!important;margin:8px 0 12px!important}
  .scene-contact .hero-contact-form{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px 14px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .scene-contact .contact-field:nth-child(3){grid-column:1!important}
  .scene-contact .contact-field-message{grid-column:1/-1!important;width:100%!important}
  .scene-contact .contact-field input,.scene-contact .contact-field textarea{font-size:14px!important;min-height:42px!important;height:42px!important}
  .scene-contact .contact-field textarea{min-height:56px!important;height:56px!important}
  .scene-contact .contact-submit{min-width:170px!important;height:42px!important;font-size:9px!important}

  .scene-map .map-copy{left:clamp(24px,6vw,60px)!important;right:clamp(24px,6vw,60px)!important;top:15%!important;width:auto!important;max-width:850px!important}
  .scene-map .map-copy h2{font-size:clamp(38px,7vw,64px)!important;line-height:.98!important}
  .scene-map .map-copy p{max-width:700px!important;font-size:clamp(12px,1.5vw,15px)!important}
  .scene-map .map-stage-wrap,.scene-map.is-active .map-stage-wrap{left:clamp(24px,6vw,60px)!important;right:clamp(24px,6vw,60px)!important;top:48%!important;bottom:calc(98px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important;transform:none!important;animation:none!important;opacity:1!important;clip-path:none!important}
  .scene-map .map-frame{inset:0 0 28px!important;border-radius:22px!important}
  .scene-map .map-caption{left:14px!important;right:14px!important;height:28px!important}

  .scene-reviews .reviews-copy{left:clamp(24px,6vw,60px)!important;right:clamp(24px,6vw,60px)!important;top:14%!important;width:auto!important}
  .scene-reviews .reviews-copy .mini-label{font-size:clamp(8px,1vw,10px)!important;margin-bottom:8px!important}
  .scene-reviews .reviews-copy h2{font-size:clamp(36px,6.4vw,56px)!important;line-height:1!important}
  .scene-reviews .reviews-copy>p{font-size:clamp(11px,1.4vw,14px)!important;line-height:1.45!important;margin:10px 0!important;max-width:100%!important}
  .scene-reviews .reviews-score{margin-top:8px!important}
  .scene-reviews .reviews-score>strong{font-size:clamp(30px,4vw,42px)!important}
  .scene-reviews .reviews-deck{left:clamp(24px,6vw,60px)!important;right:clamp(24px,6vw,60px)!important;top:49%!important;bottom:calc(142px + env(safe-area-inset-bottom))!important;width:auto!important;height:auto!important;overflow:visible!important}
  .scene-reviews .review-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .scene-reviews .review-card.review-card-compact{padding:clamp(10px,1.5vw,15px)!important;border-radius:17px!important}
  .scene-reviews .review-card.review-card-compact blockquote{font-size:clamp(10px,1.25vw,13px)!important;line-height:1.34!important;-webkit-line-clamp:3!important;max-height:4.02em!important}
  .scene-reviews .review-card.review-card-compact .review-top{flex-direction:row!important;align-items:center!important}
  .scene-reviews .review-card.review-card-compact footer{grid-template-columns:clamp(26px,3.5vw,34px) minmax(0,1fr) 16px!important;gap:7px!important}
  .scene-reviews .review-card.review-card-compact .review-avatar{width:clamp(26px,3.5vw,34px)!important;height:clamp(26px,3.5vw,34px)!important}
  .scene-reviews .reviews-controls{left:clamp(24px,6vw,60px)!important;right:clamp(24px,6vw,60px)!important;bottom:calc(88px + env(safe-area-inset-bottom))!important;top:auto!important;width:auto!important;justify-content:flex-start!important}
  .scene-reviews .reviews-control.next{height:40px!important;min-width:170px!important}
  .scene-reviews .review-page-nav{bottom:-44px!important;left:auto!important;right:0!important;transform:none!important}
  .scene-reviews .review-page-nav button{width:38px!important;height:38px!important;flex:0 0 38px!important}

  .scene-faq{overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-y:contain!important;touch-action:pan-y!important;padding-bottom:calc(120px + env(safe-area-inset-bottom))!important}
  .scene-faq>.section-pill{top:calc(clamp(78px,8.5dvh,98px) + 7px)!important;left:clamp(20px,4vw,42px)!important}
  .scene-faq .faq-copy{position:relative!important;left:auto!important;right:auto!important;top:auto!important;width:auto!important;max-width:none!important;margin:0 clamp(24px,6vw,60px)!important;padding-top:calc(clamp(132px,15dvh,180px) + env(safe-area-inset-top))!important;transform:none!important}
  .scene-faq .faq-copy .mini-label{display:block!important;margin:0 0 10px!important;font-size:9px!important}
  .scene-faq .faq-copy h2{font-size:clamp(40px,7vw,60px)!important;line-height:1!important}
  .scene-faq .faq-copy p{font-size:clamp(13px,1.6vw,16px)!important;line-height:1.5!important;margin:14px 0 0!important}
  .scene-faq .faq-grid{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;margin:22px clamp(24px,6vw,60px) 0!important;grid-template-columns:1fr!important;gap:9px!important;transform:none!important}
  .scene-faq .faq-card{min-height:clamp(64px,7dvh,78px)!important;padding:12px 14px!important;grid-template-columns:38px minmax(0,1fr) 38px!important;gap:10px!important;border-radius:16px!important}
  .scene-faq .faq-card small{font-size:11px!important}
  .scene-faq .faq-card b{font-size:clamp(14px,1.8vw,17px)!important;line-height:1.28!important;overflow-wrap:anywhere!important}
  .scene-faq .faq-card em{width:34px!important;height:34px!important;font-size:17px!important}
  .scene-faq .faq-marquee{display:none!important}
  body:has(.scene-faq.is-active) .hero-progress{bottom:calc(20px + env(safe-area-inset-bottom))!important}
}

/* 12.0.18 — give Profile modal contact cards enough room on tablet landscape. */
@media (pointer:coarse) and (min-width:900px) and (max-width:1600px) and (min-height:430px) and (orientation:landscape){
  .profile-modal-shell{
    width:min(1180px,calc(100vw - 48px))!important;
    height:min(820px,calc(100dvh - 40px))!important;
    grid-template-columns:minmax(280px,.78fr) minmax(0,1.32fr)!important;
  }
  .profile-modal-content{
    min-width:0!important;
    padding:clamp(28px,4.2vh,42px) clamp(24px,3vw,38px) 30px!important;
  }
  .profile-modal-contact{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
    margin-top:20px!important;
  }
  .profile-modal-contact>div{
    min-width:0!important;
    min-height:62px!important;
    box-sizing:border-box!important;
    padding:12px 14px!important;
  }
  .profile-modal-contact span{
    margin-bottom:6px!important;
    font-size:9px!important;
    line-height:1.2!important;
  }
  .profile-modal-contact strong{
    font-size:clamp(11px,1vw,13px)!important;
    line-height:1.4!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
}

/* 12.0.19 — dedicated tablet portrait compositions based on the supplied references. */
@media (min-width:701px) and (max-width:1200px) and (min-height:600px) and (orientation:portrait){
  /* Tablet portrait is its own viewport, even when a mouse is attached. */
  .floating-ui,body:has(.hero-scene.is-active) .floating-ui{
    height:clamp(78px,8.5dvh,98px)!important;min-height:clamp(78px,8.5dvh,98px)!important;
    padding:max(12px,env(safe-area-inset-top)) clamp(18px,3vw,28px) 8px!important;align-items:center!important;
  }
  .floating-ui .brand,body:has(.hero-scene.is-active) .floating-ui .brand{gap:10px!important;min-width:0!important}
  .floating-ui .brand img,body:has(.hero-scene.is-active) .floating-ui .brand img{
    width:clamp(46px,6vw,60px)!important;height:clamp(46px,6vw,60px)!important;flex:0 0 clamp(46px,6vw,60px)!important;
  }
  .floating-ui .brand-copy,body:has(.hero-scene.is-active) .floating-ui .brand-copy{display:flex!important;margin:0!important;padding:0!important}
  .floating-ui .brand-copy b,body:has(.hero-scene.is-active) .floating-ui .brand-copy b{font-size:clamp(14px,1.8vw,19px)!important;white-space:nowrap!important}
  .floating-ui .top-actions,body:has(.hero-scene.is-active) .floating-ui .top-actions{gap:8px!important;margin-left:auto!important}
  .floating-ui #bookingBtn.booking-pill,body:has(.hero-scene.is-active) .floating-ui #bookingBtn.booking-pill{
    display:flex!important;width:clamp(184px,26vw,220px)!important;min-width:184px!important;max-width:220px!important;height:46px!important;
    padding:0 5px 0 10px!important;gap:5px!important;
  }
  .floating-ui #bookingBtn .booking-label,body:has(.hero-scene.is-active) .floating-ui #bookingBtn .booking-label{font-size:clamp(9px,1.1vw,11px)!important;letter-spacing:0!important}
  .floating-ui #bookingBtn .booking-arrow,body:has(.hero-scene.is-active) .floating-ui #bookingBtn .booking-arrow{
    width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;flex:0 0 34px!important;
  }
  .floating-ui .menu-btn,body:has(.hero-scene.is-active) .floating-ui .menu-btn{width:46px!important;height:46px!important;flex:0 0 46px!important;border-radius:50%!important}
  .hero-scene>.section-pill,body:has(.hero-scene.is-active) .hero-scene>.section-pill{
    top:clamp(96px,10.2dvh,112px)!important;left:clamp(20px,3vw,28px)!important;
    height:26px!important;min-height:26px!important;padding:0 12px!important;display:flex!important;align-items:center!important;
    font-size:8px!important;line-height:1!important;box-sizing:border-box!important;
  }
  .edge-nav,body:has(.hero-scene.is-active) .edge-nav{
    top:auto!important;bottom:calc(14px + env(safe-area-inset-bottom))!important;width:52px!important;height:52px!important;
    min-width:52px!important;min-height:52px!important;max-width:52px!important;max-height:52px!important;flex:0 0 52px!important;
    border-radius:50%!important;transform:none!important;
  }
  .edge-nav:active,body:has(.hero-scene.is-active) .edge-nav:active{transform:scale(.95)!important}
  .edge-nav.edge-prev,body:has(.hero-scene.is-active) .edge-nav.edge-prev{left:clamp(16px,2.5vw,24px)!important;right:auto!important}
  .edge-nav.edge-next,body:has(.hero-scene.is-active) .edge-nav.edge-next{right:clamp(16px,2.5vw,24px)!important;left:auto!important}
  .app:has(.hero-scene.is-active) .hero-progress{bottom:calc(25px + env(safe-area-inset-bottom))!important}

  /* 01 Home: generous heading above the clinic image. */
  .scene-home{background:#f7fafb!important}
  .scene-home .home-content{left:clamp(22px,3vw,30px)!important;right:clamp(22px,3vw,30px)!important;top:16.5%!important;width:auto!important;max-width:850px!important}
  .scene-home .pill-row{gap:7px!important;flex-wrap:wrap!important;margin:0 0 20px!important}
  .scene-home .pill-row span{padding:7px 12px!important;font-size:10px!important}
  .scene-home .home-content h1 strong{font-size:clamp(58px,8.5vw,72px)!important;line-height:.93!important}
  .scene-home .home-content h1 em{font-size:clamp(48px,7.4vw,62px)!important;line-height:1!important;margin-top:8px!important}
  .scene-home .home-content p{max-width:94%!important;font-size:clamp(14px,1.8vw,17px)!important;line-height:1.52!important;margin:16px 0 20px!important}
  .scene-home .contact-cta{width:208px!important;min-width:208px!important;height:50px!important;font-size:10px!important}
  .scene-home .home-photo-live{height:49%!important;object-position:58% 50%!important;border-radius:28px 28px 0 0!important}
  .scene-home .home-plant{display:none!important}
  .scene-home .home-footer-note,.scene-home .pulse-lockup{display:none!important}
  body:has(.scene-home.is-active) .floating-ui #bookingBtn.booking-pill{display:flex!important}
  body:has(.scene-home.is-active) .edge-nav{bottom:calc(14px + env(safe-area-inset-bottom))!important}
  body:has(.scene-home.is-active) .hero-progress{bottom:calc(27px + env(safe-area-inset-bottom))!important}

  /* 02 Services: one wide, easy to tap row for each service. */
  .scene-services .services-layout{display:block!important;padding:clamp(184px,20vh,214px) 22px 0!important}
  .scene-services .services-copy{width:100%!important;max-width:720px!important}
  .scene-services .services-copy .mini-label{font-size:11px!important;letter-spacing:.24em!important}
  .scene-services .services-copy h2{font-size:clamp(54px,7.5vw,66px)!important;line-height:.98!important;margin:12px 0 14px!important}
  .scene-services .services-copy p{max-width:680px!important;font-size:clamp(14px,1.75vw,17px)!important;line-height:1.5!important}
  .scene-services .service-orbit{position:absolute!important;left:22px!important;right:22px!important;bottom:clamp(136px,15vh,160px)!important;
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;padding:0!important;max-height:38%!important;
    overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:none!important;}
  .scene-services .service-orbit::-webkit-scrollbar{display:none!important;width:0!important}
  .scene-services .service-card{height:auto!important;min-height:clamp(64px,7.2vh,76px)!important;padding:9px 14px!important;border-radius:24px!important;
    grid-template-columns:48px 32px minmax(0,1fr) 18px!important;gap:10px!important;align-items:center!important}
  .scene-services .service-card-icon{width:46px!important;height:46px!important}
  .scene-services .service-card b{font-size:12px!important}
  .scene-services .service-card-title{font-size:clamp(12px,1.55vw,15px)!important;line-height:1.25!important}
  .scene-services .service-card i{display:block!important;font-size:19px!important}

  /* 03 Profile: full-width portrait followed by a clean text panel. */
  .scene-profile{background:#eef6f8!important}
  .scene-profile .profile-photo{left:0!important;right:0!important;top:0!important;bottom:auto!important;width:100%!important;height:46%!important;
    clip-path:polygon(0 0,100% 0,100% 88%,0 100%)!important}
  .scene-profile .profile-photo img{object-position:center 25%!important}
  .scene-profile .profile-panel{left:clamp(22px,3vw,30px)!important;right:clamp(22px,3vw,30px)!important;top:auto!important;
    bottom:calc(96px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:850px!important}
  .scene-profile .profile-panel h2{font-size:clamp(56px,7.7vw,68px)!important;line-height:.98!important;margin:0 0 14px!important}
  .scene-profile .profile-panel p{font-size:clamp(14px,1.7vw,16px)!important;line-height:1.5!important;margin:12px 0 18px!important}
  .scene-profile .profile-panel .text-link{font-size:clamp(16px,2vw,20px)!important;margin-top:12px!important}

  /* 04 Space: text first, three large gallery windows along the bottom. */
  .scene-space .space-copy{left:clamp(22px,3vw,30px)!important;right:22px!important;top:18%!important;width:auto!important;max-width:720px!important}
  .scene-space .space-copy .mini-label{display:none!important}
  .scene-space .space-copy h2{font-size:clamp(52px,7.5vw,68px)!important;line-height:1!important;margin:0 0 15px!important}
  .scene-space .space-copy p{font-size:clamp(14px,1.7vw,16px)!important;max-width:680px!important;line-height:1.5!important}
  .scene-space .space-open-gallery{display:none!important}
  .scene-space .space-gallery{left:22px!important;right:22px!important;bottom:calc(112px + env(safe-area-inset-bottom))!important;height:30%!important;
    display:grid!important;grid-template-columns:minmax(0,3.35fr) minmax(0,1fr)!important;gap:12px!important;overflow:hidden!important}
  .scene-space .space-card{display:block!important;min-width:0!important;width:100%!important;height:100%!important;border-radius:22px!important;overflow:hidden!important}
  .scene-space .space-card:nth-child(n+3){display:none!important}
  .scene-space .space-card img{width:100%!important;height:100%!important;object-fit:cover!important}
  .scene-space .space-gallery-controls,.scene-space .space-gallery-hint{display:none!important}

  /* 05 Contact: title over the photo, form in a separate light card below. */
  .scene-contact{background:#edf6f8!important;overflow:hidden!important}
  .scene-contact .contact-visual{left:0!important;right:0!important;top:0!important;bottom:auto!important;width:100%!important;height:35%!important;
    opacity:1!important;clip-path:none!important;overflow:hidden!important}
  .scene-contact .contact-visual img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 45%!important;
    transform:none!important;filter:saturate(.94)!important}
  .scene-contact .contact-visual:after{display:block!important;background:linear-gradient(180deg,rgba(4,35,49,.16),rgba(4,35,49,.32) 72%,rgba(4,35,49,.62))!important}
  .scene-contact .contact-visual:before,.scene-contact .contact-photo-line,.scene-contact .contact-reveal-frame,.scene-contact .contact-reveal-flash{display:none!important;content:none!important}
  .scene-contact .contact-panel{left:0!important;right:0!important;top:0!important;bottom:0!important;width:100%!important;max-width:none!important;
    height:100%!important;max-height:none!important;overflow:visible!important;padding:0!important;z-index:7!important}
  .scene-contact .contact-form-state{position:absolute!important;inset:0!important;width:100%!important}
  .scene-contact .contact-copy{position:absolute!important;left:clamp(22px,3vw,30px)!important;right:22px!important;top:15%!important;z-index:5!important;
    max-width:620px!important;opacity:1!important;visibility:visible!important;transform:none!important;filter:none!important;animation:none!important}
  .scene-contact .contact-copy .mini-label,.scene-contact .contact-intro{display:none!important}
  .scene-contact .contact-copy h2{font-size:clamp(48px,7.3vw,66px)!important;line-height:.98!important;margin:0!important;
    color:#fff!important;text-shadow:0 2px 14px rgba(0,20,30,.32)!important}
  .scene-contact .contact-copy h2 i{color:#fff!important}
  .scene-contact .hero-contact-form{position:absolute!important;left:clamp(22px,3vw,30px)!important;right:clamp(22px,3vw,30px)!important;top:38.5%!important;
    width:auto!important;max-width:none!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 14px!important;
    padding:clamp(18px,2.5vw,24px)!important;border:1px solid rgba(16,78,98,.12)!important;border-radius:24px!important;
    background:rgba(248,252,253,.97)!important;box-shadow:0 15px 40px rgba(7,49,66,.08)!important}
  .scene-contact .contact-field{min-width:0!important;opacity:1!important;visibility:visible!important;transform:none!important;animation:none!important}
  .scene-contact .contact-field:nth-child(1){grid-column:1!important;grid-row:1!important}
  .scene-contact .contact-field:nth-child(2){grid-column:2!important;grid-row:1!important}
  .scene-contact .contact-field:nth-child(3){grid-column:1/-1!important;grid-row:2!important}
  .scene-contact .contact-field-message{grid-column:1/-1!important;grid-row:3!important;width:100%!important}
  .scene-contact .contact-field label{font-size:9px!important;margin:0 0 6px!important;letter-spacing:.13em!important}
  .scene-contact .contact-field input,.scene-contact .contact-field textarea{box-sizing:border-box!important;width:100%!important;min-width:0!important;height:48px!important;min-height:48px!important;
    padding:0 13px!important;border:1px solid #d6e2e7!important;border-radius:14px!important;background:#fff!important;font-size:14px!important;line-height:1.3!important;
    box-shadow:none!important}
  .scene-contact .contact-field textarea{height:66px!important;min-height:66px!important;max-height:90px!important;padding:12px 13px!important;resize:vertical!important}
  .scene-contact .contact-form-actions{grid-column:1/-1!important;margin-top:0!important;opacity:1!important;transform:none!important;animation:none!important}
  .scene-contact .contact-submit{height:46px!important;min-width:180px!important;font-size:10px!important}

  /* 06 Map: address and action above a large, useful map window. */
  .scene-map .map-copy{left:clamp(22px,3vw,30px)!important;right:22px!important;top:15%!important;width:auto!important;max-width:780px!important}
  .scene-map .map-copy .mini-label{display:none!important}
  .scene-map .map-copy h2{font-size:clamp(54px,7.5vw,70px)!important;line-height:.98!important;margin:0 0 12px!important}
  .scene-map .map-copy p{max-width:700px!important;font-size:clamp(16px,2vw,19px)!important;line-height:1.45!important;margin:10px 0 16px!important}
  .scene-map .map-stage-wrap,.scene-map.is-active .map-stage-wrap{left:clamp(22px,3vw,30px)!important;right:clamp(22px,3vw,30px)!important;
    top:54%!important;bottom:calc(116px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important;
    transform:none!important;animation:none!important;opacity:1!important;clip-path:none!important}
  .scene-map .map-frame{inset:0 0 30px!important;border-radius:24px!important;overflow:hidden!important}
  .scene-map .map-caption{left:14px!important;right:14px!important;height:30px!important}

  /* 07 Reviews: readable heading followed by a balanced two-by-two card grid. */
  .scene-reviews .reviews-copy{left:clamp(22px,3vw,30px)!important;right:22px!important;top:14%!important;width:auto!important}
  .scene-reviews .reviews-copy .mini-label{font-size:10px!important;margin:0 0 10px!important}
  .scene-reviews .reviews-copy h2{font-size:clamp(48px,7.2vw,66px)!important;line-height:.98!important}
  .scene-reviews .reviews-copy>p{font-size:clamp(14px,1.65vw,16px)!important;line-height:1.45!important;margin:12px 0!important;max-width:100%!important}
  .scene-reviews .reviews-score{margin-top:8px!important}
  .scene-reviews .reviews-score>strong{font-size:clamp(38px,5.2vw,50px)!important}
  .scene-reviews .reviews-score b{font-size:13px!important}
  .scene-reviews .reviews-deck{left:clamp(22px,3vw,30px)!important;right:clamp(22px,3vw,30px)!important;top:47.5%!important;
    bottom:calc(153px + env(safe-area-inset-bottom))!important;width:auto!important;height:auto!important;overflow:visible!important;perspective:none!important}
  .scene-reviews .review-card-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;
    width:100%!important;height:100%!important;gap:12px!important}
  .scene-reviews .review-card.review-card-compact{min-width:0!important;min-height:0!important;padding:clamp(12px,1.8vw,16px)!important;border-radius:20px!important}
  .scene-reviews .review-card.review-card-compact blockquote{font-size:clamp(11px,1.35vw,14px)!important;line-height:1.35!important;-webkit-line-clamp:3!important;max-height:4.05em!important}
  .scene-reviews .reviews-controls{left:clamp(22px,3vw,30px)!important;right:clamp(22px,3vw,30px)!important;bottom:calc(91px + env(safe-area-inset-bottom))!important;
    top:auto!important;width:auto!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;z-index:8!important}
  .scene-reviews .reviews-control.next{height:42px!important;min-height:42px!important;min-width:128px!important;padding:0 16px!important;font-size:9px!important}
  .scene-reviews .review-page-nav{bottom:-4px!important;left:auto!important;right:0!important;transform:none!important;gap:12px!important}
  .scene-reviews .review-page-nav button{width:42px!important;height:42px!important;flex:0 0 42px!important}

  /* 08 FAQ: a vertically scrollable list, with the navigation anchored to screen. */
  .scene-faq{position:absolute!important;inset:0!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:contain!important;touch-action:pan-y!important;padding-bottom:calc(120px + env(safe-area-inset-bottom))!important}
  .scene-faq>.section-pill{top:clamp(96px,10.2dvh,112px)!important;left:clamp(20px,3vw,28px)!important}
  .scene-faq .faq-copy{position:relative!important;left:auto!important;right:auto!important;top:auto!important;width:auto!important;max-width:none!important;
    margin:0 clamp(22px,3vw,30px)!important;padding-top:calc(clamp(165px,18.5dvh,190px) + env(safe-area-inset-top))!important;transform:none!important}
  .scene-faq .faq-copy .mini-label{display:block!important;margin:0 0 10px!important;font-size:10px!important}
  .scene-faq .faq-copy h2{font-size:clamp(50px,7.4vw,68px)!important;line-height:.98!important}
  .scene-faq .faq-copy p{font-size:clamp(15px,1.8vw,17px)!important;line-height:1.5!important;margin:16px 0 0!important}
  .scene-faq .faq-grid{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;
    margin:32px clamp(20px,3vw,28px) 0!important;display:grid!important;grid-template-columns:1fr!important;gap:12px!important;transform:none!important;perspective:none!important}
  .scene-faq .faq-card{width:100%!important;min-height:clamp(82px,9dvh,94px)!important;padding:14px 18px!important;
    grid-template-columns:38px minmax(0,1fr) 42px!important;gap:12px!important;border-radius:22px!important;box-sizing:border-box!important}
  .scene-faq .faq-card small{font-size:12px!important}
  .scene-faq .faq-card b{font-size:clamp(15px,1.8vw,18px)!important;line-height:1.28!important;overflow-wrap:anywhere!important}
  .scene-faq .faq-card em{width:38px!important;height:38px!important;font-size:18px!important}
  .scene-faq .faq-marquee{display:none!important}
  body:has(.scene-faq.is-active) .hero-progress{bottom:calc(25px + env(safe-area-inset-bottom))!important}
}

/* 12.0.20 — shorten touch-device motion and pause hidden-scene animation work. */
@media (pointer:coarse) and (min-width:320px) and (max-width:1600px){
  .hero-scene{transition-duration:.28s,.38s!important}
  .hero-scene:not(.is-active) *{animation-play-state:paused!important}
  .hero-scene.is-active :is(
    .home-content,.pill-row span,.home-content h1 strong,.home-content h1 em,.home-content p,.contact-cta,
    .scene-kicker,.services-copy,.services-copy h2,.services-copy p,.service-card,
    .profile-photo,.profile-panel,.profile-panel h2,.profile-panel p,.profile-panel .text-link,.profile-accent,
    .space-copy,.space-gallery,.contact-visual,.contact-visual img,.contact-copy,.contact-field,.contact-form-actions,
    .map-copy,.map-stage-wrap,.reviews-copy,.reviews-score,.reviews-deck,.review-card,.reviews-controls,
    .faq-copy,.faq-card
  ){
    animation-duration:.54s!important;animation-delay:0s!important;
    animation-timing-function:cubic-bezier(.2,.75,.25,1)!important;
  }
  .scene-home.is-active .home-photo-live{animation-duration:8s!important;animation-delay:0s!important}
  .hero-scene.is-active :is(.home-content h1 strong,.home-content h1 em,.home-content p,.space-copy,.contact-copy){filter:none!important}
  :is(.service-card,.space-card,.review-card,.faq-card,.contact-submit,.contact-cta,.text-link,.map-route-btn,.booking-pill,.menu-btn,.edge-nav){
    transition-duration:.18s!important;
  }
  :is(.menu-overlay,.booking-modal,.service-modal,.service-detail-backdrop,.profile-modal,.space-lightbox,.faq-modal-backdrop,.review-detail-modal,.review-submit-modal){
    -webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;
  }
}


/* 12.0.21 — keep the portrait image drift slow on touch devices and static on tablet portrait. */
@media (pointer:coarse) and (min-width:320px) and (max-width:1600px){
  .scene-profile.is-active .profile-photo img{
    animation-duration:.54s,14s!important;
    animation-delay:0s,1.5s!important;
    animation-timing-function:cubic-bezier(.2,.75,.25,1),ease-in-out!important;
  }
}
@media (pointer:coarse) and (min-width:701px) and (max-width:1200px) and (min-height:600px) and (orientation:portrait){
  .scene-profile.is-active .profile-photo,
  .scene-profile.is-active .profile-photo img{animation:none!important}
}

/* 12.0.22 — horizontal Space gallery on tablet portrait; portrait-only phone orientation guard. */
@media (pointer:coarse) and (min-width:701px) and (max-width:1200px) and (min-height:600px) and (orientation:portrait){
  .scene-space .space-gallery{
    display:flex!important;grid-template-columns:none!important;grid-template-rows:none!important;
    align-items:stretch!important;gap:12px!important;
    overflow-x:auto!important;overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;overscroll-behavior-x:contain!important;
    touch-action:pan-x pan-y!important;scroll-snap-type:x mandatory!important;
    scroll-behavior:smooth!important;scrollbar-width:none!important;
  }
  .scene-space .space-gallery::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
  .scene-space .space-card,.scene-space .space-card:nth-child(n){
    display:block!important;position:relative!important;flex:0 0 74%!important;min-width:0!important;
    width:74%!important;height:100%!important;scroll-snap-align:start!important;
  }
  .scene-space .space-card:nth-child(n+2){flex-basis:31%!important;width:31%!important}
  .scene-space .space-gallery-controls{display:none!important}
}
.mobile-landscape-guard{display:none}
@media (pointer:coarse) and (orientation:landscape) and (max-width:1000px) and (max-height:560px){
  html,body{width:100%!important;height:100%!important;min-height:100%!important;overflow:hidden!important;overscroll-behavior:none!important}
  body>.app{visibility:hidden!important;pointer-events:none!important}
  .mobile-landscape-guard{
    position:fixed!important;inset:0!important;z-index:2147483647!important;
    display:grid!important;place-items:center!important;padding:24px!important;box-sizing:border-box!important;
    background:radial-gradient(ellipse at 50% 36%,#0c4a59 0%,#082e3b 48%,#041b25 100%)!important;
    color:#fff!important;text-align:center!important;pointer-events:auto!important;
  }
  .mobile-landscape-card{display:grid!important;justify-items:center!important;gap:14px!important;width:min(440px,100%)!important}
  .orientation-icon{width:68px!important;height:68px!important;fill:none!important;stroke:#7be2ef!important;stroke-width:3!important;stroke-linecap:round!important;stroke-linejoin:round!important}
  .mobile-landscape-card strong{font:700 clamp(22px,5vw,32px)/1.15 system-ui,sans-serif!important;letter-spacing:-.025em!important}
  .mobile-landscape-card span{max-width:34ch!important;color:rgba(230,246,249,.76)!important;font:400 14px/1.5 system-ui,sans-serif!important}
}


/* 12.0.24 — line desktop section labels up with the brand mark. */
@media (min-width:1201px) and (pointer:fine){
  .hero-scene>.section-pill{top:46px!important}
}
.profile-modal-contact a{color:inherit!important;text-decoration:none!important;overflow-wrap:anywhere!important}
.profile-modal-contact a:hover{text-decoration:underline!important}


/* 12.0.27 — discreet EU funding mark below the Home contact button. */
.scene-home .home-funding-mark{
  display:block!important;
  width:min(330px,80vw)!important;
  max-width:100%!important;
  height:auto!important;
  margin:clamp(8px,1.4vh,14px) 0 0!important;
  opacity:.9!important;
  border:0!important;
  border-radius:2px!important;
  box-shadow:0 1px 5px rgba(4,43,59,.08)!important;
}

/* Desktop only: use one geometrically centered chevron in every circular Hero control. */
@media (min-width:901px) and (pointer:fine){
  .edge-nav{
    position:absolute!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    line-height:0!important;
  }
  .edge-nav::after{content:none!important;display:none!important;animation:none!important}
  .edge-nav::before{
    content:""!important;
    position:absolute!important;
    display:block!important;
    left:50%!important;
    top:50%!important;
    width:10px!important;
    height:10px!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    border:0!important;
    border-right:2.5px solid currentColor!important;
    border-bottom:2.5px solid currentColor!important;
    border-radius:1px!important;
    background:none!important;
    box-shadow:none!important;
    transform-origin:center!important;
    animation:none!important;
  }
  .edge-prev::before{transform:translate(-50%,-50%) rotate(135deg)!important}
  .edge-next::before{transform:translate(-50%,-50%) rotate(-45deg)!important}
}
/* 12.0.28: section identity shares the brand text's horizontal centreline. */
.hero-label-mobile{display:none!important}
.hero-label-desktop{display:inline!important}
@media(max-width:700px),(pointer:coarse) and (max-height:599px){
 .hero-label-desktop{display:none!important}.hero-label-mobile{display:inline!important}
 .hero-scene>.section-pill::before,.hero-scene>.section-pill::after{content:none!important;display:none!important}
}
.home-funding-mark{cursor:pointer}.home-funding-mark:focus-visible{outline:3px solid #08aacb;outline-offset:5px}
.funding-modal[hidden]{display:none!important}.funding-modal{position:fixed;inset:0;z-index:5000;background:#001923bf;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(6px)}
.funding-dialog{position:relative;width:min(720px,100%);max-height:85dvh;overflow:auto;background:#fff;border-radius:22px;padding:32px;color:#073044;box-shadow:0 25px 70px #0005}
.funding-dialog>button{position:absolute;right:12px;top:10px;background:#edf4f6;border:0;border-radius:50%;width:34px;height:34px;font-size:24px;color:#083445}
.funding-dialog h2{margin:8px 30px 20px 0;font-size:clamp(20px,4vw,28px)}.funding-dialog p{font-size:16px;line-height:1.7;white-space:pre-line}
@media(max-width:700px){.funding-dialog{padding:24px}.funding-dialog p{font-size:14px}}
/* Mobile appointment is a calendar circle matching the hamburger. */
.booking-calendar{display:none!important}
@media(max-width:700px),(pointer:coarse) and (max-height:599px){
 #bookingBtn .booking-label,#bookingBtn .booking-arrow{display:none!important}
 #bookingBtn .booking-calendar{display:flex!important;align-items:center;justify-content:center;width:14px;height:14px;color:#07394b}
 .booking-calendar svg{width:14px;height:14px;display:block}
}

/* 12.0.29 — plain / Hero name and visible centred calendar/menu on every device. */
.hero-label-desktop{display:none!important}
.hero-label-mobile{display:inline!important}
.hero-scene>.section-pill::before,.hero-scene>.section-pill::after{content:none!important;display:none!important}
#bookingBtn .booking-label,#bookingBtn .booking-arrow{display:none!important}
#bookingBtn .booking-calendar{display:flex!important;align-items:center!important;justify-content:center!important;position:static!important;margin:0!important;padding:0!important;transform:none!important;color:#fff!important}
#bookingBtn .booking-calendar svg{display:block!important;margin:0!important;padding:0!important}
.floating-ui #bookingBtn:hover,.floating-ui #menuBtn:hover{filter:brightness(1.12)}
.floating-ui #bookingBtn:focus-visible,.floating-ui #menuBtn:focus-visible{outline:3px solid #15d5ed;outline-offset:3px}

/* 12.0.33 — native, contained modal scrolling on mobile/tablet. */
@media (pointer:coarse){
  :is(.service-modal,.service-detail-modal,.profile-modal,.booking-modal,.faq-modal,.review-detail-modal,.review-submit-modal,.funding-modal){
    overflow:hidden!important;overscroll-behavior:contain!important;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  }
  :is(.service-modal-content,.service-detail-copy,.profile-modal-content,.review-detail-body,.faq-modal-panel,.booking-card-ref,#reviewSubmitModal .review-submit-panel,.funding-dialog){
    overflow-y:auto!important;overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;overscroll-behavior-y:contain!important;
    touch-action:pan-y!important;scroll-behavior:auto!important;scrollbar-gutter:auto!important;
  }
  :is(.booking-date-menu,.booking-time-menu){-webkit-overflow-scrolling:touch!important;overscroll-behavior-y:contain!important;touch-action:pan-y!important}
  .ps-modal-rail-183{display:none!important;pointer-events:none!important}
  body.modal-open .hero-stage,body.modal-open .hero-stage *{animation-play-state:paused!important}
}
