:root { --ink:#173b44; --teal:#087d83; --pink:#ec5c88; --blush:#fde7e8; --sun:#f8c745; --cream:#fffaf1; --white:#fff; --line:rgba(23,59,68,.14); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { position:sticky; top:0; z-index:20; display:grid; grid-template-columns:auto 1fr auto; align-items:center; min-height:88px; padding:10px clamp(20px,5vw,76px); background:rgba(255,250,241,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.brand { display:flex; align-items:center; gap:10px; font-size:11px; line-height:1.05; letter-spacing:.02em; }
.brand img { width:45px; height:60px; object-fit:contain; }
.brand strong { color:var(--teal); font-size:14px; }
.site-header nav { display:flex; justify-content:center; gap:clamp(18px,2.5vw,38px); font-size:14px; font-weight:700; }
.site-header nav a { border-bottom:2px solid transparent; padding:8px 0; }
.site-header nav a:hover { border-color:var(--pink); }
.header-cta,.primary-action { border-radius:999px; background:var(--teal); color:white; font-weight:800; }
.header-cta { padding:13px 18px; font-size:13px; }
.hero { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; min-height:calc(100vh - 88px); overflow:hidden; }
.hero-copy { max-width:660px; padding:clamp(70px,10vw,138px) clamp(28px,7vw,106px); }
.eyebrow { color:var(--pink); font-size:13px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
h1 { margin:20px 0 32px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(48px,6.2vw,92px); font-weight:500; line-height:.95; letter-spacing:-.045em; }
blockquote { margin:0; max-width:530px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(22px,2.1vw,34px); font-style:italic; line-height:1.25; }
.hero-byline { margin:10px 0 0; color:var(--teal); font-size:14px; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.hero-actions { display:flex; align-items:center; gap:26px; margin-top:38px; }
.primary-action { display:inline-flex; align-items:center; gap:10px; padding:16px 22px; }
.primary-action svg { width:18px; }
.text-action { font-weight:800; border-bottom:2px solid var(--pink); padding:9px 0; }
.hero-portrait { position:relative; align-self:stretch; min-height:630px; background:var(--blush); border-bottom-left-radius:150px; }
.hero-portrait>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 42%; mix-blend-mode:multiply; }
.portrait-note { position:absolute; right:7%; bottom:8%; display:flex; flex-direction:column; transform:rotate(-3deg); border-radius:18px; background:white; padding:16px 22px; box-shadow:0 18px 50px rgba(75,35,46,.18); }
.portrait-note span { color:var(--pink); font-family:Georgia,serif; font-style:italic; }
.portrait-note strong { font-size:17px; }
.flower-one { position:absolute; z-index:2; top:8%; right:6%; color:var(--sun); font-size:72px; transform:rotate(12deg); text-shadow:0 5px white; }
.section-pad { padding:clamp(82px,10vw,150px) clamp(24px,7vw,108px); scroll-margin-top:80px; }
.section-heading { max-width:760px; margin-bottom:55px; }
.section-heading.centered { margin:0 auto 64px; text-align:center; }
.section-heading h2,.request-intro h2,.team-copy h2 { margin:14px 0 20px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(38px,5vw,70px); font-weight:500; line-height:1.02; letter-spacing:-.035em; }
.section-heading p:not(.eyebrow),.request-intro>p:last-of-type,.team-copy>p { font-size:18px; line-height:1.65; }
.story-section { background:white; }
.story-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(45px,8vw,120px); align-items:center; }
.story-photo { overflow:hidden; height:650px; border-radius:180px 180px 20px 20px; background:var(--blush); }
.story-photo img { width:100%; height:100%; object-fit:cover; }
.story-copy { max-width:670px; }
.story-copy p { font-size:17px; line-height:1.75; }
.story-copy .big-copy { font-family:Georgia,serif; font-size:clamp(25px,3vw,39px); line-height:1.35; }
.story-copy .text-action { display:inline-block; margin-top:20px; }
.project-section { background:#dff4ef; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:1200px; margin:auto; }
.steps article { position:relative; min-height:310px; padding:40px; border:1px solid rgba(8,125,131,.22); border-radius:28px; background:rgba(255,255,255,.6); }
.steps article>span { position:absolute; top:28px; right:28px; color:rgba(8,125,131,.35); font:italic 30px Georgia,serif; }
.steps svg { width:42px; height:42px; color:var(--pink); }
.step-icon { display:block; margin-top:8px; color:var(--pink); font-size:38px; }
.steps h3,.news-grid h3,.support-card h3 { margin:32px 0 12px; font:500 30px/1.1 Georgia,serif; }
.steps p,.news-grid p,.support-card p { font-size:16px; line-height:1.6; }
.hospital-note { width:max-content; max-width:100%; margin:48px auto 0; padding:14px 22px; border-radius:999px; background:var(--teal); color:white; text-align:center; font-weight:700; }
.news-section { background:var(--cream); }
.news-grid { display:grid; grid-template-columns:1.4fr .6fr; gap:24px; }
.news-grid article { border-radius:30px; padding:44px; }
.news-feature { display:flex; justify-content:space-between; min-height:390px; background:#ef7198; color:#3f1b28; }
.news-feature>div { max-width:560px; align-self:end; }
.news-feature>svg { width:58px; height:58px; }
.wish-card { min-height:390px; background:#f9d970; }
.tag { display:inline-block; margin-bottom:8px; font-size:12px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.support-section { background:var(--ink); color:white; }
.section-heading.light .eyebrow { color:#ff91b2; }
.support-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; max-width:1400px; margin:auto; }
.support-card { display:flex; flex-direction:column; min-height:520px; padding:30px; border-radius:26px; background:white; color:var(--ink); }
.support-card.highlight { background:#ec7c9e; color:#3f1b28; }
.support-card.business { background:#dff4ef; }
.support-card>svg { width:44px; height:44px; margin-bottom:90px; color:var(--teal); }
.card-icon { display:block; margin-bottom:78px; color:var(--teal); font-size:42px; }
.support-card>img { width:100%; height:190px; border-radius:18px; object-fit:cover; object-position:center 34%; margin-bottom:20px; }
.support-card h3 { margin-top:14px; }
.support-card>a,.card-actions a { display:inline-flex; justify-content:center; margin-top:auto; border-radius:999px; background:var(--teal); color:white; padding:13px 16px; font-weight:800; text-align:center; }
.card-actions { display:flex; flex-direction:column; gap:9px; margin-top:auto; }
.card-actions a { margin-top:0; }
.card-actions .outline-action { border:2px solid #3f1b28; background:transparent; color:#3f1b28; }
.book-art { display:flex; flex-direction:column; justify-content:center; height:190px; margin-bottom:20px; border-radius:18px; background:#ffdbe4; color:#e14f7a; padding:18px 26px; font:italic 26px/1.02 Georgia,serif; transform:rotate(-1deg); }
.book-art small { color:var(--sun); font-size:34px; }
.legal-notice { max-width:1000px; margin:36px auto 0; padding:20px 24px; border:1px solid rgba(255,255,255,.24); border-radius:16px; color:#d8e5e6; font-size:14px; line-height:1.55; text-align:center; }
.payment-setup { display:none; max-width:1000px; margin:18px auto 0; padding:16px 20px; border-radius:14px; background:#f9d970; color:#173b44; text-align:center; font-weight:700; }
.payment-setup.show { display:block; }
.request-section { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(50px,8vw,120px); background:white; }
.request-intro { align-self:start; position:sticky; top:130px; }
.language-toggle { display:inline-flex; padding:4px; border-radius:999px; background:#eef2ef; }
.language-toggle button { border:0; border-radius:999px; background:transparent; padding:9px 15px; color:var(--ink); cursor:pointer; font-weight:700; }
.language-toggle .active { background:var(--teal); color:white; }
.privacy-note { display:flex; align-items:center; gap:12px; margin-top:34px; padding:18px; border-radius:16px; background:#dff4ef; font-size:14px; line-height:1.45; }
.privacy-note svg { width:24px; flex:none; }
.request-form { display:grid; grid-template-columns:1fr 1fr; gap:24px 18px; padding:36px; border:1px solid var(--line); border-radius:28px; background:var(--cream); }
.request-form label { display:flex; flex-direction:column; gap:8px; font-size:14px; font-weight:800; }
.request-form input:not([type=checkbox]),.request-form textarea { width:100%; border:1px solid rgba(23,59,68,.25); border-radius:12px; background:white; padding:13px 14px; color:var(--ink); font:16px Arial,sans-serif; }
.request-form input:focus,.request-form textarea:focus { outline:3px solid rgba(8,125,131,.18); border-color:var(--teal); }
.request-form small { color:#567177; font-weight:400; line-height:1.45; }
.wide { grid-column:1/-1; }
.consent { flex-direction:row!important; align-items:flex-start; }
.consent input { width:18px; height:18px; margin-top:1px; accent-color:var(--teal); }
.submit-row { display:flex; align-items:center; gap:18px; }
.submit-row button { display:inline-flex; align-items:center; gap:10px; border:0; border-radius:999px; background:var(--teal); color:white; padding:15px 20px; cursor:pointer; font-weight:800; }
.submit-row button svg { width:18px; }
.team-section { display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:60px; background:var(--blush); }
.team-copy { max-width:780px; }
.team-copy .text-action { display:inline-block; margin-top:20px; }
.team-section>img { width:min(100%,380px); height:auto; justify-self:center; }
.impact-section { padding:85px clamp(24px,7vw,108px); background:#f9d970; text-align:center; }
.impact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:1100px; margin:34px auto; }
.impact-grid div { display:flex; flex-direction:column; gap:8px; }
.impact-grid strong { font:500 clamp(54px,7vw,96px)/1 Georgia,serif; color:var(--teal); }
.impact-grid span { font-weight:800; }
.impact-caption { margin:35px 0 0; font-size:13px; }
footer { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:44px; padding:38px clamp(24px,7vw,108px); background:var(--cream); font-size:13px; }
.footer-brand { display:flex; align-items:center; gap:13px; }
.footer-brand img { width:60px; height:78px; object-fit:contain; }
footer>div:nth-child(2) { display:flex; gap:22px; font-weight:700; }
@media (max-width:1120px) { .support-grid{grid-template-columns:1fr 1fr}.request-section{grid-template-columns:1fr}.request-intro{position:static}.request-intro{max-width:760px}.steps article{padding:30px} }
@media (max-width:980px) { .site-header nav{display:none}.site-header{grid-template-columns:1fr auto}.hero{grid-template-columns:1fr}.hero-copy{max-width:none}.hero-portrait{min-height:680px;border-radius:0}.story-grid,.team-section{grid-template-columns:1fr}.story-photo{height:560px;max-width:560px}.news-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.steps article{min-height:auto}.support-card{min-height:490px}.impact-grid{grid-template-columns:1fr;gap:38px}footer{grid-template-columns:1fr} }
@media (max-width:620px) { .support-grid{grid-template-columns:1fr}.request-form{grid-template-columns:1fr;padding:24px}.request-form label{grid-column:1}.submit-row{align-items:stretch;flex-direction:column}.submit-row button{justify-content:center}.story-photo{height:480px}.news-grid article{padding:30px}.news-feature{min-height:440px}.support-card{min-height:470px}.hospital-note{border-radius:18px}.team-section>img{width:240px}footer>div:nth-child(2){flex-direction:column} }
@media (max-width:560px) { .site-header{min-height:74px;padding:8px 16px}.brand span{display:none}.brand img{width:42px;height:54px}.header-cta{padding:11px 14px;font-size:12px}.hero-copy{padding:58px 22px 66px}h1{font-size:52px}.hero-actions{align-items:stretch;flex-direction:column;gap:12px}.primary-action{justify-content:center}.text-action{align-self:center}.hero-portrait{min-height:540px}.section-pad{padding:74px 22px}.section-heading{margin-bottom:36px} }
