/* Editorial layouts, native media, and deliberate motion. No external dependencies. */
.site-nav>ul{gap:22px}.site-nav li{position:relative}.site-nav .sub-menu{position:absolute;left:-22px;top:100%;width:300px;display:block;padding:12px;background:var(--cream);border:1px solid var(--line);border-radius:0 22px 22px 22px;box-shadow:0 18px 35px #203e3614;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s,transform .18s,visibility .18s;z-index:10}.site-nav .sub-menu li{border:0}.site-nav .sub-menu a{display:block;white-space:normal;padding:12px 14px;font-size:14px;border:0;border-radius:12px;line-height:1.5}.site-nav .sub-menu a:hover,.site-nav .sub-menu a:focus-visible{background:var(--sage)}.site-nav li:hover>.sub-menu,.site-nav li:focus-within>.sub-menu,.site-nav li.is-expanded>.sub-menu{opacity:1;visibility:visible;transform:none}.submenu-toggle{border:0;background:transparent;color:var(--green-dark);width:32px;min-height:44px;display:inline-grid;place-items:center;vertical-align:middle;border-radius:12px}.submenu-toggle span{display:inline-block;transition:transform .2s;font-size:18px}.submenu-toggle[aria-expanded=true] span{transform:rotate(180deg)}.site-nav .menu-item-has-children>a{margin-right:0}.site-nav .menu-item-has-children{white-space:nowrap}.site-nav .nav-cta{white-space:nowrap}
.fsi-hero{padding:64px 0 60px;background:linear-gradient(120deg,#fffaf1 5%,#fffbf5 58%,#fff1ce 100%);overflow:clip}.fsi-hero::before{width:640px;height:640px;right:-120px;top:30px;background:#f8df9b66;border:1px solid #d8b96444;border-radius:50%;transform:none}.fsi-hero-grid{grid-template-columns:1.03fr 1fr;gap:66px;align-items:center}.fsi-hero-grid>*{min-width:0}.fsi-hero h1{font-size:clamp(48px,4.9vw,72px);line-height:1.07;letter-spacing:-.055em}.fsi-hero h1 em::after{height:.1em;bottom:.04em;transform:rotate(-1.5deg)}.fsi-hero .fsi-eyebrow{max-width:400px;line-height:1.7}.fsi-hero .fsi-lead{font-size:17px;line-height:1.85;max-width:490px}.fsi-hero .fsi-text-link{margin-top:23px}.fsi-hero .fsi-text-link a{font-size:13px}.fsi-hero-visual{padding:24px 6px 52px;position:relative}.fsi-hero-visual::before{inset:38px -5px 45px 18px;transform:rotate(7deg);border-radius:42% 43% 20% 28%;background:#dce6cd}.fsi-hero-photo{aspect-ratio:1.06;border-radius:46% 46% 22% 22%;transform:rotate(-2deg);box-shadow:0 20px 60px #52633712}.fsi-hero-photo img{transform:scale(1.025)}.fsi-note{left:-22px;bottom:4px;right:auto;background:#fffef8;max-width:315px;z-index:2}.fsi-hero-stamp{position:absolute;right:-8px;top:4px;background:#e0eef1;color:#28566b;padding:20px 18px;border-radius:48% 45% 42% 47%;transform:rotate(9deg);text-align:center;box-shadow:0 6px 0 #c8dfe3;border:3px solid var(--cream);z-index:2}.fsi-hero-stamp p{font-size:13px;font-weight:700;line-height:1.6}.fsi-petal{display:none}.fsi-trust{background:#fff8e8;border-block:1px solid #eae1ca}.fsi-trust-inner{padding-block:23px}.fsi-trust-intro{color:var(--green-dark)}
.fsi-program-grid{gap:20px;align-items:stretch}.fsi-program,.fsi-program:nth-child(n){padding:0;border-radius:25px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.fsi-program-photo{aspect-ratio:1.15;margin:0;overflow:hidden;position:relative}.fsi-program-photo::after{content:"";position:absolute;inset:auto -1px -1px;height:18px;background:var(--peach);border-radius:100% 100% 0 0}.fsi-program:nth-child(2) .fsi-program-photo::after{background:var(--blue)}.fsi-program:nth-child(3) .fsi-program-photo::after{background:#fff0c9}.fsi-program:nth-child(4) .fsi-program-photo::after{background:var(--sage)}.fsi-program-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.65,.3,1)}.fsi-program-body{padding:18px 24px 24px;display:flex;flex-direction:column;flex:1}.fsi-program h3{font-size:24px;line-height:1.17;min-height:85px;letter-spacing:-.035em;margin:0 0 16px}.fsi-program p:not(.fsi-program-icon){font-size:14px;line-height:1.75}.fsi-program .fsi-text-link{margin-top:auto;padding-top:20px}.fsi-program .fsi-text-link a{font-size:13px;padding-block:6px;display:inline-flex;gap:14px;align-items:center}.fsi-program:focus-within{outline:2px solid var(--green);outline-offset:5px}
.fsi-film-section{background:#244d40;color:#fffaf0;position:relative;overflow:clip}.fsi-film-section::before{content:"";position:absolute;width:440px;height:440px;border:1px dashed #b4c7a94d;border-radius:50%;left:-200px;bottom:-220px;pointer-events:none}.fsi-film-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:100px;align-items:center}.fsi-film-copy{max-width:550px}.fsi-film-copy .fsi-eyebrow{color:#ffe2a0}.fsi-film-copy .fsi-eyebrow::before{background:#f4be79}.fsi-film-copy h2{font-size:clamp(36px,3.7vw,53px);line-height:1.14;color:#fffaf0;margin-bottom:28px}.fsi-film-copy .fsi-lead{font-size:19px;color:#f0f3df;line-height:1.8;margin-bottom:22px}.fsi-film-copy>p:not(.fsi-lead,.fsi-eyebrow){font-size:15px;color:#d6e3d3}.fsi-film-link{display:inline-flex;align-items:center;gap:26px;margin-top:25px;font-size:14px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px}.fsi-film-link span{transition:transform .2s}.fsi-film-frame{max-width:350px;justify-self:center;width:100%;padding:12px;background:#fffaf0;border-radius:32px;transform:rotate(2deg);box-shadow:16px 16px 0 #ffffff0c}.fsi-film-frame video{display:block;width:100%;height:auto;aspect-ratio:480/642;border-radius:22px;background:#121713;object-fit:contain}.fsi-film-frame figcaption{font-size:12px;color:var(--green-dark);padding:14px 10px 6px;line-height:1.7}
.fsi-memories{background:#fff9ed}.fsi-memories-head{display:grid;grid-template-columns:1.1fr 1fr;gap:85px;align-items:end;margin-bottom:44px}.fsi-memories-head h2{font-size:clamp(34px,3.5vw,48px);line-height:1.17}.fsi-memories-head>div:last-child>p{font-size:16px;color:var(--muted);max-width:440px}.fsi-memory-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:24px;align-items:start}.fsi-memory{display:block;text-decoration:none;min-width:0;background:white;padding:10px;border:1px solid #eee6d7;border-radius:24px;transition:transform .3s}.fsi-memory:nth-child(2){margin-top:38px;transform:rotate(2deg);background:#edf3e8}.fsi-memory:nth-child(3){margin-top:14px;transform:rotate(-2deg);background:#fff0cb}.fsi-memory figure{margin:0}.fsi-memory img{width:100%;height:auto;aspect-ratio:1.15;object-fit:cover;border-radius:16px}.fsi-memory:first-child img{aspect-ratio:.95}.fsi-memory figcaption{display:flex;justify-content:space-between;gap:10px;padding:15px 8px 6px;font-size:13px;line-height:1.6}.fsi-memory figcaption span{font-size:22px;flex-shrink:0}.fsi-memory-note{font-size:12px;color:var(--muted);margin-top:25px}
.fsi-social-section{background:#f7f3ed;padding-top:75px}.fsi-social-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.fsi-social-card{padding:40px 44px;border-radius:28px;position:relative;overflow:hidden;min-width:0}.fsi-instagram-card{background:#f3e3dd;border:1px solid #ead5c9}.fsi-google-card{background:#e8eee3;border:1px solid #d9e3d0}.fsi-social-icon{position:absolute;right:30px;top:28px;font-size:43px;color:var(--coral);line-height:1}.fsi-google-card .fsi-social-icon{color:var(--green)}.fsi-social-card h3{font-size:38px;line-height:1.15;margin-bottom:22px}.fsi-social-card p:not(.fsi-eyebrow){font-size:15px;max-width:340px;overflow-wrap:anywhere}.fsi-social-card .button{margin-top:26px;font-size:14px}.fsi-instagram-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}.fsi-instagram-post{background:#fff;padding:24px;border:1px solid var(--line);border-radius:20px;min-width:0;align-self:start}.fsi-instagram-post>p:first-child{font-size:13px;margin-bottom:20px}.fsi-instagram-post>a{font-size:13px;display:inline-block;margin-top:18px}.fsi-instagram-post .fsi-small{font-size:12px;margin-top:15px}.fsi-instagram-post iframe{width:100%;height:580px;border:0;display:block;background:white;border-radius:12px}.fsi-instagram-post .button{font-size:13px;width:100%}.fsi-social-section+.fsi-container .fsi-contact-band{margin-top:70px}
@media(min-width:1150px){.submenu-toggle{margin-left:0;margin-right:-8px}.site-nav{gap:24px}.site-nav ul a{font-size:13px}.site-nav.fsi-enhanced-nav li:not(.is-expanded)>.sub-menu{opacity:0;visibility:hidden;transform:translateY(8px)}}
@media(max-width:1149px){.header-inner{height:82px;justify-content:space-between}.menu-toggle{display:flex;align-items:center;gap:9px;background:transparent;border:1px solid #ced9cc;border-radius:30px;padding:10px 15px;font-size:13px;color:var(--ink)}.menu-toggle svg{width:18px;height:18px}.site-nav{position:absolute;inset:100% 0 auto;margin:0;padding:20px 32px 28px;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 20px 30px #203e3610;display:none;max-height:calc(100dvh - 110px);overflow:auto}.site-nav.is-open{display:block}.site-nav>ul{display:block}.site-nav ul li{border-bottom:1px solid var(--line)}.site-nav>ul>li>a{display:inline-block;font-size:16px;padding:14px 0;border:none;max-width:calc(100% - 55px)}.site-nav .nav-cta{margin-top:20px;justify-content:space-between;padding:14px 20px;font-size:14px}.submenu-toggle{position:absolute;right:0;top:4px;width:44px;background:var(--sage)}.site-nav .sub-menu{position:static;width:100%;box-shadow:none;border:0;transform:none;opacity:1;visibility:visible;padding:0 0 14px 12px;background:transparent;display:block}.site-nav.fsi-enhanced-nav .sub-menu{display:none}.site-nav.fsi-enhanced-nav .is-expanded>.sub-menu{display:block}.site-nav .sub-menu a{font-size:14px;padding:12px}.fsi-hero-grid{gap:35px}.fsi-hero h1{font-size:clamp(42px,4.9vw,58px)}.fsi-hero .fsi-lead{font-size:16px}.fsi-note{left:-8px;max-width:280px}.fsi-program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fsi-program-photo{aspect-ratio:1.65}.fsi-program h3{min-height:0;font-size:26px}.fsi-program h3 br{display:none}.fsi-program-body{padding:22px 25px 25px}.fsi-film-grid{gap:60px}.fsi-memories-head{gap:45px}.fsi-memory-grid{gap:16px}}
@media(max-width:767px){.header-inner{height:76px}.fsi-hero{padding:35px 0 36px}.fsi-hero-grid{grid-template-columns:1fr;gap:35px}.fsi-hero h1{font-size:clamp(34px,10vw,64px)}.fsi-hero .fsi-eyebrow{font-size:10px}.fsi-hero::before{width:440px;height:440px;top:auto;bottom:-30px;right:-190px}.fsi-hero-visual{max-width:500px;padding:20px 5px 38px}.fsi-hero-photo{aspect-ratio:1.22;border-width:5px}.fsi-note{left:0;bottom:0;max-width:285px;padding:12px 16px}.fsi-hero-stamp{right:0;top:0;padding:14px;border-width:2px}.fsi-hero-stamp p{font-size:11px}.fsi-hero .fsi-text-link{margin-top:18px}.fsi-program-grid{gap:20px;grid-template-columns:1fr}.fsi-program-photo{aspect-ratio:1.7}.fsi-program-body{padding:20px 24px 24px}.fsi-program h3{font-size:28px;min-height:0;margin-bottom:16px}.fsi-program p:not(.fsi-program-icon){font-size:15px}.fsi-program .fsi-text-link{padding-top:15px}.fsi-program .fsi-text-link a{font-size:14px}.fsi-film-grid{grid-template-columns:1fr;gap:40px}.fsi-film-copy h2{font-size:37px}.fsi-film-copy .fsi-lead{font-size:17px}.fsi-film-frame{max-width:300px;transform:rotate(1deg)}.fsi-memories-head{grid-template-columns:1fr;gap:24px;margin-bottom:30px}.fsi-memories-head h2{font-size:35px}.fsi-memories-head>div:last-child>p{font-size:15px}.fsi-memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.fsi-memory:first-child{grid-column:1/-1}.fsi-memory:first-child img{aspect-ratio:1.4}.fsi-memory:nth-child(2),.fsi-memory:nth-child(3){margin-top:0;transform:none}.fsi-memory{padding:7px;border-radius:18px}.fsi-memory img{border-radius:12px;aspect-ratio:.95}.fsi-memory figcaption{font-size:12px;padding:12px 5px 5px}.fsi-social-section{padding-top:55px}.fsi-social-grid{grid-template-columns:1fr;gap:20px}.fsi-social-card{padding:32px 28px;border-radius:24px}.fsi-social-card h3{font-size:35px}.fsi-social-card .button{font-size:13px;width:100%;justify-content:center;padding-inline:14px}.fsi-social-icon{right:25px;top:25px}.fsi-instagram-posts{grid-template-columns:1fr}.fsi-social-section+.fsi-container .fsi-contact-band{margin-top:50px}}
@media(max-width:360px){.fsi-hero .wp-block-buttons{flex-direction:column;align-items:stretch}.fsi-hero .wp-block-button__link{width:100%;font-size:14px}.fsi-hero-stamp{padding:12px;right:-2px}.fsi-hero-stamp p{font-size:10px}.fsi-note{max-width:250px}.fsi-memory-grid{grid-template-columns:1fr}.fsi-memory img{aspect-ratio:1.3}.fsi-social-card{padding:30px 24px}.fsi-social-card h3{font-size:32px}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.fsi-program:hover .fsi-program-photo img,.fsi-program:focus-within .fsi-program-photo img{transform:scale(1.045)}.fsi-memory:hover,.fsi-memory:focus-visible{transform:translateY(-7px) rotate(0)}.fsi-film-link:hover span{transform:translate(4px,-4px)}.fsi-social-card .button:hover{transform:translateY(-2px)}}
@media(prefers-reduced-motion:no-preference){.fsi-hero-stamp{animation:stamp-welcome 1.8s ease-in-out 2}.fsi-film-copy.fsi-rise-in,.fsi-memories-head.fsi-rise-in{animation-duration:.6s}.submenu-toggle[aria-expanded=true]+.sub-menu{animation:answer-in .2s ease-out}@keyframes stamp-welcome{0%,100%{transform:rotate(9deg) translateY(0)}50%{transform:rotate(5deg) translateY(-5px)}}}
@media(prefers-reduced-motion:reduce){.fsi-hero-stamp{animation:none}.fsi-memory,.fsi-program-photo img,.submenu-toggle span,.site-nav .sub-menu{transition:none}.fsi-program:hover,.fsi-memory:hover{transform:none}}
@media print{.fsi-film-frame,.fsi-social-section,.fsi-hero-stamp{display:none}.fsi-film-section{color:#111;background:#fff}.fsi-film-copy :is(h2,p){color:#111}.fsi-memory-grid{display:block}.fsi-memory{break-inside:avoid}}

/* Shared alignment. Navigation labels and controls occupy the same grid row. */
.site-nav>ul>li.menu-item-has-children{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;column-gap:2px}
.site-nav>ul>li>a{display:flex;align-items:center;min-height:44px;line-height:1.4}
.site-nav .submenu-toggle{position:static;display:grid;place-items:center;align-self:center;width:32px;height:44px;min-height:44px;line-height:1;padding:0;margin:0;border:0;background:transparent;border-radius:12px}
.submenu-toggle svg{display:block;width:18px;height:18px;transition:transform .22s ease}
.submenu-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
.site-nav .sub-menu{grid-column:1/-1}
.fsi-family-questions{align-items:stretch}
.fsi-family-questions .wp-block-details{align-self:stretch;height:100%;margin:0}
.fsi-family-questions .wp-block-details summary{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:14px;align-items:center;min-height:76px;line-height:1.45}
.fsi-family-questions .wp-block-details>p{margin-top:20px}
.fsi-family-intro .fsi-lead{max-width:610px}
.fsi-values{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.fsi-value{display:flex;flex-direction:column;gap:18px}
.fsi-value p{margin:0}
.fsi-blog-grid{align-items:stretch}
.fsi-article-card{display:flex;flex-direction:column;min-width:0;height:100%}
.fsi-article-card>.fsi-text-link{margin-top:auto;padding-top:22px}
.fsi-article-card h2{line-height:1.25}
.fsi-service-row>*,.fsi-service-detail>*,.fsi-section-head>*,.fsi-contact-grid>*{min-width:0}
.fsi-trust-inner{grid-template-columns:1.1fr repeat(4,minmax(0,1fr));gap:12px;align-items:stretch}
.fsi-stat{display:flex;flex-direction:column;justify-content:center;padding:10px 16px}
.fsi-stat p:first-child{font-size:23px;line-height:1.3;letter-spacing:-.035em}
.fsi-stat p+p{font-size:11px;line-height:1.5;margin-top:8px}
.fsi-trust-intro{display:flex;align-items:center}
.fsi-inline-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;font-size:14px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding:8px 0;min-height:44px;justify-self:start;align-self:end}
.fsi-inline-link span{transition:transform .2s}
.fsi-memories-head{grid-template-columns:1.2fr .8fr;align-items:end}
.fsi-memory-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:22px}
.fsi-memory,.fsi-memory:nth-child(n){margin:0;padding:0;transform:none;border:0;border-radius:28px;overflow:hidden;position:relative;background:var(--sage);height:340px}
.fsi-memory img,.fsi-memory:first-child img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0;transition:transform .5s ease}
.fsi-memory-open{position:absolute;bottom:18px;right:18px;display:grid;place-items:center;width:42px;height:42px;background:var(--cream);border-radius:50%;font-size:23px;color:var(--green-dark)}
.fsi-gallery-item{border-radius:24px;background:#eaf0e3}
.fsi-gallery-link{border-radius:24px}
.fsi-gallery-link img{object-fit:contain}
.fsi-lightbox-controls{margin-top:14px}
.fsi-faq-source{display:block;font-size:12px;margin-top:12px;font-weight:600;color:var(--green)}
.fsi-program-faqs{margin-top:48px}
.fsi-program-faqs .wp-block-details summary{font-size:18px;line-height:1.5;gap:18px}
.fsi-prose .fsi-program-faqs>h2{margin-bottom:12px}
.fsi-prose .wp-block-details p{font-size:16px;line-height:1.85}
.fsi-program-history{padding:28px;background:var(--blue);border-radius:24px;margin-top:38px}
.fsi-history{margin:40px 0 0;padding:35px;border-left:4px solid #d79545;background:#fff4d9;border-radius:0 28px 28px 0}
.fsi-history h2{font-size:32px;margin-bottom:18px}
.fsi-history p{font-size:16px;max-width:780px}

/* A question-led library, kept as server-rendered HTML. */
.fsi-library-section{background:#eef4eb;position:relative;overflow:clip}
.fsi-library-head{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end;margin-bottom:38px}
.fsi-library-head h2{font-size:clamp(34px,3.5vw,49px);line-height:1.16}
.fsi-library-head p:not(.fsi-eyebrow){font-size:16px;color:var(--muted);max-width:440px}
.fsi-library-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.fsi-library-path{display:flex;flex-direction:column;gap:18px;padding:28px;background:#fffdf8;border:1px solid #dde6d5;border-radius:26px;min-width:0;transition:transform .25s ease,box-shadow .25s ease}
.fsi-library-path:nth-child(2){background:#fff0d1;border-color:#f0dfb8}.fsi-library-path:nth-child(3){background:#e9f1f7;border-color:#d8e5ee}.fsi-library-path:nth-child(4){background:#f4e9ed;border-color:#ead7dd}.fsi-library-path:nth-child(5){background:#eee9f5;border-color:#e1d8ec}
.fsi-library-path h3{font-size:26px;line-height:1.25;margin:0}
.fsi-library-path>p{font-size:14px;color:var(--muted);margin:0}
.fsi-library-symbol{font-size:26px;line-height:1;color:var(--green);font-weight:700;display:grid;place-items:center;width:46px;height:46px;background:#ffffffb0;border-radius:16px}
.fsi-library-links{list-style:none;margin:0;padding:0;display:grid;gap:0}
.fsi-library-links li+li{border-top:1px solid #314b4020}
.fsi-library-links a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;font-size:14px;line-height:1.55;text-decoration:none;min-height:48px}
.fsi-library-links span{font-size:20px;flex-shrink:0;color:var(--green)}
.fsi-library-path>.fsi-inline-link{margin-top:auto;font-size:13px}
.fsi-library-path:last-child{background:#fff6e5}
.fsi-library-search{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-top:35px;padding:25px 0 0;border-top:1px solid #cad7c1}
.fsi-library-search>p{font-size:15px;max-width:370px}
.fsi-library-search .search-form{flex:1;width:100%;max-width:580px;align-items:stretch}
.fsi-library-search .search-field{background:#fffdf8;font-size:14px;min-height:50px}
.fsi-library-search .search-submit{border:0;border-radius:30px;background:var(--green);color:white;padding:12px 22px;min-height:50px}
.fsi-topic-nav{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:30px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.fsi-topic-nav a{display:inline-flex;align-items:center;padding:10px 16px;min-height:44px;background:#f0f4e8;border:1px solid #dbe4d3;border-radius:30px;text-decoration:none;font-size:13px;line-height:1.4}
.fsi-topic-nav a[aria-current=page]{background:var(--green);border-color:var(--green);color:white}
.fsi-article-tools{margin:30px 0;padding:20px 24px;background:#eef3e8;border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.fsi-article-tools p{font-size:13px;margin:0}
.fsi-print-button{border:1px solid #b8c8ad;background:#fffdf8;border-radius:30px;padding:10px 18px;color:var(--green-dark);font-size:13px;min-height:44px;white-space:nowrap}
.fsi-article-toc{margin:28px 0;padding:24px 28px;background:#fff1d7;border-radius:24px}
.fsi-article-toc p{font-weight:700;font-size:15px}
.fsi-article-toc ul{display:grid;gap:8px;list-style:none;padding:0;margin:12px 0 0}
.fsi-article-toc a{display:inline-block;font-size:14px;line-height:1.6;padding-block:3px}
.fsi-article .entry-content :is(h2,h3),.fsi-prose h2{scroll-margin-top:115px}
.fsi-article-related{margin-top:40px;border-top:1px solid var(--line);padding-top:30px}
.fsi-article-related h2{font-size:28px;margin-bottom:18px}
.fsi-article-related ul{padding:0;list-style:none;display:grid;gap:12px}
.fsi-article-related a{font-size:15px}
.fsi-worksheet{padding:26px;background:#f1f4e9;border:1px dashed #9ab58a;border-radius:22px;margin:28px 0}
.fsi-worksheet h2{font-size:27px!important;margin-top:0!important}
.fsi-worksheet li{padding-block:8px}
.fsi-search{flex:1;min-width:0;width:100%;max-width:580px}
.search-form label{min-width:0}
.fsi-search-status{font-size:13px;color:var(--muted);line-height:1.5;margin:10px 0 0}
.fsi-search-status:empty{display:none}
.fsi-search-suggestions{list-style:none;padding:0;margin:12px 0 0;border:1px solid var(--line);border-radius:16px;background:var(--cream);overflow:hidden}
.fsi-search-suggestions[hidden]{display:none}
.fsi-search-suggestions li{margin:0;padding:0}
.fsi-search-suggestions li+li{border-top:1px solid var(--line)}
.fsi-search-suggestions a{display:block;padding:13px 18px;font-size:15px;line-height:1.5;overflow-wrap:anywhere;text-decoration:none}
.fsi-search-suggestions a:hover,.fsi-search-suggestions a:focus-visible{background:var(--sage);text-decoration:underline;outline:2px solid var(--green);outline-offset:-3px}

.fsi-location{padding:64px 0;background:#edf2e9}.fsi-location-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:48px;align-items:center}.fsi-location h2{font-size:clamp(30px,4vw,48px);line-height:1.15;margin:12px 0 20px}.fsi-location p{max-width:42ch}.fsi-location-map{height:340px;border-radius:28px;overflow:hidden;background:#e0e8dc;border:1px solid #cbd5c6}.fsi-map-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center}.fsi-map-placeholder small{font-size:12px}.fsi-location-map iframe{display:block;width:100%;height:100%;border:0}.fsi-map-placeholder .button{cursor:pointer}
@media(max-width:700px){.fsi-location{padding:40px 0}.fsi-location-grid{grid-template-columns:1fr;gap:24px}.fsi-location-map{height:300px}}
@media(prefers-reduced-motion:no-preference){main img[loading=lazy]{transition:opacity .28s ease}main img.fsi-image-pending{opacity:.2}}
@media print{.fsi-location-map{display:none}}
/* Playful, finite CSS animation. Main content never depends on these decorations. */
.fsi-family-section{position:relative;isolation:isolate;overflow:clip}
.fsi-family-intro{position:relative}
.fsi-play-scene{display:flex;justify-content:center;margin:0 auto 22px;max-width:250px;pointer-events:none}
.fsi-play-scene svg{display:block;width:230px;height:84px;overflow:visible}
.fsi-family-intro h2{position:relative;z-index:1}
.fsi-program{position:relative}
.fsi-program-body{position:relative}
.fsi-program-body::after{content:"✦";position:absolute;right:20px;top:-21px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#fffdf6;color:#bd6849;font-size:27px;border:3px solid var(--peach);transition:transform .4s ease}
.fsi-program:nth-child(2) .fsi-program-body::after{color:#3f7b96;border-color:var(--blue);content:"◌"}.fsi-program:nth-child(3) .fsi-program-body::after{color:#956c1b;border-color:#fff0c9;content:"✳"}.fsi-program:nth-child(4) .fsi-program-body::after{color:#4c7a51;border-color:var(--sage);content:"♡"}
.fsi-step{border-radius:20px;transition:transform .25s ease}
.fsi-step h3{line-height:1.3}
.fsi-hero-copy .fsi-eyebrow::before{box-shadow:0 0 0 5px #f7e3c5}
.fsi-resource-strip{align-items:start}
@media(min-width:1150px){.site-nav>ul>li>a{font-size:13px;padding-block:10px}.site-nav .menu-item-has-children>.sub-menu{top:100%;left:-16px}}
@media(max-width:1149px){.site-nav>ul>li.menu-item-has-children{grid-template-columns:minmax(0,1fr) 44px}.site-nav>ul>li>a{display:flex;max-width:none;min-height:56px;padding:14px 0;font-size:16px;line-height:1.5}.site-nav .submenu-toggle{position:static;inset:auto;align-self:center;width:44px;height:44px;background:var(--sage)}.site-nav .sub-menu{padding-top:0}.site-nav .sub-menu a{min-height:48px;display:flex;align-items:center}.fsi-trust-inner{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.fsi-trust-intro{display:none}.fsi-stat p:first-child{font-size:22px}.fsi-memory,.fsi-memory:nth-child(n){height:290px}.fsi-library-head{gap:40px}.fsi-library-paths{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.fsi-trust-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}.fsi-stat{border-left:0;border-bottom:1px solid #e4dcc8;padding:13px 0}.fsi-stat p:first-child{font-size:24px}.fsi-stat p+p{font-size:12px}.fsi-values{grid-template-columns:1fr}.fsi-family-questions .wp-block-details{height:auto}.fsi-family-questions .wp-block-details summary{min-height:44px}.fsi-memories-head{grid-template-columns:1fr;gap:22px}.fsi-memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fsi-memory,.fsi-memory:nth-child(n){height:240px;border-radius:22px}.fsi-memory:first-child{grid-column:1/-1;height:280px}.fsi-memory-open{width:36px;height:36px;bottom:12px;right:12px}.fsi-library-head{grid-template-columns:1fr;gap:22px;margin-bottom:28px}.fsi-library-head h2{font-size:36px}.fsi-library-paths{gap:15px}.fsi-library-path{padding:24px 22px;border-radius:22px;gap:15px}.fsi-library-path h3{font-size:25px}.fsi-library-paths{grid-template-columns:1fr}.fsi-library-search{flex-direction:column;align-items:stretch;gap:20px}.fsi-library-search .search-form{max-width:none}.fsi-library-search>p{max-width:none}.fsi-topic-nav{gap:8px}.fsi-topic-nav a{font-size:12px;padding:9px 13px}.fsi-article-tools{display:block;padding:20px}.fsi-print-button{margin-top:15px}.fsi-article-toc{padding:22px}.fsi-worksheet{padding:22px}.fsi-history{padding:26px}.fsi-play-scene{justify-content:flex-start;margin-left:0}.fsi-program-faqs .wp-block-details summary{font-size:17px}.fsi-article .entry-content :is(h2,h3),.fsi-prose h2{scroll-margin-top:95px}}
@media(max-width:360px){.fsi-memory-grid{grid-template-columns:1fr}.fsi-memory,.fsi-memory:nth-child(n){height:260px;grid-column:auto}.fsi-family-intro h2{font-size:31px}.fsi-stat p:first-child{font-size:21px}.fsi-social-card .button{white-space:normal;text-align:center}.fsi-library-head h2{font-size:32px}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.fsi-program:hover .fsi-program-body::after,.fsi-program:focus-within .fsi-program-body::after{transform:translateY(-4px) rotate(22deg)}.fsi-library-path:hover{transform:translateY(-5px);box-shadow:0 15px 24px #2947310a}.fsi-memory:hover img{transform:scale(1.04)}.fsi-inline-link:hover span{transform:translate(4px,-4px)}.fsi-step:hover{transform:translateY(-4px)}}
@media(prefers-reduced-motion:no-preference){.fsi-play-scene.fsi-rise-in .fsi-doodle-line{stroke-dasharray:340;stroke-dashoffset:340;animation:doodle-draw 1.4s ease .1s forwards}.fsi-play-scene.fsi-rise-in .fsi-doodle-star{transform-box:fill-box;transform-origin:center;animation:doodle-pop .65s ease both;animation-delay:var(--spark-delay,.3s)}@keyframes doodle-draw{to{stroke-dashoffset:0}}@keyframes doodle-pop{0%{opacity:0;transform:scale(.3) rotate(-25deg)}70%{transform:scale(1.15) rotate(8deg)}100%{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){.submenu-toggle svg,.fsi-program-body::after,.fsi-memory img,.fsi-step,.fsi-library-path{transition:none}.fsi-play-scene *{animation:none!important;stroke-dashoffset:0!important}.fsi-library-path:hover,.fsi-step:hover{transform:none}}
@media print{.fsi-article-tools,.fsi-article-toc,.fsi-play-scene,.fsi-topic-nav,.fsi-library-search{display:none}.fsi-worksheet{break-inside:avoid;background:white}.fsi-article{max-width:none}.fsi-article .entry-content details>*{display:block!important}.fsi-article .entry-content a{overflow-wrap:anywhere}}
.fsi-live-social{margin-top:35px;background:#fffdf8;border:1px solid var(--line);border-radius:28px;padding:34px;min-width:0;overflow:hidden}
.fsi-live-social-head{margin-bottom:24px}.fsi-live-social-head h3{font-size:31px;line-height:1.25}
.fsi-live-instagram #sb_instagram{width:100%!important;padding:0!important}
.fsi-live-instagram #sb_instagram #sbi_images{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0!important}
.fsi-live-instagram #sb_instagram .sbi_item{width:100%!important;float:none!important;padding:0!important;min-width:0}
.fsi-live-instagram #sb_instagram .sbi_photo_wrap{border-radius:20px;overflow:hidden}
.fsi-live-instagram #sb_instagram .sbi_photo{aspect-ratio:1;height:auto!important}
.fsi-live-google .wp-gr{font-family:var(--font)!important}
@media(max-width:767px){.fsi-live-social{padding:23px;border-radius:24px}.fsi-live-social-head h3{font-size:28px}.fsi-live-instagram #sb_instagram #sbi_images{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.button,.wp-block-button__link{transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}.button:hover,.wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 7px 16px #65443116}}
@supports(animation-timeline:scroll()){@media(prefers-reduced-motion:no-preference){.single-post .site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--coral);transform-origin:left;animation:fsi-reading-progress linear both;animation-timeline:scroll(root);pointer-events:none}@keyframes fsi-reading-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}}}

/* 1.4.0: owner-requested first-screen motion; content remains visible without JS. */
.brand{gap:14px}.brand-logo{width:68px;height:68px;display:grid;place-items:center;flex:0 0 68px;background:#fff;border:1px solid #ece9df;border-radius:15px;overflow:hidden}.brand-logo img{width:136%;height:136%;max-width:none;object-fit:contain;position:static}.brand-name{font-size:20px;line-height:1.12;letter-spacing:-.03em}.brand-name strong{display:block;font:inherit}.brand-name span{max-width:250px;font-size:9px;font-weight:600;letter-spacing:.075em;line-height:1.35}
@media(prefers-reduced-motion:no-preference){
  .home .fsi-hero-copy>*{animation:fsi-hero-copy-in .72s cubic-bezier(.22,1,.36,1) both}
  .home .fsi-hero-copy>:nth-child(1){animation-delay:.05s}.home .fsi-hero-copy>:nth-child(2){animation-delay:.13s}.home .fsi-hero-copy>:nth-child(3){animation-delay:.22s}.home .fsi-hero-copy>:nth-child(4){animation-delay:.31s}.home .fsi-hero-copy>:nth-child(5){animation-delay:.4s}
  .home .fsi-hero-visual{animation:fsi-hero-visual-in .95s cubic-bezier(.22,1,.36,1) .12s both}
  .home .fsi-hero-photo img{animation:fsi-hero-photo-in 1.25s cubic-bezier(.22,1,.36,1) .16s both}
  @keyframes fsi-hero-copy-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
  @keyframes fsi-hero-visual-in{from{opacity:0;transform:translateX(34px) rotate(1.5deg)}to{opacity:1;transform:none}}
  @keyframes fsi-hero-photo-in{from{transform:scale(1.09)}to{transform:scale(1.025)}}
}
@media(prefers-reduced-motion:reduce){.home .fsi-hero-copy>*,.home .fsi-hero-visual,.home .fsi-hero-photo img{animation:none!important}}
@media(max-width:1149px){.brand-logo{width:62px;height:62px;flex-basis:62px}.brand-name{font-size:18px}.brand-name span{font-size:8px;max-width:220px}}
@media(max-width:767px){.brand{gap:9px;min-width:0}.brand-logo{width:58px;height:58px;flex-basis:58px;border-radius:13px}.brand-name{font-size:17px;min-width:0}.brand-name span{font-size:7px;letter-spacing:.045em;max-width:185px}.mobile-contact a{min-height:66px;padding:7px 12px;flex-direction:column;gap:3px;line-height:1.15}.mobile-contact-icon{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px}.mobile-contact-icon svg{display:block;width:25px;height:25px;fill:currentColor}.mobile-contact-label{display:block;font-size:12px;line-height:1.15}}
@media(max-width:380px){.brand-logo{width:52px;height:52px;flex-basis:52px}.brand-name{font-size:15px}.brand-name span{max-width:150px;font-size:6.5px}}
@media(max-width:340px){.brand{gap:7px}.brand-logo{width:48px;height:48px;flex-basis:48px}.brand-name{font-size:14px}.brand-name span{max-width:145px;font-size:6px}.menu-toggle{width:44px;height:44px;padding:0;justify-content:center;flex:0 0 44px}.menu-toggle>span{display:none}}

/* 1.5.0: mobile-first contact, consent and first-screen refinements. */
.brand-name span{margin-top:3px;transform:translateY(-1px)}
@media(prefers-reduced-motion:no-preference){
  .home .fsi-hero-copy>*{will-change:opacity,transform}
  .home .fsi-hero-visual,.home .fsi-hero-photo img{will-change:opacity,transform}
}
@media(max-width:767px){
  .brand-name span{margin-top:2px;transform:translateY(-1px)}
  .mobile-contact{padding:8px 12px max(8px,env(safe-area-inset-bottom));gap:8px;background:rgba(250,249,245,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 -10px 28px #203e3612}
  .mobile-contact a{min-height:56px;padding:7px 10px;gap:2px;border:1px solid #e9c4b7;border-radius:16px;background:#fff;color:#ad472f;font-size:12px;font-weight:700;letter-spacing:-.01em}
  .mobile-contact a:last-child{border-color:#cbdcc9;background:#f7fbf4;color:#27634e}
  .mobile-contact-icon{width:20px;height:20px;flex-basis:20px}
  .mobile-contact-icon svg{width:20px;height:20px}
  .mobile-contact-label{font-size:11px;line-height:1.05}
  #surecookie-public-root .surecookie-banner-position-bottom{left:10px;right:10px;bottom:calc(76px + env(safe-area-inset-bottom));width:auto;max-width:none}
  #surecookie-public-root .surecookie-banner-container-banner{padding:12px 14px;border:1px solid #dce5d8;border-radius:18px;background:rgba(255,253,248,.98);box-shadow:0 12px 34px #203e3620}
  #surecookie-public-root .surecookie-banner-content-banner{align-items:flex-start;gap:10px}
  #surecookie-public-root .surecookie-banner-heading{font-size:12px;line-height:1.25;margin-bottom:3px}
  #surecookie-public-root .surecookie-banner-description{font-size:11px;line-height:1.42}
  #surecookie-public-root .surecookie-banner-buttons{width:100%;gap:6px}
  #surecookie-public-root .surecookie-btn-base{min-height:34px;padding:7px 9px;border-radius:10px;font-size:11px;line-height:1.15;flex:1 1 calc(50% - 3px)}
  #surecookie-public-root .surecookie-branding{font-size:9px;margin:2px 0 0;opacity:.72}
  .home .fsi-hero-copy>*{animation-duration:.78s}
  .home .fsi-hero-visual{animation-name:fsi-hero-visual-mobile-in;animation-duration:.92s;animation-delay:.2s}
  .home .fsi-hero-photo img{animation-name:fsi-hero-photo-mobile-in;animation-duration:1.2s;animation-delay:.22s}
  @keyframes fsi-hero-visual-mobile-in{from{opacity:0;transform:translateY(26px) scale(.975)}to{opacity:1;transform:none}}
  @keyframes fsi-hero-photo-mobile-in{from{transform:scale(1.1)}to{transform:scale(1.025)}}
}
@media(min-width:768px){
  #surecookie-public-root .surecookie-banner-container-banner{padding:14px 24px}
  #surecookie-public-root .surecookie-banner-heading{font-size:14px;margin-bottom:2px}
  #surecookie-public-root .surecookie-banner-description{font-size:12px;line-height:1.45}
  #surecookie-public-root .surecookie-btn-base{min-height:38px;border-radius:11px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .home .fsi-hero-copy>*,.home .fsi-hero-visual,.home .fsi-hero-photo img{will-change:auto}
}

/* 1.6.0: owner-requested first-screen entrance. Letters are written one by one, the photo is completed piece by piece. Plays once, never loops. */
.home .fsi-hero h1 .fsi-line{display:block}.home .fsi-hero .fsi-w{white-space:nowrap}.fsi-tiles{display:none}
@media(prefers-reduced-motion:no-preference){
  .home .fsi-hero .fsi-w{display:inline-block}
  .home .fsi-hero .fsi-c{display:inline-block;position:relative;animation:fsi-ink .46s cubic-bezier(.3,.7,.3,1) var(--d,0ms) both}.home .fsi-hero .fsi-c:nth-child(3n+1){--r:-4deg;--y:.07em}.home .fsi-hero .fsi-c:nth-child(3n+2){--r:3deg;--y:.03em}.home .fsi-hero .fsi-c:nth-child(3n){--r:-1.5deg;--y:.09em}
  .home .fsi-hero .fsi-c::after{content:"";position:absolute;right:-.08em;top:.1em;bottom:.04em;width:2px;border-radius:2px;background:#b84a30;transform:rotate(16deg);opacity:0;animation:fsi-pen calc(var(--st,55ms) * 1.4) linear var(--d,0ms) forwards;pointer-events:none}
  .home .fsi-hero::before{animation:fsi-s-halo 1.9s cubic-bezier(.16,1,.3,1) .05s both}
  .home .fsi-hero .fsi-hero-copy>*{animation:none}
  .home .fsi-hero .fsi-eyebrow::before{animation:fsi-s-dot .8s cubic-bezier(.34,1.4,.64,1) .1s both}
  .home .fsi-hero h1 em::after{animation:fsi-s-underline .9s cubic-bezier(.65,0,.35,1) var(--ul,1500ms) both}
  .home .fsi-hero .fsi-hero-copy .wp-block-button{animation:fsi-s-rise 1s cubic-bezier(.16,1,.3,1) both}
  .home .fsi-hero .fsi-hero-copy .wp-block-button:nth-child(1){animation-delay:2.5s}
  .home .fsi-hero .fsi-hero-copy .wp-block-button:nth-child(2){animation-delay:2.65s}
  .home .fsi-hero .fsi-hero-visual{animation:none}
  .home .fsi-hero .fsi-hero-visual::before{animation:fsi-s-blob 1.7s cubic-bezier(.16,1,.3,1) .2s both}
  .home .fsi-hero .fsi-hero-photo{animation:fsi-s-photo 1.4s cubic-bezier(.16,1,.3,1) .1s both}
  .home .fsi-hero .fsi-hero-photo img{animation:fsi-s-photo-img 4s cubic-bezier(.16,1,.3,1) .1s both}
  .home .fsi-hero .fsi-hero-photo{position:relative}
  .home .fsi-hero .fsi-tiles{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);position:absolute;inset:-1px;z-index:2;pointer-events:none}
  .home .fsi-hero .fsi-tiles i{display:block;background:#f6e3b4;transform-origin:50% 50%;animation:fsi-s-tile .85s cubic-bezier(.5,0,.2,1) calc(400ms + var(--o) * 130ms) both}
  .home .fsi-hero .fsi-tiles i:nth-child(4n+2){background:#ecc9b8}
  .home .fsi-hero .fsi-tiles i:nth-child(4n+3){background:#d3e2c6}
  .home .fsi-hero .fsi-tiles i:nth-child(4n+4){background:#cfe1e6}
  .home .fsi-hero .fsi-note{animation:fsi-fly-note 1.7s cubic-bezier(.45,.05,.25,1) 1.6s both}
  .home .fsi-hero .fsi-hero-stamp{animation:fsi-fly-stamp 1.7s cubic-bezier(.45,.05,.25,1) 2.2s both}
  @keyframes fsi-ink{0%{opacity:1;clip-path:inset(-25% 102% -25% -8%);translate:0 var(--y,.06em);rotate:var(--r,-3deg);color:#c4533a}70%{color:#c4533a}100%{clip-path:inset(-25% -12% -25% -8%);translate:0 0;rotate:0deg}}
  @keyframes fsi-pen{0%,80%{opacity:1}100%{opacity:0}}
  @keyframes fsi-s-halo{from{opacity:0;scale:.82}to{opacity:1;scale:1}}
  @keyframes fsi-s-rise{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
  @keyframes fsi-s-dot{from{scale:0;opacity:0}to{scale:1;opacity:1}}
  @keyframes fsi-s-underline{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
  @keyframes fsi-s-blob{from{opacity:0;rotate:-12deg;scale:.7}to{opacity:1;rotate:0deg;scale:1}}
  @keyframes fsi-s-photo{from{translate:0 36px;rotate:-4deg;scale:.93}to{translate:0 0;rotate:0deg;scale:1}}
  @keyframes fsi-s-photo-img{from{scale:1.2}to{scale:1.025}}
  @keyframes fsi-s-tile{0%{opacity:1;scale:1;rotate:0deg}100%{opacity:0;scale:0;rotate:12deg;visibility:hidden}}
  @keyframes fsi-fly-note{0%{opacity:0;translate:150px 210px;rotate:28deg;scale:.45}12%{opacity:1}55%{translate:-26px -38px;rotate:-12deg;scale:1.07}78%{translate:9px 7px;rotate:4deg;scale:.98}100%{opacity:1;translate:0 0;rotate:0deg;scale:1}}
  @keyframes fsi-fly-stamp{0%{opacity:0;translate:120px -190px;rotate:-50deg;scale:.4}12%{opacity:1}55%{translate:-30px 30px;rotate:16deg;scale:1.1}78%{translate:7px -6px;rotate:-5deg;scale:.97}100%{opacity:1;translate:0 0;rotate:0deg;scale:1}}
  @keyframes fsi-s-card{from{opacity:0;translate:0 26px;scale:.92}to{opacity:1;translate:0 0;scale:1}}
  @keyframes fsi-s-stamp{from{opacity:0;rotate:-18deg;scale:.5}to{opacity:1;rotate:0deg;scale:1}}
}
@media(prefers-reduced-motion:reduce){
  .home .fsi-hero::before,.home .fsi-hero .fsi-hero-visual::before,.home .fsi-hero .fsi-hero-copy *,.home .fsi-hero .fsi-hero-copy *::after,.home .fsi-hero .fsi-hero-photo,.home .fsi-hero .fsi-hero-photo img,.home .fsi-hero .fsi-note,.home .fsi-hero .fsi-hero-stamp{animation:none!important}
}

/* 1.6.0: logo fits its square; counters */
.brand-logo{background:#fff;border:0!important;padding:0}.brand-logo img{width:100%!important;height:100%!important;max-width:none;object-fit:contain;object-position:center;display:block}
.fsi-num{font-variant-numeric:tabular-nums;position:relative}.fsi-num.is-counting{color:transparent}.fsi-num.is-counting::after{content:attr(data-v);position:absolute;left:0;top:0;color:var(--fsi-num-color,inherit)}

/* 1.6.0: floating contact buttons (mobile): no bar, no background, only two light pills. */
@media(max-width:767px){
  body .mobile-contact{left:0;right:0;bottom:0;padding:0 16px max(14px,env(safe-area-inset-bottom));display:flex;justify-content:center;gap:10px;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none}
  body .mobile-contact a{pointer-events:auto;flex:0 1 164px;min-height:46px;height:46px;padding:0 18px;flex-direction:row;align-items:center;justify-content:center;gap:8px;border-radius:999px;border:1px solid transparent;font-size:13px;font-weight:600;letter-spacing:0;box-shadow:0 8px 22px #203e3629,0 1px 3px #203e3618;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
  body .mobile-contact a:first-child{background:rgba(177,67,44,.94);color:#fff}
  body .mobile-contact a:last-child{background:rgba(22,128,69,.97);border-color:#12703a;color:#fff}
  body .mobile-contact-icon{width:18px;height:18px;flex:0 0 18px}
  body .mobile-contact-icon svg{width:18px;height:18px}
  body .mobile-contact-label{font-size:13px;line-height:1}
  #surecookie-public-root .surecookie-banner-position-bottom{bottom:calc(74px + env(safe-area-inset-bottom))}
}

/* 1.7.0 hero video: portrait card instead of the photo; 13 s clip plays once, muted; full film opens in a dialog */
.home .fsi-hero .fsi-hero-photo.fsi-hero-video{aspect-ratio:1/1;width:min(100%,520px,max(340px,calc(100svh - 330px)));height:auto;margin:0 0 0 auto;border-radius:30px;overflow:hidden;position:relative;background:#1f3fae;border:4px solid #fffef8;box-shadow:0 22px 50px rgba(32,62,54,.22)}
.fsi-video{display:block;width:100%;height:100%;object-fit:cover;background:#1f3fae}
.fsi-vui{position:absolute;left:10px;right:10px;bottom:10px;display:flex;justify-content:space-between;z-index:3;pointer-events:none}
.fsi-vbtn{pointer-events:auto;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:rgba(255,254,248,.9);color:#194536;box-shadow:0 4px 14px rgba(0,0,0,.25);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.fsi-vbtn:focus-visible,.fsi-vfull:focus-visible,.fsi-vclose:focus-visible{outline:3px solid #b1432c;outline-offset:2px}
.fsi-vbtn svg{width:18px;height:18px;fill:currentColor;display:none}
.fsi-hero-video[data-state="idle"] [data-v-toggle] svg:nth-child(1),.fsi-hero-video[data-state="paused"] [data-v-toggle] svg:nth-child(1),.fsi-hero-video:not([data-state]) [data-v-toggle] svg:nth-child(1){display:block}
.fsi-hero-video[data-state="playing"] [data-v-toggle] svg:nth-child(2){display:block}
.fsi-hero-video[data-state="ended"] [data-v-toggle] svg:nth-child(3){display:block}
.fsi-hero-video[data-muted="false"] [data-v-sound] svg:nth-child(2),.fsi-hero-video:not([data-muted="false"]) [data-v-sound] svg:nth-child(1){display:block}
.fsi-vfull{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;margin:16px 0 0 auto;padding:8px 18px 8px 9px;border:1.5px solid rgba(25,69,54,.28);background:#fffef8;color:#194536;border-radius:999px;font:600 14px/1.2 var(--font);cursor:pointer;box-shadow:0 8px 22px rgba(32,62,54,.1)}
.fsi-vfull-ico{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#b1432c;color:#fff;flex:none}
.fsi-vfull-ico svg{width:14px;height:14px;fill:currentColor}
.fsi-vfull small{font:500 12px/1 var(--font);opacity:.7;margin-left:4px}
.fsi-vdialog{border:0;padding:0;background:#000;border-radius:18px;overflow:hidden;width:min(92vw,420px);max-height:92svh;position:fixed}
.fsi-vdialog::backdrop{background:rgba(20,32,28,.78)}
.fsi-vdialog video{display:block;width:100%;height:auto;max-height:92svh;background:#000}
.fsi-vclose{position:absolute;top:8px;right:8px;z-index:2;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:rgba(255,254,248,.92);color:#194536;font:400 28px/1 var(--font);cursor:pointer}
@media(max-width:767px){
  .home .fsi-hero .fsi-hero-photo.fsi-hero-video{width:100%;max-width:520px;height:auto;margin:0 auto}
  .fsi-vfull{margin:16px auto 0}
  .home .fsi-hero .fsi-hero-visual .fsi-note{position:relative;left:auto;right:auto;bottom:auto;margin:16px auto 0;max-width:285px}
}
@media(prefers-reduced-motion:no-preference){
  .fsi-vui,.fsi-vfull{animation:fsi-v-in .6s ease 3s both}
  @keyframes fsi-v-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
}


/* 1.7.1 square video card: fills the column on desktop, tilted sheet behind it */
@media(min-width:960px){
  .home .fsi-hero .fsi-hero-photo.fsi-hero-video{margin:0 auto;width:min(100%,520px,max(340px,calc(100svh - 330px)));box-shadow:0 26px 56px rgba(32,62,54,.22),-14px 16px 0 -2px #f8df9b,14px -12px 0 -2px #dce6cd}
  .home .fsi-hero .fsi-hero-visual:has(.fsi-hero-video){max-width:540px}
  .home .fsi-hero .fsi-hero-visual:has(.fsi-hero-video) .fsi-vfull{margin:18px auto 0 auto}
}

/* 1.7.3 video seek bar + desktop-only growing sapling */
.fsi-vui{align-items:center;gap:8px}
.fsi-vseekbox{pointer-events:auto;flex:1;min-width:0;display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border-radius:999px;background:rgba(255,254,248,.9);color:#194536;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 4px 14px rgba(0,0,0,.25)}
.fsi-vtime{font:600 11px/1 var(--font);font-variant-numeric:tabular-nums;white-space:nowrap;opacity:.8}
.fsi-vseek{--p:0%;flex:1;min-width:0;height:24px;margin:0;background:transparent;cursor:pointer;-webkit-appearance:none;appearance:none}
.fsi-vseek::-webkit-slider-runnable-track{height:5px;border-radius:5px;background:linear-gradient(90deg,#b1432c var(--p),#c9d6c4 var(--p))}
.fsi-vseek::-moz-range-track{height:5px;border-radius:5px;background:#c9d6c4}
.fsi-vseek::-moz-range-progress{height:5px;border-radius:5px;background:#b1432c}
.fsi-vseek::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-5.5px;border-radius:50%;background:#fffef8;border:3px solid #b1432c}
.fsi-vseek::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fffef8;border:3px solid #b1432c}
.fsi-vseek:focus-visible{outline:3px solid #b1432c;outline-offset:3px;border-radius:6px}
@media(max-width:420px){.fsi-vtime{display:none}}
.fsi-sapling{display:none}
@media(min-width:1240px){
  .home .fsi-hero .fsi-hero-visual:has(.fsi-hero-video){--fsi-vw:min(100%,520px,max(340px,calc(100svh - 330px)))}
  .fsi-sapling{display:block;position:absolute;z-index:0;left:calc(50% + var(--fsi-vw)/2 - 26px);bottom:108px;width:118px;height:236px;pointer-events:none}
  .home .fsi-hero .fsi-hero-photo.fsi-hero-video{z-index:2}
  .fsi-sapling svg{display:block;width:100%;height:100%;overflow:visible}
  .s-soil{fill:#b98d5f;opacity:.55}
  .s-stem{fill:none;stroke:#4f7d3d;stroke-width:5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
  .s-leaf{transform-box:fill-box;transform-origin:var(--ox,0%) 100%}
  .s-leaf path{fill:#6f9f4a;stroke:#4f7d3d;stroke-width:1.5;stroke-linejoin:round}
  .l1{--ox:100%}.l2{--ox:0%}.l3{--ox:100%}.l4{--ox:0%}.l5{--ox:50%}
  .l2 path,.l4 path{fill:#86b25c}.l5 path{fill:#b1432c;stroke:#8c3320}
}
@media(min-width:1240px) and (prefers-reduced-motion:no-preference){
  .s-soil{animation:fsi-s-soil .6s ease 1.2s both}
  .s-stem{animation:fsi-s-stem 3.2s cubic-bezier(.4,.1,.3,1) 1.4s both}
  .s-leaf{animation:fsi-s-leaf .9s cubic-bezier(.3,1.4,.5,1) both}
  .l1{animation-delay:2.6s}.l2{animation-delay:3.1s}.l3{animation-delay:3.6s}.l4{animation-delay:4.0s}.l5{animation-delay:4.4s}
  .fsi-sapling svg{transform-origin:50% 100%;animation:fsi-s-sway 6s ease-in-out 5.4s infinite}
  @keyframes fsi-s-soil{from{opacity:0;transform:scaleX(.2)}to{opacity:.55}}
  @keyframes fsi-s-stem{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
  @keyframes fsi-s-leaf{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}
  @keyframes fsi-s-sway{0%,100%{transform:rotate(-1.2deg)}50%{transform:rotate(1.6deg)}}
}

/* 1.7.4 desktop: note sits under the video, never over it; video controls hide while playing and return on touch/hover */
@media(min-width:768px){
  .home .fsi-hero .fsi-hero-visual:has(.fsi-hero-video) .fsi-note{position:relative;left:auto;right:auto;bottom:auto;margin:18px auto 0;width:max-content;max-width:300px}
}
.fsi-vui{transition:filter .35s ease}
.fsi-hero-video[data-state="playing"]:not(.ui-on):not(:focus-within) .fsi-vui{filter:opacity(0)}
.fsi-hero-video[data-state="playing"]:not(.ui-on):not(:focus-within) .fsi-vui :is(.fsi-vbtn,.fsi-vseekbox,.fsi-vseek){pointer-events:none}
