/* Phone-first presentation. Geometry, service routing and model assets live separately. */
:root {
  --ink:#183633; --muted:#586d69; --accent:#087d78; --focus:#087d78;
  --line:#d5e3df; --paper:#f6faf8; --white:#fff;
  --glass:rgba(255,255,255,.88); --tint:#e1f4ef;
  --float-shadow:0 8px 28px #214a4510,0 2px 6px #214a4508;
}
html,body.drsknn-explorer {overflow:clip;overscroll-behavior:none;}
body.drsknn-explorer {--header-height:64px;position:fixed;inset:0;width:100%;height:100%;-webkit-font-smoothing:antialiased;}
body.drsknn-explorer .site-header {background:#f8fcfaeb;border-bottom:1px solid #deebe680;padding-inline:20px;}
.drsknn-explorer .drsknn-brand-art {width:116px;}
#startOver {color:var(--muted);font-size:11px;padding:8px 12px;border-radius:24px;background:#eaf2ee;}
.header-centre {color:#62847a;letter-spacing:1.8px;}
#explorer {background:radial-gradient(ellipse at 22% 24%,#dff4ed 0%,transparent 47%),radial-gradient(ellipse at 86% 60%,#eee9fa 0%,transparent 48%),#f6faf8;}
/* A restrained glass surface on controls, with an opaque fallback. */
.segmented,#areaMenu,.scene-path,.view-controls,.zoom-controls,.scene-tools button,
.point-key,#areaMenuContent,.visit-dock {
  background:var(--glass);border:1px solid #ffffffcc;box-shadow:var(--float-shadow);
  -webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);
}
.segmented {padding:3px;gap:2px;border-radius:28px;width:158px;}
.segmented button {border-radius:23px;font-size:12px;transition:background .2s,color .2s,box-shadow .2s;}
.segmented button[aria-pressed=true] {background:var(--tint);color:#086963;font-weight:650;box-shadow:0 1px 4px #165b4212;}
#areaMenu {border-radius:26px;font-size:12px;font-weight:550;padding:10px 12px;white-space:nowrap;gap:5px;}
#areaMenu[aria-expanded=true] {background:var(--tint);color:#086963;}
#areaMenuContent {padding:10px;border-radius:22px;}
#areaMenuContent .drsknn-iubenda-legal-links {margin:8px 0 0!important;padding:6px 0 0!important;gap:0 10px!important;border-top:1px solid var(--line);font-size:10px!important;}
#areaMenuContent .drsknn-iubenda-legal-links :is(a,button) {min-height:44px;display:inline-flex;align-items:center;}
body.drsknn-explorer[data-explorer-step=welcome] #areaMenu {visibility:visible;}
body.drsknn-explorer #areaMenuContent {width:min(280px,calc(100vw - 28px));max-height:min(44dvh,360px);overflow:hidden;padding:10px;border-radius:18px;background:#fff;}
body.drsknn-explorer #areaMenuContent:not([hidden]) {display:flex;flex-direction:column;}
body.drsknn-explorer #areaMenuContent[hidden] {display:none;}
.area-menu-heading {position:sticky;top:-10px;z-index:1;display:flex;justify-content:space-between;align-items:center;padding:3px 2px 6px;background:#fff;color:#183633;font-size:13px;}
.area-menu-heading button {min-width:36px;min-height:36px;border:0;border-radius:50%;background:#edf5f1;color:#17544e;font-size:23px;cursor:pointer;}
#areaMenuContent .area-nav {min-height:0;max-height:min(31dvh,245px);overflow-y:auto;overscroll-behavior:contain;}
#areaMenuContent .area-nav button {font-size:12px;min-height:40px;padding:7px 10px;}
#areaMenuContent .browse {width:100%;min-height:42px;margin-top:8px;border-radius:12px;background:#e5f4ed;color:#0b6359;font-weight:700;}
.start-discovery-actions {display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:7px;margin:9px 0 12px;max-width:420px;}
.start-discovery-actions button {min-height:44px;padding:9px 8px;border:1px solid #0b7169;border-radius:14px;background:#0a726b;color:white;font:700 12px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;white-space:nowrap;cursor:pointer;}
.start-discovery-actions button+button {border-color:#b8d7cd;background:#fff;color:#17665e;}
.start-discovery-actions button:focus-visible,#areaMenuContent button:focus-visible {outline:3px solid #d1aa5f;outline-offset:2px;}
.explorer-legal {margin-top:16px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);}
.explorer-legal summary {min-height:44px;padding:12px 0;cursor:pointer;}
.explorer-legal .drsknn-iubenda-legal-links {display:flex;flex-wrap:wrap;gap:8px 16px;padding:8px 0;}
.explorer-legal .drsknn-iubenda-legal-links :is(a,button) {min-height:44px;display:inline-flex;align-items:center;}
.area-nav {gap:3px;}
.area-nav button {padding:10px 12px;border:0;border-radius:14px;}
.area-nav button[aria-pressed=true] {background:var(--tint);color:#086963;}
.scene-path {border-radius:24px;padding:0 10px;gap:8px;}
.scene-path>span {font:600 14px/1.25 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.2px;}
.scene-path .text-button {color:#57716a;font-size:11px;}
#sceneBack {overflow:hidden;text-overflow:ellipsis;max-width:120px;}
#regionMenu {color:var(--accent);font-weight:600;}
.scene-tools button {border-radius:50px;min-height:44px;padding:8px 13px;color:#45665e;}
.zoom-controls {border-radius:25px;}
.zoom-controls button {font-size:23px;font-weight:400;color:#2b6257;}
.zoom-controls button+button {border-color:#dfeae5;}
.scene-tools button[aria-pressed=true] {background:var(--tint);color:#086963;}
/* Dock icons keep the current view legible without the old rectangular tabs. */
.view-controls {padding:5px;gap:2px;border-radius:30px;bottom:14px;width:354px;max-width:calc(100% - 32px);}
.view-controls button {flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 7px;min-height:50px;border-radius:24px;color:#667873;font-size:10px;font-weight:550;line-height:1.2;transition:background .2s,color .2s,box-shadow .2s;}
.view-controls .dock-icon {display:block;width:19px;height:19px;flex-shrink:0;}
.view-controls button[aria-pressed=true] {background:#087d78;color:white;box-shadow:0 3px 10px #087d7826;}
.view-controls button:not([aria-pressed=true]):hover {background:#e4f0eb;color:#126f62;}
.stage-hint {color:#6a827a;font-size:10px;bottom:2px;}
/* Smaller visual bubbles retain the original 44px touch targets. */
.surface-pin::before {inset:10px;background:#148c81ed;border:1.5px solid white;box-shadow:0 0 0 3px #ffffff65,0 3px 8px #074e4324;}
.surface-pin[aria-pressed=true]::before,.surface-pin:hover::before {background:#075f58;box-shadow:0 0 0 4px #bce8daaa;}
.point-number {font-family:inherit;font-size:10px;font-weight:650;}
.surface-pin>span,body[data-label-mode=callouts] .surface-pin>span {
  color:#335c52;background:#ffffffed;border:1px solid #dceae3;border-radius:12px;
  box-shadow:0 3px 12px #214a4509;font-weight:500;line-height:1.3;padding:8px 9px;
}
.label-lines path {stroke:#6ca99c;stroke-width:1;opacity:.7;}
.popup-connector path {stroke:#39978a;}
.point-key {border-radius:20px;padding:10px;}
.point-key-list button {border-radius:12px;border-color:#e0ece7;background:#ffffffeb;}
.point-key-list b {background:var(--accent);}
/* Native-style sheets: clear hierarchy, generous tap areas, compact chrome. */
.consultation-panel {background:#fffffffa;border-color:#e1ebe5;border-radius:26px;box-shadow:0 16px 45px #284b4014;padding:16px;scroll-padding-block:16px;scrollbar-color:#b5d5ca transparent;}
.consultation-panel h2 {font:650 27px/1.14 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.7px;}
.panel-top {position:sticky;top:-16px;z-index:4;margin:-16px -16px 8px;padding:10px 16px 4px;background:#fffffffa;border-radius:25px 25px 0 0;}
.panel-top .text-button {font-size:12px;color:#56756a;}
.step-label {font-size:8px;font-weight:650;letter-spacing:1px;color:#39735f;}
.close-popup {background:#eff5f1;color:#638174;width:38px;height:38px;min-height:38px;font-size:24px;}
.panel-search input {border-radius:14px;border:1px solid #e5eee9;background:#f1f6f3;padding:11px 13px;color:var(--ink);}
.choice-list {gap:8px;}
.choice-button {min-height:52px;padding:13px;border-radius:15px;border:1px solid #e0ebe5;background:linear-gradient(135deg,#fff,#f6faf7);font-size:13px;font-weight:550;box-shadow:0 2px 5px #204f3603;transition:border-color .15s,background .15s,box-shadow .15s;}
.choice-button .arrow {color:#41a38e;}
.choice-button:hover,.choice-button[aria-pressed=true],.choice-button.is-selected {border-color:#7fc8b3;background:#e7f7f0;box-shadow:0 2px 7px #14644709;}
.choice-button:active,.primary-button:active {filter:brightness(.97);}
.side-selector {background:#f0f5f2;padding:3px;border-radius:16px;gap:3px;}
.side-selector button {border:0;border-radius:13px;min-height:40px;color:#5c7369;}
.side-selector button[aria-pressed=true] {background:#fff;color:#076b60;font-weight:650;box-shadow:0 2px 7px #2d583713;}
.primary-button {border:0;border-radius:17px;background:linear-gradient(120deg,#087d78,#096b62);color:white;font-weight:600;min-height:48px;padding:13px 16px;box-shadow:0 4px 12px #087d7817;}
.primary-button:hover {background:linear-gradient(120deg,#066e68,#075f57);}
.secondary-button,.triage-options span {border-radius:14px;}
.triage-options input:checked+span {background:#dff4ea;border-color:#7ac2ac;color:#086d5d;}
.concern-summary,.triage-intro {color:#4a685d;}
.concern-learning {background:linear-gradient(135deg,#eef9f3,#f4f2fb);border:1px solid #e1e9e5;border-radius:18px;}
.concern-learning summary {font-weight:650;color:#176e5c;}
.concern-learning h3 {color:#286454;}
.concern-learning li {margin:6px 0;}
.concern-action {display:grid;gap:10px;background:linear-gradient(0deg,#fff 80%,#ffffffdd);padding:12px 0 6px;bottom:-8px;}
.concern-action .full-width {margin-top:0;}
.concern-action .secondary-button {display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:13px 16px;border:1px solid #9ac9bd;background:#e9f7f2;color:#0b6459;font-weight:650;text-align:left;}
.concern-action .secondary-button:hover {background:#dbf0e9;}
.concern-action .text-button {min-height:40px;color:#176e5c;text-align:center;text-decoration:underline;text-underline-offset:3px;}
.consultation-price {background:linear-gradient(120deg,#e0f6ec,#f1f2fc);border-color:#d2e9dc;border-radius:18px;}
.consultation-price strong {font:650 20px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#176c56;}
.concern-area select {background:#f7fbf8;border-color:#d8e7df;border-radius:13px;}
.basket-item {padding:16px 2px;border-color:#e5eee9;}
.basket-item.is-primary {border-radius:15px;background:#edf9f3;padding:14px 12px;}
.basket-item.is-primary .item-label::before {color:#078269;}
.visit-dock {border-radius:23px;gap:10px;padding:7px 9px 7px 14px;height:64px;}
.visit-dock>div {min-width:0;flex:1;}
.visit-dock strong {display:block;max-width:none;font-size:11px;}
.visit-dock .eyebrow {font-size:7px;letter-spacing:.8px;}
.visit-dock .primary-button {flex-shrink:0;border-radius:17px;font-size:11px;padding:11px 14px;min-height:46px;}
/* Brighter area cards keep the first screen welcoming and scannable. */
.area-start {background:radial-gradient(ellipse at 70% 25%,#e0f5ec,transparent 55%),radial-gradient(ellipse at 5% 85%,#ede9f7,transparent 50%),#f6faf8;}
.area-start h1 {color:#174b40;}
.area-start .eyebrow {color:#3b9a81;letter-spacing:1.8px;}
.start-areas button {border:1px solid #dcebe4;border-radius:22px;background:#ffffffdc;box-shadow:0 4px 18px #27514407;}
.start-areas button:nth-child(4n+2) {background:#f0f4ffcc;border-color:#e0e7f3;}
.start-areas button:nth-child(4n+3) {background:#f9eff4cc;border-color:#efdee8;}
.start-areas button:nth-child(4n+4) {background:#eaf8f1cc;border-color:#d4eadd;}
.start-areas button>span {font-weight:600;color:#28554a;}
.start-areas b {color:#369d83;}
.start-areas button:hover {background:#fff;border-color:#89c4af;}
.start-guide-caption {background:#ffffffdc;border-color:#d3e8dd;color:#277660;font-weight:550;box-shadow:var(--float-shadow);}
.area-start .start-fee strong {color:#176f58;}
/* Portrait: two compact top rows, with the tools overlaying the scene edges. */
body.drsknn-explorer[data-layout=stacked] {--header-height:60px;}
body.drsknn-explorer[data-layout=stacked] .drsknn-brand-art {width:108px;}
body.drsknn-explorer[data-layout=stacked] .site-header {padding-inline:16px;}
body.drsknn-explorer[data-layout=stacked] #explorer {--scene-bottom:84px;--panel-height:clamp(260px,51%,440px);}
body.drsknn-explorer[data-layout=stacked].has-consultation #explorer {--scene-bottom:154px;}
body.drsknn-explorer[data-layout=stacked][data-compact-sheet=true] #explorer {--panel-height:min(330px,51%);}
body.drsknn-explorer[data-layout=stacked] .navigator {top:8px;}
body.drsknn-explorer[data-layout=stacked] .scene-path {top:62px;width:calc(100% - 24px);max-width:440px;padding:0 10px;gap:8px;justify-content:space-between;box-shadow:none;background:#ffffff82;}
body.drsknn-explorer[data-layout=stacked] .scene-path>span {font-size:14px;}
body.drsknn-explorer[data-layout=stacked] #sceneBack {max-width:104px;flex-shrink:1;}
body.drsknn-explorer[data-layout=stacked] .scene-tools,
body.drsknn-explorer[data-layout=stacked] .zoom-controls {top:114px;}
body.drsknn-explorer[data-layout=stacked][data-label-mode=callouts]:not(.popup-open) #explorer model-viewer {
  top:108px;bottom:var(--scene-bottom);height:calc(100% - 108px - var(--scene-bottom));
}
body.drsknn-explorer[data-layout=stacked].popup-open #explorer model-viewer {
  top:108px;bottom:calc(var(--panel-height) + var(--scene-bottom) + 10px);height:calc(100% - 118px - var(--panel-height) - var(--scene-bottom));min-height:60px;
}
body.drsknn-explorer[data-layout=stacked] .view-controls {left:calc(50% - 24px);bottom:12px;width:calc(100% - 76px);min-width:0;max-width:350px;padding:5px;gap:1px;}
body.drsknn-explorer[data-layout=stacked] .view-controls button {font-size:10px;padding:5px 3px;min-height:50px;}
body.drsknn-explorer[data-layout=stacked].has-consultation .view-controls {bottom:84px;}
body.drsknn-explorer[data-layout=stacked] .visit-dock {left:12px;right:64px;bottom:10px;height:64px;max-width:620px;margin-inline:auto;}
body.drsknn-explorer[data-layout=stacked] .consultation-panel {left:10px;right:10px;border-radius:25px;padding:12px 14px;max-width:620px;margin-inline:auto;max-height:calc(100% - 112px - var(--scene-bottom));}
body.drsknn-explorer[data-layout=stacked] .panel-top {top:-12px;margin:-12px -14px 6px;padding:7px 14px 3px;height:52px;}
body.drsknn-explorer[data-layout=stacked] .consultation-panel h2 {font-size:23px;margin:2px 0 12px;}
body.drsknn-explorer[data-layout=stacked] .choice-list {gap:7px;}
body.drsknn-explorer[data-layout=stacked] .choice-button {font-size:12px;min-height:50px;padding:11px;}
body.drsknn-explorer[data-layout=stacked] .surface-pin>span {font-size:10px;}
/* Review and booking have their own actions; don't repeat them in a second dock. */
body.drsknn-explorer:is([data-explorer-step=review],[data-explorer-step=triage],[data-explorer-step=booking],[data-explorer-step=treatments]) .view-controls {display:none;}
body.drsknn-explorer[data-layout=stacked]:is([data-explorer-step=review],[data-explorer-step=triage],[data-explorer-step=booking]) #explorer {--scene-bottom:64px;}
body.drsknn-explorer[data-layout=stacked]:is([data-explorer-step=review],[data-explorer-step=triage],[data-explorer-step=booking]) .consultation-panel {top:auto;bottom:64px;height:auto;max-height:calc(100% - 176px);}
/* Short screens retain useful model context while the sheet stays scrollable. */
@container explorer (max-height:650px) and (max-width:479px) {
  body.drsknn-explorer[data-layout=stacked].popup-open #explorer model-viewer {top:52px!important;height:calc(100% - 62px - var(--panel-height) - var(--scene-bottom))!important;min-height:56px;}
  .popup-open .scene-path {top:4px!important;}
  .popup-open .consultation-panel {max-height:calc(100% - 116px - var(--scene-bottom))!important;}
  .popup-open .panel-top {height:46px!important;}
  .popup-open .zoom-controls {top:54px!important;}
}
@media(max-width:360px) {
  body.drsknn-explorer[data-layout=stacked] {--header-height:56px;}
  .drsknn-explorer .drsknn-brand-art {width:100px;}
  body.drsknn-explorer[data-layout=stacked] .view-controls {width:calc(100% - 64px);left:calc(50% - 24px);}
  .view-controls .dock-icon {width:17px;height:17px;}
}
@media(max-width:360px) {
  .start-discovery-actions button {font-size:10px;padding-inline:5px;}
}
/* Keep the landscape layout and its numbered key, with compact dock icons. */
body.drsknn-explorer[data-layout=landscape] {--header-height:50px;}
body.drsknn-explorer[data-layout=landscape] .drsknn-brand-art {width:96px;}
body.drsknn-explorer[data-layout=landscape] .view-controls {width:290px;bottom:5px;}
body.drsknn-explorer[data-layout=landscape] .view-controls button {min-height:44px;font-size:9px;gap:2px;}
body.drsknn-explorer[data-layout=landscape] .view-controls .dock-icon {width:15px;height:15px;}
body.drsknn-explorer[data-layout=landscape] .panel-top {top:-8px;margin:-8px -12px 5px;padding:4px 12px;}
body.drsknn-explorer[data-layout=landscape].popup-open .consultation-panel {bottom:62px;}
body.drsknn-explorer[data-layout=landscape].has-consultation .consultation-panel {bottom:76px;}
body.drsknn-explorer[data-layout=landscape] .visit-dock {right:64px;width:calc(var(--sheet-width) - 56px);}
@media(min-width:600px) {
  body.drsknn-explorer[data-layout=stacked] .view-controls {left:50%;width:350px;}
}
body.drsknn-explorer.focus-view {--header-height:0px;}
@media(prefers-reduced-transparency:reduce) {
  :root {--glass:#fff;}
  .segmented,#areaMenu,.scene-path,.view-controls,.zoom-controls,.scene-tools button,.point-key,#areaMenuContent,.visit-dock {backdrop-filter:none;-webkit-backdrop-filter:none;}
}
@media(prefers-reduced-motion:reduce) {
  .segmented button,.view-controls button,.choice-button {transition:none;}
}
