/* Tablet and phone overrides (loaded after site.css). Breakpoints: 1120, 900, 760, 560. */

@media (max-width:1120px){
  :root{--gutter:32px;--gutter-wide:32px}
  .nav__inner{padding:0 32px}
  .nav__phone{display:none}
  .split,.split--flip{gap:48px}
  .foot__top{grid-template-columns:1fr 1fr;gap:36px 32px}
  .foot__brand{grid-column:1/-1}
  .explorer{grid-template-columns:minmax(0,58fr) minmax(0,42fr)}
  .nb{grid-template-columns:204px 292px minmax(0,1fr)}
  .am-row,.am-row--flip{gap:48px}
  .prow{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
}

@media (max-width:900px){
  :root{--gutter:20px;--gutter-wide:20px;--nav-h:68px;--section:64px;--section-sm:56px}
  body{font-size:15.5px}
  .h1,.h1--home{font-size:clamp(32px,8.6vw,46px)}
  .h2{font-size:clamp(26px,6.2vw,34px);line-height:1.12}
  .nav__inner{padding:0 16px;column-gap:12px;grid-template-columns:auto 1fr auto}
  .nav__logo{justify-self:center}
  .nav__logo img{height:44px}
  .nav__toggle{gap:10px}
  .nav__word{font-size:11px;letter-spacing:.16em}
  .nav__toggle{min-width:44px}
  .nav__apply{display:none}
  .nav .btn{min-height:44px;padding:0 14px}
  .menu__inner{grid-template-columns:1fr;gap:28px;padding:96px 22px 36px;align-content:start}
  .menu__link{font-size:28px}
  .phead{padding:40px 0 28px}
  .phead__grid{grid-template-columns:1fr;gap:16px}
  .split,.split--flip{grid-template-columns:1fr;gap:28px}
  .split--flip .split__media{order:2}
  .collage .ph:first-child{height:auto;aspect-ratio:3/2}
  .collage .ph{height:auto;aspect-ratio:1/1}
  .collage--tall{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .collage--tall .ph:first-child{grid-column:1/-1;grid-row:auto;aspect-ratio:3/2}
  .band{height:auto;display:flex;flex-direction:column}
  .band>.ph{position:relative;inset:auto;aspect-ratio:3/2}
  .band__panel{position:relative;left:auto;top:auto;transform:none;width:auto;margin:-48px 16px 0;padding:28px 22px}
  .band--plain{height:auto}
  .cta{padding:64px 0}
  .cta .btns{flex-direction:column;align-items:stretch;max-width:360px;margin:0 auto}
  .foot__top{grid-template-columns:1fr;gap:28px;padding:48px 0 32px}
  .foot__legal{flex-direction:column}
  .foot a{display:inline-flex;align-items:center;min-height:44px}
  .foot ul{gap:0}
  .chip{min-height:44px}
  .form{grid-template-columns:1fr}
  .explorer{grid-template-columns:1fr;gap:20px}
  .results__list{max-height:none}
  .rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;margin-right:calc(-1 * var(--gutter-wide));padding-right:var(--gutter-wide);-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
  .railbtn{flex:0 0 78%;scroll-snap-align:start}
  .prow{grid-template-columns:1fr;gap:24px;padding:36px 0}
  .prow .ucard__units{grid-template-columns:1fr 1fr}
  .prow .btns .btn{flex:1 1 100%}
  .costs{grid-template-columns:1fr;gap:20px}
  .ktable th,.ktable td{display:block;width:auto;padding:4px 0}
  .ktable th{padding-top:14px;border-bottom:0}
  .ktable td{padding-bottom:14px}
  .tours{grid-template-columns:1fr;gap:28px}
  .jgrid{--row:170px}
  .jgrid figcaption{display:none}
  .gfilter{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}
  .gfilter .chip{flex:none}
  .am-row,.am-row--flip{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:24px}
  .am-row--flip .am-media{order:2}
  .am-media{position:static}
  .am-groups{gap:36px}
  .am-group__h{font-size:23px}
  /* neighborhood: map on top, category chips, then the full list */
  .nb{display:flex;flex-direction:column;height:auto;min-height:0}
  .nb__rail{display:contents}
  .nb__head{order:0;padding:24px 20px 18px;background:var(--paper)}
  .nb__h1{font-size:28px}
  .nb__map{order:1;flex:none;height:56svh;min-height:340px;max-height:560px;border-top:1px solid var(--rule)}
  .nb__cats{order:2;flex-direction:row;flex-wrap:nowrap;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding:0 16px;padding:12px 16px;background:var(--paper);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
  .nb__cats::-webkit-scrollbar{display:none}
  .nb__cats.is-end{-webkit-mask-image:none;mask-image:none}
  .nb__cat{flex:none;width:auto;grid-template-columns:auto auto auto;gap:8px;min-height:44px;padding:8px 13px;border:1px solid var(--control);scroll-snap-align:start;white-space:nowrap}
  .nb__cat[aria-pressed="true"]{border-color:var(--slate);background:var(--slate);color:var(--linen)}
  .nb__cat[aria-pressed="true"] .nb-ic{color:var(--bronze-focus-dark)}
  .nb__cat[aria-pressed="true"] .nb__cat-n{color:var(--linen)}
  .nb__list{order:3;overflow:visible;padding:24px 0 12px}
  .nb__list h2{font-size:25px;padding:0 20px}
  .nb__place{padding:12px 20px}
  .nb__note{order:4;margin:0;padding:16px 20px;border-top:0}
  .nb__badge{left:12px;top:12px;padding:9px 12px}
  .nb__recenter{right:12px;top:12px}
  .nb .maplibregl-ctrl-group button{width:40px;height:40px}
  .nb__foot{padding-top:6px}
  .contact-photo{min-height:0;aspect-ratio:3/2;height:auto}
  .lightbox__img{padding:0 8px}
  .lightbox__nav{top:auto;bottom:64px;transform:none}
}

@media (max-width:760px){
  .hero{height:100vh;height:100svh;min-height:520px;max-height:none}
  .x3d{aspect-ratio:1/1;max-height:74svh}
  .x3pin{width:30px;height:30px;font-size:10.5px}
  .stage__views{top:10px;left:10px}
  .vbtn{padding:0 12px;min-height:40px}
  .x3d__compass{width:40px;height:40px;top:10px;right:10px}
  .hero__mark{width:62vw;top:40%}
  .hero__foot{flex-direction:column;align-items:stretch;gap:20px;padding:0 20px 28px}
  .hero .btn{width:100%}
  .fbar__groups{display:none}
  .fbar__groups.is-open{display:flex;flex-direction:column;align-items:flex-start;gap:14px;width:100%}
  .fbar__sheet-btn{display:inline-flex}
  .fbar__count{margin-left:0}
  .stage__viewport{max-height:none;aspect-ratio:4/3}
  .stage__cap{margin-left:0;width:100%}
  .atag{display:none}
  .rtag text{font-size:11px}
  .pin text{font-size:10px;letter-spacing:-.01em}
  /* the unit card becomes a bottom sheet (showModal) */
  .ucard:modal{position:fixed;inset:auto 0 0 0;width:100%;max-width:100%;max-height:86svh;border:0;border-top:2px solid var(--bronze);box-shadow:0 -18px 44px -26px rgba(24,20,14,.5);transform:translateY(24px)}
  .ucard:modal[open]{transform:none}
  @starting-style{.ucard:modal[open]{transform:translateY(24px)}}
  .ucard:modal .btns{bottom:0;padding:12px 0 16px}
  .modal{width:100vw;max-height:100svh;height:100svh}
  .modal .slots{grid-template-columns:repeat(3,1fr)}
  .viewer__bar{flex-wrap:wrap}
  .viewer__bar .btns .btn{display:none}
}

@media (max-width:560px){
  :root{--gutter:16px;--gutter-wide:16px}
  .ucard__units{grid-template-columns:1fr 1fr}
  .urow{grid-template-columns:52px 1fr auto;padding:14px 8px}
  .urow__n{font-size:24px}
  .kv{grid-template-columns:1fr 1fr}
  .cinfo{grid-template-columns:1fr}
  .cinfo dd{border-top:0;padding-top:0}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1!important;transform:none!important}
  .js .hero__mark,.js .hero h1,.js .hero__cta{opacity:1}
}
