
:root{
  --paper:#f6efe4;
  --cream:#fbf7f1;
  --wine:#732d2d;
  --olive:#6b7551;
  --ink:#2f241d;
  --muted:#6d6259;
  --line:#ddd0bf;
  --gold:#c8ad81;
  --shadow:0 18px 50px rgba(51,30,20,.08);
  --radius:24px;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;line-height:1.6}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{width:min(calc(100% - 32px), var(--max));margin:0 auto}
.serif,h1,h2,h3,.brand-name,.menu-title,.quote,.tile-label,.big-number{font-family:Georgia, 'Times New Roman', serif;font-weight:500;letter-spacing:-.02em}
.top-note{background:#efe2d0;border-bottom:1px solid rgba(115,45,45,.08);text-align:center;padding:10px 14px;font-size:13px;color:#57493c}
.site-header{position:sticky;top:0;z-index:20;background:rgba(246,239,228,.88);backdrop-filter:blur(10px);border-bottom:1px solid rgba(115,45,45,.08)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0}
.brand{display:flex;flex-direction:column;line-height:1}
.brand-name{font-size:42px;color:var(--wine)}
.brand-sub{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-top:5px}
.nav{display:flex;align-items:center;gap:26px;font-size:15px}
.nav a{padding:8px 0;position:relative;color:#4e4034}
.nav a.active::after,.nav a:hover::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--wine)}
.header-cta{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;background:var(--wine);color:white;font-size:14px;box-shadow:var(--shadow)}
.mobile-toggle{display:none;border:0;background:none;padding:8px;cursor:pointer}
.mobile-toggle span{display:block;width:24px;height:1.8px;background:var(--wine);margin:5px 0}
.mobile-panel{display:none;border-top:1px solid rgba(115,45,45,.08);padding:0 0 16px}
.mobile-panel a{display:block;padding:12px 0;color:#4e4034}
.hero{padding:74px 0 48px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}
.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.28em;color:var(--wine);margin-bottom:18px}
.hero h1{font-size:clamp(56px,7vw,102px);line-height:.95;margin:0 0 18px}
.hero p.lead{font-size:18px;color:var(--muted);max-width:560px;margin-bottom:28px}
.actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:14px 20px;font-size:14px}
.btn-primary{background:var(--wine);color:#fff;box-shadow:var(--shadow)}
.btn-secondary{border:1px solid var(--line);background:rgba(255,255,255,.55)}
.hero-photo{position:relative;min-height:620px;border-radius:32px;overflow:hidden;box-shadow:var(--shadow)}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-badge{position:absolute;left:22px;top:22px;background:rgba(255,250,245,.85);backdrop-filter:blur(6px);padding:12px 14px;border-radius:16px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--wine)}
.hero-caption{position:absolute;left:22px;bottom:22px;right:22px;background:linear-gradient(transparent,rgba(0,0,0,.55));padding:80px 18px 18px;color:#fff;font-size:14px}
.section{padding:54px 0}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.card-photo{border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}
.card-photo img{width:100%;height:100%;object-fit:cover}
.section h2{font-size:clamp(42px,5vw,72px);line-height:1.02;margin:0 0 18px}
.section p{color:var(--muted);font-size:16px}
.quote{font-size:28px;line-height:1.2;color:var(--wine);margin-top:28px}
.signature-head,.menu-headline{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}
.arrow-link{color:var(--wine);font-size:15px}
.dish-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.dish-card{background:rgba(255,255,255,.5);border:1px solid rgba(115,45,45,.09);border-radius:26px;overflow:hidden;box-shadow:var(--shadow)}
.dish-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.dish-body{padding:18px 18px 20px}
.dish-top{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:10px}
.dish-top h3{font-size:25px;line-height:1.05;margin:0}
.price{color:var(--wine);font-weight:700;font-size:16px;white-space:nowrap}
.dish-body p{margin:0;font-size:14px;line-height:1.65}
.atmosphere-banner{position:relative;border-radius:34px;overflow:hidden;min-height:420px;box-shadow:var(--shadow)}
.atmosphere-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.atmosphere-overlay{position:absolute;inset:0;background:linear-gradient(90deg, rgba(32,21,18,.55), rgba(32,21,18,.15) 65%)}
.atmosphere-content{position:relative;z-index:1;max-width:520px;padding:54px;color:#fff}
.atmosphere-content p{color:rgba(255,255,255,.88)}
.visit-strip{display:grid;grid-template-columns:1.1fr .9fr auto;gap:24px;align-items:end;border-top:1px solid rgba(115,45,45,.12);padding-top:24px}
.visit-strip h2{margin-bottom:0}
.footer{padding:42px 0 54px;border-top:1px solid rgba(115,45,45,.12);margin-top:40px}
.footer-grid{display:grid;grid-template-columns:1fr auto auto;gap:26px;align-items:start}
.footer p,.footer a{color:var(--muted);font-size:14px}
.footer-nav{display:flex;flex-direction:column;gap:8px}
.menu-hero,.story-hero{padding:62px 0 24px}
.menu-hero h1,.story-hero h1{font-size:clamp(50px,6vw,88px);line-height:.96;margin:0 0 16px}
.category{padding:28px 0 10px}
.category-bar{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid rgba(115,45,45,.12);padding-bottom:12px;margin-bottom:20px}
.category-bar h2{font-size:38px;margin:0}
.category-bar span{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--wine)}
.drinks{margin-top:24px;background:rgba(255,255,255,.5);border:1px solid rgba(115,45,45,.09);border-radius:26px;padding:22px;box-shadow:var(--shadow)}
.drinks-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}
.drink{background:#fff8f1;border-radius:18px;padding:18px;border:1px solid rgba(115,45,45,.08)}
.drink span{font-size:26px;display:block;margin-bottom:10px}
.story-block{padding:38px 0}
.rhythm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.rhythm-card{background:rgba(255,255,255,.6);border:1px solid rgba(115,45,45,.09);border-radius:24px;padding:22px;box-shadow:var(--shadow)}
.rhythm-card .time{display:block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--wine);margin-bottom:12px}
.rhythm-card h3{font-size:28px;margin:0 0 10px}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.value-card{background:rgba(255,255,255,.52);border:1px solid rgba(115,45,45,.09);border-radius:24px;padding:24px;box-shadow:var(--shadow)}
.value-card .icon{font-size:26px;margin-bottom:12px;color:var(--wine)}
.mosaic{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:280px;gap:18px}
.tile{position:relative;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tile::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%, rgba(0,0,0,.58))}
.tile-label{position:absolute;left:18px;bottom:16px;z-index:1;color:#fff;font-size:34px}
.tile.tall{grid-row:span 2}
.tile.wide{grid-column:span 2}
.visit-panel{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;background:rgba(255,255,255,.45);border-radius:30px;padding:28px;border:1px solid rgba(115,45,45,.09);box-shadow:var(--shadow)}
.detail{padding:16px 0;border-bottom:1px solid rgba(115,45,45,.1)}
.detail:last-of-type{border-bottom:none}
.detail strong{display:block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--wine);margin-bottom:8px}
.note{font-size:13px;color:var(--muted)}
@media (max-width: 1024px){
  .hero-grid,.two-col,.visit-strip,.visit-panel{grid-template-columns:1fr}
  .dish-grid{grid-template-columns:repeat(2,1fr)}
  .rhythm-grid{grid-template-columns:repeat(2,1fr)}
  .value-grid{grid-template-columns:1fr}
  .drinks-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 720px){
  .nav,.header-cta{display:none}.mobile-toggle{display:block}.mobile-panel.open{display:block}
  .hero{padding-top:36px}.hero-photo{min-height:420px}
  .dish-grid,.drinks-grid,.rhythm-grid,.mosaic{grid-template-columns:1fr}
  .tile.tall,.tile.wide{grid-row:auto;grid-column:auto}.mosaic{grid-auto-rows:240px}
  .footer-grid{grid-template-columns:1fr;gap:18px}
  .brand-name{font-size:36px}
  .section,.story-block{padding:34px 0}
  .menu-hero,.story-hero{padding-top:36px}
}

/* =============================================
   FILO / ART DIRECTION RESTORED
   A Florentine trattoria imagined as a printed
   culinary journal. A fine scarlet thread unites
   typography, photographs and little rituals.
   ============================================= */
:root {
  --paper:#f5ecdc;
  --cream:#faf4e9;
  --wine:#722b2c;
  --olive:#6b7050;
  --ink:#302620;
  --muted:#665950;
  --line:#cdbfac;
  --gold:#d3b68e;
  --max:1300px;
}
body{background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.64;letter-spacing:.005em;}
main{overflow:hidden}
.container{width:min(calc(100% - clamp(40px,9vw,142px)),var(--max))}
.serif,h1,h2,h3,.brand-name,.menu-title,.quote,.tile-label,.big-number{
  font-family:'Iowan Old Style','Baskerville','Palatino Linotype',Palatino,Georgia,serif;
  font-weight:400;
  letter-spacing:-.04em;
}
h1 em,h2 em,.quote{font-family:'Baskerville','Palatino Linotype',Palatino,Georgia,serif;font-weight:400}
p{line-height:1.82}
a:focus-visible,button:focus-visible{outline:2px solid var(--wine);outline-offset:5px}

/* Wordmark: the O is FILO's signature plate. */
.site-header{background:rgba(245,236,220,.97);border-bottom:1px solid #d6c9b7;backdrop-filter:none}
.site-header .container:not(.mobile-panel){min-height:100px;padding:16px 0;gap:25px}
.brand{position:relative;min-width:184px;align-items:flex-start;justify-content:center;gap:0}
.brand-name{font-family:'Iowan Old Style','Baskerville',Georgia,serif;font-size:54px;line-height:.83;letter-spacing:-.095em;white-space:nowrap;color:var(--wine)}
.brand-o{position:relative;display:inline-flex;width:.74em;height:.74em;border:2.5px solid var(--wine);border-radius:100%;vertical-align:-.015em;margin-left:.045em;transform:rotate(-13deg);align-items:center;justify-content:center}
.brand-o::before{content:"";position:absolute;inset:5px;border:1px solid var(--wine);border-radius:100%;opacity:.7}
.brand-o::after{content:"";position:absolute;bottom:-14px;right:-17px;width:38px;height:27px;border:1.5px solid transparent;border-top-color:var(--wine);border-radius:50%;transform:rotate(31deg)}
.brand-o-hole{width:6px;height:6px;background:var(--wine);border-radius:50%;transform:translate(2px,3px)}
.brand-sub{font-family:Arial,Helvetica,sans-serif;font-size:9px;font-weight:700;letter-spacing:.20em;margin-top:11px;color:var(--wine)}
.brand-sub-dot{font-size:9px;letter-spacing:0;padding:0 4px}
.nav{font-family:Arial,Helvetica,sans-serif;gap:clamp(18px,2.5vw,41px);font-size:12px;letter-spacing:.045em;font-weight:600}
.nav a{color:#56483e;padding:12px 0}
.nav a.active{color:var(--wine)}
.nav a.active::after,.nav a:hover::after{height:1px;bottom:5px}
.header-cta,.btn-primary{border:1px solid var(--wine);border-radius:2px;background:var(--wine);color:#fff8ed;box-shadow:none;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.13em;padding:15px 21px;transition:background .2s,color .2s}
.header-cta:hover,.btn-primary:hover{background:#512021}
.btn-secondary{border:0;background:none;border-bottom:1px solid var(--wine);border-radius:0;color:var(--wine);padding:12px 0;text-transform:uppercase;font-weight:700;letter-spacing:.12em;font-size:11px}
.mobile-toggle{padding:12px;border:1px solid #bda68b;background:transparent}
/* Critical fix: .site-header .container originally overrode .mobile-panel{display:none}. */
.site-header .container.mobile-panel{display:none !important}
.site-header .container.mobile-panel.open{display:none !important}

/* Consistent heritage symbols and the FILO line */
.kicker{font-size:10px;font-weight:700;letter-spacing:.21em;line-height:1.5;color:var(--wine)}
.kicker-dot{color:var(--olive);font-size:10px;margin:0 9px}
.filo-thread{display:block;width:108%;height:48px;color:var(--wine);margin:-9px 0 13px -5%;pointer-events:none}
.mini-thread{display:block;width:172px;height:33px;color:var(--wine);margin-top:16px}
.hero{position:relative;padding:72px 0 92px}
.hero::before{position:absolute;content:'F';font-family:Georgia,serif;font-size:440px;color:rgba(114,43,44,.025);left:-175px;top:-125px;pointer-events:none;line-height:1}
.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:clamp(45px,5vw,85px)}
.hero h1{font-size:clamp(57px,6.7vw,105px);line-height:.97;letter-spacing:-.052em;color:var(--wine);margin:12px 0 0;white-space:nowrap}
.hero h1 em{color:var(--ink);font-weight:400}
.hero p.lead{font-family:Georgia,serif;font-size:16px;line-height:1.85;color:#615246;max-width:490px;margin:6px 0 30px}
.actions{gap:31px;align-items:center}
.hero-photo{border-radius:0;min-height:585px;box-shadow:none;border:7px solid #eadfcb;outline:1px solid #bba58c;outline-offset:5px;background:#cbb39b;overflow:visible}
.hero-photo img{object-fit:cover;object-position:52% center}
.photo-corner-detail{position:absolute;top:-18px;right:-19px;z-index:3;font-family:Georgia,serif;color:var(--wine);font-size:10px;letter-spacing:.12em;background:var(--paper);padding:7px 9px}
.hero-badge{top:22px;left:18px;z-index:2;background:#faf0e2;border:1px solid #c4aa90;color:var(--wine);border-radius:0;padding:10px 13px;font-size:8px;letter-spacing:.19em;font-weight:700;backdrop-filter:none}
.hero-badge span{margin-left:8px;color:var(--olive)}
.hero-caption{bottom:0;left:0;right:0;z-index:2;padding:68px 20px 18px;background:linear-gradient(0deg,rgba(24,14,11,.68),transparent);font-family:Georgia,serif;font-style:italic;font-size:14px;display:flex;flex-direction:column;gap:5px}
.hero-caption-number{font-family:Arial,sans-serif;font-style:normal;letter-spacing:.21em;font-size:9px;color:#f0dfc7}

/* A magazine layout rather than a software-card UI */
.section{padding:76px 0}
.two-col{gap:clamp(45px,6vw,105px)}
.section h2{font-size:clamp(45px,4.8vw,76px);line-height:1.07;color:var(--wine);letter-spacing:-.04em}
.section h2 em{color:var(--ink)}
.section p,.story-block p{font-family:Georgia,serif;color:#61564b;font-size:15px;line-height:1.84}
.card-photo{border-radius:0;box-shadow:none;position:relative;border:9px solid #e8dbc7;outline:1px solid #b9a38b;outline-offset:4px}
.card-photo img{width:100%;height:auto;max-height:610px;object-fit:cover}
.quote{font-size:32px;color:var(--wine);margin-top:32px}
.signature-head{padding-bottom:13px;border-bottom:1px solid var(--line);position:relative;align-items:end;}
.signature-head::after{content:'✦';position:absolute;right:0;top:-18px;font-size:16px;color:var(--wine)}
.signature-head h2{font-size:clamp(48px,5vw,76px);margin:0;color:var(--wine)}
.arrow-link{text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:11px;border-bottom:1px solid var(--wine);padding-bottom:7px;margin-right:21px}
.dish-grid{gap:clamp(15px,2.4vw,34px)}
.dish-card{background:none;border:0;border-radius:0;box-shadow:none;padding:0}
.dish-card img{aspect-ratio:1.21;object-fit:cover;border:1px solid #dbc9b5;filter:none;transition:filter .2s}
.dish-card:hover img{filter:saturate(1.10)}
.dish-body{padding:17px 0 7px;border-bottom:1px solid var(--line);min-height:124px}
.dish-top{gap:15px;margin-bottom:7px}
.dish-top h3{font-size:clamp(19px,2vw,25px);line-height:1.18;letter-spacing:-.025em;color:var(--ink)}
.price{font-family:Georgia,serif;font-weight:400;font-size:18px;color:var(--wine)}
.dish-body p{font-family:Georgia,serif;color:#77675a;font-size:13px;line-height:1.6}
.atmosphere-banner{border-radius:0;min-height:470px;box-shadow:none;outline:1px solid #c8b6a0;outline-offset:6px}
.atmosphere-overlay{background:linear-gradient(90deg,rgba(29,18,14,.72),rgba(29,18,14,.18) 72%)}
.atmosphere-content{max-width:620px;padding:65px 6vw}
.atmosphere-content h2{font-size:clamp(50px,5.3vw,80px);line-height:1.04;font-weight:400}
.atmosphere-content p{color:#f8efe4;font-size:16px;line-height:1.85}
.visit-strip{align-items:center;padding-top:28px}
.visit-strip h2{font-size:clamp(40px,4vw,62px)}
.visit-strip p{max-width:310px}

/* Recipe-book menu */
.menu-hero{position:relative;padding:108px 0 64px;border-bottom:1px solid var(--line)}
.menu-hero::after{content:'✧';font-family:Georgia,serif;position:absolute;top:18%;right:14%;font-size:200px;color:rgba(114,43,44,.06);line-height:1;pointer-events:none}
.menu-hero h1{font-size:clamp(58px,6.5vw,100px);color:var(--wine);margin:20px 0 4px}
.menu-hero h1 em{color:var(--ink)}
.menu-hero .filo-thread{height:48px;max-width:680px;margin:0 0 11px -4%}
.menu-hero .lead{font-family:Georgia,serif;max-width:730px;color:var(--muted);font-size:17px}
.category{padding:65px 0 38px}
.category-bar{align-items:center;border-bottom:1px solid var(--wine);padding-bottom:15px;margin-bottom:29px}
.category-bar h2{color:var(--wine);font-size:clamp(49px,5vw,74px);font-style:italic;display:flex;align-items:baseline;gap:25px}
.category-numeral{font-family:Arial,sans-serif;letter-spacing:.02em;font-weight:700;font-style:normal;font-size:11px;color:var(--olive)}
.category-bar>span{font-size:10px;letter-spacing:.16em;color:#807361}
.drinks{background:transparent;border:0;border-top:1px solid var(--wine);border-bottom:1px solid var(--wine);box-shadow:none;border-radius:0;margin:67px 0 30px;padding:32px 0 42px}
.drinks>.mini-thread{margin:0 0 10px 0}
.drinks h2{font-family:Georgia,serif;font-weight:400;color:var(--wine)}
.drinks-grid{gap:15px}
.drink{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:13px 0;display:grid;grid-template-columns:26px 1fr auto;gap:11px;align-items:center}
.drink span{font-size:21px;margin:0}
.drink strong{font-size:12px;white-space:normal;font-weight:500}
.drink>div:last-child{font-family:Georgia,serif;color:var(--wine)}

/* La nostra storia — chapter numbers, handmade atmosphere, not generic cards */
.story-hero{padding:86px 0 65px;border-bottom:1px solid var(--line)}
.story-hero h1{font-size:clamp(50px,5.9vw,90px);color:var(--wine);margin:19px 0 0}
.story-hero h1 em{color:var(--ink)}
.story-hero .filo-thread{margin:0 0 6px -4%}
.story-hero .lead{font-family:Georgia,serif;color:#716254;font-size:18px;line-height:1.75}
.story-block{padding:71px 0}
.story-block h2{font-size:clamp(44px,4.7vw,72px);margin:11px 0 28px;color:var(--wine);line-height:1.06}
.story-block h2 em{color:var(--ink)}
.rhythm-grid{gap:25px;margin-top:38px}
.rhythm-card{background:none;box-shadow:none;border:0;border-top:1px solid var(--wine);border-radius:0;padding:19px 0 10px}
.rhythm-card .time{font-family:Georgia,serif;font-style:italic;font-weight:400;font-size:16px;margin-bottom:14px;letter-spacing:.05em}
.rhythm-card h3{font-size:29px;color:var(--ink)}
.value-grid{gap:27px}
.value-card{background:none;box-shadow:none;border:0;border-top:1px solid var(--wine);border-radius:0;padding:18px 0 6px}
.value-card .icon{font-family:Georgia,serif;font-size:37px;color:var(--olive);margin-bottom:14px}
.value-card h3{font-size:30px}
.mosaic{gap:12px;grid-auto-rows:300px}
.tile{box-shadow:none;border-radius:0}
.tile-label{font-style:italic;font-size:38px;left:26px;bottom:18px}
.visit-panel{background:transparent;border:1px solid var(--line);border-radius:0;box-shadow:none;padding:46px;gap:45px}
.detail{border-color:var(--line)}

/* A rich wine-colored footnote finishes the story. */
.footer{background:#372820;color:#f6ead8;border-top:6px solid #722b2c;padding:66px 0 61px;margin-top:75px}
.footer .container{position:relative}
.footer-grid{grid-template-columns:1.35fr .8fr .9fr;gap:45px}
.footer-wordmark{font-family:'Iowan Old Style',Georgia,serif;font-size:clamp(62px,8vw,118px);font-weight:400;letter-spacing:-.08em;color:#f5e9d6;line-height:.87}
.footer-identity{display:block;font-weight:700;font-size:9px;letter-spacing:.21em;color:#d0af8d;margin:20px 0 16px}
.footer .footer-nav{padding-top:13px;gap:15px}
.footer p,.footer a{color:#e1ccae;font-size:13px}
.footer .note{color:#aa9783;font-size:11px}
.footer .mini-thread{position:absolute;right:3px;bottom:0;color:#bc6f66;width:118px;opacity:.7}
.error-page{min-height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px}
.error-page h1{font-size:clamp(46px,6vw,83px);color:var(--wine)}
.error-page h1 em{color:var(--ink)}
.error-plate{font-family:Georgia,serif;font-size:60px;color:var(--wine);width:150px;height:150px;border:2px solid var(--wine);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:40px}
.error-plate span{font-family:Arial,sans-serif;font-size:12px;letter-spacing:.2em}

@media(max-width:1150px){
  .hero-grid{gap:34px}
  .hero h1{font-size:clamp(51px,6.8vw,85px)}
  .hero-photo{min-height:530px}
  .site-header .container:not(.mobile-panel){min-height:88px}
  .brand-name{font-size:49px}
  .brand-sub{font-size:8px}
}
@media(max-width:1024px){
  .hero-grid{grid-template-columns:1fr 1fr}
  .two-col{grid-template-columns:1fr 1fr}
  .visit-strip{grid-template-columns:1.2fr .8fr}
  .visit-strip>.btn{justify-self:start;grid-column:2}
  .story-hero h1{font-size:clamp(43px,5.8vw,70px)}
  .rhythm-grid{grid-template-columns:repeat(2,1fr)}
  .value-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
  .container{width:calc(100% - 42px)}
  .site-header .container:not(.mobile-panel){min-height:78px;padding:12px 0}
  .brand-name{font-size:45px}
  .brand-sub{font-size:7px;margin-top:9px}
  .nav,.header-cta{display:none}
  .mobile-toggle{display:block}
  .site-header .container.mobile-panel.open{display:flex !important;flex-direction:column;align-items:flex-start;gap:0;padding:12px 0 18px;min-height:auto;background:var(--paper)}
  .mobile-panel a{display:block;font-family:Georgia,serif;font-size:24px;padding:11px 0;border-bottom:1px solid var(--line);width:100%}
  .mobile-panel a.active{color:var(--wine)}
  .hero{padding:50px 0 72px}
  .hero-grid{grid-template-columns:1fr;gap:34px}
  .hero h1{font-size:clamp(52px,11vw,80px)}
  .hero .filo-thread{height:43px;margin-top:-3px}
  .hero-photo{min-height:440px}
  .hero p.lead{font-size:15px}
  .section{padding:51px 0}
  .two-col{grid-template-columns:1fr;gap:42px}
  .signature-head{align-items:flex-start;flex-wrap:wrap}
  .signature-head h2{font-size:clamp(45px,9vw,66px)}
  .dish-grid{grid-template-columns:1fr 1fr;gap:24px 16px}
  .dish-top h3{font-size:21px}
  .atmosphere-banner{min-height:480px}
  .atmosphere-content{padding:60px 25px}
  .visit-strip{grid-template-columns:1fr;gap:16px}
  .visit-strip>.btn{grid-column:auto}
  .menu-hero,.story-hero{padding:54px 0 47px}
  .menu-hero h1,.story-hero h1{font-size:clamp(51px,9.8vw,79px)}
  .category{padding:47px 0 18px}
  .category-bar h2{font-size:54px}
  .story-block{padding:53px 0}
  .story-block h2{font-size:clamp(45px,8.3vw,62px)}
  .rhythm-grid{grid-template-columns:1fr 1fr;gap:15px}
  .value-grid{grid-template-columns:1fr}
  .mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:245px}
  .tile.tall{grid-row:span 1}
  .tile.wide{grid-column:span 2}
  .visit-panel{grid-template-columns:1fr;padding:24px}
  .footer{padding:52px 0}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px}
  .footer-grid>div:first-child{grid-column:span 2}
  .footer .mini-thread{right:0;bottom:-28px}
}
@media(max-width:430px){
  .hero h1{font-size:49px}
  .hero-photo{min-height:390px}
  .hero .filo-thread{height:35px}
  .actions{gap:16px}
  .btn{padding:12px 13px}
  .dish-grid{grid-template-columns:1fr}
  .dish-body{min-height:0}
  .drinks-grid{grid-template-columns:1fr}
  .rhythm-grid{grid-template-columns:1fr}
  .mosaic{grid-template-columns:1fr;grid-auto-rows:240px}
  .tile.wide{grid-column:auto}
  .footer-wordmark{font-size:90px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Platform-consistent icon treatment: text-only Unicode in Storia; emoji in Menù. */
.value-card .icon {font-family: "Segoe UI Symbol", "DejaVu Sans", "Noto Sans Symbols 2", Georgia, serif; font-variant-emoji: text; font-style: normal; color: #6b7551;}
.drink span {font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; font-variant-emoji: emoji; font-style: normal;}
