/*
Theme Name: OT Park
Theme URI: https://otpark.com/
Author: OT Park
Description: Custom theme for OT Park pediatric therapy. Pages are built from standard WordPress blocks, so text, photos, buttons and videos can be edited in the normal editor.
Version: 1.3.1
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: otpark
*/

:root{--pink:#FA9DB7;--navy:#12265A;--yellow:#FFC85B;--sky:#45B3DF;--rust:#C8553D;
--bg:#FFFFFF;--soft:#FCF9F4;--ink:#12265A;--text:#676C77;--line:#E9E4DA;
--pink-t:#FFEDF2;--yellow-t:#FFF3D9;--sky-t:#E3F4FB;--card:#FFFFFF;--on-brand:#12265A;--foot:#12265A;--foot-text:#D5DCEE;
--r:28px;--wrap:1180px;--head:'Nunito',system-ui,-apple-system,'Segoe UI',sans-serif;--body:'Mulish','Nunito',system-ui,-apple-system,'Segoe UI',sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:17px;line-height:1.65}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--head);color:var(--ink);font-weight:900;line-height:1.12;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.2rem,5vw,3.9rem)}h2{font-size:clamp(1.75rem,3.4vw,2.6rem)}h3{font-size:1.35rem;line-height:1.2}h4{font-size:1.1rem}
p{margin:0 0 1em}a{color:var(--ink);text-underline-offset:3px}a:hover{color:var(--rust)}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.skip{position:absolute;left:-999px;top:8px;background:var(--navy);color:#fff;padding:10px 16px;border-radius:10px;z-index:99}.skip:focus{left:8px}
.lead{font-size:1.2rem;line-height:1.55}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;background:var(--pink);color:var(--on-brand);font-family:var(--head);font-weight:900;font-size:1.05rem;text-decoration:none;border:0;box-shadow:0 5px 0 var(--navy);transition:transform .12s,box-shadow .12s;cursor:pointer}
.btn:hover{color:var(--on-brand);transform:translateY(2px);box-shadow:0 3px 0 var(--navy)}
.btn.alt{background:var(--card);color:var(--ink);box-shadow:0 5px 0 var(--navy);border:2px solid var(--ink)}
.btn.navy{background:var(--navy);color:#fff;box-shadow:0 5px 0 var(--pink)}.btn.navy:hover{color:#fff;box-shadow:0 3px 0 var(--pink)}
.btn.yellow{background:var(--yellow)}
.btns{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.btn.alt:hover{color:var(--ink)}
.more{font-family:var(--head);font-weight:900;display:inline-block;padding:8px 0}
/* header */
.topbar{background:var(--navy);color:#fff;font-size:.9rem}
.topbar .wrap{display:flex;flex-wrap:wrap;gap:4px 22px;justify-content:space-between;padding-top:7px;padding-bottom:7px}
.topbar a{color:#fff;text-decoration:none;font-weight:700}.topbar a:hover{color:var(--yellow)}
.hdr{background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:8px;padding-bottom:8px}
.logo img{width:74px;height:auto}
.nav ul{list-style:none;margin:0;padding:0}
.nav>ul{display:flex;align-items:center;gap:4px}
.nav a{display:block;padding:12px 13px;font-family:var(--head);font-weight:800;text-decoration:none;color:var(--ink);border-radius:12px}
.nav a:hover,.nav a[aria-current=page]{background:var(--pink-t);color:var(--ink)}
.nav li{position:relative}
.nav .sub,.nav .sub-menu{position:absolute;left:0;top:100%;min-width:270px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:8px;box-shadow:0 18px 40px rgba(18,38,90,.14);display:none}
.nav li:hover>.sub-menu,.nav li:focus-within>.sub-menu{display:block}
.nav .sub-menu a{font-weight:700;padding:10px 12px}
.hdr .btn{min-height:46px;padding:0 20px;font-size:.98rem;white-space:nowrap}
.burger{display:none;width:48px;height:48px;border-radius:14px;border:2px solid var(--ink);background:var(--card);color:var(--ink);cursor:pointer;align-items:center;justify-content:center}
@media(max-width:1060px){.burger{display:inline-flex}.nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);max-height:calc(100vh - 90px);overflow:auto;padding:10px 22px 22px}
.nav.open{display:block}.nav>ul{display:block}.nav .sub,.nav .sub-menu{position:static;display:block;border:0;box-shadow:none;padding:0 0 6px 14px;min-width:0;background:transparent}.hdr .btn{display:none}.hdr .wrap{position:relative}.topbar .hide-s{display:none}}
/* hero */
.hero{background:var(--sky-t);position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-top:64px;padding-bottom:150px;position:relative;z-index:2}
.hero h1{margin-bottom:.35em}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0;padding:0;font-weight:700;font-size:.95rem;color:var(--ink)}
.chips li{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:7px 15px}
.blobs{position:relative;padding:26px}
.blobs:before,.blobs:after,.blobs i{content:"";position:absolute;border-radius:50%;z-index:0}
.blobs:before{width:58%;aspect-ratio:1;background:var(--sky);top:-4%;left:22%}
.blobs:after{width:52%;aspect-ratio:1;background:var(--yellow);bottom:-6%;left:-6%}
.blobs i{width:50%;aspect-ratio:1;background:var(--pink);bottom:-8%;right:-6%}
.blobs img{position:relative;z-index:1;border-radius:36px;border:7px solid #fff;box-shadow:0 22px 50px rgba(18,38,90,.22);width:100%;aspect-ratio:4/3;object-fit:cover}
.blobs img.port{aspect-ratio:1;object-position:50% 15%}
.wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:70px;display:block;color:var(--bg)}
.phero{background:var(--sky-t);position:relative;overflow:hidden;padding:44px 0 130px}
.phero .wrap{position:relative;z-index:1}.phero h1{max-width:18ch;font-size:clamp(2rem,4.4vw,3.3rem)}.phero .lead{max-width:60ch}
.crumbs{font-size:.92rem;font-weight:700;margin-bottom:18px}.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}.crumbs li+li:before{content:"/";margin-right:6px;color:var(--text)}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr;padding-top:40px;padding-bottom:130px}}
/* sections */
.sec{padding:84px 0;overflow-x:clip}.sec.soft{background:var(--soft)}.sec.navy{background:var(--navy)}.sec.navy h2,.sec.navy h3{color:#fff}.sec.navy p{color:var(--foot-text)}.sec.navy .card h3{color:var(--ink)}.sec.navy .card p{color:var(--text)}
.sec.tight{padding:56px 0}
.intro{max-width:62ch;margin-bottom:38px}
.grid{display:grid;gap:24px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:980px){.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}.sec{padding:60px 0}}
.card{background:var(--card);border-radius:var(--r);padding:30px;display:flex;flex-direction:column;border:1px solid var(--line)}
.card h3{margin-bottom:.4em}.card h3 a{color:inherit;text-decoration:none}.card h3 a:hover{text-decoration:underline}.card p:last-of-type{margin-bottom:.4em}.card .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.btn.alt:hover{color:var(--ink)}
.more{margin-top:auto}
.card.pink{background:var(--pink-t);border-color:transparent}.card.yellow{background:var(--yellow-t);border-color:transparent}.card.sky{background:var(--sky-t);border-color:transparent}
.ico{width:60px;height:60px;border-radius:58% 42% 55% 45%/48% 56% 44% 52%;border:3px solid var(--navy);display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--navy)}
.ico.pink{background:var(--pink)}.ico.yellow{background:var(--yellow)}.ico.sky{background:var(--sky)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.split.top{align-items:start}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:32px}}
.photo{border-radius:36px;width:100%;object-fit:cover;aspect-ratio:4/3}
.photo.tall{aspect-ratio:3/4}.photo.sq{aspect-ratio:1}
.pstack{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pstack img:first-of-type{grid-column:1/-1}
.ticks{list-style:none;margin:0 0 1em;padding:0;display:grid;gap:12px}
.ticks li{position:relative;padding-left:34px;color:var(--ink);font-weight:600}
.ticks li:before{content:"";position:absolute;left:0;top:.28em;width:20px;height:20px;border-radius:50%;background:var(--yellow);border:3px solid var(--navy)}
.ticks li:nth-child(3n+2):before{background:var(--pink)}.ticks li:nth-child(3n):before{background:var(--sky)}
.ticks.cols2{display:block}.cols2{columns:2;column-gap:40px}.cols2 li{break-inside:avoid;margin-bottom:12px}@media(max-width:640px){.cols2{columns:1}}
.steps{list-style:none;margin:0;padding:0;counter-reset:s}
.steps li{counter-increment:s;background:var(--card);border:2px dashed var(--ink);border-radius:var(--r);padding:30px}
.steps li:before{content:counter(s);display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px;width:52px;height:64px;border:4px solid var(--navy);border-radius:50% 50% 50% 50%/62% 62% 38% 38%;transform:rotate(-6deg);background:var(--yellow);font-family:var(--head);font-weight:900;font-size:1.5rem;color:var(--navy);margin-bottom:14px}
.steps li:nth-child(2):before{background:var(--pink)}.steps li:nth-child(3):before{background:var(--sky)}
.pills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.pills li{background:#fff;color:var(--navy);border-radius:999px;padding:10px 20px;font-family:var(--head);font-weight:800}
.pills li:nth-child(3n+1){background:var(--yellow)}.pills li:nth-child(3n+2){background:var(--pink)}
.quote{background:var(--card);border-radius:var(--r);padding:30px;margin:0;border:1px solid var(--line);display:flex;flex-direction:column}
.quote blockquote{margin:0 0 18px;color:var(--ink);font-size:1.02rem}
.quote figcaption{margin-top:auto;font-family:var(--head);font-weight:900;color:var(--ink)}.quote figcaption span{display:block;font-family:var(--body);font-weight:600;color:var(--text);font-size:.92rem}
.quote.big blockquote{font-family:var(--head);font-weight:800;font-size:1.4rem;line-height:1.35}
.stars{color:var(--rust);letter-spacing:3px;margin-bottom:10px;font-size:1.05rem}
.faq details{background:var(--card);border:2px solid var(--ink);border-radius:22px;padding:6px 24px;margin-bottom:14px}
.faq summary{font-family:var(--head);font-weight:900;color:var(--ink);font-size:1.15rem;padding:14px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:1.6rem;line-height:1;flex:none}.faq details[open] summary:after{content:"–"}
.faq details p{margin:0 0 16px}
.cta{background:var(--pink);position:relative;overflow:hidden}
.cta:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:var(--yellow);left:-80px;bottom:-130px}
.cta:after{content:"";position:absolute;width:200px;height:200px;border-radius:50%;background:var(--sky);right:-60px;top:-90px}
.cta .wrap{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:space-between;padding-top:64px;padding-bottom:64px}
.cta h2{margin:0 0 .25em;color:var(--navy)}.cta p{color:var(--navy);font-weight:600;margin:0;max-width:52ch}
.cta .btn{background:var(--navy);color:#fff;box-shadow:0 5px 0 #fff}.cta .btn.alt{background:#fff;color:var(--navy);border:0;box-shadow:0 5px 0 var(--navy)}
.timeline{list-style:none;margin:0;padding:0;display:grid;gap:18px;border-left:4px dashed var(--pink);padding-left:28px}
.timeline li{position:relative}.timeline li:before{content:"";position:absolute;left:-41px;top:6px;width:20px;height:20px;border-radius:50%;background:var(--yellow);border:4px solid var(--navy)}
.timeline b{font-family:var(--head);font-weight:900;color:var(--ink);font-size:1.2rem;display:block}
.person{text-align:left;text-decoration:none;display:flex;flex-direction:column}
.person img{border-radius:32px;aspect-ratio:1;object-fit:cover;width:100%;margin-bottom:14px;background:var(--sky-t)}
.person h3{margin:0 0 .15em;font-size:1.2rem}.person p{margin:0;font-weight:700;font-size:.95rem;color:var(--text)}
.flyers img{border-radius:22px;border:1px solid var(--line);width:100%}
.gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.gal img{border-radius:22px;aspect-ratio:1;object-fit:cover;width:100%}
@media(max-width:800px){.gal{grid-template-columns:repeat(2,minmax(0,1fr))}}
.info{display:grid;gap:18px}.info div{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px 24px}.info h3{margin-bottom:.3em}
.info p{margin:0}.hours{width:100%;border-collapse:collapse}.hours td{padding:5px 0}.hours td:last-child{text-align:right;color:var(--ink);font-weight:700}
.embed{border:0;width:100%;border-radius:22px;background:var(--card)}
.post-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;text-decoration:none}
.post-card img{aspect-ratio:16/10;object-fit:cover;width:100%}.post-card .ph{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center}
.post-card:nth-child(3n+1) .ph{background:var(--pink-t)}.post-card:nth-child(3n+2) .ph{background:var(--yellow-t)}.post-card:nth-child(3n) .ph{background:var(--sky-t)}
.post-card div.b{padding:22px 24px 26px}.post-card h3{font-size:1.2rem;margin-bottom:.35em}.post-card p{margin:0;font-size:.95rem}.post-card time{font-size:.85rem;font-weight:700;display:block;margin-bottom:6px;color:var(--text)}
.article{max-width:760px;margin:0 auto}.article h2{font-size:1.7rem;margin-top:1.5em}.article h3{margin-top:1.4em}.article img{border-radius:22px;margin:1.4em auto}
.article ul,.article ol{padding-left:1.3em;margin:0 0 1em}.article li{margin-bottom:.4em}.article blockquote{border-left:5px solid var(--pink);margin:1.2em 0;padding:.2em 0 .2em 1.1em;color:var(--ink);font-weight:600}
.article table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.article td,.article th{border:1px solid var(--line);padding:8px 10px;text-align:left}
.article a{font-weight:700}
.meta{font-weight:700;font-size:.95rem}
.role{border:1px solid var(--line);border-radius:22px;padding:8px 24px;margin-bottom:14px;background:var(--card)}.role summary{font-family:var(--head);font-weight:900;color:var(--ink);font-size:1.2rem;padding:14px 0;cursor:pointer}
.tag{display:inline-block;background:var(--yellow);color:var(--navy);font-family:var(--head);font-weight:900;border-radius:999px;padding:4px 14px;font-size:.9rem;margin-bottom:12px}
.center{text-align:center}.center .intro{margin-left:auto;margin-right:auto}
.cred{max-width:230px;border-radius:18px}
/* footer */
.ftr{background:var(--foot);color:var(--foot-text);padding:64px 0 28px;font-size:.98rem}
.ftr h2{color:#fff;font-size:1.15rem;margin-bottom:.8em}.ftr a{color:var(--foot-text);text-decoration:none;display:inline-block;padding:5px 0}.ftr a:hover{color:var(--yellow)}
.ftr .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px}.ftr ul{list-style:none;margin:0;padding:0}
.ftr .logo-f{width:110px;background:#fff;border-radius:24px;padding:10px;margin-bottom:16px}
.ftr .hours td:last-child{color:#fff}
.ftr .base{border-top:1px solid rgba(255,255,255,.18);margin-top:40px;padding-top:22px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:.9rem}
@media(max-width:900px){.ftr .cols{grid-template-columns:1fr 1fr}}@media(max-width:560px){.ftr .cols{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* dino theme */
.edge{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:110px;display:block;color:var(--bg);z-index:1}
.cloud{position:absolute;width:150px;z-index:0;opacity:.95;animation:drift 9s ease-in-out infinite alternate}
.cloud.c1{top:26px;left:3%}.cloud.c2{top:150px;left:44%;width:110px;animation-duration:12s}.cloud.c3{top:18px;right:4%;width:190px;animation-duration:14s}
.phero .cloud.c2{top:auto;bottom:120px;left:auto;right:26%}
.dino{display:block;height:auto}
.blobs .dino{position:absolute;z-index:2;width:40%;left:-10%;bottom:-12%}
.dino-peek{position:absolute;right:9%;bottom:66px;width:170px;height:auto;z-index:0}
.dino .d-arm{transform-origin:156px 130px;animation:wave 1.800s ease-in-out infinite}
.dino .d-eye{transform-origin:178px 56px;animation:blink 4.500s infinite}
.dino:hover{animation:hop .5s ease}
@keyframes drift{from{transform:translateX(0)}to{transform:translateX(26px)}}
@keyframes wave{0%,100%{transform:rotate(0)}50%{transform:rotate(-16deg)}}
@keyframes blink{0%,94%,100%{transform:scaleY(1)}97%{transform:scaleY(.1)}}
@keyframes hop{0%,100%{transform:translateY(0)}45%{transform:translateY(-14px)}}
.tracks{display:flex;gap:22px;margin:0 0 22px}.tracks .foot{width:24px;height:auto;flex:none}
.tracks .foot:nth-child(odd){transform:translateY(-7px) rotate(-14deg)}.tracks .foot:nth-child(even){transform:translateY(7px) rotate(14deg)}
.tracks .foot:nth-child(n+5){opacity:.55}.tracks .foot:nth-child(n+7){opacity:.3}
.center .tracks{justify-content:center}
.sec.navy{position:relative;overflow:hidden}.sec.navy .wrap{position:relative;z-index:1}
.star{position:absolute;width:34px;height:auto;animation:twinkle 3s ease-in-out infinite}
.star.s1{top:34px;left:5%}.star.s2{top:60%;left:46%;width:22px;animation-delay:1s}.star.s3{bottom:30px;right:6%;width:28px;animation-delay:2s}.star.s4{top:28px;right:30%;width:18px;animation-delay:.5s}
@keyframes twinkle{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.250) rotate(12deg)}}
.intro h2:after,.cta h2:after{content:"";display:block;width:96px;height:12px;margin-top:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 12'%3E%3Cpath d='M2 8c8-8 15-8 23 0s15 8 23 0 15-8 23 0 15 8 23 0' fill='none' stroke='%23FA9DB7' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat}
.cta h2:after{filter:brightness(0) invert(1)}
.card{transition:transform .18s ease,box-shadow .18s ease}
.card:hover{transform:translateY(-5px) rotate(-.6deg);box-shadow:0 14px 0 -6px var(--yellow)}
.card.yellow:hover{box-shadow:0 14px 0 -6px var(--pink)}
.person img,.post-card{transition:transform .18s ease}.person:hover img{transform:rotate(-2deg) scale(1.020)}.post-card:hover{transform:translateY(-5px)}
.photo,.gal img{border:5px solid #fff;box-shadow:0 10px 0 -2px var(--yellow),0 18px 34px rgba(18,38,90,.14)}
.gal img:nth-child(even),.pstack .photo:nth-child(2){box-shadow:0 10px 0 -2px var(--pink),0 18px 34px rgba(18,38,90,.14)}
.gal img:nth-child(3n),.pstack .photo:nth-child(3){box-shadow:0 10px 0 -2px var(--sky),0 18px 34px rgba(18,38,90,.14)}
.cta .dino{width:132px;flex:none;margin:-10px 0 -30px}
.cta .txt{flex:1 1 320px}
.post-card .ph .dino{width:46%}
.nf{display:flex;flex-wrap:wrap;gap:40px;align-items:center}.nf .dino{width:min(300px,70vw)}
@media(max-width:900px){.phero{padding-bottom:200px}.dino-peek{width:120px;right:5%}.cta .dino{display:none}.cloud.c2{display:none}.blobs .dino{width:34%;left:-4%}}
@media(prefers-reduced-motion:reduce){.cloud,.star,.dino .d-arm,.dino .d-eye,.dino:hover{animation:none}.card,.card:hover,.person img,.post-card{transition:none;transform:none}}

/* more dinos + motion */
.blobs:before{animation:floaty 7s ease-in-out infinite}.blobs:after{animation:floaty 9s ease-in-out infinite reverse}.blobs i{animation:floaty 8s ease-in-out -3s infinite}
@keyframes floaty{0%,100%{transform:translate(0,0)}50%{transform:translate(8px,-12px)}}
.blobs .dino{animation:rock 3.200s ease-in-out infinite;transform-origin:50% 100%}
@keyframes rock{0%,100%{transform:rotate(-2.500deg)}50%{transform:rotate(2.500deg) translateY(-4px)}}
.dino-peek{animation:peek 6s ease-in-out infinite}
@keyframes peek{0%,18%{transform:translateY(74px)}30%,78%{transform:translateY(0)}84%{transform:translateY(0) rotate(-6deg)}90%{transform:translateY(0) rotate(4deg)}100%{transform:translateY(74px)}}
.ptero{position:absolute;width:104px;height:auto;top:70px;left:-140px;z-index:1;animation:fly 24s linear infinite}
.ptero .wing{transform-origin:86px 60px;animation:flap .6s ease-in-out infinite alternate}.ptero .w2{animation-delay:-.3s}
@keyframes flap{from{transform:scaleY(1)}to{transform:scaleY(-.55)}}
@keyframes fly{0%{transform:translate(0,0)}25%{transform:translate(35vw,-26px)}50%{transform:translate(70vw,14px)}75%{transform:translate(105vw,-18px)}100%{transform:translate(125vw,0)}}
.phero .ptero{top:40px;width:84px;animation-duration:30s;animation-delay:-9s}
.tracks .foot{animation:step 3.200s ease-in-out infinite}
.tracks .foot:nth-child(2){animation-delay:.3s}.tracks .foot:nth-child(3){animation-delay:.6s}.tracks .foot:nth-child(4){animation-delay:.9s}.tracks .foot:nth-child(5){animation-delay:1.200s}.tracks .foot:nth-child(6){animation-delay:1.500s}.tracks .foot:nth-child(7){animation-delay:1.800s}
@keyframes step{0%,100%{opacity:.25;scale:.85}18%,60%{opacity:1;scale:1}}
.steps li:before{animation:wobble 2.600s ease-in-out infinite}.steps li:nth-child(2):before{animation-delay:-.8s}.steps li:nth-child(3):before{animation-delay:-1.600s}
@keyframes wobble{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
.hatch{display:block;height:auto}.hatch .h-head{transform-origin:76px 120px;animation:hatchpop 4s ease-in-out infinite}
@keyframes hatchpop{0%,12%{transform:translateY(34px)}26%,70%{transform:translateY(0)}78%{transform:translateY(0) rotate(-5deg)}86%{transform:translateY(0) rotate(5deg)}100%{transform:translateY(34px)}}
.side-dino{position:relative}.side-dino>.bronto{position:absolute;width:190px;right:-34px;bottom:-58px;z-index:2;animation:nod 4s ease-in-out infinite;transform-origin:40% 100%}
@keyframes nod{0%,100%{transform:rotate(0)}50%{transform:rotate(-4deg)}}
.with-hatch{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap}.with-hatch .hatch{width:104px;flex:none;margin-bottom:6px}
.parade{position:relative;height:96px;margin:-30px 0 26px;overflow:hidden;border-bottom:4px dotted rgba(255,255,255,.35)}
.parade .walker{position:absolute;bottom:0;left:0;animation:walk 34s linear infinite}
.parade .walker .dino{animation:trot .5s ease-in-out infinite alternate;transform-origin:50% 100%}
.parade .w-a{width:84px}.parade .w-b{width:104px;animation-duration:44s;animation-delay:-16s}.parade .w-c{width:58px;animation-duration:27s;animation-delay:-9s}
@keyframes walk{from{transform:translateX(-140px)}to{transform:translateX(100vw)}}
@keyframes trot{from{transform:rotate(-3deg) translateY(0)}to{transform:rotate(3deg) translateY(-5px)}}
.btn:hover{animation:wiggle .4s ease}
@keyframes wiggle{0%,100%{rotate:0deg}30%{rotate:-3deg}65%{rotate:3deg}}
.logo img{transition:transform .25s ease}.logo:hover img{transform:rotate(-8deg) scale(1.060)}
.ico{transition:transform .25s ease}.card:hover .ico{transform:rotate(12deg) scale(1.100)}
.pills li{transition:transform .18s ease}.pills li:hover{transform:translateY(-3px) rotate(-2deg)}
.js .rv{opacity:0;transform:translateY(26px)}
.js .rv.in{opacity:1;transform:none;transition:opacity .55s ease,transform .55s cubic-bezier(.2,.9,.3,1.3)}
.js .grid>.rv.in:nth-child(2),.js .steps>.rv.in:nth-child(2){transition-delay:.08s}.js .grid>.rv.in:nth-child(3),.js .steps>.rv.in:nth-child(3){transition-delay:.16s}.js .grid>.rv.in:nth-child(4){transition-delay:.24s}
.js .card.rv.in:hover{transition:transform .18s ease,box-shadow .18s ease;transition-delay:0s}
@media(max-width:900px){.side-dino>.bronto{width:110px;right:-6px;bottom:-56px}.ptero{width:70px;top:22px}.with-hatch .hatch{width:76px}}
@media(prefers-reduced-motion:reduce){.blobs:before,.blobs:after,.blobs i,.blobs .dino,.dino-peek,.ptero,.ptero .wing,.tracks .foot,.steps li:before,.hatch .h-head,.side-dino>.bronto,.parade .walker,.parade .walker .dino,.btn:hover{animation:none}.ptero{display:none}.tracks .foot{opacity:1}.parade .w-a{left:8%}.parade .w-b{left:44%}.parade .w-c{left:78%}.js .rv{opacity:1;transform:none}}

.g-sum{font-family:var(--head);font-weight:900;color:var(--ink);font-size:1.15rem;margin:0 0 20px}
.g-btns{margin-top:28px}
.quote .g-who{display:flex;align-items:center;gap:12px;margin-top:auto}.quote .g-who img{width:44px;height:44px;border-radius:50%;flex:none}
.quote .g-who a{font-family:var(--head);font-weight:900}.quote .g-who span{display:block;font-family:var(--body);font-weight:600;color:var(--text);font-size:.88rem}

.vid{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:#12265A;border-radius:28px;border:5px solid #fff;box-shadow:0 10px 0 -2px var(--pink),0 18px 34px rgba(18,38,90,.16)}
.vidwrap,.vcard{margin:0}
a.yt{position:relative;overflow:hidden;padding:0}a.yt img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}a.yt:hover img{transform:scale(1.040)}
a.yt .play{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;background:var(--pink);border:4px solid var(--navy);box-shadow:0 5px 0 var(--navy);transition:transform .15s ease}
a.yt .play:after{content:"";position:absolute;left:31px;top:22px;border-style:solid;border-width:16px 0 16px 26px;border-color:transparent transparent transparent var(--navy)}
a.yt:hover .play{transform:scale(1.100)}
iframe.vid{border:5px solid #fff}.vnote{font-size:.88rem;font-weight:700;margin-top:10px;color:var(--text)}
.vcard figcaption{margin-top:14px}.vcard b{font-family:var(--head);font-weight:900;color:var(--ink);font-size:1.15rem;display:block}.vcard span{font-size:.95rem}

/* ================= WordPress block adaptations ================= */
.admin-bar .hdr{top:32px}@media(max-width:782px){.admin-bar .hdr{top:46px}}
.wp-block-image{margin:0}.wp-block-image img{display:block;max-width:100%;height:auto}
.wp-block-group{box-sizing:border-box}
.split>*,.grid>*{min-width:0}
main>p:empty{display:none}
/* photos: the class sits on the figure, the picture inside fills it */
figure.photo{display:block;overflow:hidden}
figure.photo img{width:100%;height:100%;object-fit:cover;border-radius:0}
figure.cred{max-width:230px}figure.cred img{border-radius:18px}
.blobs>figure{position:static}
.blobs>figure::before{content:"";position:absolute;width:50%;aspect-ratio:1;border-radius:50%;background:var(--pink);bottom:-8%;right:-6%;z-index:0;animation:floaty 8s ease-in-out -3s infinite}
.blobs .port img{aspect-ratio:1;object-position:50% 15%}
.pstack>figure:first-of-type{grid-column:1/-1}
.gal figure:nth-child(even) img{box-shadow:0 10px 0 -2px var(--pink),0 18px 34px rgba(18,38,90,.14)}
.gal figure:nth-child(3n) img{box-shadow:0 10px 0 -2px var(--sky),0 18px 34px rgba(18,38,90,.14)}
.person h3 a{text-decoration:none}.person figure a{display:block}
/* buttons */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px}
.wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;background:var(--pink);color:var(--on-brand);font-family:var(--head);font-weight:900;font-size:1.05rem;text-decoration:none;border:0;box-shadow:0 5px 0 var(--navy);transition:transform .12s,box-shadow .12s}
.wp-block-button .wp-block-button__link:hover{color:var(--on-brand);transform:translateY(2px);box-shadow:0 3px 0 var(--navy);animation:wiggle .4s ease}
.wp-block-button.alt .wp-block-button__link{background:var(--card);color:var(--ink);border:2px solid var(--ink)}
.wp-block-button.navy .wp-block-button__link{background:var(--navy);color:#fff;box-shadow:0 5px 0 var(--pink)}
.wp-block-button.yellow .wp-block-button__link{background:var(--yellow)}
.cta .wp-block-button .wp-block-button__link{background:var(--navy);color:#fff;box-shadow:0 5px 0 #fff}
.cta .wp-block-button.alt .wp-block-button__link{background:#fff;color:var(--navy);border:0;box-shadow:0 5px 0 var(--navy)}
.cta .wp-block-buttons{margin-top:0}
p.more{display:block;margin:auto 0 0;padding:0}p.more a{font-family:var(--head);font-weight:900;display:inline-block;padding:8px 0}
.card p.tag{align-self:flex-start;margin:0 0 12px}
.addr{margin:0}
/* quotes */
blockquote.quote{quotes:none}
.quote::before{content:"★★★★★";color:var(--rust);letter-spacing:3px;margin-bottom:10px;font-size:1.05rem}
.quote[data-stars="4"]::before{content:"★★★★"}
.quote>p{margin:0 0 18px;color:var(--ink);font-size:1.02rem}
.quote.big>p{font-family:var(--head);font-weight:800;font-size:1.4rem;line-height:1.35}
.quote cite{margin-top:auto;font-style:normal;font-family:var(--head);font-weight:900;color:var(--ink);display:block}
.quote cite em{display:block;font-style:normal;font-family:var(--body);font-weight:600;color:var(--text);font-size:.92rem}
.quote cite a{color:var(--ink)}
/* steps */
.steps>.step{counter-increment:s;background:var(--card);border:2px dashed var(--ink);border-radius:var(--r);padding:30px}
.steps>.step::before{content:counter(s);display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px;width:52px;height:64px;border:4px solid var(--navy);border-radius:50% 50% 50% 50%/62% 62% 38% 38%;background:var(--yellow);font-family:var(--head);font-weight:900;font-size:1.5rem;color:var(--navy);margin-bottom:14px;animation:wobble 2.600s ease-in-out infinite}
.steps>.step:nth-child(2)::before{background:var(--pink);animation-delay:-.8s}.steps>.step:nth-child(3)::before{background:var(--sky);animation-delay:-1.600s}
.timeline strong{font-family:var(--head);font-weight:900;color:var(--ink);font-size:1.2rem;display:block}
.cap{margin-top:14px}.cap strong{font-family:var(--head);font-weight:900;color:var(--ink);font-size:1.15rem}
/* icons and decorations drawn by the theme */
.card[class*="ico-"]::before{content:"";display:block;flex:none;width:60px;height:60px;margin-bottom:16px;border:3px solid var(--navy);border-radius:58% 42% 55% 45%/48% 56% 44% 52%;background-color:var(--sky);background-repeat:no-repeat;background-position:center;background-size:28px;transition:transform .25s ease}
.card.yellow[class*="ico-"]::before{background-color:var(--yellow)}.card.pink[class*="ico-"]::before{background-color:var(--pink)}
.card[class*="ico-"]:hover::before{transform:rotate(12deg) scale(1.100)}
.ico-swing::before{background-image:url(assets/img/ico-swing.svg)}
.ico-group::before{background-image:url(assets/img/ico-group.svg)}
.ico-chat::before{background-image:url(assets/img/ico-chat.svg)}
.ico-doc::before{background-image:url(assets/img/ico-doc.svg)}
.ico-heart::before{background-image:url(assets/img/ico-heart.svg)}
.ico-screen::before{background-image:url(assets/img/ico-screen.svg)}
.ico-spoon::before{background-image:url(assets/img/ico-spoon.svg)}
.ico-video::before{background-image:url(assets/img/ico-video.svg)}
.ico-star::before{background-image:url(assets/img/ico-star.svg)}

.has-tracks::before{content:"";display:block;height:42px;margin:0 0 18px;background:url(assets/img/deco-tracks.svg) left center/auto 100% no-repeat}
.with-hatch::after{content:"";flex:none;width:104px;height:112px;margin-bottom:6px;background:url(assets/img/deco-hatch.svg) center/contain no-repeat;animation:wobble 3.200s ease-in-out infinite}
@media(max-width:900px){.with-hatch::after{width:76px;height:82px}}
/* video embeds */
.wp-block-embed{margin:0}
.wp-block-embed__wrapper{border-radius:28px;overflow:hidden;border:5px solid #fff;box-shadow:0 10px 0 -2px var(--pink),0 18px 34px rgba(18,38,90,.16);background:#12265A}
.wp-block-embed iframe{display:block;width:100%}
.embed-box iframe{border:0;width:100%;border-radius:22px;background:var(--card);display:block}
/* latest posts block as cards */
ul.wp-block-latest-posts.is-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:0}
ul.wp-block-latest-posts.is-grid li{width:auto;margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;padding-bottom:22px;transition:transform .18s ease}
ul.wp-block-latest-posts.is-grid li:hover{transform:translateY(-5px)}
.wp-block-latest-posts__featured-image{margin:0}.wp-block-latest-posts__featured-image img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block;max-width:none}
a.wp-block-latest-posts__post-title{display:block;font-family:var(--head);font-weight:900;font-size:1.2rem;line-height:1.2;color:var(--ink);text-decoration:none;padding:18px 24px 0}
.wp-block-latest-posts__post-date{display:block;padding:6px 24px 0;font-size:.85rem;font-weight:700;color:var(--text)}
.wp-block-latest-posts__post-excerpt{padding:8px 24px 0;font-size:.95rem;margin:0}
@media(max-width:980px){ul.wp-block-latest-posts.is-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){ul.wp-block-latest-posts.is-grid{grid-template-columns:1fr}}
/* blog templates */
.post-card .ph img{width:46%;height:auto;aspect-ratio:auto}
.pager{display:flex;gap:14px;justify-content:center;margin-top:36px;flex-wrap:wrap}.pager a,.pager span{display:inline-flex;min-width:46px;min-height:46px;align-items:center;justify-content:center;border-radius:999px;border:2px solid var(--ink);font-family:var(--head);font-weight:900;text-decoration:none;padding:0 14px}.pager .current{background:var(--pink);color:var(--navy)}
.article .wp-block-image{margin:1.4em 0}.article figure img{border-radius:22px}
@media(prefers-reduced-motion:reduce){.steps>.step::before,.with-hatch::after,.blobs>figure::before{animation:none}}
.sec .blobs .dino{display:none}
.chips .g-chip{background:var(--yellow);border-color:var(--navy)}.chips .g-chip a{text-decoration:none;color:var(--navy)}
.article .elementor-widget-share-buttons,.article .elementor-share-buttons{display:none}
.pills li a{color:inherit;text-decoration:none}.pills li a:hover{text-decoration:underline}
.ot-form{background:var(--card);border:2px solid var(--ink);border-radius:var(--r);padding:28px;max-width:560px}
.ot-form p{margin:0 0 16px}.ot-form label{display:block;font-family:var(--head);font-weight:800;color:var(--ink);margin-bottom:6px}.ot-form label span{font-family:var(--body);font-weight:400;color:var(--text);font-size:.9rem}
.ot-form input[type=text],.ot-form input[type=tel],.ot-form input[type=email],.ot-form select,.ot-form textarea{width:100%;min-height:50px;border:2px solid var(--ink);border-radius:14px;padding:10px 14px;font:inherit;color:var(--ink);background:#fff}
.ot-form textarea{min-height:96px}.ot-form .ot-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.ot-form .ot-small{font-size:.92rem;margin:0}.ot-form-msg{font-family:var(--head);font-weight:800;margin:0}.ot-form-msg:empty{display:none}
.ot-form-msg.ok{background:var(--sky-t);color:var(--ink);border-radius:16px;padding:18px 20px;font-size:1.1rem}.ot-form-msg.err{color:#B3261E}
/* areas map */
.amap-stage{position:relative;overflow:hidden;background:var(--sky-t);border-radius:44px;border:3px solid var(--ink);box-shadow:0 12px 0 -2px var(--yellow);padding:26px 16px 96px;display:flex;justify-content:center}
.amap-stage .edge{color:var(--bg);height:90px;z-index:1}
.amap-svg{position:relative;z-index:2;display:block;width:min(100%,700px);height:auto;overflow:visible}
.amap-cloud{position:absolute;z-index:0;width:170px;height:62px;border-radius:60px;background:#fff;opacity:.92;animation:drift 12s ease-in-out infinite alternate}
.amap-cloud::before,.amap-cloud::after{content:"";position:absolute;background:#fff;border-radius:50%}
.amap-cloud::before{width:76px;height:76px;left:26px;top:-34px}.amap-cloud::after{width:58px;height:58px;right:30px;top:-22px}
.amap-cloud.c1{left:5%;top:14%}.amap-cloud.c2{right:6%;top:9%;transform:scale(.8);animation-duration:16s}.amap-cloud.c3{right:9%;top:52%;transform:scale(1.150);animation-duration:10s}.amap-cloud.c4{left:8%;top:62%;transform:scale(.7);animation-duration:14s}
.amap-path{stroke:var(--navy);stroke-width:2.500;stroke-dasharray:3 9;stroke-linecap:round;opacity:.45;animation:trail 1.600s linear infinite,amapglow calc(var(--n) * 1.300s) linear infinite;animation-delay:0s,calc(var(--i) * 1.300s)}
@keyframes trail{to{stroke-dashoffset:-24}}
@keyframes amapglow{0%,9%{stroke:var(--rust);stroke-width:4.500;opacity:1}11%,100%{stroke:var(--navy);stroke-width:2.500;opacity:.45}}
.amap-pin .dot{fill:var(--pink);stroke:var(--navy);stroke-width:3;animation:amapdot calc(var(--n) * 1.300s) linear infinite;animation-delay:calc(var(--i) * 1.300s)}
@keyframes amapdot{0%,9%{fill:var(--yellow);r:12}11%,100%{fill:var(--pink);r:8}}
.amap-pin .ring{fill:none;stroke:var(--pink);stroke-width:3;opacity:0;transform-box:fill-box;transform-origin:center;animation:ping 2.800s ease-out infinite;animation-delay:var(--d,0s)}
@keyframes ping{0%{transform:scale(.8);opacity:.9}70%,100%{transform:scale(2.900);opacity:0}}
.amap-pin text{font-family:var(--head);font-weight:800;font-size:19px;fill:var(--navy);paint-order:stroke;stroke:var(--sky-t);stroke-width:5px;stroke-linejoin:round}
.amap-pin.is-home .dot{fill:var(--yellow);animation:none}.amap-pin.is-home text{font-size:23px;font-weight:900}
.amap-dino{overflow:visible;transform-box:fill-box;transform-origin:50% 100%;animation:rock 3.200s ease-in-out infinite}
.amap-more{font-family:var(--head);font-weight:800;color:var(--ink);margin:30px 0 12px}
.amap-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.amap-list a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:2px solid var(--ink);background:var(--card);font-family:var(--head);font-weight:800;text-decoration:none;color:var(--ink);transition:transform .15s ease,background .15s ease}
.amap-list a:hover{background:var(--yellow);transform:translateY(-2px) rotate(-1deg);color:var(--navy)}
@media(max-width:700px){.amap-stage{border-radius:30px;padding:16px 4px 70px}.amap-pin text{font-size:23px}.amap-pin.is-home text{font-size:26px}.amap-cloud{transform:scale(.55)!important}.amap-cloud.c3,.amap-cloud.c4{display:none}}
@media(prefers-reduced-motion:reduce){.amap-cloud,.amap-path,.amap-pin .ring,.amap-pin .dot,.amap-dino{animation:none}.amap-pin .ring{display:none}}
