/* Family-focused visual system. No external fonts or animation dependencies. */
:root{--ink:#303e38;--green:#285d4d;--green-dark:#194536;--sage:#edf3e8;--cream:#fffbf5;--muted:#59675f;--line:#e4e6da;--coral:#b7472f;--yellow:#f9d779;--peach:#ffe8dc;--blue:#e6f1f7;--lilac:#eee8f5;--font:"Trebuchet MS",Arial,sans-serif}
body{background:var(--cream);font-family:var(--font)}h1,h2,h3{font-weight:700;letter-spacing:-.045em}
.site-topline{background:#e9efe3;color:var(--green-dark)}.topline-note{opacity:1}.site-header{background:#fffbf5f7;backdrop-filter:none}.header-inner{height:90px}.brand-name{font-family:var(--font)}.brand-name span{letter-spacing:.065em}.site-nav .nav-cta{background:var(--coral)}.site-nav .nav-cta:hover{background:#923822}
.button,.wp-block-button__link{background:var(--coral);border-color:var(--coral);min-height:52px;font-size:15px}.button:hover,.wp-block-button__link:hover{background:#923822}.button.secondary,.is-style-outline .wp-block-button__link{background:#fff8ed;border-color:#9da997;color:var(--green-dark)}.button.secondary:hover,.is-style-outline .wp-block-button__link:hover{background:#edf3e8}.fsi-eyebrow{letter-spacing:.11em;font-size:11px}
.fsi-hero{position:relative;padding:62px 0 66px;isolation:isolate}.fsi-hero::before{content:"";position:absolute;z-index:-1;width:780px;height:620px;right:-210px;top:-80px;background:#fff0c9;border-radius:43% 57% 65% 35%;transform:rotate(-12deg)}.fsi-hero-grid{gap:66px;grid-template-columns:1fr 1.05fr}.fsi-hero h1{font-size:clamp(48px,4.75vw,70px);line-height:1.09}.fsi-hero h1 em{position:relative;font-style:normal;font-family:inherit;font-weight:700;color:var(--coral);z-index:0;white-space:nowrap}.fsi-hero h1 em::after{content:"";position:absolute;bottom:.05em;left:-.03em;right:-.04em;height:.13em;border-radius:50%;background:var(--yellow);z-index:-1;transform:rotate(-2deg)}.fsi-hero .fsi-lead{max-width:480px;font-size:17px;line-height:1.8;margin:26px 0 28px}.fsi-hero .fsi-small{font-size:12px}.fsi-hero-copy>*{animation:none}
.fsi-hero-visual{padding:12px 0 42px}.fsi-hero-visual::before{content:"";position:absolute;inset:30px -17px 24px 14px;background:#e1eacb;border-radius:42% 45% 28% 24%;transform:rotate(5deg);z-index:-1}.fsi-hero-photo{aspect-ratio:1.12;border-radius:45% 45% 25% 25%;border:7px solid #fff;box-shadow:0 12px 36px #494a2b0c}.fsi-hero-photo img{object-position:50% 50%}.fsi-note{left:-20px;right:auto;bottom:10px;padding:17px 23px;transform:rotate(-4deg);border:0;border-radius:18px;box-shadow:0 7px 30px #4a3a2814}.fsi-note p{font-size:14px}.fsi-note strong{font-size:12px}.fsi-note::before{content:"♥";font-size:33px;color:var(--coral)}.fsi-petal{top:-9px;right:-12px;width:85px;height:85px;border-radius:40% 60% 38% 62%;background:#f9cd6d;transform:rotate(14deg)}.fsi-petal::after{color:#795516}.fsi-photo-label{left:auto;right:25px;bottom:69px;font-size:9px;background:#fffdf0f5}
.fsi-trust{background:transparent;border-top:0}.fsi-trust-inner{padding-top:18px;padding-bottom:30px}.fsi-trust-intro{font-size:14px}.fsi-stat{padding:11px 22px;border-left:1px solid #dddcc7}.fsi-stat p:first-child{font-size:27px;color:var(--green-dark)}.fsi-stat p+p{font-size:12px}
.fsi-section{padding:86px 0}.fsi-section-head h2,.fsi-split h2{line-height:1.17}.fsi-section-head>.wp-block-group:last-child{max-width:365px}.fsi-program-grid{gap:18px}.fsi-program{padding:30px 25px 26px;border:0;border-radius:24px 24px 48px 24px;background:var(--peach);transition:transform .22s ease,box-shadow .22s ease}.fsi-program:nth-child(2){background:var(--blue);border-radius:24px 48px 24px 24px}.fsi-program:nth-child(3){background:#fff0c9;border-radius:48px 24px 24px 24px}.fsi-program:nth-child(4){background:var(--sage);border-radius:24px 24px 24px 48px}.fsi-program-icon{background:#fff9f0;color:#9d3b28;border-radius:50%;width:53px;height:53px;font-size:26px}.fsi-program:nth-child(2) .fsi-program-icon{background:#ffffffb0;color:#2c627c}.fsi-program:nth-child(3) .fsi-program-icon{background:#fff9ed;color:#8a6015}.fsi-program:nth-child(4) .fsi-program-icon{background:#ffffffb0;color:var(--green)}.fsi-program h3{font-size:23px;min-height:85px}.fsi-program p:not(.fsi-program-icon){color:#4e5b52}.fsi-program .fsi-text-link a{display:inline-block;padding:8px 0;font-size:13px;border-bottom:0}.fsi-text-link a span{display:inline-block;transition:transform .2s}.fsi-text-link a:hover span{transform:translate(3px,-3px)}
.fsi-about-image{border-radius:42% 42% 22px 22px;aspect-ratio:1.04;border:7px solid #fffaf0}.fsi-soft{background:#edf3e8}.fsi-split{gap:75px}.fsi-checks li{padding-top:14px;padding-bottom:14px}.fsi-dark{background:#fff0d1;color:var(--ink);overflow:visible}.fsi-dark .fsi-eyebrow{color:#785315}.fsi-dark .fsi-eyebrow::before{background:var(--coral)}.fsi-dark .fsi-section-head p:not(.fsi-eyebrow){color:#665e4d}.fsi-process-grid{position:relative;gap:50px}.fsi-step{position:relative;border:0;padding:0}.fsi-step-number{width:100%;border-top:2px dashed #d5b578;padding-top:24px;margin-bottom:20px;color:#785315;font-size:12px}.fsi-step h3{color:var(--green-dark);font-size:25px}.fsi-step p:last-child{color:#5d6152;font-size:15px}.fsi-quote{background:#fffbf5;border:0;position:relative}.fsi-quote p{font-size:clamp(27px,3vw,39px);font-family:var(--font);font-style:normal;font-weight:700;color:var(--green)}.fsi-quote p::before{content:"♥";display:block;color:var(--coral);font-size:26px;margin-bottom:14px}
.wp-block-details{padding:22px 0;border-color:#d6dfce}.wp-block-details summary{align-items:center;min-height:30px}.wp-block-details summary::after{background:#f0e5cf;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;font-size:24px}.wp-block-details[open] summary::after{background:#dcebd8}.wp-block-details[open] p{animation:answer-in .23s ease-out}.fsi-contact-band{background:#ffe6d8;border-radius:34px 80px 34px 34px;padding:52px 56px;position:relative;overflow:hidden}.fsi-contact-band h2{color:#553c31}.fsi-contact-band p{color:#68584d}.fsi-contact-band .wp-block-buttons{position:relative;z-index:1}.site-footer{background:#f5f3e9}
.fsi-inner-hero{background:#fff0d1;position:relative;overflow:hidden}.fsi-inner-hero::after{content:"";width:260px;height:260px;border:30px solid #f6d985;border-radius:50%;position:absolute;top:50px;right:-140px;pointer-events:none}.fsi-inner-hero .fsi-container{position:relative;z-index:1}.fsi-service-row figure{border-radius:70px 22px 50px 22px}.fsi-service-row:nth-child(even) figure{border-radius:22px 70px 22px 50px}.fsi-side-card{background:#fff0d1;border-radius:24px 50px 24px 24px}.fsi-values{gap:20px}.fsi-value{border:0;background:#ffffffb0;border-radius:20px;padding:25px}.fsi-value:nth-child(2){background:#fff1d5}.fsi-value:nth-child(3){background:#e1edf1}.fsi-location-photo{border-radius:150px 150px 24px 24px}
.fsi-family-section{background:#f9f3e9}.fsi-family-intro{max-width:690px;margin:0 auto 40px;text-align:center}.fsi-family-intro h2{margin-bottom:20px}.fsi-family-intro .fsi-lead{margin:auto;font-size:16px}.fsi-family-questions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.fsi-family-questions .wp-block-details{background:white;border:1px solid #ece4d7;border-radius:24px;padding:26px;align-self:start}.fsi-family-questions .wp-block-details summary{font-size:18px;min-height:60px}.fsi-family-questions .wp-block-details p{font-size:15px}.fsi-family-section .fsi-text-link{text-align:center;margin-top:30px}.fsi-guidance{background:var(--lilac);padding:36px;border-radius:25px;margin-top:52px}.fsi-guidance h2{font-size:30px;margin-bottom:15px}.fsi-guidance p{max-width:750px;font-size:16px}.fsi-guidance .fsi-text-link{margin-top:22px}.fsi-article-card .article-img{border-radius:24px 24px 45px 24px}.fsi-article-card:hover h2{color:var(--coral)}.mobile-contact a{background:var(--coral);font-size:13px}.mobile-contact a:last-child{background:#e6efdf}
.fsi-rise-in{animation:family-rise .48s cubic-bezier(.2,.65,.3,1) both}@keyframes family-rise{from{opacity:.25;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes answer-in{from{opacity:.2;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.fsi-program:hover{transform:translateY(-6px);box-shadow:0 14px 24px #3435280b}.fsi-hero-visual:hover .fsi-petal{transform:rotate(35deg)}.fsi-petal{transition:transform .6s ease}}
@media(max-width:1100px){.fsi-hero-grid{gap:40px}.fsi-program{padding:25px 20px}.fsi-program h3{font-size:21px}.fsi-family-questions{gap:16px}.fsi-family-questions .wp-block-details{padding:22px}}
@media(max-width:959px){.header-inner{height:82px}.fsi-hero{padding:45px 0}.fsi-hero-grid{gap:30px}.fsi-hero h1{font-size:48px}.fsi-hero .fsi-lead{font-size:16px}.fsi-hero .fsi-eyebrow{font-size:10px}.fsi-note{left:-5px;max-width:280px;padding:14px 18px}.fsi-note p{font-size:12px}.fsi-petal{right:-5px;width:65px;height:65px}.fsi-stat{padding:8px 15px}.fsi-stat p:first-child{font-size:23px}.fsi-stat p+p{font-size:10px}.fsi-family-questions{grid-template-columns:1fr;max-width:690px;margin:auto}.fsi-family-questions .wp-block-details summary{min-height:32px}.fsi-program h3{min-height:57px}.fsi-split{gap:40px}}
@media(max-width:767px){.header-inner{height:76px}.fsi-hero{padding:32px 0 25px}.fsi-hero-grid{grid-template-columns:1fr;gap:32px}.fsi-hero::before{width:500px;height:460px;top:auto;bottom:10px;right:-200px}.fsi-hero h1{font-size:clamp(39px,10.7vw,64px)}.fsi-hero .fsi-lead{font-size:16px;line-height:1.75;margin:22px 0 23px}.fsi-hero .fsi-small{font-size:11px}.fsi-hero-visual{max-width:480px;padding:8px 8px 36px}.fsi-hero-photo{aspect-ratio:1.3;border-width:5px;border-radius:44% 44% 20% 20%}.fsi-hero-visual::before{inset:24px 0 24px 17px}.fsi-note{left:5px;bottom:6px;padding:13px 17px;max-width:270px}.fsi-note p{font-size:12px}.fsi-note strong{font-size:10px}.fsi-note::before{font-size:27px}.fsi-photo-label{right:18px;bottom:65px;font-size:8px;padding:5px 8px}.fsi-petal{top:-6px;right:5px;width:61px;height:61px}.fsi-trust-inner{padding:22px 0;gap:8px}.fsi-stat{padding:8px 6px 8px 12px}.fsi-stat p:first-child{font-size:clamp(17px,4.7vw,25px)}.fsi-stat p+p{font-size:10px;line-height:1.55}.fsi-section{padding:60px 0}.fsi-program-grid{gap:14px}.fsi-program{padding:23px 19px;border-radius:21px!important}.fsi-program h3{font-size:21px;min-height:78px}.fsi-program p:not(.fsi-program-icon){font-size:14px}.fsi-program .fsi-text-link a{font-size:12px}.fsi-program-icon{width:45px;height:45px;margin-bottom:19px}.fsi-about-image{aspect-ratio:1.2}.fsi-process-grid{gap:25px}.fsi-step{display:block;border-top:2px dashed #d5b578;padding-top:20px}.fsi-step-number{border:0;padding:0;margin-bottom:12px}.fsi-step h3{font-size:25px}.fsi-step p:last-child{font-size:15px}.fsi-contact-band{padding:32px 27px;border-radius:26px 55px 26px 26px}.fsi-contact-band h2{font-size:32px}.fsi-family-intro h2{font-size:34px}.fsi-family-intro{text-align:left}.fsi-family-questions .wp-block-details{padding:21px}.fsi-family-questions .wp-block-details summary{font-size:17px}.fsi-guidance{padding:26px;margin-top:35px}.fsi-guidance h2{font-size:27px}.fsi-location-photo{border-radius:100px 100px 22px 22px}.fsi-inner-hero h1{font-size:39px}}
@media(max-width:400px){.fsi-program-grid{grid-template-columns:1fr}.fsi-program h3{min-height:0;font-size:25px}.fsi-program h3 br{display:none}.fsi-program p:not(.fsi-program-icon){font-size:15px}.fsi-hero .wp-block-button__link{font-size:12px;padding:13px 17px}.fsi-stat p:first-child{font-size:18px}}
@media(prefers-reduced-motion:reduce){.fsi-rise-in,.wp-block-details[open] p{animation:none!important}.fsi-program:hover,.fsi-hero-visual:hover .fsi-petal{transform:none}}

/* Keep decorative shapes behind text, including the archive's .wrap container. */
.fsi-inner-hero{isolation:isolate}.fsi-inner-hero::after{z-index:-1}.fsi-inner-hero>.wrap,.fsi-inner-hero>.fsi-container{position:relative;z-index:1}.fsi-inner-hero .fsi-lead{position:relative;max-width:650px}.fsi-inner-hero h1{overflow-wrap:break-word}.fsi-photo-label{display:none}
.fsi-prose .fsi-text-link{margin:12px 0}.fsi-prose .fsi-text-link a{display:inline-block}.fsi-prose h2{scroll-margin-top:120px}.fsi-prose p:last-child{font-size:14px}.fsi-answer-box{padding:26px 28px;background:#edf3e8;border-radius:20px;border-left:4px solid #b7472f;line-height:1.85}.fsi-source-note{font-size:13px;color:var(--muted)}.fsi-article .entry-content li{margin-bottom:12px}.fsi-article .entry-content a{overflow-wrap:anywhere}.fsi-article .entry-content :is(h2,h3){line-height:1.25}.fsi-article-card{border-radius:24px;transition:transform .25s ease}.fsi-article-card .article-date{font-size:11px;margin:0 0 12px;color:#657064}.fsi-article-card .article-img{transition:filter .3s ease}.fsi-article-card p{overflow-wrap:break-word}
.fsi-resource-strip{margin:0 auto 45px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;display:grid;grid-template-columns:1fr 2fr;gap:35px}.fsi-resource-strip h2{font-size:24px}.fsi-resource-strip p{font-size:14px;margin-top:10px}.fsi-resource-links{display:flex;flex-wrap:wrap;align-content:center;gap:10px}.fsi-resource-links a{font-size:13px;text-decoration:none;border:1px solid #d9dfce;border-radius:40px;padding:10px 16px;background:#fffaf0}.fsi-resource-links a:hover{background:var(--sage)}
.fsi-gallery-intro{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:40px}.fsi-gallery-intro h2{font-size:44px}.fsi-gallery-intro>p{font-size:16px;color:var(--muted);max-width:510px}.fsi-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:290px;gap:24px}.fsi-gallery-item{margin:0;min-width:0;display:flex;flex-direction:column;border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 4px 20px #263c3409}.fsi-gallery-item:first-child{grid-column:span 2;grid-row:span 2}.fsi-gallery-link{display:block;position:relative;overflow:hidden;flex:1;min-height:0;background:var(--sage)}.fsi-gallery-link img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.fsi-gallery-item:first-child img{object-fit:contain;background:#e6ecdf}.fsi-gallery-open{position:absolute;bottom:14px;right:14px;background:#fffbf5ed;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;font-size:23px;color:var(--green-dark)}.fsi-gallery-item figcaption{padding:14px 18px;font-size:13px;line-height:1.5;min-height:48px}.fsi-gallery-visit{margin-top:70px;padding:42px;background:#ffe8dc;border-radius:28px 65px 28px 28px;display:flex;align-items:center;justify-content:space-between;gap:40px}.fsi-gallery-visit h2{font-size:35px}.fsi-gallery-visit p:not(.fsi-eyebrow){font-size:15px;max-width:560px;margin-top:18px}.fsi-gallery-visit .button{flex-shrink:0}
.fsi-lightbox{border:0;padding:0;max-width:min(1040px,94vw);max-height:94dvh;width:1040px;border-radius:22px;background:#fffbf5;color:var(--ink);box-shadow:0 20px 90px #0005}.fsi-lightbox::backdrop{background:#14261feb;backdrop-filter:blur(5px)}.fsi-lightbox-inner{padding:20px}.fsi-lightbox-close{display:block;margin:0 0 12px auto;border:1px solid #c5cebc;border-radius:30px;background:#fff9ec;padding:8px 18px;color:var(--green-dark)}.fsi-lightbox figure{margin:0}.fsi-lightbox figure img{height:min(65dvh,720px);width:100%;object-fit:contain;border-radius:12px;background:#edf0e6}.fsi-lightbox figcaption{font-size:14px;text-align:center;padding:14px}.fsi-lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px}.fsi-lightbox-controls button{border:0;border-radius:30px;background:#e4eddc;color:var(--green-dark);padding:10px 18px}.fsi-lightbox-count{font-size:12px}
@media(prefers-reduced-motion:no-preference){.fsi-hero-copy>:is(h1,.fsi-lead,.wp-block-buttons){animation:family-rise .6s ease both}.fsi-hero-copy .fsi-lead{animation-delay:.08s}.fsi-hero-copy .wp-block-buttons{animation-delay:.14s}.fsi-hero-visual{animation:visual-welcome .75s ease both}.site-nav.is-open{animation:answer-in .22s ease-out}.fsi-lightbox[open]{animation:answer-in .2s ease-out}.fsi-program:nth-child(2),.fsi-family-questions details:nth-child(2){--fsi-delay:60ms}.fsi-program:nth-child(3),.fsi-family-questions details:nth-child(3){--fsi-delay:120ms}.fsi-program:nth-child(4){--fsi-delay:180ms}.fsi-rise-in{animation-delay:var(--fsi-delay,0ms)}@keyframes visual-welcome{from{opacity:.5;transform:translateY(15px) rotate(1deg)}to{opacity:1;transform:none}}@view-transition{navigation:auto}::view-transition-old(root){animation:page-out .12s ease both}::view-transition-new(root){animation:page-in .22s ease both}@keyframes page-out{to{opacity:0}}@keyframes page-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.fsi-gallery-link:hover img{transform:scale(1.035)}.fsi-article-card:hover{transform:translateY(-4px)}.fsi-article-card:hover .article-img{filter:saturate(1.08)}.fsi-gallery-link:hover .fsi-gallery-open{background:var(--yellow)}}
@media(max-width:959px){.fsi-gallery-grid{grid-auto-rows:245px;gap:18px}.fsi-gallery-visit{padding:32px;display:block}.fsi-gallery-visit .button{margin-top:25px}}
@media(max-width:767px){.fsi-inner-hero::after{width:180px;height:180px;border-width:20px;right:-140px;top:20px;opacity:.45}.fsi-inner-hero .fsi-lead{font-size:16px;line-height:1.8}.fsi-answer-box{padding:20px}.fsi-resource-strip{grid-template-columns:1fr;gap:18px}.fsi-resource-links{gap:8px}.fsi-resource-links a{font-size:12px}.fsi-gallery-intro{grid-template-columns:1fr;gap:22px}.fsi-gallery-intro h2{font-size:35px}.fsi-gallery-intro>p{font-size:15px}.fsi-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:230px;gap:15px}.fsi-gallery-item:first-child{grid-column:1/-1;grid-row:span 2}.fsi-gallery-item figcaption{font-size:12px;padding:12px;min-height:57px}.fsi-gallery-visit{margin-top:45px;padding:28px}.fsi-gallery-visit h2{font-size:30px}.fsi-lightbox-inner{padding:12px}.fsi-lightbox-controls button{font-size:12px;padding:10px 13px}.fsi-lightbox figcaption{font-size:13px}.fsi-lightbox figure img{height:58dvh}}
@media(max-width:360px){.fsi-gallery-grid{grid-template-columns:1fr;grid-auto-rows:280px}.fsi-gallery-item:first-child{grid-row:span 1}.fsi-gallery-item figcaption{min-height:44px}.brand-name span{font-size:7px}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}.fsi-gallery-link img,.fsi-article-card{transition:none}.fsi-hero-visual{animation:none!important}}

/* One-time entrances: compositor-only motion, with no hidden-content dependency. */
@media(prefers-reduced-motion:no-preference){
  .fsi-rise-in{animation:family-rise .7s cubic-bezier(.22,1,.36,1) backwards;animation-delay:var(--fsi-delay,0ms)}
  @keyframes family-rise{from{opacity:.12;transform:translateY(24px)}to{opacity:1;transform:none}}
  .wp-block-details[open]>:not(summary){animation:answer-in .32s cubic-bezier(.22,1,.36,1) backwards}
}
@media(max-width:767px) and (prefers-reduced-motion:no-preference){
  .fsi-rise-in{animation-duration:.55s;animation-delay:0ms}
  @keyframes family-rise{from{opacity:.2;transform:translateY(14px)}to{opacity:1;transform:none}}
}
@media print{.fsi-rise-in{animation:none!important;opacity:1!important;transform:none!important}}
/* Grid gap owns spacing; WordPress flow margins otherwise offset later cards. */
:is(.fsi-program-grid,.fsi-process-grid,.fsi-values,.fsi-family-questions,.fsi-blog-grid,.fsi-library-paths)>*{margin-block:0}
/* The first-screen photo must paint immediately; scroll reveals stay below the fold. */
.fsi-hero-visual{animation:none}
.fsi-cookie-preferences{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
/* The theme's mobile contact bar replaces overlapping legacy floating widgets. */
@media(max-width:767px){#callnowbutton,.joinchat{display:none!important}}
@media(max-width:600px){
  .surecookie-preferences-modal .surecookie-modal-footer{flex-direction:column;align-items:stretch;gap:10px}
  .surecookie-preferences-modal .surecookie-footer-actions{display:flex;flex-wrap:wrap;gap:8px;width:100%}
  .surecookie-preferences-modal .surecookie-modal-footer button{min-width:0;max-width:100%;min-height:44px;white-space:normal}
  .surecookie-preferences-modal .surecookie-footer-actions>button{flex:1}
  .surecookie-preferences-modal .surecookie-modal-footer>.surecookie-btn-primary{width:100%}
}
