/* Mobile follows the supplied original mobile site; desktop keeps its layout. */
.mobile-only,.mobile-nav-arrow,.menu-naver{display:none}
.menu-room-head small{font:inherit}
.menu-room-head small::before{content:" · "}
.lightbox-footer>.lightbox-room-navigation{display:none}
.map-button picture{display:block;width:100%;min-width:0}
.map-button picture>img{width:100%;height:auto;object-fit:contain}
.original-main .main-slide picture{display:block;width:100%;height:100%}
.amenities-mobile{display:none}

@media(max-width:700px), (max-width:1000px) and (pointer:coarse){
 :root{--header:76px}
 .mobile-only{display:inline}
 .desktop-only{display:none!important}
 body{padding-bottom:0}
 .mobile-bottom{display:none}
 .original-main .hero{touch-action:pan-y pinch-zoom}
 .original-main .main-slide img{pointer-events:none;-webkit-user-drag:none;user-select:none}
 .original-main .main-slide:nth-child(-n+2) img{object-position:center center}
 .original-main .hero-copy{user-select:none;-webkit-user-select:none}

 /* Original mobile header: phone, centred wordmark, menu. */
 body .site-header{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:0;padding:0 16px}
 body .site-header .header-actions{display:contents}
 body .site-header .brand{grid-column:2;grid-row:1;justify-self:center;width:min(190px,100%);height:60px;min-width:0;margin:0}
 body .site-header .brand img{width:100%;max-height:58px}
 body .site-header .header-actions .header-contact{grid-column:1;grid-row:1;justify-self:start;display:grid;padding:0;gap:0;min-width:44px;min-height:48px;margin:0}
 body .site-header .header-actions .phone-ring{width:43px;height:43px;border-width:1.3px}
 body .site-header .header-actions .phone-ring svg{width:21px;height:21px;stroke-width:1.7}
 body .site-header .header-actions .header-contact>span:last-child{display:none}
 body .site-header .header-actions .menu-toggle{grid-column:3;grid-row:1;justify-self:end;width:46px;min-height:48px;padding:3px 0;gap:5px;font-size:14px;letter-spacing:.12em}
 body .site-header .header-actions .hamburger{width:27px;height:22px}
 body .site-header .hamburger i,body .site-header .hamburger::before,body .site-header .hamburger::after{height:1.6px}
 body .site-header .hamburger i{top:9px}
 body .site-header .hamburger::after{top:18px}
 body .site-header .menu-toggle[aria-expanded=true] .hamburger::after{transform:translateY(-9px) rotate(-45deg)}

 /* Search is available by touch without opening the keyboard on menu entry. */
 body .menu-drawer{width:calc(100% - 48px);padding:0 20px calc(32px + env(safe-area-inset-bottom));scroll-padding-bottom:24px;-webkit-overflow-scrolling:touch}
 body .menu-drawer .menu-search{gap:12px;padding:20px 0;min-width:0}
 body .menu-drawer .menu-search svg{width:24px;height:24px;flex:none}
 body .menu-drawer .menu-search input{font:400 21px/1.5 var(--font);min-width:0;padding:0;height:32px;border-radius:0}
 body .menu-drawer .menu-naver{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -20px;padding:19px 20px;background:#ff7900;color:#fff;font-size:22px;line-height:1.4;font-weight:650;letter-spacing:-.04em}
 .menu-naver svg{width:32px;height:24px;flex:none}
 body .menu-drawer .menu-nav a{padding:24px 0;gap:14px;min-height:84px}
 body .menu-drawer .menu-nav strong{font:550 calc(clamp(25px,7vw,30px) + 4px)/1.25 var(--font);letter-spacing:-.06em}
 body .menu-drawer .menu-nav small{font-size:17px;line-height:1.4}
 body .menu-drawer .menu-room-head{margin:28px 0 12px;white-space:normal;font:650 16px/1.5 var(--font);letter-spacing:.14em}
 .menu-room-head small{display:block;font-size:16px;line-height:1.6;font-weight:400;letter-spacing:-.025em;margin-top:7px}
 .menu-room-head small::before{content:none}
 body .menu-drawer .menu-room-grid{grid-template-columns:1fr;gap:0}
 body .menu-drawer .menu-room-grid a{display:flex;padding:17px 0;min-height:52px}
 body .menu-drawer .menu-room-grid a span{font-size:18px}
 body .menu-drawer .menu-room-grid a small{font-size:16px}
 body .menu-drawer .menu-foot{margin:25px 0 0;font-size:15px}

 /* Room controls precede the photograph, as in the original mobile detail. */
 #roomDetail.selected-room{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
 .room-selector{margin-bottom:48px}
 #roomDetail .room-info{display:contents}
 .room-header-block{grid-row:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:6px;row-gap:22px;margin-bottom:22px;min-width:0}
 #roomDetail .room-info-top{grid-column:1;grid-row:1;min-width:0}
 #roomDetail .room-info-top>.eyebrow{font-size:calc(clamp(9px,2.65vw,11px) + 4px);letter-spacing:clamp(.04em,.3vw,.11em);line-height:1.35;white-space:nowrap}
 #roomDetail .room-heading-row{display:contents}
 #roomDetail .room-heading-row h3{grid-column:1/-1;grid-row:2;font:600 calc(clamp(30px,8.8vw,40px) + 4px)/1.2 var(--font);letter-spacing:-.065em;margin:0;white-space:nowrap;color:#171717}
 #roomDetail .room-heading-row h3::before{content:"No. "}
 #roomDetail .room-heading-row h3 span{font:inherit;letter-spacing:inherit;margin-left:0;color:inherit}
 #roomDetail .room-navigation{grid-column:2;grid-row:1;border:0;border-radius:0;padding:0;background:none;gap:clamp(4px,1.4vw,8px);min-height:58px}
 #roomDetail .room-navigation .circle-button{width:clamp(48px,13.5vw,58px);height:clamp(48px,13.5vw,58px);min-width:48px;min-height:48px;border:0;border-radius:50%;background:#0c0c0c;color:#fff;padding:0;display:grid;place-items:center;touch-action:manipulation}
 #roomDetail .room-navigation .circle-button:active{background:#48423e;transform:scale(.94)}
 .mobile-nav-arrow{display:block;width:59%;height:59%;pointer-events:none}
 #roomIndex{min-width:49px;text-align:center;color:#74706b;font-size:calc(clamp(12px,3.15vw,14px) + 4px);font-weight:580;letter-spacing:.04em;white-space:nowrap}
 #roomDetail .room-subtitle{display:none}
 #roomDetail .room-gallery{grid-row:2;min-width:0;margin:0}
 #galleryStage{aspect-ratio:auto;overflow:visible;background:#fff;touch-action:pan-y pinch-zoom}
 #openRoomPhoto{display:block;width:100%;height:auto;aspect-ratio:4/3;padding:0;touch-action:pan-y pinch-zoom;-webkit-tap-highlight-color:transparent}
 #openRoomPhoto img{width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}
 .zoom-indicator,.space-zoom,#photoThumbs{display:none!important}
 #galleryStage .photo-navigation{position:static;justify-content:center;width:100%;min-height:60px;gap:clamp(16px,5vw,24px);border:0;border-radius:0;padding:0;margin:15px 0 14px;background:none}
 #galleryStage .photo-navigation .circle-button{width:52px;height:52px;border:1.5px solid #d4cec4;border-radius:50%;background:#fff;color:#252525;font:500 37px/1 Arial,sans-serif;touch-action:manipulation}
 #galleryStage .photo-navigation .circle-button:active{background:#f3f1ed}
 #galleryStage #photoCount{min-width:68px;text-align:center;font-size:21px;line-height:1.4;font-weight:500;color:#6e6b66;letter-spacing:.06em}
 .gallery-note{justify-content:center;margin:0 0 24px;min-height:22px;text-align:center}
 .gallery-note .tone-toggle{display:none}
 .gallery-note>.mobile-only{font-size:15px;line-height:1.6;color:#79746d}
 #roomDetail .rent{grid-row:3;margin:0;padding:22px 0;border-top:1px solid #e7e5e1}
 #roomDetail .rent>small{font-size:18px}
 #roomDetail .rent #mobileRent{font:650 calc(clamp(25px,7vw,30px) + 4px)/1.3 var(--font);letter-spacing:-.045em}
 #roomDetail .room-facts{grid-row:4;margin-top:0}
 #roomInquiry{grid-row:5;margin-top:20px}
 #roomDetail .availability-note{grid-row:6;margin-top:12px}

 /* The original mobile facility story follows the rhythm of arriving and living. */
 #amenities>.amenities-grid,#amenities>.management{display:none}
 #amenities .section-head{margin-bottom:34px}
 #amenities #amenitiesTitle{font-size:calc(clamp(22px,7vw,28px) + 4px);font-weight:650;line-height:1.5;letter-spacing:-.055em;word-break:keep-all}
 #amenities .section-aside{font-size:18px;line-height:1.85;margin-top:20px;color:#6d6965}
 .amenities-mobile{display:block}
 .amenities-mobile .amenity-list{display:grid;grid-template-columns:minmax(0,1fr);gap:44px}
 .amenities-mobile .amenity-card{min-width:0;margin:0;padding:0;background:#fff}
 .amenities-mobile .amenity-photo{display:block;width:100%;height:auto;min-height:0;aspect-ratio:auto;padding:0;border:0;border-radius:0;background:#fff;box-shadow:none;overflow:visible}
 .amenities-mobile .amenity-photo>img{display:block;width:100%;height:auto;object-fit:contain}
 .amenities-mobile .device-row{display:grid;grid-template-columns:minmax(0,36%) minmax(0,1fr);align-items:center;gap:18px}
 .amenities-mobile .tall-device{height:320px}
 .amenities-mobile .tall-device>img{height:100%;width:100%;object-fit:contain}
 .amenities-mobile .amenity-copy{min-width:0;padding-top:20px}
 .amenities-mobile .device-row .amenity-copy{padding-top:0}
 .amenities-mobile .label,.amenities-mobile .management-eyebrow{font-size:15px;font-weight:650;line-height:1.6;letter-spacing:1.4px;color:#8c867f;margin:0 0 10px}
 .amenities-mobile h3{font-size:calc(clamp(18px,5.1vw,21px) + 4px);font-weight:600;line-height:1.45;letter-spacing:-.05em;color:#20201f;margin:0 0 14px;word-break:keep-all}
 .amenities-mobile .amenity-card:not(.device-row) h3{font-size:26px}
 .amenities-mobile .amenity-copy>p:last-child,.amenities-mobile .management-desc{font-size:18px;line-height:1.85;word-break:keep-all;color:#6d6965;margin:0}
 .amenities-mobile .wash-photos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:end}
 .amenities-mobile .wash-photos>button{display:block;width:100%;min-width:0;padding:0;border:0;background:#fff}
 .amenities-mobile .wash-photos img{display:block;width:100%;height:auto;object-fit:contain}
 .amenities-mobile #management-guide{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:20px;margin:43px 0 0;padding:31px 0 0;border-top:1px solid #e6e3df;scroll-margin-top:calc(var(--header) + 18px)}
 .amenities-mobile #management-guide .site-photo-trigger{display:block;line-height:0;width:100%;padding:0;background:#fff;border:0;border-radius:0}
 .amenities-mobile #management-guide img{display:block;width:100%;height:auto;object-fit:contain;border:0;border-radius:0}
 .amenities-mobile .management-copy{min-width:0}

 /* One full-width photograph at a time, with readable captions beneath. */
 #rooms .spaces-grid{grid-template-columns:minmax(0,1fr);row-gap:42px}
 #rooms .space-image .image-frame{aspect-ratio:auto}
 #rooms .space-image .image-frame>img{height:auto;object-fit:contain}
 #rooms .space-caption{min-height:0;margin-top:18px;padding-right:30px}
 #rooms .space-caption>span{font-size:15px;font-weight:600;line-height:1.6;letter-spacing:1.3px;color:#87817a}
 #rooms .space-caption p{font-size:24px;font-weight:600;line-height:1.5;margin-top:9px;color:#20201f}
 #rooms .space-caption i{font-size:25px;top:0;color:#98948e}
 #rooms .section-aside{font-size:18px;line-height:1.85}
 #rooms .small-note{font-size:15px;line-height:1.7}
 #rooms .space-image:hover .image-frame>img,.arrival-card:hover .image-frame>img{transform:none}

 /* The original visitor guide becomes a single-column reading sequence. */
 #location .pc-arrival-guide{margin-top:56px}
 #location .pc-arrival-heading{width:calc(100% - 44px);margin:0 22px 28px}
 #location .pc-arrival-heading .pc-eyebrow{font-size:15px;line-height:1.6;letter-spacing:1.4px;margin:0 0 13px}
 #location .pc-arrival-heading h3{font-size:26px;font-weight:600;line-height:1.5;letter-spacing:-.05em;margin:0 0 16px;word-break:keep-all}
 #location .pc-arrival-heading>p:last-child{font-size:18px;font-weight:400;line-height:1.85;margin:0;word-break:keep-all}
 #location .pc-arrival-grid{width:calc(100% - 44px);margin:0 22px;grid-template-columns:minmax(0,1fr);gap:44px}
 #location .pc-arrival-card{display:block;width:100%;min-width:0}
 #location .pc-arrival-photo{width:100%;height:auto}
 #location .pc-arrival-photo img{width:100%;height:auto;max-height:none;object-fit:contain}
 #location .pc-arrival-caption{padding-top:19px}
 #location .pc-arrival-caption .pc-photo-index{font-size:15px;font-weight:600;line-height:1.6;letter-spacing:1.3px;margin:0 0 9px}
 #location .pc-arrival-caption h4{font-size:25px;font-weight:600;line-height:1.5;margin:0 0 9px;color:#20201f}
 #location .pc-arrival-caption .pc-photo-desc{font-size:18px;line-height:1.85;margin:0;color:#777571;word-break:keep-all}
 #location .pc-arrival-footnote{margin:28px 22px 0;font-size:16px;line-height:1.8}

 /* Native portrait map supplied with the original mobile website. */
 .location-section .shell{width:100%;max-width:none}
 .location-section .section-head{padding-inline:22px}
 .location-layout{display:block}
 .location-layout .map-button{display:block;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:auto;overflow:visible;padding:0;margin:0;border:0;border-radius:0}
 .location-layout .map-button img{display:block;width:100%;height:auto;aspect-ratio:1024/1536;object-fit:contain}
 .location-layout .map-expand{display:none}
 .location-info{padding:30px 22px 0}

 /* Original black full-screen viewer with independent room/photo controls. */
 #lightbox{background:#171717;color:#fff;overscroll-behavior:contain;-webkit-tap-highlight-color:transparent}
 #lightbox .lightbox-bar{padding:calc(13px + env(safe-area-inset-top)) 18px 9px;align-items:flex-start;gap:18px}
 #lightbox .eyebrow.light{color:#b5b1aa;font:600 14px/1.4 var(--font);letter-spacing:.19em}
 #lightbox .lightbox-bar h2{font:500 calc(clamp(22px,6vw,29px) + 4px)/1.25 var(--font);letter-spacing:-.06em;margin-top:5px}
 #lightboxZoom{display:none}
 #lightboxClose{width:43px;height:43px;min-height:43px;display:grid;place-items:center;border:1px solid #777;border-radius:50%;color:#fff;font:300 36px/1 var(--font);padding:0;background:transparent}
 #lightboxViewport{width:100%;padding:0;overflow:hidden;touch-action:none;cursor:zoom-out;user-select:none}
 #lightboxPicture,#lightboxImage{width:100%;height:100%;max-height:100%;max-width:100%}
 #lightboxImage{object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}
 #lightbox .lightbox-footer{padding:8px 16px calc(18px + env(safe-area-inset-bottom));background:#171717;display:flex;flex-direction:column;gap:7px;align-items:center}
 #lightbox .lightbox-footer>div{width:min(100%,330px);align-items:center;justify-content:space-between;gap:16px}
 #lightbox[data-room-view=true] .lightbox-room-navigation{display:flex}
 #lightbox .lightbox-photo-navigation{display:flex}
 #lightbox .lightbox-footer>div>span{min-width:130px;text-align:center;font:500 17px/1.5 var(--font);letter-spacing:.075em;color:#ddd9d4;font-variant-numeric:tabular-nums}
 #lightbox .circle-button.light-button{flex:none;width:42px;height:42px;border:1px solid #62605d;border-radius:50%;background:transparent;color:#fff;font:400 28px/1 var(--font);padding:0}
 #lightbox .circle-button.light-button:active,#lightboxClose:active{background:#3f3f3f}
 #lightbox .lightbox-footer>#lightboxHint{order:3;font:400 15px/1.5 var(--font);color:#aaa6a0;text-align:center;margin:5px 0 0;letter-spacing:-.025em}
}
@media(max-width:359px){
 .amenities-mobile .device-row{gap:16px}
 .amenities-mobile .tall-device{height:285px}
 .amenities-mobile .amenity-copy>p:last-child,.amenities-mobile .management-desc{font-size:17px}
 .amenities-mobile #management-guide{gap:16px}
 #roomDetail .room-info-top>.eyebrow{font-size:13px;letter-spacing:.04em}
 #roomDetail .room-navigation{gap:4px}
 #roomDetail .room-navigation .circle-button{width:48px;height:48px}
 #roomIndex{min-width:45px;font-size:16px}
 body .site-header{grid-template-columns:43px minmax(0,1fr) 43px;padding-inline:12px}
 body .site-header .brand{width:min(175px,100%)}
 body .menu-drawer{width:calc(100% - 32px)}
 body .menu-drawer .menu-nav strong{font-size:29px}
}
@media(max-width:700px) and (orientation:landscape) and (max-height:540px), (max-width:1000px) and (pointer:coarse) and (orientation:landscape) and (max-height:540px){
 #lightbox .lightbox-bar{padding-top:8px;padding-bottom:3px}
 #lightbox .lightbox-bar .eyebrow{display:none}
 #lightbox .lightbox-footer{padding-top:2px;padding-bottom:5px;gap:2px}
 #lightbox .circle-button.light-button{height:28px;width:28px;font-size:24px}
 #lightbox .lightbox-footer>#lightboxHint{display:none}
}
