.hero{padding:80px 0 96px;position:relative;overflow:hidden}.hero .rings{width:500px;height:500px;color:var(--purple);opacity:.11;top:-150px;right:-150px}.hero-grid{max-width:var(--maxw);z-index:1;grid-template-columns:1.02fr .98fr;align-items:center;gap:64px;margin:0 auto;padding:0 48px;display:grid;position:relative}.hero h1{margin-bottom:22px}.hero h1 .accent{color:var(--purple)}.hero .lead{max-width:34ch}.hero-visual{position:relative}.hero-photo{aspect-ratio:4/4.4;box-shadow:var(--sh-photo)}.hero-blob{background:var(--lilac);z-index:-1;opacity:.6;border-radius:46% 54% 58% 42%/48% 44% 56% 52%;width:78%;height:78%;position:absolute;bottom:-9%;right:-8%}.hero-dot{background:var(--orange);border-radius:50%;width:66px;height:66px;position:absolute;top:44px;left:-26px;box-shadow:0 12px 30px #ff773d59}.hero-floatcard{background:var(--white);border-radius:var(--r);box-shadow:var(--sh);border:1px solid var(--line);align-items:center;gap:14px;max-width:260px;padding:16px 20px;display:flex;position:absolute;bottom:38px;left:-38px}.hero-floatcard .medallion{border-radius:14px;width:44px;height:44px;margin:0}.hero-floatcard .medallion svg{width:20px;height:20px}.hero-floatcard b{color:var(--ink);font-size:.92rem;font-weight:600;display:block}.hero-floatcard span{color:var(--ink-45);font-size:.8rem}.pagehero{padding:44px 0 80px;position:relative;overflow:hidden}.pagehero .rings{width:480px;height:480px;color:var(--purple);opacity:.11;top:-160px;right:-160px}.pagehero-grid{max-width:var(--maxw);z-index:1;grid-template-columns:1.05fr .95fr;align-items:center;gap:56px;margin:0 auto;padding:0 48px;display:grid;position:relative}.pagehero .wrap{z-index:1;position:relative}.pagehero .lead{max-width:56ch;margin-top:16px}.pagehero-photo{aspect-ratio:5/4.4;box-shadow:var(--sh-photo)}.trust{background:var(--white);border-block:1px solid var(--line)}.trust-grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.stat{text-align:center;padding:16px}.stat b{color:var(--purple);letter-spacing:-.02em;font-size:2.6rem;font-weight:800;line-height:1;display:block}.stat span{color:var(--ink-70);margin-top:10px;font-size:.86rem;font-weight:500;display:block}.stat+.stat{border-left:1px solid var(--line)}.about{background:var(--lavender-bg);position:relative;overflow:hidden}.about .rings{width:460px;height:460px;color:var(--purple);opacity:.12;bottom:-200px;left:-180px}.about-photo{aspect-ratio:5/4;box-shadow:var(--sh-photo)}.about h2{margin-bottom:18px}.about p+p{margin-top:16px}.about .btn-row{margin-top:28px}.story-photo{aspect-ratio:4/4.6;box-shadow:var(--sh-photo)}.about-copy p+p{margin-top:16px}.services-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.svc h3{margin-bottom:10px}.svc p{color:var(--ink-70);margin-bottom:16px;font-size:.92rem}.svc .linkarrow{font-size:.88rem}.svc--cta{background:var(--purple);color:#fff;border-color:#0000;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;display:flex}.svc--cta h3{color:#fff}.svc--cta p{color:#ffffffd1}.promises{background:var(--purple);color:#fff;position:relative;overflow:hidden}.promises:before{content:"";opacity:.5;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E%3Cpath d='M36 12 L56 30 L56 58 L16 58 L16 30 Z' fill='none' stroke='%23ffffff' stroke-width='1.5' opacity='0.16'/%3E%3C/svg%3E");position:absolute;inset:0}.promises .rings{color:#fff;opacity:.14;width:420px;height:420px;top:-140px;right:-120px}.promises .wrap{z-index:1;position:relative}.promises .eyebrow{color:#fff}.promises .eyebrow:before{background:var(--orange)}.promises h2{color:#fff}.promises-grid{grid-template-columns:repeat(5,1fr);gap:18px;margin-top:12px;display:grid}.promise{background:var(--purple-700);border-radius:var(--r-lg);border:1px solid #ffffff24;padding:24px}.promise .medallion{color:#fff;background:#ffffff29;border-radius:14px;width:48px;height:48px;margin-bottom:16px}.promise .medallion svg{width:22px;height:22px}.promise h4{color:#fff;margin-bottom:8px;font-size:.98rem}.promise p{color:#fffc;font-size:.85rem;line-height:1.55}.promise p .tick{width:14px;height:14px;color:var(--orange);vertical-align:-2px;flex:none;margin-left:3px}.promises .btn-row{justify-content:flex-start;margin-top:44px}.steps{grid-template-columns:repeat(4,1fr);gap:24px;display:grid;position:relative}.steps:before{content:"";background:repeating-linear-gradient(90deg, var(--line-strong) 0 8px, transparent 8px 16px);height:2px;position:absolute;top:28px;left:8%;right:8%}.step{z-index:1;position:relative}.step .num{background:var(--cream);border:2px solid var(--purple);width:56px;height:56px;color:var(--purple);border-radius:50%;place-items:center;margin-bottom:20px;font-size:1.15rem;font-weight:700;display:grid}.step:nth-child(2) .num{border-color:var(--orange);color:var(--orange-600)}.step h4{margin-bottom:8px}.step p{color:var(--ink-70);font-size:.9rem}.helpers-grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.helper{background:var(--white);border-radius:var(--r-lg);box-shadow:var(--sh-card);border:1px solid var(--line);flex-direction:column;display:flex;overflow:hidden}.helper .photo{aspect-ratio:1;border-radius:0}.helper__body{flex-direction:column;flex:1;gap:12px;padding:22px;display:flex}.helper__top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.helper__body h4{font-size:1.05rem}.helper__id{color:var(--ink-45);font-size:.76rem;font-weight:500}.helper__tags{flex-wrap:wrap;gap:7px;display:flex}.helper__tags .chip{padding:5px 10px;font-size:.75rem}.helper .btn{margin-top:auto}.pricing,.packages{background:var(--lilac-100)}.plans{grid-template-columns:repeat(2,1fr);gap:24px;max-width:800px;display:grid}.plan{background:var(--white);border-radius:var(--r-lg);box-shadow:var(--sh-card);border:1px solid var(--line);flex-direction:column;padding:28px;display:flex}.plan h3{margin-bottom:6px;font-size:1.4rem}.plan p{color:var(--ink-70);flex:1;margin-bottom:20px;font-size:.9rem}.faq{max-width:820px}.faq details{border-bottom:1px solid var(--line);padding:6px 0}.faq summary{cursor:pointer;color:var(--ink);justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font-size:1.05rem;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary .pm{background:var(--lilac-100);width:26px;height:26px;color:var(--purple);border-radius:50%;flex:none;place-items:center;font-weight:600;transition:transform .2s;display:grid}.faq details[open] summary .pm{background:var(--purple);color:#fff;transform:rotate(45deg)}.faq details p{color:var(--ink-70);max-width:70ch;padding:0 0 22px}.final{position:relative}.final-panel{max-width:var(--maxw);background:var(--cream-200);border-radius:var(--r-xl);border:1px solid var(--line);margin:0 auto;padding:64px;position:relative;overflow:hidden}.final-panel.on-white{background:var(--white);box-shadow:var(--sh-card)}.final-panel .rings{width:400px;height:400px;color:var(--purple);opacity:.12;bottom:-180px;right:-140px}.final-grid{z-index:1;grid-template-columns:1fr .9fr;align-items:center;gap:56px;display:grid;position:relative}.final ul{flex-direction:column;gap:12px;margin:22px 0 0;padding:0;list-style:none;display:flex}.final li{color:var(--ink-70);align-items:center;gap:10px;font-size:.95rem;font-weight:500;display:flex}.final li svg{width:18px;height:18px;color:var(--orange-600);flex:none}.final .contact-line{color:var(--ink-45);margin-top:26px;font-size:.86rem;line-height:1.7}.final .contact-map{border-radius:var(--r);border:1px solid var(--line);height:240px;margin-top:16px;overflow:hidden}.final .contact-map-link{color:var(--purple);margin-top:10px;font-size:.82rem;font-weight:600;display:inline-block}.final .contact-map-link:hover{text-decoration:underline}.form-card{background:var(--white);border-radius:var(--r-lg);box-shadow:var(--sh);border:1px solid var(--line);padding:32px}.form-card.on-cream{background:var(--cream-200);box-shadow:none}.form-card h3{margin-bottom:20px}.gallery{background:var(--lavender-bg);position:relative;overflow:hidden}.gallery .rings{width:460px;height:460px;color:var(--purple);opacity:.12;bottom:-200px;left:-180px}.gallery .wrap{z-index:1;position:relative}.gallery-grid{grid-template-rows:1fr 1fr;grid-template-columns:1.6fr 1fr 1fr;gap:16px;height:440px;margin-top:12px;display:grid}.gallery-grid .photo:first-child{grid-row:span 2}.gallery-grid .photo__cap{font-size:.7rem}.team-wrap{justify-content:center;display:flex}.team-card{text-align:center;width:220px}.team-card .photo{aspect-ratio:1;margin-bottom:16px}.team-card h4{font-size:1rem}.team-card span{color:var(--ink-45);font-size:.85rem}.note-inline{max-width:640px;margin-top:26px;margin-left:auto;margin-right:auto}.ctaband{background:var(--cream-200);text-align:center}.ctaband .btn-row{justify-content:center}.ctaband .section-head{margin-bottom:0}.connective{background:var(--cream-200);text-align:center}.connective p{color:var(--ink-70);max-width:640px;margin:0 auto;font-size:1.1rem;font-style:italic}.connective a{color:var(--purple);font-style:normal;font-weight:600;text-decoration:underline}.portalband{background:var(--lavender-bg);text-align:center}.portalband .btn-row{justify-content:center}.counseling-photo{aspect-ratio:5/4;box-shadow:var(--sh-photo)}.contact-photo{aspect-ratio:6/5;box-shadow:var(--sh-photo)}.contact-photo-map{aspect-ratio:6/5;box-shadow:var(--sh-photo);border-radius:var(--r-lg);width:100%;overflow:hidden}.detail-card{background:var(--white);border-radius:var(--r-lg);box-shadow:var(--sh-card);border:1px solid var(--line);padding:32px}.detail-card h4{text-transform:uppercase;letter-spacing:.1em;color:var(--purple);margin-bottom:8px;font-size:.78rem}.detail-card h4:not(:first-child){margin-top:24px}.detail-card p{color:var(--ink-70);font-size:.98rem;line-height:1.7}.connect-card h3{margin-bottom:10px}.connect-card p{color:var(--ink-70);margin-bottom:18px;font-size:.94rem}.connect-card ul{flex-direction:column;gap:10px;margin:0 0 20px;padding:0;list-style:none;display:flex}.connect-card li{color:var(--ink-70);align-items:flex-start;gap:9px;font-size:.9rem;display:flex}.connect-card li svg{width:16px;height:16px;color:var(--orange-600);flex:none;margin-top:3px}.connect-card .socials{gap:10px;margin-top:4px;display:flex}.connect-card .socials a{background:var(--lilac-100);width:44px;height:44px;color:var(--purple);border-radius:14px;place-items:center;text-decoration:none;transition:background .15s,color .15s;display:grid}.connect-card .socials a:hover{background:var(--purple);color:#fff}.connect-card .socials svg{width:19px;height:19px}@media (max-width:1080px){.hero-grid,.pagehero-grid{grid-template-columns:1fr;gap:44px;padding:0 40px}.hero .lead{max-width:none}.hero-visual{max-width:460px}.trust-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat+.stat{border-left:none}.stat:nth-child(2){border-left:1px solid var(--line)}.stat:nth-child(3),.stat:nth-child(4){border-top:1px solid var(--line);padding-top:26px}.stat:nth-child(4){border-left:1px solid var(--line)}.services-grid{grid-template-columns:1fr 1fr}.promises-grid{grid-template-columns:repeat(3,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.steps:before{display:none}.helpers-grid{grid-template-columns:repeat(2,1fr)}.final-grid{grid-template-columns:1fr;gap:36px}.final-panel{padding:44px}.gallery-grid{grid-template-rows:repeat(3,160px);grid-template-columns:1fr 1fr;height:auto}.gallery-grid .photo:first-child{grid-area:span 1/span 2}}@media (max-width:640px){.contact-photo-map{aspect-ratio:auto;height:210px}.hero{padding:48px 0 64px}.hero-grid{padding:0 22px}.hero .rings{width:340px;height:340px;top:-120px;right:-120px}.hero-floatcard{max-width:220px;bottom:-24px;left:auto;right:12px}.hero-dot{width:48px;height:48px;left:-14px}.trust-grid{grid-template-columns:1fr 1fr}.services-grid{grid-template-columns:1fr}.promises-grid{grid-template-columns:1fr 1fr}.promises:before{opacity:.3}.steps{grid-template-columns:1fr}.helpers-grid{grid-template-columns:1fr 1fr}.plans{grid-template-columns:1fr}.final-panel{border-radius:var(--r-lg);padding:30px 22px}.final .contact-map{height:210px}.gallery-grid{grid-template-rows:repeat(5,160px);grid-template-columns:1fr}.gallery-grid .photo:first-child{grid-column:span 1}.pagehero{padding:28px 0 48px}.pagehero .rings{width:320px;height:320px}}@media (min-width:421px) and (max-width:640px){.promises-grid .promise:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 9px)}}@media (max-width:420px){.helpers-grid,.promises-grid,.trust-grid{grid-template-columns:1fr}.stat+.stat{border-top:1px solid var(--line);padding-top:22px;border-left:none!important}}
