.visual-mosaic { display:grid; grid-template-columns:1.15fr .85fr .85fr; grid-template-rows:clamp(220px, 26vw, 360px) clamp(220px, 26vw, 360px); gap:14px;}.visual-tile-large { grid-row:span 2;}.visual-tile { position:relative; overflow:hidden; background:#ddd; margin:0; min-height:220px;}.visual-tile img,.editorial-gallery img,.food-mosaic img,.visual-strip img{ width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease), filter .7s var(--ease);}.visual-tile:hover img,.editorial-gallery figure:hover img,.food-mosaic figure:hover img,.visual-strip img:hover{transform:scale(1.035)}.editorial-gallery{ display:grid; grid-template-columns:1.2fr .8fr; grid-auto-rows:clamp(220px,24vw,330px); gap:14px;}.editorial-gallery figure{position:relative;margin:0;overflow:hidden;background:#ddd}.editorial-gallery figure:first-child{grid-row:span 2}.food-mosaic{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px;}.food-mosaic figure{ position:relative; min-height:clamp(220px,22vw,310px); overflow:hidden; margin:0; background:#ddd;}.food-mosaic figure:nth-child(1),.food-mosaic figure:nth-child(2){grid-column:span 2}.food-mosaic figure:nth-child(3),.food-mosaic figure:nth-child(4),.food-mosaic figure:nth-child(5),.food-mosaic figure:nth-child(6){grid-column:span 1}.food-mosaic figcaption{ position:absolute; left:14px; bottom:14px; z-index:2; background:rgba(0,0,0,.68); color:var(--color-white); padding:17px 10px; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; font-weight:800;}.visual-strip{ display:grid; grid-template-columns:1.1fr .9fr 1fr; gap:14px; align-items:stretch;}.visual-strip img{ min-height:clamp(260px,32vw,460px); background:#ddd;}.visual-strip figure:nth-child(2) img{margin-top:clamp(28px,5vw,72px)}@media (max-width:800px){ .visual-mosaic, .editorial-gallery, .visual-strip {  grid-template-columns:1fr;  grid-template-rows:auto; }    .visual-tile-large, .editorial-gallery figure:first-child {  grid-row:auto; }    .visual-tile, .editorial-gallery figure {  min-height:280px; }    .editorial-gallery{ grid-auto-rows:auto; }.food-mosaic {  grid-template-columns:1fr; }    .food-mosaic figure, .food-mosaic figure:nth-child(n) {  grid-column:span 1;  min-height:250px;  max-height:330px; }.visual-strip figure:nth-child(2) img{margin-top:0;}}.badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.badge{display:inline-flex;align-items:center;min-height:34px;padding:8px 12px;border-radius:999px;border:1px solid rgba(205,127,50,.32);color:var(--color-bronze);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800}a.badge{color:var(--color-white);}.value-timeline{position:relative;display:grid;gap:20px;margin-top:34px}.value-timeline::before{content:'';position:absolute;left:25px;top:18px;bottom:18px;width:1px;background:rgba(205,127,50,.28)}.value-step{position:relative;display:grid;grid-template-columns:52px 1fr;gap:18px;align-items:start}.value-step-number{width:52px;height:52px;border-radius:50%;background:var(--color-black);color:var(--color-bronze);display:grid;place-items:center;font-family:var(--font-heading);font-size:1.2rem;z-index:1}.value-step-content{background:var(--color-white);border:1px solid var(--color-line);border-radius:20px;padding:22px;box-shadow:var(--shadow-card)}.value-step-content h3{font-size:1.45rem;margin-bottom:8px}.value-step-content p{color:var(--color-muted)}.origin-band{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(26px,5vw,70px);align-items:center}.origin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.origin-list .card{box-shadow:none;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14)}.origin-list .card p{color:rgba(255,255,255,.72)}.featured-dishes{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--color-line);border:1px solid var(--color-line);border-radius:var(--radius-lg);overflow:hidden;margin-top:36px;}.featured-dish{background:var(--color-white);padding:clamp(22px,3vw,34px);min-height:220px;display:flex;flex-direction:column;justify-content:space-between}.featured-dish .category{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--color-bronze);margin-bottom:18px}.featured-dish h3{font-size:clamp(1.4rem,2vw,2rem)}.featured-dish p{margin-top:14px;color:var(--color-muted)}.process-list{counter-reset:step;display:grid;gap:1px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-line);background:var(--color-line)}.process-item{counter-increment:step;background:var(--color-white);padding:24px;display:grid;grid-template-columns:68px 1fr;gap:20px}.process-item::before{content:counter(step, decimal-leading-zero);font-family:var(--font-heading);font-size:2rem;color:var(--color-bronze);line-height:1}.process-item p{color:var(--color-muted);margin-top:6px}@media (max-width:800px){.featured-dishes {grid-template-columns:1fr;}.origin-band, .origin-list, .recognition-grid {grid-template-columns:1fr;}    .process-item {  grid-template-columns:1fr; }        .process-item::before {  font-size:1.5rem; }}.badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.badge{display:inline-flex;align-items:center;min-height:34px;padding:8px 12px;border-radius:999px;border:1px solid rgba(205,127,50,.32);color:var(--color-bronze);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800}a.badge{color:var(--color-white);}.lead.p-margin{margin-top:25px;}.recognition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px}.recognition-card{border:1px solid var(--color-line);border-radius:20px;padding:22px;background:rgba(255,255,255,.62)}.recognition-card strong{display:block;color:var(--color-bronze);font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}.recognition-card p{color:var(--color-muted);font-size:.95rem}.recognition-grid strong{display:flex;align-items:center;justify-content:flex-start;gap:0 10px;flex-wrap:wrap;}.recognition-grid strong img{height:40px;width:auto;}@media(max-width:800px){.origin-band,.origin-list,.recognition-grid{grid-template-columns:1fr}}.cta-band{border-radius:var(--radius-lg);background:var(--color-black);color:var(--color-white);padding:clamp(32px,5vw,64px);position:relative;overflow:hidden;box-shadow:var(--shadow-soft)}.cta-band::after{content:'';position:absolute;right:-10%;bottom:-35%;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(205,127,50,.28),transparent 65%);pointer-events:none}.cta-band > *{position:relative;z-index:1}.cta-band .lead{color:rgba(255,255,255,.72);margin-top:16px}.push-index .cta-band{padding-bottom:0;}.cta-band iframe{width:calc(100% + (64px * 2));min-width:calc(100% + (64px * 2));min-height:550px;margin-top:40px;margin-left:-64px;display:block;border:solid 1px var(--color-black);border-radius:0 0 34px 34px;}@media (max-width:800px){.cta-band iframe{min-height:450px;border:none;}}.reservation-modal[hidden]{display:none}.reservation-modal{ position:fixed; inset:0; z-index:2500; display:grid; place-items:center; padding:clamp(14px,3vw,34px);}.reservation-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(10px)}.reservation-modal__dialog{ position:relative; z-index:1; width:min(980px,100%); max-height:min(92vh,860px); overflow:auto; background:var(--color-cream-2); color:var(--color-ink); box-shadow:0 30px 110px rgba(0,0,0,.38);}.reservation-modal__header{padding:clamp(22px,4vw,42px) clamp(22px,4vw,48px) 18px}.reservation-modal__header h2{font-size:clamp(2rem,4vw,3.8rem)}.reservation-modal__header p{max-width:660px;color:var(--color-muted);margin-top:12px}.reservation-modal__iframe{padding:0 clamp(16px,3vw,34px) clamp(16px,3vw,34px)}.reservation-modal__iframe iframe{display:block;background:var(--color-white);min-height:550px;width:100%;}.reservation-modal__close{ position:absolute; top:14px; right:14px; width:46px; height:46px; border:1px solid rgba(21,18,15,.18); background:var(--color-black); color:var(--color-white); font-size:1.8rem; line-height:1; cursor:pointer; z-index:2;}body.reservation-open{overflow:hidden}@media (max-width:800px){.reservation-modal{ padding:0; place-items:stretch;}    .reservation-modal__dialog {  width:100%;  height:100%;  max-height:100%; }     .reservation-modal__iframe iframe {  min-height:620px; }   }