/* Sakis mobile pass — deliberate touch layouts, not a stacked desktop page. */
html{overflow-x:hidden;-webkit-text-size-adjust:100%}
body{overflow-x:hidden}
button,a,input,select,textarea{touch-action:manipulation}
.skip-link:focus{transform:translateY(-160%)}
.skip-link:focus-visible{transform:none}

@media(max-width:800px){
  .nav:not(.admin-nav){left:max(8px,env(safe-area-inset-left))!important;width:calc(100% - max(16px,env(safe-area-inset-left) + env(safe-area-inset-right)))!important}
  .nav:not(.admin-nav) .menu{min-width:44px;min-height:44px}
  .hero-brand-emblem{display:none!important}
  .collection-hero{min-height:700px;height:100svh}
  .glass-copy{bottom:9vh!important;padding:25px 21px!important}
  .glass-copy h1{font-size:clamp(50px,14.2vw,61px)!important;line-height:.88!important;margin:25px 0 38px!important}
  .hero-time{bottom:18px!important}
  .home-state-strip{position:relative;z-index:5;padding:14px 20px 16px!important}
  .home-state-strip>div{display:flex;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none;padding:2px 20px 5px 0}
  .home-state-strip>div::-webkit-scrollbar{display:none}
  .home-state-strip a{flex:0 0 auto;min-height:42px;display:grid;place-items:center;scroll-snap-align:start}

  .collection-highlights{padding:74px 0 76px!important}
  .highlights-heading{padding:0 20px}
  .highlights-heading h2{font-size:clamp(50px,15vw,59px)!important}
  .highlights-heading>p{font-size:15px;line-height:1.65}
  .highlights-grid,.highlights-count-1 .highlights-grid{display:flex!important;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;gap:10px;margin:48px 0 0!important;padding:0 20px 18px;scrollbar-width:none}
  .highlights-grid::-webkit-scrollbar{display:none}
  .highlight-card,.highlight-lead,.highlights-count-1 .highlight-lead,.highlights-count-2 .highlight-card:not(.highlight-lead){flex:0 0 min(82vw,350px);scroll-snap-align:center;display:grid!important;grid-template-columns:1fr!important}
  .highlight-card figure,.highlight-lead figure,.highlights-count-1 .highlight-lead figure{height:245px!important}
  .highlight-card>div,.highlight-lead>div{min-height:205px!important;padding:23px!important}
  .highlight-card h3,.highlight-lead h3{font-size:40px!important}
  .highlights-all{margin:25px 20px 0}

  .portfolio{padding:78px 0 88px!important}
  .portfolio-head{padding:0 22px}
  .portfolio-head h2{font-size:54px!important;margin:30px 0 24px!important}
  .portfolio-head:after{content:"Swipe to explore  →";display:block;margin-top:14px;color:#7c624b;font-size:8px;letter-spacing:.16em;text-transform:uppercase}
  .portfolio-list{display:flex;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;gap:12px;margin:48px 0 0!important;padding:0 22px 22px;scrollbar-width:none}
  .portfolio-list::-webkit-scrollbar{display:none}
  .portfolio-hotel,.portfolio-hotel.reverse{flex:0 0 min(84vw,360px);scroll-snap-align:center;display:flex!important;flex-direction:column;gap:0!important;margin:0!important;background:#f7f3eb}
  .portfolio-hotel.reverse .portfolio-image{order:0!important}
  .portfolio-image img{height:255px!important}
  .portfolio-copy{display:flex;min-height:275px;flex-direction:column;padding:25px 23px}
  .portfolio-copy h3{font-size:43px!important;margin:18px 0!important}
  .portfolio-copy>p{font-size:13px;line-height:1.65!important}
  .portfolio-actions{margin-top:auto!important;padding-top:24px;flex-wrap:wrap}
  .founding-collection{flex:0 0 calc(100vw - 44px);padding:18px!important;margin:0!important}
  .founding-image img{height:280px!important}

  .notice-section{padding:84px 0!important}
  .notice-title{padding:0 20px}
  .notice-title h2,.journal-head h2{font-size:52px!important}
  .notice-grid{display:flex!important;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;gap:10px;margin:58px 0 0!important;padding:0 20px 20px;scrollbar-width:none}
  .notice-grid::-webkit-scrollbar{display:none}
  .notice-card{flex:0 0 min(82vw,350px);height:480px;scroll-snap-align:center}
  .notice-copy-card{padding:34px 25px!important}

  .visual-journal{padding:84px 0 100px!important}
  .journal-head{padding:0 20px}
  .journal-grid{display:flex!important;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;gap:10px;margin:58px 0 0!important;padding:0 20px 90px;scrollbar-width:none}
  .journal-grid::-webkit-scrollbar{display:none}
  .journal-grid figure{flex:0 0 min(82vw,350px);height:510px!important;scroll-snap-align:center;border-radius:18px!important}
  .journal-note{flex:0 0 270px;align-self:center;margin:0 15px!important}
  .door-panel{min-height:540px!important;padding:55px 23px!important}
  .door-panel h2{font-size:48px!important}
  .atlas-section{padding:84px 20px!important}
  .atlas-heading{margin-bottom:54px!important}
  .atlas-heading h2{font-size:52px!important}
  .atlas-state{min-height:220px!important}
  .atlas-readout{min-height:350px!important;padding:38px 24px!important}
  .collection-belief,.owner-invite>div:last-child,.new-brand-signature{padding-block:78px!important}
  .owner-invite-image{height:48vh!important;min-height:360px}

  .directory-hero{padding:104px 22px 58px!important}
  .directory-hero h1{font-size:58px!important}
  .filter-row{padding-inline:20px!important;scrollbar-width:none}
  .filter-row::-webkit-scrollbar{display:none}
  .hotel-state{padding:66px 20px!important}
  .state-divider{margin-bottom:38px!important}
  .hotel-grid{gap:42px!important}
  .hotel-image,.hotel-card.wide .hotel-image{aspect-ratio:4/3!important}
  .hotel-meta h3{font-size:34px!important}

  dialog{width:100vw;max-width:100vw;max-height:100dvh;margin:auto 0 0;border-radius:18px 18px 0 0;overflow:auto}
  dialog form{padding:24px 20px calc(24px + env(safe-area-inset-bottom))!important}
  .modal-head{position:sticky;z-index:3;top:-24px;margin:-24px -20px 20px;padding:22px 20px 10px;background:var(--chalk)}
  .modal-actions{position:sticky;bottom:0;margin-inline:-20px;padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:rgba(242,238,228,.96);backdrop-filter:blur(14px)}
  .modal-actions button{min-height:46px}
  .admin-row{gap:10px!important}
  .admin-row strong{font-size:21px}
  .mobile-booking{bottom:max(8px,env(safe-area-inset-bottom))!important}
  footer{padding-left:22px!important;padding-right:22px!important}
}

@media(max-width:380px){
  .nav:not(.admin-nav) .brand-stack small{display:none!important}
  .glass-copy h1{font-size:49px!important}
  .hero-time{gap:8px!important;font-size:7px!important}
  .hero-time i{width:24px!important}
  .highlight-card,.portfolio-hotel,.notice-card,.journal-grid figure{flex-basis:86vw}
  .property-breadcrumb{font-size:7px!important}
}

@media(prefers-reduced-motion:reduce){
  .highlights-grid,.portfolio-list,.notice-grid,.journal-grid{scroll-behavior:auto}
}
