/* Ayush Academy - Apple-style UI: ~70% dark sections, ~30% light, blue-purple accents. Plain CSS, system fonts. */
:root{--blue:#0071e3;--blue2:#2997ff;--pur:#bf5af2;--wa:#1fa855;--ease:cubic-bezier(.2,.7,.2,1);--g:linear-gradient(90deg,#2997ff,#bf5af2 60%,#ff6482)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:#000}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.5;color:#f5f5f7;background:#000;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:#2997ff}
.container{max-width:1120px;margin:0 auto;padding:0 24px}
.narrow{max-width:760px}.center{text-align:center}
/* section themes: dark by default, light for .soft */
section,.hero,footer{--fg:#f5f5f7;--mu:#a1a1a6;--mute:#a1a1a6;--bg:#000;--card:#1d1d1f;--inp:#2c2c2e;--ln:rgba(255,255,255,.14);--ac:#2997ff;background:var(--bg);color:var(--fg)}
section.dark{--bg:#111113;--card:#1d1d1f}
section.soft{--fg:#1d1d1f;--mu:#6e6e73;--mute:#6e6e73;--bg:#f5f5f7;--card:#fff;--inp:#fff;--ln:rgba(0,0,0,.1);--ac:#0071e3}
footer{--bg:#111113}
/* header */
header.glass{position:sticky;top:0;z-index:50;background:rgba(0,0,0,.72);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(255,255,255,.1)}
.bar{height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#f5f5f7;font-weight:600;letter-spacing:-.01em}
.brand img{width:30px;height:30px;border-radius:50%}
nav.main ul{display:flex;gap:26px;list-style:none;align-items:center}
nav.main a{font-size:.82rem;color:rgba(245,245,247,.82);text-decoration:none;transition:color .2s}
nav.main a:hover,nav.main a.active{color:#fff}
nav.main a.btn{color:#fff}
.menu-btn{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;position:relative}
.menu-btn span,.menu-btn span::before{content:"";position:absolute;left:10px;right:10px;height:2px;background:#f5f5f7;border-radius:2px;transition:transform .3s var(--ease)}
.menu-btn span{top:21px}
.menu-btn span::before{left:0;right:0;top:-6px;box-shadow:0 12px 0 #f5f5f7}
.menu-btn[aria-expanded="true"] span{background:transparent}
.menu-btn[aria-expanded="true"] span::before{top:0;box-shadow:none;transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] span::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:#f5f5f7;transform:rotate(-45deg)}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:980px;font:600 1rem inherit;font-family:inherit;text-decoration:none;border:0;cursor:pointer;background:var(--blue);color:#fff;transition:transform .25s var(--ease),box-shadow .25s,background .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,113,227,.4)}
.btn:active{transform:scale(.97)}
.btn.wa{background:var(--wa)}.btn.wa:hover{box-shadow:0 10px 28px rgba(31,168,85,.4)}
.btn.ghost{background:transparent;color:var(--ac);box-shadow:inset 0 0 0 1.5px var(--ac)}
.btn.light{background:#fff;color:#1d1d1f}
.btn.sm{padding:8px 16px;font-size:.82rem}
.btn.block{width:100%}
.cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:30px}
/* type */
h1{font-size:clamp(2.5rem,7.5vw,5.2rem);line-height:1.05;letter-spacing:-.035em;font-weight:700}
h2{font-size:clamp(1.9rem,4.6vw,3.2rem);line-height:1.1;letter-spacing:-.03em;font-weight:700;margin-bottom:14px}
h3{font-size:1.25rem;line-height:1.25;letter-spacing:-.015em;font-weight:600;margin-bottom:6px}
.grad{background:var(--g);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.eyebrow{display:inline-block;font-size:.85rem;font-weight:600;color:var(--ac);margin-bottom:14px}
.sub{font-size:clamp(1.05rem,2.2vw,1.35rem);color:var(--mu);max-width:660px;margin:18px auto 0;line-height:1.45}
.note,.fine{font-size:.85rem;color:var(--mu);margin-top:16px}
.fine{text-align:center}
.lead{font-size:1.2rem;color:var(--mu);max-width:640px}
.center .lead,.head .lead{margin-left:auto;margin-right:auto}
p+p{margin-top:14px}
/* hero + sections */
.hero{position:relative;overflow:hidden;text-align:center;padding:96px 0 80px;background:radial-gradient(60% 55% at 50% 0,rgba(41,151,255,.28),transparent 70%),radial-gradient(40% 40% at 85% 10%,rgba(191,90,242,.22),transparent 70%),#000}
.hero.sm{padding:76px 0 52px}
.hero>.container{position:relative}
section{padding:96px 0}
.head{text-align:center;margin-bottom:48px}
/* tiles */
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.tile{position:relative;background:var(--card);border-radius:28px;padding:32px;overflow:hidden;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.tile:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(0,0,0,.45)}
section.soft .tile:hover{box-shadow:0 22px 44px rgba(15,20,60,.12)}
.tile p{color:var(--mu);font-size:.98rem}
.tile .more{display:inline-block;margin-top:16px;font-weight:600;font-size:.92rem;text-decoration:none;color:var(--ac)}
.tile .more::after{content:" \203A";transition:margin .25s}
.tile:hover .more::after{margin-left:6px}
.bento{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.bento .tile{min-height:190px;display:flex;flex-direction:column;justify-content:flex-end;text-decoration:none;color:inherit}
.bento .tile.big{grid-column:span 2}
.bento .tile.feat{background:linear-gradient(135deg,#0071e3,#5e5ce6 60%,#bf5af2);color:#fff}
.bento .tile.feat p,.bento .tile.feat .more{color:rgba(255,255,255,.9)}
.tag{display:inline-block;font-size:.75rem;font-weight:600;background:rgba(255,255,255,.2);padding:4px 10px;border-radius:99px;margin-bottom:10px;align-self:flex-start}
.tick{list-style:none;display:grid;gap:12px;margin-top:20px}
.tick li{padding-left:30px;position:relative}
.tick li::before{content:"";position:absolute;left:0;top:5px;width:18px;height:18px;border-radius:50%;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/12px no-repeat}
/* stats + steps */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:center}
.stat b{display:block;font-size:clamp(2.6rem,7vw,4.6rem);line-height:1;letter-spacing:-.04em;font-weight:700;background:var(--g);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat span{display:block;margin-top:8px;color:var(--mu);font-size:.95rem}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:s;list-style:none}
.steps li{counter-increment:s;background:var(--card);border-radius:28px;padding:30px 26px;transition:transform .45s var(--ease)}
.steps li:hover{transform:translateY(-6px)}
.steps li::before{content:counter(s);display:block;font-size:3rem;font-weight:700;line-height:1;letter-spacing:-.04em;background:var(--g);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:12px}
.steps strong{display:block;font-size:1.1rem;margin-bottom:4px}
.steps span{color:var(--mu);font-size:.96rem}
/* logos */
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.track{display:flex;gap:16px;width:max-content;animation:scroll 48s linear infinite}
.marquee:hover .track{animation-play-state:paused}
@keyframes scroll{to{transform:translateX(calc(-50% - 8px))}}
.lg{flex:none;width:176px;height:96px;background:#fff;border-radius:20px;display:grid;place-items:center;padding:14px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.lg img{max-height:62px;max-width:136px;width:auto;height:auto;object-fit:contain}
.logos{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
/* forms */
.formcard{background:var(--card);border-radius:32px;padding:34px;box-shadow:0 30px 60px rgba(15,20,60,.1);max-width:520px;margin:0 auto;text-align:left}
.formcard.wide{max-width:none}
.two{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
label{display:block;font-weight:600;font-size:.88rem;margin:14px 0 6px}
input,select,textarea{width:100%;padding:14px 16px;border:1px solid var(--ln);border-radius:14px;font:inherit;font-size:1rem;background:var(--inp);color:var(--fg);transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--blue2);box-shadow:0 0 0 4px rgba(41,151,255,.25)}
.formcard .btn{margin-top:20px}
.consent{font-size:.8rem;color:var(--mu);margin-top:12px}
.msg{margin-top:10px;font-size:.9rem;color:var(--wa);font-weight:600}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
/* faq */
.faq{max-width:760px;margin:0 auto;display:grid;gap:10px}
details{background:var(--card);border-radius:20px;padding:20px 24px}
summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--ac);transition:transform .3s var(--ease)}
details[open] summary::after{transform:rotate(45deg)}
details p{color:var(--mu);margin-top:12px}
/* cta band */
.band{background:linear-gradient(135deg,#0071e3,#5e5ce6 55%,#bf5af2);color:#fff;border-radius:36px;padding:64px 28px;text-align:center}
.band p{color:rgba(255,255,255,.88);max-width:560px;margin:0 auto}
.band .cta{margin-top:26px}
/* footer */
footer{padding:56px 0 100px;font-size:.88rem;color:var(--mu);border-top:1px solid rgba(255,255,255,.1)}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:28px}
footer strong{color:#f5f5f7;display:block;margin-bottom:8px}
footer a{color:var(--mu);text-decoration:none;display:block;padding:3px 0}
footer a:hover{color:#fff}
footer .legal{margin-top:34px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:.78rem}
.wa-float{position:fixed;right:16px;bottom:16px;z-index:60;background:var(--wa);color:#fff;padding:14px 20px;border-radius:99px;text-decoration:none;font-weight:600;box-shadow:0 10px 28px rgba(31,168,85,.45)}
.check{width:96px;height:96px;margin:0 auto 24px}
.check circle{fill:none;stroke:var(--wa);stroke-width:4;stroke-dasharray:290;stroke-dashoffset:290;animation:draw .8s var(--ease) .1s forwards}
.check path{fill:none;stroke:var(--wa);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60;animation:draw .5s var(--ease) .7s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.refbox{display:inline-block;margin-top:18px;background:var(--card);border-radius:14px;padding:10px 18px;font-size:.9rem;color:var(--mu)}
.refbox b{color:var(--fg);letter-spacing:.06em}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease) var(--d,0s),transform .9s var(--ease) var(--d,0s)}
.reveal.in{opacity:1;transform:none}
html:not(.js) .reveal{opacity:1;transform:none}
.d1{--d:.08s}.d2{--d:.16s}.d3{--d:.24s}.d4{--d:.32s}.d5{--d:.4s}
.prose h2{font-size:1.6rem;margin:36px 0 8px}
.prose p,.prose li{color:var(--mu)}
.prose ul{margin:10px 0 0 22px}
.mbar{display:none}
@media(max-width:900px){
  .menu-btn{display:block}
  nav.main{position:absolute;top:56px;left:0;right:0;background:rgba(0,0,0,.96);padding:8px 24px 24px;border-bottom:1px solid rgba(255,255,255,.1);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s,transform .3s var(--ease),visibility .3s}
  nav.main.open{opacity:1;visibility:visible;transform:none}
  nav.main ul{flex-direction:column;align-items:stretch;gap:0}
  nav.main a:not(.btn){display:block;padding:14px 0;font-size:1.05rem;border-bottom:1px solid rgba(255,255,255,.1)}
  nav.main li:last-child{margin-top:16px}nav.main a.btn{display:flex;padding:14px}
  .g4,.bento,.steps,.g3{grid-template-columns:repeat(2,1fr)}
  .two{grid-template-columns:1fr;gap:32px}
  footer .cols{grid-template-columns:1fr 1fr}
  section{padding:68px 0}
}
@media(max-width:700px){
  body{font-size:16px;padding-bottom:calc(84px + env(safe-area-inset-bottom))}
  .container{padding:0 18px}
  section{padding:52px 0}.hero{padding:48px 0 44px}.hero.sm{padding:44px 0 36px}
  .head{margin-bottom:28px}
  h1{font-size:2.3rem}h2{font-size:1.7rem}
  .g2,.g3,.g4,.bento,.steps{grid-template-columns:1fr}.bento .tile.big{grid-column:span 1}.bento .tile{min-height:0}
  .grid,.bento,.steps{gap:12px}
  .cta{flex-direction:column;align-items:stretch;gap:10px;margin-top:22px}.cta .btn{width:100%}
  .btn{min-height:52px}.btn.sm{min-height:44px}
  .stats{gap:8px}.stat b{font-size:2rem}.stat span{font-size:.78rem}
  .tile{padding:22px;border-radius:22px}
  .steps li{padding:18px;border-radius:22px;display:grid;grid-template-columns:44px 1fr;column-gap:12px;align-items:center}
  .steps li::before{font-size:2rem;grid-row:span 2;margin:0}
  .formcard{padding:22px;border-radius:24px}
  input,select,textarea{min-height:52px;font-size:16px}
  details{padding:16px 18px}
  .lg{width:132px;height:76px;border-radius:14px}.lg img{max-height:48px;max-width:100px}
  .band{padding:40px 18px;border-radius:26px}
  footer{padding:40px 0 24px}footer .cols{grid-template-columns:1fr 1fr}footer a{padding:7px 0}
  .wa-float{display:none}
  .mbar{display:flex;position:fixed;left:14px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:70;padding:8px;justify-content:space-between;background:rgba(29,29,31,.82);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border:1px solid rgba(255,255,255,.12);border-radius:999px;box-shadow:0 12px 30px rgba(0,0,0,.5)}
  .mbar a{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center}
  .mbar a.on{background:var(--blue)}
  .mbar svg{width:24px;height:24px;fill:none;stroke:#f5f5f7;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}.reveal{opacity:1;transform:none}
  .track{flex-wrap:wrap;justify-content:center;width:auto}.track .dup{display:none}
  .check circle,.check path{stroke-dashoffset:0}
}
/* ===== Mobile readability pass: smaller type, calmer spacing ===== */
@media(max-width:700px){
  body{font-size:15px;line-height:1.55}
  .container{padding:0 18px}
  section{padding:38px 0}.hero{padding:34px 0 30px}.hero.sm{padding:30px 0 24px}
  h1{font-size:1.85rem;line-height:1.12;letter-spacing:-.03em}
  h2{font-size:1.4rem;line-height:1.18;margin-bottom:8px}
  h3{font-size:1.02rem}
  .brand{font-size:.95rem}.brand img{width:26px;height:26px}
  .eyebrow{font-size:.78rem;margin-bottom:10px}
  .sub{font-size:.95rem;margin-top:12px;line-height:1.5}
  .lead{font-size:.95rem}
  .head{margin-bottom:20px}.head .lead{display:none}
  .note,.fine{font-size:.78rem;margin-top:12px}
  .cta{margin-top:18px;gap:8px}
  .btn{font-size:.95rem;min-height:48px;padding:12px 20px}
  .tile{padding:18px;border-radius:20px}
  .tile p{font-size:.88rem;line-height:1.5}
  .tile .more{font-size:.85rem;margin-top:10px}
  .tag{font-size:.7rem;margin-bottom:8px}
  .grid,.bento,.steps{gap:10px}
  .stat b{font-size:1.7rem}.stat span{font-size:.72rem;margin-top:4px}
  .steps li{padding:14px 16px;column-gap:12px}.steps li::before{font-size:1.7rem}.steps strong{font-size:.98rem}.steps span{font-size:.86rem}
  .tick{gap:8px;margin-top:14px}.tick li{font-size:.92rem}
  .formcard{padding:20px}
  label{font-size:.82rem;margin:10px 0 4px}
  input,select,textarea{min-height:48px;padding:11px 14px}
  .consent{font-size:.74rem}
  details{padding:14px 16px;border-radius:16px}summary{font-size:.95rem}details p{font-size:.88rem;margin-top:8px}
  .band{padding:30px 18px}.band p{font-size:.92rem}
  .prose h2{font-size:1.2rem;margin:24px 0 6px}.prose p,.prose li{font-size:.92rem}
  nav.main a:not(.btn){font-size:.98rem;padding:12px 0}
  footer{font-size:.8rem}footer strong{font-size:.85rem}footer .legal{font-size:.72rem}
}

.lgt{display:none;font-size:.78rem;font-weight:700;line-height:1.25;text-align:center;color:#1d1d1f}
.lg.nologo .lgt{display:block}
.mapbox{border-radius:28px;overflow:hidden;aspect-ratio:4/3;background:#d8d8dc;box-shadow:0 20px 44px rgba(15,20,60,.14)}
.mapbox iframe{width:100%;height:100%;border:0;display:block}
@media(max-width:700px){.mapbox{border-radius:20px;aspect-ratio:1/1}.lgt{font-size:.68rem}}

.thumbs{display:flex;gap:10px;margin-top:22px}
.thumbs figure{flex:none;width:84px;height:84px;margin:0;border-radius:14px;overflow:hidden;background:#d8d8dc}
.thumbs img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:700px){.thumbs{margin-top:16px}.thumbs figure{width:68px;height:68px;border-radius:12px}.mapbox{aspect-ratio:4/3}}

/* ===== Doodles ===== */
main>section,footer{position:relative}
.dd{--ox:max(24px,calc((100% - 1120px)/2 + 24px));position:absolute;z-index:0;pointer-events:none;fill:none;stroke:url(#ddg);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:.6;transform:rotate(var(--r,0deg));animation:dfloat 7s ease-in-out infinite;animation-delay:var(--dl,0s)}
.dd.t{top:24px}.dd.b{bottom:22px}.dd.l{left:var(--ox)}.dd.r{right:var(--ox)}
section.soft .dd{opacity:.5}
@keyframes dfloat{50%{transform:translateY(-9px) rotate(var(--r,0deg))}}
@media(max-width:900px){.dd{max-width:52px}}
@media(max-width:700px){.dd{max-width:36px;opacity:.5}.dd.t{top:9px}.dd.b{bottom:9px}.dd.l{left:18px}.dd.r{right:18px}}

/* ===== Animated objects ===== */
.dd path,.dd circle{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s cubic-bezier(.4,0,.2,1)}
.dd.in path,.dd.in circle{stroke-dashoffset:0}
.scene{max-width:420px;margin:26px auto 0;pointer-events:none}
.scene svg{width:100%;height:auto;display:block;overflow:visible}
.scene *{transform-box:fill-box;transform-origin:center}
.scene .o{transform-box:view-box;transform-origin:0 0}
.s-o1{animation:drift 9s ease-in-out infinite alternate}.s-o2{animation:drift 11s ease-in-out infinite alternate-reverse}
@keyframes drift{to{transform:translate(14px,-10px)}}
.s-cap{animation:sbob 4.6s ease-in-out infinite}
@keyframes sbob{50%{transform:translateY(-8px)}}
.s-tas{transform-origin:50% 0;animation:swing 2.8s ease-in-out infinite alternate}
@keyframes swing{from{transform:rotate(-12deg)}to{transform:rotate(12deg)}}
.s-pg{transform-origin:0 50%;animation:flip 3.4s ease-in-out infinite alternate}
@keyframes flip{from{transform:scaleX(1)}to{transform:scaleX(-1)}}
.s-ln{stroke-dasharray:100;animation:wl 4.2s linear infinite}
@keyframes wl{0%{stroke-dashoffset:100}80%,100%{stroke-dashoffset:0}}
.s-pn{animation:wp 4.2s linear infinite}
@keyframes wp{0%{transform:translateX(0)}80%,100%{transform:translateX(72px)}}
.s-pl{animation:fly 6s ease-in-out infinite}
@keyframes fly{0%{transform:translate(0,26px) rotate(-10deg);opacity:0}15%{opacity:1}50%{transform:translate(30px,-6px) rotate(6deg)}85%{opacity:1}100%{transform:translate(64px,-40px) rotate(-8deg);opacity:0}}
.s-st{transform-origin:center;animation:tw 2.4s ease-in-out infinite}
@keyframes tw{50%{opacity:.25;transform:scale(.6)}}
.hero.sm .scene{max-width:320px;margin-top:18px}
@media(max-width:700px){.scene{max-width:290px;margin-top:20px}.hero.sm .scene{max-width:240px}}
@media(prefers-reduced-motion:reduce){.dd path,.dd circle{stroke-dashoffset:0}}

/* ===== Course chips + search ===== */
[hidden]{display:none!important}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips.c{justify-content:center}
.chip{display:inline-block;padding:9px 16px;border-radius:99px;background:var(--card);color:var(--fg);border:1px solid var(--ln);font-size:.9rem;text-decoration:none;transition:background .25s,color .25s,transform .25s var(--ease)}
.chip:hover{background:var(--blue);color:#fff;border-color:transparent;transform:translateY(-2px)}
.cat h2{font-size:clamp(1.25rem,2.6vw,1.7rem);margin:34px 0 14px}
.csearch{position:sticky;top:56px;z-index:5;display:flex;gap:14px;align-items:center;padding:12px 0;background:var(--bg)}
.csearch input{flex:1;border-radius:99px;padding-left:20px}
.csearch .note{margin:0;white-space:nowrap}
@media(max-width:700px){.chip{font-size:.8rem;padding:7px 12px}.chips{gap:6px}.cat h2{margin:26px 0 10px;font-size:1.15rem}.csearch .note{font-size:.72rem}}

/* ===== More animated objects ===== */
.s-rot{animation:srot 14s linear infinite}.s-rev{animation:srot 9s linear infinite reverse}
@keyframes srot{to{transform:rotate(360deg)}}
.s-mer{animation:mer 3.2s ease-in-out infinite}
@keyframes mer{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.08)}}
.s-fl{transform-origin:50% 0;animation:fl .35s ease-in-out infinite alternate}
@keyframes fl{to{transform:scaleY(.6)}}
.s-fy{animation:fy 4s ease-in-out infinite}
@keyframes fy{50%{transform:translate(6px,-12px) rotate(4deg)}}
.s-pls{animation:pls 2.2s ease-in-out infinite}
@keyframes pls{50%{transform:scale(1.12)}}
.s-gl{animation:gl 2.4s ease-in-out infinite}
@keyframes gl{50%{opacity:.5;transform:scale(1.25)}}
.s-bar{transform-origin:50% 100%;animation:bar 2.8s ease-in-out infinite alternate}
@keyframes bar{from{transform:scaleY(.35)}to{transform:scaleY(1)}}
.s-dr{stroke-dasharray:100;animation:dr 3.6s ease-in-out infinite}
@keyframes dr{0%{stroke-dashoffset:100}55%,100%{stroke-dashoffset:0}}
.s-bub{animation:bub 2.6s ease-in infinite}
@keyframes bub{0%{transform:translateY(0);opacity:0}20%{opacity:.9}100%{transform:translateY(-34px);opacity:0}}
.s-dot{animation:dot 1.2s ease-in-out infinite}
@keyframes dot{50%{transform:translateY(-5px)}}
.s-hop{animation:hop 1.9s ease-in-out infinite}
@keyframes hop{50%{transform:translateY(-10px)}}
.s-rip{animation:rip 1.8s ease-out infinite}
@keyframes rip{from{transform:scale(.4);opacity:.9}to{transform:scale(1.5);opacity:0}}
.s-clap{transform-origin:0 100%;animation:clap 2.2s ease-in-out infinite}
@keyframes clap{0%,60%,100%{transform:rotate(0)}30%{transform:rotate(-26deg)}}
.s-blink{animation:blk 1s steps(2) infinite}
@keyframes blk{50%{opacity:0}}
.s-shine{animation:shn 3s ease-in-out infinite}
@keyframes shn{0%{transform:translateX(-14px);opacity:0}30%{opacity:.7}60%,100%{transform:translateX(34px);opacity:0}}
.s-scan{animation:scn 4s ease-in-out infinite alternate}
@keyframes scn{to{transform:translate(34px,24px)}}
.s-wf{animation:wf 1.8s ease-in-out infinite}
@keyframes wf{0%,100%{opacity:.25}50%{opacity:1}}
.s-flip{animation:cf 2.4s ease-in-out infinite}
@keyframes cf{50%{transform:scaleX(.1)}}
/* v17: links inside light sections, menu fit */
.soft p a:not(.btn),.soft li a:not(.btn){color:var(--ac)}
nav.main a,.brand{white-space:nowrap}
@media(min-width:901px) and (max-width:1120px){nav.main ul{gap:15px}nav.main a{font-size:.78rem}.bar{gap:10px}}
