/* ═══════════════════════════════════════════════════════
   BEI MOSTRI — Main Stylesheet
   WordPress Theme — Sartoria Creativa Made in Italy
   ═══════════════════════════════════════════════════════ */

/* ─── CSS Variables ─── */
:root {
  --color-black: #0a0a0a;
  --color-black-soft: #111111;
  --color-dark: #1a1a1a;
  --color-dark-soft: #222222;
  --color-silver: #c0c0c0;
  --color-silver-light: #d4d4d4;
  --color-silver-dark: #8a8a8a;
  --color-white: #f5f5f5;
  --color-white-pure: #ffffff;
  --color-accent: #e8e8e8;
  --font-display: 'Playfair Display', 'Georgia', serif;
  --font-body: 'Inter', 'Helvetica Neue', sans-serif;
  --font-elegant: 'Cormorant Garamond', 'Georgia', serif;
  --section-padding: clamp(80px, 10vw, 160px);
  --container-max: 1400px;
  --container-padding: clamp(20px, 4vw, 60px);
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --transition-smooth: 0.6s var(--ease-out-expo);
  --transition-fast: 0.3s var(--ease-out-quart);
}

/* ─── Reset ─── */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { font-size: 16px; scroll-behavior: smooth; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { font-family: var(--font-body); background-color: var(--color-black); color: var(--color-white); line-height: 1.6; overflow-x: hidden; }
a { text-decoration: none; color: inherit; }
ul, ol { list-style: none; }
img { max-width: 100%; display: block; }
button { border: none; background: none; cursor: pointer; font-family: inherit; color: inherit; }

::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--color-black); }
::-webkit-scrollbar-thumb { background: var(--color-silver-dark); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--color-silver); }
::selection { background: var(--color-silver); color: var(--color-black); }

.container { max-width: var(--container-max); margin: 0 auto; padding: 0 var(--container-padding); }

/* ─── Site wrapper ─── */
.site { opacity: 0; transition: opacity 1s var(--ease-out-expo); }
.site--visible { opacity: 1; }

/* ═══════════════════════════════════════════════════════
   LOADER
   ═══════════════════════════════════════════════════════ */
.loader { position: fixed; inset: 0; z-index: 10000; background: var(--color-black); display: flex; align-items: center; justify-content: center; transition: opacity 0.8s var(--ease-out-expo), visibility 0.8s; }
.loader--hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.loader__content { text-align: center; position: relative; }

.loader__line { height: 1px; background: linear-gradient(90deg, transparent, var(--color-silver), transparent); margin: 16px auto; width: 300px; transform: scaleX(0); animation: loaderLineIn 1.2s var(--ease-out-expo) forwards; }
.loader__line--top { animation-delay: 0.2s; }
.loader__line--bottom { animation-delay: 0.8s; }

@keyframes loaderLineIn { to { transform: scaleX(1); } }

.loader__text-wrapper { overflow: hidden; display: flex; align-items: baseline; justify-content: center; gap: 16px; }

.loader__text-bei {
  font-family: var(--font-display); font-size: clamp(3rem, 8vw, 6rem); font-weight: 300;
  color: var(--color-white); letter-spacing: 0.05em;
  transform: translateY(100%); animation: loaderTextIn 0.8s var(--ease-out-expo) 0.4s forwards;
}
.loader__text-mostri {
  font-family: var(--font-display); font-size: clamp(3rem, 8vw, 6rem); font-weight: 700;
  font-style: italic; color: var(--color-silver); letter-spacing: 0.02em;
  transform: translateY(100%); animation: loaderTextIn 0.8s var(--ease-out-expo) 0.6s forwards;
}

@keyframes loaderTextIn { to { transform: translateY(0); } }

.loader__subtitle {
  font-family: var(--font-elegant); font-size: 1.1rem; color: var(--color-silver-dark);
  letter-spacing: 0.3em; text-transform: uppercase; margin-top: 8px;
  opacity: 0; animation: loaderFade 0.6s ease 1.2s forwards;
}

@keyframes loaderFade { to { opacity: 1; } }

.loader__progress {
  position: absolute; bottom: -40px; left: 50%; transform: translateX(-50%) scaleX(0);
  width: 100px; height: 1px; background: var(--color-silver);
  transform-origin: left; animation: loaderProgress 2.2s linear 0.5s forwards;
}

@keyframes loaderProgress { to { transform: translateX(-50%) scaleX(1); } }

/* ═══════════════════════════════════════════════════════
   NAVBAR
   ═══════════════════════════════════════════════════════ */
.navbar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  padding: 24px 0; transition: all 0.5s var(--ease-out-expo);
  transform: translateY(-100%);
}
.navbar--visible { transform: translateY(0); }
.navbar--scrolled { padding: 14px 0; background: rgba(10,10,10,0.85); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-bottom: 1px solid rgba(192,192,192,0.08); }
.navbar__inner { display: flex; align-items: center; justify-content: space-between; }
.navbar__logo { display: flex; align-items: baseline; gap: 8px; z-index: 1001; }
.navbar__logo-bei { font-family: var(--font-display); font-size: 1.6rem; font-weight: 300; color: var(--color-white); letter-spacing: 0.05em; }
.navbar__logo-mostri { font-family: var(--font-display); font-size: 1.6rem; font-weight: 700; font-style: italic; color: var(--color-silver); letter-spacing: 0.02em; }

.navbar__links { display: flex; gap: 40px; }
.navbar__link { font-family: var(--font-body); font-size: 0.85rem; font-weight: 400; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-silver-dark); transition: color var(--transition-fast); position: relative; }
.navbar__link::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 1px; background: var(--color-silver); transition: width var(--transition-fast); }
.navbar__link:hover { color: var(--color-white); }
.navbar__link:hover::after { width: 100%; }

.navbar__burger { display: none; flex-direction: column; gap: 6px; padding: 8px; z-index: 1001; }
.navbar__burger span { display: block; width: 28px; height: 1.5px; background: var(--color-white); transition: all var(--transition-fast); transform-origin: center; }
.navbar__burger--active span:first-child { transform: rotate(45deg) translate(2.5px, 2.5px); }
.navbar__burger--active span:last-child { transform: rotate(-45deg) translate(2.5px, -2.5px); }

/* Mobile Menu */
.mobile-menu { position: fixed; inset: 0; z-index: 999; background: var(--color-black); display: flex; flex-direction: column; justify-content: center; padding: 0 var(--container-padding); clip-path: circle(0% at calc(100% - 40px) 40px); transition: clip-path 0.8s var(--ease-out-expo); }
.mobile-menu--open { clip-path: circle(150% at calc(100% - 40px) 40px); }
.mobile-menu__nav { display: flex; flex-direction: column; gap: 24px; }
.mobile-menu__link { display: flex; align-items: baseline; gap: 20px; padding: 12px 0; border-bottom: 1px solid rgba(192,192,192,0.1); transition: all var(--transition-fast); opacity: 0; transform: translateY(40px); }
.mobile-menu--open .mobile-menu__link { opacity: 1; transform: translateY(0); }
.mobile-menu--open .mobile-menu__link:nth-child(1) { transition-delay: 0.1s; }
.mobile-menu--open .mobile-menu__link:nth-child(2) { transition-delay: 0.2s; }
.mobile-menu--open .mobile-menu__link:nth-child(3) { transition-delay: 0.3s; }
.mobile-menu--open .mobile-menu__link:nth-child(4) { transition-delay: 0.4s; }
.mobile-menu__link:hover { padding-left: 16px; border-bottom-color: var(--color-silver); }
.mobile-menu__link-number { font-family: var(--font-body); font-size: 0.75rem; color: var(--color-silver-dark); letter-spacing: 0.1em; }
.mobile-menu__link-text { font-family: var(--font-display); font-size: clamp(2rem, 6vw, 3.5rem); font-weight: 400; color: var(--color-white); }
.mobile-menu__footer { position: absolute; bottom: 40px; left: var(--container-padding); }
.mobile-menu__footer p { font-family: var(--font-elegant); font-size: 0.9rem; color: var(--color-silver-dark); letter-spacing: 0.2em; text-transform: uppercase; }

/* ═══════════════════════════════════════════════════════
   HERO
   ═══════════════════════════════════════════════════════ */
.hero { position: relative; min-height: 100vh; display: flex; align-items: center; overflow: hidden; }
.hero__bg { position: absolute; inset: 0; z-index: 0; }
.hero__bg-img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; filter: brightness(0.3) saturate(0); transform: scale(1.05); animation: heroZoom 20s ease-in-out infinite alternate; }
@keyframes heroZoom { from { transform: scale(1.05); } to { transform: scale(1.12); } }
.hero__bg-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,10,10,0.4) 0%, rgba(10,10,10,0.2) 40%, rgba(10,10,10,0.6) 70%, rgba(10,10,10,1) 100%); }
.hero__bg-grain { position: absolute; inset: 0; opacity: 0.04; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); background-repeat: repeat; background-size: 128px 128px; }

.hero__deco-line { position: absolute; width: 1px; opacity: 0.3; }
.hero__deco-line--left { left: var(--container-padding); top: 0; height: 0; background: linear-gradient(180deg, var(--color-silver-dark), transparent); }
.hero__deco-line--right { right: var(--container-padding); bottom: 0; height: 0; background: linear-gradient(0deg, var(--color-silver-dark), transparent); }
.hero__deco-line--left.revealed { animation: decoLineLeft 1.5s var(--ease-out-expo) forwards; }
.hero__deco-line--right.revealed { animation: decoLineRight 1.5s var(--ease-out-expo) 0.3s forwards; }
@keyframes decoLineLeft { to { height: 30vh; } }
@keyframes decoLineRight { to { height: 20vh; } }

.hero__content { position: relative; z-index: 1; width: 100%; padding-top: 120px; }
.hero__label { display: flex; align-items: center; gap: 16px; margin-bottom: 32px; }
.hero__label-line { height: 1px; width: 40px; background: var(--color-silver-dark); }
.hero__label-text { font-family: var(--font-elegant); font-size: 0.9rem; color: var(--color-silver-dark); letter-spacing: 0.2em; text-transform: uppercase; }

.hero__title-wrapper { margin-bottom: 32px; }
.hero__title-overflow { overflow: hidden; }

.hero__title { font-family: var(--font-display); font-weight: 400; line-height: 1.05; color: var(--color-white); letter-spacing: -0.02em; }
.hero__title-line1 { display: block; font-size: clamp(3rem, 9vw, 8rem); }
.hero__title-line2 { display: block; font-size: clamp(3rem, 9vw, 8rem); font-style: italic; font-weight: 700; color: var(--color-silver); position: relative; height: clamp(3.5rem, 10vw, 9rem); }

.hero__rotating-word { position: absolute; left: 0; top: 0; opacity: 0; transform: translateY(30px); transition: all 0.6s var(--ease-out-expo); }
.hero__rotating-word--active { opacity: 1; transform: translateY(0); }

.hero__subtitle { font-family: var(--font-elegant); font-size: clamp(1.1rem, 2vw, 1.4rem); color: var(--color-silver-dark); line-height: 1.8; max-width: 500px; margin-bottom: 48px; }
.hero__actions { display: flex; gap: 20px; flex-wrap: wrap; }

.hero__btn { display: inline-flex; align-items: center; gap: 10px; padding: 16px 32px; font-family: var(--font-body); font-size: 0.85rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; transition: all var(--transition-fast); position: relative; overflow: hidden; }
.hero__btn--primary { background: var(--color-white); color: var(--color-black); }
.hero__btn--primary:hover { background: var(--color-silver); transform: translateY(-2px); box-shadow: 0 10px 40px rgba(192,192,192,0.15); }
.hero__btn--secondary { border: 1px solid rgba(192,192,192,0.3); color: var(--color-white); }
.hero__btn--secondary:hover { border-color: var(--color-silver); background: rgba(192,192,192,0.05); transform: translateY(-2px); }

.hero__scroll { position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 12px; }
.hero__scroll-line { width: 1px; height: 60px; background: linear-gradient(180deg, transparent, var(--color-silver-dark)); animation: scrollPulse 2s ease-in-out infinite; }
@keyframes scrollPulse { 0%, 100% { opacity: 0.3; transform: scaleY(0.6); } 50% { opacity: 1; transform: scaleY(1); } }
.hero__scroll-text { font-family: var(--font-body); font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--color-silver-dark); }

.hero__side-text { position: absolute; right: var(--container-padding); bottom: 100px; font-family: var(--font-elegant); font-size: 0.8rem; color: var(--color-silver-dark); letter-spacing: 0.3em; text-transform: uppercase; writing-mode: vertical-rl; opacity: 0.5; }

/* ═══════════════════════════════════════════════════════
   ABOUT
   ═══════════════════════════════════════════════════════ */
.about { position: relative; padding: var(--section-padding) 0; overflow: hidden; }
.about__inner { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 100px); align-items: center; }
.about__tag { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.about__tag-line { height: 1px; width: 40px; background: var(--color-silver-dark); }
.about__tag-text { font-family: var(--font-elegant); font-size: 0.85rem; color: var(--color-silver-dark); letter-spacing: 0.25em; text-transform: uppercase; }
.about__title { font-family: var(--font-display); font-size: clamp(2.2rem, 5vw, 4rem); font-weight: 400; line-height: 1.15; color: var(--color-white); margin-bottom: 48px; }
.about__title-accent { font-style: italic; font-weight: 700; color: var(--color-silver); }

.about__stats { display: flex; gap: 40px; }
.about__stat { display: flex; flex-direction: column; gap: 4px; }
.about__stat-number { font-family: var(--font-display); font-size: 2rem; font-weight: 700; color: var(--color-silver); }
.about__stat-label { font-family: var(--font-elegant); font-size: 0.85rem; color: var(--color-silver-dark); letter-spacing: 0.1em; text-transform: uppercase; }

.about__image-wrapper { position: relative; margin-bottom: 32px; }
.about__image { width: 100%; height: 500px; object-fit: cover; filter: saturate(0) brightness(0.9) contrast(1.1); transition: filter 0.8s var(--ease-out-expo); }
.about__image-wrapper:hover .about__image { filter: saturate(0.3) brightness(0.85) contrast(1.05); }
.about__image-border { position: absolute; inset: 16px -16px -16px 16px; border: 1px solid rgba(192,192,192,0.15); pointer-events: none; }

.about__text { font-family: var(--font-elegant); font-size: 1.15rem; line-height: 1.9; color: var(--color-silver-dark); margin-bottom: 16px; }
.about__text--highlight { color: var(--color-silver-light); font-style: italic; font-size: 1.25rem; border-left: 2px solid var(--color-silver); padding-left: 20px; margin: 0; }

.about__bg-text { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-family: var(--font-display); font-size: clamp(8rem, 20vw, 25rem); font-weight: 900; color: var(--color-white); white-space: nowrap; pointer-events: none; user-select: none; opacity: 0; transition: opacity 1.5s ease; }
.about__bg-text.revealed { opacity: 0.03; }

/* ═══════════════════════════════════════════════════════
   COLLECTIONS
   ═══════════════════════════════════════════════════════ */
.collections { position: relative; padding: var(--section-padding) 0; background: var(--color-black-soft); overflow: hidden; }
.collections__header { margin-bottom: clamp(40px, 6vw, 80px); }
.collections__tag { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.collections__tag-line { height: 1px; width: 40px; background: var(--color-silver-dark); }
.collections__tag-text { font-family: var(--font-elegant); font-size: 0.85rem; color: var(--color-silver-dark); letter-spacing: 0.25em; text-transform: uppercase; }
.collections__title { font-family: var(--font-display); font-size: clamp(2.2rem, 5vw, 4rem); font-weight: 400; line-height: 1.15; color: var(--color-white); }
.collections__title-accent { font-style: italic; font-weight: 700; color: var(--color-silver); }

.collections__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 4vw, 60px); align-items: start; }
.collections__preview { position: sticky; top: 120px; overflow: hidden; }
.collections__preview-item { position: absolute; inset: 0; aspect-ratio: 3/4; overflow: hidden; opacity: 0; transition: opacity 0.5s ease; }
.collections__preview-item:first-child { position: relative; }
.collections__preview-item--active { opacity: 1; z-index: 1; }
.collections__preview-image { width: 100%; height: 100%; object-fit: cover; filter: saturate(0) brightness(0.85) contrast(1.1); transition: filter 0.8s var(--ease-out-expo); }
.collections__preview-item:hover .collections__preview-image { filter: saturate(0.2) brightness(0.8) contrast(1.05); }
.collections__preview-overlay { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10,10,10,0.8) 0%, rgba(10,10,10,0) 50%); }
.collections__preview-info { position: absolute; bottom: 0; left: 0; right: 0; padding: 32px; }
.collections__preview-category { font-family: var(--font-elegant); font-size: 0.8rem; color: var(--color-silver); letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 8px; display: block; }
.collections__preview-desc { font-family: var(--font-elegant); font-size: 1.1rem; color: var(--color-silver-light); line-height: 1.6; }

.collections__list { display: flex; flex-direction: column; }
.collections__item { display: flex; align-items: center; gap: 24px; padding: 32px 24px; border-bottom: 1px solid rgba(192,192,192,0.08); transition: all var(--transition-fast); position: relative; cursor: pointer; }
.collections__item::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: var(--color-silver); transform: scaleY(0); transition: transform var(--transition-fast); }
.collections__item--active::before, .collections__item:hover::before { transform: scaleY(1); }
.collections__item--active, .collections__item:hover { background: rgba(192,192,192,0.03); padding-left: 32px; }
.collections__item-number { font-family: var(--font-body); font-size: 0.75rem; color: var(--color-silver-dark); letter-spacing: 0.1em; min-width: 24px; }
.collections__item-content { flex: 1; }
.collections__item-title { font-family: var(--font-display); font-size: clamp(1.4rem, 3vw, 2.2rem); font-weight: 400; color: var(--color-silver-dark); transition: color var(--transition-fast); margin-bottom: 4px; }
.collections__item--active .collections__item-title, .collections__item:hover .collections__item-title { color: var(--color-white); }
.collections__item-category { font-family: var(--font-elegant); font-size: 0.8rem; color: var(--color-silver-dark); letter-spacing: 0.15em; text-transform: uppercase; }
.collections__item-arrow { color: var(--color-silver-dark); opacity: 0; transform: translateX(-10px); transition: all var(--transition-fast); }
.collections__item--active .collections__item-arrow, .collections__item:hover .collections__item-arrow { opacity: 1; transform: translateX(0); color: var(--color-silver); }

.collections__bg-text { position: absolute; bottom: -2rem; left: 50%; transform: translateX(-50%); font-family: var(--font-display); font-size: clamp(6rem, 15vw, 20rem); font-weight: 900; color: var(--color-white); white-space: nowrap; pointer-events: none; user-select: none; opacity: 0; transition: opacity 1.5s ease; }
.collections__bg-text.revealed { opacity: 0.02; }

/* ═══════════════════════════════════════════════════════
   SHOWCASE
   ═══════════════════════════════════════════════════════ */
.showcase { position: relative; padding: var(--section-padding) 0; overflow: hidden; }
.showcase__header { text-align: center; margin-bottom: clamp(40px, 6vw, 80px); }
.showcase__tag { display: inline-flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.showcase__tag-line { height: 1px; width: 40px; background: var(--color-silver-dark); }
.showcase__tag-text { font-family: var(--font-elegant); font-size: 0.85rem; color: var(--color-silver-dark); letter-spacing: 0.25em; text-transform: uppercase; }
.showcase__title { font-family: var(--font-display); font-size: clamp(2.2rem, 5vw, 4rem); font-weight: 400; color: var(--color-white); margin-bottom: 16px; }
.showcase__title-accent { font-style: italic; font-weight: 700; color: var(--color-silver); }
.showcase__subtitle { font-family: var(--font-elegant); font-size: 1.15rem; color: var(--color-silver-dark); max-width: 500px; margin: 0 auto; }

.showcase__masonry { columns: 3; column-gap: 20px; padding: 0 var(--container-padding); max-width: var(--container-max); margin: 0 auto; }
.showcase__card { break-inside: avoid; margin-bottom: 20px; position: relative; overflow: hidden; }
.showcase__card--1 .showcase__card-img-wrapper { aspect-ratio: 3/4; }
.showcase__card--2 .showcase__card-img-wrapper { aspect-ratio: 4/5; }
.showcase__card--3 .showcase__card-img-wrapper { aspect-ratio: 1/1; }
a.showcase__card-img-wrapper { display: block; text-decoration: none; color: inherit; }
.showcase__card-img-wrapper { position: relative; overflow: hidden; }
.showcase__card-img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0) brightness(0.85) contrast(1.1); transition: all 0.8s var(--ease-out-expo); }
.showcase__card:hover .showcase__card-img { filter: saturate(0.2) brightness(0.7) contrast(1.05); transform: scale(1.05); }
.showcase__card-overlay { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10,10,10,0.9) 0%, rgba(10,10,10,0) 60%); display: flex; flex-direction: column; justify-content: flex-end; padding: 28px; opacity: 0; transition: opacity 0.5s var(--ease-out-expo); }
.showcase__card:hover .showcase__card-overlay { opacity: 1; }
.showcase__card-type { font-family: var(--font-elegant); font-size: 0.75rem; color: var(--color-silver); letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 8px; }
.showcase__card-title { font-family: var(--font-display); font-size: 1.4rem; font-weight: 400; color: var(--color-white); margin-bottom: 16px; }
.showcase__card-cta { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-body); font-size: 0.8rem; color: var(--color-silver); letter-spacing: 0.1em; text-transform: uppercase; padding-top: 12px; border-top: 1px solid rgba(192,192,192,0.2); }

/* ═══════════════════════════════════════════════════════
   COMMISSION
   ═══════════════════════════════════════════════════════ */
.commission { position: relative; padding: var(--section-padding) 0; overflow: hidden; min-height: 80vh; display: flex; align-items: center; }
.commission__bg { position: absolute; inset: 0; }
.commission__bg-img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0) brightness(0.15); }
.commission__bg-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,10,10,0.95) 0%, rgba(10,10,10,0.7) 50%, rgba(10,10,10,0.9) 100%); }

.commission__inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 8vw, 120px); align-items: center; }
.commission__tag { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.commission__tag-line { height: 1px; width: 40px; background: var(--color-silver-dark); }
.commission__tag-text { font-family: var(--font-elegant); font-size: 0.85rem; color: var(--color-silver-dark); letter-spacing: 0.25em; text-transform: uppercase; }
.commission__title { font-family: var(--font-display); font-size: clamp(2.5rem, 6vw, 5rem); font-weight: 400; line-height: 1.1; color: var(--color-white); margin-bottom: 28px; }
.commission__title-accent { font-style: italic; font-weight: 700; color: var(--color-silver); }
.commission__text { font-family: var(--font-elegant); font-size: 1.15rem; line-height: 1.9; color: var(--color-silver-dark); margin-bottom: 40px; max-width: 500px; }

.commission__cta { display: inline-flex; align-items: center; gap: 12px; padding: 18px 36px; background: var(--color-white); color: var(--color-black); font-family: var(--font-body); font-size: 0.85rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; transition: all var(--transition-fast); }
.commission__cta:hover { background: var(--color-silver); transform: translateY(-2px); box-shadow: 0 15px 50px rgba(192,192,192,0.15); }

.commission__steps { display: flex; flex-direction: column; }
.commission__step { display: flex; gap: 24px; padding: 28px 0; border-bottom: 1px solid rgba(192,192,192,0.08); transition: all var(--transition-fast); }
.commission__step:first-child { border-top: 1px solid rgba(192,192,192,0.08); }
.commission__step:hover { padding-left: 12px; border-bottom-color: rgba(192,192,192,0.2); }
.commission__step-number { font-family: var(--font-display); font-size: 2.5rem; font-weight: 200; color: rgba(192,192,192,0.15); line-height: 1; min-width: 60px; transition: color var(--transition-fast); }
.commission__step:hover .commission__step-number { color: rgba(192,192,192,0.4); }
.commission__step-title { font-family: var(--font-display); font-size: 1.3rem; font-weight: 500; color: var(--color-white); margin-bottom: 6px; }
.commission__step-desc { font-family: var(--font-elegant); font-size: 0.95rem; color: var(--color-silver-dark); line-height: 1.7; }

/* ═══════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════ */
.footer { position: relative; padding: clamp(60px, 8vw, 120px) 0 40px; background: var(--color-black-soft); overflow: hidden; }
.footer__top { display: flex; justify-content: space-between; gap: clamp(40px, 6vw, 80px); margin-bottom: 60px; }
.footer__brand { max-width: 300px; }
.footer__logo { display: flex; align-items: baseline; gap: 10px; margin-bottom: 16px; }
.footer__logo-bei { font-family: var(--font-display); font-size: 2rem; font-weight: 300; color: var(--color-white); letter-spacing: 0.05em; }
.footer__logo-mostri { font-family: var(--font-display); font-size: 2rem; font-weight: 700; font-style: italic; color: var(--color-silver); letter-spacing: 0.02em; }
.footer__tagline { font-family: var(--font-elegant); font-size: 1rem; color: var(--color-silver-dark); line-height: 1.7; }

.footer__links-grid { display: flex; gap: clamp(40px, 5vw, 80px); }
.footer__links-title { font-family: var(--font-body); font-size: 0.75rem; font-weight: 600; color: var(--color-silver); letter-spacing: 0.15em; text-transform: uppercase; margin-bottom: 20px; }
.footer__links li { margin-bottom: 12px; }
.footer__links a { font-family: var(--font-elegant); font-size: 0.95rem; color: var(--color-silver-dark); transition: color var(--transition-fast); }
.footer__links a:hover { color: var(--color-white); }

.footer__divider { height: 1px; background: linear-gradient(90deg, transparent, rgba(192,192,192,0.15), transparent); transform: scaleX(0); transition: transform 1s var(--ease-out-expo); margin-bottom: 30px; }
.footer__divider.revealed { transform: scaleX(1); }

.footer__bottom { display: flex; justify-content: space-between; align-items: center; }
.footer__copyright { font-family: var(--font-body); font-size: 0.8rem; color: var(--color-silver-dark); }
.footer__made { font-family: var(--font-elegant); font-size: 0.85rem; font-style: italic; color: var(--color-silver-dark); }

.footer__watermark { position: absolute; bottom: -30px; right: var(--container-padding); pointer-events: none; user-select: none; }
.footer__watermark-text { font-family: var(--font-display); font-size: clamp(8rem, 20vw, 18rem); font-weight: 900; font-style: italic; color: rgba(192,192,192,0.03); line-height: 1; }

/* ═══════════════════════════════════════════════════════
   BREADCRUMB
   ═══════════════════════════════════════════════════════ */
.breadcrumb { margin-bottom: 24px; }
.breadcrumb__list { display: flex; align-items: center; gap: 8px; list-style: none; }
.breadcrumb__item { font-family: var(--font-elegant); font-size: 0.85rem; color: var(--color-silver-dark); letter-spacing: 0.1em; }
.breadcrumb__item a { color: var(--color-silver-dark); transition: color var(--transition-fast); }
.breadcrumb__item a:hover { color: var(--color-white); }
.breadcrumb__item + .breadcrumb__item::before { content: '/'; margin-right: 8px; color: rgba(192,192,192,0.3); }
.breadcrumb__item--current { color: var(--color-silver-light); }

/* ═══════════════════════════════════════════════════════
   PAGE HERO (Compact & Background variants)
   ═══════════════════════════════════════════════════════ */
.page-hero { position: relative; display: flex; align-items: flex-end; overflow: hidden; }
.page-hero--compact { min-height: 45vh; padding: 120px 0 60px; background: var(--color-black); }
.page-hero--bg { min-height: 60vh; padding: 120px 0 80px; }

.page-hero__bg { position: absolute; inset: 0; z-index: 0; }
.page-hero__bg-img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; filter: brightness(0.25) saturate(0); }
.page-hero__bg-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,10,10,0.5) 0%, rgba(10,10,10,0.3) 40%, rgba(10,10,10,0.8) 100%); }
.page-hero__bg-grain { position: absolute; inset: 0; opacity: 0.04; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); background-repeat: repeat; background-size: 128px 128px; z-index: 1; pointer-events: none; }

.page-hero__content { position: relative; z-index: 2; width: 100%; }
.page-hero__title { font-family: var(--font-display); font-size: clamp(2.5rem, 7vw, 5.5rem); font-weight: 400; line-height: 1.1; color: var(--color-white); margin-bottom: 16px; }
.page-hero__title-accent { font-style: italic; font-weight: 700; color: var(--color-silver); }
.page-hero__subtitle { font-family: var(--font-elegant); font-size: clamp(1.05rem, 1.8vw, 1.3rem); color: var(--color-silver-dark); line-height: 1.8; max-width: 600px; }

/* ═══════════════════════════════════════════════════════
   PAGE CTA (shared)
   ═══════════════════════════════════════════════════════ */
.page-cta { padding: var(--section-padding) 0; background: var(--color-black-soft); }
.page-cta__inner { text-align: center; max-width: 700px; margin: 0 auto; }
.page-cta__title { font-family: var(--font-display); font-size: clamp(1.8rem, 4vw, 3rem); font-weight: 400; line-height: 1.2; color: var(--color-white); margin-bottom: 32px; }
.page-cta__title-accent { font-style: italic; font-weight: 700; color: var(--color-silver); display: block; }
.page-cta__btn { display: inline-flex; align-items: center; gap: 10px; padding: 18px 36px; background: var(--color-white); color: var(--color-black); font-family: var(--font-body); font-size: 0.85rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; transition: all var(--transition-fast); }
.page-cta__btn:hover { background: var(--color-silver); transform: translateY(-2px); box-shadow: 0 15px 50px rgba(192,192,192,0.15); }

/* ═══════════════════════════════════════════════════════
   COLLEZIONI ARCHIVE
   ═══════════════════════════════════════════════════════ */
.collezioni-archive { padding: clamp(40px, 6vw, 80px) 0 var(--section-padding); }

.collezioni-archive__filters { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: clamp(32px, 4vw, 60px); }
.collezioni-archive__filter { padding: 10px 24px; font-family: var(--font-body); font-size: 0.8rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-silver-dark); border: 1px solid rgba(192,192,192,0.15); background: transparent; transition: all var(--transition-fast); cursor: pointer; }
.collezioni-archive__filter:hover { border-color: var(--color-silver); color: var(--color-white); }
.collezioni-archive__filter--active { background: var(--color-white); color: var(--color-black); border-color: var(--color-white); }

.collezioni-archive__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }

.collezioni-card { transition: opacity 0.4s var(--ease-out-expo), transform 0.4s var(--ease-out-expo); }
.collezioni-card--hidden { opacity: 0; transform: scale(0.95); position: absolute; pointer-events: none; width: 0; height: 0; overflow: hidden; }

.collezioni-card__link { display: block; text-decoration: none; color: inherit; }

.collezioni-card__image-wrapper { position: relative; aspect-ratio: 3/4; overflow: hidden; margin-bottom: 20px; }
.collezioni-card__image { width: 100%; height: 100%; object-fit: cover; filter: saturate(0) brightness(0.85) contrast(1.1); transition: all 0.8s var(--ease-out-expo); }
.collezioni-card__link:hover .collezioni-card__image { filter: saturate(0.2) brightness(0.7) contrast(1.05); transform: scale(1.05); }

.collezioni-card__placeholder { width: 100%; height: 100%; background: var(--color-dark); display: flex; align-items: center; justify-content: center; font-family: var(--font-elegant); color: var(--color-silver-dark); }

.collezioni-card__overlay { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10,10,10,0.8) 0%, rgba(10,10,10,0) 50%); display: flex; align-items: flex-end; justify-content: center; padding: 28px; opacity: 0; transition: opacity 0.5s var(--ease-out-expo); }
.collezioni-card__link:hover .collezioni-card__overlay { opacity: 1; }
.collezioni-card__cta { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-body); font-size: 0.8rem; color: var(--color-silver); letter-spacing: 0.1em; text-transform: uppercase; }

.collezioni-card__info { padding: 0 4px; }
.collezioni-card__category { display: inline-block; font-family: var(--font-elegant); font-size: 0.75rem; color: var(--color-silver); letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 8px; }
.collezioni-card__title { font-family: var(--font-display); font-size: clamp(1.2rem, 2vw, 1.6rem); font-weight: 400; color: var(--color-white); margin-bottom: 6px; transition: color var(--transition-fast); }
.collezioni-card__link:hover .collezioni-card__title { color: var(--color-silver-light); }
.collezioni-card__subtitle { font-family: var(--font-elegant); font-size: 0.95rem; color: var(--color-silver-dark); font-style: italic; margin-bottom: 4px; }
.collezioni-card__excerpt { font-family: var(--font-elegant); font-size: 0.9rem; color: var(--color-silver-dark); line-height: 1.6; }

.collezioni-archive__empty { text-align: center; padding: 80px 0; }
.collezioni-archive__empty p { font-family: var(--font-elegant); font-size: 1.1rem; color: var(--color-silver-dark); }

/* ═══════════════════════════════════════════════════════
   SINGLE COLLEZIONE
   ═══════════════════════════════════════════════════════ */
.single-coll__hero { position: relative; min-height: 60vh; display: flex; align-items: flex-end; padding: 120px 0 60px; overflow: hidden; }
.single-coll__hero-bg { position: absolute; inset: 0; }
.single-coll__hero-img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; filter: brightness(0.25) saturate(0); }
.single-coll__hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,10,10,0.4) 0%, rgba(10,10,10,0.3) 30%, rgba(10,10,10,0.85) 100%); }

.single-coll__hero-content { position: relative; z-index: 1; width: 100%; }
.single-coll__category { display: inline-block; font-family: var(--font-elegant); font-size: 0.85rem; color: var(--color-silver); letter-spacing: 0.25em; text-transform: uppercase; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid rgba(192,192,192,0.2); }
.single-coll__title { font-family: var(--font-display); font-size: clamp(2.5rem, 7vw, 5rem); font-weight: 400; line-height: 1.1; color: var(--color-white); margin-bottom: 12px; }
.single-coll__subtitle { font-family: var(--font-elegant); font-size: clamp(1.1rem, 2vw, 1.4rem); color: var(--color-silver-dark); font-style: italic; line-height: 1.7; max-width: 600px; }

.single-coll__content { padding: var(--section-padding) 0; }
.single-coll__body { max-width: 800px; margin: 0 auto; font-family: var(--font-elegant); font-size: 1.1rem; line-height: 1.9; color: var(--color-silver-light); }
.single-coll__body p { margin-bottom: 1.5em; }
.single-coll__body h2 { font-family: var(--font-display); font-size: 1.8rem; color: var(--color-white); margin: 2em 0 0.8em; }
.single-coll__body h3 { font-family: var(--font-display); font-size: 1.4rem; color: var(--color-white); margin: 1.5em 0 0.6em; }
.single-coll__body blockquote { border-left: 2px solid var(--color-silver); padding-left: 20px; font-style: italic; color: var(--color-silver); margin: 2em 0; }

/* Gallery */
.single-coll__gallery { padding: 0 0 var(--section-padding); }
.single-coll__gallery-title { display: flex; align-items: center; gap: 16px; font-family: var(--font-display); font-size: 1.6rem; font-weight: 400; color: var(--color-white); margin-bottom: clamp(24px, 4vw, 48px); }
.single-coll__gallery-tag-line { height: 1px; width: 40px; background: var(--color-silver-dark); }

.single-coll__gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; }
.single-coll__gallery-item { display: block; aspect-ratio: 3/4; overflow: hidden; cursor: pointer; }
.single-coll__gallery-img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0) brightness(0.85) contrast(1.1); transition: all 0.6s var(--ease-out-expo); }
.single-coll__gallery-item:hover .single-coll__gallery-img { filter: saturate(0.2) brightness(0.75) contrast(1.05); transform: scale(1.05); }

/* Nav prev/next */
.single-coll__nav { padding: 40px 0; border-top: 1px solid rgba(192,192,192,0.08); }
.single-coll__nav-inner { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.single-coll__nav-link { display: flex; align-items: center; gap: 16px; padding: 16px; transition: all var(--transition-fast); color: var(--color-silver-dark); }
.single-coll__nav-link:hover { color: var(--color-white); }
.single-coll__nav-label { display: block; font-family: var(--font-body); font-size: 0.75rem; letter-spacing: 0.15em; text-transform: uppercase; margin-bottom: 4px; }
.single-coll__nav-title { display: block; font-family: var(--font-display); font-size: 1.2rem; font-weight: 400; color: var(--color-white); }
.single-coll__nav-info--right { text-align: right; }

/* ═══════════════════════════════════════════════════════
   LIGHTBOX
   ═══════════════════════════════════════════════════════ */
.lightbox { position: fixed; inset: 0; z-index: 10000; background: rgba(10,10,10,0.97); display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: opacity 0.4s var(--ease-out-expo), visibility 0.4s; }
.lightbox--open { opacity: 1; visibility: visible; }

.lightbox__close { position: absolute; top: 24px; right: 24px; font-size: 2rem; color: var(--color-white); background: none; border: none; cursor: pointer; z-index: 2; padding: 8px; transition: color var(--transition-fast); }
.lightbox__close:hover { color: var(--color-silver); }

.lightbox__prev, .lightbox__next { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(192,192,192,0.1); border: 1px solid rgba(192,192,192,0.15); color: var(--color-white); cursor: pointer; padding: 16px; z-index: 2; transition: all var(--transition-fast); }
.lightbox__prev:hover, .lightbox__next:hover { background: rgba(192,192,192,0.2); border-color: var(--color-silver); }
.lightbox__prev { left: 24px; }
.lightbox__next { right: 24px; }

.lightbox__content { max-width: 90vw; max-height: 85vh; display: flex; align-items: center; justify-content: center; }
.lightbox__img { max-width: 100%; max-height: 85vh; object-fit: contain; transition: opacity 0.3s ease; }

.lightbox__counter { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); font-family: var(--font-body); font-size: 0.8rem; color: var(--color-silver-dark); letter-spacing: 0.1em; }

.lightbox__data { display: none; }

/* ═══════════════════════════════════════════════════════
   CONTATTI PAGE
   ═══════════════════════════════════════════════════════ */
.contatti { padding: clamp(40px, 6vw, 80px) 0 var(--section-padding); }
.contatti__grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: clamp(40px, 6vw, 100px); align-items: start; }

.contatti__info-block { margin-bottom: 32px; padding-bottom: 28px; border-bottom: 1px solid rgba(192,192,192,0.08); }
.contatti__info-block:last-child { border-bottom: none; }
.contatti__info-title { display: flex; align-items: center; gap: 10px; font-family: var(--font-body); font-size: 0.8rem; font-weight: 600; color: var(--color-silver); letter-spacing: 0.15em; text-transform: uppercase; margin-bottom: 12px; }
.contatti__info-title svg { color: var(--color-silver-dark); }
.contatti__info-value { font-family: var(--font-elegant); font-size: 1.05rem; color: var(--color-silver-light); line-height: 1.7; }
a.contatti__info-value { transition: color var(--transition-fast); display: inline-block; }
a.contatti__info-value:hover { color: var(--color-white); }

.contatti__social { display: flex; gap: 16px; }
.contatti__social-link { font-family: var(--font-elegant); font-size: 0.95rem; color: var(--color-silver-dark); transition: color var(--transition-fast); padding-bottom: 2px; border-bottom: 1px solid transparent; }
.contatti__social-link:hover { color: var(--color-white); border-bottom-color: var(--color-silver); }

/* Alert messages */
.contatti__alert { padding: 16px 20px; margin-bottom: 24px; font-family: var(--font-body); font-size: 0.9rem; border: 1px solid; }
.contatti__alert--success { color: #a8d5a2; border-color: rgba(168,213,162,0.3); background: rgba(168,213,162,0.05); }
.contatti__alert--error { color: #e8a0a0; border-color: rgba(232,160,160,0.3); background: rgba(232,160,160,0.05); }

/* Form */
.contatti__form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.contatti__form-group { display: flex; flex-direction: column; margin-bottom: 0; }
.contatti__form-group:only-child { margin-bottom: 20px; }
.contatti__form-label { font-family: var(--font-body); font-size: 0.8rem; font-weight: 500; color: var(--color-silver); letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 8px; }
.contatti__form-input { background: rgba(192,192,192,0.05); border: 1px solid rgba(192,192,192,0.15); color: var(--color-white); font-family: var(--font-elegant); font-size: 1rem; padding: 14px 16px; transition: all var(--transition-fast); outline: none; }
.contatti__form-input::placeholder { color: var(--color-silver-dark); }
.contatti__form-input:focus { border-color: var(--color-silver); background: rgba(192,192,192,0.08); }
.contatti__form-input.contatti__form-input--error { border-color: #e8a0a0; }
.contatti__form-textarea { resize: vertical; min-height: 140px; }

.contatti__form-submit { display: inline-flex; align-items: center; gap: 10px; padding: 16px 32px; background: var(--color-white); color: var(--color-black); font-family: var(--font-body); font-size: 0.85rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; border: none; cursor: pointer; transition: all var(--transition-fast); margin-top: 8px; }
.contatti__form-submit:hover { background: var(--color-silver); transform: translateY(-2px); box-shadow: 0 10px 40px rgba(192,192,192,0.15); }

/* Map */
.contatti__map { padding: 0 0 var(--section-padding); }
.contatti__map-link { display: block; position: relative; overflow: hidden; aspect-ratio: 16/5; }
.contatti__map-img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0) brightness(0.6); transition: all 0.6s var(--ease-out-expo); }
.contatti__map-link:hover .contatti__map-img { filter: saturate(0) brightness(0.5); transform: scale(1.02); }
.contatti__map-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 8px; background: rgba(10,10,10,0.4); font-family: var(--font-body); font-size: 0.85rem; color: var(--color-white); letter-spacing: 0.1em; text-transform: uppercase; opacity: 0; transition: opacity 0.4s var(--ease-out-expo); }
.contatti__map-link:hover .contatti__map-overlay { opacity: 1; }

/* ═══════════════════════════════════════════════════════
   CHI SIAMO PAGE
   ═══════════════════════════════════════════════════════ */

/* La Nostra Storia */
.chi-storia { padding: var(--section-padding) 0; overflow: hidden; }
.chi-storia__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 100px); align-items: center; }

.chi-storia__tag { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.chi-storia__tag-line { height: 1px; width: 40px; background: var(--color-silver-dark); }
.chi-storia__tag-text { font-family: var(--font-elegant); font-size: 0.85rem; color: var(--color-silver-dark); letter-spacing: 0.25em; text-transform: uppercase; }

.chi-storia__title { font-family: var(--font-display); font-size: clamp(2.2rem, 5vw, 3.5rem); font-weight: 400; line-height: 1.15; color: var(--color-white); margin-bottom: 32px; }
.chi-storia__title-accent { font-style: italic; font-weight: 700; color: var(--color-silver); }

.chi-storia__text-p { font-family: var(--font-elegant); font-size: 1.1rem; line-height: 1.9; color: var(--color-silver-dark); margin-bottom: 16px; }

.chi-storia__image-wrapper { position: relative; }
.chi-storia__image { width: 100%; height: 500px; object-fit: cover; filter: saturate(0) brightness(0.9) contrast(1.1); transition: filter 0.8s var(--ease-out-expo); }
.chi-storia__image-wrapper:hover .chi-storia__image { filter: saturate(0.3) brightness(0.85) contrast(1.05); }
.chi-storia__image-border { position: absolute; inset: 16px -16px -16px 16px; border: 1px solid rgba(192,192,192,0.15); pointer-events: none; }

/* I Nostri Valori */
.chi-valori { padding: var(--section-padding) 0; background: var(--color-black-soft); }

.chi-valori__header { margin-bottom: clamp(40px, 6vw, 80px); }
.chi-valori__tag { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.chi-valori__tag-line { height: 1px; width: 40px; background: var(--color-silver-dark); }
.chi-valori__tag-text { font-family: var(--font-elegant); font-size: 0.85rem; color: var(--color-silver-dark); letter-spacing: 0.25em; text-transform: uppercase; }
.chi-valori__title { font-family: var(--font-display); font-size: clamp(2.2rem, 5vw, 3.5rem); font-weight: 400; line-height: 1.15; color: var(--color-white); }
.chi-valori__title-accent { font-style: italic; font-weight: 700; color: var(--color-silver); }

.chi-valori__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }

.chi-valori__card { padding: 32px; border: 1px solid rgba(192,192,192,0.08); background: rgba(192,192,192,0.02); transition: all var(--transition-fast); }
.chi-valori__card:hover { border-color: rgba(192,192,192,0.2); background: rgba(192,192,192,0.04); transform: translateY(-4px); }
.chi-valori__card-icon { color: var(--color-silver); margin-bottom: 20px; }
.chi-valori__card-title { font-family: var(--font-display); font-size: 1.3rem; font-weight: 500; color: var(--color-white); margin-bottom: 12px; }
.chi-valori__card-text { font-family: var(--font-elegant); font-size: 0.95rem; color: var(--color-silver-dark); line-height: 1.7; }

/* Il Processo Creativo */
.chi-processo { padding: var(--section-padding) 0; }
.chi-processo__header { margin-bottom: clamp(40px, 6vw, 80px); }
.chi-processo__tag { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.chi-processo__tag-line { height: 1px; width: 40px; background: var(--color-silver-dark); }
.chi-processo__tag-text { font-family: var(--font-elegant); font-size: 0.85rem; color: var(--color-silver-dark); letter-spacing: 0.25em; text-transform: uppercase; }
.chi-processo__title { font-family: var(--font-display); font-size: clamp(2.2rem, 5vw, 3.5rem); font-weight: 400; line-height: 1.15; color: var(--color-white); }
.chi-processo__title-accent { font-style: italic; font-weight: 700; color: var(--color-silver); }
.chi-processo__steps { max-width: 700px; }

/* ═══════════════════════════════════════════════════════
   LEGAL / GENERIC PAGE
   ═══════════════════════════════════════════════════════ */
.legal-page { padding: clamp(40px, 6vw, 80px) 0 var(--section-padding); }
.legal-page__body { max-width: 800px; margin: 0 auto; }
.legal-page__content { font-family: var(--font-elegant); font-size: 1.1rem; line-height: 1.9; color: var(--color-silver-light); }
.legal-page__content h2 { font-family: var(--font-display); font-size: 1.8rem; font-weight: 400; color: var(--color-white); margin: 2em 0 0.8em; }
.legal-page__content h2:first-child { margin-top: 0; }
.legal-page__content h3 { font-family: var(--font-display); font-size: 1.4rem; font-weight: 500; color: var(--color-white); margin: 1.5em 0 0.6em; }
.legal-page__content p { margin-bottom: 1.2em; }
.legal-page__content ul, .legal-page__content ol { margin: 0 0 1.5em 1.5em; }
.legal-page__content ul { list-style: disc; }
.legal-page__content ol { list-style: decimal; }
.legal-page__content li { margin-bottom: 0.5em; color: var(--color-silver-dark); }
.legal-page__content li strong { color: var(--color-silver-light); }
.legal-page__content a { color: var(--color-silver); border-bottom: 1px solid rgba(192,192,192,0.3); transition: all var(--transition-fast); }
.legal-page__content a:hover { color: var(--color-white); border-bottom-color: var(--color-white); }
.legal-page__content em { color: var(--color-silver-dark); }
.legal-page__content blockquote { border-left: 2px solid var(--color-silver); padding-left: 20px; font-style: italic; color: var(--color-silver); margin: 2em 0; }

/* ═══════════════════════════════════════════════════════
   ERROR 404
   ═══════════════════════════════════════════════════════ */
.error-404 { min-height: 80vh; display: flex; align-items: center; justify-content: center; padding: 120px 0 var(--section-padding); }
.error-404__inner { text-align: center; max-width: 600px; margin: 0 auto; }
.error-404__number { display: block; font-family: var(--font-display); font-size: clamp(8rem, 20vw, 16rem); font-weight: 900; font-style: italic; color: rgba(192,192,192,0.06); line-height: 1; margin-bottom: -20px; user-select: none; }
.error-404__title { font-family: var(--font-display); font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 400; color: var(--color-white); margin-bottom: 16px; }
.error-404__text { font-family: var(--font-elegant); font-size: 1.15rem; color: var(--color-silver-dark); line-height: 1.8; margin-bottom: 40px; }
.error-404__btn { display: inline-flex; align-items: center; gap: 10px; padding: 18px 36px; background: var(--color-white); color: var(--color-black); font-family: var(--font-body); font-size: 0.85rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; transition: all var(--transition-fast); }
.error-404__btn:hover { background: var(--color-silver); transform: translateY(-2px); box-shadow: 0 15px 50px rgba(192,192,192,0.15); }

/* ═══════════════════════════════════════════════════════
   SEARCH RESULTS
   ═══════════════════════════════════════════════════════ */
.search-results { padding: clamp(40px, 6vw, 80px) 0 var(--section-padding); }
.search-results__list { max-width: 800px; }
.search-results__item { border-bottom: 1px solid rgba(192,192,192,0.08); }
.search-results__link { display: block; padding: 28px 0; transition: all var(--transition-fast); }
.search-results__link:hover { padding-left: 16px; }
.search-results__title { font-family: var(--font-display); font-size: 1.4rem; font-weight: 400; color: var(--color-white); margin-bottom: 8px; transition: color var(--transition-fast); }
.search-results__link:hover .search-results__title { color: var(--color-silver-light); }
.search-results__excerpt { font-family: var(--font-elegant); font-size: 1rem; color: var(--color-silver-dark); line-height: 1.7; margin-bottom: 8px; }
.search-results__meta { font-family: var(--font-body); font-size: 0.75rem; color: var(--color-silver-dark); letter-spacing: 0.15em; text-transform: uppercase; }

.search-results__empty { text-align: center; padding: 60px 0; }
.search-results__empty-text { font-family: var(--font-elegant); font-size: 1.15rem; color: var(--color-silver-dark); margin-bottom: 32px; }
.search-results__form { display: flex; gap: 12px; max-width: 500px; margin: 0 auto; }
.search-results__input { flex: 1; background: rgba(192,192,192,0.05); border: 1px solid rgba(192,192,192,0.15); color: var(--color-white); font-family: var(--font-elegant); font-size: 1rem; padding: 14px 16px; outline: none; transition: all var(--transition-fast); }
.search-results__input::placeholder { color: var(--color-silver-dark); }
.search-results__input:focus { border-color: var(--color-silver); background: rgba(192,192,192,0.08); }
.search-results__submit { display: inline-flex; align-items: center; gap: 8px; padding: 14px 24px; background: var(--color-white); color: var(--color-black); font-family: var(--font-body); font-size: 0.85rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; border: none; cursor: pointer; transition: all var(--transition-fast); }
.search-results__submit:hover { background: var(--color-silver); }

/* ═══════════════════════════════════════════════════════
   UNDER CONSTRUCTION (index.php fallback)
   ═══════════════════════════════════════════════════════ */
.under-construction { min-height: 60vh; display: flex; align-items: center; justify-content: center; }
.under-construction__inner { text-align: center; }
.under-construction__title { font-family: var(--font-display); font-size: 3rem; color: var(--color-white); }
.under-construction__text { font-family: var(--font-elegant); color: var(--color-silver-dark); font-size: 1.2rem; }

/* ═══════════════════════════════════════════════════════
   SKIP LINK
   ═══════════════════════════════════════════════════════ */
.skip-link { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; z-index: 99999; background: var(--color-white); color: var(--color-black); padding: 8px 16px; font-size: 14px; }
.skip-link:focus { position: fixed; left: 16px; top: 16px; width: auto; height: auto; overflow: visible; }

/* ═══════════════════════════════════════════════════════
   COOKIE BANNER
   ═══════════════════════════════════════════════════════ */
.cookie-banner { position: fixed; bottom: 0; left: 0; right: 0; z-index: 9999; background: var(--color-dark); border-top: 1px solid rgba(192,192,192,0.1); padding: 20px 0; transform: translateY(100%); transition: transform 0.5s var(--ease-out-expo); }
.cookie-banner--visible { transform: translateY(0); }
.cookie-banner__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.cookie-banner__text { font-family: var(--font-elegant); font-size: 0.95rem; color: var(--color-silver-dark); line-height: 1.6; flex: 1; }
.cookie-banner__text a { color: var(--color-silver); border-bottom: 1px solid rgba(192,192,192,0.3); transition: color var(--transition-fast); }
.cookie-banner__text a:hover { color: var(--color-white); }
.cookie-banner__actions { display: flex; gap: 12px; flex-shrink: 0; }
.cookie-banner__btn { padding: 10px 24px; font-family: var(--font-body); font-size: 0.8rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer; transition: all var(--transition-fast); }
.cookie-banner__btn--accept { background: var(--color-white); color: var(--color-black); border: none; }
.cookie-banner__btn--accept:hover { background: var(--color-silver); transform: translateY(-1px); }
.cookie-banner__btn--reject { background: transparent; color: var(--color-silver-dark); border: 1px solid rgba(192,192,192,0.2); }
.cookie-banner__btn--reject:hover { border-color: var(--color-silver); color: var(--color-white); }

/* ═══════════════════════════════════════════════════════
   SCROLL REVEAL ANIMATIONS
   ═══════════════════════════════════════════════════════ */
[data-reveal] { opacity: 0; transition: opacity 0.8s var(--ease-out-expo), transform 0.8s var(--ease-out-expo); }
[data-reveal="fade-up"] { transform: translateY(50px); }
[data-reveal="fade-right"] { transform: translateX(-40px); }
[data-reveal="fade-left"] { transform: translateX(40px); }
[data-reveal="fade-in"] { transform: scale(0.95); }
[data-reveal="slide-up"] { transform: translateY(120px); }
[data-reveal="scale-x"] { transform: scaleX(0); }

[data-reveal].revealed { opacity: 1; transform: translateY(0) translateX(0) scale(1) scaleX(1); }

/* ═══════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .showcase__masonry { columns: 2; }
  .collezioni-archive__grid { grid-template-columns: repeat(2, 1fr); }
  .chi-valori__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .navbar__links { display: none; }
  .navbar__burger { display: flex; }

  .hero__content { padding-top: 140px; }
  .hero__label-line { width: 20px; }
  .hero__actions { flex-direction: column; }
  .hero__btn { justify-content: center; }
  .hero__side-text { display: none; }
  .hero__scroll { bottom: 20px; }

  .about__inner { grid-template-columns: 1fr; gap: 40px; }
  .about__stats { gap: 24px; }
  .about__image { height: 350px; }

  .collections__grid { grid-template-columns: 1fr; }
  .collections__preview { position: relative; top: 0; }
  .collections__preview-item { aspect-ratio: 4/3; }

  .showcase__masonry { columns: 1; max-width: 500px; }

  .commission__inner { grid-template-columns: 1fr; gap: 50px; }

  .footer__top { flex-direction: column; }
  .footer__links-grid { flex-wrap: wrap; gap: 32px; }
  .footer__bottom { flex-direction: column; gap: 8px; text-align: center; }

  /* Page templates responsive */
  .collezioni-archive__grid { grid-template-columns: 1fr; max-width: 500px; }
  .contatti__grid { grid-template-columns: 1fr; gap: 40px; }
  .contatti__form-row { grid-template-columns: 1fr; }
  .chi-storia__grid { grid-template-columns: 1fr; gap: 40px; }
  .chi-storia__image { height: 350px; }
  .chi-valori__grid { grid-template-columns: 1fr; }
  .single-coll__nav-inner { flex-direction: column; gap: 16px; }
  .single-coll__gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .single-coll__nav-link--next .single-coll__nav-info { text-align: left; }
  .lightbox__prev { left: 8px; padding: 12px; }
  .lightbox__next { right: 8px; padding: 12px; }

  /* Legal page responsive */
  .legal-page__body { padding: 0 8px; }
  .legal-page__content { font-size: 1rem; }

  /* 404 responsive */
  .error-404 { min-height: 60vh; padding: 100px 0 60px; }

  /* Search responsive */
  .search-results__form { flex-direction: column; }
  .search-results__submit { justify-content: center; }

  /* Cookie banner responsive */
  .cookie-banner__inner { flex-direction: column; text-align: center; gap: 16px; }
  .cookie-banner__actions { width: 100%; }
  .cookie-banner__btn { flex: 1; justify-content: center; min-height: 44px; }
}

/* ─── Print ─── */
@media print {
  .loader, .navbar, .hero__scroll, .hero__deco-line, .hero__bg-grain, .page-hero__bg-grain, .mobile-menu, .lightbox, .cookie-banner, [aria-hidden="true"] { display: none !important; }
  body { background: #fff; color: #000; }
  .hero__bg-img, .page-hero__bg-img, .single-coll__hero-img { filter: none; }
}
