.sw-h18 { position: relative; min-height: 100vh; background: #0B0A08; color: #F4ECDA; font-family: 'Inter', sans-serif; display: grid; grid-template-columns: 70px 1.06fr 0.94fr; align-items: stretch; padding: 52px 56px; overflow: hidden; }
.sw-h18-frame { position: absolute; inset: 24px; border: 1px solid rgba(200,162,75,0.55); pointer-events: none; z-index: 4; }
.sw-h18-frame::after { content: ""; position: absolute; inset: 5px; border: 1px solid rgba(200,162,75,0.18); }
.sw-h18-rail { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; writing-mode: vertical-rl; transform: rotate(180deg); border-left: 1px solid rgba(200,162,75,0.25); font-size: 0.62rem; letter-spacing: 0.5em; text-transform: uppercase; color: rgba(244,236,218,0.42); padding: 1rem 0; }
.sw-h18-rail i { width: 1px; height: 56px; background: rgba(200,162,75,0.45); }
.sw-h18-main { display: flex; flex-direction: column; padding: 1.4rem 2.6rem 0.4rem; }
.sw-h18-eyebrow { display: inline-flex; align-items: center; gap: 12px; font-size: 0.68rem; letter-spacing: 6px; text-transform: uppercase; font-weight: 500; color: #F4ECDA; margin-bottom: 2rem; }
.sw-h18-dot { width: 6px; height: 6px; transform: rotate(45deg); background: #C8A24B; }
.sw-h18-eyebrow em { font-style: normal; color: rgba(244,236,218,0.5); }
.sw-h18-title { font-family: 'Playfair Display', Georgia, serif; font-weight: 500; font-style: italic; font-size: 104px; line-height: 0.98; letter-spacing: -2px; color: #F4ECDA; margin: 0 0 1.5rem; max-width: 11ch; }
.sw-h18-italic { font-style: italic; font-weight: 500; color: #C8A24B; }
.sw-h18-sub { font-size: 17px; line-height: 1.65; color: #F4ECDA; opacity: 0.86; max-width: 44ch; margin: 0 0 0.7rem; }
.sw-h18-emphasis { font-size: 0.66rem; letter-spacing: 0.3em; text-transform: uppercase; color: rgba(200,162,75,0.85); margin: 0 0 1.8rem; }
.sw-h18-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.sw-h18-cta-primary { display: inline-flex; align-items: center; background: #C8A24B; color: #0B0A08; font-size: 0.84rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; padding: 15px 34px; text-decoration: none; transition: background 0.25s ease, transform 0.25s ease; }
.sw-h18-cta-primary:hover { background: #D8B25C; transform: translateY(-2px); }
.sw-h18-cta-secondary { display: inline-flex; align-items: center; border: 1px solid rgba(200,162,75,0.5); color: #F4ECDA; font-size: 0.8rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; padding: 14px 28px; text-decoration: none; transition: border-color 0.25s ease, color 0.25s ease; }
.sw-h18-cta-secondary:hover { border-color: #C8A24B; color: #C8A24B; }
.sw-h18-footer { margin-top: auto; display: flex; align-items: baseline; gap: 16px; flex-wrap: wrap; border-top: 1px solid rgba(200,162,75,0.3); padding-top: 1rem; }
.sw-h18-foot-label { font-size: 0.62rem; letter-spacing: 0.24em; text-transform: uppercase; color: #A3957A; }
.sw-h18-courses { list-style: none; display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin: 0; padding: 0; font-family: 'Playfair Display', Georgia, serif; font-size: 0.84rem; color: rgba(244,236,218,0.85); }
.sw-h18-courses li[aria-hidden="true"] { color: rgba(200,162,75,0.6); font-size: 0.5rem; }
.sw-h18-foot-stat { display: inline-flex; align-items: baseline; gap: 9px; margin-left: auto; }
.sw-h18-foot-stat strong { font-family: 'Playfair Display', Georgia, serif; font-size: 1.15rem; color: #C8A24B; }
.sw-h18-foot-meta { font-size: 0.7rem; color: #A3957A; }
.sw-h18-side { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.1rem; padding: 0.4rem 0.6rem 0.4rem 1.2rem; }
.sw-h18-portrait { width: min(300px, 100%); margin: 0; padding: 10px; border: 1px solid rgba(200,162,75,0.7); background: rgba(200,162,75,0.04); }
.sw-h18-portrait-img { display: block; height: 286px; border: 1px solid rgba(200,162,75,0.5); background-image: linear-gradient(rgba(11,10,8,0.08), rgba(11,10,8,0.18)), url('/studio/components/images/gastro-1-fine-dining.jpg'); background-size: cover; background-position: center; }
.sw-h18-photo-credit { display: block; text-align: center; font-size: 0.58rem; letter-spacing: 0.26em; text-transform: uppercase; color: rgba(244,236,218,0.55); padding-top: 9px; }
.sw-h18-rsv { width: min(300px, 100%); border: 1px solid rgba(200,162,75,0.3); background: rgba(11,10,8,0.6); padding: 13px 16px; }
.sw-h18-rsv-title { display: block; font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-size: 0.98rem; color: #F4ECDA; }
.sw-h18-rsv-date { display: block; font-size: 0.62rem; letter-spacing: 0.16em; text-transform: uppercase; color: #A3957A; margin: 3px 0 8px; }
.sw-h18-rsv-slot { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 6.5px 0; border-top: 1px dashed rgba(200,162,75,0.22); font-size: 0.74rem; }
.sw-h18-rsv-time { font-weight: 600; letter-spacing: 0.08em; color: rgba(244,236,218,0.5); }
.sw-h18-rsv-slot[data-available="true"] .sw-h18-rsv-time { color: #C8A24B; }
.sw-h18-rsv-status { color: rgba(244,236,218,0.7); }
.sw-h18-rsv-slot[data-available="false"] { opacity: 0.45; }
.sw-h18-rsv-slot[data-available="false"] .sw-h18-rsv-status { text-decoration: line-through; }
@media (max-width: 960px) { .sw-h18 { grid-template-columns: 1fr; padding: 40px 32px; } .sw-h18-frame { inset: 16px; } .sw-h18-rail { display: none; } .sw-h18-main { padding: 0.6rem 0.4rem; } .sw-h18-title { font-size: 56px; } .sw-h18-footer { margin-top: 2rem; margin-bottom: 1.6rem; } .sw-h18-foot-stat { margin-left: 0; } .sw-h18-side { padding: 0 0.4rem 0.6rem; } }
