@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');
:root{--purple:#7652a4;--deep:#38254e;--lav:#eee8f5;--lilac:#cbb8df;--ink:#302a36;--muted:#716b77;--yellow:#f2d77b;--white:#fffdfa}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.6}.site-header{height:auto;min-height:82px;padding:18px max(5vw,24px);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #eee9f1;background:#fffdfa}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--deep);font-size:15px;letter-spacing:1.4px;font-weight:500;line-height:1.2}.brand b{font-weight:700}.brand small{display:block;font-size:8px;letter-spacing:2px;color:var(--muted);margin-top:5px}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:var(--lav);color:var(--purple);font-size:23px}nav{display:flex;align-items:center;gap:25px}nav a{color:var(--ink);text-decoration:none;font-size:13px;font-weight:600}nav a:hover{color:var(--purple)}nav .nav-cta{padding:11px 17px;background:var(--purple);color:white;border-radius:25px}.hero{padding:70px max(7vw,26px);display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center;min-height:570px;background:linear-gradient(115deg,#fbf8fd 0%,#f2ebf7 100%)}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--purple);margin:0 0 18px}.hero h1,h1,h2{font-family:'Playfair Display',serif;color:var(--deep);line-height:1.13}.hero h1{font-size:clamp(42px,5vw,65px);margin:0 0 22px}.hero h1 em{color:var(--purple)}.lead{font-size:17px;color:#625b68;max-width:560px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:30px;padding:14px 21px;font:600 13px 'DM Sans';text-decoration:none;cursor:pointer;transition:.2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--purple);color:white}.secondary{border:1px solid #cbb8df;color:var(--deep);background:transparent}.hero-art{height:380px;position:relative;overflow:hidden;border-radius:48% 48% 24px 24px;background:linear-gradient(155deg,#d9c8e8,#a88bc5 70%,#7652a4);box-shadow:0 22px 55px #5a3c7825}.sun{position:absolute;width:190px;height:190px;border-radius:50%;background:#f5dfa0;right:16%;top:45px;box-shadow:0 0 0 18px #f5dfa033}.castle{position:absolute;bottom:95px;left:38%;font-size:100px;color:#fff9;filter:drop-shadow(0 4px 4px #51336b55)}.cloud{position:absolute;width:140px;height:35px;background:#fff9;border-radius:40px}.cloud:before,.cloud:after{content:'';position:absolute;background:inherit;border-radius:50%;width:55px;height:55px;top:-24px}.cloud:before{left:22px}.cloud:after{right:20px}.c1{top:115px;left:35px}.c2{top:195px;right:-35px;transform:scale(.7)}.spark{position:absolute;color:#fff;font-size:30px}.s1{top:55px;left:22%}.s2{right:20%;top:220px}.art-label{position:absolute;bottom:30px;left:0;right:0;text-align:center;color:white;font-size:10px;letter-spacing:3px;font-weight:700}.section{padding:85px 7vw}.intro{text-align:center}.intro h2,.services h2,.quote h2{font-size:clamp(32px,4vw,44px);margin:0 0 20px}.narrow{max-width:690px;margin:auto;color:var(--muted)}.services{background:#fff}.services>h2{margin-bottom:35px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.info-card{padding:28px;border:1px solid #eee8f2;border-radius:18px;background:#fff}.card-icon{font-size:27px}.info-card h3{font:700 18px 'DM Sans';color:var(--deep);margin:18px 0 8px}.info-card p{font-size:14px;color:var(--muted);margin:0}.portal-banner{margin:0 7vw;padding:42px 48px;background:var(--deep);color:white;border-radius:22px;display:flex;justify-content:space-between;align-items:center;gap:25px}.portal-banner h2{font-size:35px;color:white;margin:0 0 10px}.portal-banner p:not(.eyebrow){color:#e1d7eb;margin:0}.portal-banner .eyebrow{color:var(--yellow)}.light{background:white;color:var(--deep);white-space:nowrap}.quote{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.quote>div>p:not(.eyebrow){color:var(--muted);max-width:360px}.quote-form{display:grid;gap:14px}.quote-form label{font-size:12px;font-weight:700;color:var(--deep)}input,textarea{display:block;width:100%;margin-top:6px;padding:13px 14px;border:1px solid #ded5e6;border-radius:10px;background:white;font:14px 'DM Sans';color:var(--ink)}input:focus,textarea:focus{outline:2px solid #cbb8df;border-color:var(--purple)}.form-note,.security-note{font-size:11px;color:var(--muted)}footer{padding:30px 7vw;background:#f4eff7;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}footer p{font:italic 16px 'Playfair Display';color:var(--purple)}footer>small{color:var(--muted)}.resource-page{max-width:850px;margin:0 auto;padding:75px 25px 90px}.resource-page h1{font-size:clamp(38px,5vw,54px);margin:0 0 15px}.guide-list{margin:42px 0;display:grid;gap:0}.guide-list article{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:23px 0;border-bottom:1px solid #eae3ef}.guide-list article>span{font:italic 25px 'Playfair Display';color:var(--purple)}.guide-list h2{font:700 18px 'DM Sans';margin:0 0 5px}.guide-list p{margin:0;color:var(--muted);font-size:14px}.callout{padding:28px;border-radius:17px;background:var(--lav);margin-top:25px}.callout h2{font-size:27px;margin:0 0 8px}.callout p{color:var(--muted)}.access-page{text-align:center;max-width:700px;min-height:65vh}.access-page .lead{margin:0 auto}.access-page .callout{margin-top:35px}.lock-icon{width:65px;height:65px;border-radius:50%;background:var(--lav);color:var(--purple);display:grid;place-items:center;font-size:30px;margin:0 auto 22px}.security-note{margin:30px auto;max-width:520px}
@media(max-width:760px){.site-header{align-items:flex-start;flex-direction:column}nav{gap:14px;flex-wrap:wrap}nav a{font-size:12px}.hero{grid-template-columns:1fr;padding-top:55px;gap:35px}.hero-art{height:280px}.cards{grid-template-columns:1fr}.portal-banner{margin:0 5vw;padding:30px;align-items:flex-start;flex-direction:column}.quote{grid-template-columns:1fr;gap:25px}.section{padding:60px 6vw}footer{padding:25px 6vw}}
