/* Cedar & Salt: a restaurant masthead, dining-room diptych and printed menu. */
.demo-restaurant{--paper:#111016;--ink:#f9eee6;--muted:#c5b4b8;--accent:#f06a4f;--accent-hover:#ff876d;--button-ink:#171218;--line:#3a303b;--line-strong:#806a78;--focus:#ffad96;--wash:#261d2a;--radius:0px}
.restaurant-masthead{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:80px;border-bottom:1px solid #5c2d43;gap:28px;background:#0d0c12;color:#f9eee6}.restaurant-masthead nav{display:flex;gap:30px}.restaurant-masthead nav a,.restaurant-book{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-size:.94rem}.restaurant-masthead nav a:hover,.restaurant-book:hover{text-decoration:underline}.restaurant-masthead.site-wrap{width:100%;padding-inline:max(40px,calc((100% - 1240px)/2))}.restaurant-masthead .wordmark{width:218px;padding-block:12px}.restaurant-book{justify-self:end;gap:25px;border-bottom:1px solid #b96563;color:#f9eee6;font-weight:550}
.restaurant-title{text-align:center;padding:42px 0 35px}.restaurant-title .eyebrow{font-size:.71rem;letter-spacing:.16em;margin-bottom:18px}.restaurant-title h1{font-family:Georgia,serif;font-size:clamp(2.6rem,4.7vw,4.2rem);font-weight:400;line-height:1.04;letter-spacing:-.045em}.restaurant-title>p:last-child{margin-top:17px;font-size:1.03rem}
.dining-scenes{display:grid;grid-template-columns:.52fr 1fr;gap:24px;align-items:end}.dining-detail{border-radius:180px 180px 0 0}.dining-scenes figure{min-width:0;overflow:hidden}.dining-scenes img{width:100%;height:310px;object-fit:cover}.dining-detail img{object-position:46% 52%}.dining-room img{object-position:center 57%}
.reservation-strip{display:grid;grid-template-columns:.75fr 1.6fr;align-items:center;gap:35px;padding:28px 32px;background:var(--wash);border-bottom:1px solid var(--line);scroll-margin-top:30px}.reservation-strip h2{font:400 1.65rem/1.16 Georgia,serif;letter-spacing:-.025em}.reservation-strip>div>p{font-size:.75rem;margin-top:9px}.reservation-form{display:grid;grid-template-columns:1.08fr .8fr auto;align-items:end;gap:8px 18px}.reservation-form .field{gap:5px}.reservation-form .field label{font-size:.76rem}.reservation-form input,.reservation-form select{min-height:47px;background:var(--paper);font-size:.92rem}.reservation-form .site-cta{min-height:47px;padding-inline:20px;font-size:.88rem}.reservation-form .demo-note{grid-column:1/-1;font-size:.73rem}
.restaurant-menu{margin-top:25px}.menu-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:start}.menu-story h2,.visit-copy h2{font-family:Georgia,serif;font-weight:400;line-height:1.1}.menu-story>p:not(.eyebrow){max-width:390px;margin-top:24px;font-size:1.03rem}.menu-story figure{margin-top:36px;max-width:375px}.menu-story figure img{width:100%;aspect-ratio:1.25;object-fit:cover}.menu-paper{border:1px solid var(--line-strong);outline:1px solid var(--line);outline-offset:-9px;padding:40px;background:#19151c}.menu-paper-heading{text-align:center;padding:0 0 25px;border-bottom:1px solid var(--line)}.menu-stamp{display:block;width:96px;margin:0 auto 22px}.menu-paper-heading h3{font:400 2rem/1.2 Georgia,serif}.menu-paper-heading>span{display:block;font-size:.72rem;color:var(--muted);margin-top:10px}.menu-section{margin-top:25px}.menu-section h4{font-size:.73rem;color:var(--accent);text-transform:uppercase;letter-spacing:.09em;font-weight:500;margin:0 0 9px}.dish{display:flex;justify-content:space-between;align-items:start;gap:20px;padding:14px 0}.dish h5{font:400 1.19rem/1.35 Georgia,serif;margin:0}.dish p{font-size:.86rem;margin-top:6px}.dish>span{font-size:.94rem;white-space:nowrap}.menu-bottom{text-align:center;border-top:1px solid var(--line);padding-top:24px;margin-top:23px;font:400 1rem Georgia,serif}
.restaurant-visit{display:grid;grid-template-columns:1.08fr .92fr;gap:85px;align-items:center;border-top:1px solid var(--line)}.restaurant-visit>figure img{width:100%;height:520px;object-fit:cover}.visit-copy>p:not(.eyebrow){margin-top:24px;max-width:400px}.visit-details{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:30px 0 25px;padding-top:23px;border-top:1px solid var(--line)}.visit-details dt{font-size:.77rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:8px}.visit-details dd{margin:0;font-size:.94rem}.visit-details small{font-size:.74rem;color:var(--muted)}
@media(max-width:1000px){.restaurant-masthead .wordmark{width:208px}.restaurant-title{padding-block:35px}.dining-scenes img{height:290px}.reservation-strip{padding:25px;gap:25px;grid-template-columns:.65fr 1.4fr}.reservation-form{grid-template-columns:1fr 1fr;gap:10px 15px}.reservation-form .site-cta{grid-column:1/-1}.menu-layout{gap:50px}.menu-paper{padding:34px 28px}.restaurant-visit{gap:40px}.restaurant-visit>figure img{height:480px}}
@media(max-width:700px){.restaurant-masthead{grid-template-columns:1fr auto;min-height:80px;gap:2px 20px;padding-block:13px}.restaurant-masthead .wordmark{grid-column:1;grid-row:1;width:184px;padding:0;justify-self:start}.restaurant-masthead nav{grid-column:1;grid-row:2;gap:22px}.restaurant-masthead nav a{min-height:36px;font-size:.8rem}.restaurant-book{grid-column:2;grid-row:1/3;font-size:.85rem;gap:8px}.restaurant-title{padding:31px 0}.restaurant-title h1{font-size:clamp(2.3rem,7.5vw,3.5rem)}.restaurant-title>p:last-child{max-width:310px;margin-inline:auto;font-size:.94rem}.dining-scenes{grid-template-columns:1fr 2fr;gap:9px}.dining-scenes img{height:260px}.reservation-strip{grid-template-columns:1fr;padding:23px;gap:21px}.reservation-strip h2{font-size:1.7rem}.reservation-strip h2 br{display:none}.reservation-strip>div>p{font-size:.8rem}.reservation-form .demo-note{font-size:.75rem}.restaurant-menu{margin-top:5px}.menu-layout{grid-template-columns:1fr;gap:32px}.menu-story{display:grid;grid-template-columns:1fr 120px;column-gap:25px}.menu-story .eyebrow,.menu-story h2,.menu-story>p{grid-column:1}.menu-story figure{grid-column:2;grid-row:1/4;margin:0;align-self:stretch}.menu-story figure img{height:100%;min-height:215px;object-fit:cover}.menu-story h2{font-size:2.1rem}.menu-story>p:not(.eyebrow){font-size:.92rem;margin-top:15px}.menu-paper{padding:35px 27px}.restaurant-visit{grid-template-columns:1fr;gap:30px}.restaurant-visit>figure img{height:310px}.visit-copy h2{font-size:2.3rem}.visit-copy>p:not(.eyebrow){margin-top:18px}.visit-details{gap:20px}.site-footer{font-size:.76rem}}
@media(max-width:400px){.restaurant-masthead .wordmark{width:174px}.restaurant-book{font-size:.77rem;gap:5px;white-space:nowrap}.restaurant-title h1{font-size:2.35rem}.restaurant-title .eyebrow{font-size:.65rem}.dining-scenes img{height:230px}.reservation-strip{padding:22px 18px}.menu-story{grid-template-columns:1fr}.menu-story figure{display:none}.menu-paper{padding:30px 24px}.dish h5{font-size:1.1rem}.dish p{font-size:.82rem}}
@media(max-width:360px){.reservation-form{grid-template-columns:1fr}.reservation-form .field{gap:7px}.reservation-form{row-gap:14px}}
@media(prefers-color-scheme:dark){
  .demo-restaurant{--paper:#0a090d;--ink:#fff3eb;--muted:#d8c1c5;--accent:#ff9b70;--accent-hover:#ffb08d;--button-ink:#19131b;--line:#4b3548;--line-strong:#9d758b;--focus:#ffc0aa;--wash:#241926}
  .menu-paper{background:#1c1520}
}

/* The green masthead is a stable brand surface; the menu has day/evening paper. */
.restaurant-masthead :focus-visible{outline-color:#f9eee6}
@media(max-width:900px){.restaurant-masthead.site-wrap{padding-inline:24px}}
@media(max-width:700px){.restaurant-masthead.site-wrap{padding-inline:18px}.dining-scenes{gap:12px}.restaurant-masthead nav{gap:22px}.menu-story figure{grid-row:1/3}}
@media(max-width:360px){.restaurant-masthead .wordmark{width:174px}.restaurant-masthead{column-gap:12px}.restaurant-book{font-size:.72rem;gap:4px}}
