/* leading:school – Stylesheet
   Ausgelagert aus index.html. */

/* ============ Design-Tokens ============ */
:root{
  --canvas:        #fbfaf4;
  --canvas-alt:    #f3f2e8;
  --surface:       #ffffff;
  --ink:           #1d2412;
  --muted:         #5b6450;
  --line:          #e7e6d9;
  --line-strong:   #d9d8c6;

  --brand:         #5f8d22;
  --brand-strong:  #486f18;
  --brand-deep:    #2c4416;
  --lime:          #9dc73c;
  --sun:           #ecd61c;
  --sun-soft:      #c2de46;

  --on-brand:      #f6fbe9;
  --on-sun:        #243a10;

  --shadow-color:  44 68 22;          /* rgb-Triplet für Schatten */
  --radius-card:   1.35rem;

  --grad-main:   linear-gradient(60deg, #34501a 0%, #9dc73c 55%, #ecd61c 100%);
  --grad-bright: linear-gradient(60deg, #9dc73c 0%, #c2de46 55%, #ecd61c 100%);

  --font: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* ============ Basics ============ */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--font);
  background:var(--canvas);
  color:var(--ink);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,p,ul,ol,blockquote{ margin:0; }
ul,ol{ padding:0; list-style:none; }
button,input,textarea{ font:inherit; color:inherit; }
:focus-visible{ outline:2px solid var(--brand); outline-offset:2px; border-radius:6px; }

.container{ max-width:1240px; margin-inline:auto; padding-inline:20px; }
@media(min-width:640px){ .container{ padding-inline:32px; } }

.section{ padding-block:96px; }
@media(min-width:640px){ .section{ padding-block:112px; } }
.bg-alt{ background:var(--canvas-alt); }

/* Gradient-Hilfsklassen */
.brand-rule{ height:3px; width:100%; background:var(--grad-main); }
.text-gradient{
  background:var(--grad-main);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.brand-frame{
  --frame-w:2px;
  background:var(--grad-main);
  padding:var(--frame-w);
  border-radius:var(--radius-card);
}
.brand-frame > *{ border-radius:calc(var(--radius-card) - var(--frame-w)); overflow:hidden; }

/* ============ Buttons ============ */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  border-radius:999px; font-weight:500; white-space:nowrap; cursor:pointer;
  border:1px solid transparent;
  transition:transform .15s ease-out, background-color .15s ease-out,
             border-color .15s ease-out, color .15s ease-out;
}
.btn:active{ transform:scale(.97); }
.btn-primary{
  background:var(--brand-deep); color:var(--on-brand);
  box-shadow:0 8px 24px -12px rgb(var(--shadow-color)/.7);
}
.btn-primary:hover{ background:var(--brand-strong); }
.btn-secondary{
  border-color:var(--line-strong); background:var(--surface); color:var(--ink);
}
.btn-secondary:hover{ border-color:var(--brand); color:var(--brand); }
.btn-md{ height:44px; padding-inline:20px; font-size:.95rem; }
.btn-lg{ height:52px; padding-inline:28px; font-size:1rem; }

/* ============ Header ============ */
.site-header{ position:fixed; inset-inline:0; top:0; z-index:50; }
.header-bar{
  position:relative; background:transparent;
  transition:background-color .3s ease-out, backdrop-filter .3s ease-out;
}
.header-bar .brand-rule{
  position:absolute; inset-inline:0; bottom:0; height:1px;
  opacity:0; transition:opacity .3s;
}
.site-header.scrolled .header-bar{
  background:rgb(251 250 244 / .88); backdrop-filter:blur(10px);
}
.site-header.scrolled .brand-rule{ opacity:1; }
.header-inner{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  height:68px; max-width:1240px; margin-inline:auto; padding-inline:20px;
}
@media(min-width:640px){ .header-inner{ padding-inline:32px; } }

/* Wortmarke */
.logo{
  display:inline-flex; align-items:center; gap:8px; line-height:1;
  font-weight:900; letter-spacing:-.02em; font-size:1.35rem;
  transition:transform .3s ease-out;
}
.logo:hover{ transform:scale(1.015); }
.logo .colon{ color:var(--brand); }
.logo .leaf{ width:22px; height:22px; }

.main-nav{ display:none; align-items:center; gap:4px; }
@media(min-width:1024px){ .main-nav{ display:flex; } }
.main-nav a{
  border-radius:999px; padding:8px 16px; font-size:.95rem; font-weight:500;
  color:var(--muted); transition:color .15s, background-color .15s;
}
.main-nav a:hover{ background:var(--canvas-alt); color:var(--ink); }

.header-cta{ display:none; }
@media(min-width:640px){ .header-cta{ display:inline-flex; } }
.menu-btn{
  display:inline-flex; align-items:center; justify-content:center;
  height:40px; width:40px; border-radius:999px;
  border:1px solid var(--line); background:transparent; color:var(--ink);
  cursor:pointer; transition:border-color .15s, color .15s, transform .1s;
}
.menu-btn:hover{ border-color:var(--brand); color:var(--brand); }
.menu-btn:active{ transform:scale(.95); }
@media(min-width:1024px){ .menu-btn{ display:none; } }

/* Mobiles Menü */
.mobile-menu{
  position:fixed; inset:0; z-index:60; background:rgb(251 250 244 / .97);
  backdrop-filter:blur(8px); display:none; flex-direction:column;
  padding:20px; }
.mobile-menu.open{ display:flex; }
.mobile-menu .top{ display:flex; justify-content:space-between; align-items:center; height:48px; }
.mobile-menu nav{ display:flex; flex-direction:column; gap:4px; margin-top:32px; }
.mobile-menu nav a{
  font-size:1.4rem; font-weight:700; padding:14px 8px;
  border-bottom:1px solid var(--line);
}
.mobile-menu .btn{ margin-top:28px; }

/* ============ Hero ============ */
.hero{
  position:relative; display:flex; align-items:center;
  min-height:100dvh; overflow:hidden;
}
.hero-bg{ position:absolute; inset:0; z-index:-1; pointer-events:none; }
.hero-blob{
  position:absolute; right:-192px; top:-224px;
  height:42rem; width:42rem; border-radius:50%;
  background:radial-gradient(circle at 35% 65%, rgb(157 199 60 / .35), rgb(236 214 28 / .18) 55%, transparent 75%);
  filter:blur(90px);
}
.hero-leaves{
  position:absolute; right:-48px; top:48px; width:15rem; opacity:.6;
}
@media(min-width:640px){ .hero-leaves{ right:-24px; top:80px; width:24rem; opacity:.9; } }
@media(min-width:1024px){ .hero-leaves{ right:16px; width:34rem; } }

.hero-grid{
  display:grid; grid-template-columns:1fr; gap:48px; align-items:center;
  width:100%; padding-top:112px; padding-bottom:64px;
}
@media(min-width:1024px){
  .hero-grid{ grid-template-columns:1.05fr .95fr; gap:64px; padding-top:96px; }
}
.badge{
  display:inline-flex; align-items:center; gap:8px;
  border:1px solid var(--line-strong); background:rgb(255 255 255 / .7);
  backdrop-filter:blur(4px); border-radius:999px;
  padding:6px 16px 6px 8px; font-size:.82rem; font-weight:500;
  color:var(--brand-strong);
}
.badge .leaf{ width:16px; height:16px; }

.hero h1{
  margin-top:24px;
  font-size:2.6rem; font-weight:900; letter-spacing:-.02em; line-height:1.05;
}
@media(min-width:640px){ .hero h1{ font-size:3rem; } }
@media(min-width:1024px){ .hero h1{ font-size:3.6rem; } }
.hero .lead{
  margin-top:24px; max-width:36rem;
  font-size:1.125rem; line-height:1.65; color:var(--muted);
}
.hero-ctas{
  margin-top:36px; display:flex; flex-direction:column; gap:12px;
}
@media(min-width:640px){ .hero-ctas{ flex-direction:row; align-items:center; } }

.hero-photo .brand-frame{ --frame-w:3px; border-radius:1.6rem;
  box-shadow:0 30px 80px -40px rgb(var(--shadow-color)/.6); }
.hero-photo .frame-inner{ position:relative; aspect-ratio:4/5; border-radius:1.45rem; }
.hero-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-photo .tint{
  position:absolute; inset:0; mix-blend-mode:multiply;
  background:linear-gradient(to top right, rgb(44 68 22 / .3), transparent 55%);
}

/* ============ Trust-Bar ============ */
.trustbar-inner{
  display:flex; flex-direction:column; align-items:center; justify-content:space-between;
  gap:24px; padding-block:28px;
}
@media(min-width:768px){ .trustbar-inner{ flex-direction:row; } }
.trust-list{
  display:flex; flex-direction:column; align-items:center; gap:12px 36px;
}
@media(min-width:640px){ .trust-list{ flex-direction:row; } }
.trust-list li{
  display:flex; align-items:center; gap:10px;
  font-size:.95rem; font-weight:600;
}
.icon-disc{
  display:inline-flex; align-items:center; justify-content:center;
  height:36px; width:36px; border-radius:999px;
  background:rgb(95 141 34 / .1); color:var(--brand); flex-shrink:0;
}
.trust-note{ font-size:.875rem; color:var(--muted); text-align:center; }
@media(min-width:768px){ .trust-note{ text-align:right; } }
.link-brand{
  display:inline-flex; align-items:center; gap:2px;
  font-weight:500; color:var(--brand); transition:color .15s;
}
.link-brand:hover{ color:var(--brand-strong); }

/* ============ Überschriften ============ */
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:.78rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.16em; color:var(--brand);
}
.eyebrow .leaf{ width:16px; height:16px; }
.h2{
  font-size:1.9rem; font-weight:900; letter-spacing:-.02em; line-height:1.12;
}
@media(min-width:640px){ .h2{ font-size:2.6rem; line-height:1.08; } }
.sub{
  margin-top:24px; font-size:1.125rem; line-height:1.65; color:var(--muted);
}

/* ============ Rollen-Sektion ============ */
.roles-grid{
  display:grid; gap:48px; align-items:center;
}
@media(min-width:1024px){
  .roles-grid{ grid-template-columns:.92fr 1.08fr; gap:64px; }
}
.roles-claim{
  margin-top:32px; display:flex; gap:12px;
  font-size:1.5rem; font-weight:700; line-height:1.35;
}
@media(min-width:640px){ .roles-claim{ font-size:1.7rem; } }
.roles-claim .leaf{ width:24px; height:24px; flex-shrink:0; margin-top:6px; }
.chips{
  display:flex; flex-wrap:wrap; gap:10px;
}
@media(min-width:1024px){ .chips{ justify-content:flex-end; } }
.chip{
  display:inline-block; border-radius:999px; padding:10px 20px;
  font-size:.98rem; font-weight:600;
}
.chip-outline{ border:1px solid var(--line-strong); background:var(--surface); }
.chip-bright{
  background:var(--grad-bright); color:var(--on-sun);
  box-shadow:0 10px 28px -14px rgb(var(--shadow-color)/.8);
}

/* ============ Karten / Angebot ============ */
.card{
  position:relative; display:flex; flex-direction:column; height:100%;
  overflow:hidden; border-radius:var(--radius-card);
  border:1px solid var(--line); background:var(--surface);
  transition:transform .3s ease-out, box-shadow .3s ease-out, border-color .3s ease-out;
}
.card:hover{
  transform:translateY(-4px); border-color:rgb(95 141 34 / .4);
  box-shadow:0 24px 60px -36px rgb(var(--shadow-color)/.7);
}
.card-pad{ padding:32px; }
.card-bright{
  border:none; background:var(--grad-bright); color:var(--on-sun);
}
.card-bright:hover{ transform:none; box-shadow:none; }
.icon-tile{
  display:inline-flex; align-items:center; justify-content:center;
  height:48px; width:48px; border-radius:12px;
  background:rgb(95 141 34 / .1); color:var(--brand); align-self:flex-start;
}
.card-bright .icon-tile{
  background:rgb(255 255 255 / .35); color:var(--on-sun); backdrop-filter:blur(4px);
}
.card h3{ margin-top:24px; font-size:1.25rem; font-weight:700; }
.card .body{ margin-top:12px; line-height:1.65; color:var(--muted); }
.card-bright .body{ color:rgb(36 58 16 / .85); }
.card .leaf-ghost{
  position:absolute; right:-16px; top:-16px; height:96px; width:96px;
  opacity:.07; pointer-events:none;
}
.offer-grid{ display:grid; gap:20px; margin-top:48px; }
@media(min-width:768px){
  .offer-grid{ grid-template-columns:repeat(6,1fr); }
  .offer-grid .span-3{ grid-column:span 3; }
  .offer-grid .span-6{ grid-column:span 6; }
}
.card-split{ display:grid; padding:0; }
@media(min-width:640px){ .card-split{ grid-template-columns:.85fr 1.15fr; } }
.card-split .media{ position:relative; min-height:220px; }
.card-split .media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.card-split .media .tint{
  position:absolute; inset:0; mix-blend-mode:multiply;
  background:linear-gradient(to right, transparent, rgb(255 255 255 / .15));
}
.card-split .content{
  display:flex; flex-direction:column; justify-content:center; padding:32px;
}
@media(min-width:640px){ .card-split .content{ padding:40px; } }

/* ============ Ablauf ============ */
.flow-grid{ display:grid; gap:56px; }
@media(min-width:1024px){
  .flow-grid{ grid-template-columns:1fr 1fr; gap:80px; }
  .flow-sticky{ position:sticky; top:112px; align-self:start; }
}
.flow-photo{ margin-top:36px; }
.flow-photo .frame-inner{ position:relative; aspect-ratio:16/11; }
.flow-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.steps{ display:flex; flex-direction:column; }
.step{ display:flex; gap:20px; padding-bottom:40px; }
.step:last-child{ padding-bottom:0; }
.step-track{ display:flex; flex-direction:column; align-items:center; }
.step-num{
  display:flex; align-items:center; justify-content:center;
  height:48px; width:48px; flex-shrink:0; border-radius:999px;
  background:var(--grad-bright); color:var(--on-sun);
  font-size:1.125rem; font-weight:900;
  box-shadow:0 10px 24px -12px rgb(var(--shadow-color)/.8);
}
.step-line{
  margin-top:8px; width:2px; flex:1; border-radius:999px;
  background:linear-gradient(to bottom, rgb(95 141 34 / .4), rgb(157 199 60 / .4), var(--line-strong));
}
.step-body{ padding-top:6px; }
.step-body h3{ font-size:1.25rem; font-weight:700; }
.step-body p{ margin-top:8px; max-width:28rem; line-height:1.65; color:var(--muted); }

/* ============ Team ============ */
.team-grid{ display:grid; gap:24px; margin-top:48px; }
@media(min-width:768px){ .team-grid{ grid-template-columns:1fr 1fr; } }
.team-card{
  display:flex; flex-direction:column; gap:20px; height:100%;
  border-radius:var(--radius-card); border:1px solid var(--line);
  background:var(--surface); padding:24px;
  transition:transform .3s ease-out, box-shadow .3s ease-out, border-color .3s ease-out;
}
.team-card:hover{
  transform:translateY(-4px); border-color:rgb(95 141 34 / .4);
  box-shadow:0 24px 60px -36px rgb(var(--shadow-color)/.7);
}
@media(min-width:640px){
  .team-card{ flex-direction:row; align-items:center; padding:28px; }
}
.team-photo{
  height:112px; width:112px; flex-shrink:0; --frame-w:2px;
  background:var(--grad-main); padding:var(--frame-w); border-radius:1rem;
}
.team-photo .inner{
  position:relative; height:100%; width:100%; overflow:hidden;
  border-radius:calc(1rem - 2px);
}
.team-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.team-card h3{ font-size:1.25rem; font-weight:700; }
.team-card .role{ margin-top:4px; font-size:.95rem; line-height:1.4; color:var(--muted); }
.team-card .mail{
  margin-top:12px; display:inline-flex; align-items:center; gap:8px;
  font-size:.95rem; font-weight:500; color:var(--brand); transition:color .15s;
}
.team-card .mail:hover{ color:var(--brand-strong); }

/* ============ Vision ============ */
.vision{ position:relative; isolation:isolate; overflow:hidden; }
.vision > img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2;
}
.vision .overlay{
  position:absolute; inset:0; z-index:-1;
  background:linear-gradient(to bottom right,
    rgb(12 18 6 / .92), rgb(20 32 11 / .82) 55%, rgb(44 68 22 / .7));
}
.vision-leaves{
  position:absolute; right:-40px; top:24px; width:26rem; opacity:.7; pointer-events:none;
}
@media(min-width:640px){ .vision-leaves{ right:24px; } }
@media(min-width:1024px){ .vision-leaves{ width:32rem; } }
.vision-inner{ position:relative; padding-block:112px; }
@media(min-width:640px){ .vision-inner{ padding-block:144px; } }
.vision .eyebrow{ color:var(--lime); font-size:.875rem; }
.vision blockquote{
  margin-top:24px; max-width:48rem; text-wrap:balance;
  font-size:1.9rem; font-weight:900; letter-spacing:-.02em; line-height:1.12;
  color:#fff;
}
@media(min-width:640px){ .vision blockquote{ font-size:3rem; } }
.vision .rule{
  margin-top:32px; height:4px; width:96px; border-radius:999px;
  background:var(--grad-main);
}
.vision .note{
  margin-top:28px; max-width:42rem;
  font-size:1.125rem; line-height:1.65; color:rgb(255 255 255 / .8);
}

/* ============ Blog ============ */
.blog-head{
  display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:16px;
}
.blog-grid{ display:grid; gap:24px; margin-top:40px; }
@media(min-width:640px){ .blog-grid{ grid-template-columns:1fr 1fr; } }
@media(min-width:1024px){ .blog-grid{ grid-template-columns:repeat(3,1fr); } }
.post-card .media{
  position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--canvas-alt);
}
.post-card .media img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .5s ease-out;
}
.post-card:hover .media img{ transform:scale(1.04); }
.post-card .content{ display:flex; flex:1; flex-direction:column; padding:24px; }
.post-meta{
  display:flex; align-items:center; gap:12px;
  font-size:.8rem; font-weight:500; color:var(--muted);
}
.post-meta .read{ display:inline-flex; align-items:center; gap:4px; }
.post-card h3{ margin-top:12px; font-size:1.25rem; font-weight:700; line-height:1.35; }
.post-card h3 a::after{ content:""; position:absolute; inset:0; }
.post-card .excerpt{
  margin-top:8px; flex:1; font-size:.95rem; line-height:1.65; color:var(--muted);
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.post-card .more{
  margin-top:20px; display:inline-flex; align-items:center; gap:6px;
  font-size:.9rem; font-weight:600; color:var(--brand);
}
.post-card .more svg{ transition:transform .2s ease-out; }
.post-card:hover .more svg{ transform:translateX(4px); }

/* ============ Kontakt ============ */
.contact-grid{ display:grid; gap:48px; }
@media(min-width:1024px){ .contact-grid{ grid-template-columns:1fr 1fr; gap:64px; } }
.check-list{ margin-top:32px; display:flex; flex-direction:column; gap:12px; }
.check-list li{ display:flex; align-items:center; gap:12px; }
.check-list svg{ flex-shrink:0; color:var(--brand); }
.contact-direct{
  margin-top:40px; display:flex; flex-direction:column; gap:12px;
  border-top:1px solid var(--line); padding-top:32px;
}
.contact-direct .label{ font-size:.875rem; font-weight:600; }
.contact-direct a{
  display:inline-flex; align-items:center; gap:10px;
  font-size:.95rem; color:var(--muted); transition:color .15s;
}
.contact-direct a:hover{ color:var(--brand); }
.contact-direct a svg{ color:var(--brand); }

.form-frame{ --frame-w:2px;
  box-shadow:0 30px 80px -50px rgb(var(--shadow-color)/.7); }
.form-card{ background:var(--surface); padding:24px; }
@media(min-width:640px){ .form-card{ padding:32px; } }
.form-card form{ display:flex; flex-direction:column; gap:20px; }
.field-row{ display:grid; gap:20px; }
@media(min-width:640px){ .field-row{ grid-template-columns:1fr 1fr; } }
label{ display:block; margin-bottom:8px; font-size:.875rem; font-weight:500; }
label .req{ color:var(--brand); }
.input, textarea.input{
  width:100%; border-radius:12px; border:1px solid var(--line-strong);
  background:var(--canvas); padding:12px 16px; font-size:.95rem;
  transition:border-color .15s;
}
.input::placeholder{ color:rgb(91 100 80 / .7); }
.input:focus{ border-color:var(--brand); outline:none;
  box-shadow:0 0 0 2px rgb(95 141 34 / .3); }
textarea.input{ resize:vertical; min-height:130px; }
.honeypot{ position:absolute; left:-9999px; }
.form-foot{ display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
.form-foot .hint{ font-size:.875rem; color:var(--muted); }
.form-success{
  display:none; align-items:center; gap:10px;
  border-radius:12px; background:rgb(157 199 60 / .18);
  padding:14px 16px; font-size:.95rem; font-weight:500; color:var(--brand-deep);
}
.form-success.show{ display:flex; }

/* ============ Footer ============ */
.site-footer{ position:relative; overflow:hidden; background:var(--canvas-alt); }
.footer-leaf{
  position:absolute; right:-40px; top:-24px; height:176px; width:176px;
  opacity:.06; pointer-events:none;
}
.footer-grid{ display:grid; gap:48px; padding-block:64px; }
@media(min-width:768px){ .footer-grid{ grid-template-columns:1.4fr 1fr 1fr; } }
.footer-about p{ margin-top:20px; max-width:20rem; font-size:.95rem; line-height:1.65; color:var(--muted); }
.footer-about .funding{ font-size:.875rem; }
.footer-about .funding strong{ font-weight:500; color:var(--ink); }
.footer-col{ display:flex; flex-direction:column; gap:12px; }
.footer-col h3{ font-size:.875rem; font-weight:600; letter-spacing:.025em; }
.footer-col a{
  display:inline-flex; align-items:center; gap:8px;
  font-size:.95rem; color:var(--muted); transition:color .15s;
}
.footer-col a:hover{ color:var(--brand); }
.footer-bottom{
  display:flex; flex-direction:column; align-items:flex-start; gap:16px;
  justify-content:space-between; border-top:1px solid var(--line);
  padding-top:28px; padding-bottom:56px; font-size:.875rem; color:var(--muted);
}
@media(min-width:640px){ .footer-bottom{ flex-direction:row; align-items:center; } }
.footer-bottom .legal{ display:flex; gap:24px; }
.footer-bottom .legal a:hover{ color:var(--brand); }

/* ============ Animationen ============ */
@keyframes drift{
  0%,100%{ transform:translateY(0) rotate(0deg); }
  50%{ transform:translateY(-7px) rotate(3deg); }
}
@keyframes drift-alt{
  0%,100%{ transform:translateY(0) rotate(0deg); }
  50%{ transform:translateY(6px) rotate(-4deg); }
}
.animate-drift{ animation:drift 7s ease-in-out infinite; transform-box:fill-box; transform-origin:center; }
.animate-drift-alt{ animation:drift-alt 8s ease-in-out infinite; transform-box:fill-box; transform-origin:center; }

.reveal{ opacity:0; transform:translateY(22px);
  transition:opacity .7s ease-out, transform .7s ease-out;
  transition-delay:var(--d, 0s); }
.reveal.scale{ transform:scale(.96); }
.reveal.in{ opacity:1; transform:none; }

@media(prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .animate-drift, .animate-drift-alt{ animation:none; }
  .reveal{ opacity:1; transform:none; transition:none; }
  *{ transition-duration:.01ms !important; }
}
