:root {
  --green: #123b2e;
  --green-2: #1d4d3d;
  --green-deep: #092a21;
  --cream: #f2eadb;
  --paper: #fffaf0;
  --ink: #1c211c;
  --gold: #c59b55;
  --tomato: #c93c24;
  --aperol: #e86f27;
  --line: rgba(28,33,28,.22);
  --serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --rail: 164px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: var(--sans); }
img { display: block; width: 100%; height: 100%; object-fit: cover; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
::selection { background: var(--tomato); color: #fff; }

.skip-link { position: fixed; left: 16px; top: 16px; z-index: 100; padding: 10px 14px; background: #fff; transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }

.rail { position: fixed; inset: 0 auto 0 0; width: var(--rail); z-index: 30; display: grid; grid-template-rows: 160px 1fr auto; background: var(--green); color: var(--cream); border-right: 1px solid rgba(255,255,255,.16); }
.rail__brand { display: flex; align-items: center; justify-content: center; padding: 28px 24px; border-bottom: 1px solid rgba(255,255,255,.16); }
.rail__brand img { width: 110px; height: auto; filter: invert(96%) sepia(9%) saturate(578%) hue-rotate(333deg) brightness(103%) contrast(90%); }
.rail__nav { align-self: center; display: grid; gap: 22px; padding: 24px 28px; }
.rail__nav a { writing-mode: vertical-rl; transform: rotate(180deg); font-family: var(--serif); font-size: 15px; letter-spacing: .03em; opacity: .72; transition: opacity .2s, transform .2s; }
.rail__nav a:hover, .rail__nav a:focus-visible { opacity: 1; transform: rotate(180deg) translateY(-3px); }
.rail__reserve { padding: 24px 18px; border-top: 1px solid rgba(255,255,255,.16); text-align: center; text-transform: uppercase; font-size: 11px; letter-spacing: .14em; }

.mobile-bar, .mobile-menu, .mobile-actions { display: none; }
main, .footer { margin-left: var(--rail); }

.hero { position: relative; min-height: 100svh; display: grid; grid-template-columns: minmax(330px, .82fr) minmax(430px, 1.35fr); grid-template-rows: 1fr 38vh; overflow: hidden; background: var(--cream); }
.hero::after { content:""; position:absolute; width: 38vw; aspect-ratio: 1; border: 1px solid rgba(28,33,28,.16); border-radius: 50%; right: -15vw; bottom: -16vw; pointer-events:none; }
.hero__folio { grid-column: 1; grid-row: 1 / 3; position: relative; z-index: 3; align-self: center; padding: 9vw 3vw 6vw 5vw; }
.hero h1 { max-width: 660px; margin: 22px 0 28px; font-family: var(--serif); font-size: clamp(54px, 6.1vw, 108px); line-height: .9; letter-spacing: -.055em; font-weight: 400; }
.hero h1 em { color: var(--green); font-weight: 400; }
.hero__copy { max-width: 465px; font-family: var(--serif); font-size: clamp(18px, 1.4vw, 23px); line-height: 1.45; }
.hero__actions { margin-top: 38px; display: flex; gap: 28px; flex-wrap: wrap; }
.text-link { border-bottom: 1px solid currentColor; padding: 0 0 6px; text-transform: uppercase; font-size: 11px; font-weight: 700; letter-spacing: .13em; }

.hero__photo { margin: 0; overflow: hidden; }
.hero__photo--main { grid-column: 2; grid-row: 1 / 3; margin-left: 7vw; min-height: 100svh; }
.hero__photo--main img { object-position: 48% 48%; }

.chapter { position: relative; padding: 120px 5vw 140px; }
.chapter__header { display: grid; grid-template-columns: 78px minmax(100px, 180px) 1fr; gap: 24px; align-items: start; border-top: 1px solid var(--line); padding-top: 18px; }
.chapter__header h2, .menu-spread h2, .gesture-heading h2, .visit-copy h2 { margin: 0; font-family: var(--serif); font-weight: 400; letter-spacing: -.035em; line-height: .94; }
.chapter__header h2 { max-width: 780px; font-size: clamp(46px, 5vw, 86px); }

.table-sequence { margin-top: 80px; display: grid; grid-template-columns: minmax(440px, 1.35fr) minmax(180px,.5fr) minmax(260px,.72fr); gap: 2.3vw; align-items: end; }
.photo { margin: 0; }
.photo img { transition: transform .65s cubic-bezier(.2,.7,.2,1); }
.photo:hover img { transform: scale(1.018); }
.photo--table { aspect-ratio: 4/5; }
.photo--table img { object-position: 50% 48%; }
.photo figcaption { margin-top: 10px; font-size: 11px; text-transform: uppercase; letter-spacing: .09em; }
.photo--drink { aspect-ratio: 4/5; transform: translateY(70px); }
.table-sequence__note { align-self: center; margin: 0; font-family: var(--serif); font-size: clamp(18px,1.55vw,25px); line-height:1.42; }

.chapter--carte { background: var(--green); color: var(--cream); padding-top: 150px; }
.menu-spread { display: grid; grid-template-columns: minmax(300px,.7fr) minmax(380px,.85fr) minmax(320px,.75fr); gap: 4vw; align-items: center; }
.menu-spread__intro { align-self: start; }
.menu-spread h2 { margin-top: 22px; font-size: clamp(48px,5.2vw,92px); }
.menu-spread__intro > p:not(.menu-spread__action) { max-width: 470px; margin-top: 30px; line-height:1.55; opacity:.78; }
.menu-spread__sheet { position:relative; min-height: 630px; padding: 46px 38px; background: var(--paper); color: var(--green-deep); box-shadow: 14px 18px 0 rgba(0,0,0,.13); }
.menu-spread__sheet::before { content:""; position:absolute; inset:18px; border:1px solid rgba(18,59,46,.24); pointer-events:none; }
.menu-sheet__topline { display:flex; justify-content:space-between; gap:20px; padding-bottom:24px; border-bottom:1px solid rgba(18,59,46,.35); font-size:10px; letter-spacing:.15em; font-weight:800; }
.menu-sheet__chapters { margin-top:54px; display:grid; gap:0; }
.menu-line { display:flex; justify-content:space-between; align-items:baseline; gap:24px; border-bottom:1px solid rgba(18,59,46,.22); padding:22px 0; }
.menu-line span { font-family: var(--serif); font-size: 28px; }
.menu-line small { text-transform:uppercase; letter-spacing:.12em; font-size:9px; opacity:.6; }
.menu-sheet__placeholder { position:absolute; left:38px; right:38px; bottom:42px; margin:0; color: var(--tomato); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.menu-spread__photo { margin: 0; height: 760px; transform: translateY(55px); }
.menu-spread__photo img { object-position: center; }

.chapter--gestures { padding-left: 0; padding-right: 0; overflow: hidden; }
.gesture-heading { padding: 0 5vw 70px; display:grid; grid-template-columns:80px 1.1fr .9fr; gap: 34px; align-items:start; }
.gesture-heading h2 { font-size: clamp(48px,5vw,86px); max-width:740px; }
.gesture-heading p { margin: 0; max-width: 460px; font-family:var(--serif); font-size:20px; line-height:1.45; }
.gesture-track { display:grid; grid-template-columns: 31vw 42vw 31vw; gap: 18px; padding: 0 5vw 24px; overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:none; }
.gesture-track::-webkit-scrollbar { display:none; }
.gesture-card { margin:0; min-width:0; scroll-snap-align:center; }
.gesture-card img { height:auto; aspect-ratio:4/5; }
.gesture-card--wide img { aspect-ratio:1/1; }
.gesture-card figcaption { display:flex; justify-content:space-between; margin-top:12px; padding-top:10px; border-top:1px solid var(--line); text-transform:uppercase; letter-spacing:.12em; font-size:10px; }
.gesture-card:nth-child(2) { margin-top: 90px; }

.chapter--venir { display:grid; grid-template-columns:minmax(360px,.95fr) minmax(460px,1.05fr); gap: 6vw; background: var(--paper); padding-top:130px; }
.visit-photo { height: 760px; overflow:hidden; }
.visit-photo img { object-position:center 44%; transform:scale(1.01); }
.visit-copy { align-self:center; max-width:680px; }
.visit-copy h2 { font-size: clamp(52px,5.5vw,94px); }
.practical-list { margin:54px 0 0; border-top:1px solid var(--line); }
.practical-list > div { display:grid; grid-template-columns:140px 1fr; gap:20px; padding:16px 0; border-bottom:1px solid var(--line); }
.practical-list dt { text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:800; }
.practical-list dd { margin:0; font-family:var(--serif); font-size:18px; }
.visit-actions { margin-top:38px; display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.cta { border:0; background:var(--green); color:var(--cream); padding:18px 22px; cursor:pointer; text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:800; }
.text-button { border:0; border-bottom:1px solid currentColor; padding:0 0 6px; background:none; cursor:pointer; text-transform:uppercase; letter-spacing:.11em; font-size:10px; font-weight:800; }
.placeholder-note { margin-top:26px; max-width:480px; font-size:11px; line-height:1.5; opacity:.62; }

.footer { min-height: 360px; display:grid; grid-template-columns: 1fr 1fr; grid-template-rows:1fr auto; gap:20px; align-items:end; padding:80px 5vw 42px; background:var(--green-deep); color:var(--cream); }
.footer__mark img { width:min(420px,70%); height:auto; filter: invert(96%) sepia(9%) saturate(578%) hue-rotate(333deg) brightness(103%) contrast(90%); }
.footer > p { margin:0; justify-self:end; font-family:var(--serif); font-size:20px; }
.footer__small { grid-column:1/-1; justify-self:start!important; font-family:var(--sans)!important; font-size:10px!important; text-transform:uppercase; letter-spacing:.12em; opacity:.58; }

.reveal { opacity:0; transform:translateY(22px); transition:opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1); }
.reveal.is-visible { opacity:1; transform:none; }
.toast { position:fixed; right:24px; bottom:24px; z-index:100; max-width:340px; padding:14px 16px; background:#111; color:#fff; font-size:13px; box-shadow:0 8px 30px rgba(0,0,0,.2); }

@media (max-width: 1080px) {
  :root { --rail: 112px; }
  .rail { grid-template-rows:130px 1fr auto; }
  .rail__brand { padding:24px 18px; }
  .rail__brand img { width:80px; }
  .hero { grid-template-columns:.78fr 1.22fr; }
  .hero__folio { padding-left:4vw; }
  .table-sequence { grid-template-columns:1.2fr .72fr; }
  .table-sequence__note { grid-column:2; grid-row:1; align-self:start; }
  .photo--drink { grid-column:2; transform:none; }
  .menu-spread { grid-template-columns: .85fr 1.15fr; }
  .menu-spread__photo { grid-column:1/-1; height:560px; transform:none; margin-top:36px; }
  .gesture-heading { grid-template-columns:60px 1fr; }
  .gesture-heading p { grid-column:2; }
  .gesture-track { grid-template-columns:42vw 55vw 42vw; }
}

@media (max-width: 760px) {
  html { scroll-padding-top: 74px; }
  body { padding-bottom:64px; }
  .rail { display:none; }
  main, .footer { margin-left:0; }
  .mobile-bar { position:fixed; z-index:60; inset:0 0 auto 0; height:70px; display:flex; align-items:center; justify-content:space-between; padding:12px 16px; background:rgba(242,234,219,.94); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
  .mobile-bar__brand img { width:150px; height:auto; }
  .mobile-bar__toggle { border:0; background:none; padding:8px; text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:800; }
  .mobile-menu { position:fixed; z-index:55; top:70px; left:0; right:0; display:grid; background:var(--green); color:var(--cream); padding:22px 16px 28px; border-bottom:1px solid rgba(255,255,255,.2); }
  .mobile-menu[hidden] { display:none; }
  .mobile-menu a { padding:16px 0; border-bottom:1px solid rgba(255,255,255,.16); font-family:var(--serif); font-size:24px; }
  .mobile-actions { position:fixed; z-index:65; display:grid; grid-template-columns:1fr 1fr; left:0; right:0; bottom:0; height:58px; background:var(--green-deep); color:var(--cream); }
  .mobile-actions a { display:grid; place-items:center; text-transform:uppercase; letter-spacing:.14em; font-size:10px; font-weight:800; }
  .mobile-actions a + a { border-left:1px solid rgba(255,255,255,.18); background:var(--tomato); }

  .hero { min-height:auto; padding-top:70px; display:grid; grid-template-columns: 1fr; grid-template-rows:auto; }
  .hero__folio { grid-column:1; grid-row:1; padding:64px 20px 48px; }
  .hero h1 { font-size:clamp(54px,16vw,78px); max-width:12ch; }
  .hero__copy { font-size:19px; max-width:32ch; }
  .hero__photo--main { grid-column:1; grid-row:2; min-height:0; height:78svh; margin:0; }
  .hero__photo--main img { object-position:50% 52%; }
  .hero::after { display:none; }

  .chapter { padding:90px 20px 100px; }
  .chapter__header { grid-template-columns:48px 1fr; gap:14px; }
  .chapter__header h2 { grid-column:1/-1; margin-top:28px; font-size:clamp(46px,13vw,70px); }
  .table-sequence { margin-top:48px; display:grid; grid-template-columns:1fr; gap:34px; }
  .table-sequence__note { grid-column:1; grid-row:2; padding:0 22px; font-size:20px; }
  .photo--drink { grid-column:1; aspect-ratio:3/4; width:74%; margin-left:auto; }

  .chapter--carte { padding-top:100px; }
  .menu-spread { grid-template-columns:1fr; gap:44px; }
  .menu-spread h2 { font-size:clamp(50px,14vw,76px); }
  .menu-spread__sheet { min-height:560px; padding:38px 28px; box-shadow:8px 10px 0 rgba(0,0,0,.12); }
  .menu-spread__sheet::before { inset:14px; }
  .menu-sheet__placeholder { left:28px; right:28px; }
  .menu-spread__photo { height:auto; aspect-ratio:4/5; margin:0 -20px -100px; }

  .chapter--gestures { padding:95px 0 90px; }
  .gesture-heading { padding:0 20px 50px; grid-template-columns:48px 1fr; gap:16px; }
  .gesture-heading h2 { font-size:clamp(48px,13vw,70px); }
  .gesture-heading p { font-size:18px; }
  .gesture-track { grid-template-columns:78vw 92vw 78vw; gap:12px; padding:0 20px 18px; }
  .gesture-card:nth-child(2) { margin-top:54px; }

  .chapter--venir { grid-template-columns:1fr; gap:54px; padding:0 20px 100px; }
  .visit-photo { height:auto; aspect-ratio:4/5; margin:0 -20px; }
  .visit-copy h2 { font-size:clamp(54px,14vw,78px); }
  .practical-list > div { grid-template-columns:110px 1fr; }

  .footer { min-height:310px; grid-template-columns:1fr; padding:70px 20px 36px; }
  .footer__mark img { width:78%; }
  .footer > p { justify-self:start; }
  .footer__small { grid-column:1; }
  .toast { left:14px; right:14px; bottom:74px; max-width:none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.001ms!important; transition-duration:.001ms!important; }
  .reveal { opacity:1; transform:none; }
}

/* Mise en conformité du site sans modifier la direction artistique d'origine. */
html { overflow-x: clip; }
body { overflow-x: clip; }
section[id] { scroll-margin-top: 78px; }
a:focus-visible,
button:focus-visible,
iframe:focus-visible { outline: 3px solid var(--tomato); outline-offset: 4px; }

.rail__nav { gap: 16px; }
.rail__nav a { font-size: 14px; }

.hero__folio { padding-top: 8vw; }
.hero h1 { margin-top: 0; }

.chapter__header { display: block; }
.chapter__header h2 { margin-top: 0; }

.menu-spread h2 { margin-top: 0; }
.menu-spread__action { max-width: none !important; margin-top: 34px !important; line-height: normal !important; opacity: 1 !important; }
.text-link--light { color: var(--cream); border-color: rgba(242,234,219,.7); }
.menu-spread__sheet { box-shadow: none; }
.menu-sheet__content { position: relative; z-index: 1; min-height: 500px; display: flex; flex-direction: column; justify-content: center; gap: 34px; padding: 42px 4px; }
.menu-sheet__content p { margin: 0; max-width: 26ch; font-family: var(--serif); font-size: clamp(26px, 2.4vw, 38px); line-height: 1.08; letter-spacing: -.02em; }
.menu-sheet__link { width: fit-content; border-bottom: 1px solid currentColor; padding-bottom: 7px; text-transform: uppercase; letter-spacing: .12em; font-size: 10px; font-weight: 800; }

.gesture-heading { grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); }
.gesture-card figcaption { justify-content: flex-start; }

.chapter--reservation { background: var(--green-deep); color: var(--cream); padding-top: 150px; padding-bottom: 150px; }
.booking-layout { display: grid; grid-template-columns: minmax(300px, .66fr) minmax(460px, 1.12fr); gap: 6vw; align-items: start; }
.booking-copy { position: sticky; top: 9vh; }
.booking-copy h2 { margin: 0; max-width: 700px; font-family: var(--serif); font-weight: 400; letter-spacing: -.04em; line-height: .92; font-size: clamp(54px, 6vw, 104px); }
.booking-copy p { max-width: 460px; margin: 34px 0 0; font-family: var(--serif); font-size: 20px; line-height: 1.45; opacity: .82; }
.booking-copy p + p { margin-top: 18px; font-family: var(--sans); font-size: 13px; }
.inline-link { border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.booking-frame-wrap { width: 100%; border-top: 1px solid rgba(242,234,219,.32); border-bottom: 1px solid rgba(242,234,219,.32); padding: 20px 0; }
.booking-frame { display: block; width: 100%; max-width: 700px; min-height: 700px; margin: 0 auto; border: 0; background: var(--paper); }

.visit-copy h2 { margin-top: 0; }
.visit-actions .cta { display: inline-flex; align-items: center; justify-content: center; }
.visit-actions .text-button { display: inline-block; }

.footer { grid-template-rows: 1fr auto auto; }
.footer__links { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 22px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.16); }
.footer__links a { text-transform: uppercase; letter-spacing: .12em; font-size: 10px; font-weight: 800; opacity: .72; }
.footer__links a:hover,
.footer__links a:focus-visible { opacity: 1; }

/* Page mentions légales */
.legal-page { background: var(--paper); }
.legal-header { min-height: 112px; display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 24px 5vw; background: var(--green); color: var(--cream); border-bottom: 1px solid rgba(255,255,255,.16); }
.legal-header__brand img { width: 150px; height: auto; filter: invert(96%) sepia(9%) saturate(578%) hue-rotate(333deg) brightness(103%) contrast(90%); }
.legal-main { margin-left: 0; }
.legal-section { max-width: 1320px; margin: 0 auto; padding: 110px 5vw 140px; }
.legal-section h1 { max-width: 900px; margin: 0 0 80px; font-family: var(--serif); font-size: clamp(58px, 8vw, 122px); font-weight: 400; line-height: .9; letter-spacing: -.055em; }
.legal-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: 8vw; align-items: start; }
.legal-grid article { border-top: 1px solid var(--line); padding-top: 20px; }
.legal-grid h2 { margin: 0 0 32px; font-family: var(--serif); font-weight: 400; font-size: clamp(32px, 3vw, 52px); letter-spacing: -.03em; }
.legal-grid p { max-width: 54ch; font-family: var(--serif); font-size: 19px; line-height: 1.55; }
.legal-list { margin: 0; }
.legal-list > div { display: grid; grid-template-columns: minmax(150px, .72fr) minmax(0, 1.28fr); gap: 24px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.legal-list dt { text-transform: uppercase; letter-spacing: .1em; font-size: 10px; font-weight: 800; }
.legal-list dd { margin: 0; font-family: var(--serif); font-size: 18px; line-height: 1.35; }
.legal-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 38px 5vw; background: var(--green-deep); color: var(--cream); font-size: 12px; }
.legal-footer a { border-bottom: 1px solid rgba(242,234,219,.5); padding-bottom: 3px; }

@media (max-width: 1080px) {
  .booking-layout { grid-template-columns: minmax(260px, .55fr) minmax(420px, 1fr); gap: 4vw; }
  .booking-copy { position: static; }
}

@media (max-width: 760px) {
  .rail__nav { gap: 16px; }
  .hero__folio { padding-top: 64px; }
  .chapter__header { display: block; }
  .chapter__header h2 { margin-top: 0; }
  .gesture-heading { grid-template-columns: 1fr; gap: 24px; }
  .gesture-heading p { grid-column: auto; }
  .menu-spread__sheet { min-height: 520px; box-shadow: none; }
  .menu-sheet__content { min-height: 410px; padding: 26px 0; }
  .chapter--reservation { padding: 100px 20px; }
  .booking-layout { grid-template-columns: 1fr; gap: 56px; }
  .booking-copy h2 { font-size: clamp(54px, 14vw, 78px); }
  .booking-copy p { font-size: 18px; }
  .booking-frame-wrap { margin: 0; padding: 14px 0; }
  .booking-frame { min-height: 700px; }
  .footer { grid-template-columns: 1fr; grid-template-rows: auto; }
  .footer__links { grid-column: 1; }

  .legal-header { min-height: 86px; padding: 18px 20px; }
  .legal-header__brand img { width: 128px; }
  .legal-section { padding: 92px 20px 110px; }
  .legal-section h1 { margin-bottom: 58px; }
  .legal-grid { grid-template-columns: 1fr; gap: 68px; }
  .legal-list > div { grid-template-columns: 1fr; gap: 8px; }
  .legal-footer { align-items: flex-start; flex-direction: column; padding: 34px 20px 90px; }
}

/* Ajustements éditoriaux demandés — direction artistique d'origine conservée. */
.hero h1 {
  color: #000;
  font-style: normal;
}

.rail__bottom {
  display: grid;
  grid-template-columns: 52px 1fr;
  align-items: stretch;
  border-top: 1px solid rgba(255,255,255,.16);
}
.rail__reserve {
  border-top: 0;
  display: grid;
  place-items: center;
}
.rail__instagram {
  display: grid;
  place-items: center;
  border-right: 1px solid rgba(255,255,255,.16);
  opacity: .76;
  transition: opacity .2s ease;
}
.rail__instagram:hover,
.rail__instagram:focus-visible { opacity: 1; }
.rail__instagram svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

.mobile-bar__tools {
  display: flex;
  align-items: center;
  gap: 8px;
}
.mobile-bar__instagram {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
}
.mobile-bar__instagram svg {
  width: 21px;
  height: 21px;
  fill: currentColor;
}

.table-sequence {
  grid-template-columns: minmax(440px, 1.3fr) minmax(190px, .48fr) minmax(260px, .72fr);
}
.photo--third {
  grid-column: 2 / 4;
  width: min(100%, 760px);
  aspect-ratio: 16 / 10;
  justify-self: end;
  margin-top: 78px;
  overflow: hidden;
}
.photo--third img { object-position: center 46%; }

.menu-spread {
  grid-template-columns: minmax(340px, .78fr) minmax(440px, 1.22fr);
  gap: 7vw;
}
.menu-spread__photo {
  grid-column: auto;
  height: 720px;
  transform: none;
  margin-top: 0;
}

.gesture-card figcaption { display: none; }

.booking-layout {
  display: block;
  max-width: 820px;
  margin: 0 auto;
}
.booking-copy {
  position: static;
  text-align: center;
}
.booking-copy h2 {
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.booking-frame-wrap {
  max-width: 760px;
  margin: 60px auto 0;
  padding: 0;
  border-top: 0;
  border-bottom: 0;
}

.practical-list {
  border-top: 0;
}
.practical-list > div {
  padding: 12px 0;
  border-bottom: 0;
}

.footer__copyright {
  grid-column: 1 / -1;
  justify-self: start !important;
  margin: 0;
  font-family: var(--sans) !important;
  font-size: 11px !important;
  line-height: 1.4;
  letter-spacing: .04em;
  opacity: .62;
}

@media (max-width: 1080px) and (min-width: 761px) {
  .rail__bottom { grid-template-columns: 44px 1fr; }
  .menu-spread {
    grid-template-columns: minmax(280px, .85fr) minmax(360px, 1.15fr);
    gap: 4vw;
  }
  .menu-spread__photo {
    grid-column: auto;
    height: 620px;
    margin-top: 0;
  }
  .photo--third {
    width: 88%;
    margin-top: 54px;
  }
}

@media (max-width: 760px) {
  .hero h1 {
    max-width: 10.5ch;
    font-size: clamp(50px, 14vw, 72px);
    line-height: .93;
  }
  .mobile-bar__brand img { width: 136px; }

  .table-sequence { grid-template-columns: 1fr; }
  .photo--third {
    grid-column: 1;
    width: 90%;
    aspect-ratio: 4 / 5;
    justify-self: start;
    margin-top: 30px;
  }
  .photo--third img { object-position: center; }

  .menu-spread { grid-template-columns: 1fr; }
  .menu-spread__photo {
    grid-column: 1;
    height: auto;
    aspect-ratio: 4 / 5;
    margin: 8px -20px -100px;
  }

  .booking-layout { display: block; }
  .booking-frame-wrap { margin-top: 44px; }

  .practical-list > div {
    grid-template-columns: 105px 1fr;
    padding: 10px 0;
  }

  .footer__copyright { grid-column: 1; }
}


/* Galerie cuisine — 6 visuels 4:5 dans une grille classique et généreuse. */
.gesture-heading--center {
  display: block;
  padding: 0 5vw 60px;
  text-align: center;
}
.gesture-heading--center h2 {
  max-width: none;
  margin: 0 auto;
  text-align: center;
}

.kitchen-gallery {
  width: min(1440px, calc(100% - 6vw));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 1.8vw, 30px);
}
.kitchen-card {
  margin: 0;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: rgba(18, 59, 46, .06);
}
.kitchen-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .65s cubic-bezier(.2,.7,.2,1);
}
.kitchen-card:hover img { transform: scale(1.012); }

/* Le visuel secondaire du hero a été retiré : le hero reste volontairement épuré. */
.hero__photo--main {
  margin-left: 5vw;
}

@media (max-width: 1080px) {
  .gesture-heading--center { padding-bottom: 52px; }
  .kitchen-gallery {
    width: min(900px, calc(100% - 8vw));
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }
}

@media (max-width: 760px) {
  .gesture-heading--center {
    padding: 0 20px 42px;
  }
  .kitchen-gallery {
    width: 100%;
    padding: 0 20px;
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .kitchen-card {
    width: 100%;
    max-width: 520px;
    justify-self: center;
  }
  .hero__photo--main { margin-left: 0; }
}

/* Derniers ajustements : titre trattoria centré et navigation mobile plein écran. */
.chapter--table .chapter__header {
  display: block;
  text-align: center;
}
.chapter--table .chapter__header h2 {
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

@media (max-width: 760px) {
  body.menu-open {
    overflow: hidden;
  }

  body.menu-open .mobile-bar {
    background: var(--green);
    color: var(--cream);
    border-bottom-color: rgba(255,255,255,.16);
    backdrop-filter: none;
  }

  body.menu-open .mobile-bar__brand img {
    filter: invert(96%) sepia(9%) saturate(578%) hue-rotate(333deg) brightness(103%) contrast(90%);
  }

  .mobile-menu {
    top: 70px;
    bottom: 0;
    min-height: calc(100dvh - 70px);
    align-content: center;
    padding: 30px 28px 86px;
    overflow-y: auto;
    border-bottom: 0;
  }

  .mobile-menu a {
    padding: 14px 0;
    font-size: clamp(25px, 8vw, 34px);
    line-height: 1.05;
  }

  .chapter--table .chapter__header h2 {
    margin-top: 0;
  }
}


body.overlay-open { overflow: hidden; }

/* Groupe JBG — section reprise du projet initial, adaptée au langage visuel actuel. */
.chapter--groupe {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr);
  gap: 0;
  padding: 0;
  background: var(--paper);
  color: var(--ink);
}
.groupe__media { margin: 0; min-height: 620px; overflow: hidden; }
.groupe__media img { object-position: center; }
.groupe__content {
  align-self: center;
  padding: clamp(70px, 8vw, 140px) clamp(38px, 6vw, 100px);
}
.groupe__content h2 {
  max-width: 9ch;
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(52px, 5.4vw, 92px);
  font-weight: 400;
  line-height: .94;
  letter-spacing: -.04em;
}
.groupe__content p {
  max-width: 34ch;
  margin: 34px 0 30px;
  font-family: var(--serif);
  font-size: clamp(18px, 1.4vw, 22px);
  line-height: 1.45;
}

/* Galerie accessible — les visuels restent dans la grille, le bouton est visuellement neutre. */
.kitchen-card__button {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}
.kitchen-card__button img { pointer-events: none; }
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.lightbox {
  position: fixed;
  z-index: 200;
  inset: 0;
  display: grid;
  grid-template-columns: minmax(70px, 1fr) minmax(0, 1100px) minmax(70px, 1fr);
  align-items: center;
  gap: 18px;
  padding: 74px clamp(18px, 3vw, 42px) 36px;
  background: rgba(9, 42, 33, .97);
  color: var(--cream);
}
.lightbox[hidden] { display: none; }
.lightbox__stage { margin: 0; min-width: 0; display: grid; justify-items: center; gap: 14px; }
.lightbox__stage img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 78vh;
  object-fit: contain;
}
.lightbox__caption { max-width: 760px; text-align: center; font-size: 12px; line-height: 1.4; opacity: .72; }
.lightbox__close,
.lightbox__nav {
  border: 1px solid rgba(242,234,219,.38);
  background: transparent;
  color: var(--cream);
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: 10px;
  font-weight: 800;
}
.lightbox__close { position: absolute; top: 22px; right: 26px; padding: 11px 13px; }
.lightbox__nav { padding: 12px 10px; }
.lightbox__nav--prev { justify-self: start; }
.lightbox__nav--next { justify-self: end; }

/* Carte DigiChef chargée à la demande. */
.menu-dialog {
  position: fixed;
  z-index: 190;
  inset: 0;
  overflow-y: auto;
  background: var(--cream);
  color: var(--ink);
}
.menu-dialog[hidden] { display: none; }
.menu-dialog__panel { min-height: 100%; padding: clamp(28px, 4vw, 58px) clamp(20px, 6vw, 92px) 90px; }
.menu-dialog__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 26px;
}
.menu-dialog__header h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(58px, 7vw, 118px);
  font-weight: 400;
  line-height: .9;
  letter-spacing: -.05em;
}
.menu-dialog__close,
.menu-dialog__status button {
  border: 0;
  border-bottom: 1px solid currentColor;
  padding: 8px 0 6px;
  background: none;
  color: inherit;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 10px;
  font-weight: 800;
}
.menu-dialog__tabs {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  gap: 26px;
  overflow-x: auto;
  padding: 22px 0;
  background: rgba(242,234,219,.96);
  border-bottom: 1px solid var(--line);
  scrollbar-width: none;
}
.menu-dialog__tabs[hidden] { display: none; }
.menu-dialog__tabs::-webkit-scrollbar { display: none; }
.menu-dialog__tabs button {
  flex: 0 0 auto;
  border: 0;
  border-bottom: 1px solid transparent;
  padding: 0 0 7px;
  background: none;
  color: inherit;
  cursor: pointer;
  font-family: var(--serif);
  font-size: 18px;
}
.menu-dialog__tabs button[aria-selected="true"] { border-bottom-color: currentColor; }
.menu-dialog__content { max-width: 1180px; margin: 60px auto 0; outline: 0; }
.menu-dialog__loading,
.menu-dialog__empty { font-family: var(--serif); font-size: 22px; }
.menu-panel[hidden] { display: none; }
.menu-panel { display: grid; gap: 60px; }
.menu-category { border-top: 1px solid var(--line); padding-top: 18px; }
.menu-category h3 {
  margin: 0 0 34px;
  font-family: var(--serif);
  font-size: clamp(34px, 3.6vw, 56px);
  font-weight: 400;
  letter-spacing: -.03em;
}
.menu-category h4 {
  margin: 36px 0 14px;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 10px;
}
.menu-category ul { margin: 0; padding: 0; list-style: none; }
.menu-dish {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 26px;
  padding: 17px 0;
  border-bottom: 1px solid rgba(28,33,28,.14);
}
.menu-dish__name { font-family: var(--serif); font-size: clamp(18px, 1.7vw, 24px); }
.menu-dish p { max-width: 70ch; margin: 6px 0 0; font-size: 12px; line-height: 1.5; opacity: .66; }
.menu-dish__price { white-space: nowrap; font-size: 12px; font-weight: 700; }
.menu-dialog__status { max-width: 1180px; margin: 58px auto 0; }
.menu-dialog__status p { font-family: var(--serif); font-size: 22px; }
.menu-dialog__fallback { max-width: 1180px; margin: 54px auto 0; padding-top: 22px; border-top: 1px solid var(--line); }
.menu-dialog__fallback a { border-bottom: 1px solid currentColor; padding-bottom: 4px; font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }

@media (max-width: 900px) {
  .chapter--groupe { grid-template-columns: 1fr; }
  .groupe__media { min-height: 0; aspect-ratio: 16 / 10; }
  .groupe__content h2 { max-width: 11ch; }
  .lightbox { grid-template-columns: 1fr; grid-template-rows: 1fr auto; padding: 66px 16px 20px; }
  .lightbox__stage { grid-column: 1; grid-row: 1; }
  .lightbox__nav { position: absolute; bottom: 20px; }
  .lightbox__nav--prev { left: 16px; }
  .lightbox__nav--next { right: 16px; }
  .lightbox__caption { padding-bottom: 54px; }
}

@media (max-width: 760px) {
  .groupe__content { padding: 68px 20px 84px; }
  .groupe__content h2 { font-size: clamp(50px, 13vw, 72px); }
  .menu-dialog__panel { padding: 24px 20px 92px; }
  .menu-dialog__header h2 { font-size: clamp(52px, 15vw, 76px); }
  .menu-dialog__tabs { gap: 20px; margin: 0 -20px; padding-left: 20px; padding-right: 20px; }
  .menu-dialog__content { margin-top: 42px; }
  .menu-panel { gap: 48px; }
  .menu-dish { grid-template-columns: 1fr auto; gap: 14px; }
}

/* Groupe JBG — composition plein cadre alignée sur la section de référence. */
.chapter--groupe {
  position: relative;
  display: block;
  min-height: clamp(380px, 48vw, 560px);
  padding: 0;
  overflow: hidden;
  background: var(--green-deep);
  color: var(--cream);
}

.chapter--groupe .groupe__media {
  position: absolute;
  inset: 0;
  min-height: 0;
  margin: 0;
  aspect-ratio: auto;
  overflow: hidden;
}

.chapter--groupe .groupe__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.chapter--groupe .groupe__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(18, 59, 46, .80);
  pointer-events: none;
}

.chapter--groupe .groupe__content {
  position: relative;
  z-index: 1;
  width: min(100% - 40px, 1180px);
  min-height: clamp(380px, 48vw, 560px);
  margin: 0 auto;
  padding: clamp(72px, 9vw, 128px) 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.chapter--groupe .groupe__content h2 {
  max-width: 22ch;
  margin: 0;
  color: var(--cream);
  font-family: var(--serif);
  font-size: clamp(34px, 4.4vw, 56px);
  font-weight: 400;
  line-height: 1.06;
  letter-spacing: -.02em;
}

.chapter--groupe .groupe__content h2::after {
  content: "";
  display: block;
  width: 42px;
  height: 1px;
  margin: 22px auto 0;
  background: rgba(242, 234, 219, .55);
}

.chapter--groupe .groupe__content p {
  max-width: 46ch;
  margin: 24px auto 0;
  color: rgba(242, 234, 219, .88);
  font-family: var(--sans);
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.68;
}

.chapter--groupe .groupe__cta {
  display: flex;
  justify-content: center;
  margin-top: clamp(28px, 3vw, 42px);
}

.chapter--groupe .groupe__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 27px;
  border: 1px solid var(--cream);
  background: var(--cream);
  color: var(--green-deep);
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}

.chapter--groupe .groupe__link:hover,
.chapter--groupe .groupe__link:focus-visible {
  background: #fff;
  border-color: #fff;
  color: var(--green-deep);
  transform: translateY(-1px);
}

@media (max-width: 760px) {
  .chapter--groupe,
  .chapter--groupe .groupe__content {
    min-height: 420px;
  }

  .chapter--groupe .groupe__content {
    width: min(100% - 32px, 1180px);
    padding: 64px 0;
  }

  .chapter--groupe .groupe__content h2 {
    max-width: 15ch;
    font-size: clamp(34px, 10vw, 48px);
  }

  .chapter--groupe .groupe__content p {
    font-size: 16px;
  }
}



/* Page carte — présentation Casa di Alfio avec le chargement DigiChef du Marguerite. */
.menu-page { min-height: 100svh; background: var(--cream); }
.menu-page__hero {
  padding: clamp(76px, 9vw, 150px) 5vw clamp(52px, 6vw, 90px);
  background: var(--green); color: var(--cream); text-align: center;
}
.menu-page__hero h1 {
  margin: 0; font-family: var(--serif); font-weight: 400;
  font-size: clamp(70px, 9vw, 145px); line-height: .92; letter-spacing: -.055em;
}
.menu-page__body { width: min(100% - 10vw, 1300px); margin: 0 auto; padding: 0 0 clamp(80px, 10vw, 140px); }
.menu-page .menu-tabs {
  position: sticky; top: 0; z-index: 20; display: flex; flex-wrap: wrap;
  justify-content: center; gap: 3px; margin: 0 -5vw;
  padding: 15px 5vw; background: rgba(242,234,219,.97);
  border-bottom: 1px solid var(--line);
}
.menu-page .menu-tabs[hidden], .menu-page .menu-status[hidden] { display: none; }
.menu-page .menu-tabs a {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 15px clamp(17px, 2.8vw, 32px); background: var(--paper);
  color: var(--green-deep); font-size: 10px; font-weight: 800;
  letter-spacing: .12em; text-transform: uppercase;
}
.menu-page .menu-tabs a:hover { background: #e7dbc7; }
.menu-page .menu-tabs a[aria-selected="true"] { background: var(--green); color: var(--cream); }
.menu-page .menu-content { margin: clamp(46px, 7vw, 90px) auto 0; outline: 0; }
.menu-page .menu-panel { display: block; }
.menu-page .menu-panel[hidden] { display: none; }
.menu-page .menu-panel:focus { outline: 0; }
.menu-page .menu-categories { columns: 2; column-gap: clamp(32px, 5vw, 74px); }
.menu-page .menu-category {
  display: flow-root; break-inside: avoid; margin: 0 0 52px;
  border-top: 1px solid var(--line); padding: 19px 0 0;
}
.menu-page .menu-category h3 {
  margin: 0 0 30px; font-family: var(--serif); font-size: clamp(32px, 3vw, 49px);
  color: var(--green-deep); font-weight: 400; line-height: 1.06;
}
.menu-page .menu-category h4, .menu-page .menu-subcategory {
  margin: 30px 0 14px; font-family: var(--sans); font-weight: 800;
  font-size: 10px; letter-spacing: .13em; text-transform: uppercase; color: var(--green);
}
.menu-page .menu-category ul { padding: 0; margin: 0; list-style: none; }
.menu-page .dish {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 24px; padding: 15px 0; border-bottom: 1px solid var(--line); break-inside: avoid;
}
.menu-page .dish > div { flex: 1; min-width: 0; }
.menu-page .dish-name { font-family: var(--serif); font-size: clamp(17px, 1.5vw, 22px); line-height: 1.35; }
.menu-page .dish p { max-width: 55ch; margin: 5px 0 0; font-size: 12px; line-height: 1.55; opacity: .72; }
.menu-page .dish-price { flex: 0 0 auto; text-align: right; font-size: 13px; font-weight: 800; white-space: nowrap; color: var(--green); }
.menu-page .dish-price-label { font-size: 11px; font-weight: 400; opacity: .7; }
.menu-page .menu-note { max-width: 780px; margin: 0 auto 50px; font-family: var(--serif); font-size: 20px; text-align: center; }
.menu-page .category-note { margin: -15px 0 20px; font-size: 13px; opacity: .7; }
.menu-page .menu-loading, .menu-page .menu-empty { text-align: center; font-family: var(--serif); font-size: 24px; }
.menu-page .menu-status { margin-top: 32px; text-align: center; }
.menu-page .menu-status p { font-family: var(--serif); font-size: 23px; }
.menu-page .menu-status__actions {
  display: flex; justify-content: center; align-items: stretch; flex-wrap: wrap; gap: 12px;
}
.menu-page .menu-status .cta--outline {
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--green); padding: 17px 21px;
  background: transparent; color: var(--green);
}
.menu-page .menu-status .cta--outline:hover,
.menu-page .menu-status .cta--outline:focus-visible {
  background: var(--green); color: var(--cream);
}

@media (max-width: 960px) {
  .menu-page .menu-categories { columns: 1; }
}
@media (max-width: 760px) {
  .menu-page__hero { padding: 120px 20px 65px; }
  .menu-page__hero h1 { font-size: clamp(58px, 17vw, 88px); }
  .menu-page__body { width: calc(100% - 40px); padding-bottom: 75px; }
  .menu-page .menu-tabs { position: static; margin: 0 -20px; padding: 12px 20px; }
  .menu-page .menu-tabs a { flex: 1 1 auto; }
  .menu-page .menu-content { margin-top: 46px; }
  .menu-page .menu-category { margin-bottom: 38px; }
  .menu-page .dish { gap: 13px; }
  .menu-page .dish-price { font-size: 12px; }
}
@media print {
  .menu-page .menu-tabs, .menu-page .menu-status { display: none !important; }
  .menu-page__hero { padding: 16px; background: none; color: #000; }
  .menu-page__body { width: 100%; padding: 0; }
  .menu-page .menu-categories { columns: 2; }
  .menu-page .menu-panel[hidden] { display: block !important; }
}

/* Navigation multilingue — sobre, visible et utilisable au clavier. */
.language-links {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5px;
}
.language-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  min-height: 30px;
  padding: 4px 3px;
  border-radius: 2px;
  font-family: var(--sans);
  font-weight: 750;
  font-size: 10px;
  letter-spacing: .04em;
  opacity: .67;
  transition: opacity .15s ease, background-color .15s ease;
}
.language-links a:hover, .language-links a:focus-visible { opacity: 1; background: rgba(255,255,255,.12); }
.language-links a[aria-current="page"] { color: var(--green-deep); background: var(--cream); opacity: 1; }
.language-links a:focus-visible, .language-select select:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.language-links--rail {
  grid-column: 1 / -1;
  padding: 12px 8px;
  border-bottom: 1px solid rgba(255,255,255,.16);
}
.rail__bottom > .rail__reserve:first-of-type { grid-column: 1 / -1; }
.language-select { display: inline-flex; flex: 0 0 auto; align-items: center; position: relative; }
.language-select::after { content: ""; position: absolute; right: 10px; top: 50%; width: 5px; height: 5px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-70%) rotate(45deg); pointer-events: none; }
.language-select select {
  -webkit-appearance: none;
  appearance: none;
  border: 1px solid currentColor;
  border-radius: 2px;
  background: transparent;
  color: inherit;
  min-width: 60px;
  padding: 9px 19px 9px 9px;
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .05em;
  cursor: pointer;
}
.language-select option { color: #162c23; background: #fffaf0; }
.legal-header__right { display: flex; align-items: center; gap: clamp(14px, 3vw, 42px); }
.language-links--legal a { min-width: 30px; }
.menu-page__translation-note { max-width: 62ch; margin: 20px auto 0; font-size: 12px; line-height: 1.6; opacity: .74; }
@media (max-width: 760px) {
  .mobile-bar__tools { gap: 7px; }
  .mobile-bar__instagram { width: 32px; height: 36px; }
  .legal-header__right { gap: 16px; }
  .language-links--legal a { min-width: 25px; padding: 4px 2px; }
}
@media (max-width: 390px) {
  .mobile-bar { padding-left: 12px; padding-right: 12px; }
  .mobile-bar__brand img { width: 111px; }
  .mobile-bar__tools { gap: 5px; }
  .language-select select { min-width: 53px; padding: 8px 17px 8px 6px; }
  .language-select::after { right: 7px; }
  .mobile-bar__toggle { padding: 6px; }
  .legal-header { gap: 10px; }
  .legal-header__brand img { width: 104px; }
  .legal-header__right { gap: 10px; }
  .legal-header__right .text-link { font-size: 9px; letter-spacing: .05em; }
}
