.hero { display:grid; grid-template-columns:1.08fr .92fr; gap:70px; align-items:center; margin-bottom:68px; }
.hero-copy h1 { max-width:650px; margin:0 0 24px; color:var(--pure); font-size:clamp(48px,7vw,84px); font-weight:800; line-height:.98; letter-spacing:-.09em; }
.hero-copy h1 em, .section-header h2 em, .confidence-section h2 em { color:var(--green); font-family:'Rubik Spray Paint', cursive; font-style:normal; font-weight:400; letter-spacing:-.06em; }
.section-header h2 em, .confidence-section h2 em { font-family:'Montserrat', Arial, sans-serif; font-style:italic; font-weight:800; letter-spacing:-.07em; }
.hero-intro { max-width:500px; margin:0; color:var(--muted); font-size:16px; line-height:1.75; }
.hero-actions { display:flex; align-items:center; gap:23px; margin-top:30px; }
.hero-art { position:relative; min-height:430px; display:flex; align-items:center; justify-content:center; overflow:hidden; border:1px solid var(--line); border-radius:3px; background:var(--white); box-shadow:var(--shadow); }
.hero-art::before, .hero-art::after { content:''; position:absolute; border-radius:50%; background:var(--green); opacity:.11; }
.hero-art::before { width:220px; height:220px; top:-55px; right:-70px; }
.hero-art::after { width:130px; height:130px; bottom:20px; left:-30px; }
.art-label { position:absolute; top:28px; left:30px; z-index:1; color:var(--green); font:16px/1 'Bebas Neue', Impact, sans-serif; letter-spacing:.12em; }
.art-label strong { color:var(--pure); }
.art-prize { position:relative; z-index:1; width:240px; height:300px; display:grid; place-items:center; overflow:hidden; border:4px solid var(--green); border-radius:2px; background:var(--dark); box-shadow:22px 24px 0 rgba(199,255,0,.12); transform:rotate(-5deg); }
.art-prize img { width:100%; height:100%; object-fit:cover; opacity:.9; }
.art-prize::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 35%, rgba(11,15,20,.65)); }
.art-prize span { position:absolute; z-index:1; bottom:18px; left:18px; color:var(--green); font:28px/1 'Rubik Spray Paint', cursive; letter-spacing:-.08em; }
.art-caption { position:absolute; right:28px; bottom:26px; display:flex; flex-direction:column; color:var(--pure); font:17px/1 'Bebas Neue', Impact, sans-serif; letter-spacing:.08em; text-align:right; text-transform:uppercase; }
.art-caption span { margin-top:4px; color:var(--muted); font:10px/1.4 'Montserrat', Arial, sans-serif; letter-spacing:0; text-transform:none; }
.intro-strip { display:grid; grid-template-columns:60px 1fr 50px; gap:25px; align-items:center; margin-bottom:76px; padding:25px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.strip-number, .strip-arrow { color:var(--green); font:13px 'Bebas Neue', Impact, sans-serif; letter-spacing:.1em; }
.strip-arrow { font-size:23px; text-align:right; }
.intro-strip p { max-width:560px; margin:0; color:var(--pure); font-size:18px; line-height:1.55; letter-spacing:-.03em; }
.raffle-section { margin-bottom:90px; }
.section-header { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom:28px; }
.section-header h2 { color:var(--pure); }
.section-support { max-width:300px; margin:0; color:var(--muted); font-size:13px; line-height:1.65; }
.raffle-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; }
.raffle-card { overflow:hidden; border:1px solid var(--line); border-radius:22px; background:var(--white); box-shadow:0 18px 55px rgba(0,0,0,.3); transition:transform .2s ease, box-shadow .2s ease; }
.raffle-card:hover { transform:translateY(-5px); box-shadow:0 20px 70px rgba(0,0,0,.5); }
.raffle-card-link { display:block; height:100%; }
.raffle-visual { position:relative; height:245px; display:flex; align-items:flex-end; justify-content:flex-start; overflow:hidden; background:var(--white); }
.raffle-visual.has-image { padding:0; }
.raffle-visual.has-image img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .45s ease; }
.raffle-card:hover .raffle-visual.has-image img { transform:scale(1.045); }
.raffle-visual.has-image::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 35%, rgba(11,15,20,.4)); }
.raffle-visual small { position:absolute; z-index:1; top:18px; left:18px; padding:6px 8px; color:var(--dark); background:var(--green); font:14px 'Bebas Neue', Impact, sans-serif; letter-spacing:.1em; }
.raffle-visual small b { display:inline-grid; width:18px; height:18px; margin-right:6px; place-items:center; border:1px solid var(--dark); border-radius:50%; font:11px/1 'Montserrat', Arial, sans-serif; }
.raffle-info { padding:22px 23px 24px; }
.raffle-meta, .raffle-bottom { display:flex; justify-content:space-between; gap:10px; color:var(--muted); font:12px 'Bebas Neue', Impact, sans-serif; letter-spacing:.05em; }
.raffle-meta { letter-spacing:.04em; }
.raffle-info h3 { margin:18px 0 9px; color:var(--pure); font-size:27px; line-height:1.02; }
.raffle-info p { min-height:58px; margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.raffle-bottom { align-items:baseline; margin-top:25px; }
.raffle-bottom strong { color:var(--pure); font:800 23px 'Montserrat', Arial, sans-serif; letter-spacing:-.04em; }
.raffle-bottom strong small { color:var(--muted); font:400 10px 'Montserrat', Arial, sans-serif; }
.raffle-bottom span { font-size:9px; }
.meter { height:6px; margin-top:14px; overflow:hidden; border-radius:8px; background:var(--line); }
.meter i { display:block; height:100%; border-radius:8px; background:var(--green); box-shadow:0 0 12px rgba(199,255,0,.4); }
.category-section, .steps-section { margin-bottom:92px; }
.category-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; }
.category-card { width:100%; display:flex; align-items:center; gap:16px; min-height:92px; padding:18px 20px; border:1px solid var(--line); background:var(--white); color:inherit; font:inherit; text-align:left; cursor:pointer; transition:border-color .2s ease, transform .2s ease, background .2s ease; }
.category-card:hover { border-color:var(--green); background:var(--line); transform:translateY(-3px); }
.category-card[aria-pressed="true"] { border-color:var(--green); background:var(--line); }
.category-index { align-self:flex-start; color:var(--green); font:15px 'Bebas Neue', Impact, sans-serif; letter-spacing:.08em; }
.category-card span:nth-child(2) { display:flex; flex:1; flex-direction:column; gap:5px; }
.category-card strong { color:var(--pure); font-size:17px; }
.category-card small { color:var(--muted); font:11px 'Montserrat', Arial, sans-serif; }
.category-card > b { color:var(--green); font-size:20px; font-weight:400; }
.steps-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; border:1px solid var(--line); background:var(--line); }
.step-card { min-height:220px; padding:26px; background:var(--white); }
.step-card > span { display:block; margin-bottom:54px; color:var(--green); font:16px 'Bebas Neue', Impact, sans-serif; letter-spacing:.12em; }
.step-card h3 { margin:0 0 10px; color:var(--pure); font-size:20px; }
.step-card p { max-width:250px; margin:0; color:var(--muted); font-size:12px; line-height:1.65; }
.raffle-card[hidden] { display:none; }
section[hidden] { display:none !important; }
.confidence-section { display:grid; grid-template-columns:70px .9fr 1.1fr; gap:28px; align-items:start; padding:38px 40px; border:1px solid var(--green); background:var(--paper); }
.confidence-mark { display:grid; width:50px; height:50px; place-items:center; border:1px solid var(--green); border-radius:50%; }
.confidence-mark .crown-icon { width:34px; height:26px; object-fit:contain; }
.confidence-section h2 { color:var(--pure); font-size:clamp(30px,4vw,47px); }
.confidence-list { display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; }
.confidence-list p { margin:0; padding-left:14px; border-left:1px solid var(--line); }
.confidence-list strong, .confidence-list span { display:block; }
.confidence-list strong { color:var(--pure); font-size:12px; }
.confidence-list span { margin-top:8px; color:var(--muted); font-size:11px; line-height:1.55; }
@media (max-width:900px) {
  .hero { grid-template-columns:1fr; gap:35px; }
  .hero-art { min-height:360px; }
  .raffle-grid, .category-grid, .steps-grid { grid-template-columns:repeat(2, 1fr); }
  .confidence-section { grid-template-columns:58px 1fr; }
  .confidence-list { grid-column:2; }
}
@media (max-width:600px) {
  .hero-copy h1 { font-size:clamp(44px,14vw,58px); }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:15px; }
  .hero-art { min-height:330px; }
  .art-prize { width:210px; height:260px; }
  .intro-strip { grid-template-columns:35px 1fr 30px; gap:12px; }
  .intro-strip p { font-size:15px; }
  .section-header { display:block; }
  .section-support { margin-top:18px; }
  .raffle-grid, .category-grid, .steps-grid { grid-template-columns:1fr; }
  .raffle-visual { height:220px; }
  .raffle-info h3 { font-size:25px; }
  .confidence-section { display:block; padding:28px 24px; }
  .confidence-mark { margin-bottom:24px; }
  .confidence-list { display:block; margin-top:28px; }
  .confidence-list p { margin-top:16px; }
}
