/* The town is the visual focus; the adjacent questions make its purpose clear. */
.town-inquiry{padding:70px 6%;background:#fafbf8;color:#142f3e}
.town-inquiry-inner{max-width:1400px;margin:auto}
.town-banner{position:relative;isolation:isolate;min-height:310px;padding:48px 5%;display:flex;align-items:center;overflow:hidden;background:#173b35}
.town-banner>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.town-banner::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,30,38,.94),rgba(9,30,38,.78) 37%,rgba(9,30,38,.15) 78%)}
.town-banner-copy{max-width:610px}
.town-banner .eyebrow{color:#f1cf88;margin:0 0 17px;font-size:12px;letter-spacing:.15em}
.town-banner h2{font:400 clamp(32px,3.5vw,52px)/1.12 var(--serif);letter-spacing:-.035em;color:#fffaf0;margin:0 0 18px;max-width:19ch}
.town-banner h2 em{color:#f1cf88}
.town-banner-copy>p:last-child{font:400 17px/1.65 var(--sans);color:#e9eee7;max-width:43ch;margin:0}
.town-experience{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);align-items:stretch;background:#102b3b}
.town-map{min-width:0;background:#f6f4ee;margin:0;display:flex;flex-direction:column}
.town-stage{position:relative;isolation:isolate;height:clamp(420px,45vw,640px);overflow:hidden;flex:1;min-height:430px}
.town-stage>img,.town-stage model-viewer{position:absolute;inset:0;display:block;width:100%;height:100%}
.town-stage>img{object-fit:contain;background:#f6f4ee}
.town-stage model-viewer{background:#f6f4ee;opacity:0;--min-hotspot-opacity:1;--max-hotspot-opacity:1}
.town-stage model-viewer:not(:defined){display:none}
.town-stage[data-state="ready"] model-viewer{opacity:1}
.town-stage[data-state="ready"]>img{visibility:hidden}
.town-stage [hidden]{display:none!important}
.town-stage model-viewer::part(default-progress-bar){display:none}
.town-stage model-viewer:focus-within{outline:2px solid #8f713c;outline-offset:-3px}
.town-pin{position:relative;display:grid;place-items:center;width:44px;height:44px;padding:0;border:2px solid #fff9ec;border-radius:50%;background:#173c46;color:#fffaf0;font:600 26px/1 var(--serif);box-shadow:0 3px 10px #09242e55;cursor:pointer;transform:translateY(-7px)}
.town-pin::after{content:"";position:absolute;bottom:-8px;width:2px;height:8px;background:#fff9ec}
.town-pin[aria-expanded="true"]{background:#e8bd65;color:#132c39}
.town-pin:hover{background:#d9ae59;color:#132c39}
.town-pin:focus-visible{outline:3px solid #132c39;outline-offset:4px}
.town-pin[data-offscreen]{visibility:hidden;pointer-events:none}
.town-reset{position:absolute;bottom:16px;right:16px;z-index:3;min-height:44px;padding:9px 15px;border:1px solid #afbeb3;border-radius:3px;background:#fffdf7;color:#173e43;font:500 14px/1.4 var(--sans);cursor:pointer}
.town-reset:hover{background:#e5ece5}
.town-reset:focus-visible{outline:2px solid #173e43;outline-offset:3px}
.town-status{position:absolute;bottom:16px;left:16px;right:16px;z-index:2;margin:0!important;background:#fffdf5;padding:10px 14px;font:14px/1.5 var(--sans);color:#284744}
.town-stage[data-state="ready"] .town-status,.town-stage[data-state="waiting"] .town-status,.town-announcement{position:absolute!important;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;padding:0}
.town-map figcaption{display:flex;gap:8px 18px;flex-wrap:wrap;justify-content:space-between;margin:0;padding:15px 22px;border-top:1px solid #d7ddd2;color:#36554f;font:14px/1.5 var(--sans)}
.town-map figcaption span:first-child{font-weight:600}
.town-map figcaption span:last-child{display:none}
.town-map:has([data-state="ready"]) figcaption span:last-child{display:inline}
.town-questions{padding:32px clamp(22px,3vw,42px);color:#f8f5ed;min-width:0}
.town-questions>.eyebrow{margin:0 0 22px;color:#cad8d2;font-size:11px;letter-spacing:.13em}
.town-question{padding:0;border-top:1px solid #45606a;scroll-margin-top:22px}
.town-question:last-of-type{border-bottom:1px solid #45606a}
.town-question summary{position:relative;list-style:none;padding:20px 28px 20px 0;cursor:pointer;color:#e7eee7;font:500 16px/1.4 var(--sans)}
.town-question summary::-webkit-details-marker{display:none}
.town-question summary::after{content:"+";position:absolute;right:0;top:16px;font-size:25px;font-weight:400;color:#e8bd65}
.town-question[open] summary{color:#f1cf88}
.town-question[open] summary::after{content:"−"}
.town-question summary:focus-visible{outline:2px solid #e8bd65;outline-offset:4px}
.town-question h3{font:400 clamp(25px,2.3vw,32px)/1.22 var(--serif);letter-spacing:-.025em;margin:0 0 20px;color:#fffaf0}
.town-question p{font:400 15px/1.65 var(--sans);color:#d5e0dc;margin:0 0 21px}
.town-connection{padding:19px 0 6px;border-top:1px solid #45606a}
.town-connection span{display:block;color:#e8bd65;font:500 12px/1.5 var(--sans);letter-spacing:.04em;margin-bottom:9px}
.town-connection p{color:#f2f0e7;font-size:15px;margin-bottom:20px}
.town-art-note{font:400 14px/1.5 var(--sans);color:#587069;margin:12px 0 0}
@media(max-width:1000px){.town-experience{grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr)}.town-stage{min-height:480px}.town-banner{min-height:280px}.town-banner-copy{max-width:500px}}
@media(max-width:760px){.town-inquiry{padding:42px 0}.town-banner{min-height:290px;padding:32px 7%}.town-banner::before{background:linear-gradient(90deg,rgba(9,30,38,.93),rgba(9,30,38,.73) 65%,rgba(9,30,38,.35))}.town-banner h2{font-size:36px;max-width:16ch}.town-banner-copy>p:last-child{font-size:16px;max-width:30ch}.town-experience{display:block}.town-stage{height:390px;min-height:0;flex:none}.town-map figcaption{padding:14px 7%;font-size:14px;gap:4px}.town-questions{padding:26px 7% 32px}.town-question h3{font-size:29px}.town-art-note{margin:12px 7% 0}.town-reset{bottom:12px;right:12px}.town-question summary{padding-block:19px}.town-pin{width:44px;height:44px}}
@media(max-width:360px){.town-stage{height:335px}.town-banner h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){.town-inquiry *{scroll-behavior:auto}}
@media print{.town-stage model-viewer,.town-reset,.town-status{display:none!important}.town-stage>img{visibility:visible!important}.town-questions{background:white;color:#142f3e}.town-question p,.town-question h3,.town-question summary{color:#142f3e}}
