/* Alíz története: könyvszerű szerif szöveg, szilva–levendula színek */
.story .prose p,.story .timeline p,.story .diagnosis p:not(.dx){font:400 20px/1.65 var(--serif)}
.story-hero{padding:clamp(48px,7vw,104px) 0;background:var(--plum);color:#fff}
.prelaunch .story-hero{display:flex;align-items:center;min-height:calc(100svh - 160px)}
.prelaunch .story-hero .wrap{width:100%}
.story-hero .eyebrow{color:var(--lilac);font:700 19px/1.3 var(--display);letter-spacing:.16em}
.serif-title{margin:14px 0 22px -.03em;font:italic 400 clamp(110px,17vw,240px)/.92 var(--serif);text-transform:none;letter-spacing:.015em}
.serif-title.small{font-size:clamp(72px,10vw,140px)}
.story .lead{max-width:34ch;font:400 clamp(21px,1.9vw,25px)/1.5 var(--serif);color:#e4dcf5}
.prelaunch .donation-total{display:grid;gap:3px;max-width:440px;margin:28px 0;padding:20px 24px;background:#ffffff12;border:1px solid #c9b3f766;border-left:5px solid var(--gold);border-radius:5px}
.prelaunch .donation-total span{font:700 17px/1.2 var(--display);text-transform:uppercase;letter-spacing:.08em;color:var(--lilac)}
.prelaunch .donation-total strong{font:800 clamp(38px,6vw,60px)/1.05 var(--display);font-variant-numeric:tabular-nums;color:#fff}
.prelaunch .donation-total small{font:400 14px/1.4 var(--body);color:#e4dcf5}
.photo-frame{margin:0}
.photo-frame img,.story .photo{outline:2px solid var(--lilac);outline-offset:14px}
.photo-frame figcaption{margin-top:26px;font:600 15px var(--body);letter-spacing:.06em;color:var(--lilac)}
.section-title{margin-bottom:32px;font-size:clamp(52px,7vw,104px);color:var(--violet)}

.timeline-section,.plan{padding:var(--section) 0}
.timeline{position:relative;margin:0;padding:0;list-style:none}
.timeline::before{content:"";position:absolute;left:8px;top:10px;bottom:10px;width:3px;background:var(--violet)}
.timeline li{position:relative;padding:0 0 34px 44px}
.timeline li:last-child{padding-bottom:0}
.timeline li::before{content:"";position:absolute;left:0;top:6px;width:19px;height:19px;border:4px solid var(--violet);border-radius:50%;background:#fff}
.timeline li:last-child::before{background:var(--violet)}
.timeline time{display:block;margin-bottom:4px;font:800 24px/1 var(--display);text-transform:uppercase;letter-spacing:.08em;color:var(--violet)}
.timeline p{margin:0}

.diagnosis{padding:clamp(56px,8vw,104px) 0;background:#f4effc}
.dx{display:inline-block;margin:0 0 20px;padding:12px 18px;border-left:6px solid var(--violet);background:#fff;font:700 clamp(22px,2.4vw,30px)/1.15 var(--display);text-transform:uppercase;letter-spacing:.04em;color:var(--plum)}
.diagnosis p{max-width:62ch}

.plan .two-col{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.costs{margin:8px 0 24px;padding:0;list-style:none;border-top:2px solid var(--plum)}
.costs li{display:grid;gap:2px;padding:16px 0;border-bottom:1px solid #d9cdef}
.costs .what{font:800 clamp(28px,3vw,38px)/1 var(--display);text-transform:uppercase;color:var(--plum)}
.costs .where{font-size:17px;color:var(--muted)}
.costs .cost{font:700 22px/1.2 var(--display);letter-spacing:.04em;color:var(--violet)}
.story .prose .total b{color:var(--violet)}

.family{padding:var(--section) 0;background:var(--plum);color:#fff}
.story .family .prose p{color:#e4dcf5}
.quote{margin:28px 0;padding:0 0 0 22px;border-left:4px solid var(--lilac)}
.story .family .quote p{margin:0;font:italic 400 clamp(28px,3.2vw,38px)/1.25 var(--serif);color:#fff}
.quote footer{margin-top:10px;font:600 15px var(--body);letter-spacing:.06em;color:var(--lilac)}

.sources{padding:48px 0 72px;font-size:16px;color:var(--muted)}
.sources h2{margin:0 0 14px;font-size:30px;color:var(--plum)}
.sources ul{margin:0 0 14px;padding-left:20px}
.sources a{color:var(--violet)}

@media (max-width:960px){.plan .two-col{grid-template-columns:1fr}}
