.place-page { margin:0; background:var(--aq-surface); color:var(--aq-fg); font-family:var(--aq-font); line-height:1.65; }
.place-page *, .place-academy * { box-sizing:border-box; }
.place-page a, .place-academy a { color:var(--aq-accent-strong); text-underline-offset:4px; }
.place-page a:hover, .place-academy a:hover { text-decoration:underline; }
.place-bar { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:1120px; padding:16px 32px; margin:auto; border-bottom:1px solid var(--aq-border); }
.place-brand { font-size:20px; font-weight:750; text-decoration:none; color:var(--aq-fg) !important; }
.place-main { max-width:1200px; margin:auto; padding:32px 48px 80px; }
.place-page .place-academy { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:0 56px; }
.place-page .place-academy > .place-head, .place-page .place-academy > .place-facts, .place-page .place-academy > section { grid-column:1; }
.place-page .place-location { grid-column:2; grid-row:1 / span 3; min-width:0; }
.place-page .place-academy > footer { grid-column:1 / -1; }
.place-location .place-rows li { flex-wrap:wrap; gap:4px 12px; }
.place-head { padding:16px 0 28px; }
.place-crumb { color:var(--aq-fg-secondary); font-size:14px; margin:0 0 12px; }
.place-head h1, .place-academy .place-head h2 { font-size:36px; line-height:1.35; letter-spacing:-.035em; margin:0 0 14px; color:var(--aq-fg); }
.place-address { font-size:18px; margin:0 0 24px; color:var(--aq-fg-secondary); }
.place-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.place-actions .aq-btn, .place-head > p > .aq-btn { min-height:46px; padding:12px 18px; border-radius:var(--aq-radius-el); text-decoration:none; font:inherit; font-weight:650; }
.place-academy .aq-btn-primary, .place-page .aq-btn-primary { color:var(--aq-accent-fg); }
.place-share-status { font-size:14px; color:var(--aq-fg-secondary); }
.place-facts { margin:0; padding:20px 0; border-top:1px solid var(--aq-border); border-bottom:1px solid var(--aq-border); }
.place-facts > div { display:grid; grid-template-columns:140px minmax(0,1fr); gap:24px; padding:10px 0; }
.place-facts dt { color:var(--aq-fg-secondary); }
.place-facts dd { margin:0; }
.place-page h1, .place-page h2, .place-page p, .place-page li, .place-academy { word-break:keep-all; overflow-wrap:anywhere; }
.place-muted, .place-source { color:var(--aq-fg-secondary); }
.place-block { padding:28px 0; border-bottom:1px solid var(--aq-border); }
.place-block h2, .place-block h3 { font-size:22px; line-height:1.45; letter-spacing:-.02em; margin:0 0 18px; }
.place-rows { list-style:none; margin:0; padding:0; }
.place-rows li { display:flex; align-items:baseline; gap:20px; justify-content:space-between; padding:14px 0; border-bottom:1px solid var(--aq-border-subtle); }
.place-rows li a { font-weight:600; }
.place-rows span { flex-shrink:0; font-size:14px; color:var(--aq-fg-secondary); }
.place-mini { height:240px; margin:28px 0 0; border-radius:var(--aq-radius-card); background:var(--aq-surface-sunken); overflow:hidden; }
.place-mini-canvas { height:100%; width:100%; }
.place-mini .map-controls { display:none; }
.place-coordinate { font-size:13px; }
.place-source { font-size:14px; }
.place-source summary { cursor:pointer; font-weight:650; color:var(--aq-fg); padding:12px 0; }
.place-subjects { display:flex; flex-wrap:wrap; gap:8px; padding:0; list-style:none; }
.place-subjects li { padding:8px 14px; border-radius:var(--aq-radius-sm); background:var(--aq-surface-sunken); }
.place-subjects strong { margin-left:8px; }
.place-school-list { columns:3; column-gap:24px; padding-left:20px; }
.place-school-list li { break-inside:avoid; padding:6px 0; }
.place-site-footer { max-width:1024px; margin:auto; padding:24px 48px 48px; color:var(--aq-fg-secondary); font-size:14px; }
.place-skip { position:absolute; top:-80px; background:var(--aq-surface); padding:12px; z-index:20; }
.place-skip:focus { top:0; }
.place-page :focus-visible, .place-academy :focus-visible { outline:2px solid var(--aq-ring-strong); outline-offset:4px; }
.unified-detail-body .place-academy { padding:0; }
.unified-detail-body .place-head h2 { font-size:26px; }
.unified-detail-body .place-facts > div { grid-template-columns:96px minmax(0,1fr); gap:12px; }
.unified-detail-body .place-rows li { flex-wrap:wrap; gap:4px 12px; }
.unified-detail-body .place-block h3 { font-size:19px; }
.unified-detail-body .place-mini { height:180px; }
@media(max-width:1023px) {
  .place-page .place-academy { display:block; }
}
@media(max-width:700px) {
  .place-bar { min-height:60px; padding:14px 20px; }
  .place-main { padding:20px 22px 48px; }
  .place-head { padding-top:12px; }
  .place-head h1 { font-size:29px; }
  .place-address { font-size:16px; }
  .place-facts > div { grid-template-columns:88px minmax(0,1fr); gap:16px; }
  .place-school-list { columns:1; }
  .place-rows li { gap:8px; flex-wrap:wrap; }
  .place-site-footer { padding:24px 22px; }
  .place-actions { gap:8px; }
  .place-actions .aq-btn { padding:12px 14px; }
}
[hidden] { display:none !important; }
