@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');

:root{
  --ink:#152419;
  --deep:#0e2418;
  --green:#1d4e35;
  --green-2:#2d6b4b;
  --paper:#f6f1e7;
  --paper-2:#fffaf0;
  --gold:#d6a54e;
  --gold-soft:#f0d18d;
  --rose:#d37f7c;
  --line:rgba(14,36,24,.14);
  --shadow:0 24px 80px rgba(13,34,24,.13);
  --radius:28px;
  --nav-h:84px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;color:var(--ink);font-family:'DM Sans',system-ui,-apple-system,sans-serif;background:var(--paper);overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
img{display:block;max-width:100%}
::selection{background:var(--gold-soft);color:var(--deep)}

body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.11'/%3E%3C/svg%3E")}

.container{width:min(1180px,calc(100% - 42px));margin-inline:auto}
.kicker{display:inline-flex;align-items:center;gap:10px;font-size:.77rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700}
.kicker:before{content:"";width:30px;height:1px;background:currentColor;opacity:.6}
.serif{font-family:'Instrument Serif',serif;font-weight:400}
.display{font-family:'Instrument Serif',serif;font-size:clamp(4rem,10vw,9.2rem);line-height:.78;letter-spacing:-.055em;font-weight:400;margin:0}
.section-title{font-family:'Instrument Serif',serif;font-size:clamp(3rem,7vw,6.3rem);line-height:.88;letter-spacing:-.045em;margin:0}
.lead{font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.55;color:rgba(21,36,25,.75)}
.muted{color:rgba(21,36,25,.6)}

/* nav */
.site-nav{height:var(--nav-h);position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;transition:.4s ease;background:linear-gradient(to bottom,rgba(246,241,231,.88),rgba(246,241,231,.2),transparent);backdrop-filter:blur(4px)}
.site-nav.scrolled{height:70px;background:rgba(246,241,231,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:-.04em}
.brand-mark{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(14,36,24,.25);position:relative;overflow:hidden}
.brand-mark:before{content:"";position:absolute;left:8px;right:8px;bottom:7px;height:19px;border-radius:55% 55% 48% 48%;background:linear-gradient(180deg,var(--gold-soft),var(--gold))}
.brand-mark:after{content:"";position:absolute;width:5px;height:5px;border:1px solid var(--deep);border-radius:50%;left:9px;top:8px;box-shadow:9px 3px 0 -1px var(--paper),9px 3px 0 0 var(--deep),16px -2px 0 -1px var(--paper),16px -2px 0 0 var(--deep)}
.brand span small{display:block;font-size:.61rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:rgba(21,36,25,.58)}
.nav-links{display:flex;align-items:center;gap:28px;font-size:.9rem;font-weight:600}
.nav-links a{position:relative}
.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--deep);transition:.25s ease}
.nav-links a:hover:after,.nav-links a.active:after{right:0}
.nav-cta{display:inline-flex;padding:11px 18px;border-radius:99px;background:var(--deep);color:white;align-items:center;gap:8px}
.menu-btn{display:none;background:none;border:0;width:46px;height:46px;border-radius:50%;padding:0;place-items:center}
.menu-btn i,.menu-btn i:before,.menu-btn i:after{content:"";display:block;width:20px;height:1.5px;background:var(--deep);position:relative;transition:.25s}
.menu-btn i:before{position:absolute;top:-6px}.menu-btn i:after{position:absolute;top:6px}

/* loader */
.spark-loader{position:fixed;inset:0;background:var(--deep);z-index:5000;display:grid;place-items:center;color:white;transition:opacity .6s ease,visibility .6s ease}
.spark-loader.hidden{opacity:0;visibility:hidden}
.loader-core{display:flex;flex-direction:column;align-items:center;gap:22px}
.loader-glass{width:112px;height:150px;position:relative}
.loader-glass svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.loader-fill{animation:fillWine 1.35s cubic-bezier(.6,.08,.27,.98) forwards;transform-origin:bottom}
.loader-bubble{animation:bubbleRise 1.25s ease-in infinite;transform-box:fill-box;transform-origin:center}
.loader-bubble:nth-child(2){animation-delay:.18s}.loader-bubble:nth-child(3){animation-delay:.35s}.loader-bubble:nth-child(4){animation-delay:.53s}
.loader-copy{font-family:'Instrument Serif',serif;font-size:2rem;letter-spacing:-.03em}
.loader-copy small{font:600 .65rem 'DM Sans';text-transform:uppercase;letter-spacing:.18em;display:block;text-align:center;margin-top:7px;color:rgba(255,255,255,.55)}
@keyframes fillWine{from{transform:scaleY(.06)}to{transform:scaleY(1)}}
@keyframes bubbleRise{0%{transform:translateY(25px) scale(.65);opacity:0}20%{opacity:1}100%{transform:translateY(-48px) scale(1);opacity:0}}

.page-curtain{position:fixed;inset:0;z-index:4500;pointer-events:none;transform:translateY(101%);background:var(--deep);transition:transform .52s cubic-bezier(.76,0,.24,1);display:grid;place-items:center;color:white}
body.leaving .page-curtain{transform:translateY(0)}
.page-curtain .mini-glass{width:46px;height:62px;border:1px solid rgba(255,255,255,.8);border-radius:4px 4px 18px 18px;position:relative;overflow:hidden}
.page-curtain .mini-glass:before{content:"";position:absolute;left:0;right:0;bottom:0;height:70%;background:var(--gold);animation:slosh .9s ease-in-out infinite alternate}
@keyframes slosh{to{height:86%}}

/* hero */
.hero{min-height:100svh;position:relative;padding:calc(var(--nav-h) + 72px) 0 70px;overflow:hidden;background:radial-gradient(circle at 80% 10%,rgba(240,209,141,.45),transparent 30%),radial-gradient(circle at 15% 70%,rgba(45,107,75,.13),transparent 34%),var(--paper)}
.hero-grid{display:grid;grid-template-columns:1.18fr .82fr;align-items:end;min-height:calc(100svh - 170px);gap:50px}
.hero-copy{position:relative;z-index:2}
.hero-copy .kicker{margin-bottom:28px}
.hero-copy .display em{font-style:italic;color:var(--green)}
.hero-sub{display:flex;gap:26px;align-items:flex-end;margin-top:36px;max-width:740px}
.hero-sub p{margin:0;max-width:530px;font-size:1.05rem;line-height:1.6}
.hero-pill{flex:0 0 auto;width:132px;height:132px;border-radius:50%;border:1px solid rgba(14,36,24,.2);display:grid;place-items:center;text-align:center;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;position:relative}
.hero-pill:after{content:"↘";font-size:1.4rem;position:absolute;bottom:20px}
.hero-art{position:relative;height:min(72vh,700px);min-height:520px}
.hero-bottle{position:absolute;right:18%;bottom:4%;width:145px;height:520px;border-radius:68px 68px 28px 28px;background:linear-gradient(90deg,#173b28,#28593e 45%,#143523 75%);transform:rotate(7deg);box-shadow:0 30px 80px rgba(12,42,28,.25)}
.hero-bottle:before{content:"";position:absolute;width:64px;height:105px;top:-70px;left:40px;background:#173b28;border-radius:10px 10px 4px 4px}
.hero-bottle:after{content:"BOLLICINE\A PERUGIA";white-space:pre;position:absolute;left:20px;right:20px;top:160px;height:150px;border-radius:10px;background:#f5ead1;display:grid;place-items:center;text-align:center;color:var(--deep);font-weight:800;font-size:1rem;letter-spacing:.08em;line-height:1.5;box-shadow:inset 0 0 0 1px rgba(14,36,24,.12)}
.hero-glass{position:absolute;left:3%;bottom:0;width:185px;height:480px}
.hero-glass .cup{position:absolute;left:20px;top:0;width:145px;height:290px;border:2px solid rgba(14,36,24,.55);border-top:0;border-radius:0 0 70px 70px;overflow:hidden;clip-path:polygon(9% 0,91% 0,77% 100%,23% 100%)}
.hero-glass .wine{position:absolute;left:8px;right:8px;bottom:4px;height:67%;background:linear-gradient(180deg,#f3d999,#d9a94f);border-radius:0 0 60px 60px;animation:floatWine 4s ease-in-out infinite alternate}
.hero-glass .stem{position:absolute;left:90px;top:286px;width:3px;height:140px;background:rgba(14,36,24,.55)}
.hero-glass .base{position:absolute;left:43px;top:424px;width:96px;height:2px;background:rgba(14,36,24,.55)}
.hero-glass .bubble{position:absolute;border:1px solid rgba(255,255,255,.8);border-radius:50%;animation:bubbles 4s linear infinite}
@keyframes floatWine{to{height:72%}}
@keyframes bubbles{from{transform:translateY(70px);opacity:0}15%{opacity:.9}to{transform:translateY(-180px);opacity:0}}
.art-orbit{position:absolute;border:1px solid rgba(14,36,24,.14);border-radius:50%;animation:spin 18s linear infinite}
.art-orbit.one{inset:2% 3% 16% 8%}.art-orbit.two{inset:18% 12% 6% 2%;animation-direction:reverse;animation-duration:24s}
.art-dot{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 8px rgba(214,165,78,.13)}
.art-dot.d1{right:7%;top:22%}.art-dot.d2{left:12%;top:15%;width:7px;height:7px}.art-dot.d3{right:1%;bottom:25%;width:21px;height:21px;background:var(--rose)}
@keyframes spin{to{transform:rotate(360deg)}}

.hero-meta{position:absolute;left:0;right:0;bottom:22px}
.hero-meta-inner{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:17px;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:rgba(21,36,25,.63)}

/* sections */
.section{padding:120px 0;position:relative}
.section-dark{background:var(--deep);color:#fff}
.section-dark .lead,.section-dark .muted{color:rgba(255,255,255,.65)}
.section-head{display:grid;grid-template-columns:1fr .65fr;gap:60px;align-items:end;margin-bottom:58px}
.section-head p{margin:0}

.intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}
.intro-stamp{position:sticky;top:120px;aspect-ratio:1;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;max-width:300px;animation:spin 28s linear infinite}
.intro-stamp:before{content:"ASSAGGIA • SCOPRI • INCONTRA • PERUGIA • ";font-size:.77rem;letter-spacing:.18em;font-weight:700;white-space:nowrap}
.intro-stamp:after{content:"B°";position:absolute;font-family:'Instrument Serif';font-size:5rem;letter-spacing:-.1em;animation:spin 28s linear infinite reverse}
.intro-copy p{font-family:'Instrument Serif';font-size:clamp(2.2rem,4.7vw,4.5rem);line-height:1.04;letter-spacing:-.035em;margin:0}
.intro-copy p strong{font-weight:400;color:var(--green)}
.fact-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.fact{border-top:1px solid var(--line);padding-top:15px}
.fact b{display:block;font-family:'Instrument Serif';font-size:2.6rem;font-weight:400;letter-spacing:-.04em}.fact span{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(21,36,25,.57)}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{min-height:360px;border-radius:var(--radius);padding:26px;position:relative;overflow:hidden;border:1px solid var(--line);background:rgba(255,255,255,.35);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;cursor:pointer}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:rgba(14,36,24,.26)}
.card:before{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-50px;top:-50px;background:radial-gradient(circle,var(--gold-soft),rgba(240,209,141,.25) 45%,transparent 70%);filter:blur(1px)}
.card .tag{display:inline-flex;padding:7px 10px;border-radius:99px;border:1px solid var(--line);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.card h3{font-family:'Instrument Serif';font-size:2.2rem;line-height:1;margin:90px 0 10px;font-weight:400;letter-spacing:-.03em}
.card p{font-size:.92rem;line-height:1.55;color:rgba(21,36,25,.67);margin:0 0 24px}
.card .more{position:absolute;left:26px;right:26px;bottom:24px;display:flex;align-items:center;justify-content:space-between;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.card .more i{font-style:normal;font-size:1.5rem}
.card[data-tone="green"]{background:#dfe9db}.card[data-tone="gold"]{background:#f2dfad}.card[data-tone="rose"]{background:#edd4d1}.card[data-tone="cream"]{background:#f3ead8}

.feature-banner{border-radius:38px;min-height:560px;background:linear-gradient(135deg,#173a28 0%,#0e2418 56%,#3b6b4f 100%);color:white;overflow:hidden;position:relative;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;padding:64px}
.feature-banner:after{content:"";position:absolute;width:560px;height:560px;border-radius:50%;right:-180px;top:-150px;border:1px solid rgba(255,255,255,.14);box-shadow:0 0 0 60px rgba(255,255,255,.025),0 0 0 120px rgba(255,255,255,.02)}
.feature-banner h2{font-family:'Instrument Serif';font-size:clamp(3.7rem,7vw,7rem);line-height:.85;letter-spacing:-.05em;margin:20px 0}.feature-banner p{max-width:520px;line-height:1.6;color:rgba(255,255,255,.68)}
.big-glass{height:430px;position:relative;z-index:2}.big-glass .cup{position:absolute;left:50%;top:15px;transform:translateX(-50%);width:185px;height:280px;border:2px solid rgba(255,255,255,.7);border-top:0;clip-path:polygon(10% 0,90% 0,75% 100%,25% 100%);overflow:hidden;border-radius:0 0 80px 80px}.big-glass .liquid{position:absolute;left:7px;right:7px;bottom:4px;height:72%;background:linear-gradient(#f4d995,#d6a54e);border-radius:0 0 70px 70px}.big-glass .stem{position:absolute;left:50%;top:294px;width:2px;height:90px;background:rgba(255,255,255,.7)}.big-glass .base{position:absolute;left:50%;top:383px;width:115px;height:2px;transform:translateX(-50%);background:rgba(255,255,255,.7)}
.big-glass .bub{position:absolute;border:1px solid rgba(255,255,255,.76);border-radius:50%;animation:bubbles 3.5s linear infinite}

.program-list{border-top:1px solid rgba(255,255,255,.14)}
.program-item{display:grid;grid-template-columns:120px 1fr auto;gap:34px;align-items:center;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.14);transition:.25s}.program-item:hover{padding-left:10px}.program-time{font-family:'Instrument Serif';font-size:2.1rem}.program-item h3{margin:0 0 5px;font-size:1rem}.program-item p{margin:0;font-size:.86rem;color:rgba(255,255,255,.53)}.program-type{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;border:1px solid rgba(255,255,255,.2);border-radius:99px;padding:8px 10px}

.chips{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0 34px}.chip{border:1px solid var(--line);background:transparent;border-radius:99px;padding:10px 15px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;cursor:pointer;transition:.2s}.chip.active,.chip:hover{background:var(--deep);color:white;border-color:var(--deep)}

.timeline{display:grid;grid-template-columns:150px 1fr;gap:40px}.timeline-day{font-family:'Instrument Serif';font-size:2.7rem;position:sticky;top:100px;align-self:start}.timeline-items{border-top:1px solid var(--line)}.timeline-row{display:grid;grid-template-columns:90px 1fr auto;gap:30px;padding:26px 0;border-bottom:1px solid var(--line);align-items:start}.timeline-row time{font-weight:800}.timeline-row h3{margin:0 0 7px;font-family:'Instrument Serif';font-size:2rem;font-weight:400}.timeline-row p{margin:0;color:rgba(21,36,25,.63);line-height:1.5}.timeline-row .badge{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;padding:7px 10px;border:1px solid var(--line);border-radius:99px}

/* footer */
.footer{background:#0a1d13;color:white;padding:78px 0 32px}.footer-top{display:grid;grid-template-columns:1.4fr .6fr .6fr;gap:60px}.footer-title{font-family:'Instrument Serif';font-size:clamp(3.4rem,6vw,6rem);line-height:.86;letter-spacing:-.04em;margin:0}.footer p,.footer a{color:rgba(255,255,255,.62);font-size:.9rem;line-height:1.7}.footer-nav{display:grid;gap:9px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:60px;padding-top:20px;display:flex;justify-content:space-between;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.4)}

/* modal */
.modal{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:22px;visibility:hidden}.modal.open{visibility:visible}.modal-backdrop{position:absolute;inset:0;background:rgba(9,29,19,.72);backdrop-filter:blur(12px);opacity:0;transition:.3s}.modal.open .modal-backdrop{opacity:1}.modal-panel{position:relative;width:min(620px,100%);max-height:min(760px,88vh);overflow:auto;background:var(--paper-2);border-radius:32px;padding:34px;z-index:1;transform:translateY(30px) scale(.98);opacity:0;transition:.35s cubic-bezier(.2,.8,.2,1);box-shadow:0 30px 120px rgba(0,0,0,.25)}.modal.open .modal-panel{transform:none;opacity:1}.modal-close{position:absolute;right:18px;top:18px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:transparent;cursor:pointer;font-size:1.1rem}.modal h2{font-family:'Instrument Serif';font-size:3rem;line-height:.95;font-weight:400;letter-spacing:-.03em;margin:30px 0 14px}.modal p{line-height:1.65;color:rgba(21,36,25,.68)}.modal-info{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:24px}.modal-info div{padding:16px;border:1px solid var(--line);border-radius:18px}.modal-info b{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px}.modal-info span{font-size:.9rem;color:rgba(21,36,25,.66)}

/* marquee */
.marquee{overflow:hidden;border-block:1px solid var(--line);padding:14px 0;white-space:nowrap}.marquee-track{display:inline-flex;gap:36px;animation:marquee 24s linear infinite;font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.marquee-track i{font-style:normal;color:var(--gold)}@keyframes marquee{to{transform:translateX(-50%)}}

/* interior hero */
.inner-hero{padding:160px 0 70px;min-height:68vh;display:flex;align-items:flex-end;background:radial-gradient(circle at 77% 12%,rgba(240,209,141,.4),transparent 25%),var(--paper);position:relative;overflow:hidden}.inner-hero .display{font-size:clamp(4.3rem,12vw,10rem)}.inner-hero p{max-width:660px}.inner-bubbles{position:absolute;right:-30px;top:80px;width:min(46vw,620px);aspect-ratio:1}.inner-bubbles span{position:absolute;border:1px solid rgba(14,36,24,.18);border-radius:50%;animation:float 7s ease-in-out infinite alternate}.inner-bubbles span:nth-child(1){inset:9% 18% 28% 6%}.inner-bubbles span:nth-child(2){width:22%;height:22%;right:7%;top:12%;animation-delay:.6s}.inner-bubbles span:nth-child(3){width:12%;height:12%;left:21%;top:3%;animation-delay:1s;background:rgba(214,165,78,.16)}.inner-bubbles span:nth-child(4){width:31%;height:31%;right:0;bottom:5%;animation-delay:1.4s;background:rgba(45,107,75,.07)}@keyframes float{to{transform:translateY(-18px) translateX(7px)}}

.notice{padding:14px 18px;border-radius:16px;background:#efe0b5;border:1px solid rgba(101,74,16,.18);font-size:.85rem;line-height:1.5;color:#604814}
.searchbar{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:18px;padding:12px 16px;background:rgba(255,255,255,.4);max-width:520px}.searchbar input{border:0;background:transparent;outline:0;width:100%;color:var(--ink)}

/* coming soon */
.coming{min-height:100svh;background:var(--deep);color:white;display:grid;place-items:center;position:relative;overflow:hidden;padding:30px}.coming:before,.coming:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.1);border-radius:50%;width:60vw;height:60vw;min-width:500px;min-height:500px}.coming:before{left:-20vw;top:-20vw}.coming:after{right:-25vw;bottom:-25vw}.coming-inner{text-align:center;max-width:870px;position:relative;z-index:2}.coming .brand{justify-content:center;color:white}.coming .brand-mark{border-color:rgba(255,255,255,.3)}.coming .brand-mark:after{border-color:white;box-shadow:9px 3px 0 -1px var(--deep),9px 3px 0 0 white,16px -2px 0 -1px var(--deep),16px -2px 0 0 white}.coming h1{font-family:'Instrument Serif';font-size:clamp(4.3rem,11vw,9rem);line-height:.82;font-weight:400;letter-spacing:-.055em;margin:58px 0 25px}.coming h1 em{color:var(--gold-soft)}.coming p{max-width:620px;margin:0 auto;color:rgba(255,255,255,.62);line-height:1.6}.coming-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:35px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;border-radius:99px;border:1px solid var(--line);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;transition:.25s;background:transparent;cursor:pointer}.btn-dark{background:var(--deep);border-color:var(--deep);color:white}.btn-light{background:white;border-color:white;color:var(--deep)}.btn-outline-light{border-color:rgba(255,255,255,.25);color:white}.btn:hover{transform:translateY(-2px)}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}

@media(max-width:960px){
  :root{--nav-h:72px}.container{width:min(100% - 28px,1180px)}.nav-links{position:fixed;left:14px;right:14px;top:80px;background:rgba(246,241,231,.97);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:24px;padding:24px;display:grid;gap:18px;box-shadow:var(--shadow);transform:translateY(-15px);opacity:0;visibility:hidden;transition:.25s}.nav-links.open{transform:none;opacity:1;visibility:visible}.nav-links .nav-cta{justify-content:center}.menu-btn{display:grid}.hero{padding-top:120px}.hero-grid{grid-template-columns:1fr;align-items:start}.hero-copy{padding-top:20px}.hero-art{height:520px;min-height:0;margin-top:-40px;transform:scale(.9)}.hero-sub{align-items:flex-start}.section{padding:88px 0}.section-head,.intro-grid{grid-template-columns:1fr}.intro-stamp{position:relative;top:auto;width:180px;margin-bottom:20px}.cards{grid-template-columns:repeat(2,1fr)}.feature-banner{grid-template-columns:1fr;padding:40px}.big-glass{height:350px}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}.timeline{grid-template-columns:1fr}.timeline-day{position:static}.inner-bubbles{opacity:.4}
}
@media(max-width:640px){
  .display{font-size:clamp(4rem,20vw,6.4rem)}.hero{min-height:auto;padding-bottom:70px}.hero-grid{min-height:auto}.hero-sub{display:block}.hero-pill{margin-top:26px;width:105px;height:105px}.hero-art{height:430px;margin-top:-15px;transform:scale(.78);transform-origin:center top}.hero-meta{display:none}.section-head{gap:22px}.fact-row{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.card{min-height:330px}.feature-banner{padding:28px;border-radius:28px}.program-item{grid-template-columns:80px 1fr}.program-type{display:none}.timeline-row{grid-template-columns:70px 1fr}.timeline-row .badge{display:none}.footer-top{grid-template-columns:1fr}.footer-bottom{display:grid;gap:10px}.modal-panel{padding:26px 22px}.modal-info{grid-template-columns:1fr}.inner-hero{padding-top:130px;min-height:58vh}.coming h1{margin-top:45px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* =========================================================
   BOLLICINE NOIR — luxury black / white / sparkling gold
   Patch 11.09.2026
   ========================================================= */
:root{
  --ink:#f6f3eb;
  --deep:#11100e;
  --green:#c9a45d;
  --green-2:#e0c47e;
  --paper:#11100e;
  --paper-2:#181613;
  --gold:#c9a45d;
  --gold-soft:#ead59d;
  --rose:#c9a45d;
  --line:rgba(255,255,255,.13);
  --shadow:0 30px 90px rgba(0,0,0,.38);
}
html,body{background:#11100e;color:#f6f3eb}
body{background:radial-gradient(circle at 78% 3%,rgba(201,164,93,.085),transparent 25%),#11100e}
body:before{opacity:.11;mix-blend-mode:screen}
::selection{background:var(--gold);color:#11100e}
.lead{color:rgba(255,255,255,.68)}
.muted{color:rgba(255,255,255,.52)}
.kicker{color:var(--gold-soft)}

/* navigation */
.site-nav{background:linear-gradient(to bottom,rgba(17,16,14,.93),rgba(17,16,14,.46),transparent);color:#fff}
.site-nav.scrolled{background:rgba(17,16,14,.91);border-bottom-color:rgba(201,164,93,.17);box-shadow:0 10px 40px rgba(0,0,0,.12)}
.brand-mark{border-color:rgba(201,164,93,.52);background:rgba(255,255,255,.015)}
.brand-mark:before{background:linear-gradient(180deg,#efd898,#b6873d)}
.brand-mark:after{border-color:#f6f3eb;box-shadow:9px 3px 0 -1px #11100e,9px 3px 0 0 #f6f3eb,16px -2px 0 -1px #11100e,16px -2px 0 0 #f6f3eb}
.brand span small{color:rgba(255,255,255,.5)}
.nav-links a:after{background:var(--gold)}
.nav-cta{background:var(--gold);color:#11100e;border:1px solid var(--gold)}
.menu-btn i,.menu-btn i:before,.menu-btn i:after{background:#f6f3eb}

/* loader and liquid page transition */
.spark-loader,.page-curtain{background:#0d0c0a}
.loader-copy{color:#fff}
.loader-copy small{color:rgba(234,213,157,.64)}
.page-curtain .mini-glass{border-color:rgba(255,255,255,.66);border-radius:2px 2px 20px 20px}
.page-curtain .mini-glass:after{content:"";position:absolute;left:-4px;right:-4px;top:-3px;height:7px;border:1px solid rgba(255,255,255,.52);border-radius:50%}
.page-curtain .mini-glass:before{background:linear-gradient(180deg,#ead59d,#b8873c)}

/* hero */
.hero{background:radial-gradient(circle at 78% 20%,rgba(201,164,93,.13),transparent 28%),radial-gradient(circle at 35% 75%,rgba(255,255,255,.025),transparent 34%),#11100e}
.hero-copy .display{color:#fff;text-shadow:0 18px 55px rgba(0,0,0,.22)}
.hero-copy .display em{color:var(--gold-soft)}
.hero-sub p{color:rgba(255,255,255,.68)}
.hero-pill{border-color:rgba(201,164,93,.45);color:#fff;background:rgba(255,255,255,.015);box-shadow:inset 0 0 0 1px rgba(255,255,255,.015)}
.hero-pill:hover{background:var(--gold);color:#11100e;transform:rotate(-4deg)}
.hero-art{isolation:isolate}
.hero-still-life{position:absolute;width:min(100%,520px);height:100%;right:-1%;bottom:-3%;overflow:visible;filter:saturate(.94)}
.hero-still-life .svg-bubble{transform-box:fill-box;transform-origin:center;animation:svgBubble 4.4s ease-in infinite}
.hero-still-life .b2{animation-delay:.9s}.hero-still-life .b3{animation-delay:1.7s}.hero-still-life .b4{animation-delay:2.45s}
@keyframes svgBubble{0%{transform:translateY(20px) scale(.75);opacity:0}18%{opacity:.88}100%{transform:translateY(-72px) scale(1.03);opacity:0}}
.art-orbit{border-color:rgba(201,164,93,.14)}
.art-dot{background:var(--gold);box-shadow:0 0 0 9px rgba(201,164,93,.08)}
.hero-meta-inner{border-top-color:rgba(255,255,255,.12);color:rgba(255,255,255,.46)}

/* marquee + sections */
.marquee{border-block-color:rgba(201,164,93,.22);background:#0d0c0a;color:rgba(255,255,255,.72)}
.section{background:transparent}
.section-dark{background:#0d0c0a}
.section-dark:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent,rgba(201,164,93,.025),transparent)}
.intro-stamp{border-color:rgba(201,164,93,.24);color:rgba(255,255,255,.75)}
.intro-stamp:after{color:var(--gold)}
.intro-copy p{color:#fff}
.intro-copy p strong{color:var(--gold-soft)}
.fact{border-top-color:rgba(201,164,93,.23)}
.fact b{color:var(--gold-soft)}
.fact span{color:rgba(255,255,255,.46)}

/* cards */
.card,.card[data-tone="green"],.card[data-tone="gold"],.card[data-tone="rose"],.card[data-tone="cream"]{background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));border-color:rgba(201,164,93,.17);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.card:hover{border-color:rgba(201,164,93,.52);box-shadow:0 24px 70px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.05)}
.card:before{background:radial-gradient(circle,rgba(201,164,93,.22),rgba(201,164,93,.055) 48%,transparent 70%)}
.card .tag{border-color:rgba(201,164,93,.25);color:var(--gold-soft)}
.card h3{color:#fff}
.card p{color:rgba(255,255,255,.58)}
.card .more{color:rgba(255,255,255,.8)}
.card .more i{color:var(--gold)}

/* wine-glass feature: more realistic bowl, finer line */
.feature-banner{background:linear-gradient(128deg,#0b0a08 0%,#15130f 48%,#292116 100%);border:1px solid rgba(201,164,93,.2);box-shadow:0 34px 100px rgba(0,0,0,.28)}
.feature-banner:after{border-color:rgba(201,164,93,.13);box-shadow:0 0 0 60px rgba(201,164,93,.018),0 0 0 120px rgba(201,164,93,.012)}
.big-glass .cup{width:172px;height:287px;border:1.6px solid rgba(255,255,255,.72);border-top:0;clip-path:none;border-radius:8px 8px 78px 78px / 8px 8px 130px 130px;background:linear-gradient(90deg,rgba(255,255,255,.015),rgba(255,255,255,.045),rgba(255,255,255,.008));overflow:hidden}
.big-glass .cup:before{content:"";position:absolute;left:-2px;right:-2px;top:-7px;height:14px;border:1.6px solid rgba(255,255,255,.72);border-radius:50%;z-index:3;background:rgba(255,255,255,.012)}
.big-glass .cup:after{content:"";position:absolute;left:21px;top:26px;width:9px;height:190px;border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.2),transparent)}
.big-glass .liquid{left:8px;right:8px;bottom:4px;height:64%;background:linear-gradient(180deg,#efd998,#c9a45d 58%,#aa7f3c);border-radius:0 0 70px 70px}
.big-glass .stem{top:301px;width:1.7px;background:rgba(255,255,255,.7)}
.big-glass .base{top:392px;height:1.7px;width:124px;background:rgba(255,255,255,.7)}

/* program, timeline, chips */
.program-list{border-top-color:rgba(201,164,93,.18)}
.program-item{border-bottom-color:rgba(255,255,255,.1)}
.program-time{color:var(--gold-soft)}
.program-item p{color:rgba(255,255,255,.49)}
.program-type{border-color:rgba(201,164,93,.26);color:var(--gold-soft)}
.chip{border-color:rgba(201,164,93,.2);color:rgba(255,255,255,.72)}
.chip.active,.chip:hover{background:var(--gold);color:#11100e;border-color:var(--gold)}
.timeline-items,.timeline-row{border-color:rgba(255,255,255,.12)}
.timeline-day,.timeline-row time{color:var(--gold-soft)}
.timeline-row h3{color:#fff}.timeline-row p{color:rgba(255,255,255,.55)}
.timeline-row .badge{border-color:rgba(201,164,93,.24);color:var(--gold-soft)}

/* inner pages */
.inner-hero{background:radial-gradient(circle at 77% 12%,rgba(201,164,93,.12),transparent 27%),#11100e}
.inner-hero .display{color:#fff}
.inner-bubbles span{border-color:rgba(201,164,93,.16)}
.inner-bubbles span:nth-child(3){background:rgba(201,164,93,.075)}
.inner-bubbles span:nth-child(4){background:rgba(255,255,255,.025)}
.notice{background:rgba(201,164,93,.09);border-color:rgba(201,164,93,.28);color:#ead59d}
.notice code{color:#fff}
.searchbar{border-color:rgba(201,164,93,.2);background:rgba(255,255,255,.025);color:var(--gold-soft)}
.searchbar input{color:#fff}.searchbar input::placeholder{color:rgba(255,255,255,.37)}

/* modal */
.modal-backdrop{background:rgba(0,0,0,.76)}
.modal-panel{background:#181613;border:1px solid rgba(201,164,93,.22);color:#fff;box-shadow:0 40px 120px rgba(0,0,0,.52)}
.modal-close{border-color:rgba(201,164,93,.25);color:#fff}
.modal p,.modal-info span{color:rgba(255,255,255,.6)}
.modal-info div{border-color:rgba(201,164,93,.16);background:rgba(255,255,255,.018)}
.modal-info b{color:var(--gold-soft)}

/* buttons */
.btn{border-color:rgba(201,164,93,.28);color:#fff}
.btn-dark{background:var(--gold);border-color:var(--gold);color:#11100e}
.btn-light{background:#f7f4ed;border-color:#f7f4ed;color:#11100e}
.btn-outline-light{border-color:rgba(201,164,93,.35);color:#fff}
.btn:hover{box-shadow:0 12px 38px rgba(0,0,0,.18)}

/* PARTNER / SPONSOR system */
.partners-section{background:linear-gradient(180deg,#0d0c0a,#12110f);border-block:1px solid rgba(201,164,93,.1)}
.partner-groups{display:grid;gap:18px}
.partner-group{display:grid;grid-template-columns:220px 1fr;gap:28px;padding:26px 0;border-top:1px solid rgba(255,255,255,.1)}
.partner-group:first-child{border-top-color:rgba(201,164,93,.28)}
.partner-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.17em;font-weight:700;color:var(--gold-soft);padding-top:18px}
.partner-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.partner-logos-featured{grid-template-columns:minmax(260px,420px)}
.partner-logo{min-height:150px;border:1px solid rgba(255,255,255,.11);border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px;background:rgba(255,255,255,.018);position:relative;overflow:hidden;transition:.3s ease}
.partner-logo:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 25%,rgba(201,164,93,.05),transparent 70%);transform:translateX(-100%);transition:.6s}
.partner-logo:hover{border-color:rgba(201,164,93,.35);transform:translateY(-3px)}
.partner-logo:hover:before{transform:translateX(100%)}
.partner-logo.real{min-height:190px;background:linear-gradient(145deg,#171511,#0c0b09);border-color:rgba(201,164,93,.36);box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.partner-logo.real strong{font-family:'Instrument Serif',serif;font-weight:400;font-size:2.55rem;line-height:.78;letter-spacing:-.035em;color:#fff}
.partner-logo .logo-eyebrow,.partner-logo>span{font-size:.58rem;text-transform:uppercase;letter-spacing:.16em;color:var(--gold-soft);margin-bottom:12px}
.partner-logo small{font-size:.62rem;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.38);margin-top:12px}
.partner-logo.pending{border-style:dashed;color:rgba(255,255,255,.28)}
.partner-logo.pending strong{font-size:.86rem;letter-spacing:.2em;font-weight:600;color:rgba(255,255,255,.26)}
.partner-logo.pending span,.partner-logo.pending small{color:rgba(255,255,255,.25)}
.partner-logo img{max-width:76%;max-height:72px;object-fit:contain;filter:grayscale(1) brightness(1.8);opacity:.92}
.partner-wide{grid-column:span 2}
.partner-note{margin-top:34px;border:1px solid rgba(201,164,93,.18);border-radius:20px;padding:18px 20px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;background:rgba(201,164,93,.035)}
.partner-note>span{color:var(--gold);font-size:1.1rem}.partner-note p{margin:0;color:rgba(255,255,255,.49);font-size:.78rem;line-height:1.55}
.partner-hero{min-height:72vh}

/* footer and coming soon */
.footer{background:#080806;border-top:1px solid rgba(201,164,93,.14)}
.footer p,.footer a{color:rgba(255,255,255,.56)}
.footer a:hover{color:var(--gold-soft)}
.footer-bottom{border-top-color:rgba(201,164,93,.14);color:rgba(255,255,255,.34)}
.coming{background:radial-gradient(circle at 50% 40%,rgba(201,164,93,.09),transparent 28%),#0d0c0a}
.coming:before,.coming:after{border-color:rgba(201,164,93,.11)}
.coming h1 em{color:var(--gold-soft)}
.coming p{color:rgba(255,255,255,.58)}

@media(max-width:1100px){
  .nav-links{gap:18px;font-size:.84rem}
  .partner-logos{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:960px){
  .nav-links{background:rgba(17,16,14,.98);border-color:rgba(201,164,93,.18)}
  .hero-still-life{right:50%;transform:translateX(50%);width:480px}
  .partner-group{grid-template-columns:1fr;gap:10px}.partner-label{padding-top:0}
  .partner-logos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .partner-note{grid-template-columns:auto 1fr}.partner-note .btn{grid-column:1/-1;justify-self:start}
}
@media(max-width:640px){
  .hero-art{transform:none;height:430px;margin-top:15px}.hero-still-life{width:365px;bottom:-4%}
  .partner-logos,.partner-logos-featured{grid-template-columns:1fr 1fr}.partner-logos-featured .partner-logo{grid-column:1/-1}
  .partner-logo{min-height:130px;padding:16px}.partner-wide{grid-column:1/-1}
  .partner-note{grid-template-columns:1fr}.partner-note>span{display:none}
}
