:root{--plum:#3b1736;--plum-2:#5b234e;--gold:#d6a64f;--cream:#fff9ef;--rose:#d99aa4;--ink:#261e25;--muted:#6e626a;--white:#fff;--line:rgba(59,23,54,.13)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:1rem;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,5vw,5rem);border-bottom:1px solid var(--line);background:rgba(255,249,239,.94);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:.7rem;font-family:"Playfair Display",serif;font-size:1.28rem;font-weight:700;color:var(--plum)}.brand-mark{width:38px;height:38px;border-radius:50% 50% 50% 14%;background:var(--plum);color:var(--gold);display:grid;place-items:center;font-style:italic}.site-header nav{display:flex;gap:2rem;font-size:.9rem;font-weight:600}.site-header nav a:hover{color:var(--plum-2)}.button,.button-outline{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:.9rem 1.35rem;background:var(--plum);color:var(--white);font-weight:700;cursor:pointer;transition:transform .2s,background .2s}.button:hover{background:var(--plum-2);transform:translateY(-2px)}.button-small{padding:.65rem 1.1rem;font-size:.86rem}.hero{min-height:720px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:4rem;padding:clamp(3.5rem,8vw,7rem) clamp(1.25rem,7vw,7rem);position:relative;overflow:hidden}.hero-glow{position:absolute;width:480px;height:480px;border-radius:50%;background:rgba(217,154,164,.2);filter:blur(30px);left:-220px;top:80px}.hero-content{position:relative;z-index:1;max-width:680px}.eyebrow{margin:0 0 1rem;text-transform:uppercase;letter-spacing:.16em;color:var(--plum-2);font-size:.76rem;font-weight:700}.hero h1,.mission h2,.kits h2,.story h2,.give h2,.contact h2,dialog h2{font-family:"Playfair Display",serif;line-height:1.03;color:var(--plum);margin:.2rem 0 1.4rem}.hero h1{font-size:clamp(3.25rem,6.5vw,6.4rem);letter-spacing:-.045em}.hero h1 em{color:var(--rose);font-weight:600}.hero-copy{max-width:580px;font-size:1.16rem;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:1.5rem;margin:2rem 0}.text-link{font-weight:700;color:var(--plum)}.faith-note{font-size:.88rem;color:var(--muted)}.faith-note span{color:var(--gold);margin-right:.4rem}.hero-image-wrap{position:relative;min-height:580px}.hero-image{width:100%;height:580px;object-fit:cover;border-radius:52% 52% 10px 10px;box-shadow:0 30px 80px rgba(59,23,54,.22);background:linear-gradient(135deg,#ead5cf,#8a506f)}.hero-card{position:absolute;left:-40px;bottom:35px;background:var(--white);padding:1.1rem 1.35rem;max-width:270px;box-shadow:0 18px 50px rgba(59,23,54,.18);border-left:4px solid var(--gold)}.hero-card strong,.hero-card span{display:block}.hero-card span{font-size:.82rem;color:var(--muted);margin-top:.25rem}.mission{padding:7rem clamp(1.25rem,8vw,9rem);background:#fff}.mission>h2{font-size:clamp(2.4rem,4.5vw,4.3rem);max-width:970px}.mission>p{max-width:720px;color:var(--muted);font-size:1.1rem}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:4rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.values article{background:#fff;padding:2rem}.values article>span{color:var(--gold);font-family:"Playfair Display",serif;font-size:1.6rem}.values h3{font-family:"Playfair Display",serif;font-size:1.45rem;color:var(--plum)}.values p{color:var(--muted)}.kits{display:grid;grid-template-columns:.85fr 1.15fr;gap:7rem;padding:7rem clamp(1.25rem,8vw,9rem);background:var(--plum);color:#fff}.kits .eyebrow,.give .eyebrow{color:#f1c978}.kits h2,.give h2{color:#fff;font-size:clamp(2.5rem,4vw,4rem)}.kit-intro>p:last-child{color:#ddcfd9}.kit-list{list-style:none;margin:0;padding:0}.kit-list li{display:grid;grid-template-columns:.8fr 1.2fr;gap:1rem;padding:1.5rem 0;border-top:1px solid rgba(255,255,255,.2)}.kit-list li:last-child{border-bottom:1px solid rgba(255,255,255,.2)}.kit-list span{color:#d9b8cf}.story{display:grid;grid-template-columns:.3fr 1.7fr;gap:2rem;max-width:1100px;margin:auto;padding:8rem 1.5rem}.story-quote{font-family:"Playfair Display",serif;color:var(--gold);font-size:12rem;line-height:.7}.story h2{font-size:clamp(2.35rem,4.4vw,4.2rem)}.story p{font-size:1.1rem;color:var(--muted);max-width:820px}.story strong{color:var(--plum)}.signature{margin-top:2rem!important;color:var(--plum)!important}.signature span{font-family:"Playfair Display",serif;font-style:italic;font-size:2.1rem}.give{text-align:center;padding:7rem 1.5rem;background:linear-gradient(120deg,var(--plum),#6b2d59);color:#fff}.give h2{max-width:760px;margin-left:auto;margin-right:auto}.give>p:not(.eyebrow){max-width:650px;margin:0 auto 2rem;color:#eadde6}.give-actions{display:flex;justify-content:center;gap:1rem}.button.light{background:#fff;color:var(--plum)}.button-outline{background:transparent;border:1px solid rgba(255,255,255,.7)}.contact{display:grid;grid-template-columns:1.1fr .9fr;gap:5rem;padding:6rem clamp(1.25rem,8vw,9rem);align-items:end;background:#fff}.contact h2{font-size:clamp(2rem,3.4vw,3.2rem)}.contact>p{color:var(--muted)}footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2rem clamp(1.25rem,5vw,5rem);background:#241421;color:#d8cad5;font-size:.83rem}.footer-brand{color:#fff}dialog{border:0;border-radius:20px;padding:2.3rem;max-width:520px;width:calc(100% - 2rem);box-shadow:0 30px 100px rgba(0,0,0,.35);color:var(--ink)}dialog::backdrop{background:rgba(31,14,28,.72);backdrop-filter:blur(3px)}dialog h2{font-size:2.2rem}.dialog-close{position:absolute;right:1rem;top:.7rem;border:0;background:none;font-size:2rem;color:var(--plum);cursor:pointer}.dialog-note{background:var(--cream);padding:1rem;border-left:3px solid var(--gold)}@media(max-width:900px){.site-header nav{display:none}.hero{grid-template-columns:1fr;padding-top:4rem;gap:2.5rem}.hero-image-wrap,.hero-image{min-height:440px;height:440px}.hero-card{left:15px}.values,.kits,.contact{grid-template-columns:1fr}.kits{gap:3rem}.story{grid-template-columns:1fr}.story-quote{font-size:7rem}.contact{gap:1rem}footer{flex-direction:column;text-align:center}}@media(max-width:560px){.site-header{height:72px}.brand{font-size:1.05rem}.button-small{display:none}.hero{min-height:auto;padding-bottom:4rem}.hero h1{font-size:3.3rem}.hero-actions,.give-actions{align-items:stretch;flex-direction:column}.hero-image-wrap,.hero-image{min-height:360px;height:360px}.hero-card{right:12px;left:12px;bottom:-25px;max-width:none}.mission,.kits,.story,.give,.contact{padding-top:5rem;padding-bottom:5rem}.values{grid-template-columns:1fr}.kit-list li{grid-template-columns:1fr;gap:.2rem}footer{padding-block:2.5rem}}
/* Founder portrait */
.story{grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(3rem,7vw,7rem);max-width:1200px}
.founder-photo-wrap{margin:0;position:relative}
.founder-photo-wrap::before{content:"";position:absolute;inset:-16px 16px 30px -16px;border:1px solid var(--gold);border-radius:48% 48% 12px 12px;z-index:-1}
.founder-photo{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 32%;border-radius:48% 48% 12px 12px;box-shadow:0 24px 60px rgba(59,23,54,.2)}
.founder-photo-wrap figcaption{margin-top:1rem;text-align:center;color:var(--plum);font-family:"Playfair Display",serif}.founder-photo-wrap figcaption strong,.founder-photo-wrap figcaption span{display:block}.founder-photo-wrap figcaption strong{font-size:1.2rem}.founder-photo-wrap figcaption span{margin-top:.15rem;font-size:1rem;font-style:italic;color:var(--muted)}
.story-copy{position:relative}
.story-copy .story-quote{position:absolute;right:0;top:-3rem;color:rgba(214,166,79,.25);font-size:11rem}
@media(max-width:900px){.story{grid-template-columns:1fr;max-width:720px}.founder-photo-wrap{max-width:430px;margin:0 auto}}

/* Gracious Gift in action */
.action{padding:7rem clamp(1.25rem,8vw,9rem);background:#fff}
.action-intro{max-width:760px;margin-bottom:3rem}
.action h2{font-family:"Playfair Display",serif;font-size:clamp(2.5rem,4.5vw,4.2rem);line-height:1.05;color:var(--plum);margin:.2rem 0 1.3rem}
.action-intro>p:last-child{color:var(--muted);font-size:1.08rem}
.video-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(1.25rem,3vw,2.5rem);align-items:start}
.video-card{margin:0;padding:1rem;background:var(--cream);border:1px solid var(--line);border-radius:24px;box-shadow:0 20px 55px rgba(59,23,54,.1)}
.video-card video{display:block;width:100%;max-height:620px;aspect-ratio:9/16;object-fit:cover;background:#241421;border-radius:16px}
.video-card-featured video{max-height:680px}
.video-card figcaption{display:grid;gap:.25rem;padding:1rem .35rem .25rem}
.video-card figcaption strong{font-family:"Playfair Display",serif;font-size:1.35rem;color:var(--plum)}
.video-card figcaption span{color:var(--muted);font-size:.92rem}
.photo-stories{display:grid;gap:5rem;margin-top:6rem}
.photo-story{padding-top:2rem;border-top:1px solid var(--line)}
.photo-story-heading{display:grid;grid-template-columns:auto 1fr;gap:1.25rem;align-items:start;margin-bottom:1.75rem}
.photo-story-number{margin:.2rem 0 0;color:var(--gold);font-family:"Playfair Display",serif;font-size:2rem;line-height:1}
.photo-story h3{margin:0 0 .35rem;color:var(--plum);font-family:"Playfair Display",serif;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.1}
.photo-story-heading div>p{margin:0;color:var(--muted)}
.photo-collage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:240px;gap:1rem}
.photo-collage a{display:block;overflow:hidden;border-radius:18px;background:#eadde6;box-shadow:0 12px 34px rgba(59,23,54,.1)}
.photo-collage a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.photo-collage img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.photo-collage a:hover img{transform:scale(1.025)}
.photo-collage .photo-featured{grid-row:span 2}
.photo-collage-five a:last-child{grid-column:span 2}
.photo-collage-seven a:last-child{grid-column:span 2}
@media(max-width:900px){.video-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.photo-stories{gap:4rem;margin-top:5rem}.photo-collage{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:230px}.photo-collage .photo-featured{grid-row:span 2}.photo-collage-five a:last-child,.photo-collage-seven a:last-child{grid-column:span 1}}
@media(max-width:560px){.action{padding:5rem 1.25rem}.video-grid{grid-template-columns:1fr}.video-card video,.video-card-featured video{max-height:560px}.photo-story-heading{gap:.8rem}.photo-story-number{font-size:1.5rem}.photo-collage{gap:.65rem;grid-auto-rows:205px}.photo-collage a{border-radius:13px}}

/* Social connections */
.contact-connect>p{color:var(--muted)}
.social-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
.social-link{display:inline-flex;align-items:center;gap:.8rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:14px;color:var(--plum);background:var(--cream);transition:transform .2s,box-shadow .2s}
.social-link:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(59,23,54,.12)}
.social-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--plum);color:var(--gold);font-size:1.55rem}
.facebook-icon{font-family:Arial,sans-serif;font-size:1.65rem;font-weight:700}
.social-link span:last-child{display:grid;line-height:1.25}
.social-link small{color:var(--muted);font-size:.8rem}
.social-link:focus-visible,.footer-social:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.footer-social{color:#f1c978;font-weight:700}
@media(max-width:560px){.social-links{display:grid}.social-link{width:100%}}

/* Gracious Gift brand system */
.brand-logo-mark{width:54px;height:54px;object-fit:contain;display:block;flex:none}
.brand-showcase{display:flex;justify-content:center;align-items:center;padding:0 1.5rem;background:var(--cream);border-bottom:1px solid rgba(59,23,54,.06)}
.brand-showcase img{width:min(410px,100%);height:auto;display:block}
.footer-mark-wrap{width:48px;height:48px;border-radius:50%;background:var(--cream);display:grid;place-items:center;flex:none}
.footer-mark-wrap .brand-logo-mark{width:48px;height:48px}
@media(max-width:560px){.brand-logo-mark{width:46px;height:46px}.brand-showcase{padding:0 1rem}.brand-showcase img{width:min(350px,100%)}}

/* New ribbon wordmark, cropped in layout to keep it readable. */
.brand-logo-full{display:block;width:160px;height:80px;object-fit:cover;flex:none}.brand-showcase{padding:1.2rem 1.5rem}.brand-showcase img{width:min(410px,100%);height:220px;object-fit:cover}.footer-brand .brand-logo-full{width:180px;height:94px;border-radius:4px}@media(max-width:560px){.brand-logo-full{width:140px;height:68px}.brand-showcase{padding:1rem}.brand-showcase img{width:min(350px,100%);height:190px}}
