/* SANNAR V2 — design system barbershop. Palette calda derivata dal logo reale:
   nero #0A0B0C, rosso palo #C5171D, blu palo #2B5387, crema #EFECE7.
   Regola perf P1: backdrop-filter SOLO sull'header. Card/pill/bottoni = fondo semi-opaco solido (no blur). */
:root{
  --bg:oklch(0.15 0.0099 62); --bg2:oklch(0.12 0.0083 62); --ink:oklch(0.94 0.0083 62);
  --muted:oklch(0.7 0.011 62); --line:oklch(1 0.0 0 / .10);
  --brass:oklch(0.74 0.1073 78); --brass2:oklch(0.85 0.0986 78); --oxblood:oklch(0.5 0.14355 27);
  --cream:oklch(0.92 0.0165 62);
  --glass:oklch(0.185 0.0121 62 / .9); --glass2:oklch(0.24 0.0165 62 / .95); --glassb:oklch(0.72 0.0899 78 / .22);
  --disp:"Big Shoulders Display",system-ui,sans-serif; --sans:"Hanken Grotesk",system-ui,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box;margin:0;padding:0}
body{color:var(--ink);background:linear-gradient(180deg,oklch(0.17 0.011 62),var(--bg) 40%);background-color:#17120D;background-attachment:fixed;font-family:var(--sans);font-size:clamp(15px,1vw+13px,17px);line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(20px,5vw,56px)}
/* aurora calda (statica-lenta, blur ridotto: il moto lo da il WebGL) */
.aurora{display:none}
.aurora span{position:absolute;border-radius:50%;opacity:.55;mix-blend-mode:screen;animation:drift 26s var(--ease) infinite alternate}
.aurora .a1{width:58vw;height:58vw;left:-12vw;top:-16vw;background:radial-gradient(circle,var(--brass),transparent 62%)}
.aurora .a2{width:52vw;height:52vw;right:-14vw;top:14vh;background:radial-gradient(circle,var(--oxblood),transparent 62%);animation-delay:-8s}
.aurora .a3{width:46vw;height:46vw;left:24vw;bottom:-18vw;background:radial-gradient(circle,oklch(0.6 0.1073 78),transparent 62%);animation-delay:-15s}
@keyframes drift{to{transform:translate3d(6vw,5vh,0) scale(1.2)}}
.grain{position:fixed;inset:0;z-index:-2;opacity:.03;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
#gl{display:none}
/* cursor */
.cur{position:fixed;top:0;left:0;width:32px;height:32px;border:1.5px solid var(--brass2);border-radius:50%;pointer-events:none;z-index:9999;mix-blend-mode:difference;transition:width .3s var(--ease),height .3s var(--ease),background .3s;will-change:transform}
.cur.big{width:66px;height:66px;background:oklch(1 0.0 0 / .08)}
@media(hover:none){.cur{display:none}}
/* nav (unico blur consentito) */
header{position:fixed;top:0;left:0;right:0;z-index:100;padding:15px 0;transition:background .4s,backdrop-filter .4s,border-color .4s;border-bottom:1px solid transparent}
header.scrolled{background:oklch(0.12 0.0083 62 / .72);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between}
.brand{font-family:var(--disp);font-weight:800;font-size:22px;letter-spacing:.02em;text-transform:uppercase;display:inline-flex;align-items:center;gap:9px}
.brand img{display:inline-block;width:38px;height:38px;border-radius:9px}.brand span{vertical-align:middle}
.nav ul{display:flex;gap:26px;list-style:none;font-size:14px;font-weight:500}
.nav ul a{opacity:.82;transition:opacity .2s,color .2s}.nav ul a:hover{opacity:1;color:var(--brass2)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:100px;font-weight:600;font-size:14px;transition:transform .3s var(--ease),box-shadow .3s,background .3s;cursor:pointer;border:0}
.btn-p{background:linear-gradient(120deg,var(--brass),var(--brass2));color:oklch(0.16 0.011 62)}
.btn-p:hover{transform:translateY(-2px);box-shadow:0 12px 38px oklch(0.74 0.1073 78 / .38)}
.btn-g{background:var(--glass);border:1px solid var(--glassb);color:var(--ink)}
.btn-g:hover{background:var(--glass2);border-color:var(--brass)}
@media(max-width:760px){.nav ul{display:none}}
/* hero */
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;position:relative;padding:120px 0 64px}
.hero-photo{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:var(--focal,50% 50%);filter:saturate(1.08) brightness(1.08) contrast(1.03)}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,oklch(0.09 0.011 62 / .35) 0%,oklch(0.09 0.011 62 / .18) 30%,oklch(0.1 0.0099 62 / .72) 66%,oklch(0.11 0.0099 62 / .95) 90%,var(--bg) 100%)}
.hero::before{content:"";position:absolute;inset:-120px -40px -40px -40px;z-index:-1;background:radial-gradient(120% 90% at 20% 45%,oklch(0.11 0.0083 62 / .84),transparent 70%);pointer-events:none}
.eyebrow{font-family:var(--disp);font-weight:600;letter-spacing:.32em;text-transform:uppercase;font-size:13px;color:var(--brass2);margin-bottom:22px;display:flex;align-items:center;gap:12px}
.eyebrow svg{width:20px;height:20px;stroke:var(--brass2);fill:none;stroke-width:1.6}
.h-title{font-family:var(--disp);font-weight:800;text-transform:uppercase;line-height:.9;font-size:clamp(2.6rem,8.5vw,7rem);letter-spacing:-.015em}
.h-title .ln{display:block;white-space:nowrap;overflow:hidden;padding-bottom:.06em}.h-title .l{display:inline-block;will-change:transform}
.h-title .em{color:transparent;-webkit-text-stroke:1.4px var(--brass2)}
.h-sub{max-width:520px;margin:32px 0 30px;color:var(--muted);font-size:clamp(16px,1.4vw,20px)}
.h-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.pill{display:inline-flex;gap:9px;align-items:center;padding:10px 16px;border-radius:100px;background:var(--glass);border:1px solid var(--glassb);font-size:13px;font-weight:600}
.pill b{color:var(--brass2)}
.h-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:40px}
/* section */
section{position:relative;padding:clamp(56px,8vh,96px) 0}
.k{font-family:var(--disp);text-transform:uppercase;font-weight:800;line-height:.92;font-size:clamp(2.4rem,6vw,5rem);letter-spacing:-.012em}
.k .em{color:transparent;-webkit-text-stroke:1.4px var(--brass2)}
.lead{color:var(--muted);max-width:560px;margin-top:18px;font-size:clamp(16px,1.3vw,19px)}
.icon{width:34px;height:34px;stroke:var(--brass);fill:none;stroke-width:1.5;margin-bottom:14px}
/* bento */
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin-top:52px}
.card{background:linear-gradient(160deg,oklch(0.22 0.0154 62 / .92),oklch(0.15 0.011 62 / .92));border:1px solid var(--glassb);border-radius:22px;padding:30px;position:relative;overflow:hidden;transition:transform .5s var(--ease),border-color .4s,box-shadow .4s;box-shadow:inset 0 1px 0 oklch(1 0.0 0 / .06)}
.card:not([data-demo]):hover{box-shadow:inset 0 1px 0 oklch(1 0.0 0 / .1),0 20px 50px oklch(0 0.0 0 / .35)}
.card .toolico{width:34px;height:34px;stroke:var(--brass2);fill:none;stroke-width:1.4;margin-bottom:8px}
.card:hover{transform:translateY(-6px);border-color:var(--brass)}
.card .n{position:absolute;top:20px;right:24px;font-family:var(--disp);font-weight:800;font-size:clamp(3.4rem,6vw,5.4rem);color:transparent;-webkit-text-stroke:1.4px var(--brass);line-height:1;opacity:.16;pointer-events:none}
.card h3{font-family:var(--disp);text-transform:uppercase;font-size:1.6rem;margin:10px 0 8px;color:var(--ink)}
.card .lead{color:oklch(0.82 0.011 62)}
.c-a{grid-column:span 5;min-height:320px;display:flex;flex-direction:column;justify-content:flex-start}
.c-b{grid-column:span 4}.c-c{grid-column:span 3}
.c-wide{grid-column:span 7}.c-photo{grid-column:span 5;min-height:clamp(340px,32vw,470px);background-size:cover;background-position:var(--focal,50% 50%);border:1px solid var(--glassb)}
@media(max-width:860px){.c-a,.c-b,.c-c,.c-wide,.c-photo{grid-column:span 12}}
/* servizi horizontal */
.hpin{overflow:hidden}
.htrack{display:flex;gap:24px;padding:20px 0;will-change:transform}
.svc{flex:0 0 clamp(260px,32vw,380px);background:linear-gradient(160deg,oklch(0.22 0.0154 62 / .95),oklch(0.15 0.011 62 / .95));border:1px solid var(--glassb);box-shadow:inset 0 1px 0 oklch(1 0.0 0 / .06);border-radius:22px;padding:34px;min-height:360px;display:flex;flex-direction:column;justify-content:space-between}
.svc .toolico{width:40px;height:40px;stroke:var(--brass2);fill:none;stroke-width:1.4}
.svc .num{font-family:var(--disp);color:var(--brass2);font-weight:700;letter-spacing:.2em}
.svc h4{font-family:var(--disp);text-transform:uppercase;font-size:clamp(1.6rem,2.4vw,2.4rem);line-height:.95;margin:14px 0}
.svc small{color:oklch(0.82 0.011 62)}
.rv{opacity:0;transform:translateY(40px)}
/* band, footer */
.band{text-align:center}.band .k{font-size:clamp(2.6rem,8vw,6.5rem)}
footer{padding:60px 0 40px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}
.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px}
/* i link del footer erano alti 22px: sotto i 44 raccomandati per il tocco */
.foot a{display:inline-flex;align-items:center;min-height:44px;padding:4px 2px}
.webina-credit{opacity:1 !important;color:var(--muted)}
.webina-credit a{text-decoration:underline;text-underline-offset:3px}
/* salto al contenuto: visibile solo quando prende il focus da tastiera */
.skip{position:absolute;left:-9999px;top:0;z-index:200}
.skip:focus{left:12px;top:12px;width:auto;height:auto;padding:12px 18px;background:var(--brass2);color:#17120D;border-radius:999px;font-weight:700}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}
/* pagine interne */
.page-hero{padding:150px 0 30px;position:relative}.page-hero .k{font-size:clamp(2.8rem,9vw,7rem);line-height:.86}
.crumb{font-size:13px;color:var(--muted);margin-bottom:18px;letter-spacing:.02em}.crumb a{color:var(--brass2)}
.listino{margin-top:36px;border-top:1px solid var(--line)}
.row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 4px;border-bottom:1px solid var(--line);transition:padding-left .4s var(--ease),background .4s}
.row:hover{padding-left:18px;background:linear-gradient(90deg,var(--glass),transparent)}
.row .rowl{display:flex;gap:18px;align-items:center}
.row .toolico{width:30px;height:30px;stroke:var(--brass2);fill:none;stroke-width:1.4;flex:0 0 auto}
.row h3{font-family:var(--disp);text-transform:uppercase;font-size:clamp(1.4rem,3vw,2.3rem)}
.row p{color:var(--muted);max-width:520px;margin-top:4px;font-size:15px}
.row .dur{font-family:var(--disp);color:var(--brass2);white-space:nowrap;font-size:14px;letter-spacing:.12em}
.faq{margin-top:36px}.faq details{border-bottom:1px solid var(--line);padding:6px 0}
.faq summary{cursor:pointer;list-style:none;padding:20px 4px;font-family:var(--disp);text-transform:uppercase;font-size:clamp(1.1rem,2vw,1.5rem);display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";color:var(--brass2);font-size:1.6rem;transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}.faq p{color:var(--muted);padding:0 4px 22px;max-width:640px}
.mapwrap{margin-top:36px;border-radius:22px;overflow:hidden;border:1px solid var(--glassb);aspect-ratio:16/8;background:var(--glass)}
.mapwrap iframe{width:100%;height:100%;border:0;filter:invert(.92) hue-rotate(180deg) saturate(.5) contrast(.92) brightness(.95)}
.form{margin-top:34px;display:grid;gap:16px;max-width:560px}
.form input,.form textarea,.form select{width:100%;padding:15px 16px;border-radius:14px;background:var(--glass);border:1px solid var(--glassb);color:var(--ink);font:inherit;transition:border-color .3s}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--brass)}
.form label{font-size:13px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-weight:600}
.opts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.opt{background:var(--glass);border:1px solid var(--glassb);border-radius:22px;padding:30px;transition:transform .5s var(--ease),border-color .4s}
.opt:hover{transform:translateY(-6px);border-color:var(--brass)}.opt .toolico{width:34px;height:34px;stroke:var(--brass2);fill:none;stroke-width:1.4;margin-bottom:12px}
.opt h3{font-family:var(--disp);text-transform:uppercase;font-size:1.4rem;margin-bottom:8px}.opt p{color:var(--muted);font-size:15px;margin-bottom:18px}
@media(max-width:760px){.opts{grid-template-columns:1fr}}
.mq{overflow:hidden;margin-top:44px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq-t{display:flex;gap:20px;width:max-content;animation:mqx 36s linear infinite}.mq:hover .mq-t{animation-play-state:paused}
.qc{flex:0 0 clamp(280px,32vw,380px);background:linear-gradient(160deg,oklch(0.22 0.0154 62 / .95),oklch(0.15 0.011 62 / .95));border:1px solid var(--glassb);border-radius:20px;padding:26px}
.qc .stars{color:var(--brass2);letter-spacing:3px;margin-bottom:10px}.qc p{font-size:16px;color:var(--ink)}.qc small{color:var(--muted);display:block;margin-top:12px}
@keyframes mqx{to{transform:translateX(-50%)}}
.big-rating{font-family:var(--disp);font-weight:800;font-size:clamp(4rem,14vw,11rem);line-height:1;color:transparent;-webkit-text-stroke:2px var(--brass2)}
@media(prefers-reduced-motion:reduce){.mq-t{animation:none}.ticker-t{animation:none}}
.story{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-items:center;margin-top:36px}
.story .ph{aspect-ratio:4/5;border-radius:22px;background-size:cover;background-position:var(--focal,50% 50%);border:1px solid var(--glassb)}
@media(max-width:860px){.story{grid-template-columns:1fr}}
.hours{margin-top:30px;border-collapse:collapse;width:100%;max-width:460px}
.hours td{padding:13px 6px;border-bottom:1px solid var(--line);font-size:15px}.hours td:last-child{text-align:right;color:var(--brass2);font-weight:600}
.tools-strip{display:flex;gap:26px;flex-wrap:wrap;margin-top:40px;align-items:center;opacity:.85}
.tools-strip svg{width:44px;height:44px;stroke:var(--brass2);fill:none;stroke-width:1.3}
/* fix overflow + menu mobile */
main{width:100%}
.hero::before{inset:-120px 0 -40px 0}
.burger{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;flex-direction:column;gap:5px;justify-content:center;align-items:center;z-index:101}
.burger span{width:24px;height:2px;background:var(--ink);border-radius:2px;transition:.3s var(--ease)}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* fondo pieno: col 2% di trasparenza di prima, dietro le voci passavano il titolo della hero
   e la barra fissa "prenota", che restava li' sotto come un doppione sbiadito */
.mmenu{position:fixed;inset:0;z-index:99;background:#0F0E0D;background:oklch(0.11 0.0083 62);display:flex;flex-direction:column;justify-content:center;gap:6px;padding:40px 32px;transform:translateX(100%);transition:transform .5s var(--ease);visibility:hidden}
.mmenu.open{transform:none;visibility:visible}
.mmenu a{font-family:var(--disp);text-transform:uppercase;font-size:clamp(2rem,9vw,2.6rem);padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.mmenu .mcta{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:760px){.burger{display:flex}}
@media(min-width:761px){.mmenu{display:none}}
/* photo band protagonista */
.photoband{position:relative;min-height:62vh;display:flex;align-items:flex-end;padding:0;margin:clamp(28px,5vh,60px) 0}
.pb-photo{position:absolute;inset:0;background-size:cover;background-position:var(--focal,50% 50%);filter:saturate(1.05) brightness(1.02)}
.pb-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,oklch(0.1 0.011 62 / .85) 92%)}
.pb-in{position:relative;padding-bottom:44px;padding-top:44px}

/* --- ticker vintage (al posto del palo) --- */
.ticker{overflow:hidden;border-block:1px solid var(--glassb);padding:22px 0;background:oklch(0.13 0.0088 62 / .5)}
.ticker-t{display:flex;width:max-content;animation:tick 30s linear infinite}
.ticker-t i{font-style:normal;font-family:var(--disp);text-transform:uppercase;font-weight:800;font-size:clamp(2rem,5vw,3.4rem);letter-spacing:.01em;padding:0 22px;color:transparent;-webkit-text-stroke:1.2px var(--brass2);white-space:nowrap}
.ticker-t b{color:var(--oxblood);padding:0 6px;font-weight:800;-webkit-text-stroke:0}
.ticker:hover .ticker-t{animation-play-state:paused}
@keyframes tick{to{transform:translateX(-50%)}}
/* --- blocco oxblood statement --- */
.oxblock{background:linear-gradient(135deg,var(--oxblood),oklch(0.35 0.11745 27));color:var(--cream);border-radius:26px;padding:clamp(40px,7vw,88px);position:relative;overflow:hidden}
.oxblock .big{font-family:var(--disp);text-transform:uppercase;font-weight:800;line-height:.94;font-size:clamp(2rem,6vw,4.4rem);position:relative}
.oxblock .sig{margin-top:20px;font-family:var(--disp);letter-spacing:.22em;text-transform:uppercase;font-size:14px;opacity:.9}
.oxblock::before{content:"\201C";position:absolute;top:-30px;left:20px;font-family:var(--disp);font-size:clamp(9rem,22vw,18rem);color:oklch(1 0.0 0 / .10);line-height:1}
/* --- duotone caldo sulle foto demo (look editoriale coeso) --- */
.photoband[data-demo="1"] .pb-photo,.hero-photo[data-demo="1"]{filter:saturate(1.04) brightness(1.0) contrast(1.03)}
.card[data-demo="1"]{filter:saturate(1.03) brightness(1.0) contrast(1.03);transition:filter .5s var(--ease),transform .5s var(--ease),border-color .4s}
.card[data-demo="1"]:hover{filter:saturate(1.08) brightness(1.03)}
/* --- label verticale accento --- */
.vlabel{position:absolute;right:8px;bottom:120px;writing-mode:vertical-rl;font-family:var(--disp);text-transform:uppercase;letter-spacing:.35em;font-size:12px;color:var(--brass2);opacity:.75}
@media(max-width:760px){.vlabel{display:none}}

/* icon badge */
.ibadge{width:54px;height:54px;border-radius:50%;border:1px solid var(--glassb);display:inline-flex;align-items:center;justify-content:center;margin-bottom:18px;background:oklch(0.15 0.011 62 / .55)}
.ibadge svg{width:26px;height:26px;stroke:var(--brass2);fill:none;stroke-width:1.5}
.card .ibadge{position:relative;z-index:1}
/* ticker: parole piene + alcune outline per texture */
.ticker-t i{color:var(--brass2);-webkit-text-stroke:0;opacity:.95}
.ticker-t i.o{color:transparent;-webkit-text-stroke:1.2px var(--brass2);opacity:.9}
.ticker-t b{color:var(--oxblood);-webkit-text-stroke:0}
/* sezione crema (ritmo cromatico) */
.cream{background:linear-gradient(155deg,var(--cream),oklch(0.85 0.0193 62));color:oklch(0.22 0.0165 62);border-radius:26px;padding:clamp(44px,7vw,84px);position:relative;overflow:hidden}
.cream .eyebrow{color:oklch(0.42 0.1073 78)}.cream .eyebrow svg{stroke:oklch(0.42 0.1073 78)}
.cream .k{color:oklch(0.2 0.0165 62)}.cream .k .em{-webkit-text-stroke-color:oklch(0.42 0.1073 78)}
.cream .lead{color:oklch(0.36 0.011 62);max-width:640px}
/* illustrazioni */
.emblem{width:150px;height:auto;display:block}
.emblem-wrap{display:flex;justify-content:center;margin-bottom:8px}
.band .emblem-wrap .emblem{width:190px;height:auto}
.cream{position:relative}
.cream-deco{position:absolute;right:-20px;bottom:-30px;width:230px;height:230px;color:oklch(0.42 0.1073 78);opacity:.14;pointer-events:none}
.cream-deco .deco{width:100%;height:100%}
.foot-emblem .emblem{width:104px;height:auto;display:block}
@media(max-width:760px){.cream-deco{width:150px;height:150px;right:-30px}.emblem-wrap .emblem,.band .emblem-wrap .emblem{width:132px;height:auto}}

/* ============================================================
   V3 — componenti raffinati (contact-sheet, listino, Ramzi, recensioni editoriali, bookbar)
   ============================================================ */
/* Contact-sheet: striscia foto full-bleed guidata dallo scroll (sostituisce il vecchio ticker) */
.csheet-sec{padding:clamp(52px,7vh,88px) 0;overflow:hidden}
.csheet{margin-top:44px;overflow:hidden}
.csheet-track{display:flex;gap:18px;padding:0 clamp(20px,5vw,56px);width:max-content;will-change:transform}
.cs-item{flex:0 0 clamp(240px,30vw,420px);margin:0}
.cs-img{height:clamp(300px,42vh,460px);border-radius:20px;background-size:cover;background-position:var(--focal,50% 50%);border:1px solid var(--glassb)}
.cs-item figcaption{margin-top:14px;font-family:var(--disp);text-transform:uppercase;letter-spacing:.12em;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:10px}
.cs-item .cs-n{color:var(--brass2);font-weight:800}
.cs-note{margin-top:22px;font-size:13px;color:var(--muted);opacity:.66}
@media(max-width:760px){
  .csheet{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .cs-item{scroll-snap-align:start;flex-basis:78vw}
}
/* Listino "menu stampato": indice numerato + dot-leader + durata */
.menu-sec{padding:clamp(56px,8vh,96px) 0}
.menu-head{display:grid;grid-template-columns:1.05fr 1fr;gap:30px;align-items:end;margin:22px 0 42px}
.menu-head .lead{margin-top:0}
@media(max-width:760px){.menu-head{grid-template-columns:1fr;gap:14px}}
.menu{border-top:1px solid var(--line)}
.mrow{display:flex;align-items:baseline;gap:16px;padding:22px 4px;border-bottom:1px solid var(--line);transition:padding-left .4s var(--ease),background .4s}
.mrow:hover{padding-left:16px;background:linear-gradient(90deg,var(--glass),transparent)}
.mi{font-family:var(--disp);font-weight:800;font-size:clamp(1rem,1.4vw,1.3rem);color:transparent;-webkit-text-stroke:1.2px var(--brass);opacity:.6;flex:0 0 auto;width:2.2em}
.mn{display:flex;flex-direction:column;gap:3px;flex:0 0 auto}
.mn b{font-family:var(--disp);text-transform:uppercase;font-weight:800;font-size:clamp(1.3rem,2.6vw,2.1rem);line-height:1;color:var(--ink)}
.mn small{color:var(--muted);font-size:14px}
.mleader{flex:1 1 auto;border-bottom:2px dotted var(--line);transform:translateY(-.25em);min-width:24px}
.md{font-family:var(--disp);letter-spacing:.12em;color:var(--brass2);white-space:nowrap;font-size:14px;flex:0 0 auto}
@media(max-width:520px){.mn small{display:none}.mleader{min-width:14px}}
/* Blocco Ramzi editoriale */
.barber-sec{padding:clamp(52px,7vh,88px) 0}
.barber-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,54px);align-items:center}
@media(max-width:860px){.barber-grid{grid-template-columns:1fr;gap:26px}}
.barber-ph{position:relative;aspect-ratio:4/5;border-radius:22px;background-size:cover;background-position:var(--focal,50% 50%);border:1px solid var(--glassb)}
.barber-ph .ph-note{position:absolute;left:14px;bottom:14px;background:oklch(0.1 0.011 62 / .82);color:var(--muted);font-size:11px;letter-spacing:.06em;padding:6px 11px;border-radius:100px;text-transform:uppercase}
.barber-q{font-family:var(--disp);text-transform:uppercase;font-weight:800;line-height:.98;font-size:clamp(1.9rem,4.4vw,3.4rem);letter-spacing:-.01em;margin:16px 0 22px;color:var(--ink)}
.barber-q .em{color:var(--brass2)}
.barber-foot{display:flex;align-items:center;gap:22px;margin-top:24px;flex-wrap:wrap}
.barber-foot .sign{font-family:var(--disp);font-weight:800;font-size:1.9rem;color:var(--brass2);letter-spacing:.02em}
.barber-foot .statline{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}
.barber-foot .statline svg{width:20px;height:20px;stroke:var(--brass2);fill:none;stroke-width:1.5}
.barber-foot .statline b{color:var(--ink);font-family:var(--disp);font-size:1.2rem}
/* Recensioni editoriali: una grande citazione che ruota */
.reviews-ed .re-head{display:flex;align-items:flex-end;gap:26px;flex-wrap:wrap;margin-bottom:14px}
.reviews-ed .re-stars{color:var(--brass2);letter-spacing:4px;font-size:20px}
.reviews-ed .re-meta{padding-bottom:14px}.reviews-ed .re-meta .lead{margin-top:2px}
.re-quotes{position:relative;min-height:clamp(160px,22vh,230px);margin-top:22px}
.req{position:absolute;inset:0;font-family:var(--disp);text-transform:uppercase;font-weight:800;line-height:1.02;font-size:clamp(1.8rem,4.2vw,3.4rem);letter-spacing:-.01em;color:var(--ink);opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease);max-width:18ch}
.req.on{opacity:1;transform:none}
.req cite{display:block;margin-top:18px;font-family:var(--sans);text-transform:none;font-weight:500;font-style:normal;font-size:14px;letter-spacing:0;color:var(--brass2)}
@media(max-width:600px){.re-quotes{min-height:280px}.req{max-width:100%}}
/* Barra Prenota sticky (solo mobile) */
.bookbar{position:fixed;left:0;right:0;bottom:0;z-index:95;display:none;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:oklch(0.11 0.0083 62 / .92);backdrop-filter:blur(12px);border-top:1px solid var(--line)}
.bookbar a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px;border-radius:14px;font-family:var(--disp);text-transform:uppercase;letter-spacing:.05em;font-size:15px;font-weight:700}
.bookbar svg{width:20px;height:20px;fill:none;stroke-width:1.7}
.bookbar .bb-call{flex:0 0 38%;background:var(--glass);border:1px solid var(--glassb);color:var(--ink);stroke:var(--ink)}
.bookbar .bb-wa{background:linear-gradient(120deg,var(--brass),var(--brass2));color:oklch(0.16 0.011 62);stroke:oklch(0.16 0.011 62)}
@media(max-width:760px){.bookbar{display:flex}body{padding-bottom:78px}.desktop-cta{display:none}}
/* Grading neutro-freddo coerente con la palette teal del locale (niente sepia caldo) */
.hero-photo[data-demo="1"],.pb-photo[data-demo="1"],.cs-item[data-demo="1"] .cs-img,.card.c-photo[data-demo="1"],.barber-ph[data-demo="1"]{filter:saturate(.86) contrast(1.05) brightness(.96)}

/* --- fix audit 2026-08-31 --- */
/* Su mobile la barra fissa in basso porta gia' Chiama e WhatsApp: i doppioni
   in pagina spariscono, resta solo l'azione primaria. */
@media(max-width:760px){
  .h-cta .btn-g[href^="tel:"],
  .cta-row .btn-g[href^="tel:"],
  .cta-row .btn-g[href*="wa.me"]{display:none}
  main{padding-bottom:96px}
}
/* Le schede del bento tengono le icone in linea anche con testi di lunghezza diversa. */
.c-a .ibadge,.c-a .toolico{margin-bottom:14px}
.c-a > :last-child{margin-top:auto}

/* --- taglio foto, 2a passata 2026-08-31 ---
   La fascia a tutta larghezza era 1128x300 (3,76:1) contro uno scatto 16:9:
   restava in vista il 47% della foto, una striscia. Con un rapporto vicino al
   16:9 si vede quasi tutto e il soggetto smette di sembrare zoomato. */
.bento .c-photo.c-wide-photo,
.bento .c-photo[style*="span 12"],
.gc5{aspect-ratio:16/9;min-height:0}
.bento > .c-photo{aspect-ratio:16/10;min-height:0}
@media(max-width:860px){.bento > .c-photo,.gc5{aspect-ratio:4/3}}

/* --- inquadrature, 3a passata 2026-08-31 ---
   Il problema non era la foto ma il riquadro: piu' e' lontano dal 16:9 dello
   scatto, piu' `cover` taglia e piu' il soggetto sembra ingrandito.
   Hero: a 100svh su 1440x900 il box e' 1,60:1 contro 1,78:1 e la foto viene
   scalata a 1600px di larghezza, cioe' ingrandita dell'11%. Legando l'altezza
   alla larghezza il box resta vicino al rapporto dello scatto: niente ingrandimento.
   Fascia strada: era 2,58:1, restava in vista il 69%. */
@media(min-width:761px){
  .hero{min-height:min(100svh,58vw)}
  .photoband{min-height:0}
  .pb-photo{position:absolute;inset:0}
  .photoband{aspect-ratio:1.9/1}
}
