@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Playfair+Display:wght@700;800&display=swap');

:root{
  --black:#040303;
  --wine:#8d1034;
  --deep:#23030d;
  --plum:#3d1029;
  --gold:#d2b06f;
  --gold2:#f1d8a2;
  --cream:#fbf2e4;
  --muted:rgba(251,242,228,.72);
  --line:rgba(210,176,111,.28);
  --soft:rgba(255,255,255,.06);
}

*{box-sizing:border-box}

body{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at 8% 5%, rgba(141,16,52,.35), transparent 30%),
    radial-gradient(circle at 90% 5%, rgba(210,176,111,.14), transparent 24%),
    linear-gradient(135deg,#030202,#120409 45%,#050303);
  color:var(--cream);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.app{min-height:100vh;position:relative;overflow:hidden}
.ambient{position:fixed;border-radius:999px;filter:blur(32px);pointer-events:none;opacity:.42}
.ambient-a{width:400px;height:400px;background:#8d1034;left:-160px;top:12%}
.ambient-b{width:280px;height:280px;background:#d2b06f;right:-120px;bottom:8%;opacity:.18}

.screen{
  display:none;
  min-height:100vh;
  padding:28px;
  align-items:center;
  justify-content:center;
  animation:fade .38s ease both;
}
.screen.active{display:flex}

.glass{
  border:1px solid var(--line);
  background:
    linear-gradient(135deg,rgba(255,255,255,.095),rgba(255,255,255,.025)),
    rgba(0,0,0,.58);
  backdrop-filter:blur(18px);
  box-shadow:0 32px 90px rgba(0,0,0,.58);
  border-radius:34px;
}

.intro-grid{
  width:min(1220px,100%);
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:28px;
  align-items:center;
}
.intro-copy{padding:50px}
.intro-art img{
  width:100%;
  display:block;
  border-radius:32px;
  border:1px solid rgba(210,176,111,.32);
  box-shadow:0 28px 90px rgba(0,0,0,.58);
}
.art-caption{
  margin-top:14px;
  color:var(--gold2);
  text-align:center;
  font-family:"Playfair Display",serif;
  font-size:1.25rem;
}

.eyebrow,.pour{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.78rem;
  font-weight:800;
}
.brand-icon{width:82px;height:82px;object-fit:contain;margin:24px 0 12px}

h1,h2{
  margin:0;
  font-family:"Playfair Display",Georgia,serif;
  line-height:.96;
  letter-spacing:-.045em;
}
h1{font-size:clamp(3.2rem,7.4vw,7rem)}
h2{font-size:clamp(2.35rem,5.6vw,5.2rem)}
p{line-height:1.72}
.lede{font-size:1.42rem;color:#fff;margin:22px 0 0}

.intro-note,.setup-card,.panel,.cta-box,.label-offer{
  border:1px solid rgba(255,255,255,.095);
  background:rgba(255,255,255,.045);
  border-radius:24px;
}
.intro-note{padding:24px;margin-top:26px}
.quote{
  font-family:"Playfair Display",Georgia,serif;
  color:var(--gold2);
  font-size:1.55rem;
  margin-bottom:10px;
  direction:rtl;
}
.intro-note p,.setup-card p,.question-sub,.capture p,.result-copy,.panel p,.cta-box p,.label-offer p{
  color:var(--muted);
}
.setup-card{padding:22px;margin-top:20px}
.setup-card h2{font-size:1.6rem;letter-spacing:-.02em}
.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
label{font-weight:800;color:var(--cream)}
select,input{
  width:100%;
  display:block;
  margin-top:8px;
  border:1px solid rgba(210,176,111,.32);
  background:rgba(255,255,255,.07);
  color:#fff;
  border-radius:16px;
  padding:14px 15px;
  outline:none;
  font:inherit;
}
select:focus,input:focus{border-color:var(--gold2);box-shadow:0 0 0 4px rgba(210,176,111,.12)}
option{background:#15070b;color:#fff}

.primary-btn,.ghost-btn,.text-btn,.answer-card{
  font:inherit;
}
.primary-btn{
  border:0;
  border-radius:999px;
  padding:16px 26px;
  background:linear-gradient(135deg,var(--gold2),#b99557);
  color:#120808;
  font-weight:900;
  cursor:pointer;
  transition:.18s ease;
  box-shadow:0 16px 36px rgba(0,0,0,.38);
}
.primary-btn:hover,.answer-card:hover{transform:translateY(-3px);filter:brightness(1.05)}
.primary-btn.full{width:100%}
.micro{margin-top:16px;color:rgba(251,242,228,.55);font-size:.92rem}

.quiz-shell{width:min(1060px,100%)}
.quiz-top{display:flex;gap:16px;align-items:center;margin-bottom:18px}
.ghost-btn{
  border:1px solid rgba(210,176,111,.34);
  background:rgba(255,255,255,.045);
  color:var(--cream);
  border-radius:999px;
  padding:11px 16px;
  cursor:pointer;
}
.progress-wrap{flex:1}
.progress-meta{display:flex;justify-content:space-between;gap:12px;color:rgba(251,242,228,.65);font-size:.86rem;margin-bottom:8px}
.progress-track{height:10px;border-radius:999px;background:rgba(255,255,255,.11);overflow:hidden}
.progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--wine),var(--gold2));transition:width .3s ease}

.quiz-card{padding:38px}
.quiz-card h2{margin-top:12px}
.answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px}
.answer-card{
  text-align:left;
  color:var(--cream);
  cursor:pointer;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(135deg,rgba(141,16,52,.22),rgba(255,255,255,.045));
  border-radius:24px;
  padding:22px;
  min-height:150px;
  transition:.18s ease;
}
.answer-card:hover{border-color:rgba(241,216,162,.7);background:linear-gradient(135deg,rgba(141,16,52,.34),rgba(255,255,255,.07))}
.answer-card strong{display:block;color:#fff;margin-bottom:8px;font-size:1.06rem}
.answer-card span{display:block;color:rgba(251,242,228,.73);line-height:1.56}

.decant,.capture,.result{width:min(920px,100%);padding:42px}
.decant{text-align:center}
.decant img{width:96px;margin-bottom:16px}
.decant h2{margin-top:8px}
.pour-animation{position:relative;width:170px;height:145px;margin:28px auto 0}
.stream{position:absolute;left:80px;top:0;width:11px;height:92px;border-radius:999px;background:linear-gradient(#8d1034,#f1d8a2);animation:stream 1.2s ease-in-out infinite}
.glass-cup{position:absolute;left:42px;bottom:0;width:86px;height:54px;border:3px solid var(--gold);border-top:0;border-radius:0 0 50px 50px}
.glass-cup:after{content:"";position:absolute;left:10px;right:10px;bottom:5px;height:20px;background:#8d1034;border-radius:0 0 40px 40px;animation:fill 1.2s ease-in-out infinite}

.capture-form{display:grid;gap:14px;margin-top:24px}
.capture-form label span{font-weight:500;color:rgba(251,242,228,.55)}
.text-btn{border:0;background:transparent;color:rgba(251,242,228,.72);text-decoration:underline;cursor:pointer;padding:10px}
.fine-print{font-size:.88rem;color:rgba(251,242,228,.55)!important}
.status{color:var(--gold2);min-height:20px}

.result{width:min(1120px,100%)}
.result-header{display:grid;grid-template-columns:1fr 280px;gap:24px;align-items:start}
.tagline{color:var(--gold2);font-weight:800;font-size:1.18rem;margin:12px 0 0}
.bottle-label{
  min-height:360px;
  border:1px solid rgba(210,176,111,.42);
  border-radius:28px;
  padding:22px;
  background:
    linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,.74)),
    url('campaign-card.jpeg');
  background-size:cover;
  background-position:center;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:inset 0 0 70px rgba(0,0,0,.45);
}
.label-top,.label-bottom{color:var(--gold);font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800}
.label-family{font-family:"Playfair Display",Georgia,serif;font-size:3rem;line-height:.95;text-shadow:0 4px 26px rgba(0,0,0,.65)}
.label-profile{color:var(--gold2);font-weight:900;font-size:1.08rem;white-space:pre-line}
.result-copy{font-size:1.07rem;margin-top:28px;max-width:850px}
.meters{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}
.meters span{font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900;color:rgba(251,242,228,.62)}
.meter{height:10px;background:rgba(255,255,255,.11);border-radius:999px;overflow:hidden;margin-top:8px}
.meter div{height:100%;width:0;background:linear-gradient(90deg,var(--wine),var(--gold2));border-radius:999px;transition:width .8s ease}
.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.panel{padding:22px}
.panel h3,.cta-box h3,.label-offer h3{margin:0 0 10px}
ul{margin:0;padding-left:20px}
li{margin:8px 0;color:rgba(251,242,228,.76);line-height:1.46}
.label-offer{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:24px;margin-top:22px}
.label-form{display:grid;gap:12px}
.cta-box{padding:24px;margin-top:18px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.primary-link,.secondary-link{
  flex:1;
  min-width:230px;
  text-decoration:none;
  text-align:center;
  border-radius:999px;
  padding:15px 20px;
  font-weight:900;
}
.primary-link{background:linear-gradient(135deg,var(--gold2),#b99557);color:#120808}
.secondary-link{border:1px solid rgba(210,176,111,.62);color:var(--cream);background:rgba(255,255,255,.045)}
.utility-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}

@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes stream{0%,100%{height:38px;opacity:.55}50%{height:106px;opacity:1}}
@keyframes fill{0%,100%{height:10px}50%{height:28px}}

@media(max-width:880px){
  .screen{padding:16px}
  .intro-grid,.setup-grid,.answer-grid,.result-header,.meters,.result-grid,.label-offer{grid-template-columns:1fr}
  .intro-copy,.quiz-card,.capture,.result,.decant{padding:26px 20px;border-radius:26px}
  .intro-art{display:none}
  .quiz-top{flex-direction:column;align-items:stretch}
  .progress-meta{flex-direction:column}
  .answer-card{min-height:auto}
  .bottle-label{min-height:280px}
  .label-family{font-size:2.4rem}
  h1{font-size:3.6rem}
}

.fundraising-banner{
  position:sticky;
  top:0;
  z-index:50;
  padding:10px 14px;
  background:linear-gradient(90deg, rgba(141,16,52,.96), rgba(32,3,12,.98));
  border-bottom:1px solid rgba(241,216,162,.36);
  box-shadow:0 12px 30px rgba(0,0,0,.34);
}
.fundraising-inner{
  width:min(1180px,100%);
  margin:0 auto;
  display:flex;
  gap:16px;
  align-items:center;
  justify-content:space-between;
}
.fundraising-copy{
  color:rgba(251,242,228,.9);
  line-height:1.35;
  font-size:.95rem;
}
.fundraising-copy strong{
  color:#f1d8a2;
  font-weight:900;
}
.fundraising-inner a{
  white-space:nowrap;
  text-decoration:none;
  border-radius:999px;
  background:linear-gradient(135deg,#f1d8a2,#b99557);
  color:#120808;
  font-weight:900;
  padding:11px 16px;
}
.top-donation-card{
  border:1px solid rgba(241,216,162,.42);
  background:linear-gradient(135deg, rgba(141,16,52,.36), rgba(255,255,255,.055));
  border-radius:26px;
  padding:24px;
  margin-bottom:24px;
}
.top-donation-card h3{
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(2rem,4vw,3.4rem);
  margin:0 0 10px;
  line-height:1;
  letter-spacing:-.03em;
}
.top-donation-card p{
  color:rgba(251,242,228,.78);
  max-width:780px;
}
.top-donation-card a{
  display:inline-block;
  margin-top:8px;
  text-decoration:none;
  border-radius:999px;
  background:linear-gradient(135deg,#f1d8a2,#b99557);
  color:#120808;
  font-weight:900;
  padding:15px 22px;
}
@media(max-width:720px){
  .fundraising-inner{
    flex-direction:column;
    align-items:stretch;
    gap:8px;
  }
  .fundraising-inner a{
    text-align:center;
  }
}
