:root {
  --charcoal: #1f211f;
  --ivory: #f7f3ea;
  --white: #ffffff;
  --gold: #b08a4f;
  --stone: #c8bfb2;
  --olive: #4f584e;
  --line: rgba(31, 33, 31, 0.17);
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Manrope", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ivory); color: var(--charcoal); font-family: var(--sans); font-size: 16px; line-height: 1.6; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--serif); font-weight: 500; line-height: 1.02; letter-spacing: -0.01em; }

.shell { width: min(100% - 96px, 1340px); margin-inline: auto; }
.shell-wide { width: min(100% - 48px, 1500px); margin-inline: auto; }
.eyebrow { margin: 0 0 22px; color: var(--olive); font-size: 0.73rem; font-weight: 700; letter-spacing: 0.19em; line-height: 1.2; text-transform: uppercase; }
.eyebrow--light { color: rgba(255,255,255,.82); }
.eyebrow--gold { color: var(--gold); }
.button-row { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; border: 1px solid transparent; padding: 15px 24px; font-size: .74rem; font-weight: 700; letter-spacing: .09em; line-height: 1; text-transform: uppercase; transition: background .25s ease, border-color .25s ease, color .25s ease; }
.button--gold { background: var(--gold); color: var(--white); }
.button--gold:hover { background: #94703d; }
.button--light { background: var(--white); color: var(--charcoal); }
.button--light:hover { background: var(--ivory); }
.button--ghost-light, .button--outline-light { border-color: rgba(255,255,255,.58); color: var(--white); }
.button--ghost-light:hover, .button--outline-light:hover { background: var(--white); color: var(--charcoal); }
.text-link { display: inline-flex; align-items: center; gap: 14px; border-bottom: 1px solid var(--charcoal); padding-bottom: 7px; font-size: .79rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.text-link--light { border-color: rgba(255,255,255,.75); color: var(--white); }
.section-marker { display: flex; align-items: center; gap: 18px; color: var(--olive); font-size: .72rem; letter-spacing: .1em; }
.section-marker i { width: 80px; height: 1px; background: var(--stone); }

.site-header { position: relative; z-index: 20; display: grid; grid-template-columns: 170px 1fr auto; align-items: center; width: 100%; min-height: 92px; border-bottom: 1px solid var(--line); padding: 0 48px; color: var(--charcoal); }
.site-header--inverse { position: absolute; inset: 0 0 auto; border-color: rgba(255,255,255,.25); color: var(--white); }
.wordmark { display: inline-flex; align-items: baseline; gap: 7px; font-size: .83rem; font-weight: 700; letter-spacing: .22em; line-height: 1; }
.wordmark span { font-family: var(--serif); font-size: 2.35rem; font-weight: 600; letter-spacing: -.08em; }
.desktop-nav { display: flex; justify-content: center; gap: clamp(18px, 2.1vw, 34px); }
.desktop-nav a { position: relative; font-size: .72rem; font-weight: 600; letter-spacing: .06em; }
.desktop-nav a::after { position: absolute; right: 0; bottom: -9px; left: 0; height: 1px; background: currentColor; content: ""; transform: scaleX(0); transform-origin: right; transition: transform .25s ease; }
.desktop-nav a:hover::after { transform: scaleX(1); transform-origin: left; }
.header-cta { min-height: 44px; padding: 12px 18px; }
.menu-toggle, .mobile-menu { display: none; }

.home-hero { position: relative; min-height: 820px; height: 92vh; background: url("https://www.25lusk.com/wp-content/uploads/2019/05/25Lusk_Gallery_Exterior2.jpg") center 45%/cover no-repeat; color: var(--white); }
.home-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15,16,14,.78) 0%, rgba(15,16,14,.46) 55%, rgba(15,16,14,.12) 100%), linear-gradient(0deg, rgba(15,16,14,.35), transparent 45%); }
.home-hero__content { position: relative; z-index: 2; display: flex; min-height: 820px; height: 92vh; flex-direction: column; justify-content: center; padding-top: 80px; }
.home-brand-mark { width: clamp(180px, 20vw, 300px); height: auto; margin: 0 0 34px; filter: invert(1); }
.home-hero h1, .interior-hero h1 { max-width: 960px; margin: 0; color: var(--white); font-size: clamp(3.75rem, 7.1vw, 7rem); line-height: .91; }
.hero-copy, .interior-hero__content > p:not(.eyebrow) { max-width: 680px; margin: 30px 0 0; color: rgba(255,255,255,.86); font-size: clamp(1rem, 1.25vw, 1.2rem); line-height: 1.75; }
.scroll-cue { position: absolute; z-index: 2; right: 48px; bottom: 32px; display: flex; gap: 12px; align-items: center; font-size: .69rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }

.intro-section { padding-block: 126px 138px; }
.intro-grid { display: grid; grid-template-columns: 31% 1fr; gap: 56px; margin-top: 62px; }
.intro-grid h2, .section-heading h2, .statement h2, .rooftop-intro h2, .process h2 { margin-bottom: 32px; font-size: clamp(3.25rem, 5.4vw, 5.6rem); }
.intro-grid > div > p { max-width: 760px; margin-bottom: 34px; color: #4c4d49; font-size: 1.1rem; line-height: 1.9; }

.split-feature { display: grid; min-height: 760px; grid-template-columns: 56% 44%; }
.split-feature--dark { background: var(--charcoal); color: var(--white); }
.split-feature__image { min-height: 700px; background-position: center; background-size: cover; }
.image-events { background-image: url("https://www.25lusk.com/wp-content/uploads/2019/06/25Lusk_Gallery_Social_Interior.jpg"); }
.split-feature__content { display: flex; flex-direction: column; justify-content: center; padding: 80px clamp(48px, 7vw, 120px); }
.split-feature h2 { margin: 0 0 28px; font-size: clamp(3.2rem, 5vw, 5.5rem); }
.split-feature__content > p:not(.eyebrow) { max-width: 600px; color: rgba(255,255,255,.71); line-height: 1.85; }
.feature-facts { display: grid; grid-template-columns: repeat(3,1fr); margin: 36px 0 44px; padding: 28px 0; border-block: 1px solid rgba(255,255,255,.15); list-style: none; }
.feature-facts li { display: flex; flex-direction: column; }
.feature-facts strong { font-family: var(--serif); font-size: 2.2rem; font-weight: 500; }
.feature-facts span { color: rgba(255,255,255,.55); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.split-feature .button { align-self: flex-start; }

.spaces-section { padding-block: 134px; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 56px; }
.section-heading h2 { margin-bottom: 0; }
.space-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.space-card { display: block; }
.space-card__image { aspect-ratio: 4/5; overflow: hidden; background: var(--stone); }
.space-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.space-card:hover img { transform: scale(1.035); }
.space-card__meta { display: grid; grid-template-columns: 30px 1fr auto; gap: 14px; align-items: start; padding-top: 22px; border-top: 1px solid var(--line); margin-top: 14px; }
.space-card__meta > span { color: var(--olive); font-size: .69rem; }
.space-card h3 { margin: 0; font-size: 1.65rem; }
.space-card p { margin: 4px 0 0; color: var(--olive); font-size: .78rem; }
.space-card b { font-weight: 400; }

.rooftop-band { min-height: 720px; background: linear-gradient(90deg, rgba(39,46,38,.75), rgba(39,46,38,.2)), url("https://www.25lusk.com/wp-content/uploads/2024/04/Rooftop-25-with-a-view.png") center/cover no-repeat; color: var(--white); }
.rooftop-band__content { display: flex; min-height: 720px; flex-direction: column; justify-content: center; }
.rooftop-band h2 { margin: 0; font-size: clamp(4.8rem, 10vw, 9rem); }
.rooftop-band p:not(.eyebrow) { max-width: 580px; margin: 20px 0 0; color: rgba(255,255,255,.83); font-size: 1.08rem; line-height: 1.8; }

.proof-section { padding-block: 130px; }
.proof-grid { display: grid; grid-template-columns: 44% 1fr; gap: 90px; margin-top: 50px; }
.proof-grid blockquote { margin: 0; font-family: var(--serif); font-size: clamp(3rem, 4.7vw, 5rem); line-height: 1.08; }
.proof-list > div { display: grid; grid-template-columns: 42px 1fr 1.25fr; gap: 20px; padding: 30px 0; border-top: 1px solid var(--line); }
.proof-list span { color: var(--olive); font-size: .7rem; }
.proof-list h3 { margin: 0; font-size: 1.45rem; }
.proof-list p { margin: 0; color: #5a5c57; font-size: .9rem; }

.site-footer { padding: 110px 48px 28px; background: #171917; color: var(--white); }
.footer-lead { max-width: 900px; padding-bottom: 100px; }
.footer-lead h2 { margin: 0 0 38px; font-size: clamp(3.6rem, 7vw, 7rem); }
.footer-grid { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 70px; padding-block: 54px; border-block: 1px solid rgba(255,255,255,.14); }
.wordmark--footer { margin-bottom: 18px; }
.footer-grid p { max-width: 280px; color: rgba(255,255,255,.55); font-size: .84rem; }
.footer-grid h3 { margin: 5px 0 18px; color: var(--gold); font-family: var(--sans); font-size: .68rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.footer-grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.footer-grid a:not(.wordmark) { color: rgba(255,255,255,.72); font-size: .82rem; }
.footer-grid a:hover { color: var(--white); }
.footer-bottom { display: flex; justify-content: space-between; padding-top: 28px; color: rgba(255,255,255,.4); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.quick-nav { position: fixed; z-index: 80; right: 22px; bottom: 22px; display: flex; overflow: hidden; border: 1px solid rgba(255,255,255,.26); background: rgba(23,25,23,.93); box-shadow: 0 12px 34px rgba(0,0,0,.22); color: var(--white); backdrop-filter: blur(10px); }
.quick-nav button, .quick-nav a { display: inline-flex; min-height: 44px; align-items: center; gap: 7px; border: 0; background: transparent; padding: 10px 14px; color: inherit; cursor: pointer; font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.quick-nav button { border-right: 1px solid rgba(255,255,255,.18); }
.quick-nav button:hover, .quick-nav a:hover, .quick-nav button:focus-visible, .quick-nav a:focus-visible { background: var(--gold); outline: 0; }

.interior-hero { position: relative; min-height: 760px; color: var(--white); }
.interior-hero--events { background: url("https://www.25lusk.com/wp-content/uploads/2019/06/25Lusk_Gallery_Social_Private_Dining_Room.jpg") center/cover no-repeat; }
.interior-hero--rooftop { background: url("https://www.25lusk.com/wp-content/uploads/2024/04/Rooftop-25-with-a-view.png") center/cover no-repeat; }
.interior-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18,19,17,.82), rgba(18,19,17,.3)); }
.interior-hero__shade--olive { background: linear-gradient(90deg, rgba(42,51,41,.82), rgba(42,51,41,.22)); }
.interior-hero__content { position: relative; z-index: 2; display: flex; min-height: 760px; flex-direction: column; justify-content: center; padding-top: 80px; }
.interior-hero__content .button { align-self: flex-start; margin-top: 30px; }
.statement { padding-block: 130px; }
.statement > .eyebrow { margin-top: 60px; }
.statement h2 { max-width: 1020px; }
.statement__copy { display: grid; grid-template-columns: repeat(2, 1fr); gap: 50px; max-width: 900px; margin: 55px 0 0 auto; }
.statement__copy p { color: #4d4e4a; line-height: 1.85; }
.event-types { padding-block: 120px; background: #ebe5dc; }
.event-type-grid { display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid rgba(31,33,31,.18); }
.event-type-card { min-height: 330px; padding: 38px; border-right: 1px solid rgba(31,33,31,.18); border-bottom: 1px solid rgba(31,33,31,.18); transition: background .25s ease, color .25s ease; }
.event-type-card:nth-child(2n) { border-right: 0; }
.event-type-card:nth-last-child(-n+2) { border-bottom: 0; }
.event-type-card:hover { background: var(--charcoal); color: var(--white); }
.event-type-card > span { color: var(--olive); font-size: .7rem; }
.event-type-card h3 { margin: 70px 0 16px; font-size: 2.2rem; }
.event-type-card p { max-width: 500px; color: #5b5c58; font-size: .9rem; }
.event-type-card:hover p, .event-type-card:hover span { color: rgba(255,255,255,.64); }
.event-type-card b { display: flex; justify-content: space-between; margin-top: 30px; font-size: .68rem; letter-spacing: .11em; text-transform: uppercase; }
.event-type-card b i { font-style: normal; }
.capacity-strip { padding-block: 94px; background: var(--charcoal); color: var(--white); }
.capacity-strip__grid { display: grid; grid-template-columns: 1fr 1.1fr auto; gap: 60px; align-items: center; }
.capacity-strip h2 { margin: 0; font-size: 3rem; }
.capacity-numbers { display: flex; align-items: center; gap: 28px; }
.capacity-numbers > div { display: flex; flex-direction: column; }
.capacity-numbers strong { font-family: var(--serif); font-size: 4.5rem; font-weight: 500; line-height: 1; }
.capacity-numbers span { color: rgba(255,255,255,.5); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.capacity-numbers i { color: var(--gold); font-family: var(--serif); font-size: 1.8rem; font-style: italic; }
.process { padding-block: 130px; }
.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.process-grid li { min-height: 310px; padding: 28px 26px 30px 0; border-right: 1px solid var(--line); }
.process-grid li + li { padding-left: 26px; }
.process-grid li:last-child { border-right: 0; }
.process-grid span { color: var(--olive); font-size: .68rem; }
.process-grid h3 { margin: 78px 0 18px; font-size: 1.7rem; }
.process-grid p { color: #5d5e5a; font-size: .85rem; }

.rooftop-page { background: #f0eee7; }
.rooftop-intro { display: grid; grid-template-columns: 1.35fr 1fr; gap: 100px; align-items: end; padding-block: 130px; }
.rooftop-intro__copy { display: grid; gap: 18px; }
.rooftop-intro__copy p { margin: 0; color: #555a53; line-height: 1.85; }
.rooftop-collage { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: auto auto; gap: 24px; align-items: end; }
.rooftop-collage__large { grid-row: 1/3; height: 780px; }
.rooftop-collage__small { height: 420px; }
.rooftop-collage img { width: 100%; height: 100%; object-fit: cover; }
.rooftop-collage__note { display: flex; min-height: 250px; align-items: end; justify-content: space-between; padding: 36px; background: var(--olive); color: var(--white); }
.rooftop-collage__note span { font-family: var(--serif); font-size: 5rem; line-height: 1; }
.rooftop-collage__note p { max-width: 140px; margin: 0; color: rgba(255,255,255,.7); font-size: .75rem; }
.eat-drink { padding-block: 135px; }
.eat-drink__grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); }
.eat-drink article { padding: 45px 65px 20px 0; }
.eat-drink article + article { padding-left: 65px; border-left: 1px solid var(--line); }
.eat-drink article > span { color: var(--olive); font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.eat-drink h3 { margin: 70px 0 22px; font-size: 2.8rem; }
.eat-drink p { color: #5b5e58; }
.hours-section { padding-block: 120px; background: var(--charcoal); color: var(--white); }
.hours-grid { display: grid; grid-template-columns: 1.15fr 1fr .7fr; gap: 80px; align-items: center; }
.hours-grid h2 { font-size: 4.2rem; }
.hours-grid > div > p:not(.eyebrow) { color: rgba(255,255,255,.63); }
.hours-grid dl { margin: 0; }
.hours-grid dl > div { display: flex; justify-content: space-between; gap: 24px; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.hours-grid dt { color: rgba(255,255,255,.58); font-size: .75rem; }
.hours-grid dd { margin: 0; font-size: .75rem; font-weight: 600; }
.hours-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 26px; }

.page-hero { min-height: 650px; background-position: center; background-size: cover; color: var(--white); }
.page-hero__content { display: flex; min-height: 650px; flex-direction: column; justify-content: flex-end; padding-bottom: 82px; }
.page-hero h1 { max-width: 980px; margin: 0; color: var(--white); font-size: clamp(4rem, 7.5vw, 7rem); }
.page-intro { padding-block: 120px; }
.page-intro h2 { max-width: 980px; margin-bottom: 34px; font-size: clamp(3rem, 5.4vw, 5.3rem); }
.page-intro > p:last-child { max-width: 760px; margin: 0 0 0 auto; color: #545651; font-size: 1.05rem; line-height: 1.9; }
.space-catalog { display: grid; gap: 110px; padding-bottom: 130px; }
.catalog-card { display: grid; grid-template-columns: 1.35fr 1fr; background: #eee9df; }
.catalog-card:nth-child(even) { grid-template-columns: 1fr 1.35fr; }
.catalog-card:nth-child(even) img { grid-column: 2; }
.catalog-card:nth-child(even) .catalog-card__body { grid-column: 1; grid-row: 1; }
.catalog-card > img { width: 100%; min-height: 620px; height: 100%; object-fit: cover; }
.catalog-card__body { display: flex; flex-direction: column; justify-content: center; padding: clamp(45px, 6vw, 95px); }
.catalog-card__body > span { color: var(--olive); font-size: .68rem; }
.catalog-card__body h2 { margin: 70px 0 22px; font-size: clamp(2.8rem, 4vw, 4.6rem); }
.catalog-card__body > p { color: #565853; line-height: 1.8; }
.catalog-card dl { display: grid; grid-template-columns: 1fr 1fr; margin: 34px 0; border-block: 1px solid var(--line); }
.catalog-card dl > div { padding: 18px 0; }
.catalog-card dl > div + div { padding-left: 22px; border-left: 1px solid var(--line); }
.catalog-card dt { color: var(--olive); font-size: .63rem; letter-spacing: .09em; text-transform: uppercase; }
.catalog-card dd { margin: 3px 0 0; font-family: var(--serif); font-size: 1.6rem; }
.catalog-card .text-link { align-self: flex-start; }
.catalog-card .text-link b { font-weight: 400; }
.center-cta { padding: 120px 24px; background: var(--charcoal); color: var(--white); text-align: center; }
.center-cta h2 { max-width: 900px; margin: 0 auto 38px; font-size: clamp(3.3rem, 6vw, 6rem); }
.menu-panels { display: grid; grid-template-columns: 1fr 1fr; padding-bottom: 120px; }
.menu-panels article { min-height: 520px; padding: 70px; background: #ece6dc; }
.menu-panels article + article { background: var(--olive); color: var(--white); }
.menu-panels article + article .eyebrow { color: var(--gold); }
.menu-panels article + article p { color: rgba(255,255,255,.7); }
.menu-panels article + article .text-link { border-color: rgba(255,255,255,.75); }
.menu-panels h2 { margin: 75px 0 24px; font-size: 3.4rem; }
.menu-panels p { margin-bottom: 36px; color: #595a56; line-height: 1.85; }
.menu-note { display: flex; justify-content: space-between; gap: 30px; margin-bottom: 120px; padding: 24px 0; border-block: 1px solid var(--line); color: var(--olive); font-size: .72rem; }
.menu-note span { font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.menu-note p { margin: 0; }
.menu-board { margin-bottom: 24px; padding: 86px clamp(28px, 6vw, 88px); background: #ece6dc; }
.menu-board--dark { background: var(--charcoal); color: var(--white); }
.menu-board__header { display: grid; grid-template-columns: 1fr minmax(260px, 440px); gap: 60px; align-items: end; padding-bottom: 48px; border-bottom: 1px solid var(--line); }
.menu-board--dark .menu-board__header { border-color: rgba(255,255,255,.16); }
.menu-board__header h2 { margin: 0; font-size: clamp(4.8rem, 9vw, 8.5rem); line-height: .85; }
.menu-board__header > p { margin: 0; color: #5a5c57; line-height: 1.8; }
.menu-board--dark .menu-board__header > p { color: rgba(255,255,255,.65); }
.menu-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(48px, 7vw, 110px); }
.menu-group { padding: 52px 0 12px; border-bottom: 1px solid var(--line); }
.menu-board--dark .menu-group { border-color: rgba(255,255,255,.14); }
.menu-group__title { display: flex; align-items: baseline; justify-content: space-between; gap: 22px; margin-bottom: 24px; }
.menu-group__title h3 { margin: 0; font-family: var(--sans); font-size: .73rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.menu-group__title span { color: var(--olive); font-size: .65rem; letter-spacing: .05em; text-align: right; text-transform: uppercase; }
.menu-board--dark .menu-group__title span { color: var(--gold); }
.menu-items { display: grid; gap: 0; }
.menu-item { display: grid; grid-template-columns: 1fr auto; gap: 25px; padding: 17px 0; border-top: 1px solid rgba(31,33,31,.1); }
.menu-board--dark .menu-item { border-color: rgba(255,255,255,.1); }
.menu-item h4 { margin: 0 0 5px; font-family: var(--sans); font-size: .78rem; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; }
.menu-item p { margin: 0; color: #666762; font-size: .74rem; line-height: 1.6; }
.menu-board--dark .menu-item p { color: rgba(255,255,255,.58); }
.menu-item strong { color: var(--olive); font-family: var(--serif); font-size: 1.18rem; font-weight: 600; white-space: nowrap; }
.menu-board--dark .menu-item strong { color: var(--gold); }
.menu-disclaimer { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 60px; padding-block: 54px 120px; color: #686963; font-size: .72rem; line-height: 1.7; }
.menu-disclaimer p { margin: 0; }
.menu-disclaimer > div { display: flex; grid-column: 1/-1; gap: 14px; margin-top: 10px; }
.gallery-grid { display: grid; grid-auto-flow: dense; grid-auto-rows: 260px; grid-template-columns: repeat(12, 1fr); gap: 20px; padding-block: 80px 130px; }
.gallery-item { position: relative; grid-column: span 4; grid-row: span 2; margin: 0; overflow: hidden; background: var(--stone); }
.gallery-item--1 { grid-column: span 7; }
.gallery-item--2 { grid-column: span 5; grid-row: span 3; }
.gallery-item--3 { grid-column: span 5; }
.gallery-item--4 { grid-column: span 7; grid-row: span 3; }
.gallery-item--5 { grid-column: span 5; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.gallery-item:hover img { transform: scale(1.025); }
.gallery-item figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 40px 18px 16px; background: linear-gradient(transparent, rgba(0,0,0,.66)); color: var(--white); font-size: .69rem; letter-spacing: .07em; text-transform: uppercase; }
.founders { padding-bottom: 130px; }
.founder-profile { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(48px, 7vw, 110px); align-items: center; padding: 70px 0; border-top: 1px solid var(--line); }
.founder-profile:nth-child(even) .founder-profile__image { grid-column: 2; grid-row: 1; }
.founder-profile:nth-child(even) .founder-profile__content { grid-column: 1; grid-row: 1; }
.founder-profile__image { width: 100%; aspect-ratio: 2.48 / 1; object-fit: cover; object-position: center; }
.founder-profile__content h2 { margin: 10px 0 28px; font-size: clamp(3rem, 5vw, 4.8rem); }
.founder-profile__content > p:last-child { max-width: 680px; margin: 0; color: #50524d; font-size: 1rem; line-height: 1.9; }
.press-feature { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(50px, 9vw, 150px); align-items: end; padding-block: 110px; }
.press-feature h2 { max-width: 760px; margin: 12px 0 0; font-size: clamp(3rem, 5vw, 5rem); }
.press-feature > p { margin: 0; color: #50524d; font-size: 1.05rem; line-height: 1.9; }
.press-list { padding-bottom: 130px; border-top: 1px solid var(--line); }
.press-item { display: grid; grid-template-columns: minmax(180px, .6fr) minmax(0, 1.4fr) 32px; gap: 34px; align-items: center; padding: 32px 4px; border-bottom: 1px solid var(--line); transition: background-color .2s ease, padding .2s ease; }
.press-item:hover { padding-inline: 18px; background: var(--ivory); }
.press-item > div { display: flex; flex-direction: column; gap: 8px; }
.press-item span { color: var(--olive); font-size: .72rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.press-item time { color: #74766f; font-size: .72rem; }
.press-item h3 { margin: 0; font-size: clamp(1.45rem, 2.4vw, 2.15rem); line-height: 1.15; }
.press-item b { color: var(--gold); font-size: 1.25rem; font-weight: 400; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; padding-block: 120px; }
.contact-grid h2 { margin-bottom: 30px; font-size: 3.8rem; }
.contact-grid > div:first-child > p:not(.eyebrow) { max-width: 500px; color: #565853; }
.contact-grid .button { margin-top: 25px; }
.contact-details > div { display: flex; flex-direction: column; align-items: flex-start; padding: 28px 0; border-top: 1px solid var(--line); }
.contact-details span { margin-bottom: 13px; color: var(--olive); font-size: .65rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.contact-details a { font-family: var(--serif); font-size: 1.75rem; }
.contact-details p { margin: 0; color: #555751; }
.form-hero { padding-bottom: 100px; background: var(--charcoal); color: var(--white); }
.form-hero .site-header { position: relative; }
.form-hero > .shell { padding-top: 100px; }
.form-hero h1 { max-width: 980px; margin: 0; font-size: clamp(4rem, 8vw, 7.5rem); }
.form-hero .shell > p:last-child { max-width: 650px; margin: 30px 0 0; color: rgba(255,255,255,.66); font-size: 1.05rem; }
.form-section { display: grid; grid-template-columns: .72fr 1.5fr; gap: 100px; padding-block: 110px 130px; }
.form-section aside ol { margin: 35px 0 60px; padding: 0; list-style: none; }
.form-section aside li { display: grid; grid-template-columns: 34px 1fr; gap: 12px; padding: 18px 0; border-top: 1px solid var(--line); }
.form-section aside li span { color: var(--olive); font-size: .65rem; }
.form-section aside li p { margin: 0; color: #555751; font-size: .82rem; }
.direct-contact { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.direct-contact span { margin-bottom: 8px; color: var(--olive); font-size: .65rem; text-transform: uppercase; }
.direct-contact a { border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: 1.4rem; }
.inquiry-form { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 22px; padding: 56px; background: #ebe5dc; }
.field { display: flex; flex-direction: column; }
.field--wide { grid-column: 1/-1; }
.field label { margin-bottom: 9px; color: var(--olive); font-size: .64rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.field input, .field select, .field textarea { width: 100%; border: 0; border-bottom: 1px solid rgba(31,33,31,.35); border-radius: 0; padding: 12px 2px; outline: none; background: transparent; color: var(--charcoal); }
.field textarea { border: 1px solid rgba(31,33,31,.3); padding: 14px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--gold); box-shadow: 0 1px 0 var(--gold); }
.form-submit { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 10px; }
.form-submit p { max-width: 420px; margin: 0; color: #6a6b66; font-size: .68rem; }
.form-success { padding: 70px; background: #ebe5dc; }
.form-success > span { color: var(--gold); font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.form-success h2 { margin: 55px 0 25px; font-size: 4rem; }
.form-success p { max-width: 620px; color: #575954; }
.form-success .button { margin-top: 25px; }
.landing-intro { padding-block: 120px; }
.landing-intro h2 { max-width: 1100px; margin: 0; font-size: clamp(2.8rem, 4.7vw, 4.7rem); line-height: 1.16; }
.landing-highlights { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; padding-bottom: 130px; }
.landing-highlights h2 { font-size: 4rem; }
.landing-highlights ul { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.landing-highlights li { display: grid; grid-template-columns: 50px 1fr; padding: 24px 0; border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: 1.7rem; }
.landing-highlights li span { color: var(--olive); font-family: var(--sans); font-size: .65rem; }

@media (max-width: 1100px) {
  .site-header { grid-template-columns: 1fr auto auto; padding-inline: 28px; }
  .desktop-nav { display: none; }
  .menu-toggle { z-index: 30; display: flex; width: 46px; height: 46px; flex-direction: column; justify-content: center; gap: 7px; border: 0; margin-left: 10px; background: transparent; color: inherit; cursor: pointer; }
  .menu-toggle span { width: 24px; height: 1px; background: currentColor; transition: transform .25s ease; }
  .mobile-menu { position: fixed; z-index: 25; inset: 0; display: grid; visibility: hidden; place-items: center; background: var(--charcoal); color: var(--white); opacity: 0; transition: opacity .25s ease, visibility .25s ease; }
  .mobile-menu.is-open { visibility: visible; opacity: 1; }
  .mobile-menu__inner { display: flex; width: min(100% - 64px, 580px); flex-direction: column; gap: 7px; }
  .mobile-menu__inner > a:not(.button) { display: grid; grid-template-columns: 32px 1fr; align-items: baseline; padding: 11px 0; border-bottom: 1px solid rgba(255,255,255,.14); font-family: var(--serif); font-size: 2rem; }
  .mobile-menu__inner small { font-family: var(--sans); color: var(--gold); font-size: .62rem; }
  .mobile-menu__inner .button { margin-top: 22px; }
  .mobile-menu__inner p { margin: 20px 0 0; color: rgba(255,255,255,.48); font-size: .7rem; }
  .split-feature { grid-template-columns: 1fr; }
  .split-feature__image { min-height: 620px; }
  .capacity-strip__grid, .hours-grid { grid-template-columns: 1fr 1fr; }
  .capacity-strip__grid .button, .hours-actions { grid-column: 2; }
  .proof-grid { grid-template-columns: 1fr; gap: 60px; }
  .footer-grid { grid-template-columns: 1.5fr repeat(3, 1fr); gap: 36px; }
  .catalog-card, .catalog-card:nth-child(even) { grid-template-columns: 1fr 1fr; }
  .landing-highlights { gap: 55px; }
}

@media (max-width: 760px) {
  .shell, .shell-wide { width: min(100% - 40px, 680px); }
  .site-header { min-height: 76px; padding-inline: 20px; }
  .wordmark span { font-size: 1.9rem; }
  .header-cta { display: none; }
  .home-hero, .home-hero__content { min-height: 720px; height: 100svh; }
  .home-hero { background-position: 58% center; }
  .home-hero__content { padding-top: 58px; }
  .home-brand-mark { width: 170px; margin-bottom: 26px; }
  .home-hero h1, .interior-hero h1 { font-size: clamp(3.2rem, 15vw, 5rem); }
  .hero-copy { font-size: .94rem; line-height: 1.7; }
  .button-row { align-items: stretch; flex-direction: column; }
  .button-row .button { width: 100%; }
  .scroll-cue { display: none; }
  .intro-section, .spaces-section, .proof-section, .statement, .process, .rooftop-intro, .eat-drink { padding-block: 84px; }
  .intro-grid, .statement__copy, .rooftop-intro { grid-template-columns: 1fr; gap: 28px; }
  .intro-grid { margin-top: 38px; }
  .intro-grid h2, .section-heading h2, .statement h2, .rooftop-intro h2, .process h2 { font-size: 3rem; }
  .split-feature__image { min-height: 420px; }
  .split-feature__content { padding: 72px 24px; }
  .feature-facts { gap: 10px; }
  .feature-facts strong { font-size: 1.65rem; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .space-grid { grid-template-columns: 1fr; gap: 54px; }
  .space-card__image { aspect-ratio: 5/4; }
  .rooftop-band, .rooftop-band__content { min-height: 650px; }
  .rooftop-band { background-position: 61% center; }
  .rooftop-band h2 { font-size: 5rem; }
  .proof-list > div { grid-template-columns: 30px 1fr; }
  .proof-list p { grid-column: 2; }
  .site-footer { padding: 80px 20px 24px; }
  .footer-lead { padding-bottom: 68px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 44px 24px; }
  .footer-grid > div:first-child { grid-column: 1/-1; }
  .footer-bottom { gap: 12px; flex-direction: column; }
  .quick-nav { right: 12px; bottom: 12px; }
  .quick-nav button, .quick-nav a { min-height: 42px; padding: 9px 12px; }
  .interior-hero, .interior-hero__content { min-height: 700px; }
  .event-type-grid { grid-template-columns: 1fr; }
  .event-type-card, .event-type-card:nth-child(2n), .event-type-card:nth-last-child(-n+2) { min-height: 290px; border-right: 0; border-bottom: 1px solid rgba(31,33,31,.18); }
  .event-type-card:last-child { border-bottom: 0; }
  .event-type-card h3 { margin-top: 50px; }
  .capacity-strip__grid, .hours-grid { grid-template-columns: 1fr; }
  .capacity-strip__grid .button, .hours-actions { grid-column: auto; }
  .capacity-numbers { justify-content: space-between; }
  .process-grid { grid-template-columns: 1fr 1fr; }
  .process-grid li:nth-child(2) { border-right: 0; }
  .process-grid li { min-height: 280px; border-bottom: 1px solid var(--line); }
  .process-grid li:nth-last-child(-n+2) { border-bottom: 0; }
  .rooftop-collage { display: block; width: 100%; }
  .rooftop-collage__large { height: 500px; }
  .rooftop-collage__small { width: calc(100% - 40px); height: 300px; margin: -50px 20px 0 auto; border: 10px solid #f0eee7; }
  .rooftop-collage__note { width: calc(100% - 40px); min-height: 180px; margin: 0 20px; }
  .eat-drink__grid { grid-template-columns: 1fr; }
  .eat-drink article, .eat-drink article + article { padding: 36px 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .eat-drink h3 { margin-top: 45px; font-size: 2.2rem; }
  .hours-grid h2 { font-size: 3.2rem; }
  .page-hero, .page-hero__content { min-height: 570px; }
  .page-hero__content { padding-bottom: 55px; }
  .page-hero h1 { font-size: 3.7rem; }
  .page-intro { padding-block: 84px; }
  .page-intro h2 { font-size: 3rem; }
  .catalog-card, .catalog-card:nth-child(even) { display: flex; flex-direction: column; }
  .catalog-card:nth-child(even) img, .catalog-card:nth-child(even) .catalog-card__body { grid-column: auto; grid-row: auto; }
  .catalog-card > img { min-height: 380px; height: 55vh; }
  .catalog-card__body { padding: 40px 24px 48px; }
  .catalog-card__body h2 { margin-top: 45px; }
  .menu-panels { grid-template-columns: 1fr; padding-bottom: 80px; }
  .menu-panels article { min-height: 460px; padding: 50px 28px; }
  .menu-panels h2 { margin-top: 55px; font-size: 2.8rem; }
  .menu-note { align-items: flex-start; flex-direction: column; margin-bottom: 80px; }
  .menu-board { width: 100%; margin-bottom: 12px; padding: 64px 24px; }
  .menu-board__header, .menu-groups { grid-template-columns: 1fr; }
  .menu-board__header { gap: 26px; padding-bottom: 34px; }
  .menu-board__header h2 { font-size: 5rem; }
  .menu-group { padding-top: 42px; }
  .menu-item { gap: 16px; }
  .menu-disclaimer { grid-template-columns: 1fr; padding-block: 40px 84px; }
  .menu-disclaimer > div { grid-column: auto; align-items: stretch; flex-direction: column; }
  .gallery-grid { display: grid; grid-auto-rows: 230px; grid-template-columns: 1fr 1fr; gap: 12px; padding-block: 40px 84px; }
  .gallery-item, .gallery-item--1, .gallery-item--2, .gallery-item--3, .gallery-item--4, .gallery-item--5 { grid-column: span 1; grid-row: span 1; }
  .gallery-item:nth-child(3n+1) { grid-column: 1/-1; grid-row: span 2; }
  .founder-profile { grid-template-columns: 1fr; gap: 30px; padding: 50px 0; }
  .founder-profile:nth-child(even) .founder-profile__image, .founder-profile:nth-child(even) .founder-profile__content { grid-column: auto; grid-row: auto; }
  .founder-profile__image { aspect-ratio: 1.55 / 1; }
  .founder-profile__content h2 { font-size: 3rem; }
  .press-feature { grid-template-columns: 1fr; gap: 34px; padding-block: 84px; }
  .press-feature h2 { font-size: 3rem; }
  .press-list { width: 100%; padding: 0 20px 84px; }
  .press-item { grid-template-columns: 1fr 26px; gap: 18px; padding: 26px 0; }
  .press-item > div { grid-column: 1; }
  .press-item h3 { grid-column: 1; }
  .press-item b { grid-column: 2; grid-row: 1 / span 2; }
  .contact-grid, .form-section, .landing-highlights { grid-template-columns: 1fr; gap: 60px; padding-block: 84px; }
  .contact-grid h2 { font-size: 3rem; }
  .form-hero > .shell { padding-top: 70px; }
  .inquiry-form { grid-template-columns: 1fr; padding: 36px 20px; }
  .field--wide { grid-column: auto; }
  .form-submit { align-items: stretch; flex-direction: column; }
  .form-submit .button { width: 100%; }
  .form-success { padding: 50px 24px; }
  .form-success h2 { font-size: 3rem; }
  .landing-highlights h2 { font-size: 3rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}


/* WordPress integration */
.admin-bar .site-header--inverse { top: 32px; }
.desktop-nav .menu { display: flex; justify-content: center; gap: clamp(18px, 2.1vw, 34px); margin: 0; padding: 0; list-style: none; }
.mobile-menu .menu { display: flex; flex-direction: column; gap: 20px; margin: 0 0 28px; padding: 0; list-style: none; }
.mobile-menu .menu a { display: block; padding: 11px 0; border-bottom: 1px solid rgba(255,255,255,.14); font-family: var(--serif); font-size: 2rem; }
.mobile-menu .menu li { margin: 0; }
.wp-site-blocks, .entry-content { margin: 0; }
.inquiry-form__message { grid-column: 1 / -1; margin: 0; padding: 14px 16px; background: rgba(79,88,78,.12); color: var(--olive); }
.editable-hours { color: rgba(255,255,255,.78); line-height: 2.1; }
.lusk25-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
@media (max-width: 782px) { .admin-bar .site-header--inverse { top: 46px; } }
