/* Shared proportions, photographic treatment and section choreography. */
:root{--content:84.375rem;--gutter:max(2rem,calc((100vw - var(--content))/2))}
.header{padding:0 var(--gutter);grid-template-columns:1fr 13.75rem 1fr;height:6.25rem;--header:6.25rem}.desktop-nav{gap:1.5rem;font-size:.94rem;white-space:nowrap}.header-actions{gap:.75rem}.header-actions .button{font-size:.94rem}.brand img{width:13.25rem}
.hero-scroll{padding:6.25rem 0 0;min-height:0;height:100svh}.hero-sticky{min-height:0}.hero-photo,.hero-scroll.expanded .hero-photo{inset:0!important;background:none}.hero-photo picture{display:block;width:100%;height:100%}.hero-photo img{width:100%;height:100%;max-width:none;object-fit:contain;transform:none;filter:none;background:#eae6df}.tile-background{display:none}.hero-copy,.hero-scroll.expanded .hero-copy{top:8%;left:50%;transform:translateX(-50%);width:90%;max-width:44rem}.hero-copy h1{font-size:2.63rem;line-height:1.2;letter-spacing:normal}.hero-cta{bottom:5%;font-size:1.06rem}.hero-window{background:#eae6df}.hero-scroll:not(.expanded) .hero-photo img{object-fit:cover}.hero-marquees{color:var(--navy)}.hero-marquees .stroke{-webkit-text-stroke-color:var(--navy)}
.about-sticky{padding-top:4.5rem}.about-top{position:relative;max-width:var(--content);height:14rem;padding:0;margin:auto;display:grid;grid-template-columns:26rem 1fr 12.5rem;gap:2rem;align-items:start}.about-top h2{position:absolute;left:0;top:0;bottom:auto;max-width:none;font-size:7.75rem;line-height:1.04;letter-spacing:-.035em;white-space:nowrap;z-index:0}.about-copy{grid-column:2;width:auto;max-width:none;margin:0;line-height:1.35;font-size:1rem;text-transform:uppercase;padding-top:.4rem}.about-cta{grid-column:3;background:var(--cream);color:var(--navy);position:relative;z-index:2}.gallery-scroll{position:relative;z-index:1}.gallery-track{padding-left:var(--gutter);padding-right:2rem;gap:1rem;padding-bottom:3rem}.gallery-track figure{width:23.6vw}.gallery-track img{height:39vw;object-fit:cover}.gallery-track .round img{height:31vw}.gallery-track .campaign-wide img{object-fit:contain;background:#eae6df}.gallery-track figcaption{font-size:.7rem}
.fish-pattern{height:9rem;margin:0;background-color:var(--navy);background-image:url('assets/fish-pattern.svg');background-size:9.375rem 4.6875rem;background-attachment:fixed;background-position:center top}.social-pattern{height:12rem}.contact-pattern{height:9rem}
.favorites{padding:4.5rem var(--gutter)}.section-heading h2,.social-heading h2{font-size:2.63rem;line-height:1.2}.product-stage{max-width:var(--content);margin:4rem auto 0;position:relative}.food-slider{gap:1.5rem;padding:0;overflow:visible;margin:0;scroll-snap-type:none;align-items:start}.food-card{flex:1 1 0;min-width:0;text-align:center;transition:opacity .22s,transform .5s}.food-card.is-featured{flex-grow:1.35}.food-photo{height:21rem;max-height:none;overflow:visible;margin:0 0 1rem;display:flex;align-items:center;justify-content:center}.food-photo img,.food-card:first-child .food-photo img,.food-card:hover img,.food-card:first-child:hover .food-photo img{width:100%;height:100%;object-fit:contain;transform:scale(.8);transition:transform .6s cubic-bezier(.25,1,.5,1)}.food-card.is-featured .food-photo img{transform:scale(1.12)}.food-card:not(.is-featured) .food-photo{height:18rem;margin-top:3rem}.food-tag{top:1rem;left:15%;bottom:auto;transform:rotate(-12deg);width:4.5rem;height:4.5rem;border-radius:50%;white-space:normal;padding:.6rem;display:grid;place-content:center;font-size:.62rem;line-height:1.2;border:2px solid var(--cream);background:var(--gold)}.food-card.is-featured .food-tag{top:0;left:10%}.food-card h3{font-size:1.25rem;line-height:1.35;margin:1rem 0 .6rem}.food-card p{font-size:1rem;line-height:1.35;max-width:25rem;margin:auto;text-transform:uppercase}.food-slider.changing .food-card{opacity:.25;transform:translateY(10px)}.product-stage>.slider-controls{position:absolute;left:0;right:0;top:10rem;justify-content:space-between;z-index:3;pointer-events:none}.slider-controls button{pointer-events:auto;width:3.625rem;height:3.625rem;background:var(--cream);border-color:var(--gold);color:var(--navy);font-size:1.5rem}.food-bottom{margin-top:4.5rem;gap:1rem}.food-bottom p{font-size:.75rem;max-width:32rem}
.social{padding:4.5rem var(--gutter) 5rem}.social-heading{margin-bottom:4.5rem}.social-heading h2{max-width:none}.social-heading p{font-size:1rem}.reels{width:100%;max-width:var(--content);margin:auto;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto auto;gap:2rem 1.5rem;overflow:visible;align-items:start}.social-post:nth-child(even),.js-motion .social-post:nth-child(even),.js-motion .social-post:nth-child(even).entered{transform:none}.social-post:nth-child(4n+2){margin-top:4rem}.social-post:nth-child(4n+4){margin-top:2.5rem}.social-post .reel-media{aspect-ratio:9/14;background:#000}.reel-media>img{width:100%;height:100%;object-fit:contain}.post-play{font-size:4rem;opacity:1!important;filter:drop-shadow(0 2px 8px #0006);transition:transform .25s}.reel:hover .post-play{transform:scale(1.12)}.post-header{padding:12px 9px;gap:5px}.post-avatar{width:28px;height:28px}.post-account{gap:6px}.post-account strong{font-size:12px}.post-account small{font-size:10px}.post-profile{font-size:10px;padding:6px}.post-more{font-size:13px}.post-footer p,.post-comment{font-size:11px}.post-footer p{min-height:48px}.post-comment{min-height:44px}.share-status{margin-top:1rem;height:auto;min-height:1.5rem}
.visit{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0;border:0;min-height:0;background:var(--cream)}.venue-card{position:relative;height:53.625rem;overflow:hidden}.venue-photo{width:100%;height:100%;object-fit:cover}.venue-info{position:absolute;bottom:1.25rem;left:1.875rem;right:1.875rem;padding:1.5rem;background:var(--cream);display:grid;grid-template-columns:7rem 1fr;align-items:center;gap:1.25rem;border:1px solid var(--navy)}.venue-info>img{width:7rem;height:7rem;background:var(--navy);border-radius:1rem;padding:1.25rem}.venue-info h3{font-size:1rem;line-height:1.35;margin:0 0 .5rem}.venue-info p{font-size:.88rem;line-height:1.5;margin:.25rem 0}.venue-info .text-link{font-size:.8rem;display:inline-block;margin-top:.4rem}
.contact-section{position:relative;overflow:hidden;padding:4.5rem 1.5rem;background:var(--cream);isolation:isolate}.feedback-marquees{position:absolute;z-index:-1;top:28%;left:-20%;right:-20%;transform:rotate(-9deg);color:var(--navy)}.feedback-marquees .marquee{font-size:6rem;line-height:1.3}.feedback-marquees .stroke{-webkit-text-stroke-color:var(--navy)}.contact-frame{max-width:43rem;margin:auto;background:white;border:1px solid var(--navy);padding:1.625rem 1.625rem 4.5rem}.contact-card{max-width:none;padding:2.75rem 3rem;min-height:34rem}.contact-card h2{font-size:2.25rem;line-height:1.2;margin-bottom:2rem;letter-spacing:-.04em}.contact-seal{left:var(--gutter);right:auto;top:4rem;z-index:1}.contact-fields{gap:.75rem}.contact-card label,.rating legend{font-family:'Archivo Black',sans-serif;font-size:.75rem;margin-bottom:1.25rem}.contact-card input,.contact-card textarea{background:#e8d8b7;color:var(--navy);border:1px solid #0e1728;border-radius:1.6rem;padding:.75rem 1rem;font-family:'DM Mono',monospace;font-size:.88rem;min-height:2.85rem}.contact-card textarea{min-height:8rem;border-radius:1.6rem}.contact-card .button{display:flex;margin-left:auto;min-width:11rem;background:var(--cream);border-color:var(--cream)}.contact-card .form-note{clear:both;text-align:right;font-size:.65rem;color:#e8d8b7}.rating{border:0;padding:0;margin:0;display:flex;gap:.2rem;min-width:0}.rating legend{text-transform:uppercase;margin-bottom:.3rem}.rating label{position:relative;cursor:pointer;margin:0;display:block}.rating input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0}.rating span{font-family:Arial,sans-serif;color:#75829d;font-size:2.1rem;line-height:1.4;display:block}.rating .selected span,.rating label:hover span{color:var(--gold)}.rating label:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}
.team{display:block;padding:4.5rem var(--gutter);overflow:hidden}.team-inner{max-width:var(--content);margin:auto}.team-top{display:grid;position:relative;grid-template-columns:17rem 1fr 13rem;gap:2rem;min-height:14rem;align-items:start}.team-top h2{font-size:7.75rem;line-height:1.04;white-space:nowrap;position:absolute;top:0;left:0}.team-top p{grid-column:2;margin:.5rem 0 0 2rem;max-width:33.75rem;font-size:1rem;text-transform:uppercase}.team-top>.button{grid-column:3}.team figure{position:relative;margin:0;transform:none;background:white;padding:1rem}.team img{border:1px solid var(--navy);width:100%;aspect-ratio:2.15;object-position:50% 32%;border-radius:0}.team figcaption{color:var(--navy);font-size:.7rem;margin:.65rem 0 0}.footer-top,.footer-bottom{max-width:var(--content);margin:auto}
@media(max-width:1439px){.about-top{margin:0 2rem;grid-template-columns:25rem 1fr 11rem}.about-copy{font-size:.9rem}.header{padding:0 2rem}.desktop-nav{font-size:.8rem}.header-actions .button{font-size:.8rem}.team-top{grid-template-columns:16rem 1fr 11rem}}
@media(max-width:1100px){.header{grid-template-columns:1fr 13rem 1fr}.about-top{grid-template-columns:23rem 1fr;height:14rem}.about-cta{display:none}.about-top h2{font-size:6.5rem}.team-top{grid-template-columns:15rem 1fr}.team-top>.button{grid-column:2;justify-self:end}.reels{gap:1rem}.post-profile{font-size:8px}.post-account strong{font-size:10px}.post-avatar{width:23px;height:23px}.venue-card{height:43rem}.venue-info{grid-template-columns:4rem 1fr;left:1rem;right:1rem;padding:1rem;gap:.75rem}.venue-info>img{width:4rem;height:4rem;padding:.6rem}.venue-info p{font-size:.75rem}.team-top p{margin-left:2rem}.team-top h2{font-size:6rem}}
@media(max-width:760px){
 :root{--gutter:6vw;--header:76px}.header{height:76px;padding:0 15px;grid-template-columns:150px 1fr;gap:5px}.brand img{width:155px}.header-actions .button{font-size:9px}.hero-scroll{padding-top:76px;height:100svh;min-height:640px}.hero-copy,.hero-scroll.expanded .hero-copy{top:7%;width:90%;max-width:none}.hero-copy h1{font-size:2rem;line-height:1.2}.hero-photo img{object-fit:contain}.hero-cta{bottom:3%;font-size:.8rem}.hero-scroll:not(.expanded) .hero-photo img{object-position:center 70%}
 .about-sticky{padding-top:3rem}.about-top{display:flex;flex-direction:column;margin:0 6vw;height:auto;padding:0;gap:1.5rem}.about-top h2{position:relative;top:0;font-size:3rem;line-height:1.04;white-space:normal;max-width:none;margin:0;order:0}.about-copy{font-size:.88rem;order:1}.about-cta{display:inline-flex;order:2;margin-bottom:1.5rem;align-self:start}.gallery-track{padding:0 6vw 2rem;gap:1rem}.gallery-track figure{width:65vw}.gallery-track img{height:106vw}.gallery-track .round img{height:86vw}
 .fish-pattern,.contact-pattern{height:8.3rem;background-size:120px 60px;background-attachment:fixed}.social-pattern{height:10rem}.favorites{padding:4rem 6vw}.section-heading h2,.social-heading h2{font-size:2rem}.product-stage{margin-top:2rem}.food-slider{overflow:hidden;gap:0;display:flex}.food-card{display:none;flex:0 0 100%}.food-card.is-featured{display:block}.food-card.is-featured .food-photo{height:17rem}.food-card.is-featured .food-photo img{transform:scale(.94)}.food-card p{font-size:.88rem;max-width:24rem}.food-tag{width:4rem;height:4rem}.product-stage>.slider-controls{top:8rem;left:-1rem;right:-1rem}.slider-controls button{width:2.75rem;height:2.75rem}.food-bottom{margin-top:2.5rem}.food-bottom .button{margin-top:0}
 .social{padding:4rem 6vw 2rem}.social-heading{margin-bottom:2.5rem}.social-heading p{font-size:.88rem}.reels{grid-template-columns:repeat(4,78vw);grid-template-rows:auto auto;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -6vw;padding:0 6vw 2rem;width:auto;max-width:none;scrollbar-width:thin}.social-post{scroll-snap-align:center}.social-post:nth-child(4n+2),.social-post:nth-child(4n+4){margin-top:0}.post-header{padding:12px}.post-avatar{width:28px;height:28px}.post-account strong{font-size:12px}.post-profile{font-size:10px}.post-footer p{min-height:38px}.post-comment{font-size:12px}.post-footer p{font-size:12px}.share-status{margin:0}
 .visit{display:grid;grid-template-columns:1fr 1fr;overflow-x:auto;scroll-snap-type:x mandatory;gap:4px}.venue-card{width:85vw;height:37rem;scroll-snap-align:center}.venue-info{grid-template-columns:3.5rem 1fr;left:.75rem;right:.75rem;bottom:.75rem;padding:.8rem}.venue-info>img{width:3.5rem;height:3.5rem}.venue-info h3{font-size:.8rem}.venue-info p,.venue-info .text-link{font-size:.7rem}
 .contact-section{padding:5rem 5vw 3rem}.contact-frame{padding:.75rem .75rem 2rem}.contact-card{padding:1.75rem 1.25rem;min-height:0}.contact-card h2{font-size:1.5rem;padding:0}.contact-fields{grid-template-columns:1fr 1fr;gap:.6rem}.contact-card label{font-size:.65rem}.contact-card input{min-width:0;padding:.65rem .75rem;font-size:.75rem}.rating span{font-size:1.65rem}.rating legend{font-size:.65rem}.contact-seal{width:4rem;height:4rem;font-size:.6rem;top:.5rem;left:7vw}.feedback-marquees{top:25%;left:-100%;right:-100%}.feedback-marquees .marquee{font-size:3.5rem}.contact-card .button{font-size:.8rem}
 .team{padding:3rem 6vw}.team-top{display:flex;flex-direction:column;gap:1.5rem;min-height:0;margin-bottom:2rem}.team-top h2{position:relative;font-size:3rem}.team-top p{margin:0;font-size:.88rem}.team figure{padding:.5rem}.team img{aspect-ratio:1.25;object-position:50% 20%}.team figcaption{font-size:.6rem}.team-top>.button{align-self:start}
}
@media(prefers-reduced-motion:reduce){.fish-pattern{background-attachment:scroll}.hero-photo img{transform:none!important}.food-card{transition:none}}

@media(min-width:761px){.hero-scroll{height:calc(100vw * .5628 + 6.25rem)}.food-card.is-featured .food-photo{height:25rem}.team-top{grid-template-columns:24rem 1fr 13rem}.team-top p{margin-left:0}}
@media(min-width:761px) and (max-width:1100px){.team-top{grid-template-columns:21rem 1fr}.team-top>.button{grid-column:2}}
@media(max-width:760px){.hero-scroll{height:calc(100vw * 1.667 + 76px)}}

.hero-scroll{height:auto;min-height:0}.hero-sticky{height:auto;aspect-ratio:1672/941;width:100%}.about-copy{font-size:1rem}@media(max-width:760px){.hero-sticky{aspect-ratio:971/1619}.about-copy{font-size:.88rem}}

/* Keep the viewport width stable when Lenis pauses scrolling for the reveal. */
html{scrollbar-gutter:stable}
/* Keep the same crop during the reveal and after its completion class is added. */
.hero-scroll .hero-photo img,.hero-scroll:not(.expanded) .hero-photo img{object-fit:cover;object-position:center bottom}
@media(min-width:761px){.hero-sticky{aspect-ratio:auto;height:clamp(42vw,calc(100svh - 6.25rem),56.28vw)}}
@media(max-width:760px){.hero-scroll .hero-photo img,.hero-scroll:not(.expanded) .hero-photo img{object-position:center 70%}}

/* Align the visible capital tops across the two editorial introductions. */
@media(min-width:761px){
 .about-copy{padding-top:1.2rem}
 .team-top p{margin-top:1.2rem}
}
@media(min-width:761px) and (max-width:1100px){
 .about-copy,.team-top p{padding-top:0;margin-top:.95rem}
}
@media(max-width:760px){.about-copy{padding-top:0}}
/* Light letter shadows separate the headline from the tile joints. */
.hero-copy,.hero-scroll.expanded .hero-copy{max-width:48rem}
.hero-copy h1{display:inline-block;margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none;text-shadow:0 1px 3px #fff7e6,0 0 12px rgba(255,247,230,.85)}
.gallery-track .round:first-child img{object-position:50% 45%}
.gallery-track .round:nth-child(3) img{object-position:center}
.gallery-track .round:nth-child(5) img{object-position:58% 50%}
.venue-card:first-child .venue-photo{object-position:58% 50%}
.venue-card:nth-child(2) .venue-photo{object-position:55% 50%}
.team img{aspect-ratio:1.8;object-position:center 40%}
@media(max-width:760px){.hero-copy h1{font-size:1.75rem;padding:0}.team img{aspect-ratio:1.25;object-position:center 30%}}

/* Both venue overlays share one content-sized row, including wrapped text. */
.visit{height:53.625rem;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr) auto;row-gap:0}
.venue-card{height:auto;min-width:0;display:grid;grid-template-rows:subgrid;grid-row:1 / 3}
.venue-card:first-child{grid-column:1}.venue-card:nth-child(2){grid-column:2}
.venue-photo{position:absolute;inset:0}
.venue-info{position:relative;grid-row:2;inset:auto;margin:0 1.875rem 1.25rem;z-index:1;align-self:stretch}
@media(max-width:1100px){.visit{height:43rem}.venue-info{margin:0 1rem 1.25rem}}
@media(max-width:760px){.visit{height:37rem;grid-template-columns:repeat(2,85vw)}.venue-card{width:auto;height:auto}.venue-info{margin:0 .75rem .75rem}}
