:root{--navy: #0e1b2e;--navy-soft: #16273f;--navy-card: #1b2f4b;--gold: #c9a45c;--gold-bright: #e0bd76;--cream: #f7f3ea;--cream-dim: #d8d2c4;--danger: #d06a5f;--ok: #6fbf8f;--radius: 16px;--font-head: "Fraunces", Georgia, serif;--font-body: "Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--navy);color:var(--cream);line-height:1.55;-webkit-font-smoothing:antialiased}.page{max-width:640px;margin:0 auto;padding:28px 20px 64px}.brandbar{display:flex;align-items:center;gap:14px;padding:4px 0 18px}.brand-logo{width:64px;height:64px;border-radius:50%;box-shadow:0 0 0 2px #c9a45c73}.brand-title{font-family:var(--font-head);font-weight:700;font-size:1.85rem;line-height:1.1;color:var(--cream)}.clickable{cursor:zoom-in}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#080e18eb;display:grid;place-items:center;padding:20px;cursor:zoom-out}.lightbox img,.lightbox video{max-width:100%;max-height:92vh;border-radius:10px;box-shadow:0 8px 40px #0009}.lightbox video{cursor:default}.watch-btn{margin-top:12px;min-height:44px;padding:0 18px;font:inherit;font-size:.92rem;font-weight:600;color:var(--navy);background:linear-gradient(135deg,#b3894a,var(--gold-bright));border:0;border-radius:10px;cursor:pointer}.lightbox-close{position:absolute;top:14px;right:14px;width:44px;height:44px;font-size:1.6rem;line-height:1;color:var(--cream);background:#ffffff1f;border:0;border-radius:50%;cursor:pointer}.hero{border-radius:var(--radius);overflow:hidden;margin-bottom:18px;border:1px solid rgba(201,164,92,.3)}.hero img{display:block;width:100%;height:220px;object-fit:cover}.section-sub{color:var(--cream-dim);font-size:.92rem;margin-bottom:12px}.story-text p{color:var(--cream-dim);font-size:.97rem;margin-top:14px}.story-sign{color:var(--gold-bright)!important;font-family:var(--font-head)}.story-strip{display:flex;gap:10px;overflow-x:auto;margin-top:16px;padding-bottom:6px;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}.story-strip img{height:150px;border-radius:12px;scroll-snap-align:start;border:1px solid rgba(201,164,92,.3)}.garden-photo{margin-top:18px;border-radius:var(--radius);overflow:hidden;border:1px solid rgba(201,164,92,.3)}.garden-photo img{display:block;width:100%;height:200px;object-fit:cover}.event-list{display:grid;gap:16px;margin-top:18px}.event-card{background:var(--navy-soft);border:1px solid rgba(201,164,92,.25);border-radius:var(--radius);overflow:hidden}.event-video{display:block;width:100%;max-height:300px;object-fit:cover;background:#000}.event-video--portrait{max-height:420px}.event-info{padding:14px 16px 16px}.event-name{font-family:var(--font-head);color:var(--gold-bright);font-size:1.3rem}.event-when{color:var(--gold);font-weight:600;font-size:.92rem;margin-top:2px}.event-desc{color:var(--cream-dim);font-size:.92rem;margin-top:6px}.family-card{margin-top:14px;background:var(--navy-soft);border:1px solid rgba(201,164,92,.25);border-radius:var(--radius);overflow:hidden}.family-card img{display:block;width:100%;height:190px;object-fit:cover}.family-card p{color:var(--cream-dim);font-size:.95rem;padding:14px 16px 16px}.hub-header{text-align:center;padding:20px 0 28px}.hub-kicker{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600}.hub-title{font-family:var(--font-head);font-weight:700;font-size:2.6rem;color:var(--cream);margin-top:8px}.hub-sub{color:var(--cream-dim);font-size:.95rem;margin-top:6px}.gold-rule{width:56px;height:2px;background:var(--gold);margin:18px auto 0;border:0}.tiles{display:grid;gap:14px;margin-top:8px}.tile{display:flex;align-items:center;gap:16px;min-height:76px;padding:18px 20px;background:linear-gradient(135deg,var(--navy-card),var(--navy-soft));border:1px solid rgba(201,164,92,.35);border-radius:var(--radius);color:var(--cream);text-decoration:none;transition:transform .12s ease,border-color .12s ease}.tile:active{transform:scale(.985);border-color:var(--gold)}.tile-icon{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;background:#c9a45c1f;border-radius:12px;color:var(--gold-bright)}.tile-label{font-weight:600;font-size:1.06rem}.tile-hint{font-size:.82rem;color:var(--cream-dim);margin-top:2px}.tile-arrow{margin-left:auto;color:var(--gold);flex:0 0 auto}.tile--primary{background:linear-gradient(135deg,#b3894a,var(--gold));border-color:var(--gold-bright);color:var(--navy)}.tile--primary .tile-icon{background:#0e1b2e26;color:var(--navy)}.tile--primary .tile-hint{color:#0e1b2ebf}.tile--primary .tile-arrow{color:var(--navy)}.section{margin-top:56px;scroll-margin-top:24px}.section-title{font-family:var(--font-head);font-size:1.7rem;font-weight:600;color:var(--gold-bright);margin-bottom:6px}.section-body{color:var(--cream-dim);font-size:.98rem}.menu-list{display:grid;gap:12px;margin-top:18px}.menu-item{display:flex;gap:14px;align-items:center;background:var(--navy-soft);border:1px solid rgba(201,164,92,.2);border-radius:var(--radius);padding:14px}.menu-photo{flex:0 0 84px;width:84px;height:84px;border-radius:12px;object-fit:cover;border:1px solid rgba(201,164,92,.25)}.menu-name{font-weight:600;color:var(--cream)}.menu-desc{font-size:.86rem;color:var(--cream-dim);margin-top:2px}.hub-footer{margin-top:64px;text-align:center;font-size:.8rem;color:var(--cream-dim)}.hub-footer a{color:var(--gold)}.booking-form{display:grid;gap:16px;margin-top:8px}.field{display:grid;gap:6px}.field-label{font-size:.9rem;font-weight:600;color:var(--cream)}.field-label em{font-style:normal;font-weight:400;color:var(--cream-dim);font-size:.82rem}.field input,.field select,.field textarea{width:100%;min-height:48px;padding:12px 14px;font:inherit;font-size:1rem;color:var(--cream);background:var(--navy-soft);border:1px solid rgba(201,164,92,.35);border-radius:12px;outline:none}.field textarea{min-height:80px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9a45c40}.field input::-webkit-calendar-picker-indicator{filter:invert(.85) sepia(.3)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-error{background:#d06a5f26;border:1px solid var(--danger);color:#f0b7b0;border-radius:12px;padding:12px 14px;font-size:.92rem}.submit-btn{min-height:52px;border:0;border-radius:14px;font:inherit;font-size:1.08rem;font-weight:600;color:var(--navy);background:linear-gradient(135deg,#b3894a,var(--gold-bright));cursor:pointer}.submit-btn:active{transform:scale(.985)}.submit-btn:disabled{opacity:.6;cursor:default}.form-note{text-align:center;font-size:.85rem;color:var(--cream-dim)}.confirm-card{margin-top:48px;text-align:center;padding:36px 24px;background:var(--navy-soft);border:1px solid rgba(201,164,92,.35);border-radius:var(--radius);color:var(--ok)}.confirm-card h1{font-family:var(--font-head);color:var(--gold-bright);font-size:1.6rem;margin-top:14px}.confirm-card p{color:var(--cream-dim);margin-top:12px}.confirm-hint{font-size:.88rem;opacity:.85}.admin-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 0 16px}.admin-bar h1{font-family:var(--font-head);color:var(--gold-bright);font-size:1.8rem}.ghost-btn{min-height:44px;padding:0 16px;font:inherit;font-size:.9rem;font-weight:600;color:var(--gold);background:transparent;border:1px solid rgba(201,164,92,.4);border-radius:12px;cursor:pointer}.admin-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:18px}.chip{min-height:44px;padding:0 16px;font:inherit;font-size:.9rem;font-weight:600;color:var(--cream);background:var(--navy-soft);border:1px solid rgba(201,164,92,.35);border-radius:999px;cursor:pointer}.chip--on{background:var(--gold);color:var(--navy);border-color:var(--gold-bright)}.chip-date{min-height:44px;padding:0 12px;font:inherit;font-size:.9rem;color:var(--cream);background:var(--navy-soft);border:1px solid rgba(201,164,92,.35);border-radius:999px}.admin-empty{color:var(--cream-dim);text-align:center;padding:32px 0}.admin-list{display:grid;gap:12px}.res-card{background:var(--navy-soft);border:1px solid rgba(201,164,92,.25);border-left:4px solid var(--gold);border-radius:var(--radius);padding:14px 16px}.res-card--confirmed{border-left-color:var(--ok)}.res-card--cancelled{border-left-color:var(--danger);opacity:.65}.res-head{display:flex;justify-content:space-between;align-items:center}.res-time{font-weight:600;color:var(--gold-bright);font-size:.95rem}.badge{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px}.badge--pending{background:#c9a45c33;color:var(--gold-bright)}.badge--confirmed{background:#6fbf8f2e;color:var(--ok)}.badge--cancelled{background:#d06a5f2e;color:var(--danger)}.res-name{font-weight:600;font-size:1.05rem;margin-top:6px}.res-meta{font-size:.88rem;color:var(--cream-dim);margin-top:2px}.res-meta a{color:var(--gold)}.res-notes{font-size:.88rem;color:var(--cream-dim);margin-top:8px;background:#c9a45c14;border-radius:8px;padding:8px 10px}.res-actions{display:flex;gap:10px;margin-top:12px}.action-btn{flex:1;min-height:44px;font:inherit;font-size:.92rem;font-weight:600;border-radius:10px;border:1px solid transparent;cursor:pointer}.action-btn:disabled{opacity:.4;cursor:default}.action-btn--ok{background:#6fbf8f26;color:var(--ok);border-color:#6fbf8f66}.action-btn--no{background:#d06a5f1f;color:var(--danger);border-color:#d06a5f66}.stub{min-height:60vh;display:grid;place-items:center;text-align:center}.stub h1{font-family:var(--font-head);color:var(--gold-bright)}.stub p{color:var(--cream-dim);margin-top:10px}.back-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:18px;color:var(--gold);text-decoration:none;font-weight:600}
