:root { --ink:#243d43; --ink-soft:#506269; --paper:#fbf8f1; --cream:#f0e5d0; --coral:#ec846b; --coral-dark:#c9614f; --blue:#b9d4df; --teal:#477b7c; --line:rgba(36,61,67,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Source Sans 3",Arial,sans-serif; font-size:17px; line-height:1.55; }
a { color:inherit; text-decoration:none; }
.motion-ready .reveal { opacity:0; transform:translateY(18px); transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.3,1); }.motion-ready .reveal.is-visible { opacity:1; transform:translateY(0); }
.site-header { align-items:center; display:flex; height:92px; justify-content:space-between; margin:auto; max-width:1160px; padding:0 28px; }
.brand { align-items:center; display:inline-flex; font-size:21px; font-weight:700; gap:9px; letter-spacing:-.8px; }
.brand-mark { align-items:center; background:var(--coral); border-radius:50%; color:#fff; display:inline-flex; font-family:"Lora",Georgia,serif; font-size:21px; font-weight:600; height:31px; justify-content:center; line-height:1; width:31px; }
nav { display:flex; gap:31px; font-size:14px; font-weight:500; }
nav a:hover,.text-link:hover { color:var(--coral-dark); }
.header-cta { border:1px solid var(--ink); border-radius:99px; font-size:14px; font-weight:600; padding:10px 17px; transition:.2s; }
.header-cta:hover { background:var(--ink); color:white; }
.hero { display:grid; gap:64px; grid-template-columns:1fr .9fr; margin:0 auto; max-width:1160px; min-height:590px; padding:72px 28px 78px; }
.hero-copy { align-self:center; max-width:580px; }
.eyebrow { align-items:center; color:var(--teal); display:flex; font-size:12px; font-weight:700; gap:9px; letter-spacing:1.15px; margin:0 0 19px; text-transform:uppercase; }
.eyebrow span { background:currentColor; border-radius:50%; height:7px; width:7px; }
h1,h2 { font-family:"Lora",Georgia,serif; font-weight:500; letter-spacing:-2.1px; line-height:1.17; margin:0; }
h1 { font-size:clamp(48px,5.2vw,76px); }
h1 em { color:var(--coral-dark); font-style:italic; }
.hero-text { color:var(--ink-soft); font-size:20px; line-height:1.62; margin:31px 0 33px; max-width:475px; }
.hero-actions { align-items:center; display:flex; flex-wrap:wrap; gap:25px; }
.button { align-items:center; border:0; border-radius:99px; cursor:pointer; display:inline-flex; font:600 15px "Source Sans 3",sans-serif; gap:24px; justify-content:space-between; padding:15px 20px 15px 23px; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--coral); color:#fff; }
.button-primary:hover { background:var(--coral-dark); }
.button span { font-size:22px; line-height:12px; }
.text-link { border-bottom:1px solid var(--ink); font-size:14px; font-weight:600; padding-bottom:3px; }
.hero-note { color:#5e7076; font-size:15px; font-weight:500; line-height:1.55; margin-top:28px; max-width:500px; }
.hero-art { align-self:center; background:#e3ede9; border-radius:180px 180px 28px 28px; min-height:430px; overflow:hidden; position:relative; }
.sun { background:#f2c764; border-radius:50%; height:121px; position:absolute; right:22%; top:53px; width:121px; }
.orb { border-radius:50%; position:absolute; }.orb-one { background:#8eafa4; height:98px; left:-24px; top:99px; width:98px; }.orb-two { background:#e98b74; bottom:36px; height:114px; right:-39px; width:114px; }
.phone { background:#faf8f3; border:8px solid var(--ink); border-radius:30px; bottom:-25px; box-shadow:0 14px 24px rgba(36,61,67,.18); height:367px; left:50%; padding:18px 13px; position:absolute; transform:translateX(-50%) rotate(3deg); width:210px; }
.phone-top { display:flex; justify-content:center; }.phone-top span { background:var(--ink); border-radius:4px; height:4px; width:44px; }.phone-top i { display:none; }
.call-card { align-items:center; display:flex; flex-direction:column; margin-top:34px; }.avatar { align-items:center; border-radius:50%; color:#fff; display:flex; font-family:"Lora",serif; justify-content:center; }.avatar-main { background:#df9e79; font-size:43px; height:105px; width:105px; }.call-card p { font-size:19px; font-weight:700; margin:11px 0 0; }.call-card small,.small-card small { color:#718087; font-size:10px; }.small-card { background:#fff; box-shadow:0 5px 13px rgba(36,61,67,.11); position:absolute; }.card-hello { align-items:center; border-radius:12px; display:flex; gap:7px; left:-44px; padding:8px; top:220px; width:157px; }.avatar-small { background:#527f7d; font-size:14px; height:31px; width:31px; }.small-card strong { display:block; font-size:10px; }.small-card small { display:block; font-size:8px; }.card-heart { align-items:center; background:#f4b5a6; border-radius:50%; color:#b64c41; display:flex; font-size:21px; height:44px; justify-content:center; right:-25px; top:164px; width:44px; }.phone-controls { bottom:18px; color:#61777c; display:flex; font-size:20px; justify-content:space-around; left:9px; position:absolute; right:9px; }.tag { background:#fff; border-radius:999px; box-shadow:0 5px 12px rgba(36,61,67,.11); font-size:12px; font-weight:700; padding:8px 13px; position:absolute; }.tag-one { left:22px; top:50px; }.tag-two { bottom:45px; right:25px; }
.safety-note { align-items:center; background:#fff9e9; border-radius:12px; bottom:48px; box-shadow:0 6px 14px rgba(36,61,67,.12); display:flex; gap:8px; left:23px; padding:9px 11px; position:absolute; }.safety-note > span { align-items:center; background:#dce9b2; border-radius:50%; color:#426e63; display:flex; font-size:12px; font-weight:700; height:25px; justify-content:center; width:25px; }.safety-note strong { color:#385459; display:block; font-size:11px; line-height:1.2; }.safety-note small { color:#64777b; display:block; font-size:9px; font-weight:600; margin-top:2px; }
.belief { background:var(--ink); color:#f9f3e6; padding:82px 32px; text-align:center; }.belief-label { color:#c3d8d0; font-size:11px; font-weight:700; letter-spacing:1.2px; margin:0 0 17px; text-transform:uppercase; }.belief blockquote { font-family:"Lora",Georgia,serif; font-size:clamp(28px,3.5vw,47px); font-weight:500; letter-spacing:-1.1px; line-height:1.28; margin:0; }
.support { margin:auto; max-width:1160px; padding:106px 28px; }.section-heading { display:grid; grid-template-columns:1.08fr .92fr; margin-bottom:44px; }.section-heading .eyebrow { grid-column:1/-1; margin-bottom:19px; }.section-heading h2,.how h2,.family h2,.contact h2 { font-size:clamp(36px,4vw,56px); }.section-heading > p:last-child { align-self:end; color:var(--ink-soft); font-size:18px; line-height:1.6; margin:0 0 5px; max-width:365px; }
.support-grid { display:grid; gap:22px; grid-template-columns:repeat(3,1fr); }.support-card { border-radius:20px; min-height:330px; padding:30px; }.card-coral { background:#fae0d9; }.card-cream { background:#f5eddd; }.card-blue { background:#cde0e6; }.icon-circle { align-items:center; background:rgba(255,255,255,.64); border-radius:50%; display:flex; font-size:20px; height:43px; justify-content:center; width:43px; }.support-card h3 { font-family:"Lora",Georgia,serif; font-size:24px; font-weight:600; letter-spacing:-.7px; line-height:1.25; margin:42px 0 11px; }.support-card p { color:#50666c; font-size:16px; font-weight:400; line-height:1.6; margin:0; min-height:77px; }.support-card ul { border-top:1px solid rgba(36,61,67,.12); color:#587075; font-size:14px; font-weight:500; line-height:1.6; list-style:none; margin:21px 0 0; padding:14px 0 0; }.support-card li { margin:3px 0; }.support-card li::before { color:#78908d; content:"•"; margin-right:7px; }
.first-contact { align-items:center; background:#f5ede0; display:grid; gap:44px; grid-template-columns:100px 1fr .9fr; margin:auto; max-width:1104px; padding:62px 64px; }.first-contact-number { color:#d9b986; font-family:"Lora",Georgia,serif; font-size:82px; font-weight:500; line-height:1; }.first-contact-copy h2 { font-size:clamp(32px,3.2vw,46px); }.first-contact-copy > p:last-child { color:#50666c; font-size:17px; font-weight:500; line-height:1.58; margin:18px 0 0; max-width:480px; }.first-contact-points { border-left:1px solid rgba(36,61,67,.16); display:grid; gap:16px; padding-left:24px; }.first-contact-points div { align-items:flex-start; display:flex; gap:13px; }.first-contact-points span { align-items:center; background:#fffaf1; border-radius:50%; color:var(--coral-dark); display:inline-flex; flex:0 0 auto; font-size:13px; font-weight:700; height:27px; justify-content:center; margin-top:2px; width:27px; }.first-contact-points p { color:#50666c; font-size:15px; font-weight:500; line-height:1.52; margin:0; }.first-contact-points strong { color:var(--ink); display:block; font-size:16px; }
.how { background:#e8f0ed; display:grid; gap:76px; grid-template-columns:.8fr 1.2fr; padding:96px max(28px,calc((100vw - 1104px)/2)); }.how-intro p:last-child { color:#50666c; font-size:17px; font-weight:500; line-height:1.58; margin:20px 0 0; max-width:350px; }.steps { list-style:none; margin:0; padding:0; }.steps li { border-top:1px solid var(--line); display:grid; gap:27px; grid-template-columns:53px 1fr; padding:21px 0 23px; }.steps li:last-child { border-bottom:1px solid var(--line); }.steps span { color:var(--coral-dark); font-family:"Lora",serif; font-size:17px; }.steps h3 { font-size:19px; margin:0 0 5px; }.steps p { color:#50666c; font-size:16px; font-weight:500; line-height:1.52; margin:0; }
.family { align-items:center; display:grid; gap:68px; grid-template-columns:160px 1fr; margin:auto; max-width:950px; padding:104px 28px; }.family-mark { align-items:center; background:#f4cec3; border-radius:45% 55% 50% 50%; color:var(--coral-dark); display:flex; font-family:Georgia,serif; font-size:70px; height:132px; justify-content:center; transform:rotate(-12deg); width:132px; }.family h2 { font-size:clamp(34px,3.8vw,52px); max-width:680px; }.family > div:last-child > p:last-child { color:#50666c; font-size:17px; font-weight:500; line-height:1.58; margin:20px 0 0; max-width:600px; }
.contact { background:var(--teal); color:white; display:grid; gap:82px; grid-template-columns:1fr .82fr; padding:88px max(28px,calc((100vw - 1000px)/2)); }.eyebrow-light { color:#d6e7e1; }.contact h2 { color:#fff8ed; }.contact-copy > p:last-child { color:#e6f0ec; font-size:17px; font-weight:500; line-height:1.58; margin:20px 0 0; max-width:400px; }.interest-form { display:flex; flex-direction:column; gap:13px; }.interest-form label { color:#eff6f2; display:flex; flex-direction:column; font-size:13px; font-weight:700; gap:6px; }.interest-form input,.interest-form select { appearance:none; background:#fffdf8; border:0; border-radius:9px; color:var(--ink); font:15px "Source Sans 3",sans-serif; outline:2px solid transparent; padding:13px; }.interest-form input:focus,.interest-form select:focus { outline-color:#e9bd8f; }.button-light { align-self:flex-start; background:#f7d2c8; color:var(--ink); margin-top:5px; min-width:190px; }.button-light:hover { background:#fff7eb; }.button-light:disabled { cursor:wait; opacity:.72; transform:none; }.form-message { font-size:14px; font-weight:600; margin:0; min-height:20px; }.form-message.is-success { color:#f8e2b9; }.form-message.is-error { color:#ffe2dc; }
.content-corner { align-items:center; display:grid; gap:68px; grid-template-columns:.78fr 1.22fr; margin:auto; max-width:1104px; padding:96px 28px; }.content-corner-intro h2 { font-size:clamp(34px,3.8vw,52px); }.content-corner-intro > p:last-child { color:#50666c; font-size:17px; font-weight:500; line-height:1.58; margin:20px 0 0; max-width:375px; }.content-corner-grid { display:grid; gap:17px; grid-template-columns:repeat(2,1fr); }.content-corner-card { border-radius:19px; display:flex; flex-direction:column; min-height:292px; padding:27px; transition:transform .2s,box-shadow .2s; }.content-corner-card:hover { box-shadow:0 10px 22px rgba(36,61,67,.11); transform:translateY(-3px); }.elder-content { background:#f4dfd9; }.family-content { background:#e6e2ee; }.content-corner-icon { align-items:center; background:rgba(255,255,255,.63); border-radius:50%; color:#526a70; display:flex; font-size:19px; height:42px; justify-content:center; width:42px; }.content-corner-card .eyebrow { margin:31px 0 8px; }.content-corner-card h3 { font-family:"Lora",Georgia,serif; font-size:24px; font-weight:600; letter-spacing:-.7px; line-height:1.25; margin:0; }.content-corner-card > p:not(.eyebrow) { color:#50666c; font-size:15px; line-height:1.57; margin:11px 0 18px; }.content-corner-link { border-top:1px solid rgba(36,61,67,.13); color:#506e70; display:block; font-size:14px; font-weight:700; margin-top:auto; padding-top:13px; }.content-corner-link span { font-size:18px; margin-left:4px; }
footer { align-items:center; color:#53686f; display:flex; font-size:14px; font-weight:500; justify-content:space-between; margin:auto; max-width:1160px; padding:30px 28px; }footer .brand { color:var(--ink); font-size:17px; }footer .brand-mark { font-size:18px; height:25px; width:25px; }footer p { margin:0; }
@media (max-width:760px) { .site-header { height:74px; padding:0 20px; }nav,.header-cta { display:none; }.hero { gap:38px; grid-template-columns:1fr; min-height:0; padding:52px 20px 58px; }.hero-art { min-height:390px; }.section-heading,.how,.contact,.first-contact,.content-corner { grid-template-columns:1fr; }.support,.family { padding:70px 20px; }.section-heading { gap:18px; margin-bottom:34px; }.support-grid { grid-template-columns:1fr; }.support-card { min-height:auto; padding:28px; }.first-contact { gap:27px; margin:0 20px; padding:48px 27px; }.first-contact-number { font-size:68px; }.first-contact-points { border-left:0; border-top:1px solid rgba(36,61,67,.16); gap:16px; padding:21px 0 0; }.how { gap:42px; padding:70px 20px; }.family { gap:34px; grid-template-columns:1fr; }.family-mark { height:105px; width:105px; }.contact { gap:42px; padding:68px 20px; }.content-corner { gap:36px; padding:70px 20px; }.belief { padding:62px 20px; }footer { align-items:flex-start; flex-direction:column; gap:13px; padding:25px 20px; } }
@media (max-width:500px) { .content-corner-grid { grid-template-columns:1fr; }.content-corner-card { min-height:auto; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; }.motion-ready .reveal { opacity:1; transform:none; transition:none; } }

.form-privacy { color:#e6f0ec; font-size:12px; line-height:1.45; margin:1px 0 0; }.form-privacy a { border-bottom:1px solid currentColor; }
