/* GLAM V297 · TRADIZIONI E FESTE POPOLARI */
:root{
  --gt297-cream:#fffdf7;
  --gt297-sand:#f7f1e5;
  --gt297-green:#214530;
  --gt297-green-dark:#173824;
  --gt297-gold:#b98942;
  --gt297-ink:#17261d;
  --gt297-muted:#667169;
  --gt297-white:#fff;
}
.gt297-page{overflow:hidden;background:var(--gt297-cream);color:var(--gt297-ink)}
.gt297-wrap{width:min(1180px,calc(100% - 36px));margin:0 auto}
.gt297-kicker{display:block;margin:0 0 13px;color:var(--gt297-gold);font-size:.72rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}
.gt297-hero{position:relative;display:grid;grid-template-columns:1.02fr .98fr;gap:38px;min-height:760px;padding:76px clamp(20px,5vw,76px) 86px;align-items:center;overflow:hidden;background:radial-gradient(circle at 6% 14%,rgba(185,137,66,.18),transparent 30%),radial-gradient(circle at 92% 80%,rgba(33,69,48,.16),transparent 34%),linear-gradient(130deg,#fffaf0 0%,#f8f0e1 50%,#edf4ed 100%)}
.gt297-hero::after{content:"";position:absolute;left:-8%;right:-8%;bottom:-190px;height:320px;border-radius:50%;background:rgba(255,255,255,.52);filter:blur(18px)}
.gt297-hero-copy{position:relative;z-index:3;max-width:720px}
.gt297-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:34px;color:#788079;font-size:.78rem;font-weight:800}
.gt297-breadcrumb a{color:#506057;text-decoration:none}
.gt297-hero h1{margin:0;max-width:760px;color:var(--gt297-ink);font-size:clamp(3.25rem,7.2vw,7rem);line-height:.91;letter-spacing:-.07em}
.gt297-hero h1 span{display:block;color:var(--gt297-green)}
.gt297-lead{max-width:665px;margin:27px 0 0;color:#425046;font-size:clamp(1.04rem,1.7vw,1.34rem);line-height:1.63}
.gt297-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:28px}
.gt297-btn{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:0 21px;border-radius:14px;border:1px solid rgba(33,69,48,.14);text-decoration:none;font-size:.87rem;font-weight:950}
.gt297-btn.primary{background:var(--gt297-green);color:#fff;box-shadow:0 16px 38px rgba(33,69,48,.20)}
.gt297-btn.secondary{background:#fff;color:var(--gt297-green)}
.gt297-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}
.gt297-meta span{display:inline-flex;min-height:32px;align-items:center;padding:0 11px;border-radius:9px;background:rgba(255,255,255,.72);border:1px solid rgba(33,69,48,.08);color:#506057;font-size:.68rem;font-weight:900;letter-spacing:.04em}
.gt297-hero-photos{position:relative;z-index:2;min-height:610px}
.gt297-hero-photos figure{position:absolute;margin:0;overflow:hidden;background:#ddd;box-shadow:0 28px 72px rgba(23,38,29,.18)}
.gt297-hero-photos img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .6s ease}
.gt297-hero-photos figure:hover img{transform:scale(1.035)}
.gt297-photo-main{inset:0 20px 80px 68px;border-radius:34px}
.gt297-photo-sea{left:0;bottom:8px;width:47%;height:255px;border:9px solid var(--gt297-cream);border-radius:25px}
.gt297-photo-dance{right:0;bottom:0;width:34%;height:315px;border:9px solid var(--gt297-cream);border-radius:25px}
.gt297-floating-note{position:absolute;top:28px;left:26px;z-index:4;max-width:245px;padding:18px 19px;border-radius:18px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.78);box-shadow:0 17px 44px rgba(23,38,29,.14);backdrop-filter:blur(12px)}
.gt297-floating-note small{display:block;color:var(--gt297-gold);font-size:.62rem;font-weight:950;letter-spacing:.15em}
.gt297-floating-note strong{display:block;margin-top:7px;color:var(--gt297-green);font-size:1.06rem}
.gt297-floating-note span{display:block;margin-top:5px;color:#657068;font-size:.82rem;line-height:1.45}
.gt297-intro{padding:110px 0;background:#fff}
.gt297-big-title{max-width:1000px;margin:0;color:var(--gt297-ink);font-size:clamp(2.5rem,5.5vw,5.45rem);line-height:.98;letter-spacing:-.057em}
.gt297-big-title strong{color:var(--gt297-green)}
.gt297-intro-text{max-width:780px;margin:27px 0 0;color:#536058;font-size:1.13rem;line-height:1.77}
.gt297-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:44px}
.gt297-value{min-height:165px;padding:23px;border-radius:20px;background:var(--gt297-sand);border:1px solid rgba(33,69,48,.07)}
.gt297-value b{display:block;color:var(--gt297-gold);font-size:.68rem;letter-spacing:.13em}
.gt297-value strong{display:block;margin:18px 0 7px;color:var(--gt297-green);font-size:1.08rem}
.gt297-value p{margin:0;color:#657068;font-size:.86rem;line-height:1.53}
.gt297-calendar{padding:100px 0;background:linear-gradient(180deg,#f7f2e8,#fffdf7)}
.gt297-section-head{display:grid;grid-template-columns:1.08fr .92fr;gap:42px;align-items:end;margin-bottom:35px}
.gt297-section-head h2{margin:0;color:var(--gt297-ink);font-size:clamp(2.35rem,4.8vw,4.55rem);line-height:.99;letter-spacing:-.052em}
.gt297-section-head p{margin:0;color:#5d6861;font-size:1rem;line-height:1.68}
.gt297-calendar-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.gt297-calendar-card{display:flex;min-height:235px;flex-direction:column;padding:22px;border-radius:20px;background:#fff;border:1px solid rgba(23,38,29,.09);box-shadow:0 13px 32px rgba(23,38,29,.055)}
.gt297-calendar-card span{color:var(--gt297-gold);font-size:.65rem;font-weight:950;letter-spacing:.13em;text-transform:uppercase}
.gt297-calendar-card strong{display:block;margin:19px 0 9px;color:var(--gt297-green);font-size:1.08rem;line-height:1.16}
.gt297-calendar-card p{margin:0;color:#667169;font-size:.84rem;line-height:1.52}
.gt297-calendar-card em{display:block;margin-top:auto;padding-top:15px;border-top:1px solid rgba(33,69,48,.10);color:#405047;font-size:.72rem;font-style:normal;font-weight:900}
.gt297-feature{padding:105px 0;background:#fff}
.gt297-feature.alt{background:#f8f4eb}
.gt297-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}
.gt297-feature-grid.reverse .gt297-feature-copy{order:2}
.gt297-feature-grid.reverse .gt297-feature-media{order:1}
.gt297-feature-copy h2{margin:0;color:var(--gt297-ink);font-size:clamp(2.5rem,5vw,4.8rem);line-height:.97;letter-spacing:-.055em}
.gt297-feature-copy h2 em{display:block;color:var(--gt297-green);font-style:normal}
.gt297-feature-copy .lead{margin:23px 0 0;color:#526057;font-size:1.08rem;line-height:1.75}
.gt297-feature-list{display:grid;gap:12px;margin-top:26px}
.gt297-feature-list article{display:grid;grid-template-columns:44px 1fr;gap:13px;padding:17px;border-radius:17px;background:#fff;border:1px solid rgba(33,69,48,.08)}
.gt297-feature.alt .gt297-feature-list article{background:rgba(255,255,255,.68)}
.gt297-feature-list b{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:var(--gt297-green);color:#fff;font-size:.72rem}
.gt297-feature-list strong{display:block;color:var(--gt297-green);font-size:.96rem}
.gt297-feature-list p{margin:4px 0 0;color:#667169;font-size:.82rem;line-height:1.48}
.gt297-feature-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}
.gt297-feature-actions a{display:inline-flex;min-height:46px;align-items:center;padding:0 16px;border-radius:12px;background:var(--gt297-green);color:#fff;text-decoration:none;font-size:.8rem;font-weight:950}
.gt297-feature-actions a.light{background:#fff;color:var(--gt297-green);border:1px solid rgba(33,69,48,.14)}
.gt297-feature-media{position:relative;min-height:620px}
.gt297-feature-media figure{position:absolute;margin:0;overflow:hidden;box-shadow:0 22px 58px rgba(23,38,29,.15)}
.gt297-feature-media img{width:100%;height:100%;display:block;object-fit:cover}
.gt297-feature-media .main{inset:0 35px 80px 0;border-radius:28px}
.gt297-feature-media .small{right:0;bottom:0;width:44%;height:270px;border:9px solid #fff;border-radius:22px}
.gt297-feature.alt .gt297-feature-media .small{border-color:#f8f4eb}
.gt297-pizzica{padding:105px 0;background:var(--gt297-green);color:#fff}
.gt297-pizzica .gt297-kicker{color:#efd09b}
.gt297-pizzica-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
.gt297-pizzica-copy h2{margin:0;color:#fff;font-size:clamp(2.55rem,5vw,4.8rem);line-height:.97;letter-spacing:-.055em}
.gt297-pizzica-copy p{margin:22px 0 0;color:rgba(255,255,255,.82);font-size:1.04rem;line-height:1.72}
.gt297-pizzica-copy a{display:inline-flex;min-height:46px;align-items:center;margin-top:24px;padding:0 16px;border-radius:12px;background:#fff;color:var(--gt297-green);text-decoration:none;font-size:.8rem;font-weight:950}
.gt297-pizzica-collage{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:250px 250px;gap:12px}
.gt297-pizzica-collage figure{margin:0;overflow:hidden;border-radius:20px;background:#ddd}
.gt297-pizzica-collage figure:first-child{grid-row:1/3}
.gt297-pizzica-collage img{width:100%;height:100%;display:block;object-fit:cover}
.gt297-food{padding:105px 0;background:#fff}
.gt297-food-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.gt297-food-card{overflow:hidden;border-radius:22px;background:#fff;border:1px solid rgba(23,38,29,.09);box-shadow:0 15px 36px rgba(23,38,29,.07)}
.gt297-food-card figure{height:235px;margin:0;overflow:hidden}
.gt297-food-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s ease}
.gt297-food-card:hover img{transform:scale(1.04)}
.gt297-food-card div{padding:20px}
.gt297-food-card span{color:var(--gt297-gold);font-size:.64rem;font-weight:950;letter-spacing:.13em;text-transform:uppercase}
.gt297-food-card strong{display:block;margin:10px 0 6px;color:var(--gt297-green);font-size:1.08rem}
.gt297-food-card p{margin:0;color:#667169;font-size:.83rem;line-height:1.5}
.gt297-gallery{padding:105px 0;background:#f7f2e8}
.gt297-gallery-toolbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:35px 0 24px}
.gt297-gallery-toolbar button{min-height:48px;padding:0 13px;border:1px solid rgba(33,69,48,.12);border-radius:12px;background:#fff;color:var(--gt297-green);font:900 .78rem/1.1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}
.gt297-gallery-toolbar button.is-active{background:var(--gt297-green);color:#fff;border-color:var(--gt297-green)}
.gt297-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:245px;gap:12px}
.gt297-gallery-item{position:relative;overflow:hidden;border:0;padding:0;border-radius:19px;background:#ddd;cursor:pointer;box-shadow:0 13px 34px rgba(23,38,29,.08)}
.gt297-gallery-item.is-wide{grid-column:span 2}
.gt297-gallery-item.is-tall{grid-row:span 2}
.gt297-gallery-item[hidden]{display:none!important}
.gt297-gallery-item img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s ease}
.gt297-gallery-item:hover img{transform:scale(1.045)}
.gt297-gallery-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(8,18,13,.64) 100%)}
.gt297-gallery-caption{position:absolute;left:16px;right:16px;bottom:15px;z-index:2;color:#fff;text-align:left}
.gt297-gallery-caption small{display:block;margin-bottom:5px;color:#efd09b;font-size:.6rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
.gt297-gallery-caption strong{display:block;color:#fff;font-size:.98rem;line-height:1.18}
.gt297-lightbox{position:fixed;inset:0;z-index:99999;display:none;place-items:center;padding:30px;background:rgba(5,12,8,.93)}
.gt297-lightbox.is-open{display:grid}
.gt297-lightbox figure{width:min(1180px,88vw);max-height:86vh;margin:0}
.gt297-lightbox img{width:100%;max-height:76vh;display:block;object-fit:contain;border-radius:18px}
.gt297-lightbox figcaption{padding-top:13px;color:#fff;text-align:center}
.gt297-lightbox figcaption strong{display:block;font-size:1rem}
.gt297-lightbox figcaption span{display:block;margin-top:4px;color:rgba(255,255,255,.72);font-size:.82rem}
.gt297-lightbox button{position:absolute;display:grid;place-items:center;border:1px solid rgba(255,255,255,.20);border-radius:13px;background:rgba(255,255,255,.10);color:#fff;cursor:pointer}
.gt297-lightbox-close{top:20px;right:20px;width:46px;height:46px;font-size:1.8rem}
.gt297-lightbox-prev,.gt297-lightbox-next{top:50%;width:50px;height:62px;transform:translateY(-50%);font-size:2rem}
.gt297-lightbox-prev{left:18px}.gt297-lightbox-next{right:18px}
.gt297-practical{padding:105px 0;background:#fff}
.gt297-practical-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.gt297-practical-card{padding:23px;border-radius:20px;background:var(--gt297-sand);border:1px solid rgba(33,69,48,.07)}
.gt297-practical-card b{display:block;color:var(--gt297-gold);font-size:.7rem;letter-spacing:.13em}
.gt297-practical-card strong{display:block;margin:17px 0 7px;color:var(--gt297-green);font-size:1.02rem}
.gt297-practical-card p{margin:0;color:#647068;font-size:.83rem;line-height:1.5}
.gt297-source-note{margin-top:22px;padding:17px 19px;border-left:4px solid var(--gt297-gold);background:#fbf8f0;color:#626d65;font-size:.82rem;line-height:1.55}
.gt297-source-note a{color:var(--gt297-green);font-weight:900}
.gt297-final{padding:90px 0;background:var(--gt297-green);color:#fff}
.gt297-final-inner{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center}
.gt297-final h2{margin:0;max-width:850px;color:#fff;font-size:clamp(2.3rem,4.8vw,4.5rem);line-height:.98;letter-spacing:-.052em}
.gt297-final p{max-width:700px;margin:18px 0 0;color:rgba(255,255,255,.78);line-height:1.65}
.gt297-final-actions{display:grid;gap:10px}
.gt297-final-actions a{display:flex;min-height:50px;align-items:center;justify-content:center;padding:0 20px;border-radius:13px;background:#fff;color:var(--gt297-green);text-decoration:none;font-size:.84rem;font-weight:950}
.gt297-final-actions a.alt{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.28)}
.gt297-faq{padding:100px 0;background:#f7f2e8}
.gt297-faq-list{display:grid;gap:10px;margin-top:32px}
.gt297-faq details{padding:19px 20px;border-radius:17px;background:#fff;border:1px solid rgba(23,38,29,.08)}
.gt297-faq summary{color:var(--gt297-green);font-weight:950;cursor:pointer}
.gt297-faq details p{margin:13px 0 0;color:#657068;line-height:1.65}
.gt297-reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.gt297-reveal.is-visible{opacity:1;transform:none}
.gt297-gallery-caption *,.gt297-final *,.gt297-pizzica *{-webkit-text-fill-color:currentColor}
@media(max-width:1100px){
  .gt297-calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gt297-food-grid,.gt297-practical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gt297-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .gt297-hero{grid-template-columns:1fr;min-height:auto;padding-top:55px}
  .gt297-hero-photos{min-height:580px}
  .gt297-section-head,.gt297-feature-grid,.gt297-pizzica-grid,.gt297-final-inner{grid-template-columns:1fr}
  .gt297-feature-grid.reverse .gt297-feature-copy,.gt297-feature-grid.reverse .gt297-feature-media{order:initial}
  .gt297-values{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gt297-gallery-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gt297-final-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .gt297-wrap{width:min(100% - 24px,1180px)}
  .gt297-hero{padding:42px 16px 64px}
  .gt297-hero h1{font-size:clamp(3rem,16vw,5rem)}
  .gt297-hero-photos{min-height:480px}
  .gt297-photo-main{inset:0 10px 82px 34px;border-radius:25px}
  .gt297-photo-sea{width:55%;height:195px;border-width:7px}
  .gt297-photo-dance{width:39%;height:235px;border-width:7px}
  .gt297-floating-note{top:16px;left:12px;max-width:200px;padding:14px}
  .gt297-intro,.gt297-calendar,.gt297-feature,.gt297-pizzica,.gt297-food,.gt297-gallery,.gt297-practical,.gt297-faq{padding:76px 0}
  .gt297-values,.gt297-calendar-grid,.gt297-food-grid,.gt297-practical-grid,.gt297-gallery-grid{grid-template-columns:1fr}
  .gt297-calendar-card{min-height:auto}
  .gt297-feature-media{min-height:490px}
  .gt297-feature-media .main{inset:0 24px 72px 0}
  .gt297-feature-media .small{width:49%;height:205px;border-width:7px}
  .gt297-pizzica-collage{grid-template-columns:1fr 1fr;grid-template-rows:285px 180px}
  .gt297-pizzica-collage figure:first-child{grid-column:1/3;grid-row:auto}
  .gt297-gallery-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gt297-gallery-grid{grid-auto-rows:290px}
  .gt297-gallery-item.is-wide,.gt297-gallery-item.is-tall{grid-column:span 1;grid-row:span 1}
  .gt297-lightbox{padding:18px}
  .gt297-lightbox figure{width:94vw}
  .gt297-lightbox-prev,.gt297-lightbox-next{top:auto;bottom:18px;width:46px;height:48px;transform:none}
  .gt297-final-actions{grid-template-columns:1fr}
}