/* Puzzlez Playschool — site styles
   Designed & developed by Sabarinath | linkedin.com/in/sabarinathsklm */
:root{
  /* Brand colours from the Puzzlez logo */
  --orange:#E85028;      /* "Puzzlez" lettering — accents, large type */
  --rust:#C93D17;        /* deeper orange — buttons & links (passes contrast with white) */
  --rust-dark:#A1300F;
  --mustard:#F0C040;     /* yellow block */
  --mustard-soft:#F5CE5C;
  --amber:#E88830;       /* star */
  --moss:#1A4598;        /* royal blue background */
  --blue-light:#4A80C8;
  --green:#286018;       /* green block */
  --ink:#0B1640;         /* navy "Playschool Nursery" text */
  --ink-2:#2E3A5E; --ink-3:#4A5578;
  --sand:#EDF3FC; --sand-line:#C9D8F0; --line:#E1E8F4; --white:#FFFFFF;
  --display:'Bricolage Grotesque', 'Trebuchet MS', sans-serif;
  --body:'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --wrap:1200px; --r-lg:24px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;height:auto;display:block}
a{color:var(--rust)}a:hover{color:var(--rust-dark)}
:focus-visible{outline:3px solid var(--mustard);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--display);line-height:1.08;margin:0;color:inherit}
h1{font-weight:800;font-size:clamp(40px,6vw,68px);letter-spacing:-.03em}
h2{font-weight:800;font-size:clamp(32px,4.2vw,46px);letter-spacing:-.02em}
h3{font-weight:700;font-size:clamp(22px,2.2vw,28px)}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:100}
.skip:focus{left:12px;top:12px}
.lead{font-size:clamp(18px,1.6vw,20px);color:var(--ink-2);max-width:560px}
.muted{color:var(--ink-3)}
.prose p+p{margin-top:16px}
.prose{max-width:620px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 28px;border-radius:999px;font-weight:700;font-size:17px;text-decoration:none;border:2px solid transparent;cursor:pointer;font-family:var(--body);transition:background .15s,color .15s}
.btn-primary{background:var(--rust);color:#fff}.btn-primary:hover{background:var(--rust-dark);color:#fff}
.btn-outline{border-color:var(--ink);color:var(--ink)}.btn-outline:hover{background:var(--ink);color:#fff}
.btn-light{background:#fff;color:var(--rust)}.btn-light:hover{background:var(--sand);color:var(--rust-dark)}
.btn-ghost-light{border-color:#fff;color:#fff}.btn-ghost-light:hover{background:#fff;color:var(--rust)}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}
.text-link{font-weight:700;font-size:18px}

/* Top bar */
.topbar{background:linear-gradient(90deg,#183F94,#2D63B4);color:#fff;font-size:14px}
.topbar .wrap{display:flex;flex-wrap:wrap;gap:6px 28px;justify-content:space-between;padding-top:9px;padding-bottom:9px}
.topbar a{color:#fff;text-decoration:none}.topbar a:hover{text-decoration:underline;color:#fff}
.topbar .tb-left{display:flex;flex-wrap:wrap;gap:6px 24px}

/* Header / nav */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:saturate(1.2) blur(6px)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:8px;padding-bottom:8px}
.brand{display:flex;align-items:center;text-decoration:none;color:var(--ink)}
.brand img{height:88px;width:88px}
.brand-text{font-family:var(--display);font-weight:800;font-size:26px;line-height:1}
.brand-text small{display:block;font-weight:500;font-size:15px;color:var(--ink-3)}
.nav{display:flex;align-items:center;gap:4px}
.nav>ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
.nav a.nav-link,.nav button.nav-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 12px;border-radius:999px;color:var(--ink);text-decoration:none;font-weight:600;font-size:16px;background:none;border:0;font-family:var(--body);cursor:pointer}
.nav a.nav-link:hover,.nav button.nav-link:hover{background:var(--sand)}
.nav a.nav-link[aria-current="page"]{color:var(--rust)}
.nav .btn{margin-left:10px;min-height:44px;padding:10px 22px}
.has-sub{position:relative}
.sub{list-style:none;margin:0;padding:10px;position:absolute;top:100%;left:0;min-width:270px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 14px 34px rgba(11,22,64,.12);display:none}
.has-sub:hover .sub,.has-sub:focus-within .sub,.has-sub.open .sub{display:block}
.sub a{display:flex;justify-content:space-between;gap:16px;padding:10px 12px;border-radius:12px;color:var(--ink);text-decoration:none;font-weight:600}
.sub a span{font-weight:500;color:var(--ink-3);font-size:14px}
.sub a:hover{background:var(--sand)}
.caret{width:10px;height:10px}
.menu-toggle{display:none;min-height:44px;min-width:44px;border:2px solid var(--ink);background:#fff;border-radius:999px;padding:8px 16px;font-weight:700;font-family:var(--body);font-size:16px;color:var(--ink);cursor:pointer}
@media (max-width:1060px){
  .menu-toggle{display:inline-flex;align-items:center;gap:8px}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);padding:12px 24px 24px;flex-direction:column;align-items:stretch;box-shadow:0 16px 30px rgba(11,22,64,.1);max-height:calc(100vh - 90px);overflow:auto}
  .nav.open{display:flex}
  .nav>ul{flex-direction:column;align-items:stretch}
  .nav a.nav-link,.nav button.nav-link{width:100%;justify-content:space-between;font-size:18px;padding:12px 8px;border-radius:12px}
  .sub{position:static;display:block;box-shadow:none;border:0;padding:0 0 6px 10px;min-width:0}
  .has-sub button.nav-link{pointer-events:none}
  .has-sub .caret{display:none}
  .nav .btn{margin:12px 0 0}
  .brand img{height:64px;width:64px}
}

/* Wave divider (from the nursery rug) */
.wave{display:block;width:100%;height:36px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='36'%3E%3Cg fill='none' stroke-width='5'%3E%3Cpath d='M0 8 Q14 0 28 8 T56 8' stroke='%23E85028'/%3E%3Cpath d='M0 18 Q14 10 28 18 T56 18' stroke='%23F0C040'/%3E%3Cpath d='M0 28 Q14 20 28 28 T56 28' stroke='%231A4598'/%3E%3C/g%3E%3C/svg%3E") repeat-x}

/* Sections */
.section{padding:96px 0}
.section-sand{background:var(--sand)}
.section-ink{background:var(--ink);color:#fff}
.section-head{display:flex;flex-wrap:wrap;gap:16px 40px;justify-content:space-between;align-items:end;margin-bottom:48px}
.section-head h2{max-width:620px}
.section-head p{max-width:460px;color:var(--ink-2)}
@media (max-width:700px){.section{padding:64px 0}}

/* Hero */
.hero .wrap{display:flex;flex-wrap:wrap;gap:48px;align-items:center;padding-top:64px;padding-bottom:64px}
.hero-copy{flex:1 1 420px;min-width:0}
.hero-kicker{font-weight:600;color:var(--moss);margin-bottom:18px}
.hero .lead{margin-top:24px}
.hero .btn-row{margin-top:34px}
.facts{display:flex;flex-wrap:wrap;gap:14px 36px;margin-top:44px;font-size:15px}
.facts strong{display:block;font-family:var(--display);font-weight:700;font-size:24px;line-height:1.2}
.facts span{color:var(--ink-3)}
.hero-media{flex:1 1 460px;min-width:0;position:relative}
.hero-media img{width:100%;aspect-ratio:4/3.4;object-fit:cover;border-radius:220px 220px 28px 28px}
.badge{position:absolute;left:-14px;bottom:28px;background:#fff;border-radius:20px;padding:14px 20px;box-shadow:0 10px 30px rgba(11,22,64,.14);display:flex;align-items:center;gap:12px;max-width:290px;font-size:14px;line-height:1.35}
.badge strong{display:block;font-size:15px}
@media (max-width:700px){.badge{left:12px}.hero .wrap{padding-top:40px}}

/* Page hero (inner pages) */
.page-hero{background:var(--sand)}
.page-hero .wrap{display:flex;flex-wrap:wrap;gap:40px 56px;align-items:center;padding-top:64px;padding-bottom:64px}
.page-hero .ph-copy{flex:1 1 440px;min-width:0}
.page-hero .ph-copy .lead{margin-top:20px}
.page-hero .ph-media{flex:1 1 400px;min-width:0}
.page-hero .ph-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-lg)}
.crumbs{font-size:14px;margin-bottom:14px;color:var(--ink-3)}
.crumbs a{color:var(--ink-3)}
.age-pill{display:inline-block;margin-top:18px;padding:8px 16px;border-radius:999px;background:#fff;font-weight:700;font-size:15px}

/* Split */
.split{display:flex;flex-wrap:wrap;gap:56px;align-items:center}
.split.reverse{flex-wrap:wrap-reverse}
.split>*{flex:1 1 420px;min-width:0}
.split .round{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:50%}
.split .rect{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-lg)}
.split h2+p,.split h2+.prose{margin-top:24px}

/* Room cards */
.rooms{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:28px}
.room-card{display:block;text-decoration:none;color:var(--ink)}
.room-card img{width:100%;aspect-ratio:4/4.5;object-fit:cover;border-radius:var(--r-lg);transition:transform .25s}
.room-card:hover img{transform:scale(1.015)}
.room-card .rc-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:18px;padding-bottom:14px;border-bottom:4px solid var(--mustard)}
.room-card.c2 .rc-head{border-color:var(--orange)}
.room-card.c3 .rc-head{border-color:var(--moss)}
.room-card .rc-head span{font-weight:600;color:var(--ink-3);white-space:nowrap}
.room-card p{margin-top:14px;color:var(--ink-2)}
.room-card:hover h3{color:var(--rust)}

/* Why list */
.why{display:flex;flex-wrap:wrap;gap:48px 72px}
.why>div{flex:1 1 340px;min-width:0}
.why img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-lg);margin-top:36px}
.why-list{flex:1 1 480px!important}
.why-item{padding:28px 0;border-bottom:1px solid rgba(255,255,255,.22)}
.why-item:first-child{padding-top:0}.why-item:last-child{border-bottom:0;padding-bottom:0}
.why-item h3{font-size:24px;color:var(--mustard-soft)}
.why-item p{margin-top:10px;color:#D5DDF0}

/* Learning areas (room pages) */
.areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.area{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px}
.section-sand .area{border-color:var(--sand-line)}
.area h3{font-size:22px}
.area p{margin-top:10px;color:var(--ink-2)}
.area .dot{width:14px;height:14px;border-radius:50%;background:var(--mustard);margin-bottom:16px}
.area:nth-child(3n+2) .dot{background:var(--orange)}
.area:nth-child(3n) .dot{background:var(--moss)}

/* Photo grids */
.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.photo-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r-lg)}
.feature-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}
.feature-grid img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-lg)}
.feature-grid figure{margin:0;display:flex;flex-direction:column}
.feature-grid figure img{flex:1;min-height:0}
.feature-grid figcaption{margin-top:10px;font-weight:600;color:var(--ink-3)}
@media (max-width:800px){.feature-grid{grid-template-columns:1fr}.feature-grid img{aspect-ratio:4/3;height:auto}}
.gallery{columns:3 280px;column-gap:20px}
.gallery button{display:block;width:100%;padding:0;border:0;background:none;margin:0 0 20px;cursor:zoom-in;break-inside:avoid;border-radius:var(--r-lg);overflow:hidden}
.gallery img{width:100%;height:auto;border-radius:var(--r-lg)}
.lightbox{position:fixed;inset:0;background:rgba(20,16,14,.92);display:none;align-items:center;justify-content:center;z-index:200;padding:24px}
.lightbox.open{display:flex}
.lightbox img{max-height:88vh;max-width:min(1200px,100%);width:auto;border-radius:16px}
.lightbox button{position:absolute;top:16px;right:16px;min-width:48px;min-height:48px;border-radius:999px;border:0;background:#fff;color:var(--ink);font-size:16px;font-weight:700;cursor:pointer;padding:0 18px;font-family:var(--body)}

/* Video */
.video-block{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--ink)}
.video-block video{width:100%;aspect-ratio:16/9;object-fit:cover}

/* YouTube previews */
.yt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.yt{display:block;text-decoration:none;color:var(--ink)}
.yt-thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:var(--ink)}
.yt-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.yt-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.yt-play svg{filter:drop-shadow(0 4px 10px rgba(0,0,0,.35));transition:transform .2s}
.yt:hover .yt-thumb img{transform:scale(1.03)}
.yt:hover .yt-play svg{transform:scale(1.1)}
.yt-meta{display:flex;flex-direction:column;margin-top:12px}
.yt-meta strong{font-family:var(--display);font-size:21px;line-height:1.2}
.yt-meta span{color:var(--rust);font-weight:600;font-size:15px}
.yt:hover .yt-meta strong{color:var(--rust)}
.yt-big .yt-thumb{border-radius:var(--r-lg)}
.yt-big .yt-play svg{width:88px;height:62px}

/* CTA band */
.cta{background:var(--rust);color:#fff;border-radius:36px;padding:64px 56px;display:flex;flex-wrap:wrap;gap:36px 64px;align-items:center;justify-content:space-between}
.cta>div:first-child{flex:1 1 420px;min-width:0}
.cta p{margin-top:16px;font-size:19px;color:#FFE8DF;max-width:520px}
@media (max-width:700px){.cta{padding:44px 26px;border-radius:26px}}

/* Team */
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:28px}
.member .ph{aspect-ratio:1/1;border-radius:50%;background:var(--sand);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:800;font-size:42px;color:var(--rust);overflow:hidden}
.member .ph img{width:100%;height:100%;object-fit:cover}
.member h3{margin-top:18px;font-size:22px}
.member p{color:var(--ink-3);margin-top:4px}

/* Policies */
.policy-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.policy-group{border-top:4px solid var(--mustard);padding-top:20px}
.policy-group:nth-child(3n+2){border-color:var(--orange)}
.policy-group:nth-child(3n){border-color:var(--moss)}
.policy-group ul{list-style:none;margin:14px 0 0;padding:0}
.policy-group li{padding:10px 0;border-bottom:1px solid var(--line)}

/* Steps (vacancies/how to apply) */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;counter-reset:s}
.steps li{counter-increment:s;background:#fff;border-radius:20px;padding:26px;border:1px solid var(--sand-line)}
.steps li::before{content:counter(s);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--moss);color:#fff;font-weight:800;font-family:var(--display);margin-bottom:14px}
.steps h3{font-size:21px}.steps p{margin-top:8px;color:var(--ink-2)}

/* Forms */
.form-card{background:#fff;border-radius:28px;padding:40px;border:1px solid var(--sand-line)}
@media (max-width:600px){.form-card{padding:26px}}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.form-grid .full{grid-column:1/-1}
@media (max-width:600px){.form-grid{grid-template-columns:1fr}}
label{display:block;font-weight:600;font-size:15px;margin-bottom:6px}
input,select,textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:2px solid var(--sand-line);border-radius:14px;padding:12px 14px;min-height:48px}
textarea{min-height:140px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--moss);box-shadow:0 0 0 3px rgba(26,69,152,.2)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{font-size:14px;color:var(--ink-3);margin-top:14px}
.form-alert{padding:14px 18px;border-radius:14px;background:#FDE7DF;color:var(--rust-dark);font-weight:600;margin-bottom:20px;display:none}
.form-alert.show{display:block}

/* Contact */
.contact-list{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-direction:column;gap:22px}
.contact-list strong{display:block;font-family:var(--display);font-size:20px}
.map{width:100%;height:380px;border:0;border-radius:var(--r-lg);display:block}

/* News cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}
.card img{aspect-ratio:16/10;object-fit:cover;width:100%}
.card .cb{padding:24px;display:flex;flex-direction:column;gap:10px;flex:1}
.card .date{font-size:14px;font-weight:700;color:var(--moss)}
.card h3{font-size:22px}
.card p{color:var(--ink-2)}

/* Footer */
.site-footer{background:var(--sand)}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px;padding-top:72px;padding-bottom:40px}
@media (max-width:900px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr}}
.footer-grid h3{font-family:var(--body);font-size:17px;font-weight:700;margin-bottom:12px}
.footer-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.footer-grid address{font-style:normal;color:var(--ink-2)}
.footer-logo{height:120px;width:120px;margin-bottom:16px}
.footer-bottom{border-top:1px solid var(--sand-line);display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;padding-top:20px;padding-bottom:32px;font-size:14px;color:var(--ink-3)}
.social{display:flex;gap:10px}
.social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--ink)}
.social a:hover{background:var(--rust);color:#fff}
.social svg{width:20px;height:20px}
.partners{display:flex;align-items:center;gap:20px;margin-top:18px}
.partners img{height:56px;width:auto}

.credit a{color:inherit;font-weight:600}
.credit a:hover{color:var(--rust)}

/* ---------- Page transitions (curtain), modelled on the WTD prototype ---------- */
:root{--ease:cubic-bezier(.76,0,.24,1);--soft:cubic-bezier(.22,1,.36,1)}
.curtain{position:fixed;inset:0;z-index:250;background:var(--ink);color:#fff;overflow:hidden;transform:translate3d(0,100%,0);visibility:hidden;pointer-events:none;will-change:transform;backface-visibility:hidden}
.ct-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;transform:translate3d(0,-100%,0);will-change:transform}
.curtain.in{visibility:visible;transform:translate3d(0,0,0);transition:transform .65s var(--ease)}
.curtain.in .ct-inner{transform:translate3d(0,0,0);transition:transform .65s var(--ease)}
.curtain.out{visibility:visible;transform:translate3d(0,-100%,0);transition:transform .75s var(--ease)}
.curtain.out .ct-inner{transform:translate3d(0,100%,0);transition:transform .75s var(--ease)}
.ct-k{font:600 13px var(--body);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);opacity:0;transform:translateY(14px);transition:opacity .4s ease .15s,transform .6s var(--soft) .15s}
.ct-t{font:800 clamp(44px,8vw,112px)/1 var(--display);letter-spacing:-.03em;color:#fff;opacity:0;transform:translateY(24px);transition:opacity .45s ease .2s,transform .7s var(--soft) .2s}
.ct-t:after{content:".";color:var(--orange)}
.ct-k:before{content:"";display:block;width:56px;height:6px;margin:0 auto 18px;border-radius:6px;background:linear-gradient(90deg,var(--orange) 0 33%,var(--mustard) 33% 66%,var(--blue-light) 66%)}
.curtain.in .ct-k,.curtain.in .ct-t{opacity:1;transform:none}
.curtain.out .ct-k,.curtain.out .ct-t{opacity:0;transform:translateY(-20px);transition:opacity .3s ease,transform .5s var(--ease)}
/* arriving after a curtain: start covered (class set in <head><meta charset="utf-8"> before the page paints) */
.ct-arrive .curtain,.ct-arrive .ct-inner{visibility:visible;transform:none}
.ct-arrive .ct-k,.ct-arrive .ct-t{opacity:1;transform:none;transition:none}

/* Hero entrance: headline, text and buttons rise in one after another */
@keyframes pz-up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.enter .hero-copy>*,.enter .ph-copy>*,.enter .hero-media,.enter .ph-media{animation:pz-up 1s var(--soft) both}
.enter .hero-copy>*:nth-child(2),.enter .ph-copy>*:nth-child(2){animation-delay:.1s}
.enter .hero-copy>*:nth-child(3),.enter .ph-copy>*:nth-child(3){animation-delay:.2s}
.enter .hero-copy>*:nth-child(4),.enter .ph-copy>*:nth-child(4){animation-delay:.3s}
.enter .hero-copy>*:nth-child(5),.enter .ph-copy>*:nth-child(5){animation-delay:.4s}
.enter .hero-copy>*:nth-child(n+6),.enter .ph-copy>*:nth-child(n+6){animation-delay:.5s}
.enter .hero-media,.enter .ph-media{animation-duration:1.2s;animation-delay:.25s}

/* Gentle reveals as you scroll */
.js-rv .rv{opacity:.25;transform:translateY(30px);transition:opacity .9s var(--soft),transform 1s var(--soft)}
.js-rv .rv.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .curtain{display:none!important}
  .enter .hero-copy>*,.enter .ph-copy>*,.enter .hero-media,.enter .ph-media{animation:none}
  .js-rv .rv{opacity:1;transform:none;transition:none}
}