.courtyard-section{margin-top:76px;scroll-margin-top:28px}.courtyard-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.courtyard-heading .eyebrow{margin-bottom:18px}.courtyard-heading h2{font-size:clamp(34px,4vw,54px);color:#304854;margin:0}.courtyard-heading>p{font-size:17px;line-height:1.5;color:#6b818f;margin:0}
.courtyard-explorer{position:relative}.courtyard-scene{position:relative;overflow:hidden;border-radius:12px;background:var(--panel-dark)}.courtyard-scene>img{display:block;width:100%;height:auto}.courtyard-point{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;align-items:center;gap:16px;min-height:48px;padding:12px 18px;border:1px solid #ffffff80;border-radius:7px;background:#fffffff2;color:#345362;font:16px var(--body);box-shadow:0 4px 15px #1b334325;cursor:pointer}.courtyard-point b{font-size:21px;font-weight:400;color:#b45339}.courtyard-point:hover,.courtyard-point[aria-pressed=true]{background:var(--panel-dark);color:#fff;border-color:var(--panel-dark)}.courtyard-point[aria-pressed=true] b{transform:rotate(45deg);color:#e8b7a4}.courtyard-caption{position:absolute;bottom:14px;right:16px;padding:6px 10px;border-radius:4px;background:#253c48c9;color:#fff;font-size:12px}

.courtyard-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:22px}.courtyard-card{border:1px solid #dfe5e8;border-radius:10px;background:var(--surface);overflow:hidden;scroll-margin-top:24px;min-width:0;transition:border-color .2s,box-shadow .2s}.courtyard-card.is-selected,.courtyard-card:focus-visible{outline:none;border-color:#ad6b53;box-shadow:0 0 0 3px #ad6b531b}.courtyard-photo{display:block;position:relative;width:100%;padding:0;border:0;background:#e4e9ec;cursor:zoom-in;aspect-ratio:4/3;overflow:hidden}.courtyard-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}.courtyard-photo:hover img{transform:scale(1.035)}.courtyard-photo>span{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:32px;height:32px;border-radius:4px;background:#ffffffed;color:#365565;font-size:22px}.courtyard-card-copy{padding:21px}.courtyard-card-copy h3{font-size:27px;color:#304854;margin:0 0 10px}.courtyard-card-copy p{font-size:17px;line-height:1.5;color:#6b818e;margin:0}
.courtyard-viewer{padding:0;width:min(1100px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);border:0;border-radius:10px;background:var(--panel-dark);color:white;overflow:auto}.courtyard-viewer[open]{display:flex;flex-direction:column}.courtyard-viewer::backdrop{background:#13212bdd}.courtyard-viewer header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 22px}.courtyard-viewer header h3{font-size:25px;color:white;margin:0}.courtyard-viewer button{border:1px solid #ffffff30;background:transparent;color:white;border-radius:5px;min-width:40px;height:40px;font:25px var(--body);cursor:pointer}.courtyard-viewer>img{display:block;width:100%;min-height:0;max-height:calc(100dvh - 190px);object-fit:contain}.courtyard-viewer footer{display:flex;align-items:center;justify-content:center;gap:20px;padding:12px;font-size:16px}.courtyard-section button:focus-visible{outline:2px solid #bc8068;outline-offset:-3px}
@media(max-width:800px){.courtyard-section{margin-top:52px}.courtyard-heading{display:block;margin-bottom:24px}.courtyard-heading>p{margin-top:16px}.courtyard-heading>p br{display:none}.courtyard-features{gap:14px}.courtyard-card-copy{padding:17px}.courtyard-card-copy h3{font-size:24px}}
@media(max-width:600px){.courtyard-heading h2{font-size:35px}.courtyard-point{min-height:40px;min-width:40px;padding:7px 10px;gap:0}.courtyard-point>span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.courtyard-caption{font-size:10px;bottom:8px;right:8px;padding:4px 6px}.courtyard-features{grid-template-columns:1fr;gap:16px;margin-top:16px}.courtyard-photo{aspect-ratio:16/10}.courtyard-viewer{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.courtyard-viewer header{padding:12px 16px}.courtyard-viewer header h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){.courtyard-photo img,.courtyard-card{transition:none}}
