:root{--cream: #FFF6EC;--cream-2: #FBEAD7;--paper: #FFFFFF;--ink: #18293B;--ink-soft: #5B6B7B;--teal: #18B6A6;--teal-deep:#0E8E81;--blue: #3D9BE9;--coral: #FF6B5E;--sun: #FFC23C;--pink: #FF8FB1;--green: #5DCB7A;--line: #ECDFCD;--radius: 26px;--radius-sm:16px;--pill: 999px;--shadow: 0 18px 50px -22px rgba(24,41,59,.35);--shadow-sm:0 10px 26px -16px rgba(24,41,59,.4);--maxw: 1240px;--gut: clamp(20px, 5vw, 64px);--font-display: "Fredoka", system-ui, sans-serif;--font-body: "Outfit", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:auto}body{font-family:var(--font-body);background:var(--cream);color:var(--ink);line-height:1.6;font-size:17px;overflow-x:clip;-webkit-font-smoothing:antialiased}img,svg,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}ul{list-style:none}main{overflow-x:clip;width:100%;max-width:100%}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.04;letter-spacing:-.01em}.display{font-size:clamp(2.7rem,6.4vw,5.6rem);font-weight:600;letter-spacing:-.025em}.h2{font-size:clamp(2rem,4.2vw,3.5rem)}.h3{font-size:clamp(1.35rem,2.2vw,1.9rem)}.lead{font-size:clamp(1.1rem,1.6vw,1.35rem);color:var(--ink-soft)}.eyebrow{font-family:var(--font-display);font-weight:600;font-size:.92rem;letter-spacing:.02em;color:var(--teal-deep);display:inline-flex;align-items:center;gap:9px}.eyebrow:before{content:"";width:22px;height:3px;border-radius:2px;background:currentColor}.text-coral{color:var(--coral)}.text-blue{color:var(--blue)}.text-teal{color:var(--teal-deep)}.text-pink{color:var(--pink)}.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}.section{padding-block:clamp(72px,11vw,150px);position:relative}.section-tight{padding-block:clamp(48px,7vw,90px)}.center{text-align:center}.stack-sm>*+*{margin-top:14px}.stack>*+*{margin-top:22px}.btn{position:relative;display:inline-flex;align-items:center;gap:11px;padding:16px 28px;border-radius:var(--pill);font-family:var(--font-display);font-weight:600;font-size:1.02rem;background:var(--ink);color:#fff;overflow:hidden;isolation:isolate;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;box-shadow:var(--shadow-sm)}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--teal);clip-path:circle(0% at 50% 120%);transition:clip-path .45s cubic-bezier(.25,.46,.45,.94)}.btn:hover{transform:translateY(-3px)}.btn:hover:before{clip-path:circle(150% at 50% 120%)}.btn .ico{transition:transform .35s cubic-bezier(.25,.46,.45,.94)}.btn:hover .ico{transform:translate(5px) rotate(8deg)}.btn--teal{background:var(--teal)}.btn--teal:before{background:var(--ink)}.btn--coral{background:var(--coral)}.btn--coral:before{background:var(--ink)}.btn--sun{background:var(--sun);color:var(--ink)}.btn--sun:before{background:var(--ink)}.btn--sun:hover{color:#fff}.btn--ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}.btn--ghost:before{background:var(--ink)}.btn--ghost:hover{color:#fff}.btn--lg{padding:19px 34px;font-size:1.1rem}.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px var(--gut);transition:padding .3s,background .3s,box-shadow .3s}.nav.scrolled{background:#fff6ecd9;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 6px 24px -18px #18293b80;padding-block:11px}.brand{display:inline-flex;align-items:center;gap:11px;font-family:var(--font-display);font-weight:600;font-size:1.22rem}.brand .brand-mark{width:38px;height:42px;flex:none}.brand small{display:block;font-family:var(--font-body);font-weight:500;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-top:1px}.nav-links{display:flex;align-items:center;gap:6px}.nav-links a{font-family:var(--font-display);font-weight:500;font-size:1rem;padding:9px 15px;border-radius:var(--pill);transition:background .25s,color .25s}.nav-links a:hover,.nav-links a.active{background:#fff;color:var(--teal-deep);box-shadow:var(--shadow-sm)}.nav-right{display:flex;align-items:center;gap:12px}.lang-toggle{display:inline-flex;background:#fff;border-radius:var(--pill);padding:4px;box-shadow:var(--shadow-sm)}.lang-toggle button{font-family:var(--font-display);font-weight:600;font-size:.82rem;padding:6px 12px;border-radius:var(--pill);color:var(--ink-soft)}.lang-toggle button.on{background:var(--teal);color:#fff}.burger{display:none;width:46px;height:46px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);position:relative}.burger span{position:absolute;left:13px;right:13px;height:2.5px;border-radius:2px;background:var(--ink);transition:.3s}.burger span:nth-child(1){top:17px}.burger span:nth-child(2){top:22px}.burger span:nth-child(3){top:27px}body.menu-open .burger span:nth-child(1){top:22px;transform:rotate(45deg)}body.menu-open .burger span:nth-child(2){opacity:0}body.menu-open .burger span:nth-child(3){top:22px;transform:rotate(-45deg)}.menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:var(--teal);display:flex;flex-direction:column;justify-content:center;padding:var(--gut);clip-path:circle(0% at calc(100% - 44px) 44px);transition:clip-path .6s cubic-bezier(.76,0,.24,1);pointer-events:none}body.menu-open .menu{clip-path:circle(150% at calc(100% - 44px) 44px);pointer-events:auto}.menu a{font-family:var(--font-display);font-weight:600;color:#fff;font-size:clamp(2rem,9vw,3.4rem);line-height:1.2;opacity:0;transform:translateY(20px);transition:.5s}body.menu-open .menu a{opacity:1;transform:none}body.menu-open .menu a:nth-child(1){transition-delay:.15s}body.menu-open .menu a:nth-child(2){transition-delay:.22s}body.menu-open .menu a:nth-child(3){transition-delay:.29s}body.menu-open .menu a:nth-child(4){transition-delay:.36s}body.menu-open .menu a:nth-child(5){transition-delay:.43s}.menu .menu-mascot{position:absolute;bottom:4vh;right:6vw;width:130px;opacity:.9}.mascot{width:100%;height:auto;overflow:visible}.mascot-eye{transform-box:fill-box;transform-origin:center;animation:blink 5.4s infinite}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.mascot-arm{transform-box:fill-box;transform-origin:60% 90%;animation:wave 3.2s ease-in-out infinite}@keyframes wave{0%,to{transform:rotate(0)}50%{transform:rotate(-16deg)}}.mascot-sparkle{transform-box:fill-box;transform-origin:center;animation:twinkle 2.6s ease-in-out infinite}@keyframes twinkle{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.55) rotate(40deg);opacity:.5}}.float{animation:float 5s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.hero{position:relative;padding-top:clamp(130px,18vh,200px);padding-bottom:clamp(50px,8vw,100px)}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(20px,4vw,56px);align-items:center}.hero h1{max-width:14ch}.hero .lead{max-width:46ch;margin-top:22px}.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.hero-art{position:relative;display:grid;place-items:center;min-height:360px}.hero-blob{position:absolute;top:-6%;right:-2%;bottom:-6%;left:-2%;z-index:0}.hero-art .mascot{position:relative;z-index:1;width:min(78%,360px)}.hero-badges{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:34px}.hero-badge{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:.95rem}.hero-badge b{font-family:var(--font-display)}.hero-badge .dot{width:10px;height:10px;border-radius:50%}.reveal-words span{display:inline-block}.marquee{overflow:hidden;padding-block:22px;border-block:2px dashed var(--line);background:var(--cream-2)}.marquee-track{display:flex;gap:56px;width:max-content;animation:scrollx 28s linear infinite}.marquee-track span{font-family:var(--font-display);font-weight:600;font-size:clamp(1.2rem,2.4vw,2rem);display:inline-flex;align-items:center;gap:56px;color:var(--ink)}.marquee-track span:after{content:"✦";color:var(--sun)}@keyframes scrollx{to{transform:translate(-50%)}}.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;gap:18px}.bento--col2{grid-template-columns:repeat(2,1fr)}.bento--col2 .c-span2{grid-column:span 2}.card{background:#fff;border-radius:var(--radius);padding:30px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.card .card-ico{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;margin-bottom:18px}.card-ico svg{width:30px;height:30px}.pin-ico svg{width:20px;height:20px}.loc li>svg,.hero-badge svg,.li-ico svg{width:19px;height:19px;flex:none}.fab svg{width:24px;height:24px}.card h3{margin-bottom:8px}.card p{color:var(--ink-soft);font-size:.98rem}.c-span2{grid-column:span 2}.c-row2{grid-row:span 2}.card--fill{color:#fff}.card--fill p{color:#ffffffdb}.bg-teal{background:var(--teal)}.bg-blue{background:var(--blue)}.bg-coral{background:var(--coral)}.bg-sun{background:var(--sun);color:var(--ink)!important}.bg-pink{background:var(--pink)}.bg-green{background:var(--green)}.soft-teal{background:#18b6a624;color:var(--teal-deep)}.soft-blue{background:#3d9be924;color:var(--blue)}.soft-coral{background:#ff6b5e29;color:var(--coral)}.soft-sun{background:#ffc23c38;color:#b7861a}.soft-pink{background:#ff8fb133;color:#d85c84}.soft-green{background:#5dcb7a2e;color:#3a9e57}.img-card{border-radius:var(--radius);overflow:hidden;position:relative;background:var(--cream-2)}.img-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,1,.36,1)}.img-card:hover img{transform:scale(1.06)}.ph{display:grid;place-items:center;aspect-ratio:4/3;background:repeating-linear-gradient(45deg,#f3e7d6,#f3e7d6 14px,#efe0cc 14px,#efe0cc 28px);color:var(--ink-soft);font-weight:600;text-align:center;padding:20px;font-size:.9rem}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.stat{text-align:center}.stat .num{font-family:var(--font-display);font-weight:600;font-size:clamp(2.6rem,5vw,4rem);line-height:1}.stat .lbl{color:var(--ink-soft);margin-top:8px;font-size:.96rem}.pin-wrap{position:relative}.pin-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,5vw,70px);align-items:start}.pin-left{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center}.steps{display:flex;flex-direction:column;gap:clamp(40px,9vh,90px);padding-block:18vh}.step{opacity:.35;transition:opacity .4s}.step.in{opacity:1}.step .step-n{font-family:var(--font-display);font-weight:600;color:var(--teal);font-size:1rem}.step h3{margin:6px 0 10px}.step p{color:var(--ink-soft);max-width:42ch}.scrub{font-family:var(--font-display);font-weight:600;font-size:clamp(1.6rem,3.6vw,3rem);line-height:1.28;max-width:22ch;margin-inline:auto;text-align:center}.scrub .w{opacity:.16;transition:opacity .2s}.band{background:var(--cream-2)}.band-teal{background:var(--teal);color:#fff}.band-ink{background:var(--ink);color:#fff}.band-ink .lead,.band-teal .lead{color:#ffffffd1}.rounded-top{border-radius:48px 48px 0 0}.rounded-block{border-radius:48px}.quote{display:grid;grid-template-columns:200px 1fr;gap:clamp(20px,4vw,48px);align-items:center}.quote .q-photo{border-radius:var(--radius);overflow:hidden;aspect-ratio:4/5}.quote blockquote{font-family:var(--font-display);font-weight:500;font-size:clamp(1.4rem,2.8vw,2.2rem);line-height:1.28}.quote cite{display:block;margin-top:16px;font-style:normal;font-weight:600;color:var(--teal-deep);font-size:1rem}.faq{max-width:860px;margin-inline:auto}.faq-item{background:#fff;border-radius:var(--radius-sm);margin-bottom:14px;box-shadow:var(--shadow-sm);overflow:hidden}.faq-q{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 26px;font-family:var(--font-display);font-weight:500;font-size:1.12rem}.faq-q .pm{flex:none;width:30px;height:30px;border-radius:50%;background:var(--cream);display:grid;place-items:center;transition:.3s;font-size:1.3rem;line-height:1}.faq-item.open .pm{background:var(--teal);color:#fff;transform:rotate(45deg)}.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}.faq-a>div{padding:0 26px 24px;color:var(--ink-soft)}.loc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.loc{background:#fff;border-radius:var(--radius);padding:32px;box-shadow:var(--shadow-sm)}.loc h3{display:flex;align-items:center;gap:10px}.loc .pin-ico{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;flex:none}.loc ul{margin-top:16px}.loc li{display:flex;gap:12px;padding:9px 0;border-top:1px solid var(--line)}.loc li:first-child{border-top:none}.loc li b{font-family:var(--font-display)}.map-embed{border:0;width:100%;height:260px;border-radius:var(--radius-sm);margin-top:18px;filter:saturate(1.05)}.form{background:#fff;border-radius:var(--radius);padding:clamp(24px,4vw,42px);box-shadow:var(--shadow-sm)}.field{margin-bottom:16px}.field label{font-family:var(--font-display);font-weight:500;font-size:.92rem;display:block;margin-bottom:6px}.field input,.field textarea{width:100%;padding:14px 16px;border-radius:var(--radius-sm);border:2px solid var(--line);background:var(--cream);font:inherit;color:var(--ink);transition:border-color .25s}.field input:focus,.field textarea:focus{outline:none;border-color:var(--teal)}.footer{background:var(--ink);color:#fff;padding-block:clamp(60px,8vw,96px) 30px;position:relative;overflow:hidden}.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}.footer h4{font-size:1.05rem;margin-bottom:16px;color:var(--sun)}.footer a{color:#ffffffc7;display:block;padding:5px 0;transition:color .2s}.footer a:hover{color:#fff}.footer .f-brand{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-weight:600;font-size:1.4rem}.footer .f-mascot{width:46px}.footer-bottom{margin-top:48px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:.85rem;color:#fff9}.footer-bottom a{display:inline}.fab{position:fixed;right:18px;bottom:18px;z-index:80;display:none;width:60px;height:60px;border-radius:50%;background:var(--coral);color:#fff;place-items:center;box-shadow:0 14px 30px -10px #ff6b5eb3;animation:float 3s ease-in-out infinite}.page-hero{padding-top:clamp(140px,20vh,220px);padding-bottom:clamp(40px,6vw,80px);text-align:center}.page-hero h1{max-width:18ch;margin-inline:auto}.page-hero .lead{max-width:52ch;margin:18px auto 0}[data-reveal]{opacity:0;transform:translateY(34px)}.no-js [data-reveal]{opacity:1;transform:none}@media (max-width: 980px){.hero-grid{grid-template-columns:1fr}.hero-art{order:-1;min-height:280px}.hero h1,.hero .lead{max-width:none}.bento{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr);gap:30px 22px}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.pin-grid{grid-template-columns:1fr}.pin-left{position:relative;height:auto;padding-top:0}.steps{padding-block:30px}}@media (max-width: 720px){.nav-links{display:none}.burger{display:block}.lang-toggle{order:2}.loc-grid{grid-template-columns:1fr}.quote{grid-template-columns:1fr;text-align:center}.quote .q-photo{max-width:200px;margin-inline:auto}.c-span2{grid-column:span 2}.fab{display:grid}.footer-top{grid-template-columns:1fr}}@media (max-width: 480px){.bento{grid-template-columns:1fr}.c-span2,.c-row2{grid-column:auto;grid-row:auto}.stats{grid-template-columns:1fr 1fr}}.signature{position:relative;height:240vh}.signature-sticky{position:sticky;top:0;height:100vh;display:grid;place-items:center;overflow:hidden}.signature-frame{position:relative;width:76vw;height:80vh;border-radius:34px;overflow:hidden;display:grid;place-items:center;will-change:width,height,border-radius;box-shadow:var(--shadow)}.signature-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transform:scale(1.12);will-change:transform}.signature-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(130% 110% at 50% 45%,transparent 25%,rgba(12,24,36,.72));opacity:0}.signature-overlay{position:relative;z-index:2;text-align:center;color:#fff;padding:var(--gut);max-width:1100px}.signature-overlay .se{font-family:var(--font-display);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;color:#ffffffe0}.signature-overlay h2{color:#fff;font-size:clamp(2.2rem,6.5vw,5.4rem);line-height:1.04;margin-top:14px;text-shadow:0 6px 40px rgba(0,0,0,.4)}.signature-overlay .ss{margin-top:18px;font-size:clamp(1rem,1.6vw,1.3rem);color:#ffffffeb;max-width:40ch;margin-inline:auto;text-shadow:0 2px 20px rgba(0,0,0,.4)}.no-js .signature{height:auto}.no-js .signature-sticky{position:relative}.no-js .signature-frame{width:100%;height:80vh;border-radius:0}.no-js .signature-img{transform:none}.no-js .signature-scrim{opacity:.45}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:var(--cream);display:grid;place-items:center;transition:opacity .6s ease,visibility .6s}.loader.done{opacity:0;visibility:hidden}.loader-inner{text-align:center}.loader .mascot{width:120px;margin:0 auto 14px;animation:float 1.6s ease-in-out infinite}.loader-word{font-family:var(--font-display);font-weight:600;font-size:1.5rem;color:var(--ink)}.loader-track{width:160px;height:6px;border-radius:99px;background:var(--cream-2);margin:16px auto 0;overflow:hidden}.loader-track i{display:block;height:100%;width:0;background:var(--teal);border-radius:99px;animation:load 1.1s ease forwards}@keyframes load{to{width:100%}}.hero-scene{width:100%;border-radius:var(--radius);box-shadow:var(--shadow)}.hero-art .hero-scene{position:relative;z-index:1}.exp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.exp-card{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.exp-card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .8s cubic-bezier(.22,1,.36,1)}.exp-card:hover img{transform:scale(1.05)}.exp-card .cap{position:absolute;left:0;right:0;bottom:0;padding:22px;background:linear-gradient(to top,rgba(24,41,59,.78),transparent);color:#fff;font-family:var(--font-display);font-weight:600;font-size:1.15rem}.scene-round{width:100%;border-radius:var(--radius);box-shadow:var(--shadow-sm)}.mascot-portrait{display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,var(--cream-2),var(--cream));padding:8% 0}.mascot-portrait .mascot{width:60%}@media (max-width: 720px){.exp-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}[data-reveal]{opacity:1!important;transform:none!important}}
