:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f7fb;color:#1d2530;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{background:#152032;color:#eff5ff;display:flex;flex-direction:column;gap:18px;padding:20px;position:sticky;top:0;height:100vh}.sidebar-brand{display:flex;align-items:center;gap:10px}.sidebar-brand strong{display:block}.sidebar-brand span{color:#94a8c7;display:block;font-size:.86rem}.brand-mark{width:52px;height:52px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(135deg,#00a6a6,#3e7cb1);color:#fff;box-shadow:0 10px 24px #005c803d}.brand-mark.small{width:38px;height:38px}.sidebar nav{display:grid;gap:6px}.sidebar nav button,.ghost.compact{align-items:center;background:transparent;border-radius:8px;color:#cdd9ea;display:flex;gap:10px;min-height:40px;padding:10px 12px;text-align:left}.sidebar nav button:hover,.sidebar nav button.active{background:#263852;color:#fff}.sidebar-actions{border-top:1px solid rgba(255,255,255,.11);display:grid;gap:8px;margin-top:auto;padding-top:14px}.workspace{min-width:0;padding:26px}.topbar,.public-header{align-items:center;display:flex;justify-content:space-between;gap:16px;margin-bottom:22px}.topbar h1,.booking-hero h1,.auth-panel h1{margin:0;line-height:1.08}.eyebrow{color:#53708f;font-size:.78rem;font-weight:700;margin:0 0 6px;text-transform:uppercase}.stack{display:grid;gap:18px}.split{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.metric-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.metric,.panel,.room-card{background:#fff;border:1px solid #dfe7f1;border-radius:8px;box-shadow:0 14px 32px #1c2f4612}.metric{display:grid;gap:5px;padding:18px}.metric svg{color:#007d83}.metric span,.metric small,.muted,.empty{color:#697b91}.metric strong{font-size:1.55rem;line-height:1.1}.panel{min-width:0;padding:18px}.panel-head{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:14px}.panel h2{align-items:center;display:flex;gap:8px;font-size:1.02rem;margin:0}.primary,.secondary,.ghost{align-items:center;border-radius:8px;display:inline-flex;gap:8px;justify-content:center;min-height:42px;padding:10px 14px}.primary{background:#007d83;color:#fff}.secondary{background:#e8f1f8;color:#244461}.ghost{background:transparent;color:#2d526f}.form-grid{display:grid;gap:12px}.form-grid.dense{grid-template-columns:repeat(4,minmax(0,1fr))}label{color:#40556d;display:grid;font-size:.86rem;font-weight:650;gap:6px}input,select{background:#fff;border:1px solid #cfdbea;border-radius:8px;color:#1d2530;min-height:42px;padding:9px 11px;width:100%}input:focus,select:focus{border-color:#007d83;box-shadow:0 0 0 3px #007d8321;outline:none}.wide{grid-column:1 / -1}.alert{border-radius:8px;font-weight:650;padding:12px 14px}.alert.danger{background:#fff2f0;color:#a23a2a}.alert.success{background:#e7f8ef;color:#146c43}.table-wrap{overflow-x:auto}table{border-collapse:collapse;min-width:760px;width:100%}th,td{border-bottom:1px solid #e7edf5;padding:12px 10px;text-align:left;vertical-align:middle}th{color:#59708a;font-size:.78rem;text-transform:uppercase}td strong,td span{display:block}.badge{border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:800;line-height:1;max-width:fit-content;padding:7px 10px}.badge.success{background:#dff7ec;color:#0f6b47}.badge.warning{background:#fff3cf;color:#8a5a00}.badge.danger{background:#ffe1dc;color:#9d3024}.badge.neutral{background:#e9eef6;color:#58687d}.actions,.row-actions{align-items:center;display:flex;gap:8px}.actions button,.stepper button,.row-actions button{background:#eef4fa;border-radius:8px;color:#244461;display:grid;min-height:32px;min-width:32px;place-items:center}.mini-list{display:grid;gap:10px}.mini-row,.cart-row{align-items:center;background:#f8fafc;border:1px solid #e3eaf3;border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:12px}.mini-row span,.cart-row span{color:#697b91;display:block;font-size:.88rem}.calendar-grid{display:grid;gap:6px;grid-template-columns:116px repeat(var(--days),minmax(112px,1fr));overflow-x:auto}.calendar-header,.room-label,.day-cell{border-radius:8px;min-height:58px;padding:10px}.calendar-header{background:#eaf1f8;color:#38526b;font-weight:800}.room-label{background:#17263b;color:#fff;display:grid}.room-label span{color:#a9bad1;font-size:.82rem}.day-cell{background:#edf8f2;color:#155f42;display:grid;gap:2px}.day-cell.reserved{background:#fff3cf;color:#7d5300}.day-cell.checked_in{background:#dff7ec;color:#0f6b47}.day-cell.maintenance{background:#ffe1dc;color:#9d3024}.day-cell span{font-size:.8rem}.room-grid,.product-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.room-card{display:grid;gap:10px;padding:16px}.room-card-head{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.room-card strong{font-size:1.1rem}.room-card p{color:#607388;margin:0}.room-card h3{margin:0}.room-card.selectable{cursor:pointer}.room-card.selected{border-color:#007d83;box-shadow:0 0 0 3px #007d8324}.room-visual{align-items:center;background:linear-gradient(135deg,#e8f6f1,#e9f1ff);border-radius:8px;color:#007d83;display:flex;justify-content:space-between;min-height:82px;padding:16px}.pos-layout{display:grid;gap:18px;grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr)}.product-tile{background:#fff;border:1px solid #dfe7f1;border-radius:8px;color:#1d2530;display:grid;gap:5px;min-height:126px;padding:14px;text-align:left}.product-tile:hover{border-color:#007d83}.product-tile span,.product-tile small{color:#697b91}.product-tile em{color:#007d83;font-style:normal;font-weight:850}.cart-list{display:grid;gap:10px;margin-bottom:14px}.stepper{align-items:center;display:flex;gap:6px}.stepper span{color:#1d2530;font-weight:800;min-width:24px;text-align:center}.total-line{align-items:center;border-top:1px solid #e5edf5;display:flex;justify-content:space-between;margin:16px 0;padding-top:14px}.bars{display:grid;gap:12px}.bar-row{align-items:center;display:grid;gap:10px;grid-template-columns:100px 1fr auto}.bar-row div{background:#e9eef6;border-radius:999px;height:12px;overflow:hidden}.bar-row i{background:linear-gradient(90deg,#007d83,#f5a524);display:block;height:100%}.auth-shell,.public-shell{min-height:100vh}.auth-shell{align-items:center;background:linear-gradient(135deg,#eef7f4,#f5f7fb 52%,#fff7e8);display:flex;justify-content:center;padding:24px}.auth-panel{background:#fff;border:1px solid #dfe7f1;border-radius:8px;box-shadow:0 20px 54px #1c2f4624;max-width:430px;padding:28px;width:100%}.auth-panel p{color:#61758c}.public-shell{background:#f3efe8;color:#18252b;min-height:100vh}.public-hero{background:linear-gradient(90deg,#081214e6,#081214b3 32%,#08121429 68%),linear-gradient(180deg,#0812142e,#081214b8),url(/assets/hotel-lobby-luxury.png);background-position:center;background-size:cover;color:#fff;display:grid;grid-template-rows:auto 1fr auto;min-height:min(760px,calc(100vh - 42px));padding:24px clamp(18px,4vw,54px) 26px;position:relative}.public-nav{align-items:center;display:flex;justify-content:space-between;gap:16px;position:relative;z-index:1}.public-links{align-items:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:999px;display:flex;gap:4px;padding:4px}.public-links a{border-radius:999px;color:#ffffffd1;font-size:.9rem;font-weight:750;padding:8px 12px;text-decoration:none}.public-links a:hover{background:#ffffff29;color:#fff}.public-brand{align-items:center;display:flex;gap:10px}.public-brand strong{display:block;letter-spacing:0}.public-brand span{color:#ffffffb8;display:block;font-size:.86rem}.nav-admin{background:#ffffff21;border:1px solid rgba(255,255,255,.25);border-radius:8px;color:#fff;min-height:40px;padding:10px 14px}.hero-stage{align-items:end;display:grid;gap:clamp(22px,5vw,58px);grid-template-columns:minmax(0,.95fr) minmax(360px,.42fr);margin:auto 0;position:relative;z-index:1}.hero-copy{max-width:760px;padding:46px 0}.hero-copy .eyebrow{color:#f8c56b}.hero-copy h1{font-size:clamp(3.1rem,8vw,7.4rem);line-height:.92;margin:0;max-width:780px}.hero-lead{color:#ffffffd6;font-size:clamp(1.02rem,1.7vw,1.28rem);line-height:1.65;margin:20px 0 0;max-width:620px}.hero-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.hero-points span{align-items:center;background:#ffffff21;border:1px solid rgba(255,255,255,.18);border-radius:999px;display:inline-flex;gap:8px;padding:9px 12px}.booking-dock{background:#fffffff2;border:1px solid rgba(255,255,255,.5);border-radius:8px;box-shadow:0 24px 70px #0000003d;color:#1d2530;display:grid;gap:12px;padding:18px;transform:translateY(0);transition:transform .18s ease,box-shadow .18s ease}.booking-dock:hover{box-shadow:0 30px 80px #0000004d;transform:translateY(-2px)}.dock-heading{border-bottom:1px solid #e4e0d6;display:grid;gap:4px;margin-bottom:2px;padding-bottom:12px}.dock-heading strong{font-size:1.22rem}.dock-heading span{color:#6f766f}.hero-glass-strip{align-items:center;background:#08121480;border:1px solid rgba(255,255,255,.16);border-radius:8px;display:grid;gap:0;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px;max-width:760px;overflow:hidden;position:relative;z-index:1}.hero-glass-strip div{display:grid;gap:3px;padding:15px 18px}.hero-glass-strip div+div{border-left:1px solid rgba(255,255,255,.14)}.hero-glass-strip strong{color:#f8c56b;font-size:1.18rem}.hero-glass-strip span{color:#ffffffc7;font-size:.86rem}.public-content{display:grid;gap:26px;margin:0 auto;max-width:1180px;padding:34px 20px 56px}.public-section{display:grid;gap:18px}.intro-band{align-items:end;grid-template-columns:minmax(0,.8fr) minmax(260px,.5fr)}.public-section h2,.closing-panel h2{font-size:clamp(1.8rem,3.5vw,3.35rem);line-height:1.02;margin:0}.public-section p,.closing-panel p{color:#5e665f;font-size:1.02rem;line-height:1.7;margin:0}.personality-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1.45fr) minmax(210px,.55fr)}.story-card{background:#fffaf1;border:1px solid #ddd3c3;border-radius:8px;box-shadow:0 18px 45px #2d231514;display:grid;overflow:hidden}.story-card.large{grid-row:span 2;grid-template-columns:minmax(0,.9fr) minmax(260px,.55fr)}.story-photo{min-height:420px}.courtyard-photo{background:url(/assets/hotel-courtyard-luxury.png) center / cover}.story-card>div:last-child{align-content:end;display:grid;gap:12px;padding:clamp(22px,4vw,38px)}.story-card h3{font-size:clamp(1.6rem,3vw,2.7rem);line-height:1.02;margin:0}.story-card p{color:#59645f;line-height:1.65;margin:0}.ritual-card{align-content:end;background:#d45b35;border-radius:8px;color:#fffaf1;display:grid;gap:10px;min-height:200px;padding:22px}.ritual-card.dark{background:#142528}.ritual-card svg{color:#f8c56b}.ritual-card strong{font-size:1.18rem}.ritual-card span{color:#fffaf1c7;line-height:1.55}.public-room-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.public-room-card{background:#fffaf1;border:1px solid #ddd3c3;border-radius:8px;box-shadow:0 18px 45px #2d231514;display:grid;min-height:420px;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.public-room-card:hover{border-color:#b9aa91;box-shadow:0 24px 54px #2d231524;transform:translateY(-4px)}.public-room-card:focus-visible{outline:3px solid rgba(0,125,131,.32);outline-offset:4px}.public-room-card.selected{border-color:#007d83;box-shadow:0 0 0 3px #007d8329,0 18px 45px #2d23151a}.public-room-media{align-items:start;border:0;background-size:210%;color:inherit;cursor:pointer;display:flex;justify-content:flex-end;min-height:230px;padding:14px;position:relative;text-align:left;width:100%}.public-room-media:after{background:linear-gradient(180deg,#0000001a,#0000004d);content:"";inset:0;position:absolute}.public-room-media .badge{position:relative;z-index:1}.public-room-media:hover:after{background:linear-gradient(180deg,#00000005,#0000002e)}.public-room-media:focus-visible{outline:3px solid rgba(0,125,131,.34);outline-offset:-3px}.public-room-body{display:grid;gap:14px;padding:18px}.public-room-body strong{display:block;font-size:1.18rem}.public-room-body span,.room-price span{color:#6f766f}.public-room-body p{color:#59645f;line-height:1.55;margin:0}.room-price{align-items:end;display:flex;justify-content:space-between;gap:12px}.room-price strong{color:#007d83;font-size:1.28rem}.room-select-button{align-items:center;background:#142528;border-radius:8px;color:#fffaf1;display:inline-flex;font-weight:850;justify-content:center;min-height:42px;padding:10px 14px;width:100%}.public-room-card:hover .room-select-button,.public-room-card.selected .room-select-button{background:#007d83}.recommendation-panel{background:#fffaf1;border:1px solid #ddd3c3;border-radius:8px;box-shadow:0 18px 45px #2d231514;display:grid;gap:18px;padding:clamp(18px,3vw,28px)}.recommendation-head{display:grid;gap:8px;max-width:780px}.recommendation-head h2{font-size:clamp(1.55rem,3vw,2.5rem);line-height:1.05;margin:0}.recommendation-head p:last-child{color:#59645f;line-height:1.65;margin:0}.recommendation-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.recommendation-card{background:#f3efe8;border:1px solid #d8cbb8;border-radius:8px;display:grid;gap:14px;padding:16px}.recommendation-card.selected{border-color:#007d83;box-shadow:0 0 0 3px #007d8324}.recommendation-card strong,.recommendation-card span{display:block}.recommendation-card>div:first-child span{color:#6f766f;margin-top:4px}.recommendation-card ul,.sheet-room-list{display:grid;gap:6px;list-style:none;margin:0;padding:0}.recommendation-card li{color:#59645f;font-size:.92rem}.experience-band{grid-template-columns:repeat(3,minmax(0,1fr))}.experience-band article{background:#142528;border-radius:8px;color:#fff;display:grid;gap:10px;min-height:174px;padding:20px}.experience-band svg{color:#f8c56b}.experience-band span{color:#ffffffb8;line-height:1.55}.mood-board{align-items:stretch;background:#efe3d2;border:1px solid #dccbb3;border-radius:8px;display:grid;gap:18px;grid-template-columns:minmax(0,.85fr) minmax(280px,.65fr);padding:clamp(22px,4vw,34px)}.mood-copy h2{font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.02;margin:0}.mood-list{align-content:center;display:grid;gap:10px}.mood-list span{align-items:center;background:#fffaf1b8;border:1px solid rgba(120,95,61,.18);border-radius:8px;display:flex;gap:10px;padding:12px 14px}.mood-list svg{color:#007d83;flex:0 0 auto}.closing-panel{align-items:center;background:linear-gradient(90deg,#142528eb,#142528b8),url(/assets/hotel-room-luxury.png);background-position:center 62%;background-size:cover;border-radius:8px;color:#fff;display:grid;gap:22px;grid-template-columns:minmax(0,.9fr) minmax(260px,.5fr);min-height:260px;padding:clamp(22px,4vw,42px)}.closing-panel .eyebrow{color:#f8c56b}.closing-panel p{color:#ffffffc7}.reservation-page{background:#f3efe8;color:#142528;min-height:100vh;padding:22px clamp(16px,4vw,42px) 56px}.detail-nav{align-items:center;display:flex;gap:16px;justify-content:space-between;margin:0 auto 20px;max-width:1180px}.detail-nav .public-brand span{color:#6f766f}.detail-links{background:#fffaf1;border-color:#ddd3c3}.detail-links a{color:#40564f}.detail-links a:hover{background:#efe3d2;color:#142528}.detail-nav-actions{align-items:center;display:flex;gap:10px}.detail-nav .nav-admin{background:#142528;border-color:#142528;color:#fffaf1}.back-button{align-items:center;background:#fffaf1;border:1px solid #ddd3c3;border-radius:8px;color:#142528;display:inline-flex;font-weight:800;gap:8px;min-height:42px;padding:10px 14px}.room-detail-hero,.room-detail-layout,.detail-empty{margin:0 auto;max-width:1180px}.room-detail-hero{display:grid;gap:18px}.detail-title{display:grid;gap:8px}.detail-title h1{font-size:clamp(2.2rem,5vw,4.5rem);letter-spacing:0;line-height:.98;margin:0}.detail-title p:last-child{color:#59645f;font-size:1.05rem;line-height:1.65;margin:0;max-width:760px}.detail-gallery{display:grid;gap:8px;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);min-height:440px}.gallery-main,.gallery-tile{border:0;background-position:center;background-size:cover;cursor:zoom-in;min-height:214px;overflow:hidden;padding:0;position:relative;text-align:left}.gallery-main{border-radius:8px 0 0 8px;grid-row:span 2}.gallery-tile{border-radius:0 8px 0 0}.gallery-tile.warm{border-radius:0 0 8px;background-position:center 62%}.gallery-zoom-trigger:after{background:linear-gradient(180deg,#00000005,#0000004d);content:"";inset:0;opacity:0;position:absolute;transition:opacity .18s ease}.gallery-zoom-trigger span{background:#fffaf1eb;border-radius:999px;bottom:14px;color:#142528;font-size:.86rem;font-weight:850;opacity:0;padding:8px 12px;position:absolute;right:14px;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease;z-index:1}.gallery-zoom-trigger:hover:after,.gallery-zoom-trigger:hover span,.gallery-zoom-trigger:focus-visible:after,.gallery-zoom-trigger:focus-visible span{opacity:1;transform:translateY(0)}.gallery-zoom-trigger:focus-visible{outline:3px solid rgba(0,125,131,.38);outline-offset:3px;z-index:1}.room-detail-layout{align-items:start;display:grid;gap:34px;grid-template-columns:minmax(0,1fr) minmax(340px,390px);padding-top:34px}.room-detail-main{display:grid;gap:30px}.detail-summary-row{border-bottom:1px solid #ddd3c3;border-top:1px solid #ddd3c3;display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));padding:18px 0}.detail-summary-row span{align-items:center;color:#40564f;display:flex;font-weight:750;gap:8px}.detail-summary-row svg,.amenity-list svg{color:#007d83;flex:0 0 auto}.detail-section{display:grid;gap:12px}.detail-section h2{font-size:clamp(1.4rem,2.4vw,2rem);margin:0}.detail-section p{color:#59645f;font-size:1rem;line-height:1.7;margin:0;max-width:760px}.detail-note{background:#fffaf1;border-left:4px solid #d45b35;border-radius:8px;padding:12px 14px}.lineup-grid,.amenity-list,.rules-grid{display:grid;gap:12px}.lineup-item{align-items:center;background:#fffaf1;border:1px solid #ddd3c3;border-radius:8px;display:flex;gap:14px;padding:14px}.lineup-item>span{color:#d45b35;font-weight:900}.lineup-item strong,.lineup-item small{display:block}.lineup-item small{color:#6f766f;margin-top:4px}.amenity-section{grid-template-columns:repeat(2,minmax(0,1fr))}.amenity-list span{align-items:center;display:flex;gap:10px;line-height:1.45}.muted-list svg{color:#9a5a44}.rules-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rules-grid div{background:#142528;border-radius:8px;color:#fffaf1;display:grid;gap:8px;padding:16px}.rules-grid span{color:#fffaf1b8;line-height:1.5}.booking-card{background:#fffaf1;border:1px solid #d8cbb8;border-radius:8px;box-shadow:0 22px 58px #2d231524;display:grid;gap:16px;padding:18px;position:sticky;top:18px}.booking-card-head,.price-breakdown span,.price-breakdown strong{align-items:center;display:flex;gap:12px;justify-content:space-between}.booking-card-head strong{display:block;font-size:1.55rem}.booking-card-head span,.price-breakdown span{color:#6f766f}.stay-controls,.detail-reserve-form{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.price-breakdown{border-bottom:1px solid #e1d6c8;border-top:1px solid #e1d6c8;display:grid;gap:10px;padding:14px 0}.price-breakdown b{color:#142528}.price-breakdown strong{color:#142528;font-size:1.08rem}.detail-empty{align-content:center;display:grid;gap:16px;min-height:55vh}.detail-empty h1{font-size:clamp(2rem,4vw,3.2rem);margin:0}.image-lightbox{align-items:center;background:#081214e0;cursor:zoom-out;display:flex;inset:0;justify-content:center;padding:clamp(16px,4vw,42px);position:fixed;z-index:50}.image-lightbox img{border-radius:8px;box-shadow:0 28px 90px #00000075;cursor:default;max-height:88vh;max-width:min(1180px,94vw);object-fit:contain}.lightbox-close{align-items:center;background:#fffaf1;border-radius:999px;color:#142528;display:inline-flex;height:44px;justify-content:center;position:fixed;right:clamp(18px,4vw,44px);top:clamp(18px,4vw,44px);width:44px;z-index:51}.reservation-sheet{background:#fffaf1;border:1px solid #ddd3c3;border-radius:8px;box-shadow:0 20px 50px #2d23151a;display:grid;gap:22px;grid-template-columns:minmax(230px,.34fr) minmax(0,1fr);padding:20px;scroll-margin-top:18px;animation:revealBooking .22s ease-out}.sheet-summary{background:#142528;border-radius:8px;color:#fff;display:grid;gap:10px;padding:20px}.sheet-summary>span{color:#f8c56b;font-size:.8rem;font-weight:800;text-transform:uppercase}.sheet-summary strong{font-size:1.4rem}.sheet-summary p,.sheet-summary small{color:#ffffffb8;margin:0}.sheet-summary b{color:#f8c56b;display:block;font-size:1.6rem;margin-top:4px}.sheet-room-list li{color:#ffffffc2;font-size:.9rem}.empty-state{background:#fffaf1;border:1px dashed #c9bfae;border-radius:8px;color:#59645f;grid-column:1 / -1;padding:22px}@keyframes revealBooking{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.loading{align-items:center;color:#53708f;display:flex;gap:10px;padding:32px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1040px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.sidebar nav{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.metric-grid,.metric-grid.three,.split,.pos-layout,.hero-stage,.intro-band,.personality-grid,.story-card.large,.experience-band,.mood-board,.closing-panel,.room-detail-layout,.detail-gallery,.detail-summary-row,.amenity-section,.rules-grid,.reservation-sheet{grid-template-columns:1fr}.booking-card{position:static}.gallery-main,.gallery-tile,.gallery-tile.warm{border-radius:8px}.public-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recommendation-grid{grid-template-columns:1fr}.form-grid.dense{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.workspace{padding:14px}.topbar,.public-nav,.detail-nav,.detail-nav-actions{align-items:stretch;flex-direction:column}.public-links{justify-content:space-between;width:100%}.public-links a{flex:1;text-align:center}.public-hero{min-height:auto;padding:18px 14px}.hero-copy{padding:24px 0 10px}.hero-copy h1{font-size:clamp(2.25rem,14vw,3.35rem)}.hero-lead{font-size:.96rem;line-height:1.45;margin-top:12px}.hero-points{display:none}.booking-dock{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px}.dock-heading,.booking-dock .primary{grid-column:1 / -1}.booking-dock label{min-width:0}.hero-glass-strip{display:none}.public-content{padding:24px 14px 40px}.reservation-page{padding:16px 14px 42px}.detail-gallery{min-height:0}.gallery-main,.gallery-tile{min-height:220px}.stay-controls,.detail-reserve-form,.public-room-grid{grid-template-columns:1fr}.recommendation-panel{padding:16px}.public-room-card{min-height:0}.public-room-media{min-height:210px}.story-photo{min-height:260px}.ritual-card{min-height:154px}.form-grid.dense{grid-template-columns:1fr}}
