:root{--ink:#211f1b;--muted:#726c62;--paper:#f5f0e7;--white:#fff;--wine:#991d31;--wine-dark:#651321;--gold:#c6a15b;--line:#ded6c8;--green:#2b7253;--shadow:0 22px 60px rgba(45,31,22,.12);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{height:88px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:#111;position:relative;z-index:20}.brand{display:flex;gap:14px;align-items:center;color:#fff}.brand img{width:68px;height:60px;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:1.2}.brand small{color:#d9bd86;letter-spacing:.16em;text-transform:uppercase;font-size:.65rem;margin-top:5px}.admin-link{color:#fff;border:1px solid #595959;padding:9px 15px;border-radius:999px;font-size:.8rem}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.72rem;font-weight:800;color:var(--wine)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,"Times New Roman",serif;line-height:1.08}h1{font-size:clamp(2.7rem,6vw,6.2rem);letter-spacing:-.04em}h2{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.035em}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--wine);color:#fff;padding:13px 22px;border:0;border-radius:999px;font-weight:800;cursor:pointer}.button:hover{background:var(--wine-dark)}.button-secondary{background:#29251f}.button-danger{background:#a52a2a}.button-block{width:100%}.platform-hero{min-height:630px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;padding:clamp(45px,8vw,120px);background:radial-gradient(circle at 80% 10%,#caa869 0,transparent 29%),linear-gradient(135deg,#fffaf0 0,#e8ddca 100%);overflow:hidden}.hero-copy{max-width:800px}.hero-copy p{max-width:600px;font-size:1.15rem;color:var(--muted);margin-bottom:30px}.hero-mark{justify-self:center;width:min(340px,80%);aspect-ratio:1;background:#111;border-radius:50%;display:grid;place-items:center;box-shadow:var(--shadow);position:relative}.hero-mark:after{content:"";position:absolute;inset:-16px;border:1px solid #b68c48;border-radius:50%}.hero-mark img{width:74%}.section{padding:clamp(60px,8vw,110px) clamp(20px,5vw,76px)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.section-heading h2{margin:.2rem 0 0}.section-heading>p{color:var(--muted)}.card-grid{display:grid;gap:28px}.hotel-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr))}.outlet-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.property-card,.outlet-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 32px rgba(45,31,22,.08);border:1px solid rgba(90,70,40,.08)}.card-image{display:block;position:relative;aspect-ratio:16/9;overflow:hidden}.card-image>img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.property-card:hover .card-image>img,.outlet-card:hover .card-image>img{transform:scale(1.035)}.logo-tile{position:absolute;bottom:18px;left:18px;background:#fff;padding:10px;border-radius:12px;box-shadow:0 8px 24px #0003}.logo-tile img{width:74px;height:54px;object-fit:contain}.card-body{padding:28px}.card-body h3{font:700 1.65rem/1.2 Georgia,serif;margin:.4rem 0 .7rem}.card-body>p{color:var(--muted);min-height:3em}.card-footer{border-top:1px solid var(--line);padding-top:18px;margin-top:22px;display:flex;justify-content:space-between;gap:18px;font-size:.86rem}.text-link{color:var(--wine);font-weight:800}.breadcrumbs{padding:22px clamp(20px,5vw,76px);display:flex;gap:11px;align-items:center;font-size:.85rem;color:var(--muted);background:#fff}.breadcrumbs a{color:var(--wine);font-weight:700}.hotel-hero,.menu-hero{position:relative;background-image:var(--hero-image);background-size:cover;background-position:center;min-height:650px;display:flex;align-items:end}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,12,10,.88),rgba(13,12,10,.25)),linear-gradient(0deg,rgba(13,12,10,.75),transparent 60%)}.hotel-hero-copy,.menu-hero-copy{position:relative;color:#fff;max-width:820px;padding:clamp(40px,7vw,90px) clamp(20px,6vw,90px)}.hotel-hero-copy h1,.menu-hero-copy h1{font-size:clamp(3rem,6vw,6rem);margin:.35rem 0 1rem}.hotel-hero-copy .eyebrow,.menu-hero-copy .eyebrow{color:#dfbd78}.hotel-hero-copy p,.menu-hero-copy p{font-size:1.08rem;color:#eee}.hotel-logo,.outlet-logo{width:110px;max-height:82px;object-fit:contain;background:#fff;border-radius:14px;padding:10px;margin-bottom:25px}.contact-row,.menu-meta{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:25px}.contact-row a,.menu-meta>*{color:#fff;border-bottom:1px solid #ffffff70}.outlet-meta{margin:20px 0}.outlet-meta div{display:grid;grid-template-columns:70px 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.outlet-meta dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.outlet-meta dd{margin:0}.menu-hero{min-height:560px}.category-nav{position:sticky;top:0;z-index:10;display:flex;gap:8px;overflow:auto;padding:13px clamp(20px,5vw,76px);background:#fff;border-bottom:1px solid var(--line);box-shadow:0 8px 20px #0000000a}.category-nav a{white-space:nowrap;border:1px solid var(--line);padding:8px 15px;border-radius:999px;font-size:.82rem;font-weight:700}.category-nav a:hover{border-color:var(--wine);color:var(--wine)}.menu-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:55px;padding:clamp(50px,7vw,90px) clamp(20px,5vw,76px);max-width:1500px;margin:auto}.menu-category{scroll-margin-top:80px;margin-bottom:75px}.category-heading{border-bottom:2px solid var(--ink);padding-bottom:18px;margin-bottom:8px;display:flex;align-items:end;justify-content:space-between;gap:25px}.category-heading h2{font-size:clamp(2.2rem,4vw,3.3rem);margin:.25rem 0 0}.category-heading p{max-width:440px;color:var(--muted)}.menu-item{display:flex;gap:20px;padding:23px 0;border-bottom:1px solid var(--line)}.menu-item>img{width:110px;height:90px;object-fit:cover;border-radius:14px}.menu-item-copy{flex:1}.item-heading{display:flex;justify-content:space-between;gap:20px}.item-heading h3{font-size:1.08rem;margin:0}.item-heading strong{white-space:nowrap;color:var(--wine)}.menu-item p{color:var(--muted);margin:8px 0 0}.menu-item small{display:block;color:var(--green);font-weight:700;margin-top:7px}.menu-aside{align-self:start;position:sticky;top:85px}.notice-card,.back-card,.other-outlets{display:block;background:#fff;padding:24px;border-radius:18px;margin-bottom:18px;border:1px solid var(--line)}.notice-card p{color:var(--muted);font-size:.9rem}.back-card{background:var(--wine);color:#fff}.back-card span,.back-card strong{display:block}.back-card strong{font:700 1.35rem Georgia,serif;margin:5px 0 15px}.other-outlets a{display:block;padding:10px 0;border-top:1px solid var(--line);color:var(--wine);font-weight:700}.empty-panel,.empty-state{background:#fff;border-radius:var(--radius);padding:clamp(35px,6vw,80px);text-align:center}.empty-state{max-width:760px;margin:9vh auto}.site-footer{background:#111;color:#fff;padding:50px clamp(20px,5vw,76px);display:flex;align-items:end;justify-content:space-between;gap:30px}.site-footer img{width:100px}.site-footer p{color:#aaa;margin:12px 0 0}
/* Admin */.admin-site{background:#f4f1eb}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#171613;color:#fff;padding:24px 18px;display:flex;flex-direction:column;z-index:50}.admin-brand{display:flex;align-items:center;gap:12px;padding:0 10px 25px;border-bottom:1px solid #393630;font-weight:800}.admin-brand img{width:62px;height:45px;object-fit:contain}.sidebar nav{padding-top:20px}.sidebar nav a{display:block;padding:11px 13px;border-radius:10px;color:#d5d0c7;margin:3px 0}.sidebar nav a:hover{background:#2b2823;color:#fff}.sidebar-public{margin-top:auto;padding:12px;border:1px solid #49453e;border-radius:10px;text-align:center}.admin-shell{margin-left:250px;min-height:100vh}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px 34px;background:#fff;border-bottom:1px solid var(--line)}.admin-top h1{font:700 1.85rem/1.2 Georgia,serif;margin:2px 0}.user-chip{display:grid;grid-template-columns:auto auto;column-gap:12px;font-size:.8rem;text-align:right}.user-chip span{color:var(--muted);text-transform:capitalize}.user-chip a{grid-column:2;color:var(--wine)}.nav-toggle{display:none}.context-bar{background:#fff;padding:15px 34px;display:flex;gap:16px;align-items:end;border-bottom:1px solid var(--line)}.context-bar label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.context-bar select{display:block;min-width:210px;margin-top:5px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}.context-status{margin-left:auto;color:var(--muted);font-size:.82rem}.admin-content{padding:30px 34px}.flash{padding:14px 17px;border-radius:10px;margin-bottom:18px;background:#e5f6ec;color:#195839}.flash.error{background:#fbe8e8;color:#8d2020}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.toolbar h2{font:700 1.8rem Georgia,serif;margin:0}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:30px}.stat-card{background:#fff;padding:22px;border-radius:16px;border:1px solid var(--line)}.stat-card strong{display:block;font:700 2.2rem Georgia,serif}.stat-card span{color:var(--muted)}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:25px;overflow:auto}.panel h2,.panel h3{font-family:Georgia,serif}.data-table{width:100%;border-collapse:collapse;min-width:700px}.data-table th,.data-table td{text-align:left;padding:13px 11px;border-bottom:1px solid var(--line);vertical-align:middle}.data-table th{text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;color:var(--muted)}.status{display:inline-block;padding:4px 9px;border-radius:999px;background:#e8f5ee;color:var(--green);font-size:.75rem;font-weight:800}.status.inactive{background:#eee;color:#666}.actions{display:flex;gap:8px}.actions a,.link-button{color:var(--wine);font-weight:800;font-size:.84rem}.link-button{border:0;background:none;padding:0;cursor:pointer}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field.full{grid-column:1/-1}.form-field label{font-weight:800;font-size:.84rem}.form-field input,.form-field select,.form-field textarea{width:100%;padding:11px 12px;border:1px solid #cfc6b7;border-radius:9px;background:#fff}.form-field textarea{min-height:110px;resize:vertical}.form-field small{color:var(--muted)}.checkbox-field{display:flex;align-items:center;gap:9px}.checkbox-field input{width:auto}.form-actions{grid-column:1/-1;display:flex;gap:10px;padding-top:8px}.hierarchy{display:grid;gap:12px}.hierarchy-hotel{border:1px solid var(--line);border-radius:14px;background:#fff}.hierarchy-hotel>header{display:flex;justify-content:space-between;padding:17px}.hierarchy-outlets{padding:0 17px 17px 35px}.hierarchy-outlets a{display:block;padding:8px 0;border-top:1px solid var(--line)}
@media(max-width:900px){.platform-hero{grid-template-columns:1fr;min-height:auto}.hero-mark{display:none}.menu-layout{grid-template-columns:1fr}.menu-aside{position:static}.sidebar{transform:translateX(-100%);transition:transform .25s}.nav-open .sidebar{transform:none}.admin-shell{margin-left:0}.nav-toggle{display:block}.stat-grid{grid-template-columns:repeat(2,1fr)}.context-bar{flex-wrap:wrap}.context-status{width:100%;margin-left:0}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}}@media(max-width:620px){.site-header{height:74px}.brand span{display:none}.brand img{width:62px}.platform-hero{padding:60px 22px}.section-heading,.category-heading,.site-footer{align-items:start;flex-direction:column}.card-footer{flex-direction:column}.hotel-hero,.menu-hero{min-height:520px}.menu-meta{font-size:.82rem}.menu-item{padding:20px 0}.item-heading{flex-direction:column;gap:4px}.menu-item>img{width:84px;height:78px}.admin-top,.context-bar,.admin-content{padding-left:18px;padding-right:18px}.user-chip{display:none}.context-bar label,.context-bar select{width:100%;min-width:0}.stat-grid{grid-template-columns:1fr}.toolbar{align-items:start;flex-direction:column}}
