/* ==========================================================================
   300MILA — site.css  v2 (refined)
   ========================================================================== */
/* Font del sito originale: Romana (titoli), Cormorant Garamond (sottotitoli), Quattrocento Sans (etichette, menu, pulsanti), Montserrat (testi) */
@font-face{font-family:'romana';src:url('../../uploads/useanyfont/4719Romana.woff2') format('woff2'),url('../../uploads/useanyfont/4719Romana.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
:root{
  --c-bord:#7f242a; --c-bord-d:#621b20; --c-crema:#fbf8eb; --c-paper:#fcfbf7; --c-carbone:#383838; --c-btn-text:#fcfbf6;
  --c-ink:#3a3a3a; --c-sub:#676565; --c-text:#686666; --c-muted:#888682; --c-line:rgba(58,58,58,.12);
  --f-title:'romana','Cormorant Garamond',Georgia,serif; --f-display:'Cormorant Garamond',Georgia,serif; --f-label:'Quattrocento Sans',system-ui,sans-serif; --f-body:'Montserrat',system-ui,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1); --ease-io:cubic-bezier(.65,0,.35,1);
  --hdr-h:76px; --gutter:clamp(20px,4vw,56px); --radius:2px;
  --admin:var(--wp-admin--admin-bar--height,0px);
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--f-body);font-size:15px;color:var(--c-text);background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
::selection{background:var(--c-bord);color:#fff}
img{max-width:100%;height:auto}
.wp-site-blocks{padding-top:0!important}
.wp-site-blocks>*{margin-block-start:0!important}
main{margin-top:0!important}
h1,h2,h3,h4,.wp-block-heading{font-family:var(--f-display);color:var(--c-sub);font-weight:600;letter-spacing:0;line-height:1.15}
h1,h2,h1.wp-block-heading,h2.wp-block-heading{font-family:var(--f-title);color:var(--c-ink);font-weight:700;line-height:1.1}
h2.wp-block-heading,.h2{font-size:clamp(2rem,3.4vw,3rem)}
h3.wp-block-heading{font-size:clamp(1.4rem,2vw,1.8rem)}
p{line-height:1.75}
a{color:var(--c-bord);text-underline-offset:.22em;text-decoration-thickness:1px;transition:color .3s var(--ease)}

/* ---------- labels ---------- */
.eyebrow{display:block;margin-top:0!important;margin-bottom:14px!important;font:700 13px/1.3 var(--f-label)!important;letter-spacing:1.8px;text-transform:uppercase;color:var(--c-bord)}
.eyebrow.is-center,.has-text-align-center.eyebrow{text-align:center}
.lead{font-family:var(--f-display);font-weight:600;font-size:clamp(1.2rem,1.6vw,1.4rem)!important;line-height:1.5!important;color:var(--c-sub)}

/* ---------- buttons ---------- */
.btn,.wp-block-button__link,.wp-element-button,.wc-block-components-button:not(.is-link),.button,button.single_add_to_cart_button{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:14px 38px;border-radius:30px;border:1px solid var(--c-bord);
  font:400 15px/1.2 var(--f-label)!important;letter-spacing:0;text-transform:none;text-decoration:none;cursor:pointer;
  background:var(--c-bord);color:var(--c-btn-text);transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
.btn:hover,.wp-block-button__link:hover,.wp-element-button:hover,.wc-block-components-button:not(.is-link):hover,.button:hover{background:var(--c-bord-d);border-color:var(--c-bord-d);color:#fff}
.btn--ghost{background:transparent;border-color:rgba(255,255,255,.6);color:#fff}
.btn--ghost:hover{background:#fff;color:var(--c-ink);border-color:#fff}
.btn--line,.is-style-outline .wp-block-button__link{background:transparent!important;border-color:var(--c-ink)!important;color:var(--c-ink)!important}
.btn--line:hover,.is-style-outline .wp-block-button__link:hover{background:var(--c-ink)!important;color:#fff!important}
.text-link{font:700 13px/1 var(--f-label);letter-spacing:.6px;text-transform:uppercase;color:var(--c-ink);text-decoration:none;padding-bottom:5px;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;transition:background-size .45s var(--ease)}
.text-link:hover{background-size:0 1px;background-position:100% 100%}

/* ==========================================================================
   HEADER
   ========================================================================== */
.wp-site-blocks>header.wp-block-template-part{position:sticky;top:var(--admin);z-index:100;transition:transform .5s var(--ease)}
.site-header{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--c-line);transition:background .5s var(--ease),border-color .5s var(--ease)}
.site-header__inner{min-height:var(--hdr-h);padding-inline:var(--gutter)!important;max-width:none!important;gap:28px!important}
.site-header .wp-block-site-logo img{width:132px;height:auto;transition:filter .5s var(--ease)}
.site-header .wp-block-navigation{font:700 13px/1 var(--f-label);letter-spacing:.6px;text-transform:uppercase;gap:clamp(18px,2.2vw,32px)}
.site-header .wp-block-navigation a{color:var(--c-sub);text-decoration:none;position:relative;padding:8px 0}
.site-header .wp-block-navigation .wp-block-navigation-item__content::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
.site-header .wp-block-navigation .wp-block-navigation-item__content:hover::after{transform:scaleX(1);transform-origin:left}
.site-header .wp-block-navigation__submenu-container{background:#fff!important;border:1px solid var(--c-line)!important;padding:8px 0!important;min-width:190px!important}
.site-header .wp-block-navigation__submenu-container a{color:var(--c-sub)!important;padding:9px 20px!important}
.site-header__actions{gap:16px!important}
.site-header .wc-block-mini-cart__button,.site-header .wc-block-customer-account a{color:var(--c-ink);padding:6px}
.site-header .wc-block-customer-account a,.site-header .wc-block-customer-account svg,.site-header .wc-block-customer-account__account-icon{color:var(--c-ink)!important;fill:currentColor}
.site-header .wc-block-mini-cart__icon{color:var(--c-ink)}
.site-header .wc-block-mini-cart__badge{background:var(--c-bord)!important;color:#fff!important;border:0!important;font-weight:500;font-size:10px}
.site-header .wc-block-mini-cart__amount{display:none}
.wp-site-blocks>header.is-hidden{transform:translateY(calc(-100% - var(--admin)))}
.has-hero .wp-site-blocks>header.wp-block-template-part{position:fixed;left:0;right:0}
.has-hero header:not(.is-scrolled) .site-header{background:transparent;border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.has-hero header:not(.is-scrolled) .site-header .wp-block-site-logo img{filter:brightness(0) invert(1)}
.has-hero header:not(.is-scrolled) .site-header__nav .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content,
.has-hero header:not(.is-scrolled) .site-header__nav .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation__submenu-icon,
.has-hero header:not(.is-scrolled) .site-header .wp-block-navigation__responsive-container-open,
.has-hero header:not(.is-scrolled) .site-header .wc-block-mini-cart__button,
.has-hero header:not(.is-scrolled) .site-header .wc-block-mini-cart__icon,
.has-hero header:not(.is-scrolled) .site-header .wc-block-customer-account a,
.has-hero header:not(.is-scrolled) .site-header .wc-block-customer-account svg,
.has-hero header:not(.is-scrolled) .site-header .wc-block-customer-account__account-icon{color:#fff!important}
.wp-block-navigation__responsive-container.is-menu-open{background:#fff!important;padding:clamp(24px,6vw,48px)!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font:700 1.6rem/1.3 var(--f-title)!important;letter-spacing:0;text-transform:none;color:var(--c-ink)!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{font-size:1.3rem!important}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative;height:100svh;min-height:560px;max-height:960px;color:#fff;overflow:hidden;background:#141210;isolation:isolate;margin-block:0!important}
.hero__slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.8s var(--ease-io)}
.hero__slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.05);will-change:transform}
.hero__slide.is-active{opacity:1}
.hero__slide.is-active img{animation:kb 10s linear forwards}
@keyframes kb{from{transform:scale(1.05)}to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(15,12,10,.55) 0%,rgba(15,12,10,.25) 35%,rgba(15,12,10,.3) 65%,rgba(15,12,10,.6) 100%)}
.hero__content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(var(--hdr-h) + 10px) 24px 70px}
.hero__content>*{animation:rise 1.4s var(--ease) both;animation-delay:calc(var(--d,0s) + .15s)}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero__logo{margin:0;line-height:0}
.hero__logo img{width:min(400px,68vw);height:auto;filter:brightness(0) invert(1)}
.hero__tagline{margin:22px 0 34px;font:700 14px/1.3 var(--f-label);letter-spacing:1.8px;text-transform:uppercase;color:rgba(255,255,255,.92)}
.hero__ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.hero__nav{position:absolute;z-index:3;left:50%;transform:translateX(-50%);bottom:30px;display:flex;gap:8px}
.hero__dot{width:28px;height:12px;padding:0;border:0;background:none;cursor:pointer;position:relative}
.hero__dot::before,.hero__dot::after{content:"";position:absolute;left:0;right:0;top:5px;height:1px;background:rgba(255,255,255,.35)}
.hero__dot::after{background:#fff;transform:scaleX(0);transform-origin:left}
.hero__dot.is-active::after{animation:prog var(--hero-dur,6s) linear forwards}
@keyframes prog{to{transform:scaleX(1)}}

/* ==========================================================================
   SECTIONS
   ========================================================================== */
.section{padding-block:clamp(64px,8vw,120px)!important;padding-inline:var(--gutter)!important}
.section--tight{padding-block:clamp(48px,6vw,90px)!important}
.section--paper{background:var(--c-paper)}
.section--white{background:#fff}
.section-head{margin-bottom:clamp(28px,3.5vw,48px)!important}
.section-head h2{margin:0!important}
.section-foot{margin-top:clamp(36px,4vw,56px)!important;text-align:center}

/* manifesto */
.manifesto{text-align:center}
.manifesto__text{margin:0 auto!important;max-width:24ch;font:600 clamp(1.6rem,2.8vw,2.4rem)/1.3 var(--f-display)!important;color:var(--c-sub)}
.manifesto__text em{font-style:italic;color:var(--c-bord)}

/* chi siamo */
.chisiamo__cols{gap:clamp(36px,6vw,96px)!important}
.chisiamo h2{margin:0 0 20px!important}
.chisiamo p:not(.eyebrow):not(.lead){font-size:14.5px;color:var(--c-text);max-width:54ch}
.chisiamo .wp-block-buttons{margin-top:30px!important}
.collage{position:relative;aspect-ratio:1/1;width:100%;max-width:560px}
.collage figure{position:absolute;margin:0;overflow:hidden;border-radius:var(--radius)}
.collage figure img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.6s var(--ease)}
.collage figure:hover img{transform:scale(1.03)}
.collage__a{left:0;top:0;width:70%;height:76%}
.collage__b{right:0;bottom:0;width:44%;height:56%;outline:8px solid var(--c-crema)}
.collage img.collage__deco{position:absolute;width:17%;height:auto;left:-5%;bottom:-4%;object-fit:contain;opacity:.35;filter:invert(1);pointer-events:none;z-index:3}

.chisiamo__img{margin:0!important;max-width:480px;border-radius:var(--radius);overflow:hidden}
.chisiamo__img img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;display:block}

/* menu categories */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,22px)}
.card{position:relative;overflow:hidden;border-radius:var(--radius);aspect-ratio:5/6;color:#fff;background:#1d1a17;isolation:isolate}
.card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 50%,rgba(0,0,0,.6) 100%);z-index:1}
.card:hover img{transform:scale(1.03)}
.card__body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(18px,2vw,28px)}
.card h3{color:#fff;margin:0 0 6px;font:700 clamp(1.4rem,1.9vw,1.75rem)/1.1 var(--f-title);text-transform:uppercase}
.card p{margin:0;font:600 1.05rem/1.4 var(--f-display);opacity:.92;max-width:30ch}

/* dishes */
.dishes{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(36px,6vw,96px)}
.dish{padding:22px 0;border-bottom:1px solid var(--c-line)}
.dish h4{margin:0 0 6px;font:600 clamp(1.25rem,1.6vw,1.45rem)/1.25 var(--f-display);color:var(--c-sub)}
.dish p{margin:0;font-size:13.5px;line-height:1.65;color:var(--c-muted)}

/* category links (shop) */
.chips{display:flex;flex-wrap:wrap;gap:6px 26px;margin:0 0 clamp(26px,3vw,40px)}
.chips a{padding:4px 0;font:700 13px/1 var(--f-label);letter-spacing:.6px;text-transform:uppercase;color:var(--c-muted);text-decoration:none;border-bottom:1px solid transparent;transition:color .3s var(--ease),border-color .3s var(--ease)}
.chips a:hover,.chips a[aria-current]{color:var(--c-ink);border-color:var(--c-ink)}

/* closing banner */
.cta{position:relative;overflow:hidden;color:#fff;text-align:center;padding:clamp(90px,11vw,150px) var(--gutter)!important;margin-block:0!important;isolation:isolate}
.cta__bg{position:absolute;inset:-10% 0;z-index:-2;margin:0}
.cta__bg img{width:100%;height:100%;object-fit:cover}
.cta::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(15,12,10,.55)}
.cta__logo{width:min(240px,50vw);height:auto;filter:brightness(0) invert(1);margin:0 auto 22px;display:block}
.cta__tagline{margin:0 auto;max-width:34ch;font:700 clamp(1.35rem,2.2vw,1.9rem)/1.35 var(--f-title);color:#fff}
.cta__type{color:#fff;display:inline-block;transition:opacity .6s var(--ease),transform .6s var(--ease)}
.cta__type.is-out{opacity:0;transform:translateY(6px)}

/* footer */
.site-footer{padding:clamp(56px,6vw,90px) var(--gutter) 32px!important;background:var(--c-carbone)!important;color:#f9f9f9}
.site-footer a{color:inherit;text-decoration:none;opacity:.85}
.site-footer a:hover{opacity:1}
.site-footer .wp-block-site-logo img{filter:brightness(0) invert(1)}
.site-footer .footer-title{color:#fff;font:700 13px/1 var(--f-label)!important;letter-spacing:1.8px;text-transform:uppercase;margin:0 0 18px!important;opacity:.55}
.site-footer p{font-size:13.5px;line-height:1.8;margin:0 0 12px}
.site-footer .footer-tagline{font:700 12px/1.4 var(--f-label);letter-spacing:1.8px;text-transform:uppercase;color:#acafad;margin-top:16px}
.site-footer__cols{gap:clamp(28px,4vw,64px)!important;padding-bottom:clamp(36px,4vw,56px);border-bottom:1px solid rgba(255,255,255,.12)}
.site-footer__bottom{padding-top:22px}
.site-footer__bottom p{font-size:12px;margin:0;opacity:.65}

/* ==========================================================================
   INNER PAGES
   ========================================================================== */
.page-hero{text-align:center;padding:clamp(56px,7vw,100px) var(--gutter) clamp(36px,4vw,56px)!important}
.page-hero h1{font-size:clamp(2.3rem,4vw,3.4rem);margin:0 auto!important}
.page-hero .page-intro{max-width:58ch;margin:18px auto 0!important;font:600 clamp(1.1rem,1.5vw,1.3rem)/1.5 var(--f-display);color:var(--c-sub)}
.page-banner{margin:0!important;padding-inline:var(--gutter)}
.page-banner img{width:100%;aspect-ratio:21/8;object-fit:cover;border-radius:var(--radius);display:block}
.split{gap:clamp(32px,6vw,90px)!important}
.split h2{margin:0 0 18px!important}
.split p:not(.eyebrow){font-size:14.5px;max-width:58ch}
.split .wp-block-image{margin:0!important}
.split .wp-block-image img{width:100%;border-radius:var(--radius);display:block}
.img-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.img-pair img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);display:block}
.products-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,40px) clamp(16px,2vw,28px)}
.products-grid article img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);display:block;margin-bottom:16px}
.products-grid h3{font:600 1.4rem/1.2 var(--f-display);color:var(--c-sub);margin:0 0 8px}
.products-grid p{font-size:13.5px;line-height:1.7;margin:0;color:var(--c-text)}
.links-row{display:flex;gap:28px;justify-content:center;flex-wrap:wrap}
/* awards */
.awards{list-style:none;margin:0 auto!important;padding:0!important;max-width:820px;border-top:1px solid var(--c-line)}
.awards li{display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--c-line)}
.awards .y{font:700 1.6rem/1 var(--f-title);color:var(--c-bord)}
.awards .t{font:600 1.2rem/1.4 var(--f-display);color:var(--c-sub)}
.awards .t small{display:block;font:400 12px/1.6 var(--f-body);color:var(--c-muted);margin-top:4px}
.awards li.is-highlight .t{font-style:italic}
.awards .star{color:var(--c-bord);font-size:.85em;margin-right:4px}
.gr-logo{width:min(260px,60vw);margin:28px auto 0!important;display:block;opacity:.9}
/* team */
.team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,3vw,44px);max-width:1100px;margin:0 auto}
.team figure{margin:0;text-align:center}
.team img{width:min(250px,100%);aspect-ratio:1;object-fit:contain;display:block;margin:0 auto 6px}
.team h3{font:600 1.45rem/1.2 var(--f-display);color:var(--c-sub);margin:0 0 6px}
.team p{margin:0;font:700 12px/1.4 var(--f-label);letter-spacing:1.8px;text-transform:uppercase;color:var(--c-muted)}
/* gallery */
.masonry.wp-block-gallery{display:block!important;columns:3;column-gap:12px}
.masonry.wp-block-gallery>figure.wp-block-image{display:block!important;width:100%!important;margin:0 0 12px!important;break-inside:avoid}
.masonry.wp-block-gallery>figure.wp-block-image img{width:100%!important;height:auto!important;border-radius:var(--radius);transition:opacity .4s var(--ease)}
.masonry.wp-block-gallery>figure.wp-block-image:hover img{opacity:.88}
/* contacts */
.contact-cols{gap:clamp(32px,6vw,96px)!important}
.contact-block{margin:0 0 30px!important}
.contact-block h3{font:700 13px/1 var(--f-label)!important;letter-spacing:1.8px;color:var(--c-bord)!important;text-transform:uppercase;color:var(--c-muted);margin:0 0 12px!important}
.contact-block p{margin:0;font:600 1.25rem/1.5 var(--f-display);color:var(--c-sub)}
.contact-block a{color:var(--c-ink);text-decoration:none;border-bottom:1px solid var(--c-line)}
.contact-block a:hover{border-color:var(--c-ink)}
.contact-form h2{margin:0 0 22px!important}
.wpforms-container .wpforms-field-label,.wpforms-container .wpforms-field-sublabel{font:700 12px/1.3 var(--f-label)!important;letter-spacing:.6px;text-transform:uppercase;color:var(--c-muted)!important}
.wpforms-container input[type=text],.wpforms-container input[type=email],.wpforms-container input[type=number],.wpforms-container input[type=tel],.wpforms-container textarea{border:1px solid rgba(31,29,27,.2)!important;border-radius:var(--radius)!important;background:#fff!important;font:400 14px var(--f-body)!important;padding:12px 14px!important;box-shadow:none!important;max-width:100%!important}
.wpforms-container input:focus,.wpforms-container textarea:focus{border-color:var(--c-ink)!important}
.wpforms-container .wpforms-submit{background:var(--c-bord)!important;border:0!important;border-radius:30px!important;padding:14px 38px!important;font:400 15px/1.2 var(--f-label)!important;letter-spacing:0;text-transform:none;color:var(--c-btn-text)!important}
@media (max-width:1023px){.products-grid{grid-template-columns:1fr 1fr}.team{grid-template-columns:1fr 1fr}.masonry.wp-block-gallery{columns:2}}
@media (max-width:600px){.products-grid{grid-template-columns:1fr}.awards li{grid-template-columns:72px 1fr;gap:14px}.page-banner img{aspect-ratio:4/3}}

/* ==========================================================================
   MOTION
   ========================================================================== */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0s)}
.js .reveal--img{transform:none;opacity:0;transition:opacity 1.2s var(--ease);transition-delay:var(--d,0s)}
.js .reveal.is-in{opacity:1;transform:none}
.js .stagger>*{opacity:0;transform:translateY(14px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .stagger.is-in>*{opacity:1;transform:none}
.js .stagger.is-in>*:nth-child(2){transition-delay:.06s}.js .stagger.is-in>*:nth-child(3){transition-delay:.12s}.js .stagger.is-in>*:nth-child(4){transition-delay:.18s}.js .stagger.is-in>*:nth-child(5){transition-delay:.24s}.js .stagger.is-in>*:nth-child(6){transition-delay:.3s}.js .stagger.is-in>*:nth-child(7){transition-delay:.36s}.js .stagger.is-in>*:nth-child(8){transition-delay:.42s}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1023px){
  .cards{grid-template-columns:1fr 1fr}
  .cards .card:last-child{grid-column:1/-1;aspect-ratio:16/9}
}
@media (max-width:781px){
  :root{--hdr-h:64px}
  .site-header .wp-block-site-logo img{width:112px}
  .site-header__nav{order:3}.site-header__actions{margin-left:auto}
  .collage{margin:0 auto 16px}
  .dishes{grid-template-columns:1fr}
  .cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter);scrollbar-width:none}
  .cards::-webkit-scrollbar{display:none}
  .cards .card,.cards .card:last-child{flex:0 0 76%;scroll-snap-align:start;aspect-ratio:4/5}
}
@media (max-width:600px){:root{--admin:0px}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js .reveal,.js .reveal--img,.js .stagger>*{opacity:1;transform:none}
}

/* ==========================================================================
   v3 — testi e immagini originali
   ========================================================================== */
/* footer (struttura del sito originale: logo, menu, legali, copyright) */
.site-footer{text-align:center}
.site-footer__logo{margin:0 auto 26px!important}
.site-footer__logo img{width:150px;height:auto}
.site-footer__nav{margin:0 auto 26px!important;font:700 13px/1 var(--f-label);letter-spacing:.6px;text-transform:uppercase;color:#acafad}
.site-footer__nav .wp-block-navigation__container{gap:clamp(16px,2.4vw,34px)!important;justify-content:center}
.site-footer__nav .wp-block-navigation-item__content{color:#acafad!important;opacity:1!important}
.site-footer__nav .wp-block-navigation-item__content:hover{color:#f9f9f9!important}
.site-footer__nav .wp-block-navigation__submenu-container{top:auto!important;bottom:100%;background:var(--c-carbone)!important;border:0!important;padding:8px 0!important;text-align:left}
.site-footer__nav .wp-block-navigation__submenu-icon{color:#acafad}
.site-footer p{margin:0 auto 10px!important;font-size:13px;color:#acafad}
.site-footer__legal{padding-top:22px;border-top:1px solid rgba(255,255,255,.12);max-width:760px}
.site-footer__copy{line-height:1.7}
.site-footer__credit{font-size:12px!important;opacity:.8;margin-top:14px!important}

/* home — chi siamo */
.chisiamo__text{font-size:14.5px;line-height:1.85!important;color:var(--c-text);max-width:60ch}
.chisiamo__media{position:relative;max-width:520px;aspect-ratio:1/1.08;margin:0}
.chisiamo__media img{display:block;border-radius:var(--radius)}
.chisiamo__a{position:absolute;left:0;top:0;width:76%;aspect-ratio:1;object-fit:cover}
.chisiamo__b{position:absolute;right:0;bottom:0;width:56%;aspect-ratio:565/620;object-fit:cover;box-shadow:0 0 0 10px #fff}
.chisiamo__sketch{position:absolute;right:-6%;top:-4%;width:42%;height:auto;opacity:.5;z-index:-1}
.chisiamo__cols>.wp-block-column:first-child{position:relative;z-index:0}

/* home — schizzo decorativo nelle categorie */
.menu .section-head{position:relative}
.section-sketch{position:absolute;right:4%;top:-10px;width:120px;height:auto;opacity:.55;pointer-events:none}

/* CTA — tre foto in dissolvenza come nell'originale */
.cta__bg img{position:absolute;inset:0;opacity:0;animation:ctafade 18s infinite}
.cta__bg img:nth-child(1){animation-delay:0s}
.cta__bg img:nth-child(2){animation-delay:6s}
.cta__bg img:nth-child(3){animation-delay:12s}
@keyframes ctafade{0%{opacity:0}6%{opacity:1}33%{opacity:1}40%{opacity:0}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.cta__bg img{animation:none}.cta__bg img:first-child{opacity:1}}

/* pagine interne — copertina con titolo, come nell'originale */
.page-cover{position:relative;height:clamp(240px,34vw,400px);display:grid;place-items:center;overflow:hidden;margin:0!important;isolation:isolate}
.page-cover__img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;z-index:-2;animation:kb 14s linear forwards}
.page-cover::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(20,16,14,.42)}
.page-cover__title{margin:0!important;color:#fff!important;font:700 clamp(2.4rem,5vw,4.2rem)/1.05 var(--f-title)!important;text-align:center;padding:0 var(--gutter);animation:rise 1.2s var(--ease) both}

/* pagine interne — righe testo/immagini */
.about h2{margin:0 0 22px!important}
.about h3{font:700 13px/1.3 var(--f-label)!important;letter-spacing:1.8px;text-transform:uppercase;color:var(--c-bord)!important;margin:0 0 14px!important}
.about p{font-size:14.5px;line-height:1.85;max-width:none}
.about>*+*{margin-top:clamp(28px,3.5vw,48px)!important}
.row{display:grid!important;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:center}
.row__col>*:first-child{margin-top:0!important}
.row__col>*:last-child{margin-bottom:0!important}
.portrait{margin:0;max-width:360px}
.row--rev .portrait{margin-left:auto}
.portrait img,.solo img,.map img{display:block;width:100%;height:auto;border-radius:var(--radius)}
.map{margin:0;max-width:380px}
.wide{margin:0}
.wide img{display:block;width:100%;height:auto;border-radius:var(--radius)}
.duo{display:grid;grid-template-columns:1.12fr 1fr;gap:14px;align-items:end;margin:0}
.duo img{display:block;width:100%;height:auto;aspect-ratio:452/410;object-fit:cover;border-radius:var(--radius)}
.duo__b{margin-bottom:-28px}

/* premi */
.premi__head{text-align:center;margin-bottom:clamp(36px,4vw,56px)!important}
.premi__logo{display:block;width:min(420px,78vw);height:auto;margin:6px auto 0}
.award-grid{list-style:none;margin:0 auto!important;padding:0!important;max-width:1080px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.award-grid li{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;min-height:150px;padding:26px 18px;background:#fff;border:1px solid rgba(127,36,42,.35);outline:1px solid rgba(127,36,42,.18);outline-offset:-7px}
.award-grid__y{font:700 2rem/1 var(--f-title);color:var(--c-bord)}
.award-grid__t{font:400 14px/1.5 var(--f-body);color:var(--c-sub);max-width:26ch}
.award-grid .star{display:block;color:var(--c-bord);font-size:1.3rem;line-height:1;margin:-2px 0 8px}

/* team */
.team{grid-template-columns:repeat(4,minmax(0,1fr))}
.team__m{margin:0;text-align:center}
.team__m img{width:min(220px,100%);aspect-ratio:1;object-fit:cover;border-radius:50%;display:block;margin:0 auto 18px}
.team__m .eyebrow{margin:0 0 8px!important;font-size:12px!important}
.team__name{margin:0!important;font:700 clamp(1.5rem,2vw,1.9rem)/1.15 var(--f-title)!important;color:var(--c-ink)!important}

/* contatti */
.row--contact{align-items:start}
.contact-info__logo{width:150px;height:auto;display:block;margin:0 0 22px}
.contact-info p{font-size:14.5px;line-height:1.9;margin:0 0 18px;color:var(--c-text)}
.contact-info a{color:inherit;text-decoration:none;border-bottom:1px solid var(--c-line)}
.contact-info a:hover{border-color:var(--c-ink)}
.contact-info__social{display:flex;gap:22px}
.contact-info__social a{font:700 12px/1 var(--f-label);letter-spacing:1.8px;text-transform:uppercase;color:var(--c-bord);border:0}
.contact-map{margin-top:clamp(28px,3vw,40px)}
.contact-map iframe{display:block;width:100%;height:340px;border:0;border-radius:var(--radius);filter:grayscale(.35)}

/* scheda prodotto — descrizione breve completa, come nell'originale */
.sp__desc{margin-top:28px!important;font-size:14px;line-height:1.85;color:var(--c-text)}
.sp__desc p{margin:0 0 14px}
.sp__desc .section,.sp__desc .layoutArea,.sp__desc .column{all:unset;display:block}

@media (max-width:781px){
  .row{grid-template-columns:1fr}
  .row--rev>.row__col:first-child{order:2}
  .portrait,.map{max-width:300px;margin-inline:auto!important}
  .duo__b{margin-bottom:0}
  .award-grid{grid-template-columns:1fr 1fr}
  .team{grid-template-columns:1fr 1fr;row-gap:40px}
  .chisiamo__media{margin-inline:auto}
  .section-sketch{display:none}
}
@media (max-width:480px){.award-grid{grid-template-columns:1fr}}

/* HERO — animazione (Ken Burns marcato con direzioni diverse per foto, logo che si svela, parallasse allo scroll) */
.hero__slide{transition:opacity 1.6s var(--ease-io)}
.hero__slide img{transform:scale(1.12);transform-origin:center}
.hero__slide.is-active img{animation:kb1 7.5s cubic-bezier(.33,0,.2,1) forwards}
.hero__slide:nth-child(2).is-active img{animation-name:kb2}
.hero__slide:nth-child(3).is-active img{animation-name:kb3}
@keyframes kb1{from{transform:scale(1.2) translate3d(-2.5%,1.5%,0)}to{transform:scale(1.04) translate3d(1%,0,0)}}
@keyframes kb2{from{transform:scale(1.03) translate3d(2%,0,0)}to{transform:scale(1.18) translate3d(-2%,-1.5%,0)}}
@keyframes kb3{from{transform:scale(1.18) translate3d(1.5%,-2%,0)}to{transform:scale(1.03) translate3d(-1%,1%,0)}}
.hero__content{will-change:transform,opacity}
.hero__logo{position:relative;padding-bottom:26px}
.hero__logo img{animation:logoIn 2.4s cubic-bezier(.2,.7,.2,1) .2s both}
.hero__logo::after{content:"";position:absolute;left:50%;bottom:0;width:72px;height:1px;background:rgba(255,255,255,.75);transform:translateX(-50%) scaleX(0);animation:lineIn 1.4s var(--ease) 1.6s forwards}
@keyframes logoIn{0%{opacity:0;transform:scale(1.14);filter:brightness(0) invert(1) blur(14px)}60%{opacity:1}100%{opacity:1;transform:scale(1);filter:brightness(0) invert(1) blur(0)}}
@keyframes lineIn{to{transform:translateX(-50%) scaleX(1)}}
.hero__content>*{animation:none}
.hero__scroll{position:absolute;z-index:3;left:50%;bottom:64px;width:1px;height:46px;background:rgba(255,255,255,.25);overflow:hidden;transform:translateX(-50%);opacity:0;animation:fadein 1s var(--ease) 2.4s forwards}
@keyframes fadein{to{opacity:1}}
.hero__scroll::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:#fff;animation:scrollcue 2.2s cubic-bezier(.6,0,.3,1) 3s infinite}
@keyframes scrollcue{0%{top:-40%}100%{top:100%}}
@media (prefers-reduced-motion:reduce){.hero__slide.is-active img,.hero__logo img,.hero__logo::after,.hero__scroll::after{animation:none!important}.hero__logo::after{transform:translateX(-50%) scaleX(1)}}
/* fullbleed */
.wp-block-post-content.has-global-padding>.alignfull{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important}
/* end fullbleed */
/* v4-old-structure */
/* copertina come l'originale: Romana 500 grande, bianco con ombra morbida */
.page-cover{height:clamp(260px,25vw,380px)}
.page-cover::before{background:rgba(20,16,14,.18)}
.page-cover__title{font:500 clamp(3.2rem,6.8vw,6.4rem)/1 var(--f-title)!important;text-shadow:0 0 34px rgba(0,0,0,.85)}
/* chi siamo: tipografia del vecchio sito */
.about h2{font:700 30px/1.15 var(--f-title)!important;color:var(--c-bord)!important;text-align:center;margin:0 0 26px!important}
.about h2.about__lead{font:500 clamp(2.4rem,4vw,3.6rem)/1.05 var(--f-display)!important;color:var(--c-ink)!important;text-align:left}
.about h3{font:700 20px/1.2 var(--f-title)!important;letter-spacing:0;text-transform:none;color:var(--c-bord)!important;margin:0 0 14px!important}
.about p{font-size:16px;line-height:1.64;text-align:justify;hyphens:auto;color:var(--c-text)}
.about .portrait img,.about .wide img,.about .duo img,.about .map img{border-radius:22px}
.about .map img{border-radius:0}
.about .duo__b{margin-bottom:0}
.about .duo{align-items:center}
/* gallery: griglia quadrata 5 colonne come l'originale */
.gallery-grid.wp-block-gallery{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px!important}
.gallery-grid.wp-block-gallery>figure.wp-block-image{width:100%!important;margin:0!important}
.gallery-grid.wp-block-gallery>figure.wp-block-image img{width:100%!important;height:100%!important;aspect-ratio:1;object-fit:cover;border-radius:12px;transition:transform .6s var(--ease),opacity .4s}
.gallery-grid.wp-block-gallery>figure.wp-block-image:hover img{opacity:.9}
.gallery .wp-block-group,.gallery{max-width:none}
/* team: impaginazione dell'originale */
.team2{position:relative;max-width:900px;margin:0 auto}
.team2__row{display:flex;align-items:center;justify-content:center;gap:clamp(24px,4vw,56px);margin:0 0 clamp(36px,5vw,70px)}
.team2__img{width:clamp(200px,20vw,300px);height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%;display:block}
.team2__txt .eyebrow{margin:0 0 10px!important}
.team2__name{margin:0!important;font:500 clamp(2.4rem,3.8vw,3.55rem)/1 var(--f-display)!important;color:var(--c-sub)!important;text-align:inherit}
.team2__txt.is-right{text-align:right}
.team2__txt.is-center{text-align:center;margin-top:20px}
.team2__pair{display:flex;justify-content:center;gap:clamp(24px,6vw,90px)}
.team2__m{margin:0;display:flex;flex-direction:column;align-items:center}
.team2__wm{position:absolute;left:-14%;bottom:12%;width:245px;height:auto;opacity:.1;pointer-events:none}
.team2__sketch{position:absolute;right:-12%;top:2%;width:200px;height:auto;opacity:.6;pointer-events:none}
@media (max-width:1023px){.gallery-grid.wp-block-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px!important}.team2__wm,.team2__sketch{display:none}}
@media (max-width:600px){.gallery-grid.wp-block-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.team2__row,.team2__row--rev{flex-direction:column;text-align:center}.team2__row--rev{flex-direction:column-reverse}.team2__txt.is-right{text-align:center}.team2__pair{flex-direction:column;align-items:center;gap:40px}.about p{text-align:left}}
/* end v4-old-structure */
/* v4-fix */
.hero__slides{position:absolute;inset:0;z-index:0;will-change:transform}
.about>.duo{max-width:960px;margin-left:auto!important;margin-right:auto!important}
.award-grid{max-width:860px}
.award-grid li{min-height:118px;padding:20px 14px}
/* end v4-fix */
