/* LaScala-inspired direction: preserve OPC's identity and original dough video. */
:root{--paper:#f6f2e9;--warm-white:#fffdf8;--ink:#201d19;--muted:#716b63;--line:#ddd6ca;--red:#a60606;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
html{scroll-padding-top:112px;background:var(--warm-white)}
body{background:var(--warm-white);color:var(--ink)}
.service-bar{height:30px;padding:0 40px;background:var(--red);font-size:9px;letter-spacing:1.4px}
.header{position:absolute;left:0;right:0;top:30px;z-index:12;background:linear-gradient(180deg,#10100f9c 0%,#10100f35 76%,transparent 100%);border:0;transition:background .22s,box-shadow .22s}
.header-inner{min-height:88px;gap:25px}
.wordmark img{width:158px;max-height:78px;padding:6px 10px;background:#fffdf8;object-fit:contain;box-shadow:0 5px 22px #0002}
.nav{gap:clamp(17px,2.5vw,36px)}
.nav a{color:#fff;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;font-weight:700}
.nav a:hover{color:#fff}
.nav a:after{height:2px;background:#fff}
.header .button{min-height:43px;padding:12px 21px;font-size:9px;letter-spacing:1.5px;border-color:var(--red)}
.header.is-pinned{position:fixed;top:0;background:#fffdf8f5;box-shadow:0 4px 18px #201d1912;backdrop-filter:blur(12px)}
.header.is-pinned .nav a{color:var(--ink)}
.header.is-pinned .nav a:after{background:var(--red)}
.header.is-pinned .wordmark img{width:142px;max-height:68px;box-shadow:none}
.hero{height:calc(100svh - 30px);min-height:620px;max-height:920px;background:#171715}
.hero img,.hero video{filter:grayscale(1) contrast(1.08);object-position:center}
.hero:after{background:linear-gradient(180deg,#0005 0%,#00000038 26%,#00000042 60%,#0008 100%)}
.hero-copy{padding:135px 24px 84px;max-width:1060px}
.hero-kicker{font-size:10px;letter-spacing:3.4px;margin-bottom:24px}
h1{font-family:var(--sans);font-size:clamp(43px,6vw,78px);font-weight:600;letter-spacing:2px;line-height:1.16;text-shadow:0 3px 30px #0007}
h1 em{font-family:var(--serif);font-size:1.04em;font-style:italic;font-weight:400;letter-spacing:0;margin-top:9px}
.hero-rule{height:1px;width:46px;background:#ffffffb3;margin:25px auto}
.hero-actions{gap:11px}
.hero-actions .button{min-width:162px}
.button{border-radius:0;box-shadow:none;letter-spacing:1.5px;text-transform:uppercase;font-size:10px}
.button:hover{box-shadow:none}
.button.white-outline{background:#fff1;border-color:#fffc;backdrop-filter:blur(5px)}
.hero-foot{left:35px;bottom:24px;font-size:8px;letter-spacing:1.5px}
.video-toggle{right:auto;left:35px;bottom:50px;border:0;background:none;padding:4px 0;font-size:8px;letter-spacing:1px;text-transform:uppercase;opacity:.82}
.hero-socials{display:none}
.scroll-cue{position:absolute;z-index:3;bottom:16px;left:50%;transform:translateX(-50%);display:grid;justify-items:center;gap:2px;color:#fff;text-decoration:none;text-transform:uppercase;font-size:8px;letter-spacing:1.5px;opacity:.86}
.scroll-cue svg{width:24px;height:16px;fill:none;stroke:currentColor;stroke-width:1.2}
.quick-rail{position:fixed;right:0;top:45%;z-index:20;display:grid;background:var(--red);box-shadow:0 8px 24px #0002}
.quick-rail a{width:50px;height:50px;display:grid;place-items:center;color:#fff;border-bottom:1px solid #ffffff50;text-decoration:none;transition:background .18s,transform .18s}
.quick-rail a:last-child{border-bottom:0}
.quick-rail a:hover{background:#780707;transform:translateX(-3px)}
.quick-rail svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.page-index{width:min(1140px,calc(100% - 96px));max-width:none;margin:0 auto;background:var(--warm-white);border-bottom:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:1fr 1fr}
.page-index>a{display:grid;grid-template-columns:96px minmax(0,1fr) 24px;grid-template-rows:auto auto;align-content:center;align-items:center;column-gap:20px;min-height:124px;padding:18px 25px 18px 0}
.page-index>a+a{padding-left:25px;border-left:1px solid var(--line)}
.page-index>a>img{grid-row:1/3;width:96px;height:78px;object-fit:cover;filter:saturate(.92);border:1px solid #e2dbd0}
.page-index span{grid-column:2;grid-row:1;margin:0 0 5px;font-size:8px;letter-spacing:1.5px;color:var(--red)}
.page-index strong{grid-column:2;grid-row:2;font-family:var(--serif);font-size:25px;line-height:1.15}
.page-index b{grid-column:3;grid-row:1/3;position:static;align-self:center;color:var(--red);font-family:var(--serif);font-size:24px}
.section-label{font-size:9px;letter-spacing:2px}
.full-food-menu{background:var(--paper);padding:72px 0 66px}
.full-food-menu>.wrap{display:grid;grid-template-columns:222px minmax(0,1fr);grid-template-areas:"heading heading" "jump categories" "bottom bottom";column-gap:48px;align-items:start}
.food-menu-heading{grid-area:heading;margin-bottom:30px;align-items:end}
.food-menu-heading .section-label{margin-bottom:10px}
.food-menu-heading h2{font-size:clamp(42px,4.8vw,61px);letter-spacing:-1.7px}
.food-menu-heading .button{min-height:44px}
.food-menu-jump{grid-area:jump;position:sticky;top:112px;align-self:start;display:flex;flex-direction:column;gap:0;margin:0;padding:11px 0 0;border-top:1px solid var(--line);border-bottom:0}
.food-menu-jump:before{content:'Browse the menu';display:block;margin:0 0 13px;color:var(--muted);font-size:8px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}
.food-menu-jump a{position:relative;padding:9px 16px 9px 0;border-bottom:1px solid #e6dfd3;color:var(--ink);font-size:11px;letter-spacing:.2px}
.food-menu-jump a:after{content:'›';position:absolute;right:2px;top:7px;color:var(--red);font-family:var(--serif);font-size:18px}
.food-menu-jump a:hover{color:var(--red);background:none;border-bottom-color:var(--red)}
.food-categories{grid-area:categories;min-width:0}
.food-category{scroll-margin-top:110px;border-color:#d9d2c7}
.food-category summary{padding:19px 0}
.food-category summary h3{font-size:25px;letter-spacing:-.4px}
.food-category[open] summary h3{color:var(--red)}
.food-category-content{padding-bottom:24px}
.food-category-note{font-size:13px}
.food-items{gap:0 34px}
.food-item{padding:14px 0;border-color:#e5ded2}
.food-item h4{font-size:14px}
.food-item p{font-size:13px;line-height:1.55}
.food-item-price{font-family:var(--serif);font-size:17px;font-weight:400}
.food-menu-bottom{grid-area:bottom;text-align:center;padding-top:28px}
.specials{background:var(--warm-white);padding:70px 0 64px}
.specials-header{margin-bottom:34px}
.specials-header .section-label{margin-bottom:10px}
.specials-header h2{font-size:clamp(43px,4.9vw,61px)}
.special-menus{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.special-menu{padding:27px 40px 23px 0}
.special-menu+.special-menu{padding:27px 0 23px 40px}
.special-menu-head{margin-bottom:9px}
.special-menu h3{font-size:27px}
.availability{font-size:9px;letter-spacing:1.2px}
.deal{padding:15px 0;border-color:#ece5d9}
.deal dt{font-size:14px}
.deal dd{font-size:23px;color:var(--red)}
.deal p{font-size:13px}
.specials-bottom{padding-top:25px}
.specials-bottom p{font-size:10px;letter-spacing:1.2px;text-transform:uppercase}
.perks{background:#211f1b;padding:54px 0}
.perks .section-label{color:#ded3c2}
.perks h2{font-size:44px}
.perks p:not(.section-label){font-size:14px;line-height:1.7;color:#f1eee7}
.perks .button.white{background:transparent;color:#fff;border-color:#ffffff99}
.visit{background:var(--paper);padding:65px 0}
.visit h2{font-size:48px}
.visit-details h3{font-size:9px;letter-spacing:1.5px}
.visit address,.visit-details p{font-size:14px;line-height:1.75}
.text-link{font-size:12px}
.footer{background:var(--paper);padding:18px 0;border-color:var(--line)}
.footer-inner{font-size:10px}
@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.header-inner{gap:16px}.nav{gap:17px}.nav a{font-size:9px}.quick-rail a{width:46px;height:48px}.full-food-menu>.wrap{grid-template-columns:190px minmax(0,1fr);column-gap:32px}.page-index{width:calc(100% - 56px)}.page-index>a{grid-template-columns:78px minmax(0,1fr) 20px;column-gap:14px}.page-index>a>img{width:78px;height:68px}}
@media(max-width:760px){html{scroll-padding-top:104px}.service-bar{height:26px;padding:0 17px;font-size:7px;letter-spacing:.8px}.service-bar>span:first-child{display:none}.service-bar>span:nth-child(2){margin-right:auto}.header{top:26px;background:linear-gradient(180deg,#121210bd,#12121060)}.header-inner{min-height:0;padding:8px 0 9px;gap:8px}.wordmark img{width:119px;max-height:62px;padding:5px 7px}.nav{order:3;width:100%;justify-content:space-between;border-top:1px solid #ffffff55;padding-top:7px;gap:5px}.nav a{font-size:8px;letter-spacing:.65px;color:#fff}.header .button{font-size:8px;min-height:36px;padding:9px 12px;letter-spacing:.9px}.header.is-pinned{top:0;background:#fffdf8f7}.header.is-pinned .nav{border-top-color:var(--line)}.header.is-pinned .nav a{color:var(--ink)}.header.is-pinned .header-inner{padding-top:7px}.hero{height:660px;min-height:620px;max-height:none}.hero-copy{padding:150px 20px 100px}.hero-kicker{font-size:7px;letter-spacing:1.8px;margin-bottom:18px}h1{font-size:35px;letter-spacing:.8px;line-height:1.25}h1 em{font-size:44px;margin-top:6px}.hero-rule{margin:19px auto}.hero-actions{gap:8px}.hero-actions .button{min-width:132px;padding:12px 13px;font-size:8px}.hero-foot{left:17px;bottom:25px;max-width:170px;font-size:7px;line-height:1.8;letter-spacing:.7px}.video-toggle{left:17px;bottom:49px;font-size:7px}.scroll-cue{bottom:14px;font-size:7px}.quick-rail{display:none}.hero-socials{display:flex;top:auto;right:12px;bottom:20px;gap:2px}.social-icon{width:30px;height:30px;background:transparent;border:1px solid #ffffff85}.social-icon svg{width:17px;height:17px}.page-index{width:calc(100% - 28px);grid-template-columns:1fr;}
.page-index>a{min-height:88px;grid-template-columns:64px minmax(0,1fr) 20px;column-gap:13px;padding:10px 7px 10px 0}
.page-index>a+a{padding-left:0;border-left:0;border-top:1px solid var(--line)}
.page-index>a>img{width:64px;height:58px}
.page-index span{font-size:7px;letter-spacing:1px}
.page-index strong{font-size:20px}
.page-index b{font-size:19px}
.full-food-menu{padding:42px 0 45px}
.full-food-menu>.wrap{display:block}
.food-menu-heading{align-items:center;gap:12px;margin-bottom:17px}
.food-menu-heading h2{font-size:40px}
.food-menu-heading .section-label{font-size:7px;margin-bottom:6px}
.food-menu-heading .button{min-height:36px;padding:9px 11px;font-size:7px;letter-spacing:.7px}
.food-menu-jump{position:sticky;top:96px;z-index:5;display:flex;flex-direction:row;gap:8px;overflow-x:auto;white-space:nowrap;margin:0 -20px 15px;padding:9px 20px;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);scrollbar-width:none}
.food-menu-jump::-webkit-scrollbar{display:none}
.food-menu-jump:before{content:none}
.food-menu-jump a{flex:0 0 auto;padding:6px 10px;border:1px solid #d7d0c4;font-size:9px;background:#fffdf8}
.food-menu-jump a:after{content:none}
.food-category{scroll-margin-top:150px}
.food-category summary{padding:15px 0}
.food-category summary h3{font-size:22px}
.food-items{grid-template-columns:1fr}
.food-item{padding:12px 0}
.food-item p{font-size:12px}
.specials{padding:43px 0 42px}
.specials-header{margin-bottom:22px}
.specials-header h2{font-size:42px}
.special-menus{grid-template-columns:1fr}
.special-menu{padding:21px 0}
.special-menu+.special-menu{border-left:0;border-top:1px solid var(--line);padding:21px 0}
.special-menu-head{flex-direction:row;align-items:baseline}
.special-menu h3{font-size:24px}
.deal{padding:13px 0}
.perks{padding:35px 0}
.perks-inner{align-items:flex-start;flex-direction:column;gap:20px}
.perks h2{font-size:35px}
.visit{padding:40px 0}
.visit-inner{grid-template-columns:1fr;gap:26px}
.visit h2{font-size:39px}
.visit-details{grid-template-columns:1fr 1fr;gap:20px}
.visit-details h3{font-size:8px}
.visit address,.visit-details p{font-size:12px}
.footer-inner{flex-wrap:wrap}
.mobile-order{display:flex;position:fixed;z-index:18;left:14px;right:14px;bottom:11px;min-height:45px;box-shadow:0 4px 15px #0002}
}
@media(max-width:390px){.wrap{width:calc(100% - 32px)}.header-inner{width:calc(100% - 26px)}.nav a{font-size:7.2px}.hero{height:620px}.hero-copy{padding-top:142px}h1{font-size:31px}.hero-actions .button{min-width:120px}.page-index{width:calc(100% - 20px)}.food-menu-heading h2{font-size:35px}.food-menu-heading .button{padding:8px}.visit-details{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.header,.quick-rail a{transition:none}}

/* Event inquiries are a direct, useful next step without promising catering services. */
.events{background:#a60606;color:#fff;padding:46px 0}
.events-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:56px}
.events .section-label{color:#f1d9d1;margin-bottom:10px}
.events h2{font-size:clamp(38px,4.3vw,54px);letter-spacing:-1.2px}
.events-copy{display:flex;align-items:center;flex-wrap:wrap;gap:14px 20px}
.events-copy p{flex-basis:100%;max-width:520px;color:#fff;margin:0;font-size:15px;line-height:1.75}
.events .button{background:transparent;border-color:#ffffffa8;color:#fff;min-height:44px}
.events .button:hover{background:#ffffff16}
.events-phone{font-size:13px;letter-spacing:.6px;color:#fff}
@media(max-width:760px){.events{padding:36px 0}.events-inner{grid-template-columns:1fr;gap:16px}.events h2{font-size:38px}.events-copy{gap:12px}.events-copy p{font-size:13px}.events .button{min-height:42px;font-size:8px}.events-phone{font-size:12px}}

/* Let the dough video lead; the section links stay editorial and image-free. */
.page-index>a{grid-template-columns:minmax(0,1fr) 24px;grid-template-rows:auto auto;min-height:112px;padding:26px 30px 26px 0}
.page-index>a+a{padding-left:30px}
.page-index>a>img{display:none}
.page-index span{grid-column:1;grid-row:1}
.page-index strong{grid-column:1;grid-row:2}
.page-index b{grid-column:2;grid-row:1/3;position:static;align-self:center}
.events .section-label{color:#f1d9d1;margin-bottom:10px}
.events h2{font-size:clamp(38px,4.3vw,54px);letter-spacing:-1.2px}
.events-copy{display:flex;align-items:center;flex-wrap:wrap;gap:14px 20px}
.events-copy p{flex-basis:100%;max-width:520px;color:#fff;margin:0;font-size:15px;line-height:1.75}
.events .button{background:transparent;border-color:#ffffffa8;color:#fff;min-height:44px}
.events .button:hover{background:#ffffff16}
@media(max-width:760px){.page-index>a{grid-template-columns:minmax(0,1fr) 20px;min-height:78px;padding:12px 7px 12px 0}.page-index>a+a{padding-left:0}.page-index b{position:static;right:auto;top:auto}.events{padding:36px 0}.events-inner{grid-template-columns:1fr;gap:16px}.events h2{font-size:38px}.events-copy{gap:12px}.events-copy p{font-size:13px}.events .button{min-height:42px;font-size:8px}}

/* Clear, more readable navigation and service information. */
.service-bar{height:36px;padding:0 48px;font-size:11px;letter-spacing:1.2px}
.header{top:36px}
.nav{gap:clamp(17px,2vw,28px)}
.nav a{font-size:12px;letter-spacing:1.05px}
.header .button{font-size:11px;letter-spacing:1.15px}
.hero{height:calc(100svh - 36px)}
.hero-kicker{font-size:11px;letter-spacing:2.8px}
.hero-foot{font-size:10px;letter-spacing:1.3px}
.events .section-label{color:#f1d9d1;margin-bottom:10px}
.events h2{font-size:clamp(38px,4.3vw,54px);letter-spacing:-1.2px}
.events-copy{display:flex;align-items:center;flex-wrap:wrap;gap:14px 20px}
.events-copy p{flex-basis:100%;max-width:520px;color:#fff;margin:0;font-size:15px;line-height:1.75}
.events .button{background:transparent;border-color:#ffffffa8;color:#fff;min-height:44px}
.events .button:hover{background:#ffffff16}
@media(max-width:1050px){.nav{gap:14px}.nav a{font-size:11px;letter-spacing:.8px}}
@media(max-width:760px){.service-bar{height:34px;padding:0 17px;font-size:9px;letter-spacing:.7px}.header{top:34px}.nav{gap:7px}.nav a{font-size:9.5px;letter-spacing:.35px}.header .button{font-size:9px;letter-spacing:.55px}.hero{height:calc(660px + 34px);min-height:654px}.hero-kicker{font-size:9px;letter-spacing:1.5px}.hero-foot{font-size:9px;letter-spacing:.55px}.events{padding:36px 0}.events-inner{grid-template-columns:1fr;gap:16px}.events h2{font-size:38px}.events-copy{gap:12px}.events-copy p{font-size:13px}.events .button{min-height:42px;font-size:9px}.events-phone{font-size:12px}}
@media(max-width:390px){.nav a{font-size:8.5px;letter-spacing:.15px}.service-bar{font-size:8px}.hero-foot{font-size:8px}}

/* Simple event inquiry form; submission destination will be connected separately. */
.events{background:#a60606;color:#fff;padding:52px 0}
.events-inner{display:grid;grid-template-columns:.8fr 1.2fr;align-items:start;gap:56px}
.events .section-label{color:#f1d9d1;margin-bottom:10px}
.events h2{font-size:clamp(38px,4.3vw,54px);letter-spacing:-1.2px}
.events-copy{max-width:440px;color:#fff;margin:18px 0 22px;font-size:15px;line-height:1.75}
.events .button{background:transparent;border-color:#ffffffa8;color:#fff;min-height:44px}
.events .button:hover{background:#ffffff16}
.event-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
.event-form label{display:grid;gap:6px;color:#fff;font-size:12px;letter-spacing:.4px}
.event-form label:nth-of-type(3),.event-form-row,.event-form label:nth-of-type(4),.event-form button{grid-column:1/-1}
.event-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.event-form input,.event-form select,.event-form textarea{width:100%;min-height:43px;padding:10px 12px;border:1px solid #ffffff83;border-radius:0;background:#ffffff0d;color:#fff;font:inherit;font-size:14px}
.event-form select option{color:#201d19;background:#fffdf8}
.event-form textarea{resize:vertical}
.event-form input::placeholder,.event-form textarea::placeholder{color:#ffffffa8}
.event-form button{justify-self:start;margin-top:5px}
@media(max-width:760px){.events{padding:36px 0}.events-inner{grid-template-columns:1fr;gap:24px}.events h2{font-size:38px}.events-copy{font-size:13px;margin:12px 0 18px}.event-form{grid-template-columns:1fr;gap:12px}.event-form label:nth-of-type(3),.event-form-row,.event-form label:nth-of-type(4),.event-form button{grid-column:auto}.event-form-row{grid-template-columns:1fr;gap:12px}.event-form label{font-size:11px}.event-form input,.event-form select,.event-form textarea{font-size:14px}}
