/* ---------- type ---------- */
.label{text-transform:uppercase;letter-spacing:.42em;font-size:.76rem;opacity:.82}
.nome{font-size:clamp(2.6rem,7vw,5.6rem);letter-spacing:.08em;line-height:.98;white-space:nowrap}
.frase{line-height:1.5}
.frase{font-size:clamp(1.15rem,1.7vw,1.5rem);line-height:1.45;max-width:30ch}
.note{display:grid;gap:.2rem;margin-top:1.8rem;max-width:30rem}
.note > div{margin-bottom:.85rem}
.note dt{text-transform:uppercase;letter-spacing:.3em;font-size:.66rem;opacity:.6;margin-bottom:.12rem}
.note dd{font-size:1rem;line-height:1.4;opacity:.9}
.line{display:inline-block;overflow:hidden;vertical-align:top}
.line > span{display:inline-block;will-change:transform}

/* ---------- continuous sky: sun glow + day color-grade ---------- */
/* the sun's trajectory arc (echoes the hero logo). Graphic only — never touches the photos' light.
   lives INSIDE .day (the pinned, fixed stacking context) so it paints above the panels. */
#sky{position:absolute;top:0;left:0;width:100%;height:18vh;z-index:10;pointer-events:none;
  color:rgba(255,228,186,.92);filter:drop-shadow(0 1px 3px rgba(0,0,0,.55))}
.sky__arc{width:100%;height:100%;overflow:visible}
.sky__track{opacity:.16}
#arc{stroke-dasharray:1;stroke-dashoffset:1}
#sun{position:absolute;left:3%;top:80%;width:11px;height:11px;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle at 40% 38%,#fff1d6,#f3b85f 76%);box-shadow:0 0 8px 1px rgba(255,205,150,.4)}
#dust{position:fixed;inset:0;z-index:4;pointer-events:none;opacity:0}

/* ---------- deck ---------- */
#deck{position:relative}

/* ---------- HERO (dynamic logo) ---------- */
.hero{position:relative;height:100vh;overflow:hidden;background:radial-gradient(120% 120% at 50% 36%,#241606,#0c0805 70%)}
.hero__bg,.hero__veil{position:absolute;inset:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);filter:saturate(.88) brightness(.48) blur(1px)}
.hero__veil{
  background:
    radial-gradient(60% 70% at 68% 44%,rgba(217,164,92,.28),transparent 55%),
    linear-gradient(90deg,rgba(10,7,4,.88) 0%,rgba(10,7,4,.64) 36%,rgba(10,7,4,.22) 68%,rgba(10,7,4,.7) 100%);
}
.hero__grid{position:relative;z-index:5;height:100%;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  align-items:center;gap:6vw;padding:7vw 8vw 8vh}
.hero__copy{display:flex;flex-direction:column;gap:1.1rem;max-width:30rem}
.hero__kicker{opacity:.7}
.hero__lede{font-size:clamp(1.25rem,2vw,1.85rem);max-width:18ch;text-shadow:0 8px 28px rgba(0,0,0,.35)}
.hero__manifesto{display:grid;gap:.45rem;padding-top:1.6rem}
.hero__manifesto-line{
  font-family:var(--sans);font-size:.88rem;line-height:1.45;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(236,220,192,.7)
}
.logo{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;color:#ecdcc0;z-index:5}
.logo__arc{width:clamp(180px,26vw,260px);height:auto;margin-bottom:1.2rem;overflow:visible}
.logo__path{stroke-dasharray:1;stroke-dashoffset:1}
.logo__sun{opacity:0}
.logo__name{font-size:clamp(2.6rem,8vw,5rem);letter-spacing:.34em;padding-left:.34em;font-weight:500}
.logo__slogan{text-transform:uppercase;letter-spacing:.5em;font-size:.72rem;opacity:.7;padding-left:.5em}
.hero__bottle{position:relative;justify-self:end;align-self:end;width:min(33vw,30rem);margin:0 2vw 7vh 0;z-index:5}
.hero__bottle img{width:100%;height:auto;display:block;filter:drop-shadow(0 40px 60px rgba(0,0,0,.52))}
.hero__halo{position:absolute;inset:10% 5% 8%;z-index:-1;border-radius:50%;
  background:radial-gradient(circle,rgba(224,175,100,.38),rgba(224,175,100,.08) 42%,transparent 70%);
  filter:blur(28px)}
.hero__caption{position:absolute;left:-5vw;bottom:16%;max-width:13rem;display:grid;gap:.4rem;
  font-family:var(--sans);font-size:.9rem;line-height:1.35;color:rgba(242,232,215,.74)}
.hero__caption-index{font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(242,232,215,.45)}
.scrollhint{position:absolute;left:50%;bottom:6vh;transform:translateX(-50%);z-index:5;
  text-transform:uppercase;letter-spacing:.36em;font-size:.68rem;opacity:.5;font-family:var(--sans)}

/* ---------- THE DAY — horizontal track ---------- */
.day{position:relative;height:100vh;overflow:hidden}
.track{display:flex;height:100vh;width:max-content;will-change:transform}
.panel{position:relative;width:100vw;height:100vh;overflow:hidden;flex:0 0 100vw}
.panel__bg{position:absolute;inset:-6% 0;z-index:0}
.panel__bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);will-change:transform}
.panel__tint{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(9,7,4,.88) 0%,rgba(9,7,4,.56) 34%,rgba(9,7,4,.12) 62%,transparent 86%)}
.panel__grade{position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:screen;opacity:.58}
.panel[data-hour="pomeriggio"] .panel__grade{
  background:radial-gradient(60% 70% at 76% 46%,rgba(233,174,101,.4),transparent 60%)
}
.panel[data-hour="notte"] .panel__grade{
  background:
    radial-gradient(44% 54% at 74% 48%,rgba(255,111,42,.28),transparent 58%),
    linear-gradient(180deg,rgba(58,82,144,.22),transparent 55%)
}
.panel[data-hour="alba"] .panel__grade{
  background:radial-gradient(52% 64% at 76% 44%,rgba(246,188,160,.34),transparent 62%)
}

/* grounded cutout bottle (right) */
.panel__bottle{position:absolute;right:7vw;bottom:8vh;z-index:2;height:76vh;margin:0;will-change:transform,opacity}
.panel__bottle img{height:100%;width:auto;display:block;
  filter:drop-shadow(0 26px 34px rgba(0,0,0,.58))}
.panel__shadow{position:absolute;left:50%;bottom:-2.5vh;width:78%;height:7vh;transform:translateX(-50%);
  background:radial-gradient(closest-side,rgba(0,0,0,.6),transparent 78%);filter:blur(6px);z-index:-1}
.panel__sweep{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;opacity:0;
  background:linear-gradient(108deg,transparent 40%,rgba(255,240,210,.5) 50%,transparent 60%)}

/* per-hour bottle warmth (subtle — sit in the scene's light) */
.panel[data-hour="alba"] .panel__bottle img{filter:drop-shadow(0 24px 30px rgba(0,0,0,.5)) brightness(1.04) saturate(1.02)}
.panel[data-hour="notte"] .panel__bottle img{filter:drop-shadow(0 24px 34px rgba(0,0,0,.6)) brightness(.92) saturate(1.04)}

.panel__copy{position:absolute;left:7vw;top:50%;transform:translateY(-50%);z-index:5;max-width:34rem;
  display:flex;flex-direction:column;gap:1rem;color:#f2e8d7}
.panel__index{font-family:var(--sans);font-size:.7rem;opacity:.62}
.panel__copy .frase{text-shadow:0 2px 24px rgba(0,0,0,.6)}
.panel__aside{position:absolute;right:7vw;top:9vh;z-index:5;max-width:14rem;
  font-family:var(--sans);font-size:.86rem;line-height:1.45;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(242,232,215,.72);text-align:right}

/* ---------- LA COLLEZIONE (the three together) ---------- */
.collezione{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:7vh;padding:14vh 6vw;background:
    radial-gradient(100% 100% at 50% 24%,rgba(143,94,47,.22),transparent 48%),
    radial-gradient(120% 100% at 50% 30%,#1a130b,#0b0805 76%);color:#f0e6d4}
.collezione__head{text-align:center;display:flex;flex-direction:column;gap:1rem;align-items:center;z-index:2}
.collezione__title{font-style:italic;font-size:clamp(1.4rem,3vw,2.4rem);max-width:24ch}
.collezione__body{max-width:32rem;font-family:var(--sans);font-size:1rem;line-height:1.6;color:rgba(240,230,212,.72)}
.collezione__row{list-style:none;display:flex;justify-content:center;align-items:flex-end;gap:clamp(1.5rem,5vw,6rem);width:100%;max-width:1180px;z-index:2}
.bottiglia{position:relative;display:flex;flex-direction:column;align-items:center;gap:.6rem;flex:1 1 0;max-width:24rem;
  transition:transform .6s cubic-bezier(.16,1,.3,1)}
.bottiglia__glow{position:absolute;top:6%;left:50%;width:80%;height:70%;transform:translateX(-50%);z-index:-1;
  background:radial-gradient(closest-side,rgba(255,210,150,.16),transparent 72%);opacity:0;transition:opacity .6s ease}
.bottiglia img{height:42vh;max-height:460px;width:auto;display:block;
  filter:drop-shadow(0 26px 32px rgba(0,0,0,.55))}
.bottiglia__nome{font-size:clamp(1rem,1.6vw,1.4rem);letter-spacing:.22em;margin-top:.6rem}
.bottiglia__ora{opacity:.6}
@media (hover:hover){
  .bottiglia:hover{transform:translateY(-14px)}
  .bottiglia:hover .bottiglia__glow{opacity:1}
}

/* ---------- MAISON ---------- */
.maison{position:relative;min-height:80vh;padding:14vh 7vw 16vh;background:
  linear-gradient(180deg,#0d0907 0%,#120d0b 42%,#090708 100%);
  color:#ebdfca;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:6vw;align-items:start}
.maison__intro{display:grid;gap:1rem;position:sticky;top:18vh}
.maison__title{white-space:normal;max-width:10ch}
.maison__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.maison__card{min-height:15rem;padding:1.4rem 1.2rem 1.6rem;border:1px solid rgba(235,223,202,.12);
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01));
  backdrop-filter:blur(6px)}
.maison__index{font-family:var(--sans);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;
  color:rgba(235,223,202,.46);margin-bottom:2.4rem}
.maison__card p:last-child{font-size:1.2rem;line-height:1.48;max-width:16ch}

/* ---------- FOOTER ---------- */
.footer{position:relative;min-height:64vh;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#0a0f18,#080604);color:#e6dcc8}
.footer__inner{text-align:center;display:flex;flex-direction:column;gap:1rem;align-items:center;z-index:5;padding:14vh 7vw;max-width:48rem}
.footer__manifesto{font-style:italic;max-width:34ch;margin:0 auto 3vh;opacity:.92;font-size:clamp(1.1rem,1.7vw,1.5rem)}
.footer__mail{margin-top:1rem}

@media (prefers-reduced-motion:reduce){
  .panel__bg img,.logo__path{transform:none}
  .logo__path{stroke-dasharray:none;stroke-dashoffset:0}
  .logo__sun{opacity:1}
}

/* ---------- MOBILE: horizontal day -> vertical stack ---------- */
@media (max-width:1080px){
  .hero__grid{grid-template-columns:1fr;gap:1.5rem;padding-top:15vh}
  .hero__copy{max-width:100%}
  .hero__bottle{justify-self:center;align-self:end;width:min(54vw,24rem);margin:0 auto 10vh}
  .hero__caption{left:auto;right:-1rem;bottom:8%;max-width:12rem}
  .maison{grid-template-columns:1fr}
  .maison__intro{position:relative;top:auto}
  .maison__grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .hero{height:auto;min-height:100svh}
  .hero__grid{padding:16vh 7vw 11vh}
  .hero__bottle{width:min(74vw,22rem);margin:0 auto 4vh}
  .hero__caption{position:relative;left:auto;right:auto;bottom:auto;margin-top:-1rem}
  .day{height:auto;overflow:visible}
  .track{flex-direction:column;width:100%;height:auto;transform:none!important}
  .panel{width:100%;height:100svh}
  .panel__tint{background:linear-gradient(0deg,rgba(9,7,4,.9) 0%,rgba(9,7,4,.5) 42%,transparent 78%)}
  .panel__copy{left:7vw;right:7vw;top:auto;bottom:8vh;transform:none;max-width:100%}
  .panel__bottle{right:50%;transform:translateX(50%);height:52vh;bottom:auto;top:10vh}
  .panel__aside{left:7vw;right:7vw;top:6vh;max-width:none;text-align:left;font-size:.72rem}
  .panel__shadow{display:none}
  .nome{font-size:clamp(2.4rem,12vw,3.6rem);white-space:nowrap}
  .logo__name{font-size:clamp(2.2rem,11vw,3.2rem);letter-spacing:.3em;padding-left:.3em}
  .maison{padding:11vh 7vw 13vh}
}
