
.verify{display:none}
html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes dropIn{0%{opacity:0;transform:translateY(-90px) rotate(-5deg)}55%{opacity:1;transform:translateY(14px) rotate(2deg)}75%{transform:translateY(-6px) rotate(-1deg)}100%{opacity:1;transform:none}}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes blobMorph{0%,100%{border-radius:58% 42% 55% 45%/55% 48% 52% 45%;transform:rotate(0deg) scale(1)}33%{border-radius:45% 55% 40% 60%/60% 40% 62% 38%;transform:rotate(8deg) scale(1.06)}66%{border-radius:62% 38% 58% 42%/42% 60% 40% 58%;transform:rotate(-6deg) scale(.96)}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-26px) rotate(9deg)}}
@keyframes drift2{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(22px) rotate(-12deg)}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes hscroll{0%,15%{transform:translateX(0)}100%{transform:translateX(-300vw)}}
@keyframes hscrollBuild{to{transform:translateX(-500vw)}}
@keyframes buildImgIn{from{transform:scale(1.14)}to{transform:scale(1)}}
@keyframes spineTravel{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
@keyframes spineStepPop{0%{opacity:0;transform:scale(.2)}60%{transform:scale(1.25)}100%{opacity:1;transform:scale(1)}}
@keyframes birdFly{
  0%{transform:translate(-26vw,88vh) rotate(-5deg)}
  18%{transform:translate(4vw,66vh) rotate(-14deg)}
  36%{transform:translate(28vw,74vh) rotate(6deg)}
  56%{transform:translate(50vw,44vh) rotate(-17deg)}
  76%{transform:translate(74vw,54vh) rotate(4deg)}
  100%{transform:translate(122vw,-12vh) rotate(-22deg)}
}
@keyframes birdFly2{
  0%{transform:translate(-42vw,96vh) rotate(-3deg)}
  20%{transform:translate(-8vw,78vh) rotate(-12deg)}
  38%{transform:translate(17vw,84vh) rotate(8deg)}
  58%{transform:translate(40vw,58vh) rotate(-15deg)}
  78%{transform:translate(64vw,66vh) rotate(5deg)}
  100%{transform:translate(114vw,4vh) rotate(-19deg)}
}
@keyframes birdBob{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-13px) rotate(-3.5deg)}}
@keyframes hummNear{0%,100%{transform:rotate(26deg) scaleY(.9)}50%{transform:rotate(-46deg) scaleY(.62)}}
@keyframes hummFar{0%,100%{transform:rotate(-30deg) scaleY(.72)}50%{transform:rotate(34deg) scaleY(.92)}}
@keyframes hummSmear{0%,100%{opacity:.30;transform:rotate(-8deg) scaleY(1.18)}50%{opacity:.14;transform:rotate(4deg) scaleY(1.02)}}
@keyframes tailFan{0%,100%{transform:rotate(-4deg) scaleX(1)}50%{transform:rotate(6deg) scaleX(1.07)}}
.paper-bird .w-near{transform-box:fill-box;transform-origin:96% 96%;animation:hummNear .12s linear infinite}
.paper-bird .w-far{transform-box:fill-box;transform-origin:96% 96%;animation:hummFar .12s linear infinite}
.paper-bird .w-smear{transform-box:fill-box;transform-origin:94% 94%;animation:hummSmear .12s linear infinite}
.paper-bird .bird-tail{transform-box:fill-box;transform-origin:100% 42%;animation:tailFan .9s ease-in-out infinite}
#paperBird2 .w-near,#paperBird2 .w-far,#paperBird2 .w-smear{animation-duration:.1s}
@media (prefers-reduced-motion: reduce){.paper-bird{display:none}}
@supports not (animation-timeline: view()){.paper-bird{display:none}}
/* The hummingbirds are position:fixed at clamp(180px,20vw,340px) and wait
   off-canvas until their section scrolls into view. On a 390px screen "off
   canvas" is only left:-106px against a 190px bird, so 83px of one sits in
   the viewport from the very top of the page -- a beak with no bird, over
   every section, before anything has scrolled. They are decorative,
   pointer-events:none, and a 190px bird crossing a 390px screen is an
   intrusion rather than a flourish, so below 900px they do not fly at all.
   Above it nothing changes. */
@media (max-width:900px){.paper-bird{display:none !important}}
@keyframes feederDrop{0%{transform:translateY(-118%) rotate(-3deg)}70%{transform:translateY(4%) rotate(1.5deg)}86%{transform:translateY(-2%) rotate(-1deg)}100%{transform:translateY(0) rotate(0deg)}}
@keyframes feederSway{0%,100%{transform:rotate(-2.6deg)}50%{transform:rotate(2.6deg)}}
@keyframes nectarSlosh{0%,100%{transform:translateX(-1.5px) scaleY(1)}50%{transform:translateX(1.5px) scaleY(1.03)}}
@keyframes perchHover{0%,100%{transform:translate(0,0)}25%{transform:translate(-4px,-7px)}50%{transform:translate(2px,3px)}75%{transform:translate(5px,-4px)}}
#feederRig{animation:feederDrop linear both;animation-timeline:view();animation-range:entry 4% entry 52%}
#feederRig .fd-swing{transform-box:fill-box;transform-origin:50% 2%;animation:feederSway 3.8s ease-in-out infinite}
#feederRig .fd-nectar{transform-box:fill-box;transform-origin:50% 100%;animation:nectarSlosh 3.8s ease-in-out infinite}
#feederBird{animation:perchHover 5.2s ease-in-out infinite}
#feederBird .w-near,#feederBird .w-far,#feederBird .w-smear{animation-duration:.11s}
@media (max-width:900px){#feederRig{display:none}}
@supports not (animation-timeline: view()){#feederRig{transform:none}}
@media (prefers-reduced-motion: reduce){#feederRig,#feederRig *{animation:none !important}}
@keyframes kiteAscend{
  0%{transform:translate(8vw,112vh) rotate(-14deg) scale(1)}
  22%{transform:translate(24vw,78vh) rotate(6deg) scale(.98)}
  44%{transform:translate(46vw,50vh) rotate(-9deg) scale(.94)}
  66%{transform:translate(62vw,24vh) rotate(5deg) scale(.9)}
  84%{transform:translate(74vw,2vh) rotate(-6deg) scale(.86)}
  100%{transform:translate(86vw,-42vh) rotate(3deg) scale(.8)}
}
@keyframes kiteFade{0%{opacity:0}8%{opacity:1}88%{opacity:1}100%{opacity:0}}
@keyframes kiteYaw{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
@keyframes kiteTail{0%,100%{transform:rotate(-6deg) translateX(0)}50%{transform:rotate(7deg) translateX(5px)}}
@keyframes cloudsIn{0%,30%{opacity:0}52%{opacity:1}78%{opacity:1}96%,100%{opacity:0}}
@keyframes cloudsDrift{0%{transform:translateX(-3vw)}100%{transform:translateX(3vw)}}
#kiteRig{animation:kiteAscend linear both,kiteFade linear both;animation-timeline:--kitesec,--kitesec;animation-range:cover 0% cover 100%,cover 0% cover 100%}
#kiteRig .kt-body{transform-box:fill-box;transform-origin:50% 6%;animation:kiteYaw 6.4s ease-in-out infinite}
#kiteRig .kt-tail{transform-box:fill-box;transform-origin:50% 0;animation:kiteTail 3.8s ease-in-out infinite}
#kiteClouds{animation:cloudsIn linear both;animation-timeline:--kitesec;animation-range:cover 0% cover 100%}
#kiteClouds svg{animation:cloudsDrift 26s ease-in-out infinite alternate}
@media (max-width:900px){#kiteRig,#kiteClouds{display:none}}
@media (prefers-reduced-motion: reduce){#kiteRig,#kiteClouds{display:none}}
@supports not (animation-timeline: view()){#kiteRig,#kiteClouds{display:none}}
@keyframes tapeCycle{0%{clip-path:inset(0 100% 0 0)}38%,62%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 100% 0 0)}}
@keyframes tapeHookCycle{0%{left:104px}38%,62%{left:calc(100% - 13px)}100%{left:104px}}
@keyframes tapeReelCycle{0%{transform:rotate(0deg)}38%,62%{transform:rotate(430deg)}100%{transform:rotate(0deg)}}
#tapeRig .tp-blade{animation:tapeCycle 11s cubic-bezier(.5,0,.3,1) infinite}
#tapeRig .tp-hook{animation:tapeHookCycle 11s cubic-bezier(.5,0,.3,1) infinite}
#tapeRig .tp-reel,#tapeRig .tp-spoke{transform-box:fill-box;transform-origin:50% 50%;animation:tapeReelCycle 11s cubic-bezier(.5,0,.3,1) infinite}
@media (max-width:900px){#tapeRig{display:none}}
@media (prefers-reduced-motion: reduce){#tapeRig *{animation:none !important}#tapeRig .tp-blade{clip-path:none}}
#buildOuter{display:flex;align-items:center;gap:20px;margin:0 4vw;max-width:1600px}
#buildStage{--bcw:340px;--bgap:26px;position:relative;flex:1;min-width:0;border:3px solid #22301E;border-radius:38px;background:rgba(250,246,236,.34);box-shadow:inset 0 0 0 7px rgba(250,246,236,.5),0 22px 46px rgba(34,48,30,.12);padding:46px 0 46px;overflow:hidden}
#buildStage::before{content:'';position:absolute;inset:16px;border:2px dashed rgba(34,48,30,.26);border-radius:26px;pointer-events:none;z-index:5}
#buildViewport{overflow:hidden;padding:14px 0 16px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 13%,#000 87%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 13%,#000 87%,transparent 100%)}
#buildRow{display:flex;gap:var(--bgap);width:max-content;padding:12px 0 16px calc(50% - var(--bcw)/2);transition:transform .62s cubic-bezier(.45,0,.15,1)}
#buildRow > div.bc{width:var(--bcw) !important;flex:none;transform:scale(.9);opacity:.38;filter:saturate(.72);box-shadow:0 8px 18px rgba(34,48,30,.1);transition:transform .55s cubic-bezier(.34,1.35,.6,1),opacity .5s,box-shadow .5s,filter .5s}
#buildRow > div.bc[data-active]{transform:scale(1.03) translateY(-6px);opacity:1;filter:none;box-shadow:0 26px 50px rgba(34,48,30,.26),0 0 0 4px #F5C531}
.build-arrow{flex:none;width:56px;height:56px;border-radius:50%;border:2.5px solid #22301E;background:#FAF6EC;color:#22301E;font-size:22px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 18px rgba(34,48,30,.18);transition:background .2s,transform .2s}
.build-arrow:hover{background:#F5C531;transform:scale(1.1)}
.build-arrow:active{transform:scale(.96)}
.build-arrow:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
#buildDots{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:22px}
#buildDots button{width:11px;height:11px;padding:0;border-radius:50%;border:2px solid #22301E;background:transparent;cursor:pointer;transition:background .3s,width .3s}
#buildDots button[data-on]{background:#22301E;width:30px;border-radius:999px}
#buildDots button:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@media (max-width:900px){
  #buildOuter{margin:0;gap:0}
  #buildStage{padding:20px 0 18px;border-radius:28px;margin:0 4vw}
  #buildStage::before{display:none}
  #buildViewport{-webkit-mask-image:none;mask-image:none;padding:0}
  #buildRow{width:auto;overflow-x:auto;scroll-snap-type:x proximity;padding:6px 6vw 14px;transform:none !important;transition:none}
  #buildRow > div.bc{width:min(78vw,320px) !important;transform:none !important;opacity:1;filter:none;box-shadow:0 8px 18px rgba(34,48,30,.1)}
  .build-arrow,#buildDots{display:none}
}
@media (prefers-reduced-motion: reduce){#buildRow,#buildRow > div.bc{transition:none}}
@keyframes seamTraceDraw{from{clip-path:inset(0 100% calc(100% - 80px) 0)}to{clip-path:inset(0 0 calc(100% - 80px) 0)}}
.seam-trace{position:absolute;left:-1px;right:-1px;top:7px;height:200px;border:5px solid #22301E;border-bottom:none;border-radius:70px 70px 0 0;pointer-events:none;z-index:2;clip-path:inset(0 0 calc(100% - 80px) 0);opacity:.5;animation:seamTraceDraw linear both;animation-timeline:view();animation-range:entry 6% cover 42%}
@supports not (animation-timeline: view()){.seam-trace{animation:none}}
@keyframes footerLogoPop{0%{opacity:0;transform:scale(.72) translateY(10px)}62%{opacity:1;transform:scale(1.11) translateY(0)}100%{opacity:1;transform:scale(1)}}
@keyframes footerTypeIn{from{width:0}to{width:100%}}
@keyframes footerCaret{0%,100%{border-right-color:rgba(245,197,49,.95)}50%{border-right-color:transparent}}
@keyframes footerRuleDraw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes footerRuleOut{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.site-footer:not([data-footer-in]) #footerLogo{opacity:0}
.site-footer:not([data-footer-in]) #footerRule{transform:scaleX(0)}
.site-footer[data-footer-in] #footerLogo{animation:footerLogoPop .72s cubic-bezier(.34,1.56,.64,1) .1s backwards}
.site-footer[data-footer-in] #footerType{animation:footerTypeIn 1.15s steps(24,end) .55s backwards,footerCaret .55s step-end .55s 3,footerTypeIn 0s linear 1.7s forwards;border-right:2px solid transparent}
.site-footer[data-footer-in] #footerRule{transform-origin:left center;animation:footerRuleDraw .6s cubic-bezier(.22,1,.36,1) 1.8s backwards,footerRuleOut 1.7s cubic-bezier(.5,0,.5,1) 3.6s forwards}

@keyframes sproutUp{0%,20%{transform:scaleY(0)}60%,100%{transform:scaleY(1)}}
@keyframes stackUp{0%,15%{transform:translateY(-40px);opacity:0}45%,100%{transform:translateY(0);opacity:1}}
@keyframes spinSlow{to{transform:rotate(360deg)}}
@keyframes wobble{0%,100%{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}
@keyframes ballBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-.4em)}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
  #postcard{animation:cardTilt linear both;animation-timeline:view();animation-range:cover 6% cover 94%}
  [data-pop]{animation:popIn .8s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 15% entry 55%}
  [data-draw]{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both;animation-timeline:view();animation-range:entry 25% cover 70%}
  /* Anchor the circle's timeline to the WORD, not to the <ellipse>. An SVG
     geometry element has no layout box of its own, so view() measured against
     it produced a range that only began once the heading had scrolled off the
     top. The <span> around "learning" is a real inline-block box, and naming a
     timeline on it follows the #home-cape-method pattern two lines below.
     contain 0% -> 40% starts the draw the moment the word is fully on screen
     and closes it over roughly a third of a screen of scrolling: visible as a
     draw, without the long crawl of the pack's default entry 25% -> cover 70%. */
  #home-the-question h2 > span{view-timeline-name:--circleword}
  #home-the-question [data-draw]{animation-timeline:--circleword;animation-range:contain 5% contain 55%}
  #home-cape-method{view-timeline-name:--method}
  #methodTrack{animation:hscroll linear both;animation-timeline:--method;animation-range:contain 0% contain 88%;will-change:transform;backface-visibility:hidden;transform:translateZ(0)}
  #methodPin{contain:paint}
  path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
    #lessonDot{offset-path:path('M30 0 C 10 120, 50 200, 28 330 S 8 520, 32 640 S 52 840, 26 980 S 14 1120, 30 1200');offset-rotate:0deg;animation:spineTravel linear both;animation-timeline:view();animation-range:cover 4% cover 92%}
  ellipse[data-step]{animation:spineStepPop .5s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 20% cover 30%}
}
@keyframes introNameOut{0%,72%{opacity:1;transform:translateY(0);filter:blur(0)}100%{opacity:0;transform:translateY(-.42em) scale(.97);filter:blur(9px)}}
#siteWordmark{opacity:0;animation:headlineReveal .18s ease 1.26s both}
@keyframes bubbleJourney{
  0%{transform:translate(calc(64vw - min(32vw,410px)), calc(68vh - min(32vw,410px))) scale(.88);opacity:0;animation-timing-function:cubic-bezier(.16,1,.3,1)}
  18%{transform:translate(calc(64vw - min(32vw,410px)), calc(68vh - min(32vw,410px))) scale(1);opacity:1;animation-timing-function:cubic-bezier(.4,0,.2,1)}
  62%{transform:translate(calc(64vw - min(32vw,410px)), calc(68vh - min(32vw,410px))) scale(1);animation-timing-function:cubic-bezier(.62,0,.18,1)}
  100%{transform:translate(0,0) scale(1);opacity:1}
}
@keyframes flyToLogo{0%,34%{transform:translate(0,0)}100%{transform:translate(var(--lx, calc(-50vw + 178px)), var(--ly, calc(-50vh + 33px)))}}
@keyframes logoLand{0%,34%{font-size:clamp(36px,6.4vw,94px)}100%{font-size:17px}}
@keyframes lineUp{from{transform:translate(2.7755em,-.55em)}to{transform:translate(0,0)}}
@keyframes lineDown{from{transform:translate(-2.548em,.55em)}to{transform:translate(0,0)}}
@keyframes softIn{from{opacity:0}to{opacity:1}}
@keyframes softOut{to{opacity:0}}
@keyframes cardOut{to{opacity:0;filter:blur(6px)}}
@keyframes blobJourney{
  0%{transform:translate(calc(64vw - min(32vw,410px)), calc(68vh - min(32vw,410px))) scale(.7);opacity:0;z-index:8}
  11%{transform:translate(calc(64vw - min(32vw,410px)), calc(68vh - min(32vw,410px))) scale(1.07);opacity:1;z-index:8}
  19%{transform:translate(calc(64vw - min(32vw,410px)), calc(68vh - min(32vw,410px))) scale(1.02);z-index:8}
  56%{transform:translate(calc(64vw - min(32vw,410px)), calc(68vh - min(32vw,410px))) scale(1.02);z-index:8}
  64%{transform:translate(calc(64vw - min(32vw,410px)), calc(68vh - min(32vw,410px))) scale(1.12);z-index:8}
  79%{transform:translate(0,0) scale(.84);z-index:8}
  88%{transform:translate(0,0) scale(1.1);z-index:8}
  94%{transform:translate(0,0) scale(.97);z-index:8}
  99%{transform:translate(0,0) scale(1.02);z-index:8}
  100%{transform:translate(0,0) scale(1);opacity:1;z-index:0}
}
@keyframes cardOut{to{opacity:0;filter:blur(5px)}}
@keyframes curtainPop{
  0%{transform:scale(.62);opacity:0}
  18%{opacity:1}
  46%{transform:scale(1.09)}
  68%{transform:scale(.965)}
  84%{transform:scale(1.02)}
  100%{transform:scale(1)}
}
@keyframes curtainExit{
  0%{transform:scale(1) translate(0,0);opacity:1}
  100%{transform:scale(.34) translate(-58%,-46%);opacity:0}
}
@keyframes curtainNameIn{from{opacity:0;transform:translateY(26px) scale(.94)}to{opacity:1;transform:none}}
@keyframes curtainNameOut{to{opacity:0;transform:translateY(-18px) scale(.97);filter:blur(4px)}}
@keyframes whereAbove{0%{opacity:0;transform:translateY(30px) scale(.86)}60%{opacity:1;transform:translateY(-4px) scale(1.04)}100%{opacity:1;transform:none}}
@keyframes ruleSweep{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}
@keyframes whereGone{to{opacity:0;transform:translateY(-26px) scale(.92);filter:blur(4px)}}
@keyframes whereIn{0%{opacity:0;transform:translateY(.35em) rotate(-9deg) scale(.86);filter:blur(20px)}100%{opacity:1;transform:rotate(-3deg) scale(1);filter:blur(0)}}
@keyframes whereOut{0%{opacity:1;transform:rotate(-3deg) scale(1);filter:blur(0)}100%{opacity:0;transform:rotate(-3deg) scale(1.14) translateY(-.18em);filter:blur(16px)}}
@keyframes whereRule{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}
@keyframes flyDown{0%{opacity:0;transform:translateY(-42px);filter:blur(10px)}70%{opacity:1}100%{opacity:1;transform:none;filter:blur(0)}}
@keyframes introWord{0%{opacity:0;transform:translateY(.44em) scale(1.05);filter:blur(18px)}100%{opacity:1;transform:none;filter:blur(0)}}
@keyframes introRule{0%{transform:scaleX(0);opacity:.4}100%{transform:scaleX(1);opacity:1}}
@keyframes introWhere{0%{opacity:0;transform:translateX(-16px) rotate(-6deg);filter:blur(9px)}100%{opacity:1;transform:rotate(-2deg);filter:blur(0)}}
@keyframes introMark{0%{opacity:0;transform:scale(.3) rotate(-24deg)}100%{opacity:1;transform:none}}
@keyframes cardTilt{from{transform:perspective(1500px) rotateY(10deg) rotateX(7deg) rotate(-4.5deg) translateY(26px)}to{transform:perspective(1500px) rotateY(-7deg) rotateX(-4deg) rotate(1.6deg) translateY(-16px)}}
@keyframes stampWobble{0%,100%{transform:rotate(5deg)}50%{transform:rotate(-3deg)}}
@keyframes cardFlyIn{0%{opacity:0;transform:translate3d(46vw,120px,0) rotate(15deg) scale(.62)}62%{opacity:1}100%{opacity:1;transform:translate3d(0,0,0) rotate(0deg) scale(1)}}
@keyframes landIn{0%{opacity:0;transform:translateY(14px) scale(.96);filter:blur(6px)}100%{opacity:1;filter:blur(0)}}
@keyframes stampDown{0%{opacity:0;transform:scale(2.3) rotate(-34deg)}55%{opacity:1}72%{transform:scale(.93) rotate(3deg)}100%{opacity:1}}
#postcardScene:not([data-landed]){opacity:0}
#postcardScene[data-landed]{animation:cardFlyIn .62s cubic-bezier(.2,.9,.25,1.04) backwards}
#postcardScene:not([data-landed]) [data-land]{opacity:0}
#postcardScene:not([data-landed]) [data-stamp],#postcardScene:not([data-landed]) [data-postmark]{opacity:0}
#postcardScene[data-landed] [data-land]{animation:landIn .32s cubic-bezier(.34,1.56,.64,1) backwards}
#postcardScene[data-landed] [data-land="1"]{animation-delay:.30s}
#postcardScene[data-landed] [data-land="2"]{animation-delay:.37s}
#postcardScene[data-landed] [data-land="3"]{animation-delay:.44s}
#postcardScene[data-landed] [data-land="4"]{animation-delay:.51s}
#postcardScene[data-landed] [data-land="5"]{animation-delay:.58s}
#postcardScene[data-landed] [data-stamp]{animation:stampDown .4s cubic-bezier(.3,1.4,.5,1) .62s backwards,stampWobble 7s ease-in-out 1.1s infinite}
#postcardScene[data-landed] [data-postmark]{animation:stampDown .4s cubic-bezier(.3,1.4,.5,1) .7s backwards}
#postcardHover{transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
#postcardHover:hover{transform:translateY(-16px) rotate(.7deg) scale(1.02)}
#postcardScene [data-postmark]{transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
#postcardHover:hover [data-postmark]{transform:rotate(3deg) scale(1.07)}
#postcardHover:hover [data-stamp]{animation-duration:1.1s}
#postcardSheen{transform:translateX(-130%) skewX(-18deg);transition:transform .9s cubic-bezier(.3,.9,.3,1)}
#postcardHover:hover #postcardSheen{transform:translateX(130%) skewX(-18deg)}
@keyframes headlineReveal{0%{opacity:0}100%{opacity:1}}
@keyframes heroRide{0%,67%{transform:translate(var(--sx,0px),var(--sy,0px)) scale(var(--k,1))}100%{transform:translate(var(--ex,0px),var(--ey,0px)) scale(1)}}
@keyframes headlineFadeOut{to{opacity:0}}
@keyframes inkDissolve{0%{opacity:1;filter:blur(0);-webkit-mask-size:2600% 2600%;mask-size:2600% 2600%;transform:translateX(-50%) rotate(-2.5deg) translateY(0) scale(1)}38%{opacity:.9}100%{opacity:0;filter:blur(3px);-webkit-mask-size:6px 6px;mask-size:6px 6px;transform:translateX(-50%) rotate(-2.5deg) translateY(-14px) scale(1.05)}}
@keyframes heroGlowPulse{0%{opacity:0;transform:translate(-50%,-50%) scale(.72)}60%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes blobArrive{0%{transform:translate(calc(58vw - min(35vw,450px)), calc(60vh - min(35vw,450px))) scale(1.4);opacity:0}10%{opacity:1}67%{transform:translate(calc(58vw - min(35vw,450px)), calc(60vh - min(35vw,450px))) scale(1.4)}100%{transform:translate(0,0) scale(1);opacity:1}}
#methodTrack .cape-mark{position:absolute;left:1.5vw;top:50%;transform:translateY(-50%);font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:min(94vh,50vw);line-height:.76;letter-spacing:-.06em;color:rgba(250,246,236,.3);z-index:0;user-select:none;pointer-events:none;transition:left .3s}
@media (min-width:1700px){#methodTrack .cape-mark{left:10vw;font-size:min(92vh,46vw)}}
@media (min-width:2100px){#methodTrack .cape-mark{left:18vw;font-size:min(88vh,40vw)}}
#methodTrack .cape-inner{position:relative;width:100%;height:100%;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(24px,4vw,64px)}
#methodTrack .cape-inner > div{position:relative;z-index:2}
@keyframes capeActive{0%{opacity:.55}50%{opacity:1}100%{opacity:.55}}
@keyframes capeActiveHold{0%{opacity:.55}42%{opacity:1}100%{opacity:1}}
@supports (animation-timeline: view()){
  [data-cape-word="C"]{animation:capeActive linear both;animation-timeline:--method;animation-range:contain 0% contain 32%}
  [data-cape-word="A"]{animation:capeActive linear both;animation-timeline:--method;animation-range:contain 30% contain 52%}
  [data-cape-word="P"]{animation:capeActive linear both;animation-timeline:--method;animation-range:contain 50% contain 72%}
  [data-cape-word="E"]{animation:capeActiveHold linear both;animation-timeline:--method;animation-range:contain 70% contain 100%}
}
@supports not (animation-timeline: view()){[data-cape-word]{opacity:1 !important}}
@media (max-height: 820px){
  #methodPin > div:first-child{top:3vh !important;gap:8px !important}
  #methodTrack article{padding:18vh 6vw 5vh !important}
  #methodTrack article h3{font-size:min(4.2vw,44px) !important;margin-bottom:12px !important}
  #methodTrack article > div:first-child > p{font-size:16.5px !important}
  #methodTrack article > div:first-child > div[aria-hidden]{width:52px !important;height:52px !important;margin-bottom:16px !important}
  #methodTrack article > div:last-child{transform:scale(.78) !important;transform-origin:center center}
}
@media (max-height: 680px){
  #methodTrack article{padding:16vh 5vw 4vh !important}
  #methodTrack article > div:last-child{transform:scale(.56) !important;transform-origin:center center;max-height:100%}
  #home-evaluate-step > div:last-child{transform:scale(.46) !important}
  #methodTrack article > div:last-child > span{font-size:min(42vh,56vw) !important}
  #methodTrack article{padding:15vh 5vw 3vh !important}
  #methodTrack article h3{font-size:min(3.4vw,30px) !important;margin-bottom:8px !important}
  #methodTrack article > div:first-child > p{font-size:15px !important;line-height:1.45 !important}
  #methodTrack article > div:first-child > p[style*="letter-spacing:.24em"]{margin-bottom:6px !important}
  #methodTrack article > div:first-child > div[aria-hidden]{width:40px !important;height:40px !important;margin-bottom:10px !important}
  #methodTrack article > div:first-child > a{font-size:15px !important}
}
@supports not (animation-timeline: view()){
  #home-cape-method{height:auto !important}
  #methodPin{position:relative !important;top:0 !important;height:auto !important;overflow-x:auto !important}
}
#buildTrack article > div:last-child{position:relative;z-index:2}
@media (max-width: 900px){
  #buildTrack article{grid-template-columns:1fr !important;padding:8vh 6vw 6vh !important}
  #buildTrack article > div:first-child{order:2 !important}
  #buildTrack article > div:last-child{order:1 !important;height:38vh !important}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}[data-draw]{stroke-dashoffset:0 !important}}
@media (max-width: 1080px){#postcardBody{grid-template-columns:1fr !important}#postcardStub{border-left:0 !important;border-top:2px dashed rgba(34,48,30,.18) !important}}
@media (max-width: 1150px){#heroH1{font-size:15vw !important}#navLinks{display:none !important}#methodTrack .cape-inner{grid-template-columns:1fr !important;gap:0 !important}#home-sticky-cta{display:flex !important}#home-hero{grid-template-columns:1fr !important;padding-bottom:90px !important}#heroPhotoCol{justify-self:center !important;max-width:min(88vw,380px) !important}#mobileNavBtn{display:flex !important}#mobileNavToggle:checked ~ header #mobileNavDrawer,#mobileNavToggle:checked~#mobileNavDrawer{max-height:calc(100vh - 70px) !important;opacity:1 !important;pointer-events:auto !important}}
#mobileNavToggle:checked ~ #mobileNavDrawer{max-height:calc(100vh - 70px) !important;opacity:1 !important;pointer-events:auto !important}
#mobileNavToggle:checked ~ div #mobileNavBtn span:nth-child(1){transform:translateY(6px) rotate(45deg)}
#mobileNavToggle:checked ~ div #mobileNavBtn span:nth-child(2){opacity:0}
#mobileNavToggle:checked ~ div #mobileNavBtn span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
#home-practical-card-1:hover [data-fun-badge]{transform:rotate(18deg) scale(1.25)}
#home-practical-card-1:hover [data-fun-box]{transform:rotate(-3deg) scale(1.05)}
#home-practical-card-2:hover [data-fun-badge]{transform:rotate(18deg) scale(1.25)}
#home-practical-card-2:hover [data-fun-box]{transform:scale(1.05)}
#home-practical-card-2:hover [data-fun-box] span:first-child{transform:rotate(-2deg) scale(1.06)}
#home-practical-card-3:hover [data-fun-badge]{transform:rotate(18deg) scale(1.25)}
#home-practical-card-3:hover [data-fun-box] span{transform:scale(1.4)}
#home-practical-card-3:hover [data-fun-box] span:nth-child(3){transition-delay:.03s}
#home-practical-card-3:hover [data-fun-box] span:nth-child(6){transition-delay:.06s}
#home-practical-card-3:hover [data-fun-box] span:nth-child(7){transition-delay:.09s}
#home-practical-card-3 [data-fun-box] span{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}

/* ═══════════════════════════════════════════════════════════════════════════
   HERO: intro suppressed, photo held in the first screen
   Added 2026-09-03. Two separate changes, kept together because both rewrite
   the same element's animation.

   ── 1. The cinematic intro is OFF by default ──────────────────────────────
   The pack's opening runs ~5.3s: a full-screen wordmark flies into the header,
   the headline rides in from a measured start point, then badges, eyebrow,
   body and buttons arrive on staggered delays. Nothing below is deleted --
   every keyframe and every element is still here -- it is switched off, and
   the page simply opens in the state the intro used to end in.

   TO PUT IT BACK: add ?intro to any homepage URL (winterpark.life/?intro) to
   watch it once without deploying anything. To restore it permanently, say
   "bring back the hero intro" and this block comes out; nothing else has to
   be rebuilt.

   In its place: one very faint settle. The header wordmark scales up a touch
   into position, and the yellow circle gives a single slow swing. Under half
   a second, and it does not hold anything back from being read.

   ── 2. The photo stays beside the headline at EVERY width ─────────────────
   The 1150px breakpoint used to collapse the hero to one column, which pushed
   the photograph below the fold: on a phone you had to scroll before seeing a
   child. The photo is the reason the headline lands, so it now shares the
   first screen at every size -- two columns down to tablet, and on phones an
   overlapping frame that sits to the right of the short third headline line
   ("way"), where there is empty space by design.
   ═══════════════════════════════════════════════════════════════════════════ */

/* --- 1. Intro off ------------------------------------------------------- */
/* The two flight elements exist only to animate. With the intro off they are
   removed from the page rather than left invisible: heroWordFly is a
   position:fixed full-viewport layer at z-index 110, so a merely transparent
   copy would sit over the whole site and swallow every click. */
html:not([data-hero-intro="on"]) #heroWordFly,
html:not([data-hero-intro="on"]) #heroRideText{display:none !important}

/* Everything the intro used to reveal on a delay is simply present. Each of
   these carries its animation inline, so `animation:none` needs the same
   weight to win. */
html:not([data-hero-intro="on"]) #home-hero #heroH1,
html:not([data-hero-intro="on"]) #home-hero #heroPhotoCol,
html:not([data-hero-intro="on"]) #home-hero > div > div,
html:not([data-hero-intro="on"]) #home-hero > div > p,
html:not([data-hero-intro="on"]) #home-hero > div > h1{
  animation:none !important;
  opacity:1 !important;
}
/* The blob is where the intro left it, still breathing on its 16s loop. */
html:not([data-hero-intro="on"]) #heroBlobStage{
  animation:none !important;
  transform:translate(0,0) scale(1) !important;
  opacity:1 !important;
}
/* The underline under "way" is drawn, not drawing. */
html:not([data-hero-intro="on"]) #heroH1 svg path{
  animation:none !important;
  stroke-dashoffset:0 !important;
}
/* The glow behind the headline sits at its resting size. */
html:not([data-hero-intro="on"]) #heroH1 > span[aria-hidden="true"]:first-child{
  animation:none !important;
  opacity:1 !important;
  transform:translate(-50%,-50%) scale(1) !important;
}
/* The bouncing dot and the drifting shapes are ambient, not intro -- they stay. */
html:not([data-hero-intro="on"]) #heroH1 span[style*="ballBounce"]{
  animation:ballBounce 2.6s ease-in-out .8s infinite !important;
}

/* The faint replacement. */
@keyframes wpsMarkSettle{0%{transform:scale(1.055);opacity:0}55%{opacity:1}100%{transform:scale(1);opacity:1}}
@keyframes wpsCircleSwing{0%{transform:translateX(0) rotate(0)}30%{transform:translateX(-7px) rotate(-7deg)}62%{transform:translateX(5px) rotate(5deg)}100%{transform:translateX(0) rotate(0)}}
html:not([data-hero-intro="on"]) header.topbar a[href="/"],
html:not([data-hero-intro="on"]) header.topbar .brand{
  animation:wpsMarkSettle .52s cubic-bezier(.16,1,.3,1) .06s both;
}
html:not([data-hero-intro="on"]) #home-hero > div[style*="border-radius:50%"]:first-of-type{
  animation:wpsCircleSwing 1.5s cubic-bezier(.33,1,.5,1) .18s 1 both, drift 7s ease-in-out 1.7s infinite !important;
}
@media (prefers-reduced-motion: reduce){
  html:not([data-hero-intro="on"]) header.topbar a[href="/"],
  html:not([data-hero-intro="on"]) header.topbar .brand,
  html:not([data-hero-intro="on"]) #home-hero > div[style*="border-radius:50%"]:first-of-type{animation:none !important}
}

/* --- 2. The photo in the first screen ----------------------------------- */
/* Tablet landscape and small laptops: keep two columns, give the photo less
   of the row rather than a row of its own. */
@media (max-width:1150px){
  #home-hero{
    grid-template-columns:minmax(0,1.28fr) minmax(0,.72fr) !important;
    padding-bottom:calc(6vh + 64px) !important;
  }
  #heroPhotoCol{
    justify-self:end !important;
    max-width:min(38vw,420px) !important;
  }
  #heroPhotoCol > div[style*="height:min(56vw"]{height:min(46vw,430px) !important}
  #heroH1{font-size:min(11.2vw,104px) !important}
}

/* Tablet portrait. The two handwritten captions are the first thing to go --
   they cost ~110px of height each and say less than the photograph does. */
@media (max-width:900px){
  #home-hero{
    grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr) !important;
    gap:3vw !important;
    padding:104px 5vw 48px !important;
    min-height:auto !important;
  }
  #heroPhotoCol > p{display:none !important}
  #heroPhotoCol{max-width:min(42vw,360px) !important;align-self:center !important}
  #heroPhotoCol > div[style*="height:min(56vw"]{height:min(58vw,400px) !important}
  #home-hero h1 + p{font-size:16px !important;margin-top:24px !important;max-width:38ch !important}
}

/* Phone portrait. One column for the TEXT, with the photo lifted out of the
   flow and overlapped into the space to the right of the headline's short
   last line. `overflow:hidden` on the section keeps the rotated frame from
   widening the page. */
@media (max-width:719px){
  #home-hero{
    grid-template-columns:1fr !important;
    gap:0 !important;
    padding:92px 5vw 40px !important;
    min-height:auto !important;
    padding-bottom:calc(4vh + 56px) !important;
  }
  /* The headline is held to the left of the frame rather than running under
     it. 8.2ch on this face is about 58% of a 390px screen, which is where the
     photo's left edge lands -- so "Curiosity", the longest line, stops just
     short of the picture instead of being covered by it. */
  #heroH1{font-size:12.6vw !important;max-width:8.2ch !important}
  /* Lifted out of the flow and anchored level with the headline. `top` is in
     vh to track the section's own top padding, which is also viewport-based;
     a pixel value here drifts as soon as the address bar collapses. */
  #heroPhotoCol{
    position:absolute !important;
    right:-2vw !important;
    top:31vh !important;
    bottom:auto !important;
    width:38vw !important;
    max-width:198px !important;
    justify-self:auto !important;
    z-index:1 !important;
    pointer-events:none !important;
  }
  #heroPhotoCol > div[style*="height:min(56vw"]{height:50vw !important;max-height:250px !important}
  /* The arch behind the frame is scaled with it. */
  #heroPhotoCol > div[aria-hidden="true"]{border-radius:120px 120px 0 0 !important}
  /* The paragraph starts below the frame, so it gets the full width back. */
  #home-hero h1 + p{font-size:15px !important;margin-top:26px !important;max-width:100% !important}
  #home-hero > div[style*="position:relative;z-index:2"] > div:last-child{margin-top:26px !important}
}

/* Very small phones: the frame shrinks rather than the type. */
@media (max-width:379px){
  #heroPhotoCol{width:36vw !important;top:30vh !important}
  #heroH1{font-size:12vw !important}
}

/* Short desktop screens -- a 1280x800 laptop, or a 1920x1080 with browser
   chrome. The pack sizes the frame off viewport WIDTH alone (min(56vw,640px)),
   which on a wide-but-short window runs past the fold. Height is capped
   against the viewport as well so the whole photograph stays on the screen. */
@media (min-width:1150px) and (max-height:1120px){
  /* All three terms, not a replacement. The pack's own cap is min(56vw,640px);
     writing min(46vw,62vh) here REPLACED that and on a 1920x1080 actually made
     the frame taller than it had been. The viewport-height term has to be an
     additional ceiling, so it is min(width, pack cap, height). */
  #heroPhotoCol > div[style*="height:min(56vw"]{height:min(56vw,640px,48vh) !important}
  /* The handwritten line above the frame gives up most of its margin -- it is
     the cheapest 16px on the screen when height is what is short. */
  #heroPhotoCol > p:first-of-type{margin-bottom:14px !important}
}

/* Desktop: the photograph GROWS with the viewport. The pack capped it at
   780px; above 1600px it keeps scaling with the column instead of stranding
   a small picture in a wide hero. */
@media (min-width:1600px){
  #heroPhotoCol{max-width:clamp(560px,40vw,1040px) !important}
  #heroPhotoCol > div[style*="height:min(56vw"]{height:min(46vw,860px) !important}
}
@media (min-width:2200px){
  #heroPhotoCol{max-width:clamp(700px,38vw,1240px) !important}
}


/* ── Reviews rail (homepage + Voices) ──────────────────────────────────────
   Cards are painted from the `testimonials` table by src/lib/testimonials-sync.ts
   and driven by the rail block in src/lib/curiosity.ts. Sizing lives here
   rather than inline because the cards are generated: a style attribute would
   have to be duplicated in the generator and in the markup, and the two would
   drift.

   The arrows sit ON the rail rather than up beside the heading. Dragging a rail
   is discoverable to about half the people who meet one, and on a wide screen a
   control parked at the far right of a heading is nowhere near the thing it
   moves. Scroll, drag and swipe all still work — the arrows are the obvious
   affordance, not the only one. */
.rev-railwrap{position:relative}
.rev-rail{display:flex;gap:26px;align-items:stretch;justify-content:safe center;padding:8px 8vw 30px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}
.rev-rail::-webkit-scrollbar{display:none}

.rev-card{flex:0 0 min(400px,82vw);scroll-snap-align:center;box-sizing:border-box;position:relative;display:flex;flex-direction:column;background:#FFFDF6;border:2.5px solid #22301E;border-radius:8px 8px 28px 28px;padding:30px 30px 26px;box-shadow:0 18px 40px rgba(34,48,30,.13);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s cubic-bezier(.2,.8,.2,1)}
.rev-card::before{content:"";position:absolute;left:-2.5px;right:-2.5px;top:-2.5px;height:10px;border-radius:8px 8px 0 0;background:var(--rev-accent,#8FA073)}
@media (hover:hover){.rev-card:hover{transform:translateY(-8px);box-shadow:0 30px 58px rgba(34,48,30,.2)}}

/* The opening mark is an ornament, not punctuation: big, tinted to the card's
   accent, and sat behind the first line so the quote starts against it. */
.rev-mark{position:absolute;top:16px;left:22px;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:96px;line-height:1;color:var(--rev-accent,#8FA073);opacity:.28;pointer-events:none;user-select:none}
.rev-quote{position:relative;font-size:17.5px;line-height:1.62;color:#22301E;margin:26px 0 24px;flex:1 1 auto;overflow-wrap:anywhere}
/* A short review used to leave a third of its card empty next to a long one —
   the row is as tall as its tallest card. Setting the type from the length
   turns that hole into a pull-quote: the shortest reviews are the loudest,
   which is also how a person reads a wall of them. */
.rev-card[data-len="xs"] .rev-quote{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:27px;line-height:1.3;letter-spacing:-.015em}
.rev-card[data-len="s"] .rev-quote{font-size:21px;line-height:1.48}
/* A short review is centred in the space it does not fill, rather than pinned
   under the mark with a hole above the attribution. */
.rev-card[data-len="xs"] .rev-quote,.rev-card[data-len="s"] .rev-quote{flex:0 1 auto;margin-top:auto;margin-bottom:auto;padding-bottom:24px}
/* The closing mark follows the last word instead of floating: a quote that
   opens and never closes reads as text that got cut off. */
.rev-close{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:1.5em;line-height:0;color:var(--rev-accent,#8FA073);margin-left:.1em;vertical-align:-.05em}

.rev-attr{display:flex;align-items:center;gap:16px;border-top:1.5px dashed rgba(34,48,30,.22);padding-top:18px}
/* Only 4 of the 11 featured reviews carry a photo, so the initials disc is the
   normal case, not the fallback. It is handwritten and tinted to the card's own
   accent — a row of identical beige discs was the flattest thing on the
   section. `color-mix` degrades to the accent itself where it is unsupported,
   which is still eleven different colours. */
.rev-avatar{flex:none;width:62px;height:62px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#EBDFC7;background:color-mix(in srgb,var(--rev-accent,#8FA073) 26%,#FFFDF6);border:2.5px solid #22301E;box-shadow:0 4px 0 rgba(34,48,30,.14);font-family:'Caveat',cursive;font-weight:700;font-size:27px;line-height:1;letter-spacing:.02em;color:#22301E}
.rev-avatar--photo{background:#EBDFC7}
.rev-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.rev-who{display:flex;flex-direction:column;min-width:0}
.rev-name{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:19.5px;letter-spacing:-.01em;color:#22301E;margin:0}
/* Handwritten, not tracked-out caps. The caps read like a corporate byline on
   a page whose whole voice is the opposite. */
.rev-role{font-family:'Caveat',cursive;font-weight:600;font-size:19.5px;line-height:1.2;color:#7C6247;margin:2px 0 0}

.rev-arrow{position:absolute;top:calc(50% - 15px);transform:translateY(-50%);z-index:4;width:60px;height:60px;border-radius:50%;border:2.5px solid #22301E;background:#F5C531;color:#22301E;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(34,48,30,.24);transition:background .2s,transform .2s,box-shadow .2s}
.rev-arrow--prev{left:max(14px,2.2vw)}
.rev-arrow--next{right:max(14px,2.2vw)}
.rev-arrow:hover{background:#FFE07A;transform:translateY(-50%) scale(1.08);box-shadow:0 12px 26px rgba(34,48,30,.3)}
.rev-arrow:focus-visible{outline:3px solid #56663F;outline-offset:3px}
.rev-arrow[disabled]{opacity:.35;cursor:default;box-shadow:none}

@media (max-width:900px){
  .rev-rail{padding-left:6vw;padding-right:6vw;gap:18px}
  /* Swiping a rail on a phone needs no teaching, and a 60px button parked over
     a 82vw card covers the words. */
  .rev-arrow{display:none}
  .rev-card[data-len="xs"] .rev-quote{font-size:23px}
}


#buildRow::-webkit-scrollbar{display:none}@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}



.verify{display:none}
html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-24px) rotate(8deg)}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
  [data-pop]{animation:popIn .8s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 15% entry 55%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}}
@media (max-width: 1150px){#navLinks{display:none !important}#about-sticky-cta{display:flex !important}}
@keyframes drawSpine{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@supports (animation-timeline: view()){
  #about-spine-fill{animation:drawSpine linear both;animation-timeline:view();animation-range:cover 6% cover 74%;transform-origin:top center}
}
@media (max-width:760px){
  #about-timeline-track .tl-row{grid-template-columns:64px 26px 1fr !important;gap:14px !important}
  #about-timeline-track .tl-row > p:first-child{font-size:19px !important}
  #about-timeline .tl-spine{left:calc(64px + 14px + 13px - 1.5px) !important}
}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}



.verify{display:none}
html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-24px) rotate(8deg)}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
  [data-pop]{animation:popIn .8s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 15% entry 55%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}}
@media (max-width: 1150px){#navLinks{display:none !important}}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}



.verify{display:none}
html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-24px) rotate(8deg)}}
@keyframes flashRow{0%{background:#F5C531}100%{background:#FAF6EC}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
  [data-pop]{animation:popIn .8s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 15% entry 55%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}}
@media (max-width: 1150px){#navLinks{display:none !important}#families-calendar-sticky-cta{display:flex !important}}
@media (max-width: 900px){#calendar-hero > div{grid-template-columns:1fr !important;gap:18px !important;align-items:start !important}}
@media (max-width: 760px){
  #cal-list [data-event]{grid-template-columns:1fr !important;gap:14px !important}
  #cal-list [data-event] > div:last-child{justify-content:flex-start !important}
}
@media print{
  @page{size:letter;margin:.45in}
  .topbar,.site-footer,#families-calendar-sticky-cta,#cal-toolbar,#calendar-hero,#calendar-how-it-works,#calendar-close,.no-print{display:none !important}
  body{background:#fff;color:#000}
  .print-only{display:block !important}
  section{padding:0 !important;margin:0 !important;background:#fff !important}
  #calendar-year{padding:0 !important}
  #yearGrid{grid-template-columns:repeat(4,1fr) !important;gap:7px !important;max-width:none !important}
  #yearGrid > div{box-shadow:none !important;border:1px solid #c9c9c9 !important;border-radius:7px !important;padding:7px 5px 8px !important;background:#fff !important}
  #yearGrid > div > p{font-size:10.5px !important;margin:0 0 5px !important}
  #yearGrid > div > div{gap:2px !important}
  #yearGrid > div > div > *{height:16px !important;font-size:8.5px !important;border-width:2px !important}
  #calendar-year > div:last-of-type{display:none !important}
  #cal-legend{display:flex !important;gap:14px !important;margin:10px 0 0 !important;font-size:9.5px !important}
  #cal-legend span span{width:11px !important;height:11px !important}
  #calendar-dates{break-before:page;page-break-before:always}
  #calendar-dates h2{font-size:20px !important;margin:0 0 4px !important}
  #calendar-dates > p{font-size:11px !important;margin:0 0 10px !important}
  #cal-list{gap:5px !important;max-width:none !important}
  #cal-list [data-event]{grid-template-columns:148px 1fr !important;gap:12px !important;padding:6px 11px !important;border-radius:8px !important;border-width:1px !important;break-inside:avoid;align-items:center !important}
  #cal-list [data-event] > div:last-child{display:none !important}
  #cal-list [data-event] p{font-size:10.5px !important;margin:0 !important}
  #cal-list [data-event] h3{font-size:12.5px !important;margin:0 0 2px !important}
}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}



.verify{display:none}
html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-24px) rotate(8deg)}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
  [data-pop]{animation:popIn .8s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 15% entry 55%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}}
@media (max-width: 1150px){#navLinks{display:none !important}#campus-sticky-cta{display:flex !important}}
@media (max-width: 720px){
  #campus-illness [data-ill-row]{grid-template-columns:1fr !important;gap:8px !important}
  #campus-illness [data-ill-head]{display:none !important}
  #campus-illness [data-ill-label]{display:inline !important}
  #campus-day-rail article{width:82vw !important}
}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}



.verify{display:none}
html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-24px) rotate(8deg)}}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
  [data-pop]{animation:popIn .8s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 15% entry 55%}
  [data-draw]{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both;animation-timeline:view();animation-range:entry 5% exit 90%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}[data-draw]{stroke-dashoffset:0 !important}}
@media (max-width: 1150px){#navLinks{display:none !important}#inside-a-classroom-sticky-cta{display:flex !important}}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}



.verify{display:none}
html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-24px) rotate(8deg)}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
  [data-pop]{animation:popIn .8s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 15% entry 55%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}}
@media (max-width: 1150px){#navLinks{display:none !important}#contact-sticky-cta{display:flex !important}}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}



html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-24px) rotate(8deg)}}
@keyframes drift2{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(20px) rotate(-10deg)}}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes spinSlow{to{transform:rotate(360deg)}}
@keyframes wobble{0%,100%{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}
@keyframes stackUp{0%,15%{transform:translateY(-40px);opacity:0}45%,100%{transform:translateY(0);opacity:1}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
  [data-pop]{animation:popIn .8s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 15% entry 55%}
  [data-draw]{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both;animation-timeline:view();animation-range:entry 25% cover 70%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}[data-draw]{stroke-dashoffset:0 !important}}
@media (max-width: 1150px){#navLinks{display:none !important}#how-we-learn-sticky-cta{display:flex !important}}
.verify{display:none}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}

/* carried over from Innovation Advantage.dc.html when the two pages were merged (2026-09-03) */

.verify{display:none}
html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-24px) rotate(8deg)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
  [data-pop]{animation:popIn .8s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 15% entry 55%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}}
@media (max-width: 1150px){#navLinks{display:none !important}#innovation-advantage-sticky-cta{display:flex !important}}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}



.verify{display:none}
html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-24px) rotate(8deg)}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 8% entry 40%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}}
@media (max-width: 1150px){#navLinks{display:none !important}#code-of-ethics-sticky-cta{display:flex !important}}
@media (max-width: 1000px){#ethics-rail{display:none !important}#ethics-body{grid-template-columns:1fr !important}}
@media print{
  .topbar,.site-footer,#code-of-ethics-sticky-cta,#ethics-rail,.no-print{display:none !important}
  body{background:#fff;color:#000}
  section{padding:12px 0 !important;background:#fff !important;color:#000 !important}
  #ethics-body{grid-template-columns:1fr !important}
  article,div{page-break-inside:avoid}
}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}



html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-24px) rotate(8deg)}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
  [data-pop]{animation:popIn .8s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 15% entry 55%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}}
@media (max-width: 1150px){#navLinks{display:none !important}#families-sticky-cta{display:flex !important}}
.verify{display:none}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}



html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
summary::-webkit-details-marker{display:none}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}}
@media (max-width: 1150px){#navLinks{display:none !important}#families-faq-sticky-cta{display:flex !important}}
.verify{display:none}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}



.verify{display:none}
html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-24px) rotate(8deg)}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
  [data-pop]{animation:popIn .8s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 15% entry 55%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}}
@media (max-width: 1150px){#navLinks{display:none !important}#resources-first-day-sticky-cta{display:flex !important}}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
.fd-radio{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.fd{position:relative}
.fd-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 18px}
.fd-tab{position:relative;display:grid;gap:3px;padding:18px 18px 18px 22px;border-radius:18px;background:#FAF6EC;color:#22301E;cursor:pointer;border:2px solid transparent;transition:transform .35s cubic-bezier(.22,1,.36,1),background .3s ease,color .3s ease,box-shadow .3s ease;min-width:0}
.fd-tab::before{content:attr(data-n);position:absolute;left:0;top:-4px;transform:translate(-30%,-30%) scale(0);width:30px;height:30px;border-radius:50%;background:#F5C531;color:#22301E;font:800 12px/30px 'Bricolage Grotesque',sans-serif;text-align:center;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.fd-tab:hover{transform:translateY(-4px);box-shadow:0 10px 26px rgba(34,48,30,.10)}
.fd-tab-name{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(16px,1.4vw,20px);letter-spacing:-.02em;line-height:1.1}
.fd-tab-sub{font-weight:600;font-size:13px;opacity:.72;line-height:1.3}
.fd-panels{position:relative;min-height:240px}
.fd-panel{display:none;grid-template-columns:96px minmax(0,1fr);gap:clamp(18px,3vw,40px);align-items:start;background:#FAF6EC;border-radius:28px;padding:clamp(24px,3.4vw,44px);box-shadow:0 24px 60px rgba(34,48,30,.10)}
.fd-glyph{width:96px;height:96px;border-radius:26px;background:#EBDFC7;display:grid;place-items:center}
.fd-kicker{font-weight:700;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:#7C6247;margin:0 0 8px}
.fd-title{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(24px,2.6vw,34px);letter-spacing:-.02em;line-height:1.08;margin:0 0 12px}
.fd-body{font-size:17px;line-height:1.7;color:#56663F;margin:0 0 20px;max-width:62ch}
.fd-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.fd-more{display:inline-block;background:#22301E;color:#FAF6EC;padding:14px 24px;border-radius:999px;font-weight:800;font-size:15.5px;transition:transform .25s ease,background .25s ease,color .25s ease}
.fd-more:hover{background:#F5C531;color:#22301E;transform:rotate(-2deg)}
.fd-time{font-weight:700;font-size:13.5px;color:#7C6247}
@keyframes fdIn{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}
@keyframes fdGlyph{from{opacity:0;transform:scale(.6) rotate(-8deg)}to{opacity:1;transform:none}}
#fd-portal:checked ~ .fd-strip label[for="fd-portal"],#fd-cameras:checked ~ .fd-strip label[for="fd-cameras"],#fd-uniforms:checked ~ .fd-strip label[for="fd-uniforms"],#fd-handbook:checked ~ .fd-strip label[for="fd-handbook"],#fd-checklist:checked ~ .fd-strip label[for="fd-checklist"]{background:#22301E;color:#FAF6EC;transform:translateY(-6px);box-shadow:0 14px 34px rgba(34,48,30,.22)}
#fd-portal:checked ~ .fd-strip label[for="fd-portal"]::before,#fd-cameras:checked ~ .fd-strip label[for="fd-cameras"]::before,#fd-uniforms:checked ~ .fd-strip label[for="fd-uniforms"]::before,#fd-handbook:checked ~ .fd-strip label[for="fd-handbook"]::before,#fd-checklist:checked ~ .fd-strip label[for="fd-checklist"]::before{transform:translate(-30%,-30%) scale(1)}
#fd-portal:checked ~ .fd-panels .fd-panel[data-for="portal"],#fd-cameras:checked ~ .fd-panels .fd-panel[data-for="cameras"],#fd-uniforms:checked ~ .fd-panels .fd-panel[data-for="uniforms"],#fd-handbook:checked ~ .fd-panels .fd-panel[data-for="handbook"],#fd-checklist:checked ~ .fd-panels .fd-panel[data-for="checklist"]{display:grid;animation:fdIn .55s cubic-bezier(.22,1,.36,1) both}
#fd-portal:checked ~ .fd-panels .fd-panel[data-for="portal"] .fd-glyph,#fd-cameras:checked ~ .fd-panels .fd-panel[data-for="cameras"] .fd-glyph,#fd-uniforms:checked ~ .fd-panels .fd-panel[data-for="uniforms"] .fd-glyph,#fd-handbook:checked ~ .fd-panels .fd-panel[data-for="handbook"] .fd-glyph,#fd-checklist:checked ~ .fd-panels .fd-panel[data-for="checklist"] .fd-glyph{animation:fdGlyph .6s .08s cubic-bezier(.34,1.56,.64,1) both}
.fd-radio:focus-visible ~ .fd-strip label{outline:none}
#fd-portal:focus-visible ~ .fd-strip label[for="fd-portal"],#fd-cameras:focus-visible ~ .fd-strip label[for="fd-cameras"],#fd-uniforms:focus-visible ~ .fd-strip label[for="fd-uniforms"],#fd-handbook:focus-visible ~ .fd-strip label[for="fd-handbook"],#fd-checklist:focus-visible ~ .fd-strip label[for="fd-checklist"]{outline:3px solid #F5C531;outline-offset:3px}
.fd-check li{position:relative;padding-left:34px;font-size:16px;line-height:1.6;color:#22301E}
.fd-check li::before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:6px;border:2px solid #22301E;background:#FAF6EC}
.fd-check-light li{color:#DDE3CE}
.fd-check-light li::before{border-color:#F5C531;background:transparent}
@media (max-width:1000px){.fd-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.fd-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fd-tab{padding:14px 12px 14px 16px;border-radius:14px}.fd-tab-sub{display:none}.fd-panel{grid-template-columns:1fr}.fd-glyph{width:72px;height:72px;border-radius:20px}}
@media print{.topbar,.site-footer,#first-day-tabs,#first-day-close{display:none !important}#page-resources-first-day section{padding:24px 0 !important;background:#fff !important;color:#000 !important}}



.verify{display:none}
html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-24px) rotate(8deg)}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
  [data-pop]{animation:popIn .8s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 15% entry 55%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}}
@media (max-width: 1150px){#navLinks{display:none !important}#families-funding-sticky-cta{display:flex !important}}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}



.verify{display:none}
html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-24px) rotate(8deg)}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
  [data-pop]{animation:popIn .8s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 15% entry 55%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}}
@media (max-width: 1150px){#navLinks{display:none !important}#gallery-sticky-cta{display:flex !important}}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}



/* ── The Parent Handbook (/handbook) ────────────────────────────────────────
   Three views out of one DOM, switched by data-hb-view on <main>:
     index  the search page — hero, quick answers, chapter grid
     topic  the reader — side menu, one topic at a time
     doc    every topic in order, laid out as the printed document
   Nothing here is view-specific markup; the attribute decides what shows, so a
   topic's prose exists exactly once and the school edits it in one place. */
main[data-hb-view="topic"] .hb-index,
main[data-hb-view="doc"] .hb-index{display:none}
main[data-hb-view="index"] #hb-shell{display:none}
main[data-hb-view="topic"] .hb-doconly{display:none}
main[data-hb-view="doc"] .hb-nav,
main[data-hb-view="doc"] .hb-bar__where,
main[data-hb-view="doc"] .hb-bar__menu,
main[data-hb-view="doc"] .hb-topic__foot,
main[data-hb-view="doc"] .hb-doc-toggle,
main[data-hb-view="topic"] .hb-topic-toggle{display:none}
main[data-hb-view="topic"] .hb-topic{display:none}
main[data-hb-view="topic"] .hb-topic[data-open]{display:block;animation:rise .55s cubic-bezier(.22,1,.36,1) both}
main[data-hb-view="topic"] .hb-chapter-rule{display:none}
main[data-hb-view="doc"] .hb-chapter-rule{display:block}
/* The reader is a two-column grid with the menu in column one. The document
   view hides the menu, and hiding a grid item does NOT collapse its track --
   so the whole document was laid out inside a 296px column, one word wide.
   Drop the grid instead of the item. */
main[data-hb-view="doc"] #hb-shell{display:block}
main[data-hb-view="doc"] .hb-stage{max-width:900px}

/* ── index · hero ───────────────────────────────────────────────────────── */
#handbook-hero{position:relative;overflow:hidden;background:#22301E;color:#FAF6EC;padding:150px 6vw 74px;margin-bottom:0}
.hb-hero__in{position:relative;z-index:2;max-width:1120px;margin:0 auto}
.hb-hero__deco{position:absolute;inset:0;z-index:1;pointer-events:none}
.hb-blob{position:absolute;top:-34%;right:-12%;width:min(56vw,660px);height:min(56vw,660px);background:radial-gradient(circle at 32% 32%, rgba(143,160,115,.5), rgba(143,160,115,0) 68%);border-radius:58% 42% 55% 45%/55% 48% 52% 45%;animation:blobMorph 20s ease-in-out infinite}
.hb-dot{position:absolute;border-radius:50%;opacity:.85}
.hb-dot--a{top:24%;right:14%;width:42px;height:42px;background:#F5C531;animation:drift 9s ease-in-out infinite}
.hb-dot--b{top:62%;right:31%;width:20px;height:20px;background:#FAF6EC;opacity:.5;animation:drift2 12s ease-in-out infinite}
.hb-dot--c{top:16%;right:37%;width:13px;height:13px;background:#8FA073;animation:drift 14s ease-in-out infinite}
.hb-hero__eyebrow{margin:0 0 18px;font-weight:700;font-size:13px;letter-spacing:.26em;text-transform:uppercase;color:rgba(250,246,236,.72);animation:rise .8s both}
.hb-hero__h{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:min(8.4vw,74px);line-height:1;letter-spacing:-.035em;margin:0 0 22px;max-width:16ch;animation:rise .9s .08s both}
.hb-hero__em{position:relative;display:inline-block;color:#F5C531}
.hb-hero__scribble{position:absolute;left:0;right:0;bottom:-.16em;width:100%;height:.28em;overflow:visible}
.hb-hero__sub{margin:0 0 34px;max-width:54ch;font-size:18.5px;line-height:1.6;color:rgba(250,246,236,.86);animation:rise 1s .16s both}
.hb-searchrow{animation:rise 1.05s .24s both}
.hb-search{display:flex;align-items:center;gap:12px;max-width:640px;background:#FAF6EC;border-radius:999px;padding:6px 8px 6px 22px;box-shadow:0 18px 40px rgba(0,0,0,.24);transition:box-shadow .3s,transform .3s}
.hb-search:focus-within{box-shadow:0 22px 52px rgba(0,0,0,.3),0 0 0 4px rgba(245,197,49,.6);transform:translateY(-2px)}
.hb-search__ico{flex:none;color:#56663F;display:grid;place-items:center}
.hb-search__lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hb-search__in{flex:1;min-width:0;border:0;background:transparent;font-family:'Figtree',sans-serif;font-size:17px;color:#22301E;padding:16px 0;outline:none}
.hb-search__in::-webkit-search-cancel-button{display:none}
.hb-search__clear{flex:none;border:0;width:40px;height:40px;border-radius:50%;background:transparent;color:#56663F;font-size:16px;cursor:pointer;display:none;transition:background .2s}
.hb-search__clear:hover{background:rgba(34,48,30,.1)}
.hb-search[data-has] .hb-search__clear{display:block}
.hb-hint{margin:14px 0 0;font-family:'Caveat',cursive;font-size:21px;color:rgba(250,246,236,.72)}
.hb-hint kbd{font-family:'Figtree',sans-serif;font-size:12px;font-weight:700;background:rgba(250,246,236,.16);border-radius:6px;padding:2px 7px}
@media (hover:none){.hb-hint{display:none}}

/* ── index · search results ─────────────────────────────────────────────── */
.hb-results{display:none;margin:26px 0 0;max-width:820px}
.hb-results[data-on]{display:block;animation:rise .5s both}
.hb-results__head{margin:0 0 14px;font-family:'Caveat',cursive;font-size:24px;color:#F5C531}
.hb-hit{display:block;background:rgba(250,246,236,.07);border:1px solid rgba(250,246,236,.16);border-radius:18px;padding:16px 20px;margin:0 0 10px;color:#FAF6EC;transition:background .2s,transform .2s,border-color .2s}
.hb-hit:hover{background:rgba(250,246,236,.14);border-color:#F5C531;transform:translateX(4px);color:#FAF6EC}
.hb-hit__c{display:block;font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(250,246,236,.6);margin-bottom:5px}
.hb-hit__t{display:block;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:18px;margin-bottom:5px}
.hb-hit__s{display:block;font-size:14.5px;line-height:1.55;color:rgba(250,246,236,.78)}
.hb-hit__s mark{background:rgba(245,197,49,.32);color:#F5C531;border-radius:3px;padding:0 2px}
.hb-none{background:rgba(250,246,236,.07);border-radius:18px;padding:20px 22px;font-size:16px;line-height:1.6;color:rgba(250,246,236,.86)}
.hb-none a{color:#F5C531;font-weight:700;text-decoration:underline}

/* ── index · progress ───────────────────────────────────────────────────── */
.hb-progress{margin:34px 0 0;animation:rise 1.1s .3s both}
.hb-progress__row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.hb-progress__arc{transition:stroke-dashoffset .8s cubic-bezier(.22,1,.36,1)}
.hb-progress__txt{font-size:15.5px;color:rgba(250,246,236,.8)}
.hb-progress__txt strong{color:#FAF6EC}
.hb-progress__hand{display:block;font-family:'Caveat',cursive;font-size:20px;color:rgba(250,246,236,.6)}
.hb-progress__resume{margin-left:auto;background:#F5C531;color:#22301E;font-weight:800;font-size:14.5px;padding:11px 20px;border-radius:999px;transition:transform .2s}
.hb-progress__resume:hover{transform:translateY(-2px);color:#22301E}

/* ── index · sections ───────────────────────────────────────────────────── */
.hb-index:not(#handbook-hero){padding:8vh 6vw;max-width:1220px;margin:0 auto}
.hb-kicker{margin:0 0 12px;font-weight:700;font-size:12.5px;letter-spacing:.24em;text-transform:uppercase;color:#7C6247}
.hb-h2{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:min(6vw,42px);letter-spacing:-.03em;line-height:1.05;margin:0 0 14px;max-width:20ch}
.hb-lede{margin:0 0 34px;max-width:58ch;font-size:17px;line-height:1.6;color:#56663F}
.hb-qagrid,.hb-chapgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-top:26px}
.hb-qa{display:block;position:relative;background:#fff;border:2px solid rgba(34,48,30,.1);border-radius:22px;padding:24px 26px 22px;color:#22301E;transition:transform .25s cubic-bezier(.34,1.4,.6,1),box-shadow .25s,border-color .25s}
.hb-qa:hover{transform:translateY(-4px);border-color:#22301E;box-shadow:0 18px 34px rgba(34,48,30,.13);color:#22301E}
.hb-qa__q{display:block;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:18.5px;margin-bottom:9px}
.hb-qa__a{display:block;font-size:15.5px;line-height:1.6;color:#56663F;margin-bottom:14px}
.hb-qa__go{display:inline-block;font-weight:800;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:#56663F}
.hb-qa__go span{display:inline-block;transition:transform .25s}
.hb-qa:hover .hb-qa__go span{transform:translateX(5px)}
.hb-qa__where{position:absolute;top:22px;right:24px;font-family:'Caveat',cursive;font-size:16px;color:rgba(124,98,71,.72);opacity:0;transition:opacity .25s}
.hb-qa:hover .hb-qa__where{opacity:1}
@media (max-width:700px){.hb-qa__where{display:none}}

.hb-chapcard{display:flex;align-items:flex-start;gap:16px;position:relative;background:#fff;border:2px solid rgba(34,48,30,.1);border-radius:22px;padding:22px 24px;color:#22301E;overflow:hidden;transition:transform .25s cubic-bezier(.34,1.4,.6,1),box-shadow .25s,border-color .25s}
.hb-chapcard::before{content:'';position:absolute;left:0;top:0;bottom:0;width:0;background:var(--accent);transition:width .25s}
.hb-chapcard:hover{transform:translateY(-4px);border-color:#22301E;box-shadow:0 18px 34px rgba(34,48,30,.13);color:#22301E}
.hb-chapcard:hover::before{width:6px}
.hb-chapcard__ico{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb, var(--accent) 26%, #FAF6EC);color:#22301E;transition:transform .35s cubic-bezier(.34,1.5,.6,1)}
.hb-chapcard:hover .hb-chapcard__ico{transform:rotate(-8deg) scale(1.08)}
.hb-chapcard__body{display:block;min-width:0}
.hb-chapcard__t{display:block;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:18.5px;margin-bottom:5px;padding-right:44px}
.hb-chapcard__d{display:block;font-size:15px;line-height:1.55;color:#56663F;margin-bottom:10px}
.hb-chapcard__c{display:inline-block;font-weight:800;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#7C6247}
.hb-chapcard__n{position:absolute;top:16px;right:20px;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:30px;color:rgba(34,48,30,.09)}

.hb-tools{display:flex;flex-wrap:wrap;align-items:center;gap:26px;justify-content:space-between;background:#8FA073;border-radius:28px;padding:34px 38px}
.hb-tools__t{margin:0 0 8px;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:min(5vw,30px);color:#22301E}
.hb-tools__d{margin:0;max-width:46ch;font-size:16px;line-height:1.6;color:#2E3D26}
.hb-tools__acts{display:flex;flex-wrap:wrap;gap:12px}
.hb-tools__foot{margin:26px 0 0;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;font-size:14px;color:#56663F;border-top:1px solid rgba(34,48,30,.12);padding-top:18px}
.hb-tools__hand{font-family:'Caveat',cursive;font-size:21px;color:#7C6247}

.hb-btn{display:inline-flex;align-items:center;gap:.6rem;border:2px solid #22301E;border-radius:999px;font-family:'Figtree',sans-serif;font-weight:700;font-size:15.5px;padding:13px 24px;cursor:pointer;background:transparent;color:#22301E;transition:transform .2s,background .2s,color .2s}
.hb-btn:hover{transform:translateY(-2px);color:#22301E}
.hb-btn--sun{background:#F5C531;border-color:#22301E}
.hb-btn--sun:hover{background:#22301E;color:#FAF6EC}
.hb-btn--ghost:hover{background:#22301E;color:#FAF6EC}
.hb-btn--sm{font-size:13.5px;padding:8px 15px;border-width:1.5px}

/* ── reader shell ───────────────────────────────────────────────────────── */
#hb-shell{display:grid;grid-template-columns:296px minmax(0,1fr);gap:0;align-items:start;background:#FAF6EC;min-height:80vh}
.hb-scrollbar{position:fixed;top:0;left:0;right:0;height:3px;z-index:99;background:transparent;pointer-events:none}
.hb-scrollbar__fill{display:block;height:100%;width:0;background:#F5C531;transition:width .12s linear}
.hb-nav{position:sticky;top:66px;max-height:calc(100vh - 66px);overflow-y:auto;padding:26px 20px 40px;background:#F3EDDF;border-right:2px solid rgba(34,48,30,.1)}
.hb-nav__top{position:relative;padding-bottom:14px;margin-bottom:8px;border-bottom:1px solid rgba(34,48,30,.12)}
.hb-back{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:#56663F;margin-bottom:14px}
.hb-back:hover{color:#22301E}
.hb-navfind__in{width:100%;box-sizing:border-box;border:2px solid rgba(34,48,30,.18);border-radius:999px;background:#FAF6EC;font-family:'Figtree',sans-serif;font-size:14.5px;padding:10px 16px;color:#22301E;outline:none}
.hb-navfind__in:focus{border-color:#22301E}
.hb-nav__count{margin:10px 0 0;font-family:'Caveat',cursive;font-size:18px;color:#7C6247;min-height:1em}
.hb-navgroup{margin:18px 0 0}
.hb-navgroup[hidden]{display:none}
.hb-navgroup__t{display:flex;align-items:baseline;gap:8px;margin:0 0 7px;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:14px;letter-spacing:-.01em;color:#22301E}
.hb-navgroup__n{font-size:11px;font-weight:800;color:var(--accent);letter-spacing:.08em}
.hb-navlist{list-style:none;margin:0;padding:0 0 0 4px;border-left:2px solid rgba(34,48,30,.1)}
.hb-navlink{display:flex;align-items:flex-start;gap:7px;padding:6px 10px;border-radius:9px;font-size:14.5px;line-height:1.35;color:#56663F;transition:background .18s,color .18s}
.hb-navlink[hidden]{display:none}
.hb-navlink:hover{background:rgba(34,48,30,.07);color:#22301E}
.hb-navlink[aria-current]{background:#22301E;color:#FAF6EC;font-weight:700}
.hb-navlink[aria-current]:hover{color:#FAF6EC}
.hb-navtick{flex:none;width:15px;font-size:11px;line-height:1.5;opacity:0;color:var(--accent)}
.hb-navlink[data-read] .hb-navtick{opacity:1}
.hb-navlink[aria-current] .hb-navtick{color:#F5C531}
.hb-nav__foot{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px;padding-top:16px;border-top:1px solid rgba(34,48,30,.12)}

.hb-stage{max-width:820px;padding:96px 6vw 12vh;margin:0 auto;width:100%;box-sizing:border-box}
.hb-bar{position:sticky;top:58px;z-index:12;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:rgba(250,246,236,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:2px solid rgba(34,48,30,.12);border-radius:999px;padding:8px 10px 8px 18px;margin:0 0 34px}
.hb-bar__back{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:#56663F}
.hb-bar__back:hover{color:#22301E}
.hb-bar__menu{display:none;border:0;background:transparent;font-family:'Figtree',sans-serif;font-weight:700;font-size:13.5px;color:#56663F;cursor:pointer}
.hb-bar__where{margin:0;flex:1;min-width:0;font-family:'Caveat',cursive;font-size:19px;color:#7C6247;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hb-bar__acts{display:flex;gap:8px;margin-left:auto}

/* ── a topic ────────────────────────────────────────────────────────────── */
.hb-topic{position:relative;margin:0 0 60px}
.hb-topic__head{position:relative;padding-bottom:18px;margin-bottom:22px;border-bottom:2px solid rgba(34,48,30,.12)}
.hb-topic__kicker{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-weight:800;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:#7C6247}
.hb-topic__ico{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;background:color-mix(in srgb, var(--accent) 30%, #FAF6EC);color:#22301E}
.hb-topic__t{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:min(7vw,38px);line-height:1.06;letter-spacing:-.03em;margin:0 0 10px;max-width:22ch}
.hb-topic__sum{margin:0 0 16px;font-size:17px;line-height:1.55;color:#56663F;max-width:56ch}
.hb-topic__num{position:absolute;top:-6px;right:0;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:44px;color:rgba(34,48,30,.08)}
.hb-read{display:inline-flex;align-items:center;gap:9px;border:2px solid #22301E;border-radius:999px;background:transparent;font-family:'Figtree',sans-serif;font-weight:700;font-size:14px;color:#22301E;padding:8px 17px;cursor:pointer;transition:background .2s,transform .2s}
.hb-read:hover{transform:translateY(-2px);background:rgba(34,48,30,.06)}
.hb-read__box{display:grid;place-items:center;width:19px;height:19px;border-radius:6px;border:2px solid #22301E;font-size:11px;color:transparent;transition:background .2s,color .2s}
.hb-read__on{display:none}
.hb-topic[data-read] .hb-read{background:var(--accent);border-color:#22301E}
.hb-topic[data-read] .hb-read__box{background:#22301E;color:#F5C531;animation:popIn .45s cubic-bezier(.34,1.56,.64,1)}
.hb-topic[data-read] .hb-read__on{display:inline}
.hb-topic[data-read] .hb-read__off{display:none}

.hb-prose{font-size:17px;line-height:1.72;color:#2E3D26}
.hb-p{margin:0 0 18px}
.hb-h3{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:20px;letter-spacing:-.01em;color:#22301E;margin:32px 0 12px}
.hb-note{margin:0 0 18px;font-size:14px;line-height:1.6;color:#7C6247;font-style:italic}
.hb-ul,.hb-ol{margin:0 0 20px;padding-left:1.3em}
.hb-ul li,.hb-ol li{margin:0 0 9px}
.hb-ul{list-style:none;padding-left:0}
.hb-ul li{position:relative;padding-left:1.5em}
.hb-ul li::before{content:'';position:absolute;left:.15em;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--accent,#8FA073)}
.hb-ol{counter-reset:hb;list-style:none;padding-left:0}
.hb-ol li{position:relative;padding-left:2.3em;counter-increment:hb}
.hb-ol li::before{content:counter(hb);position:absolute;left:0;top:.06em;width:1.6em;height:1.6em;border-radius:50%;background:var(--accent,#8FA073);color:#22301E;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:13px;display:grid;place-items:center}
.hb-callout{background:#FFF9E6;border:2px solid #22301E;border-left-width:8px;border-radius:16px;padding:20px 24px;margin:0 0 22px}
.hb-callout__t{margin:0 0 7px;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:16.5px;color:#22301E}
.hb-callout__b{margin:0;font-size:16px;line-height:1.65;color:#3B4A32}
.hb-tablewrap{overflow-x:auto;margin:0 0 24px;border:2px solid #22301E;border-radius:16px}
.hb-table{width:100%;border-collapse:collapse;font-size:15.5px;min-width:420px}
.hb-table th{text-align:left;background:#22301E;color:#FAF6EC;font-family:'Figtree',sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;padding:12px 18px}
.hb-table td{padding:13px 18px;border-top:1px solid rgba(34,48,30,.14);vertical-align:top;line-height:1.5}
.hb-table tbody tr:nth-child(odd){background:rgba(34,48,30,.035)}
.hb-table td:first-child{font-weight:700;color:#22301E}
.hb-sign{margin:0 0 24px;background:rgba(34,48,30,.04);border:2px dashed rgba(34,48,30,.24);border-radius:16px;padding:22px 24px 12px}
.hb-sign__row{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:14px}
.hb-sign__line,.hb-sign__gap{flex:1 1 220px;border-bottom:2px solid rgba(34,48,30,.35);padding-top:26px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#7C6247}
.hb-sign__gap{border-bottom-color:transparent}

.hb-topic__foot{display:flex;justify-content:space-between;gap:12px;margin-top:30px;padding-top:20px;border-top:2px solid rgba(34,48,30,.12)}
.hb-jump{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14.5px;color:#56663F;max-width:46%}
.hb-jump[hidden]{display:none}
.hb-jump:hover{color:#22301E}
.hb-jump span[data-jump-label]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ── one-document view ──────────────────────────────────────────────────── */
.hb-docmast{text-align:center;padding:34px 0 46px;margin-bottom:14px;border-bottom:3px double rgba(34,48,30,.28)}
.hb-docmast__eyebrow{margin:0 0 14px;font-weight:700;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:#7C6247}
.hb-docmast__t{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:min(11vw,64px);letter-spacing:-.04em;line-height:1;margin:0 0 12px}
.hb-docmast__d{margin:0 0 22px;font-weight:700;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:#56663F}
.hb-docmast__b{margin:0 auto;max-width:52ch;font-size:16.5px;line-height:1.7;color:#56663F}
.hb-chapter-rule{display:none;position:relative;margin:56px 0 34px;padding:26px 28px;border-radius:20px;background:color-mix(in srgb, var(--accent) 22%, #FAF6EC);border:2px solid #22301E}
.hb-chapter-rule__n{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:13px;letter-spacing:.2em;color:#7C6247}
.hb-chapter-rule__ico{position:absolute;top:24px;right:26px;color:#22301E;opacity:.5}
.hb-chapter-rule__t{display:block;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:min(7vw,34px);letter-spacing:-.03em;margin:6px 0 6px;color:#22301E}
.hb-chapter-rule__d{display:block;font-size:16px;color:#3B4A32}
main[data-hb-view="doc"] .hb-topic{margin-bottom:44px;padding-bottom:8px}
main[data-hb-view="doc"] .hb-topic__num{display:none}
main[data-hb-view="doc"] .hb-read{display:none}
.hb-docend{text-align:center;margin:60px 0 0;padding-top:30px;border-top:3px double rgba(34,48,30,.28);font-family:'Caveat',cursive;font-size:28px;color:#7C6247}
.hb-docend span{display:block;font-family:'Figtree',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#56663F;margin-top:10px}

/* ── narrow screens ─────────────────────────────────────────────────────── */
@media (max-width:1024px){
  #hb-shell{grid-template-columns:minmax(0,1fr)}
  .hb-nav{position:fixed;inset:66px auto 0 0;width:min(84vw,320px);z-index:60;box-shadow:0 22px 60px rgba(34,48,30,.3);max-height:none;height:calc(100vh - 66px);transform:translateX(-104%);transition:transform .3s cubic-bezier(.22,1,.36,1)}
  main[data-hb-nav-open="1"] .hb-nav{transform:none}
  .hb-bar__menu{display:inline-block}
  .hb-stage{padding-top:88px}
}
@media (max-width:700px){
  #handbook-hero{padding:130px 6vw 56px}
  .hb-bar{border-radius:20px;padding:10px 14px}
  .hb-bar__where{flex-basis:100%;order:9}
  .hb-topic__num{display:none}
}
@media (prefers-reduced-motion:reduce){
  .hb-blob,.hb-dot{animation:none}
  main[data-hb-view="topic"] .hb-topic[data-open]{animation:none}
}

/* ── print ──────────────────────────────────────────────────────────────────
   Printing is the point of the one-document view: it is the same paper the
   school hands out. The chrome is fixed-position and would otherwise print on
   top of the first page, so it goes; so does everything interactive. */
@media print{
  html[data-hb] .topbar,html[data-hb] .site-footer,html[data-hb] #tourCta,html[data-hb] .mf-verify-bar,
  html[data-hb] .hb-index,html[data-hb] .hb-nav,html[data-hb] .hb-bar,html[data-hb] .hb-scrollbar,
  html[data-hb] .hb-read,html[data-hb] .hb-topic__foot{display:none !important}
  html[data-hb] .hb-topic{display:block !important;break-inside:auto;page-break-inside:auto}
  html[data-hb] .hb-chapter-rule{display:block !important;break-before:page;page-break-before:always;background:none;border:0;border-bottom:3px double #000;border-radius:0;padding:0 0 10px}
  html[data-hb] .hb-doconly{display:block !important}
  html[data-hb] .hb-stage{padding:0;max-width:none}
  html[data-hb] .hb-topic__head{break-after:avoid;page-break-after:avoid}
  html[data-hb] .hb-callout,html[data-hb] .hb-tablewrap{break-inside:avoid;page-break-inside:avoid}
  html[data-hb] #hb-shell{display:block}
  html[data-hb] body{background:#fff}
}



html{scroll-behavior:smooth}
body{margin:0;background:#22301E;color:#FAF6EC;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#CBD4B2;text-decoration:none}a:hover{color:#F5C531}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 50%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}}
@media (max-width: 1150px){#navLinks{display:none !important}#letter-on-ai-sticky-cta{display:flex !important}}
.verify{display:none}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}



body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@media (max-width: 1150px){#navLinks{display:none !important}}
.verify{display:none}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}



.verify{display:none}
html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-24px) rotate(8deg)}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
  [data-pop]{animation:popIn .8s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 15% entry 55%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}}
@media (max-width: 1150px){#navLinks{display:none !important}#programs-twos-sticky-cta{display:flex !important}}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}



.verify{display:none}
html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-24px) rotate(8deg)}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
  [data-pop]{animation:popIn .8s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 15% entry 55%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}}
@media (max-width: 1150px){#navLinks{display:none !important}#programs-infant-care-sticky-cta{display:flex !important}}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}



.verify{display:none}
html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-24px) rotate(8deg)}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
  [data-pop]{animation:popIn .8s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 15% entry 55%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}}
@media (max-width: 1150px){#navLinks{display:none !important}#programs-kindergarten-first-grade-sticky-cta{display:flex !important}}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}



.verify{display:none}
html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-24px) rotate(8deg)}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
  [data-pop]{animation:popIn .8s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 15% entry 55%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}}
@media (max-width: 1150px){#navLinks{display:none !important}#programs-pre-k-sticky-cta{display:flex !important}}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}



.verify{display:none}
html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-24px) rotate(8deg)}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
  [data-pop]{animation:popIn .8s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 15% entry 55%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}}
@media (max-width: 1150px){#navLinks{display:none !important}#programs-preschool-sticky-cta{display:flex !important}}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}



.verify{display:none}
html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-24px) rotate(8deg)}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
  [data-pop]{animation:popIn .8s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 15% entry 55%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}}
@media (max-width: 1150px){#navLinks{display:none !important}#programs-toddler-care-sticky-cta{display:flex !important}}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}



.verify{display:none}
html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-24px) rotate(8deg)}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
  [data-pop]{animation:popIn .8s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 15% entry 55%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}}
@media (max-width: 1150px){#navLinks{display:none !important}#programs-sticky-cta{display:flex !important}}
@keyframes growLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@supports (animation-timeline: view()){
  #journey-line-fill{animation:growLine linear both;animation-timeline:view();animation-range:cover 14% cover 78%;transform-origin:left center}
}
@media (max-width:820px){#journey-track{grid-auto-flow:row !important;grid-template-columns:1fr !important}#journey-line,#journey-line-fill{display:none !important}}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}

/* ── Programs by age: CSS-only tabs (radio + :checked). No script, so the
   editor can save every word and the widget cannot freeze. ── */
.stg-radio{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.stg-grid{display:grid;grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr);gap:clamp(20px,3vw,44px);align-items:start}
.stg-tabs{display:grid;gap:10px;position:sticky;top:96px}
.stg-tab{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:18px 22px 18px 24px;border-radius:18px;background:#FAF6EC;color:#22301E;cursor:pointer;border:2px solid transparent;transition:transform .35s cubic-bezier(.22,1,.36,1),background .3s ease,color .3s ease,box-shadow .3s ease;user-select:none}
.stg-tab::before{content:attr(data-n);position:absolute;left:0;top:50%;transform:translate(-50%,-50%) scale(0);width:30px;height:30px;border-radius:50%;background:#F5C531;color:#22301E;font:800 12px/30px 'Bricolage Grotesque',sans-serif;text-align:center;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.stg-tab:hover{transform:translateX(6px);box-shadow:0 10px 26px rgba(34,48,30,.10)}
.stg-tab-name{grid-column:1;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(19px,1.7vw,24px);letter-spacing:-.02em;line-height:1.1}
.stg-tab-range{grid-column:1;font-weight:600;font-size:14px;opacity:.72;margin-top:3px}
.stg-tab-arrow{grid-column:2;grid-row:1/3;font-weight:800;font-size:22px;opacity:0;transform:translateX(-8px);transition:opacity .3s ease,transform .3s ease}
.stg-panels{position:relative;min-height:420px}
.stg-panel{display:none;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,4vw,52px);align-items:center;background:#FAF6EC;border-radius:28px;padding:clamp(22px,3.4vw,44px);box-shadow:0 24px 60px rgba(34,48,30,.10)}
.stg-photo{height:340px;min-width:0}
.stg-text{min-width:0}
.stg-more{display:inline-block;background:#22301E;color:#FAF6EC;padding:15px 26px;border-radius:999px;font-weight:800;font-size:16px;transition:transform .25s ease,background .25s ease,color .25s ease}
@keyframes stgIn{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}
@keyframes stgPhoto{from{opacity:0;transform:translateX(-14px) rotate(-1.5deg)}to{opacity:1;transform:none}}
#stg-infants:checked ~ .stg-grid label[for="stg-infants"]{background:#22301E;color:#FAF6EC;transform:translateX(10px);box-shadow:0 14px 34px rgba(34,48,30,.22)}
#stg-infants:checked ~ .stg-grid label[for="stg-infants"]::before{transform:translate(-50%,-50%) scale(1)}
#stg-infants:checked ~ .stg-grid label[for="stg-infants"] .stg-tab-arrow{opacity:1;transform:none}
#stg-infants:checked ~ .stg-grid label[for="stg-infants"] .stg-tab-range{opacity:.85}
#stg-infants:checked ~ .stg-grid .stg-panel[data-for="infants"]{display:grid;animation:stgIn .55s cubic-bezier(.22,1,.36,1) both}
#stg-infants:checked ~ .stg-grid .stg-panel[data-for="infants"] .stg-photo{animation:stgPhoto .7s .08s cubic-bezier(.22,1,.36,1) both}
#stg-infants:focus-visible ~ .stg-grid label[for="stg-infants"]{outline:3px solid #F5C531;outline-offset:3px}
#stg-toddlers:checked ~ .stg-grid label[for="stg-toddlers"]{background:#22301E;color:#FAF6EC;transform:translateX(10px);box-shadow:0 14px 34px rgba(34,48,30,.22)}
#stg-toddlers:checked ~ .stg-grid label[for="stg-toddlers"]::before{transform:translate(-50%,-50%) scale(1)}
#stg-toddlers:checked ~ .stg-grid label[for="stg-toddlers"] .stg-tab-arrow{opacity:1;transform:none}
#stg-toddlers:checked ~ .stg-grid label[for="stg-toddlers"] .stg-tab-range{opacity:.85}
#stg-toddlers:checked ~ .stg-grid .stg-panel[data-for="toddlers"]{display:grid;animation:stgIn .55s cubic-bezier(.22,1,.36,1) both}
#stg-toddlers:checked ~ .stg-grid .stg-panel[data-for="toddlers"] .stg-photo{animation:stgPhoto .7s .08s cubic-bezier(.22,1,.36,1) both}
#stg-toddlers:focus-visible ~ .stg-grid label[for="stg-toddlers"]{outline:3px solid #F5C531;outline-offset:3px}
#stg-twos:checked ~ .stg-grid label[for="stg-twos"]{background:#22301E;color:#FAF6EC;transform:translateX(10px);box-shadow:0 14px 34px rgba(34,48,30,.22)}
#stg-twos:checked ~ .stg-grid label[for="stg-twos"]::before{transform:translate(-50%,-50%) scale(1)}
#stg-twos:checked ~ .stg-grid label[for="stg-twos"] .stg-tab-arrow{opacity:1;transform:none}
#stg-twos:checked ~ .stg-grid label[for="stg-twos"] .stg-tab-range{opacity:.85}
#stg-twos:checked ~ .stg-grid .stg-panel[data-for="twos"]{display:grid;animation:stgIn .55s cubic-bezier(.22,1,.36,1) both}
#stg-twos:checked ~ .stg-grid .stg-panel[data-for="twos"] .stg-photo{animation:stgPhoto .7s .08s cubic-bezier(.22,1,.36,1) both}
#stg-twos:focus-visible ~ .stg-grid label[for="stg-twos"]{outline:3px solid #F5C531;outline-offset:3px}
#stg-preschool:checked ~ .stg-grid label[for="stg-preschool"]{background:#22301E;color:#FAF6EC;transform:translateX(10px);box-shadow:0 14px 34px rgba(34,48,30,.22)}
#stg-preschool:checked ~ .stg-grid label[for="stg-preschool"]::before{transform:translate(-50%,-50%) scale(1)}
#stg-preschool:checked ~ .stg-grid label[for="stg-preschool"] .stg-tab-arrow{opacity:1;transform:none}
#stg-preschool:checked ~ .stg-grid label[for="stg-preschool"] .stg-tab-range{opacity:.85}
#stg-preschool:checked ~ .stg-grid .stg-panel[data-for="preschool"]{display:grid;animation:stgIn .55s cubic-bezier(.22,1,.36,1) both}
#stg-preschool:checked ~ .stg-grid .stg-panel[data-for="preschool"] .stg-photo{animation:stgPhoto .7s .08s cubic-bezier(.22,1,.36,1) both}
#stg-preschool:focus-visible ~ .stg-grid label[for="stg-preschool"]{outline:3px solid #F5C531;outline-offset:3px}
#stg-prek:checked ~ .stg-grid label[for="stg-prek"]{background:#22301E;color:#FAF6EC;transform:translateX(10px);box-shadow:0 14px 34px rgba(34,48,30,.22)}
#stg-prek:checked ~ .stg-grid label[for="stg-prek"]::before{transform:translate(-50%,-50%) scale(1)}
#stg-prek:checked ~ .stg-grid label[for="stg-prek"] .stg-tab-arrow{opacity:1;transform:none}
#stg-prek:checked ~ .stg-grid label[for="stg-prek"] .stg-tab-range{opacity:.85}
#stg-prek:checked ~ .stg-grid .stg-panel[data-for="prek"]{display:grid;animation:stgIn .55s cubic-bezier(.22,1,.36,1) both}
#stg-prek:checked ~ .stg-grid .stg-panel[data-for="prek"] .stg-photo{animation:stgPhoto .7s .08s cubic-bezier(.22,1,.36,1) both}
#stg-prek:focus-visible ~ .stg-grid label[for="stg-prek"]{outline:3px solid #F5C531;outline-offset:3px}
#stg-elementary:checked ~ .stg-grid label[for="stg-elementary"]{background:#22301E;color:#FAF6EC;transform:translateX(10px);box-shadow:0 14px 34px rgba(34,48,30,.22)}
#stg-elementary:checked ~ .stg-grid label[for="stg-elementary"]::before{transform:translate(-50%,-50%) scale(1)}
#stg-elementary:checked ~ .stg-grid label[for="stg-elementary"] .stg-tab-arrow{opacity:1;transform:none}
#stg-elementary:checked ~ .stg-grid label[for="stg-elementary"] .stg-tab-range{opacity:.85}
#stg-elementary:checked ~ .stg-grid .stg-panel[data-for="elementary"]{display:grid;animation:stgIn .55s cubic-bezier(.22,1,.36,1) both}
#stg-elementary:checked ~ .stg-grid .stg-panel[data-for="elementary"] .stg-photo{animation:stgPhoto .7s .08s cubic-bezier(.22,1,.36,1) both}
#stg-elementary:focus-visible ~ .stg-grid label[for="stg-elementary"]{outline:3px solid #F5C531;outline-offset:3px}
#stg-summer:checked ~ .stg-grid label[for="stg-summer"]{background:#22301E;color:#FAF6EC;transform:translateX(10px);box-shadow:0 14px 34px rgba(34,48,30,.22)}
#stg-summer:checked ~ .stg-grid label[for="stg-summer"]::before{transform:translate(-50%,-50%) scale(1)}
#stg-summer:checked ~ .stg-grid label[for="stg-summer"] .stg-tab-arrow{opacity:1;transform:none}
#stg-summer:checked ~ .stg-grid label[for="stg-summer"] .stg-tab-range{opacity:.85}
#stg-summer:checked ~ .stg-grid .stg-panel[data-for="summer"]{display:grid;animation:stgIn .55s cubic-bezier(.22,1,.36,1) both}
#stg-summer:checked ~ .stg-grid .stg-panel[data-for="summer"] .stg-photo{animation:stgPhoto .7s .08s cubic-bezier(.22,1,.36,1) both}
#stg-summer:focus-visible ~ .stg-grid label[for="stg-summer"]{outline:3px solid #F5C531;outline-offset:3px}
@media (max-width:1000px){
  .stg-grid{grid-template-columns:1fr}
  .stg-tabs{position:static;display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  .stg-tab{flex:none;scroll-snap-align:start;padding:12px 18px 12px 26px;border-radius:999px;grid-template-columns:auto;grid-template-rows:auto}
  .stg-tab::before{left:12px;width:0;height:0;overflow:hidden;font-size:0}
  .stg-tab-range,.stg-tab-arrow{display:none}
  .stg-tab:hover{transform:none}
  .stg-tab.stg-tab{transform:none !important}
  .stg-panel{grid-template-columns:1fr}
  .stg-photo{height:min(46vh,340px)}
}
@media (prefers-reduced-motion: reduce){.stg-panel,.stg-photo{animation:none !important}}



.verify{display:none}
html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-24px) rotate(8deg)}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
  [data-pop]{animation:popIn .8s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 15% entry 55%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}}
@media (max-width: 1150px){#navLinks{display:none !important}#resources-sticky-cta{display:flex !important}}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}



.verify{display:none}
html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-24px) rotate(8deg)}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
  [data-pop]{animation:popIn .8s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 15% entry 55%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}}
@media (max-width: 1150px){#navLinks{display:none !important}#about-team-sticky-cta{display:flex !important}}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}



.verify{display:none}
html{scroll-behavior:smooth}
body{margin:0;background:#FAF6EC;color:#22301E;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#56663F;text-decoration:none}a:hover{color:#22301E}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(245,197,49,.7)}70%{box-shadow:0 0 0 14px rgba(245,197,49,0)}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
  [data-pop]{animation:popIn .8s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 15% entry 55%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}}
@media (max-width: 1150px){#navLinks{display:none !important}#virtual-tour-sticky-cta{display:flex !important}}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}



html{scroll-behavior:smooth}
body{margin:0;background:#22301E;color:#FAF6EC;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#CBD4B2;text-decoration:none}a:hover{color:#F5C531}
::selection{background:#F5C531;color:#22301E}
:focus-visible{outline:3px solid #F5C531;outline-offset:3px}
input,select{font-family:'Figtree',sans-serif}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-24px) rotate(8deg)}}
@supports (animation-timeline: view()){
  [data-rv]{animation:rise .9s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 10% entry 45%}
  [data-pop]{animation:popIn .8s cubic-bezier(.34,1.56,.64,1) both;animation-timeline:view();animation-range:entry 15% entry 55%}
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01s !important;animation-iteration-count:1 !important;transition:none !important}}
@media (max-width: 1150px){#navLinks{display:none !important}}
.verify{display:none}
@keyframes drawline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes scribbleGrow{0%{stroke-width:2.2}55%{stroke-width:7.5}100%{stroke-width:5}}
path.scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:drawline linear both,scribbleGrow linear both;animation-timeline:view();animation-range:entry 8% cover 46%}
@supports not (animation-timeline: view()){path.scribble{stroke-dashoffset:0;animation:none}}
@keyframes fpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.footer-pen path{fill:none;stroke-linecap:round}
.footer-pen .fp-halo{stroke:#F5C531;stroke-width:13;opacity:.26;filter:url(#fpSoft);stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
.footer-pen .scribble{stroke:#F5C531;stroke-width:5;opacity:.98;stroke-dasharray:1;stroke-dashoffset:1;animation:fpDraw linear both;animation-timeline:--footseam;animation-range:entry 6% entry 96%}
@keyframes fpFairyRun{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes fpFairyGate{0%,84%{opacity:0}96%,100%{opacity:1}}
@keyframes fpFairyBreathe{0%,100%{opacity:.28;r:5.2}50%{opacity:.5;r:6.4}}
@keyframes fpMoteRise{0%{opacity:0;transform:translate(0,0) scale(.3)}18%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,-14px)) scale(.25)}}
.footer-pen .fp-fairy{offset-path:path('M0.0 79.85 C6.0 79.25, 24.0 77.89, 36.0 76.26 C48.0 74.62, 60.0 72.15, 72.0 70.02 C84.0 67.90, 96.0 65.73, 108.0 63.49 C120.0 61.26, 132.0 58.64, 144.0 56.64 C156.0 54.63, 168.0 53.23, 180.0 51.44 C192.0 49.66, 204.0 47.28, 216.0 45.93 C228.0 44.59, 240.0 44.53, 252.0 43.35 C264.0 42.18, 276.0 40.24, 288.0 38.88 C300.0 37.53, 312.0 36.26, 324.0 35.22 C336.0 34.17, 348.0 33.46, 360.0 32.60 C372.0 31.74, 384.0 30.47, 396.0 30.06 C408.0 29.64, 420.0 29.60, 432.0 30.12 C444.0 30.64, 456.0 31.73, 468.0 33.19 C480.0 34.65, 492.0 36.44, 504.0 38.91 C516.0 41.38, 528.0 44.88, 540.0 48.03 C552.0 51.18, 564.0 54.47, 576.0 57.83 C588.0 61.18, 600.0 65.02, 612.0 68.16 C624.0 71.30, 636.0 74.53, 648.0 76.65 C660.0 78.78, 672.0 80.20, 684.0 80.90 C696.0 81.60, 708.0 81.45, 720.0 80.87 C732.0 80.28, 744.0 79.15, 756.0 77.38 C768.0 75.60, 780.0 72.58, 792.0 70.21 C804.0 67.84, 816.0 65.29, 828.0 63.16 C840.0 61.02, 852.0 59.45, 864.0 57.39 C876.0 55.34, 888.0 52.59, 900.0 50.85 C912.0 49.10, 924.0 48.29, 936.0 46.91 C948.0 45.53, 960.0 43.90, 972.0 42.59 C984.0 41.29, 996.0 40.30, 1008.0 39.09 C1020.0 37.87, 1032.0 36.28, 1044.0 35.31 C1056.0 34.35, 1068.0 34.03, 1080.0 33.30 C1092.0 32.56, 1104.0 31.46, 1116.0 30.88 C1128.0 30.30, 1140.0 29.55, 1152.0 29.81 C1164.0 30.07, 1176.0 30.96, 1188.0 32.43 C1200.0 33.89, 1212.0 35.91, 1224.0 38.58 C1236.0 41.25, 1248.0 45.30, 1260.0 48.46 C1272.0 51.62, 1284.0 54.31, 1296.0 57.54 C1308.0 60.78, 1320.0 64.69, 1332.0 67.88 C1344.0 71.07, 1356.0 74.63, 1368.0 76.68 C1380.0 78.72, 1392.0 79.53, 1404.0 80.15 C1416.0 80.76, 1434.0 80.32, 1440.0 80.35');offset-distance:0%;offset-rotate:0deg;animation:fpFairyRun 13s cubic-bezier(.45,0,.55,1) infinite alternate,fpFairyGate linear both;animation-timeline:auto,--footseam;animation-range:normal,entry 6% entry 100%;filter:url(#fpGlow)}
.footer-pen .fp-fairy-glow{animation:fpFairyBreathe 1.9s ease-in-out infinite}
.footer-pen .fp-mote{animation-name:fpMoteRise;animation-timing-function:ease-out;animation-iteration-count:infinite}
@supports not (offset-path: path('M0 0 L1 1')){.footer-pen .fp-fairy{display:none}}
@supports not (animation-timeline: view()){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
@media (prefers-reduced-motion: reduce){.footer-pen .fp-fairy{display:none}.footer-pen .fp-halo,.footer-pen .scribble{stroke-dashoffset:0;animation:none}}
