/* Bistro 1901: typographic identity and photographic art direction. */
body{font-size:14px;line-height:1.75}
em{font-style:normal}
h1,h2{font-family:var(--display);font-weight:500;text-transform:uppercase}
h2 em{font-weight:500;font-style:normal}
h2,.story-copy h2,.section-heading h2,.gallery-section .section-heading h2,.visit-copy h2{letter-spacing:-.018em;line-height:.97}
.story-copy h2,.section-heading h2,.visit-copy h2{font-size:clamp(64px,6.5vw,96px)}
.gallery-section .section-heading h2{font-size:clamp(60px,6vw,88px)}
.wordmark-number{font:500 53px/.88 var(--display);letter-spacing:-2px}
.wordmark-zero>span{font:500 5px var(--sans);letter-spacing:0;transform:translate(-45%,-40%)}
.wordmark-sub{font-size:6px;letter-spacing:2.5px;margin-top:8px}
.desktop-nav a{font-size:11px;letter-spacing:1.05px;font-weight:500}
.language-toggle{font-size:11px;font-weight:500}
.button{font-size:13px;font-weight:500;letter-spacing:.15px}
.button-small{font-size:12px}
.hero-copy{padding-top:52px;padding-bottom:100px}
.hero-eyebrow{font-size:10px;letter-spacing:2.6px;margin-bottom:28px}
h1{font-size:clamp(155px,16vw,245px);line-height:.78;letter-spacing:-.025em}
h1>em{font-size:.8em;font-style:normal;font-weight:500;letter-spacing:-.025em;margin:13px 0 0}
.hero-description{font-size:15px;line-height:1.65;margin-top:30px;max-width:340px}
.hero-menu-link{font-size:12px}
.hero-actions{margin-top:30px}
.hero-bottom,.hero-scroll{font-size:9px;letter-spacing:1.5px}
.hero-visual{left:42%}
.hero-image{filter:none;object-position:64% 50%}
.hero:after{background:linear-gradient(90deg,#101010 30%,#101010cc 41%,#10101020 62%,transparent 78%),linear-gradient(0deg,#10101099,transparent 30%)}
.welcome-strip>span{font-size:11px;letter-spacing:1.6px;font-weight:500}
.story-copy .body-large{font:400 25px/1.3 var(--sans);letter-spacing:-.035em;margin-bottom:25px}
.story-copy>p:not(.eyebrow):not(.body-large){font-size:14px;line-height:1.85;max-width:380px}
.story-copy .text-link{margin-top:27px}
.text-link{font-size:13px}
.story-image-wrap img{height:570px;object-position:50% 48%;filter:none}
.story-image-wrap:before{border-color:#b8b5ad}
.image-note{font-size:9px;letter-spacing:1px}
.image-note>span:last-child{font:500 15px/1.2 var(--sans);letter-spacing:-.02em}
.section-heading>p{font-size:14px;line-height:1.8;max-width:260px}
.menu-tabs button{font:500 28px/1.2 var(--display);letter-spacing:.1px}
.tab-number{font-size:10px}
.menu-photo{min-height:0;aspect-ratio:4/5;align-self:start}
.menu-photo>img{filter:none;object-position:50% 50%}
.menu-photo:after{inset:60% 0 0;background:linear-gradient(transparent,#0009)}
.menu-photo-label>span{font:500 29px/1.1 var(--display);font-style:normal;letter-spacing:.1px}
.menu-subtitle{font-size:10px;letter-spacing:1.45px;line-height:1.7;margin-bottom:12px}
.dish{padding-block:20px}
.dish h3{font:500 clamp(21px,1.8vw,27px)/1.2 var(--sans);letter-spacing:-.035em}
.dish p{font-size:13px;line-height:1.7;margin-top:8px}
.dish-marker{font-size:13px}
.menu-footer{padding-top:29px}
.menu-footer>span{font-size:11px;max-width:230px}
.menu-footer .text-link{font-size:12px}
.interlude-title{font:500 clamp(85px,11vw,165px)/.85 var(--display);text-transform:uppercase;letter-spacing:-.025em}
.interlude-title em{font-style:normal;margin-top:12px}
.interlude>.eyebrow{font-size:10px;letter-spacing:2.5px}
.interlude-bottom{font-size:9px}
.gallery-grid{grid-template-columns:1fr 1fr;gap:36px 40px}
.gallery-item img{filter:none;height:auto;aspect-ratio:4/5;object-fit:cover}
.gallery-item:nth-child(2) img{height:auto;aspect-ratio:4/5;object-position:50% 60%}
.gallery-item:nth-child(3) img{height:auto;aspect-ratio:1/1;object-position:50% 50%}
.gallery-item:nth-child(4) img{height:auto;aspect-ratio:1/1;object-position:50% 52%}
.gallery-item:nth-child(2){margin-top:115px}
.gallery-item:nth-child(4){margin-top:70px}
.gallery-overlay{font-size:12px;line-height:1.5;gap:15px}
.gallery-bottom>span{font:400 19px/1.3 var(--sans);font-style:normal;letter-spacing:-.02em}
.gallery-bottom .text-link,.instagram-link{font-size:12px}
.visit-intro{font-size:15px;line-height:1.7}
.visit-contact>a{font:500 32px/1.3 var(--display);letter-spacing:.3px}
.visit-contact>span{font-size:8px;letter-spacing:1.4px}
.location-title,.hours>.eyebrow{font-size:10px;letter-spacing:1.5px}
.address-link{font:500 34px/1.12 var(--display);letter-spacing:0}
.location-note{font-size:13px}
.hours>div{font-size:13px}
.map-link{font-size:13px}
.footer-brand>span{font:500 23px/1.1 var(--display);font-style:normal;text-transform:uppercase;letter-spacing:0}
.footer-links{font-size:11px;gap:22px}
.footer-display{font:500 clamp(95px,16vw,245px)/.9 var(--display);letter-spacing:-.035em;padding-block:54px 30px}
.footer-display em{font-style:normal}
.footer-bottom{font-size:9px}
.reservation-dialog h2{font:500 60px/.98 var(--display);text-transform:uppercase;letter-spacing:-.015em}
.reservation-dialog>p:not(.eyebrow){font-size:14px}
.reservation-dialog>.button{font-size:22px}
.reservation-dialog>.eyebrow{font-size:10px}
.reservation-dialog>.text-link{font-size:12px}
.lightbox-caption{font-size:13px}
@media(max-width:1150px){
  .desktop-nav{gap:20px;margin-left:10px}.desktop-nav a{font-size:10px;letter-spacing:.6px}
  .header-actions{gap:17px}.button-small{font-size:11px;gap:16px}
  .story-image-wrap img{height:530px}.story{gap:65px}
  .footer-links{gap:18px;font-size:10px}
}
@media(max-width:900px){
  .desktop-nav{gap:14px}.desktop-nav a{font-size:9px;letter-spacing:.3px}
  .header-actions{gap:13px}.site-header{gap:14px}
  .story-copy h2,.section-heading h2,.visit-copy h2{font-size:62px}
  .gallery-section .section-heading h2{font-size:58px}
  .story{gap:43px}.story-image-wrap img{height:505px}
  .section-heading>p{font-size:13px;max-width:200px}
  .menu-content{gap:30px}
  .dish h3{font-size:23px}.dish p{font-size:12px}
  .gallery-item:nth-child(2){margin-top:75px}.gallery-item:nth-child(4){margin-top:40px}
  .hero-description{font-size:14px;max-width:300px}
  .welcome-strip{gap:20px}.welcome-strip>span{font-size:9px;letter-spacing:1px}
}
@media(max-width:720px){
  .wordmark-number{font-size:44px;letter-spacing:-1.5px}
  .wordmark-sub{font-size:5px;letter-spacing:2px;margin-top:7px}
  .language-toggle{font-size:11px;min-width:24px}
  .button-small{font-size:11px;gap:12px;padding-inline:13px}
  .mobile-nav>a{font:500 37px/1.15 var(--display);text-transform:uppercase}
  .mobile-nav>button{font-size:13px}
  .hero{min-height:690px}
  .hero-copy{padding-top:55px;padding-bottom:110px}
  .hero-eyebrow{font-size:9px;letter-spacing:1.9px;margin-bottom:35px}
  h1{font-size:clamp(105px,31vw,200px);line-height:.82;letter-spacing:-.022em}
  h1>em{font-size:.82em;letter-spacing:-.02em;margin-top:12px}
  .hero-description{font-size:14px;line-height:1.7;max-width:290px;margin-top:29px}
  .hero-actions{gap:22px;margin-top:29px}
  .hero-actions>.button{font-size:12px;min-width:184px;min-height:52px}
  .hero-menu-link{font-size:11px}
  .hero-bottom,.hero-scroll{font-size:8px;letter-spacing:1.3px}
  .hero-visual{inset:0}
  .hero-image{filter:brightness(.87);object-position:62% center}
  .hero:after{background:linear-gradient(180deg,#080808ba 0%,#08080880 40%,#08080814 75%,#0808089c 100%)}
  .welcome-strip{gap:10px}.welcome-strip>span{font-size:7px;letter-spacing:.55px}
  .story-copy h2,.section-heading h2,.visit-copy h2{font-size:clamp(55px,15.1vw,78px);letter-spacing:-.015em}
  .gallery-section .section-heading h2{font-size:clamp(49px,13vw,72px);letter-spacing:-.012em}
  .story-copy .body-large{font-size:24px;line-height:1.3}
  .story-copy>p:not(.eyebrow):not(.body-large){font-size:14px;line-height:1.85}
  .story-visual{margin-left:12px;padding-top:12px}
  .story-image-wrap img{height:auto;aspect-ratio:4/5;object-position:center;filter:none}
  .story-image-wrap:before{inset:-12px 12px 12px -12px}
  .image-note{font-size:8px;letter-spacing:.7px}.image-note>span:last-child{font-size:14px}
  .section-heading>p{font-size:14px;line-height:1.8;max-width:350px}
  .menu-tabs{gap:27px}.menu-tabs button{font-size:27px}
  .tab-number{font-size:9px}
  .menu-photo{height:auto;min-height:0;aspect-ratio:4/5}
  .menu-photo-label>span{font-size:29px}
  .menu-subtitle{font-size:10px;letter-spacing:1.25px;margin-bottom:10px}
  .dish{padding-block:22px}.dish h3{font-size:24px;line-height:1.2;letter-spacing:-.035em}.dish p{font-size:14px;line-height:1.75}
  .menu-footer{flex-wrap:wrap;gap:20px}.menu-footer>span{font-size:11px;max-width:230px}
  .menu-footer .text-link{font-size:12px}
  .interlude-title{font-size:clamp(69px,18vw,110px);letter-spacing:-.02em}
  .interlude>.eyebrow{font-size:9px}.interlude-bottom{font-size:8px}
  .gallery-grid{gap:26px 17px}
  .gallery-item img,.gallery-item:nth-child(2) img{height:auto;aspect-ratio:4/5}
  .gallery-item:nth-child(3) img,.gallery-item:nth-child(4) img{height:auto;aspect-ratio:1}
  .gallery-item:nth-child(2){margin-top:52px}.gallery-item:nth-child(4){margin-top:26px}
  .gallery-overlay{font-size:10px;align-items:flex-start;gap:7px;min-height:50px;line-height:1.4}
  .gallery-plus{width:22px;height:22px}
  .gallery-bottom>span{font-size:19px}.gallery-bottom .text-link{font-size:12px}
  .visit-intro{font-size:14px;line-height:1.8}
  .visit-contact{gap:15px}.visit-contact>a{font-size:31px}.visit-contact>span{font-size:7px;letter-spacing:1px}
  .address-link{font-size:34px}.location-title,.hours>.eyebrow{font-size:10px;letter-spacing:1.2px}
  .hours>div{font-size:13px}.map-link{font-size:13px}
  .footer-links{font-size:12px;gap:8px 20px}.footer-brand>span{font-size:25px}
  .footer-display{font-size:16.5vw;letter-spacing:-.03em;padding-block:40px 24px}
  .footer-bottom{font-size:8px;letter-spacing:.3px}
  .reservation-dialog h2{font-size:48px;letter-spacing:-.01em}
  .reservation-dialog>.button{font-size:20px}.reservation-dialog>.eyebrow{font-size:9px;letter-spacing:1.7px}
}
@media(max-width:380px){
  .site-header{padding-inline:20px;gap:9px}.header-actions{gap:9px}.wordmark{min-width:65px}
  .button-small{padding-inline:10px;font-size:10px}
  .hero-copy{padding-top:49px}.hero-eyebrow{font-size:8px;letter-spacing:1.4px}
  .hero-actions{gap:17px}.hero-actions>.button{min-width:168px;font-size:11px;padding-inline:15px}.hero-menu-link{font-size:10px;gap:8px}
  .story-copy h2,.section-heading h2,.visit-copy h2{font-size:55px}
  .gallery-section .section-heading h2{font-size:49px}
  .dish h3{font-size:23px}.menu-tabs button{font-size:25px}
  .visit-contact{flex-wrap:wrap;gap:6px 16px}
}


/* Restrained typography and spacing; photographs carry the identity. */
.story-copy h2,.section-heading h2,.gallery-section .section-heading h2,.visit-copy h2{
  font:400 clamp(46px,4.5vw,68px)/1.08 var(--sans);
  text-transform:none;letter-spacing:-.045em;
}
.story-copy h2>*,.section-heading h2>*,.visit-copy h2>*{font:inherit;letter-spacing:inherit;text-transform:none}
.story{padding-block:130px;gap:clamp(70px,10vw,160px)}
.story-visual{padding-top:0}
.story-image-wrap:before{display:none}
.story-copy .body-large{font:400 16px/1.5 var(--sans);letter-spacing:0;margin-bottom:24px;color:var(--muted)}
.story-copy>p:not(.eyebrow):not(.body-large){font-size:15px;line-height:1.9;max-width:360px}
.story-copy .text-link{margin-top:30px}
.image-note{font-size:9px;letter-spacing:.8px;color:var(--muted)}
.image-note>span:last-child{font:400 11px/1.4 var(--sans);letter-spacing:.2px}
.menu-section{padding-block:112px 120px}
.menu-section .section-heading{align-items:flex-start}
.section-heading>p{line-height:1.85;margin-top:4px}
.menu-tabs button{font:400 21px/1.3 var(--sans);letter-spacing:-.025em;padding-block:20px}
.menu-photo-label>span{font:400 22px/1.2 var(--sans);letter-spacing:-.025em}
.menu-subtitle{font-size:10px;letter-spacing:1.3px;color:#aaa}
.dish{padding-block:23px}
.dish h3{font-size:23px;font-weight:400}
.dish p{font-size:13px;line-height:1.8}
.gallery-section{padding-block:122px}
.gallery-grid{margin-top:58px;gap:36px 48px}
.gallery-overlay{font-size:13px;font-weight:400;padding-top:17px}
.gallery-plus{border:0;border-radius:0;font-size:21px;color:var(--muted)}
.gallery-bottom>span{font:400 13px/1.5 var(--sans);letter-spacing:0;color:var(--muted)}
.visit-inner{padding-block:115px}
.visit-intro{font-size:14px;margin-top:25px}
.reservation-dialog h2{font:400 42px/1.1 var(--sans);letter-spacing:-.04em;text-transform:none;margin-top:32px}
.reservation-dialog>p:not(.eyebrow){font-size:14px}
@media(max-width:900px){
  .story{gap:50px;padding-block:100px}
  .story-copy h2,.section-heading h2,.gallery-section .section-heading h2,.visit-copy h2{font-size:49px}
  .menu-tabs button{font-size:19px}
  .gallery-grid{gap:30px}
}
@media(max-width:720px){
  .story{gap:38px;padding-block:74px}
  .story-visual{margin-left:0;padding-top:0}
  .story-copy h2,.section-heading h2,.gallery-section .section-heading h2,.visit-copy h2{font-size:clamp(41px,11.5vw,58px);line-height:1.1;letter-spacing:-.045em}
  .story-copy .body-large{font-size:15px;margin-bottom:20px}
  .story-copy>p:not(.eyebrow):not(.body-large){font-size:14px;line-height:1.85}
  .story-image-wrap img{aspect-ratio:3/4}
  .menu-section{padding-block:74px}
  .menu-tabs{gap:30px}.menu-tabs button{font-size:20px;min-height:64px;padding-block:20px}
  .section-heading>p{font-size:14px;max-width:340px;margin-top:24px}
  .menu-photo-label>span{font-size:21px}
  .dish{padding-block:22px}.dish h3{font-size:23px}.dish p{font-size:14px}
  .gallery-section{padding-block:76px}
  .gallery-grid{gap:24px 18px;margin-top:36px}
  .gallery-overlay{font-size:11px;padding-top:13px;min-height:42px}
  .gallery-plus{width:18px;height:18px;font-size:19px}
  .gallery-bottom>span{font-size:13px}
  .visit-inner{padding-block:76px}
  .reservation-dialog h2{font-size:37px;margin-top:29px}
}
