:root{--cream:#faf7f1;--linen:#f1ece3;--ink:#302720;--red:#b72d32;--gold:#bf9655;--amber:#e9bd57;--serif:Arial,Helvetica,sans-serif;--editorial:Arial,Helvetica,sans-serif;--display:'Barlow Condensed',sans-serif;--heading:48px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--linen);color:var(--ink);font:16px/1.8 var(--serif)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:7px}.skip{position:fixed;top:-100px;left:15px;z-index:100;background:var(--cream);padding:10px}.skip:focus{top:10px}h1,h2,h3,p{margin-top:0}.header{height:108px;padding:0 6%;display:flex;align-items:center;gap:35px;position:relative;z-index:20;background:var(--cream)}.logo{margin-right:auto}.logo img{width:142px;height:84px;object-fit:contain}nav{display:flex;gap:31px;align-items:center}nav a{font-size:14px;position:relative;white-space:nowrap;padding:10px 0}.nav-order{color:var(--red);font-style:italic;margin-left:28px}.nav-order:before{content:'';position:absolute;left:-29px;top:7px;height:35px;border-left:1px solid #b6aea66b;transform:rotate(3deg)}.menu-toggle{display:none}.button,.text-link{position:relative;display:inline-flex;align-items:center;gap:9px;padding:3px 0 13px;font:italic 400 25px/1.3 var(--editorial);color:var(--red);transition:transform .35s}.button:after,.text-link:after,nav a:after{content:'';position:absolute;bottom:2px;left:0;width:100%;height:7px;border-bottom:1px solid currentColor;border-radius:0 0 50% 35%;transform-origin:left;transition:transform .65s,opacity .65s}.button span,.text-link span{transition:transform .35s}.button:hover,.text-link:hover{transform:translateY(-2px)}.button:hover:after,.text-link:hover:after,nav a:hover:after{transform:scaleX(1.08)}.button:hover span,.text-link:hover span{transform:translateX(7px)}nav a:after{opacity:0;transform:scaleX(.25)}nav a:hover:after,nav a:focus-visible:after,.nav-order:after{opacity:1;transform:scaleX(1)}.hero-backdrop,.introduction{background-color:var(--linen);background-image:repeating-linear-gradient(0deg,transparent 0 3px,#a18e6d06 3px 4px),repeating-linear-gradient(90deg,transparent 0 4px,#a18e6d06 4px 5px)}.hero{height:min(740px,calc(100svh - 108px));min-height:550px;position:relative;isolation:isolate;overflow:hidden;color:var(--cream)}.hero-photo,.hero-video,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;z-index:-2}.hero-video{opacity:0;transition:opacity .7s;pointer-events:none}.hero-video.is-playing{opacity:1}.hero-shade{z-index:-1;background:linear-gradient(180deg,#1e170d55,#1e170d80 50%,#1e170d77)}.hero-content{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 6% 50px}.eyebrow{font:600 12px/1.5 var(--display);letter-spacing:2.4px;text-transform:uppercase;color:var(--red);margin:0 0 18px}.eyebrow.light{color:#f0dfbe}.eyebrow.gold{color:#d9c199}h1{font:800 clamp(100px,12vw,172px)/.95 var(--display);letter-spacing:-2px;margin:3px 0 7px;text-shadow:0 3px 25px #0003}.hero-pub-mark{display:flex;align-items:center;gap:16px;color:#efcc78;margin:14px 0 25px}.hero-pub-mark>span{width:55px;height:1px;background:currentColor;opacity:.65}.hero-pub-mark svg{width:54px;height:44px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.quote-card{background:#fffaf1;color:var(--ink);border:1px solid #baa38770;box-shadow:0 18px 38px #30201630;position:relative;padding:22px 25px;min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.quote-card:before{content:'';position:absolute;inset:7px;border:1px solid #b69a6b66;pointer-events:none}.quote-card>span{font:italic 29px/1.2 var(--editorial)}.quote-card small{font:600 10px/1.5 var(--display);letter-spacing:1.6px;color:#79603b;text-transform:uppercase;margin-top:10px;display:flex;align-items:center;gap:9px}.quote-card small:before,.quote-card small:after{content:'';height:1px;width:19px;background:#b69a6b77}.hero-card{width:430px;max-width:100%}.introduction{text-align:center;padding:38px 6% 50px;background-image:linear-gradient(#e8c38e55,#e8c38e55),url("assets/rjs-maple-texture.jpg?v=20260929-pub2");background-size:cover;background-position:center;border-bottom:1px solid #b88a5066}.introduction p{font:400 29px/1.4 var(--editorial);margin:0 auto 22px;max-width:730px}.introduction .eyebrow{font-size:10px;letter-spacing:2px}.intro-pending .introduction p{opacity:0}.intro-pending .introduction p.visible{opacity:1;transition:opacity .8s ease-out}.section{padding:95px max(6%,calc((100vw - 1220px)/2))}h2{font:700 var(--heading)/1.05 var(--display);margin:0 0 25px;letter-spacing:.1px}h2 em{font:italic 400 .94em/1.15 var(--editorial);letter-spacing:-.5px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-bottom:48px}.section-heading h2{margin:0}.menu-section{padding-top:45px;padding-bottom:115px}.food-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.food-image{height:320px;position:relative;margin:0 0 27px 9px}.food-image:before,.framed:before{content:'';position:absolute;inset:12px 12px -12px -12px;border:1px solid var(--gold);pointer-events:none}.food-image img{position:relative;width:100%;height:100%;object-fit:cover;box-shadow:0 14px 25px #39291620;transition:filter .4s}.food:hover img{filter:brightness(1.08)}.food-title{display:flex;justify-content:space-between;align-items:center}.food-title h3{font:italic 36px/1.2 var(--editorial);margin:0 0 12px}.food-title>span{color:var(--red);font-size:23px}.food p{font-size:14px;color:#6c6256;line-height:1.8;margin:0}.story,.patio{position:relative;background:linear-gradient(#21190fce,#21190fce),url("assets/rjs-maple-texture.jpg?v=20260929-pub2") center/cover;color:var(--cream);display:grid;grid-template-columns:1.35fr 1fr;gap:8%;padding-top:105px;padding-bottom:125px}.story:before,.patio:before{content:'';position:absolute;top:-25px;left:0;width:100%;height:45px;border-radius:52% 48% 0 0/75% 30% 0 0;background:#4a3824}.story-copy{grid-column:1;grid-row:1;align-self:center}.story-copy p:not(.eyebrow){font-size:16px;color:#e0d7cc;margin-bottom:22px}.story-copy p:nth-of-type(2),.patio-copy>p:not(.eyebrow),.specials-intro>p:not(.eyebrow){font:400 26px/1.4 var(--editorial)}.story .button,.patio .button{color:#dfc89f;margin-top:7px}.story-photo{grid-column:2;grid-row:1}.story-photo,.patio-photo{position:relative;min-height:400px;margin:0 12px 0 0}.story-photo>img,.patio-photo>img{position:absolute;width:100%;height:100%;object-fit:cover;box-shadow:0 18px 35px #0003}.story-photo>img{object-position:53% center}.photo-note{position:absolute;bottom:-35px;right:-18px;width:320px;max-width:95%;z-index:2}.specials{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;position:relative;padding-top:105px;padding-bottom:115px}.specials:before{content:'';position:absolute;top:-23px;left:0;width:100%;height:40px;border-radius:60% 40% 0 0/80% 20% 0 0;background:var(--linen)}.specials-intro{align-self:center}.specials-intro h2{font-size:43px}.specials-intro>p:not(.eyebrow){max-width:340px;color:#736354}.specials-list{align-self:center;padding:28px 34px;background:#fffaf1;border:1px solid #baa38788;outline:1px solid #b69a6b55;outline-offset:-9px;box-shadow:0 12px 30px #3020160b}.happy-hour{padding:0 0 23px;border-bottom:1px solid #b69a6b66}.happy-hour .eyebrow{display:block;margin-bottom:10px}.happy-hour h3{font:italic 34px/1.2 var(--editorial);display:flex;justify-content:space-between;gap:15px;margin-bottom:10px}.happy-hour h3 span{color:var(--red);white-space:nowrap}.happy-hour p{font-size:13px;margin:0}.happy-hour small{font-size:10px;color:#796d5e}.special-row{display:flex;align-items:center;gap:23px;padding:19px 0;border-bottom:1px solid #b69a6b44}.special-row>span{font:600 13px var(--display);letter-spacing:1px;color:var(--red);width:30px}.special-row h3{font:italic 26px/1.2 var(--editorial);margin:0 0 4px}.special-row p{font-size:12px;margin:0;color:#766b5b}.special-row strong{margin-left:auto;font:italic 25px var(--editorial);white-space:nowrap}.fine-print{font-size:10px;margin:16px 0 0;color:#766b5b}.patio{grid-template-columns:1fr 1.15fr;gap:10%;padding-top:95px;padding-bottom:120px}.patio-copy{align-self:center}.patio-photo{min-height:365px}.patio-photo>img{object-position:48% center}.visit{position:relative;text-align:center;padding-top:65px;padding-bottom:45px}.visit:before{content:'';position:absolute;top:-38px;left:0;width:100%;height:60px;border-radius:65% 35% 0 0/100% 25% 0 0;background:var(--linen)}.visit-logo{display:inline-block;margin-bottom:22px}.visit-logo img{width:216px;height:120px;object-fit:contain}.visit-title{margin:0 auto 35px;position:relative;padding-top:24px;max-width:700px}.visit-title:before{content:'';position:absolute;top:0;left:0;width:100%;height:5px;border-top:1px solid #a5957a;border-radius:50%;transform:rotate(-.4deg)}.visit-title h2{margin-bottom:0;font-size:40px}.visit-title .eyebrow{font-size:10px;margin-bottom:10px}.visit-grid{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:22px}.visit-grid>div{background:#fffaf1;border:1px solid #b69a6b55;outline:1px solid #b69a6b44;outline-offset:-8px;padding:28px 24px}.visit-grid h3{font:600 16px/1.4 var(--display);letter-spacing:1.2px;color:var(--red);margin:0 0 20px}.visit-grid address,.visit-grid p{font-size:14px;font-style:normal;line-height:2}.visit-grid p{margin-bottom:12px}.visit-grid small{font-size:10px;color:#766b5b}.hours{font-size:12px;margin:0 0 12px}.hours div{display:flex;justify-content:space-between;gap:12px;padding:4px 0}.hours dd{margin:0;white-space:nowrap}.visit-grid .text-link{font-size:23px}.visit-grid a[href^=tel]:hover{text-decoration:underline}footer{padding:0 6% 28px;text-align:center}footer>div{display:flex;justify-content:center;gap:27px;font-size:11px}.copyright{display:block;font-size:10px;color:#817364;margin-top:19px}.motion .reveal{opacity:0;transform:translateY(20px);transition:opacity .8s,transform .8s}.motion .reveal.visible{opacity:1;transform:none}.quote-card.settle{animation:settle 1.3s cubic-bezier(.22,.61,.36,1) both;transform-origin:50% 85%}@keyframes settle{0%{opacity:0;transform:translateY(-32px) perspective(600px) rotateX(20deg) rotate(-6deg) scale(1.04)}75%{opacity:1;transform:translateY(2px) rotate(.7deg)}100%{opacity:1;transform:none}}
@media(max-width:1100px){nav{gap:20px}.header{padding:0 5%;gap:24px}.nav-order{margin-left:14px}.nav-order:before{left:-18px}.section{padding-left:6%;padding-right:6%}.food-grid{gap:25px}.food-image{height:275px}.visit-grid{gap:14px}.visit-grid>div{padding:25px 18px}.hours{font-size:11px}}
@media(max-width:1000px){:root{--heading:40px}.hero{min-height:570px}.story,.patio{gap:6%}.photo-note{right:-10px}.food-title h3{font-size:32px}.quote-card{min-height:106px}.visit-grid{grid-template-columns:1fr 1.25fr 1fr}.visit-grid address,.visit-grid p{font-size:12px}}
@media(max-width:900px){.header{height:88px}.logo img{width:120px;height:72px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;background:none;border:0;width:44px;height:44px;padding:10px}.menu-toggle span{width:24px;height:2px;background:var(--ink)}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:20px 6% 28px;box-shadow:0 15px 20px #0002}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav a{font-size:17px;padding:12px 0}.nav-order{margin:5px 0 0}.nav-order:before{display:none}nav a:after{width:110px}.food-image{height:230px}.visit-grid{grid-template-columns:1fr 1fr}.visit-grid>div:last-child{grid-column:1/-1}.visit-grid address,.visit-grid p{font-size:14px}.hours{font-size:12px}}
@media(max-width:720px){:root{--heading:39px}.header{height:82px}.logo img{width:111px;height:68px}.hero{height:calc(88svh - 82px);min-height:520px;max-height:710px}.hero-photo,.hero-video{object-position:62% center}.hero-shade{background:#20180e70}.hero-content{padding:30px 6%}.hero-content>.eyebrow{font-size:10px}h1{font-size:100px}.hero-pub-mark{margin:12px 0 22px}.hero-pub-mark svg{height:38px;width:48px}.hero-card{width:350px}.quote-card{min-height:100px;padding:22px 16px}.quote-card>span{font-size:27px}.quote-card small{font-size:9px;letter-spacing:1px;gap:6px}.quote-card small:before,.quote-card small:after{width:12px}.introduction{padding:30px 7% 35px}.introduction p{font-size:24px}.introduction .eyebrow{font-size:9px;letter-spacing:1.4px}.desktop{display:none}.section{padding:65px 7%}.menu-section{padding-top:30px;padding-bottom:90px}.section-heading{display:block;margin-bottom:35px}.section-heading h2{margin-bottom:20px}.food-grid{grid-template-columns:1fr;gap:38px}.food-image{height:340px;margin-bottom:25px}.food-title h3{font-size:37px}.food p{font-size:14px}.story,.patio{grid-template-columns:1fr;gap:36px;padding-bottom:105px}.story-copy{grid-column:1;grid-row:1}.story-photo{grid-column:1;grid-row:2}.story-photo,.patio-photo{height:360px;min-height:0;margin-left:10px}.story-copy p:nth-of-type(2),.patio-copy>p:not(.eyebrow),.specials-intro>p:not(.eyebrow){font-size:24px}.story-copy p:not(.eyebrow){line-height:1.65}.story-copy p:nth-of-type(2){line-height:1.4}.specials{grid-template-columns:1fr;gap:30px;padding-bottom:85px}.specials-intro>p:not(.eyebrow){max-width:none}.specials-list{padding:25px}.happy-hour h3{font-size:32px}.patio-photo{height:330px}.visit{padding-top:35px;padding-bottom:30px}.visit-logo img{width:200px;height:112px}.visit-title h2{font-size:37px}.visit-grid{grid-template-columns:1fr;gap:18px}.visit-grid>div:last-child{grid-column:auto}.visit-grid>div{padding:27px}.visit-grid h3{margin-bottom:17px}.hours{font-size:13px;max-width:340px;margin-left:auto;margin-right:auto}.visit-grid p{margin-bottom:10px}footer>div{gap:20px;font-size:10px}.photo-note{max-width:96%;right:-12px}footer{padding-bottom:25px}}
@media(max-width:360px){h1{font-size:88px}.quote-card>span{font-size:24px}.quote-card small{font-size:8px}.food-image{height:290px}.specials-list{padding:23px 20px}.happy-hour h3{font-size:29px}.special-row{gap:12px}.hours{font-size:11px}.visit-title h2{font-size:33px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion .reveal,.intro-pending .introduction p{opacity:1;transform:none}.hero-video{display:none}}

/* RJ’s material and atmosphere cues, derived from the venue media. */
.pub-details{display:flex;justify-content:center;align-items:center;gap:35px;margin:0 auto 28px;color:#49331e}.pub-details>span{display:flex;align-items:center;gap:10px;font:600 15px/1.2 var(--display);letter-spacing:1px;text-transform:uppercase}.pub-details svg{height:37px;width:37px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.pub-details i{font-size:12px;color:#9f3026;font-style:normal}.introduction .eyebrow{color:#94291f}.hero-card{border-color:#e5bc60}.hero-card:before{border-color:#b88b4488}.beer-photo{position:relative;margin:0 18px 40px 0}.beer-photo>img{width:100%;height:255px;object-fit:cover;object-position:50% 48%;box-shadow:0 14px 30px #30201625}.beer-photo:before{content:'';position:absolute;inset:10px 10px -10px -10px;border:1px solid var(--gold);z-index:-1}.pub-coaster{width:115px;height:115px;border-radius:50%;position:absolute;right:-24px;bottom:-22px;background:#f7ead1;color:#9e302b;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid #b18a4c;outline:1px dashed #b18a4c99;outline-offset:-8px;box-shadow:0 7px 20px #30201625;transform:rotate(9deg)}.pub-coaster b{font:800 32px/1 var(--display);letter-spacing:1px}.pub-coaster>span{font:600 11px/1.35 var(--display);letter-spacing:1px;text-transform:uppercase;margin-top:7px}.specials{gap:11%}.specials-list{border-top:5px solid var(--red)}.happy-hour h3{font:700 36px/1.1 var(--display)}.happy-hour h3 span{font:italic 32px var(--editorial)}.food-title h3{font:600 33px/1.2 var(--display)}.photo-note:before{border-color:#b18a4c77}.visit-grid h3{font-size:17px}.story:before,.patio:before{background:#4a3824}.specials-intro .eyebrow{margin-top:5px}
@media(max-width:1000px){.pub-details{gap:23px}.beer-photo>img{height:225px}.pub-coaster{width:100px;height:100px}.specials-intro h2{font-size:40px}}
@media(max-width:720px){.pub-details{gap:16px;margin-bottom:25px}.pub-details>span{flex-direction:column;gap:9px;font-size:10px;letter-spacing:.7px}.pub-details svg{width:31px;height:31px}.pub-details i{font-size:9px}.beer-photo{margin:0 15px 45px 10px}.beer-photo>img{height:230px}.specials-intro h2{font-size:39px}.specials{gap:32px}.hero-pub-mark>span{width:43px}.food-title h3{font-size:34px}}
@media(max-width:360px){.pub-details{gap:11px}.pub-details>span{font-size:9px}.beer-photo>img{height:210px}}

/* Pub signs and menu sheets: RJ’s own callout family. */
.hero-backdrop{position:relative;background:#f3e6ca;overflow:hidden}.hero-pending .hero{visibility:hidden}.beer-fill-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}.beer-foam{fill:#fff5da}.beer-amber{fill:#d99a22}.beer-bubbles{fill:#ffe9ac;stroke:#fff6dc;stroke-width:.7}
.hero-card{background:#9d2827;color:#fff5db;border:0;border-top:3px solid #e8ba55;border-bottom:3px solid #e8ba55;min-height:104px;box-shadow:0 12px 28px #0004;padding:19px 24px;transform:rotate(-1deg)}.hero-card:before,.photo-note:before{display:none}.hero-card>span{font:600 30px/1.15 var(--display);letter-spacing:.5px}.hero-card small{color:#f4d69b}.hero-card small:before,.hero-card small:after{background:#efc97388}
.photo-note{background:#efd69f;border:0;border-left:5px solid #ad302a;min-height:93px;padding:18px 22px;text-align:left;align-items:flex-start;box-shadow:5px 7px 0 #23170f55,0 12px 22px #0002}.photo-note>span{font:700 28px/1.1 var(--display);color:#392717;letter-spacing:.2px}.photo-note small{color:#84312a;font-size:10px;letter-spacing:1.2px;margin-top:9px}.photo-note small:before,.photo-note small:after{display:none}
.visit-grid>div{background:transparent;border:0;border-top:3px solid #aa302a;outline:0;padding:25px 16px}.visit-grid{gap:38px}.visit-grid h3{font-size:20px}.specials-list{outline:0;border:0;border-top:5px solid var(--red);box-shadow:6px 7px 0 #bca67b25,0 12px 30px #3020160b}.sign-arrive{animation:sign-arrive .65s ease-out both}@keyframes sign-arrive{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media(max-width:720px){.hero-card{min-height:98px;padding:20px}.hero-card>span{font-size:27px}.photo-note{min-height:88px;padding:17px 19px}.photo-note>span{font-size:26px}.photo-note small{font-size:9px}.visit-grid{gap:23px}.visit-grid>div{padding:23px 10px}.hero-card small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.hero-pending .hero{visibility:visible}.beer-fill-overlay{display:none}}

/* A shared table, composed from RJ’s food references. */
.introduction{position:relative;isolation:isolate;display:grid;place-items:center;min-height:clamp(560px,49vw,740px);padding:70px 6%;background:#b17b43;border:0;overflow:hidden}.intro-spread{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 15%;z-index:-2}.intro-panel{max-width:370px;margin:0 auto;padding:30px 0;color:#302315;position:relative}.intro-panel:before{content:'';position:absolute;inset:-65px -55px;background:radial-gradient(ellipse,#fff3dcd9 0%,#fff0d4b8 35%,#fff0d400 72%);z-index:-1;pointer-events:none}.intro-panel p{font:400 33px/1.25 var(--editorial);margin:0 0 24px;text-wrap:balance}.intro-panel .desktop{display:none}.intro-panel>.eyebrow{display:block;max-width:280px;margin:0 auto;color:#82271d;font-size:11px;letter-spacing:1.5px;line-height:1.7}
@media(min-width:1600px){.introduction{min-height:650px}.intro-panel{max-width:430px}.intro-panel p{font-size:38px}}
@media(max-width:1000px){.introduction{min-height:490px}.intro-panel{max-width:290px}.intro-panel p{font-size:29px}}
@media(max-width:720px){.introduction{display:block;min-height:0;padding:0;background:var(--linen);overflow:hidden}.intro-spread{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;z-index:auto}.intro-panel{max-width:480px;padding:30px 7% 40px;margin:0 auto}.intro-panel:before{display:none}.intro-panel p{font-size:27px;line-height:1.35;margin-bottom:20px}.intro-panel>.eyebrow{font-size:10px;max-width:300px;letter-spacing:1.1px}}

/* The shared food table now sets the scene for RJ’s story. */
.introduction{display:block;min-height:0;padding:55px 6%;background:var(--linen);overflow:visible}.intro-panel{max-width:730px;padding:0}.intro-panel:before{display:none}.intro-panel p{font-size:29px;line-height:1.4;margin-bottom:20px}.intro-panel>.eyebrow{max-width:none}
.story{background:linear-gradient(90deg,rgba(24,18,12,.88),rgba(24,18,12,.79) 48%,rgba(24,18,12,.4)),url("assets/rjs-table-spread.jpg?v=20260929-story6") center/cover}.story:before{background:var(--linen);top:0;height:27px;border-radius:0 0 55% 30%/0 0 100% 80%}
@media(max-width:720px){.introduction{padding:38px 7% 42px}.intro-panel{max-width:480px}.intro-panel p{font-size:26px}.story{background:linear-gradient(rgba(24,18,12,.84),rgba(24,18,12,.78)),url("assets/rjs-table-spread.jpg?v=20260929-story6") center top/auto 100%}}

/* Straight section boundaries suit the pub’s signage and table surfaces. */
.story:before,.specials:before,.patio:before,.visit:before{display:none}

/* The daily specials read like a handwritten board at the pub. */
.specials-list{position:relative;background-color:#252c29;background-image:radial-gradient(ellipse at 20% 12%,#f1eee00b,transparent 48%),radial-gradient(ellipse at 75% 80%,#f1eee008,transparent 55%),repeating-linear-gradient(175deg,transparent 0 7px,#ffffff02 8px 9px);color:#f0efdf;border:12px solid #765033;border-image:none;outline:1px solid #3f2a1b;outline-offset:-5px;padding:32px 35px;box-shadow:inset 0 0 0 2px #171e1b,inset 0 0 30px #0005,0 14px 30px #30201626;transform:rotate(-.6deg)}
.specials-list .eyebrow{color:#e0c989;letter-spacing:2.3px}.specials-list .happy-hour{border-bottom:2px dashed #eee9d46b;padding-bottom:23px}.specials-list .happy-hour h3{font:600 40px/1.15 var(--display);letter-spacing:1px;color:#f4f1df;text-shadow:1px 0 #ffffff25,-1px 0 #ffffff15}.specials-list .happy-hour h3 span{font:italic 31px/1.25 var(--editorial);color:#ead496}.specials-list .happy-hour p{color:#ecebdd;font-size:14px}.specials-list .happy-hour small{color:#c9ccbb;font-size:11px}.specials-list .special-row{border-bottom:1px dashed #e8e7d350;padding:22px 0}.specials-list .special-row>span{color:#e4cf94;font-size:15px;letter-spacing:1.5px}.specials-list .special-row h3{color:#f4f1df;font:italic 29px/1.1 var(--editorial)}.specials-list .special-row p{color:#c9ccbb;font-size:13px}.specials-list .special-row strong{color:#e9d498;font-size:28px}.specials-list .fine-print{color:#c9ccbb;font-size:11px;line-height:1.6;margin-top:20px}
@media(max-width:1000px){.specials-list{padding:27px 24px;border-width:10px}.specials-list .happy-hour h3{font-size:35px}.specials-list .happy-hour h3 span{font-size:28px}}
@media(max-width:720px){.specials-list{transform:none;padding:27px 23px;border-width:10px}.specials-list .special-row{gap:17px}.specials-list .special-row h3{font-size:27px}.specials-list .special-row strong{font-size:26px}}
@media(max-width:360px){.specials-list{padding:24px 16px;border-width:8px}.specials-list .happy-hour h3{font-size:31px}.specials-list .happy-hour h3 span{font-size:25px}.specials-list .special-row{gap:10px}.specials-list .special-row h3{font-size:24px}}

.chalk-item-mark{flex:0 0 64px;display:flex;flex-direction:column;align-items:center;gap:6px}.chalk-item-mark img{width:64px;height:56px;object-fit:contain;opacity:.94}.chalk-item-mark>span{font:600 12px/1 var(--display);letter-spacing:2px;color:#e4cf94}.specials-list .special-row{gap:20px}.specials-list .special-row>div:nth-child(2){min-width:0}.specials-list .special-row strong{flex-shrink:0}
@media(max-width:720px){.chalk-item-mark{flex-basis:46px}.chalk-item-mark img{width:46px;height:44px}.chalk-item-mark>span{font-size:11px}.specials-list .special-row{gap:12px}.specials-list .special-row h3{font-size:26px}}
@media(max-width:360px){.chalk-item-mark{flex-basis:36px}.chalk-item-mark img{width:36px;height:36px}.specials-list .special-row{gap:9px}.specials-list .special-row h3{font-size:23px}.specials-list .special-row strong{font-size:23px}}
/* Detailed fal chalk sketches retain their hand-drawn strokes on the slate. */
.chalk-item-mark{flex-basis:88px}.chalk-item-mark img{width:88px;height:82px;mix-blend-mode:screen;opacity:1}.specials-list{isolation:isolate}
@media(max-width:1000px){.chalk-item-mark{flex-basis:70px}.chalk-item-mark img{width:70px;height:70px}}
@media(max-width:720px){.chalk-item-mark{flex-basis:58px}.chalk-item-mark img{width:58px;height:58px}.specials-list .special-row{gap:10px}}
@media(max-width:360px){.chalk-item-mark{flex-basis:44px}.chalk-item-mark img{width:44px;height:46px}.specials-list .special-row{gap:8px}}

.chalk-item-mark img{filter:contrast(1.4)}

.specials-intro .beer-photo{margin:35px 18px 22px 0}
@media(max-width:720px){.specials-intro .beer-photo{margin:32px 15px 22px 10px}}

.pub-coaster{transition:transform .25s,box-shadow .25s}.pub-coaster:hover,.pub-coaster:focus-visible{transform:rotate(3deg) translateY(-3px);box-shadow:0 10px 24px #30201638}.pub-coaster:focus-visible{outline:3px solid var(--red);outline-offset:4px}

.coaster-scene{position:absolute;right:-24px;bottom:-22px;width:115px;height:115px;z-index:2}.coaster-scene .pub-coaster{inset:0;z-index:1}.coaster-bottles{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);width:175px;max-width:none;height:230px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 5px 5px #21170b44)}
@media(max-width:1000px){.coaster-scene{width:100px;height:100px}.coaster-bottles{width:155px;height:205px;bottom:17px}}
@media(max-width:720px){.coaster-bottles{width:140px;height:185px;bottom:18px}}
/* Tuck the bottle labels behind the drink-menu coaster. */
.coaster-bottles{bottom:-12px}
@media(max-width:1000px){.coaster-bottles{bottom:-10px}}
@media(max-width:720px){.coaster-bottles{bottom:-8px}}

#hero-title{width:min(760px,85vw);margin:0 0 3px;line-height:0;letter-spacing:0}.hero-wordmark{width:100%;height:auto;filter:drop-shadow(0 3px 10px #0008)}
@media(max-width:720px){#hero-title{width:100%;max-width:460px;margin:5px 0 12px}}

#hero-title{position:relative;aspect-ratio:2.65;overflow:hidden}.hero-wordmark{position:absolute;top:50%;left:0;transform:translateY(-50%);height:auto}

#hero-title{width:min(390px,68vw);aspect-ratio:1.38;margin:0 0 0;flex-shrink:0}.hero-wordmark{filter:drop-shadow(0 3px 10px #0007)}
@media(max-width:720px){#hero-title{width:min(265px,70vw);max-width:none;margin:0}}
@media(max-width:720px){.coaster-scene{right:-18px}}

/* October venue references: actual rafters, red bulbs, neon and chalk lettering. */
.pub-ceiling{height:clamp(150px,19vw,270px);position:relative;overflow:hidden;background:linear-gradient(0deg,#17121bdd,#17121b18 65%),url('assets/venue/ceiling-fal-v1.webp') center 30%/cover;border-bottom:3px solid #302128}
.red-light-string{position:absolute;left:-2%;right:-2%;top:20%;height:54px;display:flex;justify-content:space-around;border-top:2px solid #171217;transform:rotate(-3deg)}
.red-light-string i{position:relative;display:block;width:12px;height:20px;margin-top:13px;border-radius:45% 45% 48% 48%;background:#ff443e;box-shadow:0 0 8px #ff251b,0 0 24px #ff211aaa;animation:pub-bulb 2.8s ease-in-out infinite;animation-delay:calc(var(--bulb)*-.23s)}
.red-light-string i:before{content:'';position:absolute;left:4px;top:-15px;height:15px;width:4px;background:#282126}
@keyframes pub-bulb{0%,100%{opacity:1;box-shadow:0 0 8px #ff251b,0 0 27px #ff211abb}50%{opacity:.35;box-shadow:0 0 3px #ff251b,0 0 7px #ff211a44}}
.header{gap:25px;background:#211d1b;color:#f5eada;border-bottom:1px solid #755335;height:110px;padding:0 4%}.logo{margin-right:0;flex-shrink:0}.header nav{margin-left:auto;gap:24px}.nav-order{color:#f0be91;margin-left:12px}.menu-toggle span{background:#f5eada}.pack-pub-sign{white-space:nowrap;color:#ff9d47;font:300 clamp(21px,2.3vw,34px)/1.1 Arial,sans-serif;letter-spacing:-1.5px;text-shadow:0 0 2px #fff1ad,0 0 8px #ff681d,0 0 20px #fb3b13;transform:rotate(-2deg);padding:10px 0}.pack-pub-sign span{font-size:.8em}.pack-pub-sign sup{font-size:.35em;vertical-align:top;letter-spacing:0}.pack-pub-sign:hover{filter:brightness(1.2)}
.specials{grid-template-columns:.8fr 1.35fr;gap:6%;align-items:center}.venue-board{position:relative;transform:rotate(-.5deg);box-shadow:0 15px 35px #21160f33;border:8px solid #63402c;background:#302925}.venue-board>img{width:100%;height:auto}.chalk-drawing{position:absolute;inset:0 0 auto;height:auto;aspect-ratio:1800/1054;pointer-events:none;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(8,1fr)}.chalk-drawing span{background:#302925;transform-origin:right center}.chalk-drawing.drawn span{animation:chalk-write .28s linear both;animation-delay:calc(var(--stroke)*.055s)}@keyframes chalk-write{from{clip-path:inset(0)}to{clip-path:inset(0 0 0 100%)}}
.board-caption{margin:0;padding:12px 15px;color:#e9d5b5;font:12px/1.5 var(--serif);background:#30231b}.board-caption a{color:#ffbd86;white-space:nowrap}.board-caption a:hover{text-decoration:underline}.board-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.venue-board:not(.chalk-ready) .chalk-drawing{display:none}
@media(max-width:1150px){.header{gap:18px}.header nav{gap:17px}.header nav a{font-size:12px}.logo img{width:115px}.pack-pub-sign{font-size:26px}}
@media(max-width:900px){.header{height:90px}.header nav{background:#211d1b;margin-left:0}.header nav a{font-size:17px}.pack-pub-sign{margin-left:auto;font-size:29px}.header .menu-toggle{flex-shrink:0}.specials{grid-template-columns:1fr 1.2fr;gap:4%}.venue-board{border-width:5px}}
@media(max-width:720px){.pub-ceiling{height:150px;background-position:45% 22%}.red-light-string{left:-15%;right:-15%}.red-light-string i{width:9px;height:15px}.header{height:85px;gap:15px;padding:0 5%}.logo img{width:100px}.pack-pub-sign{font-size:25px}.specials{grid-template-columns:1fr;gap:35px}.venue-board{transform:none}.board-caption{font-size:11px}.board-caption a{white-space:normal}}
@media(max-width:360px){.header{gap:8px}.logo img{width:88px}.pack-pub-sign{font-size:22px}}
@media(prefers-reduced-motion:reduce){.red-light-string i{animation:none}.chalk-drawing{display:none!important}}

/* Reference-guided fal assets replace the photographic draft. */
.pub-ceiling{height:clamp(180px,25vw,400px);background:#1b171c url('assets/venue/ceiling-fal-v1.webp') center/100% 100% no-repeat}.ceiling-bulb-glow{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.ceiling-bulb-glow ellipse{fill:#ff3e2a;filter:drop-shadow(0 0 6px #ff201a) drop-shadow(0 0 12px #ff271a);mix-blend-mode:screen;animation:ceiling-flash 2.8s ease-in-out infinite;animation-delay:calc(var(--bulb)*-.19s)}@keyframes ceiling-flash{0%,100%{opacity:.85}45%,65%{opacity:0}}
.pack-pub-sign{display:block;width:clamp(165px,19vw,270px);padding:0;letter-spacing:normal;transform:none;text-shadow:none;flex-shrink:0}.pack-pub-sign img{width:100%;height:auto;mix-blend-mode:lighten}.venue-board{border:0;overflow:hidden}.chalk-drawing{inset:3.6% 2.1% auto;height:calc((100% - 42px)*.93);aspect-ratio:auto;background:none}.chalk-drawing span{background:#292b2a}.board-caption{min-height:42px}
@media(max-width:1150px){.pack-pub-sign{width:190px}.header{gap:14px}.header nav{gap:15px}}
@media(max-width:900px){.pack-pub-sign{width:210px}}
@media(max-width:720px){.pub-ceiling{height:175px;background-size:auto 100%;background-position:center}.ceiling-bulb-glow{width:700px;left:50%;transform:translateX(-50%)}.pack-pub-sign{width:180px}.header{gap:10px}.chalk-drawing{height:calc((100% - 42px)*.93)}}
@media(max-width:360px){.pack-pub-sign{width:150px}}
@media(prefers-reduced-motion:reduce){.ceiling-bulb-glow ellipse{animation:none;opacity:.45}}

/* Navigation sign belongs after ordering, with a cooler ruby-red glow. */
.header nav{gap:22px}.header .pack-pub-sign{width:170px;margin:0 0 0 8px;padding:0}.pack-pub-sign img{filter:hue-rotate(-32deg) saturate(1.25)}
@media(max-width:1150px){.header nav{gap:16px}.header .pack-pub-sign{width:150px;margin-left:2px}}
@media(max-width:900px){.header .logo{margin-right:auto}.header .pack-pub-sign{width:190px;margin:12px 0 0}.header nav{gap:0}}

/* Separate foreground fixtures sit in front of the architectural backdrop. */
.pub-ceiling{height:clamp(190px,18vw,280px);background-image:linear-gradient(#14101933,#14101966),url('assets/venue/ceiling-background-fal-v2.webp');background-size:cover;isolation:isolate;overflow:visible;z-index:21;border:0}.hanging-layer{position:absolute;left:0;top:0;width:100%;height:calc(100% + 26px);pointer-events:none;z-index:2}.hanging-fixtures{position:absolute;inset:0;width:100%;height:100%;max-width:none;filter:drop-shadow(0 10px 9px #0007)}.hanging-layer .ceiling-bulb-glow{inset:0;width:100%;height:100%;transform:none}.header{border-top:1px solid #65403a;padding-top:10px}.header .pack-pub-sign:hover img,.header .pack-pub-sign:focus-visible img{filter:hue-rotate(-32deg) saturate(1.25) brightness(1.2)}
/* Bitmap lettering is revealed by traced SVG centerlines, not rectangular wipes. */
.chalk-board-art{display:block;width:100%;height:auto}.venue-board{transform:none;background:#252725}.chalk-stroke{stroke-dasharray:1;stroke-dashoffset:0}.chalk-ready .chalk-cover{fill:black}.chalk-ready .chalk-stroke{stroke-dashoffset:1}.chalk-written .chalk-stroke{animation:chalk-letter-stroke var(--draw-time) linear var(--draw-delay) both}.chalk-complete .chalk-cover{fill:white}@keyframes chalk-letter-stroke{to{stroke-dashoffset:0}}
@media(max-width:900px){.header{padding-top:6px}}
@media(max-width:720px){.pub-ceiling{height:170px;background-size:auto 100%}.hanging-layer{width:700px;height:196px;left:50%;transform:translateX(-50%)}.header{height:85px}.pub-ceiling{overflow:hidden}.hanging-layer{height:183px}.header nav.open{padding-top:15px}}
@media(prefers-reduced-motion:reduce){.chalk-ready .chalk-cover{fill:white}.chalk-ready .chalk-stroke{stroke-dashoffset:0}.hanging-layer .ceiling-bulb-glow ellipse{animation:none}}

/* Higher ceiling, seven warm pendants, and spinning red beacons. */
.pub-ceiling{height:clamp(150px,13vw,205px);background-size:100% auto;background-position:center 67%;overflow:visible}.hanging-layer{left:0;top:0;width:100%;height:calc(100% + 17px);transform:none;display:flex;justify-content:space-around;align-items:flex-start}.pub-pendant{position:relative;width:13%;max-width:150px;height:100%;overflow:hidden;flex-shrink:0}.pub-pendant img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%;filter:drop-shadow(0 7px 6px #0008)}.pub-pendant:nth-child(even){height:85%}.pendant-warmth{position:absolute;left:13%;right:13%;bottom:9%;height:8%;border-radius:50%;background:#ffe3ab33;box-shadow:0 8px 17px #ffd28c40;pointer-events:none}.pub-siren{position:absolute;top:8%;width:65px;height:78px;pointer-events:none}.siren-0{left:23%}.siren-1{left:49%;top:2%}.siren-2{right:19%}.pub-siren img{position:relative;width:100%;height:100%;object-fit:contain;z-index:2;filter:drop-shadow(0 0 9px #ed191b66)}.siren-halo{position:absolute;inset:-25%;background:conic-gradient(from 0deg,transparent 0 50%,#ff141400 55%,#ff211977 73%,#ff3d27bb 78%,transparent 85%);border-radius:50%;filter:blur(9px);animation:siren-spin 2.8s linear infinite}.siren-reflector{position:absolute;left:28%;right:28%;top:43%;height:25%;border-radius:50%;z-index:3;background:conic-gradient(transparent 0 45%,#ffddbc 65%,#ff402055 80%,transparent);mix-blend-mode:screen;animation:siren-spin 2.8s linear infinite}.siren-1 .siren-halo,.siren-1 .siren-reflector{animation-delay:-.9s}.siren-2 .siren-halo,.siren-2 .siren-reflector{animation-delay:-1.8s}@keyframes siren-spin{to{transform:rotate(360deg)}}
.logo{position:relative}.logo-location{position:absolute;left:0;right:0;top:38%;height:22%;background:#211d1b;color:#fff;text-align:center;display:grid;place-items:center;font:600 11px/1 var(--display);white-space:nowrap;letter-spacing:.3px}
@media(max-width:1150px){.logo-location{font-size:9px}}
@media(max-width:720px){.pub-ceiling{height:145px;background-size:auto 215px;background-position:center 75%;overflow:hidden}.hanging-layer{height:150px;width:650px;left:50%;transform:translateX(-50%)}.pub-pendant{width:13%;max-width:none}.pub-siren{width:50px;height:62px;top:9%}.logo-location{font-size:8px}.siren-1{top:3%}}
@media(prefers-reduced-motion:reduce){.siren-halo,.siren-reflector{animation:none}}
/* Isolate the single pendant retained by fal’s subject extraction. */
.pub-pendant img{left:-225%;width:550%;object-fit:fill}
.siren-reflector{top:44%;height:32%;left:29%;right:29%}

/* One compact ceiling scene, with navigation and logo in front. */
.pub-masthead{position:relative;isolation:isolate;height:210px;background:#17141c;z-index:20}.pub-masthead .pub-ceiling{position:absolute;inset:0;height:100%;z-index:-1;overflow:hidden;background-size:cover;background-position:center 50%}.pub-masthead .header{position:absolute;bottom:0;left:0;width:100%;height:102px;background:transparent;border:0;padding:0 4%;z-index:2;text-shadow:0 2px 5px #000}.pub-masthead:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#12101999);z-index:-1;pointer-events:none}.header .logo{position:relative}.header .logo-location-mark{position:absolute;inset:0;filter:brightness(0) invert(1);clip-path:inset(38% 0 40% 0);pointer-events:none}.header .pack-pub-sign img{mix-blend-mode:screen}.header .pack-pub-sign{isolation:isolate}.header nav a{font-weight:500}.header .menu-toggle span{box-shadow:0 1px 4px #000}
@media(max-width:900px){.pub-masthead{height:185px}.pub-masthead .header{height:85px;padding:0 5%}.pub-masthead .header nav{background:#211d1bf5;backdrop-filter:blur(12px);text-shadow:none}.header .logo-location-mark{width:120px;height:72px}}
@media(max-width:720px){.pub-masthead{height:165px}.pub-masthead .pub-ceiling{height:100%;background-size:auto 100%;background-position:center}.header .logo-location-mark{width:100px;height:68px}}
@media(max-width:360px){.header .logo-location-mark{width:88px}}

/* Photo-guided connected lighting; the nav pins independently of the ceiling. */
.pub-masthead{height:190px;z-index:20;isolation:isolate}.pub-masthead .pub-ceiling{background:none;z-index:0;inset:0;height:100%;overflow:hidden}.ceiling-connected,.beacon-animation{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}.beacon-animation{pointer-events:none;mix-blend-mode:screen}.beacon-rotor{transform-box:fill-box;transform-origin:center;animation:beacon-turn 2.6s linear infinite}.beacon-aura{opacity:.12;animation:beacon-sweep 2.6s linear infinite}.beacon-distant{animation-delay:-1.3s}@keyframes beacon-turn{to{transform:rotateY(360deg)}}@keyframes beacon-sweep{0%,30%,100%{opacity:.03}50%{opacity:.45}65%{opacity:.1}}
.pub-masthead:after{z-index:1;inset:35% 0 0;background:linear-gradient(transparent,#100c1799)}.sticky-nav-marker{position:absolute;bottom:102px;left:0;width:1px;height:1px}.header{position:sticky;top:0;height:102px;margin-top:-102px;padding:0 4%;background:transparent;border:0;z-index:30;text-shadow:0 2px 5px #000}.header.is-stuck{background:linear-gradient(#14101788,#141017bb),url('assets/venue/ceiling-bare-fal-v6.webp') center 80%/cover;box-shadow:0 5px 15px #0003}.header nav{background:transparent}.header .logo-location-mark{position:absolute;inset:0;filter:brightness(0) invert(1);clip-path:inset(38% 0 40% 0);pointer-events:none}.header .pack-pub-sign img{mix-blend-mode:screen}.header .logo{position:relative}.header nav a{font-weight:500}
@media(max-width:900px){.pub-masthead{height:175px}.header{height:85px;margin-top:-85px;padding:0 5%}.sticky-nav-marker{bottom:85px}.header nav{background:#211d1bf5;backdrop-filter:blur(12px)}.header .logo-location-mark{width:115px;height:72px}}
@media(max-width:720px){.pub-masthead{height:155px}.header .logo-location-mark{width:100px;height:68px}}
@media(max-width:360px){.header .logo-location-mark{width:88px}}
@media(prefers-reduced-motion:reduce){.beacon-rotor,.beacon-aura{animation:none}.beacon-aura{opacity:.15}}

/* The source lamp silhouettes continue naturally beyond the ceiling edge. */
.pendant-overhang{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:3}.pub-masthead{overflow:visible}.header .pack-pub-sign{isolation:auto}.header .pack-pub-sign img{animation:pub-neon-hues 14s linear infinite;mix-blend-mode:screen}@keyframes pub-neon-hues{from{filter:hue-rotate(-32deg) saturate(1.2) brightness(1.1)}to{filter:hue-rotate(328deg) saturate(1.2) brightness(1.1)}}
nav a:after,.button:after,.text-link:after{display:none}a:hover,a:focus-visible{text-decoration:none}.board-caption a:hover,.visit-grid a[href^=tel]:hover{text-decoration:none}
/* A reflector travels behind the glass, with a softer sweep across the rafters. */
.beacon-rotor{transform-box:view-box;transform-origin:1034px 161px;animation:reflector-revolution 3.2s linear infinite}.beacon-room-sweep{transform-box:view-box;transform-origin:1034px 160px;animation:room-beacon-revolution 3.2s linear infinite}.beacon-aura{animation:beacon-lens-flare 3.2s linear infinite}.beacon-distant{animation-delay:-1.6s}@keyframes reflector-revolution{0%,100%{transform:translateX(-15px) scaleX(.35);opacity:.25}25%{transform:translateX(0) scaleX(1);opacity:1}50%{transform:translateX(15px) scaleX(.35);opacity:.25}75%{transform:translateX(0) scaleX(.2);opacity:.1}}@keyframes room-beacon-revolution{0%,100%{transform:perspective(300px) rotateY(0deg);opacity:.18}25%{transform:perspective(300px) rotateY(90deg);opacity:.08}50%{transform:perspective(300px) rotateY(180deg);opacity:.2}75%{transform:perspective(300px) rotateY(270deg);opacity:.08}}@keyframes beacon-lens-flare{0%,50%,100%{opacity:.04}25%{opacity:.3}75%{opacity:.08}}
@media(max-width:720px){.pendant-overhang{height:calc(100% + 35px);top:-5px}}
@media(prefers-reduced-motion:reduce){.header .pack-pub-sign img,.beacon-rotor,.beacon-room-sweep,.beacon-aura{animation:none}.header .pack-pub-sign img{filter:hue-rotate(-32deg) saturate(1.2)}}

/* Compact ceiling; the beacon mounts immediately before Our Story. */
.pub-masthead{height:155px}.sticky-nav-marker{bottom:95px}.header{height:95px;margin-top:-95px}.header nav{position:relative;gap:20px}.nav-beacon-mount{display:block;position:relative;flex:0 0 35px;width:35px;height:54px;margin-right:4px;filter:drop-shadow(0 0 7px #ff151544)}.nav-beacon-mount i{position:absolute;left:50%;bottom:calc(100% - 3px);width:2px;height:100px;transform:translateX(-50%);background:linear-gradient(90deg,#0f0e12,#736568,#17141b);pointer-events:none}.nav-beacon{width:35px;height:54px;display:block;overflow:visible}.nav-beacon-rotor{transform-box:view-box;transform-origin:1034px 163px;animation:reflector-revolution 3.2s linear infinite}.nav-beacon-mount:after{content:'';position:absolute;left:16%;top:35%;width:68%;height:55%;border-radius:50%;box-shadow:0 0 17px #ff271b66;animation:beacon-lens-flare 3.2s linear infinite;pointer-events:none}.pub-ceiling .ceiling-connected{object-position:center 45%}
@media(max-width:1150px){.header nav{gap:14px}.nav-beacon-mount{flex-basis:29px;width:29px;margin-right:0}.nav-beacon{width:29px}}
@media(max-width:900px){.pub-masthead{height:145px}.header{height:85px;margin-top:-85px}.sticky-nav-marker{bottom:85px}.header nav{position:absolute;gap:0}.nav-beacon-mount{position:absolute;right:28px;top:18px;width:32px}.nav-beacon-mount i{display:none}.nav-beacon-mount:after{display:none}}
@media(max-width:720px){.pub-masthead{height:135px}}
@media(prefers-reduced-motion:reduce){.nav-beacon-rotor,.nav-beacon-mount:after{animation:none}}

/* The ceiling’s violet wash continues through the hero footage. */
.hero-shade{background:linear-gradient(180deg,#35154c88 0%,#29143e88 45%,#1f102bb8 100%)}

/* Matting follows the glass and shade edges; each lamp pivots at its ceiling cap. */
.lamp-swing{transform-box:view-box;animation:pendant-swing 7s ease-in-out infinite alternate}.lamp-swing-left{transform-origin:509px 112px}.lamp-swing-right{transform-origin:1588px 112px;animation-duration:8.5s;animation-delay:-3s}@keyframes pendant-swing{from{transform:rotate(-.7deg)}to{transform:rotate(.7deg)}}.lamp-light-flicker{animation:pendant-flicker 11s linear infinite}.pendant-left-image{animation:pendant-power 11s linear infinite}@keyframes pendant-flicker{0%,82%,86%,89%,100%{opacity:1}83%,85%{opacity:.12}84%,87%{opacity:.7}88%{opacity:.3}}@keyframes pendant-power{0%,82%,86%,89%,100%{filter:brightness(1)}83%,85%{filter:brightness(.8)}84%,87%{filter:brightness(.96)}88%{filter:brightness(.88)}}
@media(prefers-reduced-motion:reduce){.lamp-swing,.lamp-light-flicker,.pendant-left-image{animation:none}}

/* Compact, consistently centered navigation with the lamp foreground preserved. */
.pub-masthead{height:78px}.header{height:78px;margin-top:-78px;padding:0 4%;align-items:center;gap:24px}.sticky-nav-marker{bottom:78px}.header .logo img{width:124px;height:68px;object-fit:contain}.header nav{align-items:center}.header nav>a{display:flex;align-items:center;padding:0;min-height:44px}.header .nav-order{margin-top:0}.header .pack-pub-sign{display:flex;align-items:center;margin-top:0}.header .pack-pub-sign img{width:170px;height:auto;max-height:48px}.header .nav-beacon-mount{align-self:center;height:50px}.nav-beacon{height:50px}.pendant-overhang{top:0;height:100%;overflow:visible}
@media(max-width:1150px){.header{gap:16px}.header .logo img{width:110px;height:62px}.header .pack-pub-sign img{width:150px}.header nav{gap:13px}}
@media(max-width:900px){.pub-masthead{height:72px}.header{height:72px;margin-top:-72px;padding:0 5%}.sticky-nav-marker{bottom:72px}.header .logo img{width:110px;height:62px}.header nav.open{align-items:stretch;gap:0;padding:16px 6% 22px}.header nav>a{min-height:47px;padding:8px 0}.header .pack-pub-sign{margin:8px 0 0}.header .pack-pub-sign img{width:190px;max-height:none}.pendant-overhang{top:0;height:100%}}
@media(max-width:720px){.pub-masthead{height:68px}.header{height:68px;margin-top:-68px}.sticky-nav-marker{bottom:68px}.header .logo img{width:100px;height:58px}.pendant-overhang{top:18px;height:100%}.header .menu-toggle{margin-left:auto;align-self:center}}
/* The exterior’s narrow black vertical cladding frames the neighborhood welcome. */
.introduction{background-color:#232323;background-image:linear-gradient(180deg,#0002,#0000 40%,#0003),repeating-linear-gradient(90deg,#111113 0 3px,#3d3c3e 3px 5px,#29282a 5px 19px,#212123 19px 24px);color:#fff6e7;padding:46px 6%;border-top:1px solid #51474e;border-bottom:1px solid #111;box-shadow:inset 0 8px 18px #0004}.intro-panel{color:#fff6e7}.intro-panel>.eyebrow{color:#efc795}.intro-panel p{text-shadow:0 2px 3px #0008}.intro-panel:before{display:none}
@media(max-width:720px){.introduction{padding:38px 7% 42px}.intro-panel p{font-size:26px}}

/* Restore breathing room and show the complete ceiling-to-shade connections. */
.pub-masthead{height:118px}.header{height:118px;margin-top:-118px}.sticky-nav-marker{bottom:118px}.header .logo img{width:142px;height:84px}.ceiling-connected{object-position:center top}.pub-ceiling .ceiling-connected{object-position:center top}.pendant-overhang{top:0;height:100%}.lamp-cord{fill:none;stroke:#82756a;stroke-width:3;stroke-linecap:round;filter:drop-shadow(1px 0 1px #000)}.header.is-stuck{background-position:center top}
@media(max-width:1150px){.header .logo img{width:120px;height:74px}}
@media(max-width:900px){.pub-masthead{height:105px}.header{height:105px;margin-top:-105px}.sticky-nav-marker{bottom:105px}.header .logo img{width:120px;height:74px}}
@media(max-width:720px){.pub-masthead{height:100px}.header{height:100px;margin-top:-100px}.sticky-nav-marker{bottom:100px}.header .logo img{width:110px;height:68px}.pendant-overhang{top:0;height:100%}.lamp-cord{stroke-width:4}}

/* Continuous suspension cords and a visible, slow pendulum motion. */
.lamp-swing-left{transform-origin:509px 0}.lamp-swing-right{transform-origin:1588px 0}.lamp-swing{animation:pendant-sway 6.8s ease-in-out infinite alternate}.lamp-swing-right{animation-duration:8.2s;animation-delay:-3.5s}@keyframes pendant-sway{from{transform:rotate(-1.8deg)}to{transform:rotate(1.8deg)}}.lamp-cord{stroke:#8c8178;stroke-width:3.2}
/* A symmetric 24px repeat is anchored at the section center, balancing both edges. */
.introduction{background-image:linear-gradient(180deg,#0002,#0000 40%,#0003),linear-gradient(90deg,#101012 0 2px,#444145 2px 4px,#29282a 4px 20px,#444145 20px 22px,#101012 22px 24px);background-size:100% 100%,24px 100%;background-position:center center;background-repeat:no-repeat,repeat}
@media(prefers-reduced-motion:reduce){.lamp-swing{animation:none}}

/* Brand pair stays together; fixtures occupy their own layer in front of navigation. */
body{position:relative}.header-brand{display:flex;align-items:center;gap:22px;flex-shrink:0}.header-brand .logo{margin:0}.header-brand .pack-pub-sign{margin:0;width:185px}.header-brand .pack-pub-sign img{width:185px;height:auto}.pendant-overhang{position:absolute;top:0;left:0;width:100%;height:118px;z-index:40;pointer-events:none}.header nav{margin-left:auto}.header-brand .pack-pub-sign{min-height:44px}
.story{background:linear-gradient(90deg,#251135ed,#251135d4 48%,#31174799),url('assets/rjs-table-spread.jpg?v=20260929-story6') center/cover}.patio{background:linear-gradient(90deg,#28153ee8,#28153ed4),url('assets/rjs-maple-texture.jpg') center/cover}
@media(max-width:1150px){.header-brand{gap:14px}.header-brand .pack-pub-sign,.header-brand .pack-pub-sign img{width:155px}.header{gap:15px}.header nav{gap:13px}}
@media(max-width:900px){.header-brand{gap:18px}.header-brand .pack-pub-sign,.header-brand .pack-pub-sign img{width:175px}.pendant-overhang{height:105px}.header-brand{margin-right:auto}.header nav.open{margin-left:0}}
@media(max-width:720px){.header-brand{gap:10px}.header-brand .pack-pub-sign,.header-brand .pack-pub-sign img{width:165px}.pendant-overhang{height:100px;top:0}.story{background:linear-gradient(#251135e0,#251135d4),url('assets/rjs-table-spread.jpg?v=20260929-story6') center top/auto 100%}.patio{background:linear-gradient(#28153ee8,#28153ed4),url('assets/rjs-maple-texture.jpg') center/cover}}
@media(max-width:360px){.header-brand .pack-pub-sign,.header-brand .pack-pub-sign img{width:140px}.header-brand{gap:7px}.header .logo img{width:95px}}

/* Center the neon in the available space between identity and navigation. */
.header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:24px}.header-brand{display:contents}.header-brand .pack-pub-sign{justify-self:center}.header nav{margin-left:0}.header .logo{justify-self:start}
@media(max-width:1150px){.header{column-gap:16px}}
@media(max-width:900px){.header{grid-template-columns:auto minmax(0,1fr) auto;column-gap:12px}.header .menu-toggle{grid-column:3;grid-row:1;margin:0;justify-self:end}.header nav{grid-column:auto}.header-brand .pack-pub-sign{justify-self:center}}
@media(max-width:360px){.header{column-gap:7px}}
/* Cord endpoints use the measured centers of the extracted lamp necks. */
.lamp-swing-left{transform-origin:500px 0}.lamp-swing-right{transform-origin:1593.6px 0}

/* Lamps stay just below the pinned nav; the beacon gets its own gap beside the neon. */
.header{grid-template-columns:auto minmax(0,1fr) 35px auto}.header>.nav-beacon-mount{position:relative;right:auto;top:auto;margin:0;width:35px;height:50px;justify-self:center}.header>.nav-beacon-mount i{height:100px}.pendant-overhang{position:fixed;top:0;height:118px;z-index:29}.lamp-swing{animation-duration:7.5s}.header nav{grid-column:4}
@media(max-width:1150px){.header{grid-template-columns:auto minmax(0,1fr) 29px auto}.header>.nav-beacon-mount{width:29px}}
@media(max-width:900px){.header{grid-template-columns:auto minmax(0,1fr) 27px 44px;column-gap:10px}.header>.nav-beacon-mount{display:block;grid-column:3;grid-row:1;width:27px;height:45px}.header>.nav-beacon-mount i{display:block;height:80px}.header>.nav-beacon-mount:after{display:block}.header .menu-toggle{grid-column:4}.header nav{grid-column:auto}.header-brand .pack-pub-sign,.header-brand .pack-pub-sign img{width:155px}.pendant-overhang{height:105px}}
@media(max-width:720px){.header{column-gap:6px}.header-brand .pack-pub-sign,.header-brand .pack-pub-sign img{width:140px}.pendant-overhang{height:100px}}
@media(max-width:360px){.header-brand .pack-pub-sign,.header-brand .pack-pub-sign img{width:115px}.header{column-gap:5px}}

/* Suspension starts at the visible ceiling mounts and swings at a quicker pace. */
.pendant-overhang{z-index:31}.lamp-swing-left{transform-origin:509px 112px}.lamp-swing-right{transform-origin:1588px 112px}.lamp-swing{animation-duration:3.2s}.lamp-swing-right{animation-duration:3.8s;animation-delay:-1.4s}.lamp-cord{stroke:#a49988;stroke-width:3.2;stroke-linecap:round}

/* Pivot exactly at the centers of the retained circular mounting discs. */
.lamp-swing-left{transform-origin:516px 118px}.lamp-swing-right{transform-origin:1580px 118px}
/* Fade only the ceiling background, keeping links and foreground lights crisp. */
.pub-masthead{background:transparent}.pub-masthead .pub-ceiling,.pub-masthead:after{-webkit-mask-image:linear-gradient(#000 0 82%,transparent 100%);mask-image:linear-gradient(#000 0 82%,transparent 100%)}.hero-backdrop{margin-top:-22px}.header.is-stuck{background:transparent;box-shadow:none}.header:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(#19102088,#191020bb),url('assets/venue/ceiling-bare-fal-v6.webp') center top/cover;-webkit-mask-image:linear-gradient(#000 0 82%,transparent 100%);mask-image:linear-gradient(#000 0 82%,transparent 100%);opacity:0;transition:opacity .2s}.header.is-stuck:before{opacity:1}
/* Occasional quick neon flicker complements the continuous hue cycle. */
.header-brand .pack-pub-sign{animation:pack-neon-flicker 10s linear infinite;will-change:opacity}@keyframes pack-neon-flicker{0%,83%,85%,88%,91%,100%{opacity:1}84%{opacity:.2}86%{opacity:.7}87%{opacity:.35}89%{opacity:.85}90%{opacity:.5}}
@media(prefers-reduced-motion:reduce){.header-brand .pack-pub-sign{animation:none;opacity:1}}

/* Solid ceiling, with the beacon centered in the space after the neon. */
.pub-masthead{background:#17141c}.pub-masthead .pub-ceiling,.pub-masthead:after{-webkit-mask-image:none;mask-image:none;opacity:1}.pub-masthead:after{display:none}.hero-backdrop{margin-top:0}.header{opacity:1;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr) auto;column-gap:20px}.header .logo{grid-column:1}.header-brand .pack-pub-sign{grid-column:3}.header>.nav-beacon-mount{grid-column:4;justify-self:center}.header nav{grid-column:5}.header:before{display:none}.header.is-stuck{background:#17141c url('assets/venue/ceiling-bare-fal-v6.webp') center top/cover}
@media(max-width:1150px){.header{column-gap:12px}}
@media(max-width:900px){.header{grid-template-columns:auto minmax(0,1fr) 27px 44px;column-gap:10px}.header .logo{grid-column:1}.header-brand .pack-pub-sign{grid-column:2}.header>.nav-beacon-mount{grid-column:3}.header .menu-toggle{grid-column:4}.header nav{grid-column:auto}}
@media(max-width:720px){.header{column-gap:6px}}
@media(max-width:360px){.header{column-gap:5px}}

/* A steel crossbeam finishes the lower edge of the ceiling header. */
.header:after{content:'';position:absolute;left:0;right:0;bottom:0;height:9px;pointer-events:none;background:linear-gradient(180deg,#716a7566 0,#48414e 1px,#2d2834 3px,#36303e 6px,#19151e 7px,#09080c 100%);border-top:1px solid #8b819144;border-bottom:1px solid #09070c;box-shadow:0 3px 5px #0005,inset 0 1px 0 #aba1b21a;z-index:2}
@media(max-width:720px){.header:after{height:7px}}

/* Darker exterior slats beneath the hero. */
.introduction{background-color:#111113;background-image:linear-gradient(180deg,#0004,#0001 40%,#0005),linear-gradient(90deg,#080809 0 2px,#29262c 2px 4px,#19181b 4px 20px,#29262c 20px 22px,#080809 22px 24px)}

/* Matching steel crossbeams join each full-width section. */
main>section{position:relative}.hero-backdrop:after,main>section:after{content:'';position:absolute;left:0;right:0;bottom:0;height:9px;pointer-events:none;background:linear-gradient(180deg,#716a7566 0,#48414e 1px,#2d2834 3px,#36303e 6px,#19151e 7px,#09080c 100%);border-top:1px solid #8b819144;border-bottom:1px solid #09070c;box-shadow:0 3px 5px #0005,inset 0 1px 0 #aba1b21a;z-index:5}
@media(max-width:720px){.hero-backdrop:after,main>section:after{height:7px}}

/* Larger, clearer navigation lettering. */
.header nav>a{font-size:18px}
@media(min-width:901px) and (max-width:1150px){.header nav{gap:12px}.header nav>a{font-size:16px}}
@media(max-width:900px){.header nav>a{font-size:20px}}

/* Photo-referenced snowboard hangs beside the welcome on the dark slats. */
.introduction{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:5%;padding:46px max(6%,calc((100vw - 1220px)/2))}.intro-panel{max-width:730px;margin:0}.intro-snowboard{padding:12px 0 22px}.intro-snowboard img{width:100%;height:auto;filter:drop-shadow(0 14px 9px #0009)}
@media(max-width:720px){.introduction{grid-template-columns:1fr;gap:18px;padding:38px 7% 42px}.intro-snowboard{max-width:480px;margin:auto;padding:0 0 10px}}

/* Upright snowboard display beside the welcome. */
.introduction{grid-template-columns:1.3fr .7fr}.intro-snowboard{position:relative;justify-self:center;width:280px;height:450px;padding:0}.intro-snowboard img{position:absolute;left:50%;top:50%;width:430px;max-width:none;transform:translate(-50%,-50%) rotate(-78deg);filter:drop-shadow(-12px 8px 9px #0009)}
@media(max-width:720px){.introduction{grid-template-columns:1fr}.intro-snowboard{width:230px;height:355px;margin:0 auto}.intro-snowboard img{width:340px}}

/* Diagonal snowboard overlaps the steel section edges. */
.introduction{z-index:6;overflow:visible}.intro-snowboard{height:300px;width:330px;z-index:6}.intro-snowboard img{width:620px;transform:translate(-50%,-50%) rotate(-33deg)}
@media(max-width:720px){.introduction{gap:30px}.intro-snowboard{width:240px;height:240px;margin-bottom:-65px}.intro-snowboard img{width:395px}}

@media(min-width:721px){.intro-snowboard{transform:translateX(-35px)}}
@media(max-width:720px){.intro-snowboard img{width:350px}}

/* Compact slat section with a gentle sway around the diagonal display. */
.introduction{padding-top:28px;padding-bottom:28px}.intro-snowboard{height:220px}.intro-snowboard img{animation:snowboard-sway 3.8s ease-in-out infinite alternate;transform-origin:center}
@keyframes snowboard-sway{from{transform:translate(-50%,-50%) rotate(-35deg)}to{transform:translate(-50%,-50%) rotate(-31deg)}}
@media(max-width:720px){.introduction{padding-top:30px;padding-bottom:30px;gap:14px}.intro-snowboard{height:190px;margin-bottom:-60px}}
@media(prefers-reduced-motion:reduce){.intro-snowboard img{animation:none}}

/* Living pub photograph remains behind its caption and decorative frame. */
.story-photo>.story-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:53% center;opacity:0;transition:opacity .7s;pointer-events:none}.story-photo>.story-video.is-playing{opacity:1}

/* Exterior black slats carry through the visit and contact footer. */
.visit,footer{background-color:#111113;background-image:linear-gradient(180deg,#0004,#0001 40%,#0005),linear-gradient(90deg,#080809 0 2px,#29262c 2px 4px,#19181b 4px 20px,#29262c 20px 22px,#080809 22px 24px);background-size:100% 100%,24px 100%;background-position:center;background-repeat:no-repeat,repeat;color:#fff6e7}.visit:before{display:none}.visit .eyebrow,.visit-grid h3,.visit-grid .text-link{color:#efc795}.visit-grid>div{background:#100d16bb;border-color:#85728766;outline-color:#85728744}.visit-grid small{color:#c8bdce}.visit-title:before{border-color:#95849c}.visit-logo{background:#faf7f1;padding:12px 20px}.visit-logo img{width:216px}footer{padding-top:28px}footer .copyright{color:#c8bdce}

/* Transparent footer identity with a readable white location line. */
.visit-logo{position:relative;background:transparent;padding:0}.visit-logo .footer-logo-location{position:absolute;inset:0;filter:brightness(0) invert(1);clip-path:inset(38% 0 40% 0);pointer-events:none}

/* Give the hero title and tagline room to breathe. */
.hero-card{margin-top:32px}
@media(max-width:720px){.hero-card{margin-top:24px}}

/* Faint drifting haze catches the violet ceiling light. */
.header-smoke{position:absolute;right:0;top:0;width:58%;height:100%;overflow:hidden;pointer-events:none;opacity:.55;z-index:0}.smoke-wisp{transform-box:view-box;transform-origin:center;animation:purple-smoke-drift 13s ease-in-out infinite alternate}.smoke-wisp-two{animation-duration:17s;animation-delay:-8s;opacity:.65}
@keyframes purple-smoke-drift{from{transform:translate(18px,12px) scale(.94);opacity:.45}to{transform:translate(-35px,-15px) scale(1.12);opacity:.9}}
@media(max-width:900px){.header-smoke{width:70%;opacity:.4}}
@media(prefers-reduced-motion:reduce){.smoke-wisp{animation:none;opacity:.55}}

/* The coaster carries the actual pub lettering; bottles drift slowly behind it. */
.pub-coaster>.coaster-logo{display:block;width:84px;height:18px;overflow:hidden;margin:0}.coaster-logo img{width:84px;height:auto;max-width:none}.coaster-bottles{transform-origin:50% 90%;animation:coaster-bottle-sway 7s ease-in-out infinite alternate}
@keyframes coaster-bottle-sway{from{transform:translateX(-50%) rotate(-2deg) translateY(1px)}to{transform:translateX(-50%) rotate(2deg) translateY(-2px)}}
@media(max-width:1000px){.pub-coaster>.coaster-logo{width:74px;height:16px}.coaster-logo img{width:74px}}
@media(prefers-reduced-motion:reduce){.coaster-bottles{animation:none}}

/* Warm maple tabletop plaque for the hero tagline. */
.hero-card{background:linear-gradient(180deg,#fff1cc22,#8d4b211c),url('assets/rjs-maple-texture.jpg') center 42%/cover;color:#452718;border:1px solid #9f653b;border-bottom:5px solid #83512e;border-top:1px solid #efc994;border-radius:3px;box-shadow:0 13px 26px #0005,inset 0 1px 0 #fff2cfaa,inset 0 -2px 4px #72411e33}.hero-card>span{text-shadow:0 1px 0 #fff1ca77}.hero-card small{color:#63402a}.hero-card small:before,.hero-card small:after{background:#79502c66}

/* A restrained floating motion for the maple tagline plaque. */
.hero-card{animation:wood-plaque-drift 6s ease-in-out infinite alternate;transform-origin:center}
@keyframes wood-plaque-drift{from{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-4px) rotate(.4deg)}}
@media(prefers-reduced-motion:reduce){.hero-card{animation:none}}

/* Fuller violet haze across the ceiling without obscuring navigation. */
.header-smoke{width:82%;opacity:.9}.smoke-wisp-two{opacity:.85}
@media(max-width:900px){.header-smoke{width:90%;opacity:.7}}

/* A steel pub dart drifts in the open space beside the story heading. */
.story-heading{position:relative;padding-right:125px}.story-dart{position:absolute;right:-8px;top:22px;width:145px;height:auto;filter:drop-shadow(0 8px 6px #0007);transform:rotate(-25deg);animation:pub-dart-drift 5s ease-in-out infinite alternate}
@keyframes pub-dart-drift{from{transform:translate(0,0) rotate(-25deg)}to{transform:translate(-9px,-5px) rotate(-29deg)}}
@media(max-width:1100px){.story-heading{padding-right:90px}.story-dart{width:105px;right:-12px}}
@media(max-width:720px){.story-heading{padding-right:0}.story-dart{width:100px;right:0;top:-35px}}
@media(prefers-reduced-motion:reduce){.story-dart{animation:none}}

/* More visible smoke travel through the purple light. */
.smoke-wisp{animation:purple-smoke-flow 7s ease-in-out infinite alternate}.smoke-wisp-two{animation-duration:10s;animation-delay:-5s}
@keyframes purple-smoke-flow{from{transform:translate(65px,22px) scale(.9);opacity:.45}to{transform:translate(-80px,-22px) scale(1.15);opacity:.95}}
@media(prefers-reduced-motion:reduce){.smoke-wisp{animation:none}}

/* Matching neon sign beside Let’s in the footer. */
.visit-title h2{display:flex;justify-content:center;align-items:center;gap:18px}.footer-pack-sign{display:inline-flex;width:250px;animation:pack-neon-flicker 10s linear infinite}.footer-pack-sign img{width:100%;height:auto;animation:pub-neon-hues 14s linear infinite}
@media(max-width:720px){.visit-title h2{gap:12px}.footer-pack-sign{width:200px}}
@media(prefers-reduced-motion:reduce){.footer-pack-sign,.footer-pack-sign img{animation:none}}

/* The violet ceiling light warms up once, then remains steady. */
.purple-light-startup{position:absolute;right:0;top:0;width:78%;height:100%;pointer-events:none;background:linear-gradient(90deg,transparent,#0b0616dd 45%,#0b0616ee);opacity:0;animation:purple-light-startup 1.9s steps(1,end) 1 forwards;z-index:0}
@keyframes purple-light-startup{0%{opacity:.9}12%{opacity:0}20%{opacity:.8}26%{opacity:.15}32%{opacity:.85}38%{opacity:0}46%{opacity:.4}51%{opacity:0}64%{opacity:.7}69%{opacity:.1}76%{opacity:.45}82%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.purple-light-startup{animation:none;opacity:0}}

/* Lens flare peaks with the reflector facing forward (25% of its rotation). */
.beacon-lens-flare{position:absolute;left:50%;top:58%;width:210px;height:70px;transform:translate(-50%,-50%);pointer-events:none;mix-blend-mode:screen;opacity:0;z-index:3;background:radial-gradient(ellipse at center,#fff5d5 0 2%,#ffac7b99 5%,#ff413855 16%,#ff251a15 35%,transparent 64%);animation:beacon-camera-flare 3.2s linear infinite}.beacon-lens-flare:before{content:'';position:absolute;left:0;right:0;top:50%;height:2px;background:linear-gradient(90deg,transparent,#fd514366 23%,#fff0cddd 50%,#fd514366 77%,transparent);box-shadow:0 0 5px #ff4a37}.beacon-lens-flare>span{position:absolute;width:16px;height:16px;border:1px solid #ff8b7544;border-radius:50%;left:80%;top:56%;box-shadow:18px 4px 10px #ff543d33}
@keyframes beacon-camera-flare{0%,14%,36%,100%{opacity:0}21%{opacity:.25}25%{opacity:.9}29%{opacity:.35}}
@media(max-width:720px){.beacon-lens-flare{width:130px;height:50px}}
@media(prefers-reduced-motion:reduce){.beacon-lens-flare{animation:none;opacity:0}}

/* Real photographed dart has a slimmer silhouette than the draft. */
.story-dart{width:170px;right:-10px;top:24px}
@media(max-width:1100px){.story-dart{width:120px;right:-10px}}
@media(max-width:720px){.story-dart{width:110px;right:0;top:-35px}}

.visit-logo .footer-logo-location{display:none}.visit-logo>img{height:auto}

/* Plate compositions retain their full width in the menu gallery. */
.food-image{height:auto;aspect-ratio:4/3}.food-image img{object-fit:cover;object-position:center}

/* The specials sit on the real chalkboard’s warm horizontal wood wall. */
.specials{background:linear-gradient(90deg,#25121a99,#26132366),url('assets/venue/chalkboard-wall-wood-fal-v1.webp') center/cover;color:#fff6e7}.specials:before{display:none}.specials-intro>.eyebrow{color:#efc795}.specials-intro>p:not(.eyebrow){color:#f0e1d4}.specials-intro h2{text-shadow:0 2px 4px #0004}.specials-intro>.button,.specials-intro>.text-link{color:#efc795}

/* Physical split-flap social counters recreate the ones above the real board. */
.venue-board{overflow:visible}.pub-social-counters{position:absolute;bottom:calc(100% + 20px);left:0;right:0;display:flex;justify-content:center;gap:22px}.social-counter{display:flex;align-items:center;gap:8px;padding:9px 10px;background:linear-gradient(#f1d49d,#dcb777);border:1px solid #9c713f;border-radius:4px;box-shadow:0 5px 0 #7e5733,0 9px 12px #0005,inset 0 1px 2px #fff5d8;color:#203765}.counter-icon{width:29px;flex-shrink:0}.counter-icon svg{width:100%;height:auto;display:block}.counter-digits{display:flex;gap:3px}.counter-digits>span{position:relative;display:grid;place-items:center;width:26px;height:40px;background:linear-gradient(#233758 49%,#16253e 50%);border:1px solid #0c1625;border-radius:2px;color:#f6eedb;font:600 32px/1 var(--display);box-shadow:inset 0 1px 1px #ffffff22;text-shadow:0 1px 1px #0005}.counter-digits>span:after{content:'';position:absolute;left:0;right:0;top:50%;border-top:1px solid #0006}.instagram-counter{color:#a42e4b}.instagram-counter .counter-digits>span{background:linear-gradient(#ac4056 49%,#8e2c42 50%);border-color:#772235}
@media(max-width:1100px){.pub-social-counters{gap:12px}.social-counter{padding:7px;gap:6px}.counter-icon{width:23px}.counter-digits{gap:2px}.counter-digits>span{width:22px;height:34px;font-size:27px}}
@media(max-width:720px){.venue-board{margin-top:72px}.pub-social-counters{gap:10px;bottom:calc(100% + 18px)}.social-counter{padding:6px;gap:5px}.counter-icon{width:21px}.counter-digits>span{width:19px;height:31px;font-size:25px}}
@media(max-width:360px){.pub-social-counters{gap:7px}.counter-digits>span{width:17px}.counter-icon{width:18px}}

/* Wood finishes tie the menu, board frame and callouts to the pub materials. */
.menu-section{background:linear-gradient(#25121a77,#26132366),url('assets/venue/chalkboard-wall-wood-fal-v1.webp') center/cover;color:#fff6e7}.menu-section .eyebrow,.menu-section .text-link,.menu-section .food-title>span{color:#efc795}.menu-section .food p{color:#f0e1d4}.social-counter{background:linear-gradient(#c78f5522,#84502b44),url('assets/rjs-maple-texture.jpg') center/cover;border-color:#8c5c35;box-shadow:0 4px 0 #80512e,0 8px 14px #0006,inset 0 1px 2px #f9d4a688}.venue-board{box-shadow:0 22px 38px #10070db3,0 6px 12px #10070d99}.photo-note{background:linear-gradient(#fff1cc22,#8d4b211c),url('assets/rjs-maple-texture.jpg') center 42%/cover;color:#452718;border:1px solid #9f653b;border-bottom:5px solid #83512e;border-top:1px solid #efc994;border-left:0;border-radius:3px;box-shadow:0 13px 26px #0005,inset 0 1px 0 #fff2cfaa}.photo-note small{color:#63402a}.photo-note small:before,.photo-note small:after{background:#79502c66}.visit-logo .footer-logo-location{display:block;width:216px;height:120px;clip-path:inset(38% 0 40% 0)}.visit-logo>img{height:120px}

/* A miniature sports TV keeps online ordering prominent in the pub header. */
.header nav>a.nav-order{position:relative;display:block;width:146px;height:73px;min-height:73px;margin:0 0 0 8px;padding:0;flex-shrink:0;border:4px solid #34313a;border-bottom-width:8px;border-radius:5px;background:#0b0a0e;box-shadow:0 4px 7px #0008,inset 0 0 0 1px #867d8c;text-shadow:none}.header .nav-order:before{display:none}.order-tv-screen{position:absolute;inset:2px 2px 20px;width:calc(100% - 4px);height:calc(100% - 22px);border-radius:2px}.order-tv-label{position:absolute;bottom:0;left:0;right:0;text-align:center;color:#fff5df;font:italic 600 17px/1.3 var(--serif);background:#0b0a0ebb;z-index:2}.order-tv-led{position:absolute;bottom:-6px;right:8px;width:3px;height:3px;border-radius:50%;background:#b7da74;box-shadow:0 0 3px #b7da7488}.tv-football-runner{animation:football-field-run 7s ease-in-out infinite alternate}.tv-runner-bounce{animation:football-run-bounce .45s ease-in-out infinite alternate}.runner-leg-one,.runner-leg-two{transform-origin:65px 38px;animation:football-stride .45s ease-in-out infinite alternate}.runner-leg-two{animation-delay:-.45s}
@keyframes football-field-run{from{transform:translateX(-22px)}to{transform:translateX(25px)}}
@keyframes football-run-bounce{from{transform:translateY(0)}to{transform:translateY(-1.5px)}}
@keyframes football-stride{from{transform:rotate(-18deg)}to{transform:rotate(18deg)}}
@media(max-width:1150px){.header nav>a.nav-order{width:130px;margin-left:2px}.order-tv-label{font-size:16px}}
@media(max-width:900px){.header nav>a.nav-order{width:170px;margin:12px 0 0;height:84px;min-height:84px}.order-tv-label{font-size:18px}}
@media(prefers-reduced-motion:reduce){.tv-football-runner,.tv-runner-bounce,.runner-leg-one,.runner-leg-two{animation:none}}

/* The draft glass tips while the liquid counter-rotates inside its silhouette. */
.coaster-draft{position:absolute;left:50%;bottom:-18px;width:155px;height:307px;max-width:none;overflow:visible;pointer-events:none;filter:drop-shadow(0 8px 8px #160a0c66);transform-origin:50% 90%;animation:draft-glass-tip 4.5s ease-in-out infinite alternate}.draft-liquid{transform-origin:227px 150px;animation:draft-liquid-slosh 4.5s ease-in-out infinite alternate}.draft-bubbles{animation:draft-bubble-rise 4s linear infinite}
@keyframes draft-glass-tip{from{transform:translateX(-50%) rotate(-5deg)}to{transform:translateX(-50%) rotate(5deg)}}
@keyframes draft-liquid-slosh{from{transform:rotate(4deg) translateY(2px)}to{transform:rotate(-4deg) translateY(-2px)}}
@keyframes draft-bubble-rise{0%{transform:translateY(0);opacity:0}20%{opacity:.4}90%{opacity:.3}100%{transform:translateY(-320px);opacity:0}}
@media(max-width:1000px){.coaster-draft{width:135px;height:267px;bottom:-15px}}
@media(max-width:720px){.coaster-draft{width:125px;height:247px;bottom:-12px}}
@media(prefers-reduced-motion:reduce){.coaster-draft{animation:none;transform:translateX(-50%)}.draft-liquid,.draft-bubbles{animation:none}}

/* The photographic sports TV hangs beyond the ceiling with a soft screen glow. */
.header nav>a.nav-order{width:168px;height:104px;min-height:104px;border:0;border-radius:5px;background:transparent;transform:translateY(24px);box-shadow:0 8px 14px #0008,0 0 18px #8fbdcc44;overflow:visible}.order-tv-media{position:absolute;inset:0;border-radius:5px;overflow:hidden}.order-tv-media>img,.order-tv-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.order-tv-video{opacity:0;transition:opacity .5s;pointer-events:none}.order-tv-video.is-playing{opacity:1}.order-tv-label{bottom:11px;left:7px;right:7px;font-size:18px;background:#080b0dcc;line-height:1.5}.order-tv-led{display:none}.header nav>a.nav-order:after{display:block;content:'';position:absolute;inset:6px;border:0;border-radius:4px;width:auto;height:auto;opacity:.4;transform:none;pointer-events:none;box-shadow:0 0 19px 7px #9bcddb33;animation:tv-screen-glow 5s ease-in-out infinite alternate}
@keyframes tv-screen-glow{from{opacity:.3}to{opacity:.65}}
@media(max-width:1150px){.header nav>a.nav-order{width:145px;height:90px;min-height:90px}.order-tv-label{font-size:16px}}
@media(max-width:900px){.header nav>a.nav-order{width:185px;height:114px;min-height:114px;transform:none;margin-top:14px}.order-tv-label{font-size:19px}}
@media(prefers-reduced-motion:reduce){.header nav>a.nav-order:after{animation:none}}
/* A single draft glass with its coaster bleeding off to the right. */
.beer-photo:before{display:none}.coaster-scene{position:relative;width:100%;height:310px;right:auto;bottom:auto}.coaster-draft{left:40%;bottom:0}.coaster-scene .pub-coaster{inset:auto;left:54%;top:62%;width:115px;height:115px}.beer-photo{background:none}
@media(max-width:1000px){.coaster-scene{height:275px}.coaster-scene .pub-coaster{width:100px;height:100px}.coaster-draft{bottom:0}}
@media(max-width:720px){.coaster-scene{height:255px}.coaster-draft{bottom:0}.coaster-scene .pub-coaster{left:54%;top:61%}}

/* One intact pint silhouette, with an enlarged coaster overlapping its right edge. */
.coaster-scene .pub-coaster{width:158px;height:158px;left:55%;top:48%}
.pub-coaster>.coaster-logo{width:116px;height:25px}.coaster-logo img{width:116px}.pub-coaster>span{font-size:15px}
.header nav{z-index:3}.header nav>a.nav-order{z-index:4}
.order-tv-video{inset:4.2% 2.6% 8%;width:94.8%;height:87.8%;object-fit:cover;border-radius:1px}
@media(max-width:1000px){.coaster-scene .pub-coaster{width:140px;height:140px}.pub-coaster>.coaster-logo{width:102px;height:22px}.coaster-logo img{width:102px}.pub-coaster>span{font-size:13px}}
@media(prefers-reduced-motion:reduce){.coaster-draft{transform:none}}

.coaster-scene .pub-coaster{left:52%}

/* A second dark draft uses a native tint over the beer, preserving the glass and foam. */
.coaster-dark{left:5%;animation-direction:alternate-reverse;z-index:0}.coaster-draft:not(.coaster-dark){z-index:1}.coaster-scene .pub-coaster{z-index:2}
.header nav>a.nav-order{width:200px;height:124px;min-height:124px;box-shadow:0 8px 14px #0008,0 0 24px 5px var(--tv-glow,#8fbdcc66)}
.header nav>a.nav-order:after{box-shadow:0 0 25px 9px var(--tv-glow,#9bcddb55);transition:box-shadow .6s;animation:none}
@media(min-width:901px) and (max-width:1300px){.header nav{gap:10px}.header nav>a{font-size:16px}.header nav>a.nav-order{width:168px;height:104px;min-height:104px}}
@media(max-width:900px){.header nav>a.nav-order{width:235px;height:145px;min-height:145px}}

/* The large pub patch sits between the two oppositely swaying drafts. */
.coaster-dark{left:3%}.coaster-draft:not(.coaster-dark){left:60%}.coaster-scene .pub-coaster{left:29%;top:46%}
@media(max-width:720px){.coaster-dark{left:0}.coaster-draft:not(.coaster-dark){left:63%}.coaster-scene .pub-coaster{left:28%;top:46%}}

.coaster-dark{left:12%;animation-direction:alternate}.coaster-draft:not(.coaster-dark){left:53%;animation-direction:alternate-reverse}.coaster-scene .pub-coaster{left:29%;top:47%}
@keyframes draft-glass-tip{from{transform:translateX(-5px) rotate(-5deg)}to{transform:translateX(5px) rotate(5deg)}}
@media(max-width:720px){.coaster-dark{left:7%}.coaster-draft:not(.coaster-dark){left:54%}.coaster-scene .pub-coaster{left:28%;top:47%}}

/* Crisp on-screen ordering text, with the video visible behind it. */
.order-tv-label{left:3%;right:3%;bottom:8%;padding:6px 4px 3px;border:0;outline:0;box-shadow:none;background:linear-gradient(transparent,#04040be8);font:700 19px/1.35 var(--display);font-style:normal;letter-spacing:1.2px;text-transform:uppercase;color:#fff;text-shadow:0 1px 4px #000;z-index:2}
.coaster-dark{object-fit:contain}

.coaster-scene .pub-coaster{top:54%}

/* Drinks link follows the raised beer display. */
.specials-intro .beer-photo{margin:8px 18px 26px 0}
@media(max-width:720px){.specials-intro .beer-photo{margin:4px 15px 26px 10px}}

/* A centered tabletop plaque for the drinks link. */
.specials-intro>.text-link{display:flex;justify-content:center;width:fit-content;max-width:100%;margin:0 auto;padding:13px 27px;color:#40291c;background:linear-gradient(#ecc48b33,#b97a3030),url('assets/rjs-maple-texture.jpg') center/cover;border:1px solid #a37443;border-radius:2px;box-shadow:0 5px 12px #13080c66,inset 0 1px 0 #fff2;text-shadow:0 1px 0 #fff3}

/* Modern sans-serif replaces the former serif and italic editorial text. */
h2 em,.food-title h3,.button,.text-link,.quote-card>span,.happy-hour h3,.special-row h3,.special-row strong,.nav-order{font-style:normal}
.header nav>a{font-family:Arial,Helvetica,sans-serif;font-weight:600}
h2 em{font-weight:500;font-size:.84em;letter-spacing:-.5px}.food-title h3{font-size:29px;font-weight:600}.button,.text-link{font-size:21px;font-weight:500}.quote-card>span{font-size:25px;font-weight:500}
@media(max-width:720px){.food-title h3{font-size:25px}.quote-card>span{font-size:22px}.header nav>a{font-size:18px}}

/* Pub typography: expressive condensed titles and clean, generous Manrope copy. */
:root{--serif:'Manrope',Arial,sans-serif;--editorial:'Manrope',Arial,sans-serif}
body{font-family:var(--serif);font-size:15px;line-height:1.85;-webkit-font-smoothing:antialiased}
h2{font-family:var(--display);font-size:clamp(44px,4.2vw,62px);font-weight:700;line-height:1.02;letter-spacing:-.4px;text-wrap:balance}
h2 em{display:inline;font-family:var(--display);font-size:1em;font-weight:600;font-style:normal;letter-spacing:-.4px;color:#edc88c}
.header nav>a{font-family:var(--serif);font-size:15px;font-weight:700;letter-spacing:-.25px}
.eyebrow{font-family:var(--serif);font-size:10px;font-weight:800;letter-spacing:2.2px;line-height:1.6}
.introduction p{font-family:var(--serif);font-size:clamp(21px,2vw,28px);font-weight:500;line-height:1.5;letter-spacing:-.7px}
.story-copy p:not(.eyebrow),.patio-copy>p:not(.eyebrow),.specials-intro>p:not(.eyebrow){font-family:var(--serif);font-size:16px;font-weight:400;line-height:1.85;letter-spacing:0}
.story-copy p:nth-of-type(2),.patio-copy>p:nth-of-type(2),.specials-intro>p:nth-of-type(2){font-size:20px;font-weight:500;line-height:1.65;letter-spacing:-.35px}
.specials-intro h2{font-size:clamp(43px,3.8vw,56px);line-height:1.04}
.food-title h3{font-family:var(--display);font-size:36px;font-weight:600;line-height:1.12;letter-spacing:.1px}
.food p{font-family:var(--serif);font-size:14px;line-height:1.8}.food-title>span{font-family:var(--serif);font-size:22px}
.quote-card>span{font-family:var(--serif);font-size:24px;line-height:1.35;font-weight:600;letter-spacing:-.7px}.quote-card small{font-family:var(--serif);font-size:9px;font-weight:800;letter-spacing:1.4px;line-height:1.8}
.button,.text-link{font-family:var(--serif);font-size:15px;font-weight:700;line-height:1.5;letter-spacing:.15px;font-style:normal}
.specials-intro>.text-link{font-size:14px;letter-spacing:.6px;padding:15px 27px}
.visit-title h2{font-family:var(--display);font-size:52px;letter-spacing:-.3px}.visit-grid h3{font-family:var(--serif);font-size:13px;font-weight:800;letter-spacing:1.5px}.visit-grid address,.visit-grid p{font-family:var(--serif);font-size:14px;line-height:1.9}.visit-grid .text-link{font-size:15px}.hours{font-size:12px;line-height:1.8;font-variant-numeric:tabular-nums}
@media(min-width:901px) and (max-width:1300px){.header nav>a{font-size:13px;letter-spacing:-.3px}}
@media(max-width:720px){h2,.specials-intro h2{font-size:43px;line-height:1.07}.header nav>a{font-size:16px;letter-spacing:0}.food-title h3{font-size:32px}.quote-card>span{font-size:20px}.story-copy p:nth-of-type(2),.patio-copy>p:nth-of-type(2),.specials-intro>p:nth-of-type(2){font-size:18px}.visit-title h2{font-size:43px}.introduction p{font-size:21px;letter-spacing:-.45px}}

.visit-logo>img{width:216px;height:128px;object-fit:contain}.visit-logo .footer-logo-location{display:block;width:216px;height:128px;clip-path:inset(38% 0 40% 0)}

/* Food photography responds with a gentle lift and warmer light. */
.food-image img{transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .45s,box-shadow .45s;transform-origin:center}
.food:hover .food-image img,.food:focus-visible .food-image img{transform:translateY(-5px) scale(1.025);filter:brightness(1.09) saturate(1.08);box-shadow:0 20px 32px #10060c66}
.food-title h3{transition:color .3s}.food:hover .food-title h3,.food:focus-visible .food-title h3{color:#f4ce8c}
.food-title>span{display:inline-block;transition:transform .3s}.food:hover .food-title>span,.food:focus-visible .food-title>span{transform:translateX(5px)}
/* Stronger lettering on the venue's wood surfaces. */
.menu-section .food p{font-weight:600}.menu-section .food-title h3{font-weight:700}
.specials-intro>p:not(.eyebrow),.story-copy p:not(.eyebrow),.patio-copy>p:not(.eyebrow){font-weight:600}
.quote-card>span{font-weight:700}.specials-intro>.text-link{font-weight:800}.introduction p{font-weight:600}
@media(prefers-reduced-motion:reduce){.food-image img,.food-title h3,.food-title>span{transition:none}.food:hover .food-image img,.food:focus-visible .food-image img,.food:hover .food-title>span,.food:focus-visible .food-title>span{transform:none}}

/* Pub coaster gently rocks twenty degrees in either direction. */
.coaster-scene .pub-coaster{transform-origin:50% 50%;animation:pub-patch-rock 4s ease-in-out infinite alternate}
@keyframes pub-patch-rock{from{transform:rotate(-20deg)}to{transform:rotate(20deg)}}
@media(prefers-reduced-motion:reduce){.coaster-scene .pub-coaster{animation:none;transform:none}}

/* A clear illuminated ordering banner across the TV screen. */
.order-tv-label{left:5%;right:5%;bottom:11%;padding:5px 7px;background:linear-gradient(135deg,#c53239,#92232a);border:1px solid #ffd89eaa;border-radius:2px;box-shadow:0 2px 8px #000a,0 0 12px #dd4b4944; color:#fff9ec;font-family:var(--display);font-size:23px;font-weight:800;line-height:1.2;letter-spacing:1px;text-shadow:0 1px 2px #4c111a}
.order-tv-label:after{content:' ›';color:#ffd79b}.nav-order:hover .order-tv-label,.nav-order:focus-visible .order-tv-label{background:linear-gradient(135deg,#de4148,#ad2a32);box-shadow:0 2px 8px #000a,0 0 16px #ee675888}
@media(min-width:901px) and (max-width:1300px){.order-tv-label{font-size:20px}}
@media(max-width:900px){.order-tv-label{font-size:26px;padding:7px}}

/* Bring both drafts inward around the centered coaster. */
.coaster-dark{left:18%}.coaster-draft:not(.coaster-dark){left:47%}
@media(max-width:720px){.coaster-dark{left:13%}.coaster-draft:not(.coaster-dark){left:48%}}

.order-tv-label{background:#c02730;opacity:1;border-color:#f7c07b;box-shadow:0 3px 8px #000c}
.nav-order:hover .order-tv-label,.nav-order:focus-visible .order-tv-label{background:#db3039}

.order-tv-label{background:rgba(192,39,48,.3)}
.nav-order:hover .order-tv-label,.nav-order:focus-visible .order-tv-label{background:rgba(219,48,57,.3)}

/* A smaller ordering caption with a 90% transparent red background. */
.order-tv-label{left:14%;right:14%;bottom:11%;padding:3px 5px;background:rgba(192,39,48,.1);font-size:18px;letter-spacing:.6px;border-color:#f7c07b80}
.nav-order:hover .order-tv-label,.nav-order:focus-visible .order-tv-label{background:rgba(219,48,57,.1)}
@media(min-width:901px) and (max-width:1300px){.order-tv-label{font-size:15px}}
@media(max-width:900px){.order-tv-label{font-size:21px;padding:4px 6px}}

/* Slightly more space between the two draft glasses. */
.coaster-dark{left:15%}.coaster-draft:not(.coaster-dark){left:50%}
@media(max-width:720px){.coaster-dark{left:10%}.coaster-draft:not(.coaster-dark){left:51%}}

.order-tv-label{top:50%;bottom:auto;transform:translateY(-50%)}

.patio-photo .photo-note{width:390px;max-width:calc(100% + 18px)}
@media(max-width:720px){.patio-photo .photo-note{width:350px;max-width:calc(100% + 12px)}}

/* Smaller, calmer movement for the glasses and coaster. */
@keyframes draft-glass-tip{from{transform:translateX(-2px) rotate(-2deg)}to{transform:translateX(2px) rotate(2deg)}}
@keyframes pub-patch-rock{from{transform:rotate(-8deg)}to{transform:rotate(8deg)}}

/* Heavy lettering remains clear over the textured wood. */
.quote-card>span{font-weight:800}.photo-note small,.hero-card small{font-weight:800}.specials-intro>.text-link{font-weight:800}.menu-section .food p,.specials-intro>p:not(.eyebrow),.story-copy p:not(.eyebrow),.patio-copy>p:not(.eyebrow),.introduction p{font-weight:700}

.pub-coaster>.coaster-logo{transform:translateY(4px)}.pub-coaster>span:not(.coaster-logo){margin-top:3px}

.header nav>a.nav-order{--tv-rest-y:24px;animation:pub-tv-float 6s ease-in-out infinite alternate;transform-origin:50% 10%}
@keyframes pub-tv-float{from{transform:translateY(calc(var(--tv-rest-y) - 2px)) rotate(-.35deg)}to{transform:translateY(calc(var(--tv-rest-y) + 2px)) rotate(.35deg)}}
@media(max-width:900px){.header nav>a.nav-order{--tv-rest-y:0px}}
@media(prefers-reduced-motion:reduce){.header nav>a.nav-order{animation:none}}

.introduction{overflow-x:clip}

/* On mobile the angled board stays in its own row, clear of the copy. */
@media(max-width:720px){.introduction{gap:24px;padding-top:36px;padding-bottom:34px}.intro-snowboard{width:240px;height:285px;margin:12px auto 0;transform:none}.intro-snowboard img{width:300px;max-width:none}}

/* The brand mark lives above the foreground lamp cords. */
.header .logo.logo-overlay-source{visibility:hidden}
.header-logo-overlay{position:fixed;z-index:32;display:block;line-height:0;margin:0}
.header-logo-overlay img{width:100%;height:100%;object-fit:contain}
.header-logo-overlay .logo-location-mark{position:absolute;inset:0;filter:brightness(0) invert(1);clip-path:inset(38% 0 40% 0);pointer-events:none}
