@font-face{font-family:ExplorerSerif;src:local("Baskerville"),local("Georgia");font-display:swap}
:root{color-scheme:light;--ink:#292c29;--muted:#676d65;--accent:#876c37;--line:#d6d5cb;--paper:#f7f6f0;--white:#fffef9;--focus:#806127}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.5}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;min-height:44px}a{color:inherit}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-70px;left:16px;z-index:50;background:var(--ink);color:white;padding:14px}.skip-link:focus{top:10px}
.site-header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid var(--line);position:relative;z-index:4}.wordmark{text-decoration:none;font-weight:500;font-size:27px;letter-spacing:5px;line-height:1.1}.wordmark span{display:block;font-size:8px;letter-spacing:2.6px;margin-top:9px}.header-centre{font-size:10px;letter-spacing:2.4px;color:var(--muted)}.text-button{border:0;background:transparent;padding:8px 0;text-align:left;font-size:12px}.text-button span{margin-left:12px}.explorer{position:relative;min-height:760px;height:calc(100svh - 138px);max-height:1250px;display:grid;grid-template-columns:250px minmax(300px,1fr) 360px;gap:10px;padding:36px 4vw 78px;background:radial-gradient(ellipse at 52% 48%,#e9e9e1 0%,#f0f0e9 30%,var(--paper) 68%)}.navigator{position:relative;z-index:3;align-self:start}.eyebrow,.field-label{font-size:9px;letter-spacing:1.6px;font-weight:600;color:var(--accent);text-transform:uppercase}.intro .eyebrow{margin:0 0 15px}.intro h1{font-family:ExplorerSerif,Georgia,serif;font-size:53px;font-weight:400;line-height:1.05;letter-spacing:-1.5px;margin:0 0 19px}.intro>p:last-child{color:var(--muted);font-size:12px;line-height:1.8}.guide-selector{margin-top:26px}.field-label{display:block;margin-bottom:8px;color:var(--muted)}.segmented{display:flex;width:210px;padding:4px;background:#eaeae2;border:1px solid var(--line);border-radius:6px;gap:4px}.segmented button{border:0;flex:1;background:transparent;border-radius:4px;font-size:12px;min-height:37px}.segmented button[aria-pressed=true]{background:var(--white);box-shadow:0 1px 4px #292c2915}.area-nav{margin-top:25px;display:grid;gap:0;width:215px}.area-nav button{border:0;border-bottom:1px solid var(--line);background:transparent;display:flex;align-items:center;text-align:left;font-size:13px;gap:12px;padding:9px 3px;min-height:43px}.area-nav button::after{content:'↗';margin-left:auto;color:#96998f}.area-nav button[aria-pressed=true]{color:var(--accent);font-weight:600}.area-nav .area-number{font-size:9px;color:#8d9489;min-width:18px}.browse{margin-top:13px;color:var(--muted);font-size:11px}
.model-stage{position:relative;min-width:0;min-height:540px;z-index:1}.stage-label{position:absolute;top:0;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:1.3px;color:var(--muted);white-space:nowrap;z-index:2;display:flex;align-items:center;gap:8px}.live-dot{width:5px;height:5px;background:var(--accent);border-radius:50%}model-viewer{width:100%;height:100%;min-height:540px;--poster-color:transparent;--progress-bar-color:var(--accent);background:transparent;outline:0}.model-progress{position:absolute;bottom:54px;left:25%;width:50%;height:2px;background:var(--line)}.model-progress span{display:block;height:100%;width:0;background:var(--accent);transition:width .2s}.model-status{position:absolute;top:40px;left:50%;transform:translateX(-50%);font-size:11px;text-align:center;background:var(--paper);padding:6px 12px;z-index:3;border-radius:6px;max-width:90%;white-space:nowrap}.model-status.ready{display:none}.model-status.error{white-space:normal;width:85%;top:90px}.view-controls{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:3px;padding:4px;background:#fffff6d9;backdrop-filter:blur(8px);border:1px solid #c9cbbd;border-radius:6px;white-space:nowrap;z-index:3}.view-controls button{border:0;background:transparent;font-size:10px;padding:6px 8px;min-height:34px;border-radius:3px}.view-controls button[aria-pressed=true]{background:#eae8db;color:#705726}.stage-hint{position:absolute;bottom:-22px;width:100%;text-align:center;font-size:10px;color:var(--muted);margin:0}.surface-pin{position:relative;width:28px;height:28px;min-height:28px;border:1px solid #fffdf5;border-radius:50%;padding:0;background:#b79957b8;box-shadow:0 0 0 3px #fffdf564;transition:opacity .15s,background .15s;--min-hotspot-opacity:0}.surface-pin::after{content:'';position:absolute;inset:10px;background:white;border-radius:50%}.surface-pin>span{position:absolute;left:36px;top:50%;transform:translateY(-50%);padding:5px 9px;font-size:10px;white-space:nowrap;background:#fffef3ed;border:1px solid #d0c8b2;border-radius:3px;color:#4e4b40;box-shadow:0 2px 10px #292c290a}.surface-pin.pin-left>span{left:auto;right:36px}.surface-pin:not([data-visible]){pointer-events:none;visibility:hidden}.surface-pin[aria-pressed=true]{background:var(--accent)}.surface-pin.compact>span{opacity:0;pointer-events:none}.surface-pin.compact:hover>span,.surface-pin.compact:focus-visible>span,.surface-pin.compact[aria-pressed=true]>span{opacity:1;z-index:5}
.consultation-panel{align-self:center;position:relative;z-index:3;max-height:100%;overflow:auto;overscroll-behavior:contain;padding:26px;background:#fffef9e8;border:1px solid #dcddd1;border-radius:9px;box-shadow:0 12px 50px #323c2c05;scrollbar-width:thin}.consultation-panel:empty{display:none}.panel-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.panel-top .text-button{font-size:11px;min-height:28px;padding:0;color:var(--muted)}.step-label{font-size:9px;color:var(--accent);letter-spacing:1.6px}.consultation-panel h2{font-family:ExplorerSerif,Georgia,serif;font-size:30px;line-height:1.12;font-weight:400;letter-spacing:-.5px;margin:0 0 13px}.panel-description{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 18px}.panel-welcome{padding:29px 1px;border:0;background:none;box-shadow:none;align-self:center}.panel-welcome h2{font-size:30px}.welcome-rule{width:42px;height:1px;background:#b99b59;margin-bottom:24px}.welcome-points{list-style:none;padding:10px 0;margin:0;color:var(--muted);font-size:12px}.welcome-points li{margin:12px 0;display:flex;gap:10px}.welcome-points li::before{content:'✓';color:var(--accent)}.choice-list{display:grid;gap:7px}.choice-button{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:1px solid var(--line);border-radius:5px;padding:11px 12px;background:var(--white);font-size:12px;line-height:1.4;min-height:47px}.choice-button:hover,.choice-button[aria-pressed=true]{border-color:#a28b5d;background:#f3efdf}.choice-button small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.choice-button .arrow{font-size:16px;color:#9a947d}.choice-button.is-selected::after{content:'✓';color:var(--accent)}.panel-search{display:block;margin-bottom:13px}.panel-search input{width:100%;border:1px solid var(--line);background:transparent;border-radius:5px;padding:11px;font-size:12px;min-height:43px}.small-caption{font-size:10px;color:var(--muted);line-height:1.6;margin:15px 0 0}.panel-divider{height:1px;background:var(--line);margin:20px 0}.primary-button{background:#31392e;color:#fffef4;border:1px solid #31392e;border-radius:4px;font-size:12px;min-height:46px;padding:11px 17px;display:flex;align-items:center;justify-content:space-between;gap:15px;text-decoration:none}.primary-button:hover{background:#48533f}.secondary-button{border:1px solid #c9c9bd;background:transparent;border-radius:4px;padding:10px 14px;min-height:44px;font-size:12px;text-align:center}.full-width{width:100%;margin-top:12px}.learn-more{margin:18px 0;font-size:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0}.learn-more summary{cursor:pointer;font-size:11px;color:var(--accent);min-height:30px;align-content:center}.learn-more p,.learn-more li{font-size:11px;line-height:1.7;color:var(--muted)}.learn-more ul{padding-left:16px}.triage-question{border:0;padding:0;margin:20px 0}.triage-question legend{font-size:12px;margin-bottom:9px}.triage-options{display:flex;flex-wrap:wrap;gap:6px}.triage-options label{display:block}.triage-options input{position:absolute;opacity:0}.triage-options span{display:block;border:1px solid var(--line);border-radius:4px;padding:9px 10px;font-size:11px;cursor:pointer;min-height:38px}.triage-options input:checked+span{background:#ede6d2;border-color:#a48b50}.triage-options input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.basket-item{border-bottom:1px solid var(--line);padding:13px 0;display:grid;grid-template-columns:1fr auto;gap:5px;font-size:12px}.basket-item small{display:block;font-size:10px;color:var(--muted)}.basket-item .text-button{font-size:10px;color:var(--accent);min-height:32px}.basket-item.is-primary .item-label::before{content:'MAIN CONCERN';display:block;font-size:8px;letter-spacing:1px;color:var(--accent);margin-bottom:3px}.remove-item{border:0;background:transparent;align-self:start;min-height:32px;min-width:32px;font-size:17px}.visit-dock{position:absolute;z-index:5;bottom:0;left:4vw;right:4vw;height:66px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--paper)}.visit-dock .eyebrow{display:block;font-size:8px;letter-spacing:1.2px;margin-bottom:2px}.visit-dock strong{font-size:12px;font-weight:500}.visit-dock .primary-button{min-height:42px}.error-message{font-size:12px;color:#963f31;border-left:2px solid #963f31;padding-left:12px;margin:15px 0}.role-name{display:block;font-size:13px;font-weight:500}.role-info{display:block;font-size:10px;color:var(--muted);line-height:1.55}.site-footer{display:flex;justify-content:space-between;padding:14px 4vw;border-top:1px solid var(--line);font-size:9px;color:var(--muted);letter-spacing:.3px}.site-footer a{text-decoration:none}.legal-links{font-size:10px;padding:0 4vw}.noscript{padding:30px}.search-count{font-size:10px;color:var(--muted);margin:0 0 10px}
@media(min-width:1500px){.explorer{grid-template-columns:285px minmax(450px,1fr) 370px;padding-left:6vw;padding-right:6vw;gap:25px}.intro h1{font-size:64px}.consultation-panel{padding:31px}.area-nav{width:240px}}
@media(max-width:1150px){.explorer{grid-template-columns:210px minmax(220px,1fr) 310px;padding:26px 3vw 78px;gap:0}.intro h1{font-size:45px}.consultation-panel{padding:20px}.area-nav,.segmented{width:190px}.view-controls{gap:0}.view-controls button{padding:7px 6px;font-size:9px}.header-centre{font-size:8px}.surface-pin>span{font-size:9px}.surface-pin{width:24px;height:24px;min-height:24px}.surface-pin::after{inset:8px}}
@media(max-width:850px){.site-header{height:76px;padding:0 5vw}.wordmark{font-size:23px}.wordmark span{font-size:7px}.header-centre{display:none}.explorer{height:auto;max-height:none;min-height:calc(100svh - 122px);padding:20px 5vw 86px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.navigator{grid-column:1 / -1;display:grid;grid-template-columns:1fr auto;gap:13px;align-items:center}.intro{grid-column:1}.intro h1{font-size:36px;margin:0}.intro h1 br{display:none}.intro .eyebrow{font-size:8px;margin-bottom:8px}.intro>p:last-child{display:none}.guide-selector{margin:0;grid-column:2}.guide-selector .field-label{font-size:8px}.segmented{width:170px}.area-nav{grid-column:1 / -1;width:auto;display:flex;overflow-x:auto;margin:0;gap:7px;padding:6px 0}.area-nav button{flex:0 0 auto;border:1px solid var(--line);border-radius:4px;font-size:11px;padding:8px 12px;min-height:40px}.area-nav .area-number,.area-nav button::after{display:none}.browse{grid-column:1 / -1;margin:0;padding:0;min-height:30px}.model-stage{min-height:500px;grid-column:1;position:sticky;top:12px;align-self:start;height:590px}.model-stage model-viewer{min-height:500px}.consultation-panel{grid-column:2;max-height:600px;align-self:start;margin-top:34px}.panel-welcome{align-self:center}.view-controls{flex-wrap:wrap;justify-content:center;white-space:normal;width:245px;bottom:0}.stage-hint{bottom:-29px;font-size:9px}.surface-pin>span{display:none}.surface-pin.compact>span{display:none}.visit-dock{left:5vw;right:5vw}.site-footer{padding:12px 5vw;font-size:8px}.stage-label{top:0}}
@media(max-width:560px){.explorer{display:flex;flex-direction:column;gap:12px;padding-bottom:92px}.navigator{gap:12px;width:100%}.intro h1{font-size:30px}.intro .eyebrow{font-size:7px;letter-spacing:1.2px}.segmented{width:150px}.segmented button{font-size:11px;min-height:34px}.guide-selector .field-label{font-size:7px}.model-stage{width:100%;height:52svh;min-height:345px;max-height:470px;position:relative;top:auto;margin-top:6px}.model-stage model-viewer{min-height:345px}.view-controls{bottom:3px;width:auto;min-width:315px;flex-wrap:nowrap}.view-controls button{font-size:9px;min-height:32px;padding:6px 8px}.stage-hint{bottom:-17px}.stage-label{top:-4px}.consultation-panel{width:100%;margin-top:19px;max-height:none;padding:21px;overflow:visible}.consultation-panel h2{font-size:28px}.panel-welcome{margin-top:20px;padding:16px 3px}.panel-welcome h2{font-size:27px}.welcome-points{display:none}.panel-welcome .welcome-rule{margin-bottom:14px}.panel-welcome .panel-description{margin:0}.visit-dock{position:fixed;bottom:0;left:0;right:0;padding:8px 5vw;height:auto;min-height:74px;box-shadow:0 -4px 18px #292c2909;padding-bottom:max(8px,env(safe-area-inset-bottom));gap:9px}.visit-dock strong{font-size:10px;display:block;max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.visit-dock .primary-button{font-size:10px;padding:10px 12px}.site-footer>span{max-width:170px}.surface-pin{width:30px;height:30px;min-height:30px}.surface-pin::after{inset:11px}.choice-list{grid-template-columns:1fr 1fr}.choice-button{font-size:11px;padding:10px;min-height:48px}.role-list{grid-template-columns:1fr}.triage-options span{min-height:42px}.model-status{top:26px}.stage-label{font-size:8px}.search-results{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(min-width:851px){.explorer{min-height:540px;grid-template-rows:minmax(0,1fr);padding-top:24px}.model-stage,model-viewer{min-height:360px}.navigator{max-height:100%;overflow:auto;scrollbar-width:thin}.consultation-panel{max-height:100%}}
@media(min-width:851px) and (max-height:820px){.site-header{height:76px}.explorer{height:calc(100svh - 120px);padding-top:20px;padding-bottom:72px}.intro h1{font-size:42px;margin-bottom:10px}.intro .eyebrow{font-size:8px;margin-bottom:10px}.intro>p:last-child{display:none}.guide-selector{margin-top:17px}.area-nav{margin-top:15px}.area-nav button{min-height:40px;padding:7px 3px}.browse{margin-top:8px}.consultation-panel{padding:20px}.choice-list{gap:5px}.consultation-panel h2{font-size:28px}.panel-description{margin-bottom:14px}.view-controls{bottom:7px}}
/* Comfortable touch controls; close face targets also have full-size list alternatives. */
.segmented button,.area-nav button,.view-controls button,.panel-top .text-button,.basket-item .text-button,.remove-item,.triage-options span,.browse,.visit-dock .primary-button{min-height:44px}.remove-item{min-width:44px}.learn-more summary{min-height:44px}.model-progress{bottom:66px}.model-status.ready~.model-progress{display:none}
@media(max-width:560px){.view-controls{min-width:310px}.view-controls button{padding:6px;font-size:9px}}
@media(min-width:561px) and (max-width:850px){.explorer{align-content:start;grid-template-rows:auto auto}.model-stage{height:min(720px,calc(100svh - 370px))}.view-controls{width:calc(100% - 10px);max-width:330px;flex-wrap:nowrap}.view-controls button{padding:6px;font-size:9px}}
@media(max-width:560px){.navigator,.consultation-panel,model-viewer{scroll-margin-top:16px}.choice-button{font-size:12px}.panel-description{font-size:13px}}
/* Small visual markers keep the person's features visible; the hit area stays 44px. */
.surface-pin{width:44px;height:44px;min-height:44px;background:transparent;border:0;box-shadow:none}.surface-pin::before{content:'';position:absolute;inset:14px;background:#b29454e6;border:1px solid #fffdf5;border-radius:50%;box-shadow:0 0 0 2px #fffdf570}.surface-pin::after{inset:20px;background:white}.surface-pin[aria-pressed=true]{background:transparent}.surface-pin[aria-pressed=true]::before,.surface-pin:hover::before{background:var(--accent);box-shadow:0 0 0 3px #fffdf590}.surface-pin>span{left:48px}.surface-pin.pin-left>span{left:auto;right:48px}
.consultation-panel:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
