/* SulJan — composição integral. Uma escala, uma grade, a identidade da casa. */
:root {
  color-scheme: dark;
  --ink:#0b090e;
  --surface:#141019;
  --paper:#f5f2ef;
  --muted:#bcb4c3;
  --purple:#ff29e6;
  --purple-deep:#b91da8;
  --line:#ffffff24;
  --display:'Barlow Condensed',sans-serif;
  --body:'DM Sans',sans-serif;
  --edge:clamp(24px,4.5vw,80px);
  --content:1440px;
  --header:88px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header) + 20px); }
body { margin:0; background:var(--ink); color:var(--paper); font:400 16px/1.7 var(--body); }
body.menu-open { overflow:hidden; }
img,video { display:block; width:100%; height:auto; }
figure,p,h1,h2,h3,blockquote { margin:0; }
a { color:inherit; text-decoration:none; }
button { font:inherit; color:inherit; cursor:pointer; }
a,button { -webkit-tap-highlight-color:transparent; }
button,a { touch-action:manipulation; }
:focus-visible { outline:2px solid var(--purple); outline-offset:5px; }
::selection { background:var(--purple); color:var(--ink); }
h1,h2,h3 { font-family:var(--display); font-weight:600; text-transform:uppercase; letter-spacing:-.02em; line-height:.98; }
h2 { font-size:clamp(60px,6.4vw,96px); }
h3 { font-size:clamp(32px,3vw,44px); }
em { color:var(--purple); font-style:normal; }
.shell { width:min(calc(100% - var(--edge)*2),var(--content)); margin-inline:auto; }
.section-label,.panel__number { font-size:12px; font-weight:500; line-height:1.5; letter-spacing:.13em; text-transform:uppercase; color:var(--purple); }
.skip-link { position:fixed; z-index:100; top:10px; left:10px; padding:10px 18px; color:var(--ink); background:var(--paper); transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.button,.text-link,.contact__book { display:inline-flex; justify-content:space-between; align-items:center; gap:24px; min-height:54px; padding:16px 22px; font-size:12px; line-height:1.5; letter-spacing:.075em; text-transform:uppercase; }
.button--solid,.contact__book { color:var(--ink); background:var(--purple); border:1px solid var(--purple); }
.button--solid:hover,.contact__book:hover { background:#ff64ec; border-color:#ff64ec; }
.button span,.text-link span,.contact__book i { font-style:normal; font-size:22px; line-height:1; }
.text-link { padding-inline:0; border-bottom:1px solid #ff29e680; }
.text-link span { color:var(--purple); }
.text-link:hover { color:var(--purple); border-color:var(--purple); }
/* The same original motif, kept at a readable, fixed scale. */
.texture { position:relative; isolation:isolate; background:var(--purple); color:var(--ink); }
.texture:before { content:''; position:absolute; z-index:-1; inset:0; background:url('./images/suljan-pattern-tile.webp') repeat; background-size:540px auto; filter:grayscale(1) brightness(2.7) contrast(2); mix-blend-mode:multiply; opacity:.35; pointer-events:none; }
/* Navigation */
.site-header { position:fixed; inset:0 0 auto; z-index:30; height:var(--header); display:grid; grid-template-columns:180px 1fr 174px; align-items:center; gap:32px; padding-inline:var(--edge); background:#0b090ef5; border-bottom:1px solid var(--line); }
.brand { display:block; width:175px; }
.desktop-nav { display:flex; justify-content:center; align-items:center; gap:clamp(18px,2vw,34px); }
.desktop-nav a,.header-book { font-size:12px; font-weight:500; line-height:1.4; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }
.desktop-nav a { padding-block:18px; position:relative; }
.desktop-nav a:after { content:''; position:absolute; left:0; right:0; bottom:10px; height:1px; background:var(--purple); transform:scaleX(0); transform-origin:left; transition:transform .2s; }
.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after { transform:scaleX(1); }
.header-book { display:flex; align-items:center; justify-content:space-between; padding-left:24px; min-height:44px; border-left:1px solid var(--line); }
.header-book span { color:var(--purple); font-size:24px; }
.menu-button,.mobile-menu { display:none; }
/* Film: almost the entire first screen, as in the supplied reference. */
.hero { margin-top:var(--header); position:relative; height:calc(100svh - var(--header)); min-height:430px; background:#060608; }
.hero__film { position:absolute; inset:0; overflow:hidden; }
.hero-video { width:100%; height:100%; object-fit:cover; object-position:center; }
.hero__shade { position:absolute; inset:0; background:linear-gradient(0deg,#09060e75,transparent 28%); pointer-events:none; }
.film-control { position:absolute; bottom:30px; left:var(--edge); display:flex; align-items:center; gap:15px; min-height:54px; padding:15px 22px; border:1px solid #ffffff80; background:#0b090ebd; backdrop-filter:blur(6px); }
.film-control b { font-size:12px; font-weight:500; letter-spacing:.08em; }
.film-control>span { width:10px; height:14px; border-inline:2px solid var(--purple); }
.film-control.is-paused>span { width:0; height:0; border:0; border-left:10px solid var(--purple); border-top:7px solid transparent; border-bottom:7px solid transparent; }
.film-control:hover { border-color:var(--purple); background:var(--ink); }
/* The original introduction is a transition into the experience. */
.opening-intro { display:grid; grid-template-columns:1fr 248px; align-items:center; gap:64px; padding-block:64px; border-bottom:1px solid var(--line); }
.opening-intro h1 { font-size:clamp(42px,4.25vw,64px); line-height:1.02; }
.opening-intro__lead { display:block; margin-bottom:16px; font:500 13px/1.5 var(--body); letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.opening-intro__actions { display:flex; flex-direction:column; gap:10px; }
.opening-intro__actions a { width:100%; }
/* Experience: photographs remain complete, typography shares their grid. */
.first-look { width:min(calc(100% - var(--edge)*2),var(--content)); margin:80px auto 96px; display:grid; grid-template-columns:1fr 1fr; gap:40px 56px; }
.first-look>* { min-width:0; }
.first-look__intro { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding-right:8%; }
.hangul { position:absolute; right:10%; top:17%; writing-mode:vertical-rl; font-size:72px; line-height:1; color:#ff29e626; pointer-events:none; }
.first-look__intro h2 { margin:28px 0 24px; font-size:clamp(76px,8.5vw,124px); line-height:.88; }
.panel__body { max-width:425px; font-size:16px; line-height:1.8; color:var(--muted); margin-bottom:16px; }
.first-look__toast,.first-look__drinks { position:relative; align-self:start; }
.photo-window { position:relative; overflow:hidden; width:100%; }
.photo-window--toast { aspect-ratio:960 / 897; }
.photo-window--food { aspect-ratio:960 / 900; }
.photo-window img { width:200%; max-width:none; height:auto; }
.album-photo-window { aspect-ratio:4 / 5; }
.album-photo-window img { width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; }
.album-card-photo { aspect-ratio:4 / 5; object-fit:cover; object-position:center; }
.panel--media figcaption { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-block:18px; border-bottom:1px solid var(--line); }
.panel--media figcaption span { color:var(--purple); font-size:11px; letter-spacing:.09em; line-height:1.5; }
.panel--media figcaption b { font:600 26px/.98 var(--display); text-align:right; max-width:250px; }
.first-look__drinks { align-self:stretch; }
.first-look__menu { padding:clamp(28px,3.3vw,52px); display:flex; flex-direction:column; justify-content:space-between; }
.first-look__menu .panel__number { color:#291837; }
.menu-manifesto { padding-block:24px; }
.menu-manifesto p { font:600 clamp(66px,7vw,104px)/.88 var(--display); letter-spacing:-.025em; }
.menu-manifesto p:last-child { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; }
.menu-manifesto p span { font:400 .65em/1 var(--body); }
.first-look__menu>a { display:flex; justify-content:space-between; align-items:center; font-size:12px; font-weight:500; letter-spacing:.1em; border-top:1px solid #29183760; padding-top:20px; }
.first-look__menu>a span { font-size:28px; line-height:1; }
/* Ritual: film and story are one spread, without an extra frame. */
.ritual { width:min(calc(100% - var(--edge)*2),var(--content)); margin:0 auto 110px; display:grid; grid-template-columns:minmax(280px,.76fr) 1.24fr; gap:clamp(48px,7vw,112px); align-items:center; }
.ritual__media { position:relative; }
.ritual__media { background:url('./images/kitchen-poster.jpg') center / cover no-repeat; }
.ritual__media img { aspect-ratio:9 / 16; object-fit:cover; object-position:center; }
.menu-card--motion figure { background:url('./images/dish-poster.jpg') center / cover no-repeat; }
.ritual__media video,.menu-card--motion video { opacity:0; }
.ritual__media video.is-playing,.menu-card--motion video.is-playing { opacity:1; }
.ritual__media video { aspect-ratio:9 / 16; object-fit:contain; }
.ritual__media-note { position:absolute; left:22px; right:22px; bottom:20px; display:flex; justify-content:space-between; gap:12px; font-size:10px; letter-spacing:.1em; text-shadow:0 1px 4px #000; }
.ritual__story { padding-block:32px; }
.ritual__story h2 { margin-block:26px 32px; }
.ritual__copy { border-top:1px solid var(--line); padding-top:28px; display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.ritual__copy p { color:var(--muted); font-size:15px; line-height:1.8; }
.ritual blockquote { margin-top:42px; color:var(--purple); font-size:90px; line-height:1.2; }
.ritual blockquote small { display:block; margin-top:12px; color:var(--muted); font:500 11px/1.5 var(--body); letter-spacing:.1em; }
/* Food and drink: a compact editorial composition. */
.menu-scene { padding-bottom:100px; }
.section-head { display:grid; grid-template-columns:1fr 1fr; gap:24px 80px; align-items:end; }
.section-head .section-label { grid-column:1/-1; }
.section-head>p:last-child { max-width:480px; color:var(--muted); font-size:16px; line-height:1.8; }
.menu-grid { display:grid; grid-template-columns:1fr .6fr 1fr; gap:28px; align-items:start; margin-top:48px; }
.menu-card--motion { margin-top:64px; }
.menu-card--motion video { aspect-ratio:9 / 16; }
.menu-card--drink { margin-top:128px; }
.menu-card>div { padding-top:22px; }
.menu-card>div>span { color:var(--purple); font-size:11px; letter-spacing:.1em; }
.menu-card h3 { margin-top:12px; font-size:clamp(28px,3vw,42px); }
.menu-card p { color:var(--muted); font-size:15px; line-height:1.75; margin-top:16px; max-width:360px; }
.menu-links { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:54px; }
.menu-links a { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:26px 0; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.menu-links a>span { font:600 clamp(28px,3vw,42px)/1 var(--display); text-transform:uppercase; }
.menu-links i { font-style:normal; display:flex; align-items:center; gap:14px; color:var(--purple); font-size:12px; }
.menu-links i span { font-size:26px; }
.menu-links a:hover { color:var(--purple); }
/* Purple is a complete content surface, not a frame around photographs. */
.happy { display:grid; grid-template-columns:.9fr 1.1fr; gap:7%; padding:70px max(var(--edge),calc((100vw - var(--content))/2)); }
.happy .section-label { color:#291837; }
.happy h2 { font-size:clamp(72px,7.8vw,116px); line-height:.88; margin-block:30px; }
.happy h2 span { display:block; color:transparent; -webkit-text-stroke:1.5px #281333; margin-top:10px; }
.happy__intro { font-size:16px; line-height:1.7; max-width:290px; }
.happy__schedule { border-top:1px solid #29183770; }
.happy__schedule article { padding:25px 0; border-bottom:1px solid #29183770; display:grid; grid-template-columns:112px 1fr; gap:12px 24px; }
.happy__schedule article>span { grid-column:1/-1; font-size:12px; font-weight:600; letter-spacing:.12em; }
.happy__schedule strong { font:600 76px/.9 var(--display); letter-spacing:-.035em; }
.happy__schedule p { font:600 clamp(27px,2.6vw,36px)/1.04 var(--display); text-transform:uppercase; }
.happy__schedule p b { display:inline-block; margin-top:5px; font-weight:500; }
.happy__schedule small { grid-column:1/-1; max-width:460px; font-size:14px; line-height:1.65; }
/* Reasons to gather: alternating complete photos, consistent text widths. */
.occasions { width:min(calc(100% - var(--edge)*2),var(--content)); margin:100px auto; }
.occasion { display:grid; grid-template-columns:1fr 1fr; gap:clamp(44px,6vw,96px); align-items:center; }
.occasion+.occasion { margin-top:88px; padding-top:88px; border-top:1px solid var(--line); }
.occasion__media { width:100%; max-width:580px; }
.occasion--lunch .occasion__media { grid-column:2; grid-row:1; justify-self:end; }
.occasion--lunch .occasion__copy { grid-column:1; grid-row:1; }
.occasion__copy { max-width:590px; }
.occasion__copy h2 { margin:24px 0 30px; font-size:clamp(60px,6vw,88px); }
.occasion__copy ul { padding:0; margin:0 0 30px; list-style:none; }
.occasion__copy li { display:grid; grid-template-columns:125px 1fr; gap:20px; padding:18px 0; border-top:1px solid var(--line); }
.occasion__copy li:last-child { border-bottom:1px solid var(--line); }
.occasion__copy li b { color:var(--purple); font-size:12px; font-weight:500; line-height:1.6; text-transform:uppercase; letter-spacing:.04em; }
.occasion__copy li span { font-size:15px; line-height:1.7; color:var(--muted); }
.occasion__lead { font:600 30px/1.12 var(--display); text-transform:uppercase; margin-bottom:18px; }
.occasion__lead+p { color:var(--muted); font-size:16px; line-height:1.8; max-width:440px; }
.occasion__time { margin:32px 0 14px; border-block:1px solid var(--line); padding:18px 0; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.occasion__time span { font-size:12px; letter-spacing:.08em; }
.occasion__time b { color:var(--purple); font:600 48px/1 var(--display); }
/* Contact is a destination, with all practical information together. */
.contact { border-top:1px solid var(--line); padding:72px max(var(--edge),calc((100vw - var(--content))/2)) 48px; display:grid; grid-template-columns:1.2fr .8fr; gap:50px 10%; background:var(--surface); }
.contact__content { grid-column:1; grid-row:1; align-self:center; }
.contact__content h2 { font-size:clamp(64px,7vw,108px); margin:26px 0 34px; }
.contact__book { min-width:260px; }
.contact__facade { grid-column:2; grid-row:1; max-width:370px; width:100%; justify-self:end; }
.contact__details { grid-column:1/-1; display:grid; grid-template-columns:1.2fr 1.1fr 1.4fr .6fr; gap:32px; border-top:1px solid var(--line); padding-top:30px; }
.contact__details p { font-size:14px; line-height:1.8; color:var(--muted); }
.contact__details p>span { display:block; margin-bottom:12px; font-size:11px; letter-spacing:.13em; color:var(--purple); }
.contact__details a:hover { color:var(--paper); }
.site-footer { padding:28px var(--edge); display:flex; justify-content:space-between; align-items:center; gap:30px; font-size:11px; letter-spacing:.05em; color:var(--muted); }
.site-footer img { width:140px; }
/* Tablet */
@media(max-width:1100px) {
 .site-header { grid-template-columns:165px 1fr 150px; gap:20px; }
 .brand { width:155px; }
 .desktop-nav { gap:17px; }
 .desktop-nav a,.header-book { font-size:10px; }
 .first-look { gap:32px; }
 .first-look__intro { padding-right:0; }
 .first-look__intro h2 { font-size:94px; }
 .hangul { right:0; font-size:62px; }
 .ritual { gap:50px; }
 .ritual__copy { grid-template-columns:1fr; gap:18px; }
 .ritual__story h2 { font-size:68px; }
 .ritual blockquote { font-size:72px; margin-top:26px; }
 .happy { gap:5%; }
 .happy__schedule article { grid-template-columns:88px 1fr; gap:12px 20px; }
 .happy__schedule strong { font-size:66px; }
 .occasion__copy li { grid-template-columns:1fr; gap:6px; padding-block:14px; }
 .contact__details { grid-template-columns:1fr 1fr; }
}
@media(max-width:900px) {
 :root { --header:74px; --edge:28px; }
 .site-header { grid-template-columns:1fr auto; }
 .desktop-nav,.header-book { display:none; }
 .menu-button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; width:48px; height:48px; border:1px solid var(--line); background:transparent; border-radius:50%; }
 .menu-button span { display:block; width:21px; height:1px; background:var(--paper); transition:transform .2s; }
 .menu-button[aria-expanded=true] span:first-child { transform:translateY(4px) rotate(45deg); }
 .menu-button[aria-expanded=true] span:last-child { transform:translateY(-4px) rotate(-45deg); }
 .mobile-menu { position:fixed; top:var(--header); left:0; right:0; height:calc(100dvh - var(--header)); overflow:auto; padding:28px var(--edge); background:var(--ink); }
 .mobile-menu.is-open { display:flex; flex-direction:column; gap:20px; }
 .mobile-menu__index { color:var(--purple); font-size:11px; letter-spacing:.15em; }
 .mobile-menu nav { display:flex; flex-direction:column; }
 .mobile-menu nav a { font:600 clamp(32px,6vh,48px)/1.2 var(--display); text-transform:uppercase; padding-block:5px; }
 .mobile-menu__book { background:var(--purple); color:var(--ink); padding:15px 20px; margin-top:auto; text-transform:uppercase; font-size:12px; }
 .opening-intro { grid-template-columns:1fr; gap:26px; padding-block:42px; }
 .opening-intro__actions { flex-direction:row; gap:24px; max-width:520px; }
 .opening-intro h1 { font-size:52px; }
 .first-look__intro h2 { font-size:80px; }
 .hangul { display:none; }
 .panel__body { font-size:15px; }
 .panel--media figcaption { flex-direction:column; align-items:flex-start; gap:8px; }
 .panel--media figcaption b { text-align:left; }
 .menu-manifesto p { font-size:68px; }
 .ritual__story h2 { font-size:58px; }
 .ritual__copy p { font-size:14px; }
 .happy h2 { font-size:76px; }
 .happy__schedule p { font-size:27px; }
 .happy__schedule article { grid-template-columns:76px 1fr; gap:12px; }
 .happy__schedule strong { font-size:58px; }
 .occasion { gap:36px; }
 .occasion__copy h2 { font-size:60px; }
 .occasion__copy .button { padding:14px 16px; font-size:11px; gap:14px; }
 .contact { gap:36px; grid-template-columns:1.2fr .8fr; }
 .contact__content h2 { font-size:72px; }
}
/* Phone: one deliberate reading order, photographs keep their ratio. */
@media(max-width:700px) {
 :root { --edge:22px; }
 .hero { height:auto; min-height:0; aspect-ratio:9/16; }
 .film-control { bottom:22px; left:22px; min-height:50px; padding:14px 16px; }
 .film-control b { font-size:11px; letter-spacing:.04em; }
 .opening-intro h1 { font-size:clamp(34px,8.5vw,52px); line-height:1.04; }
 .opening-intro__lead { font-size:11px; letter-spacing:.09em; margin-bottom:14px; }
 .opening-intro { padding-block:34px; gap:24px; }
 .opening-intro__actions { gap:16px; max-width:none; }
 .opening-intro__actions a { font-size:11px; gap:12px; min-height:52px; }
 .opening-intro__actions .button { padding:14px; }
 .first-look { grid-template-columns:1fr; gap:32px; margin-block:48px 64px; }
 .first-look__intro { padding:0; }
 .first-look__intro h2 { font-size:clamp(76px,18vw,100px); margin:24px 0; }
 .panel__body { max-width:470px; font-size:16px; }
 .first-look__toast { margin-top:0; }
 .panel--media figcaption { flex-direction:row; align-items:center; padding-block:15px; gap:18px; }
 .panel--media figcaption span { font-size:10px; }
 .panel--media figcaption b { font-size:24px; text-align:right; max-width:190px; }
 .first-look__menu { padding:30px; min-height:330px; }
 .menu-manifesto { padding-block:22px; }
 .menu-manifesto p { font-size:clamp(66px,17vw,100px); }
 .first-look__menu .panel__number { font-size:11px; }
 .ritual { grid-template-columns:1fr; gap:30px; margin-bottom:70px; }
 .ritual__media { width:100%; }
 .ritual__story { padding:0; }
 .ritual__story h2 { font-size:clamp(56px,13vw,78px); margin:22px 0 26px; }
 .ritual__copy { grid-template-columns:1fr; gap:18px; padding-top:24px; }
 .ritual__copy p { font-size:16px; }
 .ritual blockquote { font-size:72px; margin-top:28px; }
 .menu-scene { padding-bottom:60px; }
 .section-head { grid-template-columns:1fr; gap:22px; }
 .section-head h2 { font-size:clamp(66px,16vw,92px); }
 .section-head>p:last-child { font-size:16px; }
 .menu-grid { grid-template-columns:1fr 1fr; gap:34px 20px; margin-top:34px; }
 .menu-card--food { grid-column:1/-1; }
 .menu-card--motion,.menu-card--drink { margin:0; }
 .menu-card>div { padding-top:16px; }
 .menu-card h3 { font-size:28px; }
 .menu-card--food h3 { font-size:38px; }
 .menu-card p { font-size:14px; margin-top:14px; }
 .menu-card>div>span { font-size:10px; letter-spacing:.06em; }
 .menu-links { grid-template-columns:1fr; gap:0; margin-top:38px; }
 .menu-links a { padding-block:22px; }
 .menu-links a+a { border-top:0; }
 .menu-links a>span { font-size:32px; }
 .happy { grid-template-columns:1fr; padding:40px var(--edge); gap:32px; }
 .happy h2 { font-size:clamp(64px,14vw,86px); line-height:.92; margin:24px 0; }
 .happy h2 br { display:none; }
 .happy h2 span { margin-top:7px; }
 .happy__intro { max-width:400px; font-size:16px; }
 .happy__schedule article { grid-template-columns:90px minmax(0,1fr); gap:14px 18px; padding-block:25px; }
 .happy__schedule article>span { font-size:12px; }
 .happy__schedule strong { font-size:66px; }
 .happy__schedule p { font-size:28px; }
 .happy__schedule small { font-size:14px; }
 .occasions { margin-block:60px; }
 .occasion { grid-template-columns:1fr; gap:28px; }
 .occasion+.occasion { margin-top:54px; padding-top:54px; }
 .occasion--lunch .occasion__media,.occasion--lunch .occasion__copy { grid-column:auto; grid-row:auto; }
 .occasion__media { max-width:none; }
 .occasion__copy { max-width:none; }
 .occasion__copy h2 { font-size:clamp(58px,14vw,82px); margin:22px 0 26px; }
 .occasion__copy li { grid-template-columns:1fr; gap:7px; padding-block:17px; }
 .occasion__copy li span { font-size:15px; }
 .occasion__copy .button { min-height:54px; width:100%; padding-inline:20px; font-size:11px; }
 .occasion__lead { font-size:28px; }
 .occasion__lead+p { font-size:16px; }
 .occasion__time b { font-size:42px; }
 .contact { padding:0 var(--edge) 36px; grid-template-columns:1fr; gap:30px; }
 .contact__facade { grid-column:1; grid-row:1; width:100%; max-width:none; }
 .contact__content { grid-column:1; grid-row:2; }
 .contact__content h2 { font-size:clamp(64px,15vw,88px); margin:22px 0 28px; }
 .contact__book { width:100%; }
 .contact__details { grid-column:1; grid-template-columns:1fr; gap:22px; padding-top:28px; }
 .contact__details p { font-size:14px; }
 .contact__details p>span { margin-bottom:7px; }
 .site-footer { display:grid; grid-template-columns:1fr auto; gap:22px; font-size:10px; padding-block:25px; }
 .site-footer img { width:130px; }
 .site-footer p { grid-column:1; grid-row:2; }
 .site-footer>a { grid-column:2; grid-row:1/3; font-size:10px; }
}
@media(max-width:360px) {
 .opening-intro__actions { flex-direction:column; gap:8px; }
 .opening-intro__actions a { padding-inline:16px; }
 .panel--media figcaption { flex-direction:column; align-items:flex-start; gap:7px; }
 .panel--media figcaption b { text-align:left; max-width:none; }
 .first-look__menu { padding:26px; }
 .menu-manifesto p { font-size:54px; }
 .menu-manifesto p:last-child { gap:10px; }
 .menu-manifesto p span { font-size:28px; }
 .menu-card h3 { font-size:25px; }
 .happy__schedule article { grid-template-columns:76px minmax(0,1fr); gap:12px; }
 .happy__schedule strong { font-size:56px; }
 .happy__schedule p { font-size:24px; }
 .happy h2 { font-size:58px; }
 .occasion__time b { font-size:36px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*:before,*:after { animation:none!important; transition:none!important; }
}

.opening-intro__actions .menu-arrow { width:20px; height:20px; flex:0 0 20px; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
