:root{--cream: #faf7f2;--parchment: #f5f0e8;--paper: #fffdf9;--sand: #ebe3d6;--ink: #0d0d0d;--muted: #5c5a54;--gold: #c9a84c;--gold-dark: #8e6f12;--forest: #2d4a3e;--forest-dark: #10231c;--green-soft: #dbe9df;--red-soft: #ffe0dc;--amber-soft: #fff0ca;--shadow: 0 22px 70px rgb(13 13 13 / 8%);--deep-shadow: 0 28px 90px rgb(13 13 13 / 15%);color:var(--ink);background:var(--cream);font-family:Outfit,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--cream)}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3{margin:0;font-family:Cormorant Garamond,Georgia,serif;line-height:.96}em{color:var(--gold);font-style:italic;font-weight:500}.app{min-height:100vh}.navbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;min-height:92px;padding:20px clamp(24px,6vw,80px);background:#faf7f2b8;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.logo{border:0;background:transparent;color:var(--ink);font-family:Cormorant Garamond,Georgia,serif;font-size:34px;font-style:italic;font-weight:700}.logo span{color:var(--gold)}.nav-links{display:flex;align-items:center;gap:34px}.nav-links button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--forest-dark);font-family:Cormorant Garamond,Georgia,serif;font-size:20px;padding:4px 0}.nav-links button.active,.nav-links button:hover{color:var(--gold-dark);border-bottom-color:var(--gold)}.nav-actions{display:flex;align-items:center;gap:12px}.api-status{display:inline-flex;align-items:center;gap:9px;min-height:44px;border:1px solid rgb(201 168 76 / 22%);border-radius:6px;background:var(--paper);padding:7px 11px;color:var(--muted)}.api-status>span{width:9px;height:9px;border-radius:999px;background:var(--gold);box-shadow:0 0 0 4px #c9a84c24}.api-status.checking>span{animation:statusPulse 1.1s ease-in-out infinite}.api-status.data>span{background:#278048;box-shadow:0 0 0 4px #27804824}.api-status.empty>span{background:var(--gold)}.api-status.error>span{background:#d9822b;box-shadow:0 0 0 4px #d9822b24}.api-status.offline>span{background:#b83a30;box-shadow:0 0 0 4px #b83a3024}.api-status div{display:grid;gap:1px;min-width:0}.api-status strong,.api-status small{display:block;max-width:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.api-status strong{color:var(--forest);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.api-status small{color:var(--muted);font-size:10px}@keyframes statusPulse{0%,to{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.session-chip{display:inline-flex;align-items:center;gap:10px;min-height:44px;border:1px solid rgb(201 168 76 / 28%);border-radius:6px;background:var(--paper);padding:4px 6px 4px 4px}.session-chip span{display:grid;place-items:center;width:34px;height:34px;border-radius:6px;background:var(--forest);color:#fff;font-size:12px;font-weight:800;text-transform:uppercase}.session-chip small{max-width:110px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.session-chip button{border:0;background:transparent;color:var(--forest);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}button:disabled{cursor:not-allowed;opacity:.58;transform:none!important;box-shadow:none!important}.ink-button,.forest-button,.forest-small,.gold-button,.gold-solid,.outline-button,.soft-button,.menu-button,.back-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;border-radius:6px;border:0;padding:0 20px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.ink-button{background:var(--ink);color:#fff}.forest-button,.forest-small{background:radial-gradient(circle at top left,#416655,var(--forest));color:#fff}.forest-small{min-height:36px;padding:0 14px;font-size:10px}.gold-button,.gold-solid{background:var(--gold);color:#fff}.gold-button{min-width:58px;padding:0}.outline-button{border:1px solid rgb(201 168 76 / 55%);background:transparent;color:var(--gold-dark)}.soft-button,.back-link,.menu-button{background:var(--parchment);color:var(--forest)}.menu-button{display:none;width:44px;padding:0}.ink-button:hover,.forest-button:hover,.forest-small:hover,.gold-button:hover,.gold-solid:hover,.outline-button:hover,.soft-button:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.loading-strip{position:sticky;top:92px;z-index:45;padding:12px clamp(24px,6vw,80px);background:var(--forest);color:#fff;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.auth-page{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.82fr);min-height:calc(100vh - 92px);background:var(--cream)}.auth-visual{position:relative;overflow:hidden;min-height:760px;background:var(--forest)}.auth-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)}.auth-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#10231ce0,#10231c57),linear-gradient(to top,rgb(13 13 13 / 62%),transparent 58%)}.auth-visual-copy{position:absolute;z-index:1;left:clamp(24px,6vw,80px);right:clamp(24px,7vw,120px);bottom:86px;color:#fff}.auth-visual-copy h1{max-width:760px;margin-top:14px;font-size:clamp(54px,6.4vw,96px)}.auth-visual-copy p:not(.eyebrow){max-width:560px;color:#d6e2dc;font-size:17px;line-height:1.75}.auth-badge{position:absolute;z-index:1;top:52px;right:52px;display:inline-flex;align-items:center;gap:8px;border:1px solid rgb(255 255 255 / 20%);border-radius:999px;background:#ffffff29;color:#fff;padding:10px 14px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.auth-panel{display:flex;flex-direction:column;justify-content:center;gap:28px;padding:72px clamp(24px,6vw,80px)}.auth-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:min(100%,430px);border-radius:8px;background:var(--parchment);padding:6px}.auth-switch button{min-height:42px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.auth-switch button.active{background:var(--paper);color:var(--gold-dark);box-shadow:0 10px 24px #0d0d0d0f}.auth-form{display:grid;gap:20px;width:min(100%,520px)}.auth-form h2{margin-top:4px;font-size:clamp(44px,5vw,72px)}.auth-copy{margin:-4px 0 8px;color:var(--muted);line-height:1.75}.account-intent{display:grid;gap:10px}.account-intent>span{color:var(--gold-dark);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.account-intent>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.account-intent label{display:grid;gap:6px;min-height:118px;border:1px solid var(--line);border-radius:8px;padding:16px;background:#ffffff8c;color:var(--muted);cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.account-intent label.active{border-color:var(--gold);background:var(--paper);box-shadow:0 14px 32px #0d0d0d12}.account-intent input{accent-color:var(--forest)}.account-intent strong{color:var(--forest);font-size:14px}.account-intent small{line-height:1.45}.auth-submit{width:100%;margin-top:6px}.auth-footnote{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:12px;line-height:1.6}.auth-footnote svg{color:var(--gold-dark);flex:0 0 auto;margin-top:2px}.access-page{display:grid;min-height:calc(100vh - 92px);place-items:center;padding:72px clamp(24px,6vw,80px);background:var(--parchment)}.access-panel{display:grid;justify-items:center;max-width:680px;text-align:center}.access-panel>div{display:grid;place-items:center;width:72px;height:72px;margin-bottom:22px;border-radius:8px;background:var(--forest);color:#fff}.access-panel h1{margin:12px 0 18px;color:var(--forest-dark);font-size:clamp(46px,5.8vw,78px)}.access-panel p:not(.eyebrow){max-width:560px;margin:0 0 28px;color:var(--muted);font-size:17px;line-height:1.75}.eyebrow{margin:0;color:var(--gold-dark);font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.landing-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);min-height:calc(100vh - 92px)}.hero-copy{display:flex;flex-direction:column;justify-content:center;gap:30px;padding:72px clamp(24px,6vw,80px)}.hero-copy h1{max-width:760px;font-size:clamp(62px,7.4vw,118px)}.hero-copy>p:not(.eyebrow){max-width:570px;margin:0;color:var(--muted);font-size:18px;line-height:1.75}.searchbar{display:grid;grid-template-columns:minmax(180px,1.25fr) minmax(150px,1fr) minmax(150px,1fr) minmax(112px,.75fr) 58px;align-items:end;gap:8px;width:min(100%,1060px);padding:10px;border-radius:8px;background:var(--paper);box-shadow:0 12px 40px #0d0d0d0d;overflow:visible}.searchbar.compact{margin:0 auto 46px}.field{display:grid;gap:7px;min-width:0}.field>span,.filter-block>label,.request-box>span{padding-left:8px;color:var(--gold-dark);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.field>div{display:flex;align-items:center;gap:10px;min-width:0;min-height:54px;border:1px solid rgb(201 168 76 / 18%);border-radius:6px;background:var(--parchment);padding:0 14px;color:var(--gold-dark)}.field input,.field select{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink)}.field input[name=numberOfRooms]{min-width:48px;text-align:center}.field:focus-within>div,.request-box:focus-within textarea{border-color:var(--gold);box-shadow:0 0 0 2px #c9a84c1a}.stats-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;max-width:620px;padding-top:12px}.stat strong{display:block;color:var(--forest);font-family:Cormorant Garamond,Georgia,serif;font-size:34px}.stat span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.hero-visual{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:26px;overflow:hidden;background:var(--forest);padding:72px clamp(24px,6vw,80px)}.building-mark{position:absolute;right:-8%;bottom:8%;color:#ffffff0d;font-family:Cormorant Garamond,Georgia,serif;font-size:16vw;font-weight:700;pointer-events:none}.image-panel{position:relative;min-height:430px;overflow:hidden;border-radius:8px;box-shadow:var(--deep-shadow);background:var(--forest)}.image-panel.tall{min-height:590px}.image-panel img,.hotel-image img,.room-type-card img,.photo-mosaic img,.selection-card img,.booking-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.image-panel img{position:absolute;inset:0;object-position:center}.image-panel:hover img,.hotel-card:hover img,.room-type-card:hover img,.selection-card:hover img,.booking-card:hover img{transform:scale(1.05)}.image-panel:after,.room-type-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgb(16 35 28 / 86%),transparent 62%)}.image-panel div,.room-type-card div{position:absolute;z-index:1;left:28px;bottom:28px;color:#fff}.image-panel strong,.room-type-card h3{display:block;font-family:Cormorant Garamond,Georgia,serif;font-size:32px}.image-panel span,.room-type-card span{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.glass-rating{position:absolute;top:86px;right:84px;display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:10px 16px;color:#fff;background:#ffffff2e;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.section,.room-types,.testimonials,.search-page,.detail-page,.bookings-page{padding:104px clamp(24px,6vw,80px)}.section-header{margin-bottom:52px}.section-header h2,.results-head h1,.detail-header h1,.room-selection h2,.bookings-head h1,.admin-title h2{margin-top:10px;font-size:clamp(44px,5vw,72px)}.section-header.inverse h2{color:#fff}.featured-grid,.testimonial-grid,.results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.hotel-card{border-radius:8px;transition:transform .22s ease,box-shadow .22s ease}.hotel-card:hover{transform:translateY(-6px)}.hotel-card-skeleton,.hotel-card-skeleton:hover{transform:none}.hotel-image{position:relative;aspect-ratio:4 / 5;overflow:hidden;border-radius:8px;background:var(--sand)}.hotel-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgb(0 0 0 / 62%),transparent 58%)}.skeleton-box,.skeleton-line,.skeleton-pill,.skeleton-button{display:block;position:relative;overflow:hidden;background:linear-gradient(90deg,var(--sand),var(--paper),var(--sand));background-size:220% 100%;animation:skeletonSweep 1.25s ease-in-out infinite}.skeleton-box:after{display:none}.skeleton-line{height:14px;border-radius:999px;margin-bottom:14px}.skeleton-line.short{width:46%}.skeleton-line.title{width:78%;height:26px}.skeleton-line.heading{width:min(520px,70vw);height:44px}.skeleton-line.subheading{width:min(360px,52vw)}.skeleton-line.price{width:44%;height:28px;margin-bottom:0}.skeleton-pill{width:82px;height:31px;border-radius:999px}.skeleton-button{width:110px;height:44px;border-radius:6px}.filters-skeleton{display:grid;align-content:start;gap:22px}.membership-skeleton{width:100%;aspect-ratio:4 / 5;border-radius:8px;margin-top:8px}@keyframes skeletonSweep{0%{background-position:120% 0}to{background-position:-120% 0}}.availability,.wish,.city-badge{position:absolute;z-index:1}.availability{left:16px;bottom:16px;border-radius:999px;padding:8px 12px;background:#c9a84ce0;color:#fff;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.wish{top:16px;right:16px;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:999px;color:#fff;background:#ffffff2e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hotel-body{padding:24px 0 0}.pin{display:flex;align-items:center;gap:6px;margin:0 0 10px;color:var(--muted);font-size:13px}.hotel-title-line,.price-action,.results-head,.detail-header,.admin-title,.table-head,.booking-top,.booking-bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.hotel-title-line h3{font-size:30px}.rating,.stars{display:inline-flex;align-items:center;gap:4px;color:var(--gold-dark);font-size:13px;font-weight:800}.pill-row,.amenity-row,.room-features{display:flex;flex-wrap:wrap;gap:10px}.pill-row{margin:18px 0 24px}.pill-row span,.amenity-row span{border-radius:999px;padding:8px 12px;color:var(--muted);background:var(--parchment);font-size:11px;font-weight:800;text-transform:uppercase}.price-action p,.selection-title p,.booking-bottom strong{margin:0;color:var(--gold-dark);font-family:Cormorant Garamond,Georgia,serif;font-size:28px;font-weight:700}.price-action span,.selection-title span,.room-type-card p{color:var(--muted);font-family:Outfit,sans-serif;font-size:12px}.how{position:relative;overflow:hidden;padding:112px clamp(24px,6vw,80px);background:var(--ink)}.watermark{position:absolute;inset:auto 0 20px;color:#ffffff0a;font-family:Cormorant Garamond,Georgia,serif;font-size:24vw;font-weight:700;text-align:center;pointer-events:none}.steps-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px}.steps-grid article{color:#fff}.steps-grid article>span{color:var(--gold);font-family:Cormorant Garamond,Georgia,serif;font-size:50px;font-style:italic;opacity:.7}.steps-grid article>div{display:grid;place-items:center;width:52px;height:52px;margin:20px 0;border-radius:8px;color:var(--gold);background:#ffffff14}.steps-grid h3{font-size:26px}.steps-grid p{color:#cfd7d2;line-height:1.7}.room-types,.testimonials{background:var(--parchment)}.room-types-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:40px}.tabs{display:flex;flex-wrap:wrap;gap:8px;border-radius:999px;padding:6px;background:var(--paper)}.tabs button{border:0;border-radius:999px;background:transparent;padding:10px 22px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.tabs button.active{background:var(--forest);color:#fff}.asymmetric-grid{display:grid;grid-template-columns:1.35fr .9fr;grid-template-rows:repeat(2,minmax(260px,1fr));gap:28px;min-height:720px}.room-type-card{position:relative;overflow:hidden;border-radius:8px}.room-type-card.large{grid-row:1 / span 2}.room-type-card h3{max-width:420px;font-size:44px}.testimonial-grid article{position:relative;min-height:320px;border-radius:8px;background:var(--paper);padding:44px;transition:transform .22s ease,box-shadow .22s ease}.testimonial-grid article:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.quote-mark{position:absolute;top:16px;left:24px;color:#c9a84c4d;font-family:Cormorant Garamond,Georgia,serif;font-size:84px}.testimonial-grid p{position:relative;z-index:1;color:var(--ink);font-family:Cormorant Garamond,Georgia,serif;font-size:24px;font-style:italic;line-height:1.35}.author{display:flex;align-items:center;gap:14px;margin-top:28px}.author img{width:46px;height:46px;border-radius:50%;object-fit:cover}.author strong,.author span{display:block}.author span{color:var(--gold-dark);font-size:11px;font-weight:800;text-transform:uppercase}.search-page{max-width:1480px;margin:0 auto}.search-layout{display:grid;grid-template-columns:300px 1fr;gap:48px}.filters{align-self:start;border-radius:8px;background:var(--parchment);padding:30px}.filters h3{margin-bottom:26px;color:var(--forest);font-size:28px}.filter-block{display:grid;gap:14px;margin-bottom:28px}.filter-block select{width:100%}.filter-block select{border:1px solid rgb(201 168 76 / 20%);border-radius:6px;background:var(--paper);padding:12px}.check-line,.check-line span{display:flex;align-items:center;gap:10px}.check-line{color:var(--muted);font-size:14px}.results-head{align-items:flex-end;margin-bottom:32px}.results-head h1{font-size:44px}.results-head p{margin:8px 0 0;color:var(--muted)}.sort-control{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.sort-control select{border:0;background:transparent;color:var(--forest);font-weight:800}.pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:58px}.pagination button{display:inline-grid;place-items:center;border:1px solid rgb(201 168 76 / 28%);border-radius:6px;background:var(--paper);color:var(--forest);font-size:14px;font-weight:800;min-width:42px;min-height:42px;cursor:pointer}.pagination button.active{background:var(--forest);border-color:var(--forest);color:#fff}.pagination button:disabled{cursor:not-allowed;opacity:.35}.pagination span{color:var(--muted);font-weight:800}.empty-results{display:grid;justify-items:center;gap:12px;margin-top:34px;border:1px solid rgb(201 168 76 / 24%);border-radius:8px;background:var(--paper);padding:42px 24px;color:var(--muted);text-align:center}.empty-results svg{color:var(--gold-dark)}.empty-results h2{color:var(--forest);font-size:34px}.empty-results p{max-width:520px;margin:0;line-height:1.65}.detail-page{max-width:1480px;margin:0 auto}.back-link{margin-bottom:32px}.detail-header{align-items:flex-end;margin-bottom:42px}.detail-header h1{color:var(--forest);font-size:clamp(58px,7vw,92px)}.detail-header p,.booking-top p{display:inline-flex;align-items:center;gap:7px;margin:8px 0 0;color:var(--gold-dark);font-weight:700}.detail-rating{text-align:right}.detail-rating span{display:block;margin-bottom:8px;color:var(--muted)}.detail-rating div{display:flex;color:var(--gold)}.photo-mosaic{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:repeat(2,280px);gap:16px;margin-bottom:46px}.photo-mosaic>img,.photo-mosaic>div,.more-photos{overflow:hidden;border-radius:8px}.photo-mosaic .main{grid-row:1 / span 2}.photo-mosaic>div{display:grid;grid-template-columns:1fr 1fr;gap:16px}.more-photos{position:relative}.more-photos:after{content:"";position:absolute;inset:0;background:#2d4a3e7a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.more-photos span{position:absolute;z-index:1;inset:0;display:grid;place-items:center;color:#fff;font-family:Cormorant Garamond,Georgia,serif;font-size:26px;font-style:italic}.amenity-row{margin-bottom:58px}.amenity-row span{display:inline-flex;align-items:center;gap:8px;padding:14px 22px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:start}.room-selection{display:grid;gap:34px}.room-selection h2{color:var(--forest);font-size:52px}.role-callout{display:flex;align-items:center;gap:12px;border:1px solid rgb(201 168 76 / 32%);border-radius:8px;background:var(--amber-soft);color:var(--gold-dark);padding:16px 18px;font-size:13px;font-weight:800;line-height:1.45}.role-callout svg{flex:0 0 auto}.selection-card{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1fr);overflow:hidden;border-radius:8px;background:var(--paper)}.selection-card.featured{box-shadow:0 0 0 1px #c9a84c59,var(--shadow)}.selection-card>img{height:340px}.selection-card>div{display:flex;flex-direction:column;justify-content:space-between;padding:34px}.selection-title{display:flex;justify-content:space-between;gap:20px}.selection-title h3{color:var(--ink);font-size:34px}.exclusive{display:inline-block;margin-bottom:8px;border-radius:4px;background:var(--amber-soft);color:var(--gold-dark);padding:5px 8px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.room-desc{color:var(--muted);line-height:1.65}.room-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:24px}.room-features span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.reservation-summary{position:sticky;top:120px;border-radius:8px;background:var(--forest);color:#fff;padding:34px;box-shadow:var(--deep-shadow)}.reservation-summary h3,.price-panel h3{padding-bottom:20px;margin-bottom:28px;border-bottom:1px solid rgb(255 255 255 / 12%);font-size:30px}.reservation-summary div{display:grid;gap:6px;margin-bottom:22px}.reservation-summary span,.price-panel span{color:#fff9;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.summary-total strong,.checkout-total strong{color:var(--gold);font-family:Cormorant Garamond,Georgia,serif;font-size:36px}.reservation-summary p,.price-panel p{color:#ffffff9e;font-size:12px;text-align:center}.checkout-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:28px}.confirm-overlay{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:28px}.checkout-backdrop{position:absolute;inset:0;background:#2d4a3e47;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.checkout-modal{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 430px;width:min(1180px,100%);max-height:calc(100vh - 56px);overflow:auto;border-radius:8px;background:var(--paper);box-shadow:var(--deep-shadow)}.confirm-dialog{position:relative;width:min(480px,100%);border-radius:8px;background:var(--paper);box-shadow:var(--deep-shadow);padding:42px}.confirm-kicker{color:var(--gold-dark);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.confirm-dialog h2{margin-top:10px;color:var(--forest);font-size:42px}.confirm-dialog p{margin-top:14px;color:var(--muted);line-height:1.65}.confirm-summary{margin:24px 0;border:1px solid rgb(201 168 76 / 18%);border-radius:8px;background:var(--parchment);padding:16px}.confirm-summary span,.confirm-summary strong{display:block}.confirm-summary span{color:var(--forest);font-weight:800}.confirm-summary strong{margin-top:6px;color:var(--gold-dark);font-size:13px}.confirm-actions{display:flex;justify-content:flex-end;gap:12px}.modal-close{position:absolute;top:22px;right:22px;z-index:1;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:999px;background:#ffffff2e;color:var(--ink)}.checkout-form{padding:64px}.checkout-form h2{margin:8px 0 40px;font-size:52px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.request-box{display:grid;gap:10px;margin-top:28px}.request-box textarea{min-height:128px;resize:vertical;border:1px solid rgb(201 168 76 / 18%);border-radius:6px;background:var(--parchment);padding:16px;outline:0}.guest-manifest{display:grid;gap:14px;margin-top:28px;max-height:340px;overflow:auto;border:1px solid rgb(201 168 76 / 18%);border-radius:8px;background:#f5f0e7b8;padding:16px}.guest-manifest-head{position:sticky;top:-16px;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-16px -16px 0;border-bottom:1px solid rgb(201 168 76 / 16%);background:var(--paper);padding:14px 16px}.guest-manifest-head span{color:var(--gold-dark);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.guest-manifest-head small{color:var(--muted);font-size:11px;font-weight:700}.guest-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border-radius:8px;background:var(--paper);padding:12px;box-shadow:0 8px 24px #0d0d0d0a}.guest-row input,.guest-row select{min-width:0;border:1px solid rgb(201 168 76 / 18%);border-radius:6px;background:var(--parchment);padding:13px 12px;outline:0}.guest-row input:focus,.guest-row select:focus,.request-box textarea:focus{border-color:var(--gold);box-shadow:0 0 0 2px #c9a84c1a}.form-error{margin:12px 0 0;color:#a43025;font-size:13px;font-weight:700}.secure-line{display:flex;align-items:center;gap:8px;margin-top:26px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.price-panel{display:flex;flex-direction:column;justify-content:space-between;background:var(--forest);color:#fff;padding:64px 46px}.price-line{display:flex;justify-content:space-between;gap:18px;margin-bottom:24px}.price-line strong{font-family:Cormorant Garamond,Georgia,serif;font-size:22px}.price-line.muted strong,.price-line.muted span{color:#cad8cf}.checkout-total{display:flex;justify-content:space-between;align-items:end;margin:auto 0 34px}.bookings-page{max-width:1280px;margin:0 auto}.bookings-head h1{color:var(--forest)}.bookings-head p{max-width:620px;color:var(--muted);font-size:18px;line-height:1.7}.booking-tabs{display:flex;gap:42px;margin:52px 0 34px;border-bottom:1px solid rgb(201 168 76 / 20%)}.booking-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:0 0 16px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.booking-tabs button.active{color:var(--gold-dark);border-bottom-color:var(--gold)}.booking-list{display:grid;gap:28px}.empty-bookings{border:1px solid rgb(201 168 76 / 18%);border-radius:8px;padding:38px;background:var(--paper)}.empty-bookings h3{color:var(--forest);font-size:34px}.empty-bookings p{margin-top:8px;color:var(--muted)}.booking-card{display:grid;grid-template-columns:320px minmax(0,1fr);overflow:hidden;border-radius:8px;background:var(--paper);transition:transform .22s ease,box-shadow .22s ease}.booking-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.booking-card>img{height:100%;min-height:260px}.booking-card>div{padding:34px}.booking-top h2{color:var(--forest);font-size:40px}.status{border-radius:999px;padding:8px 12px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.status.confirmed,.status.guests_added{background:#dff4e5;color:#206b37}.status.reserved,.status.pending{background:var(--amber-soft);color:#8a6500}.status.cancelled{background:var(--red-soft);color:#a43025}.booking-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:34px 0}.booking-meta span,.booking-bottom span{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.booking-meta strong{color:var(--forest)}.booking-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding-top:24px;background-image:linear-gradient(#c9a84c33,#c9a84c33);background-size:100% 1px;background-repeat:no-repeat}.booking-actions{display:inline-flex;align-items:center;gap:16px}.danger-button{border:1px solid rgb(164 48 37 / 22%);border-radius:6px;background:var(--red-soft);color:#a43025;min-height:38px;padding:0 14px;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.danger-button.solid{border-color:#a43025;background:#a43025;color:#fff}.escape-card{position:relative;display:grid;place-items:center;gap:16px;margin-top:44px;overflow:hidden;border-radius:8px;background:var(--parchment);padding:72px 24px;text-align:center}.escape-card h3{color:var(--forest);font-size:34px}.escape-card p{max-width:480px;color:var(--muted)}.admin-shell{min-height:calc(100vh - 92px);padding:36px clamp(18px,4vw,54px);background:var(--parchment)}.admin-window{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:820px;overflow:hidden;border-radius:8px;background:var(--paper);box-shadow:var(--deep-shadow)}.admin-sidebar{display:flex;flex-direction:column;background:var(--forest-dark);color:#fff;padding:28px 0}.dots{display:flex;gap:8px;padding:0 26px;margin-bottom:34px}.dots span{width:12px;height:12px;border-radius:50%;background:#ff5f56}.dots span:nth-child(2){background:#ffbd2e}.dots span:nth-child(3){background:#27c93f}.admin-sidebar h1{padding:0 32px;color:var(--gold);font-size:34px;font-style:italic}.admin-sidebar>p{padding:0 32px;margin:4px 0 34px;color:#ffffff8c;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.admin-sidebar button{display:flex;align-items:center;gap:14px;width:100%;min-height:48px;border:0;border-right:4px solid transparent;background:transparent;color:#ffffff9e;padding:0 32px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.admin-sidebar button.active,.admin-sidebar button:hover{border-right-color:var(--gold);background:#ffffff0f;color:var(--gold)}.manager-profile{margin-top:auto;padding:28px 32px 0}.manager-profile div{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#ffffff1a;color:var(--gold);font-weight:800}.manager-profile span,.manager-profile small{display:block}.manager-profile span{margin-top:10px;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.manager-profile small{color:#ffffff6b}.admin-main{min-width:0;background:var(--cream);overflow:auto}.admin-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;min-height:82px;padding:0 34px;background:#fffdf9d1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.admin-search{display:flex;align-items:center;gap:12px;width:min(440px,100%);border-radius:999px;background:var(--parchment);padding:0 16px;min-height:44px;color:var(--muted)}.admin-search input{width:100%;border:0;outline:0;background:transparent}.admin-hotel-picker{display:flex;align-items:center;gap:12px;width:min(520px,100%);min-height:44px;border-radius:999px;background:var(--parchment);color:var(--muted);padding:0 16px}.admin-hotel-picker select{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--forest);font-weight:800}.admin-actions{display:flex;align-items:center;gap:18px}.admin-actions button{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:8px;background:var(--parchment);color:var(--forest)}.admin-actions span{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:var(--green-soft);color:var(--forest);font-weight:800}.admin-content{padding:38px}.admin-loading,.admin-notice{margin:18px 38px 0;border-radius:8px;padding:12px 16px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.admin-loading{background:var(--forest);color:#fff}.admin-notice{border-left:4px solid var(--gold);background:var(--paper);color:var(--forest)}.admin-title{align-items:flex-end;margin-bottom:30px}.admin-title h2{color:var(--forest);font-size:46px}.admin-title p{color:var(--muted)}.admin-title>div:last-child{display:flex;gap:10px}.admin-form,.booking-filter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:28px;border-radius:8px;background:var(--paper);padding:24px}.booking-filter-row{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-form .forest-button,.admin-form .soft-button{width:100%}.inventory-title{margin-top:34px}.inventory-form{margin-bottom:0}.admin-wide{display:grid;gap:8px;grid-column:1 / -1}.admin-wide span{color:var(--gold-dark);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.admin-wide textarea{min-height:86px;resize:vertical;border:1px solid rgb(201 168 76 / 18%);border-radius:6px;outline:0;background:var(--parchment);padding:14px}.stat-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:34px}.admin-stat{border-radius:8px;background:var(--paper);padding:24px;transition:transform .22s ease}.admin-stat:hover{transform:scale(1.02)}.admin-stat.dark{background:var(--forest);color:#fff}.admin-stat div{display:flex;align-items:center;justify-content:space-between}.admin-stat div span{color:#278048;font-size:12px;font-weight:800}.admin-stat.dark div span{color:var(--gold)}.admin-stat p{margin:22px 0 4px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.admin-stat.dark p{color:#cad8cf}.admin-stat strong{font-family:Cormorant Garamond,Georgia,serif;font-size:42px}.admin-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:26px}.table-card,.revenue-card,.admin-list{overflow:hidden;border-radius:8px;background:var(--paper)}.table-head{padding:28px;background:var(--paper)}.table-head h3{color:var(--forest);font-size:28px}.table-head button{border:0;background:transparent;color:var(--gold-dark);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}table{width:100%;border-collapse:collapse}th{background:var(--parchment);color:var(--muted);font-size:10px;letter-spacing:.12em;padding:14px 24px;text-align:left;text-transform:uppercase}td{padding:18px 24px;color:var(--muted);font-size:13px}td:first-child,td:nth-child(2){display:flex;align-items:center;gap:12px}td strong,td small{display:block}td strong{color:var(--ink)}td:last-child{color:var(--gold-dark);font-family:Cormorant Garamond,Georgia,serif;font-size:19px;font-weight:700;text-align:right}.avatar{display:grid;place-items:center;min-width:34px;height:34px;border-radius:50%;background:var(--parchment);color:var(--forest);font-size:10px;font-weight:800}.revenue-card{position:relative;overflow:hidden;min-height:320px;background:radial-gradient(circle at top left,#3e6c58,var(--forest));color:#fff;padding:30px}.revenue-card p{margin:0;color:#cad8cf;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.revenue-card h3{margin-top:8px;font-size:34px}.bars{position:absolute;left:30px;right:30px;bottom:30px;display:flex;align-items:flex-end;gap:10px;height:150px}.bars span{flex:1;border-radius:4px 4px 0 0;background:#ffffff2e}.bars span.gold{background:var(--gold)}.admin-list{display:grid;gap:1px;background:var(--parchment)}.admin-list article{display:flex;align-items:center;justify-content:space-between;padding:24px;background:var(--paper)}.admin-list article>span{display:grid;gap:4px;color:var(--forest)}.admin-list article>span strong{color:var(--forest)}.admin-list article>span small{color:var(--muted)}.admin-list button{border:0;border-radius:6px;background:var(--parchment);color:var(--forest);width:38px;height:38px;margin-left:8px}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.admin-notice.inline{margin:0 0 24px}.toast{position:fixed;right:28px;bottom:28px;z-index:120;max-width:360px;border-left:4px solid var(--gold);border-radius:8px;background:var(--ink);color:#fff;padding:18px 22px;box-shadow:var(--deep-shadow);animation:toastIn .26s ease both}@keyframes toastIn{0%{opacity:0;transform:translate(20px,20px)}to{opacity:1;transform:translate(0)}}.footer{display:grid;grid-template-columns:1.2fr repeat(2,1fr);gap:42px;padding:82px clamp(24px,6vw,80px);background:var(--forest-dark);color:#d7e5dd}.footer h2{color:var(--gold);font-size:40px;font-style:italic}.footer h3{margin-bottom:20px;color:var(--gold);font-size:18px}.footer p{max-width:390px;color:#ffffffad;line-height:1.7}.footer button{display:block;width:fit-content;border:0;margin-bottom:12px;padding:0;background:transparent;color:#ffffffad;font:inherit;text-decoration:none;cursor:pointer}.footer button:hover{color:var(--gold)}@media(max-width:1160px){.landing-hero,.auth-page,.search-layout,.detail-layout,.checkout-modal,.admin-window,.admin-grid{grid-template-columns:1fr}.hero-visual{min-height:720px}.auth-visual{min-height:620px}.searchbar,.searchbar.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.gold-button{width:100%;grid-column:1 / -1}.featured-grid,.testimonial-grid,.results-grid,.steps-grid,.stat-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-summary{position:static}}@media(max-width:1320px){.landing-hero .searchbar{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-hero .gold-button{width:100%;grid-column:1 / -1}}@media(max-width:760px){.navbar{min-height:78px}.menu-button{display:inline-flex}.ink-button{display:none}.nav-links{position:absolute;top:78px;left:0;right:0;display:none;flex-direction:column;align-items:flex-start;padding:24px;background:var(--cream)}.nav-links.open{display:flex}.hero-visual,.auth-page,.searchbar,.account-intent>div,.featured-grid,.testimonial-grid,.results-grid,.steps-grid,.asymmetric-grid,.room-types-head,.photo-mosaic,.photo-mosaic>div,.selection-card,.booking-card,.booking-meta,.form-grid,.guest-row,.stat-cards,.footer{grid-template-columns:1fr}.hero-copy h1{font-size:58px}.hero-visual{min-height:auto}.auth-visual{min-height:560px}.auth-panel{padding-top:56px;padding-bottom:72px}.auth-badge{top:24px;right:24px}.session-chip{min-height:40px}.guest-manifest-head{align-items:flex-start;flex-direction:column;gap:4px}.api-status{min-height:40px;padding:0 10px}.api-status div,.session-chip button,.auth-nav{display:none}.image-panel,.image-panel.tall{min-height:390px}.section,.room-types,.testimonials,.search-page,.detail-page,.bookings-page{padding-top:72px;padding-bottom:72px}.room-type-card.large{grid-row:auto}.photo-mosaic{grid-template-rows:auto}.photo-mosaic .main,.photo-mosaic img{height:280px}.selection-card>img,.booking-card>img{height:280px}.checkout-form,.price-panel{padding:36px 24px}.admin-sidebar{min-height:auto}.admin-form,.booking-filter-row,.report-grid{grid-template-columns:1fr}}
