/* Startseiten (DE und EN). Ausgelagert aus dem <style>-Block der beiden index.html. */
/* =========================================================
   Tech Recycling Berlin — Home v3 (self-contained)
   ========================================================= */
:root{
  --green:#3A9E1E;
  --green-dark:#2d7d16;
  --green-deep:#1f5a0f;
  --green-soft:#f4faf0;
  --green-tint:#e8f5e1;
  --lime:#bdea5c;
  --yellow:#e8f23a;
  --ink:#0f1a0d;
  --ink-2:#1b2a19;
  --ink-3:#2a3328;
  --muted:#6b7669;
  --line:#e5e9e2;
  --paper:#fafbf8;
  --bg:#ffffff;
  --dark:#0b140a;
  --dark-2:#13231a;
  --radius:14px;
  --radius-lg:22px;
  --radius-xl:32px;
  --shadow-sm:0 1px 2px rgba(15,26,13,.06), 0 2px 8px rgba(15,26,13,.04);
  --shadow-md:0 14px 34px -14px rgba(15,26,13,.14);
  --shadow-lg:0 30px 60px -20px rgba(15,26,13,.22);
  --shadow-green:0 20px 60px -22px rgba(58,158,30,.45);
  --ease:cubic-bezier(.16,1,.3,1);
  --container:1200px;
  --font-display:"Manrope", ui-sans-serif, system-ui, sans-serif;
  --font-body:"Inter", ui-sans-serif, system-ui, sans-serif;
  --header-h:104px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--bg);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;
}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none;transition:color .25s ease}
a:hover{color:var(--green)}
button{font:inherit;border:0;background:none;cursor:pointer;color:inherit}
:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:6px}
::selection{background:var(--green);color:#fff}

h1,h2,h3,h4{
  font-family:var(--font-display);
  color:var(--ink);
  letter-spacing:-.022em;
  line-height:1.12;
  margin:0 0 .5em;
  font-weight:700;
}
h1{font-size:clamp(2.35rem,5.2vw,4.15rem);font-weight:800;letter-spacing:-.036em}
h1 em{font-style:normal;color:var(--green-dark)}
h2{font-size:clamp(1.9rem,3.6vw,2.9rem);font-weight:800;letter-spacing:-.03em}
h3{font-size:clamp(1.2rem,1.8vw,1.45rem)}
p{margin:0 0 1em;color:var(--ink-3)}
.lead{font-size:clamp(1.05rem,1.3vw,1.18rem);color:var(--ink-3);max-width:60ch}
.eyebrow{
  display:inline-block;font-family:var(--font-display);font-weight:700;font-size:.78rem;
  text-transform:uppercase;letter-spacing:.18em;color:var(--green-dark);
  margin-bottom:.85rem;
}

.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 clamp(1.25rem,3vw,2rem)}
.section{padding:clamp(4rem,7.5vw,6.5rem) 0;position:relative}
.section--alt{background:var(--paper)}
.section--dark{background:var(--dark);color:#dde5d9;position:relative;overflow:hidden}
.section--dark h2,.section--dark h3{color:#fff}
.section--dark p{color:#b6c1b1}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.9rem 1.4rem;border-radius:999px;font-weight:600;font-size:.95rem;
  font-family:var(--font-display);letter-spacing:.01em;
  transition:transform .25s var(--ease), background .25s, color .25s, box-shadow .25s;
  position:relative;white-space:nowrap;
}
.btn svg{width:16px;height:16px}
.btn--primary{background:var(--green-dark);color:#fff;box-shadow:0 10px 28px -12px rgba(58,158,30,.55)}
.btn--primary:hover{background:var(--green-deep);color:#fff;transform:translateY(-2px);box-shadow:0 16px 36px -12px rgba(58,158,30,.6)}
.btn--ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn--ghost:hover{border-color:var(--green);color:var(--green)}
.btn--dark{background:var(--ink);color:#fff}
.btn--dark:hover{background:#1b2818;color:#fff;transform:translateY(-2px)}

/* ---------- Header ---------- */
.hdr{
  position:sticky;top:0;z-index:80;
  background:rgba(255,255,255,.72);
  -webkit-backdrop-filter:saturate(150%) blur(14px);
  backdrop-filter:saturate(150%) blur(14px);
  border-bottom:1px solid rgba(15,26,13,.06);
  transition:box-shadow .3s, background .3s;
}
.hdr.is-scrolled{background:rgba(255,255,255,.92);box-shadow:0 8px 24px -20px rgba(15,26,13,.28)}
.hdr__row{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  min-height:var(--header-h);
}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;font-family:var(--font-display)}
.brand img{width:108px;height:108px;object-fit:contain;transition:width .3s var(--ease),height .3s var(--ease)}
.hdr.is-scrolled .brand img{width:96px;height:96px}
.nav{display:flex;gap:1.4rem;align-items:center}
.nav a{font-size:.95rem;font-weight:500;color:var(--ink-3);position:relative;padding:.4rem 0;white-space:nowrap}
@media(max-width:1100px){.nav{gap:1.25rem}.nav>a[href="/"],.nav>a[href="/en"]{display:none}}
.nav a.is-active{color:var(--ink)}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.nav a:hover::after,.nav a.is-active::after{transform:scaleX(1)}

.has-dd{position:relative}
.dd-menu{
  position:absolute;top:calc(100% + 10px);left:-12px;
  min-width:260px;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);box-shadow:var(--shadow-lg);
  padding:.6rem;opacity:0;visibility:hidden;transform:translateY(-4px);
  transition:opacity .2s, transform .2s, visibility 0s linear .2s;z-index:5;
}
.has-dd:hover .dd-menu,.has-dd:focus-within .dd-menu{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .2s, transform .2s}
.dd-menu a{display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;border-radius:8px;font-size:.92rem;font-family:var(--font-display);font-weight:500;color:var(--ink-3);transition:background .2s ease, color .2s ease, transform .2s ease}
.dd-menu a::before{content:"→";opacity:0;transform:translateX(-6px);transition:opacity .2s ease, transform .2s ease;color:var(--green)}
.dd-menu a:hover{background:var(--green-soft);color:var(--green-dark);transform:translateX(2px)}
.dd-menu a:hover::before{opacity:1;transform:translateX(0)}

.hdr-actions{display:flex;align-items:center;gap:.9rem}
.lang-switch{
  display:inline-flex;align-items:center;gap:.2rem;
  font-family:var(--font-display);font-weight:600;font-size:.78rem;letter-spacing:.08em;
  color:var(--muted);padding:.25rem;background:var(--paper);
  border-radius:999px;border:1px solid var(--line);
}
.lang-switch a{padding:.35rem .7rem;border-radius:999px;transition:background .25s var(--ease), color .25s ease}
.lang-switch a.is-active{background:var(--ink);color:#fff}
.lang-switch a:not(.is-active):hover{color:var(--ink)}
.lang-switch span{opacity:.3}

.menu-btn{display:none;width:42px;height:42px;border-radius:10px;border:1px solid var(--line);align-items:center;justify-content:center}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{content:"";display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s,opacity .3s}
.menu-btn span{position:relative}
.menu-btn span::before{position:absolute;left:0;top:-6px}
.menu-btn span::after{position:absolute;left:0;top:6px}
.menu-btn[aria-expanded="true"] span{background:transparent}
.menu-btn[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}

.mobile-nav{
  position:fixed;inset:var(--header-h) 0 0 0;background:#fff;z-index:70;
  padding:1.5rem;display:flex;flex-direction:column;gap:.4rem;
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .25s, transform .25s, visibility 0s linear .25s;
}
.mobile-nav.is-open{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .25s, transform .25s}
.mobile-nav a{padding:.9rem 1rem;border-radius:10px;font-weight:600;color:var(--ink)}
.mobile-nav a:hover{background:var(--green-soft);color:var(--green-dark)}
.mobile-nav .sub{padding-left:1rem;border-left:2px solid var(--line);margin:.3rem 0 .3rem .3rem;display:flex;flex-direction:column;gap:.1rem}
.mobile-nav .sub a{font-weight:500;color:var(--ink-3);padding:.6rem .6rem}

@media(max-width:980px){
  .nav{display:none}
  .menu-btn{display:inline-flex}
  .hdr-actions .btn--primary{display:none}
}

/* ---------- HERO ---------- */
.hero{
  position:relative;
  padding:clamp(3.5rem,7vw,6rem) 0 clamp(4rem,8vw,7rem);
  background:
    radial-gradient(55% 45% at 85% 10%, rgba(58,158,30,.14), transparent 65%),
    radial-gradient(45% 40% at 10% 85%, rgba(189,234,92,.18), transparent 70%),
    radial-gradient(35% 30% at 95% 90%, rgba(232,242,58,.10), transparent 70%),
    linear-gradient(180deg, #ffffff 0%, var(--paper) 100%);
  overflow:hidden;
  isolation:isolate;
}
/* aurora blur blobs */
.hero::before{
  content:"";position:absolute;inset:-180px -20%;pointer-events:none;z-index:0;
  background:
    radial-gradient(40% 35% at 78% 22%, rgba(58,158,30,.22), transparent 60%),
    radial-gradient(30% 28% at 22% 78%, rgba(189,234,92,.28), transparent 60%);
  filter:blur(50px);opacity:.9;
  animation:auroraShift 18s ease-in-out infinite alternate;
}
@keyframes auroraShift{
  0%{transform:translate(0,0) scale(1)}
  100%{transform:translate(-3%,2%) scale(1.08)}
}
/* subtle grain */
.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.35;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .28 0'/></filter><rect width='240' height='240' filter='url(%23n)'/></svg>");
  background-size:240px 240px;
}
.hero__grid{
  display:grid;grid-template-columns:1.08fr 1fr;gap:clamp(2rem,5vw,4.5rem);
  align-items:center;position:relative;z-index:2;
}
.hero__tag{
  display:inline-flex;align-items:center;gap:.55rem;
  background:rgba(255,255,255,.7);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border:1px solid rgba(15,26,13,.08);
  padding:.45rem .85rem;border-radius:999px;
  font-size:.82rem;font-weight:500;color:var(--ink-3);
  box-shadow:0 4px 14px -8px rgba(15,26,13,.12);
}
.hero__tag .dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(58,158,30,.5);animation:pulse 2.2s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(58,158,30,.5)}70%{box-shadow:0 0 0 10px rgba(58,158,30,0)}100%{box-shadow:0 0 0 0 rgba(58,158,30,0)}}
.hero__content h1{margin:1.1rem 0 1.25rem;font-size:clamp(2.5rem,5.6vw,4.4rem);font-weight:800;letter-spacing:-.038em;line-height:1.04}
.hero__content h1 em{
  font-style:normal;position:relative;color:var(--green-dark);white-space:nowrap;
}
.hero__content h1 em::after{
  content:"";position:absolute;left:-2%;right:-2%;bottom:.06em;height:.32em;
  background:linear-gradient(90deg, rgba(189,234,92,.55), rgba(232,242,58,.55));
  border-radius:.15em;z-index:-1;
  transform:scaleX(0);transform-origin:left;
  animation:underlineIn 1.2s .6s var(--ease) forwards;
}
@keyframes underlineIn{to{transform:scaleX(1)}}
.hero__lead{color:var(--ink-3);max-width:55ch;font-size:clamp(1.02rem,1.25vw,1.18rem);line-height:1.65}
.hero__ctas{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.75rem}

.hero__badges{
  margin-top:2.5rem;display:grid;grid-template-columns:repeat(4,auto);gap:1rem 2rem;
  justify-content:start;align-items:center;color:var(--ink-3);font-size:.82rem;font-weight:600;
}
.hero__badges .b{display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap}
.hero__badges svg{width:18px;height:18px;color:var(--green)}

/* ---------- 3D HERO SCENE (refined, layered) ---------- */
.scene{
  position:relative;
  perspective:1400px;perspective-origin:50% 40%;
  aspect-ratio:1/1;
  width:100%;
  max-width:580px;
  margin:0 auto;
}
.scene__stage{
  position:relative;width:100%;height:100%;
  transform-style:preserve-3d;
  transform:rotateX(var(--rx,10deg)) rotateY(var(--ry,-14deg));
  transition:transform .8s var(--ease);
}
.scene__stage>*{transition:transform .8s var(--ease)}

/* Ambient cone of light behind the rack */
.scene__light{
  position:absolute;left:50%;top:48%;width:120%;height:120%;
  transform:translate(-50%,-50%) translateZ(-120px);
  background:radial-gradient(closest-side, rgba(189,234,92,.55), rgba(189,234,92,0) 70%);
  filter:blur(20px);opacity:.75;pointer-events:none;
  animation:lightBreath 6s ease-in-out infinite alternate;
}
@keyframes lightBreath{0%{opacity:.55}100%{opacity:.85}}

/* Reflective floor disk */
.scene__floor{
  position:absolute;left:50%;bottom:4%;width:82%;height:14%;
  transform:translate(-50%,0) rotateX(78deg) translateZ(-40px);
  background:radial-gradient(ellipse at center, rgba(15,26,13,.32) 0%, rgba(15,26,13,0) 70%);
  filter:blur(10px);pointer-events:none;
}

/* Back card — compliance stamp */
.s-card{
  position:absolute;border-radius:24px;overflow:hidden;
  border:1px solid rgba(15,26,13,.08);
  box-shadow:0 40px 80px -30px rgba(15,26,13,.25), 0 12px 32px -12px rgba(15,26,13,.15), inset 0 1px 0 rgba(255,255,255,.6);
  transform-style:preserve-3d;
  background:linear-gradient(160deg,#ffffff 0%,#f4f8ef 100%);
}
.s-card--back{
  left:4%;top:8%;width:48%;height:56%;
  transform:translate3d(calc(-4% + var(--lx,0px)), calc(-4% + var(--ly,0px)), -30px);
  padding:22px 20px;
  display:flex;flex-direction:column;gap:10px;
}
.s-card--back .sb-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.s-card--back .sb-title{font-family:var(--font-display);font-weight:700;font-size:.85rem;color:var(--ink);letter-spacing:-.01em}
.s-card--back .sb-title em{font-style:normal;display:block;color:var(--muted);font-size:.7rem;font-weight:500;margin-top:.15rem;letter-spacing:.06em;text-transform:uppercase}
.stamp{
  width:52px;height:52px;border-radius:50%;
  border:2px solid var(--green);color:var(--green-dark);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:800;font-size:.58rem;letter-spacing:.08em;
  text-align:center;line-height:1;
  transform:rotate(-12deg);
  background:radial-gradient(circle at 30% 30%, rgba(189,234,92,.18), transparent 65%);
  box-shadow:inset 0 0 0 6px rgba(58,158,30,.06);
}
.s-card--back .sb-rows{display:flex;flex-direction:column;gap:8px;margin-top:auto}
.s-card--back .sb-row{display:flex;justify-content:space-between;align-items:center;font-size:.72rem;color:var(--ink-3);border-bottom:1px dashed var(--line);padding-bottom:6px}
.s-card--back .sb-row:last-child{border-bottom:0}
.s-card--back .sb-row b{color:var(--green-dark);font-weight:700}

/* Main server rack (center, elevated) */
.s-card--server{
  left:22%;top:14%;width:60%;height:74%;
  transform:translate3d(var(--lx,0px), var(--ly,0px), 60px);
  padding:18px 16px 20px;
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(134,214,61,.08), transparent 60%),
    linear-gradient(180deg, #16261b 0%, #0b140a 100%);
  border:1px solid rgba(134,214,61,.14);
  color:#e8f5e1;
  display:flex;flex-direction:column;
}
.s-card--server::before{
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(130deg, rgba(232,242,58,.12) 0%, transparent 40%);
  pointer-events:none;
}
.s-card--server::after{
  /* top shine */
  content:"";position:absolute;inset:0 0 auto 0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(189,234,92,.4),transparent);
}
.rack-head{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 10px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:10px}
.rack-head .rh-title{font-family:var(--font-display);font-weight:700;font-size:.78rem;color:#fff;letter-spacing:-.01em;display:flex;align-items:center;gap:.5rem}
.rack-head .rh-title::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px var(--lime);animation:blink 1.6s ease-in-out infinite}
.rack-head .rh-tag{font-size:.62rem;font-weight:700;letter-spacing:.1em;color:var(--lime);background:rgba(189,234,92,.1);border:1px solid rgba(189,234,92,.25);padding:3px 8px;border-radius:999px;text-transform:uppercase}
.rack-list{display:flex;flex-direction:column;gap:8px;flex:1}
.rack-unit{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;
  padding:9px 11px;border-radius:9px;
  background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);
  font-size:.66rem;font-family:"SF Mono",ui-monospace,Menlo,monospace;letter-spacing:.02em;color:#9ebd8d;
}
.rack-unit .led{width:7px;height:7px;border-radius:50%;background:#86d63d;box-shadow:0 0 8px #86d63d}
.rack-unit .led.y{background:var(--yellow);box-shadow:0 0 8px var(--yellow)}
.rack-unit .led.r{background:#ff6b4a;box-shadow:0 0 8px #ff6b4a}
.rack-unit .lbl{color:#c9dcbd;font-weight:600}
.rack-unit .bar{width:70px;height:3px;border-radius:2px;background:rgba(134,214,61,.15);overflow:hidden;position:relative}
.rack-unit .bar::after{content:"";position:absolute;inset:0;width:38%;background:linear-gradient(90deg,transparent,var(--lime),transparent);animation:sweep 3.2s linear infinite}
@keyframes sweep{0%{transform:translateX(-100%)}100%{transform:translateX(320%)}}
.rack-unit.blink .led{animation:blink 1.6s ease-in-out infinite}
.rack-unit.blink.slow .led{animation-duration:2.4s}
@keyframes blink{0%,60%,100%{opacity:1}30%{opacity:.25}}
.rack-foot{display:flex;align-items:center;justify-content:space-between;padding-top:10px;margin-top:10px;border-top:1px solid rgba(255,255,255,.06);font-family:"SF Mono",ui-monospace,Menlo,monospace;font-size:.62rem;color:#7a9070}
.rack-foot b{color:var(--lime);font-weight:700}

/* Front floating stat card (glass) */
.s-card--stat{
  right:-2%;bottom:14%;width:50%;padding:14px 16px;
  transform:translate3d(var(--lx,0px), var(--ly,0px), 140px);
  background:rgba(255,255,255,.78);
  -webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);
  border:1px solid rgba(255,255,255,.6);
  box-shadow:0 30px 60px -20px rgba(15,26,13,.28), 0 8px 20px -8px rgba(15,26,13,.12);
  border-radius:18px;
  display:flex;flex-direction:column;gap:8px;
}
.s-card--stat .sc-head{display:flex;align-items:center;gap:.5rem;font-size:.7rem;color:var(--muted);font-weight:600;letter-spacing:.04em}
.s-card--stat .sc-head .live{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(58,158,30,.5);animation:pulse 2s ease-out infinite}
.s-card--stat .sc-num{font-family:var(--font-display);font-weight:800;font-size:1.45rem;color:var(--ink);letter-spacing:-.025em;line-height:1;font-variant-numeric:tabular-nums}
.s-card--stat .sc-num em{font-style:normal;color:var(--green-dark)}
.s-card--stat .sc-sub{font-size:.72rem;color:var(--ink-3);font-weight:500}
.s-card--stat .sc-spark{display:flex;align-items:flex-end;gap:3px;height:22px;margin-top:4px}
.s-card--stat .sc-spark span{flex:1;background:linear-gradient(180deg,var(--green),var(--lime));border-radius:1.5px;opacity:.85;animation:sparkPulse 2.4s ease-in-out infinite}
.s-card--stat .sc-spark span:nth-child(1){height:30%;animation-delay:0s}
.s-card--stat .sc-spark span:nth-child(2){height:55%;animation-delay:.15s}
.s-card--stat .sc-spark span:nth-child(3){height:40%;animation-delay:.3s}
.s-card--stat .sc-spark span:nth-child(4){height:75%;animation-delay:.45s}
.s-card--stat .sc-spark span:nth-child(5){height:60%;animation-delay:.6s}
.s-card--stat .sc-spark span:nth-child(6){height:90%;animation-delay:.75s}
.s-card--stat .sc-spark span:nth-child(7){height:70%;animation-delay:.9s}
@keyframes sparkPulse{0%,100%{transform:scaleY(.9);opacity:.7}50%{transform:scaleY(1.05);opacity:1}}

/* Small floating badge top-left */
.s-badge{
  position:absolute;left:-4%;top:8%;
  transform:translate3d(var(--lx,0px), var(--ly,0px), 120px);
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.5rem .8rem;border-radius:14px;
  background:var(--dark);color:#fff;
  box-shadow:0 20px 40px -16px rgba(15,26,13,.45);
  font-size:.72rem;font-weight:700;letter-spacing:.02em;
}
.s-badge svg{width:14px;height:14px;color:var(--lime)}
.s-badge .tag{font-size:.62rem;color:var(--lime);letter-spacing:.1em}

/* Scroll cue */
.scroll-cue{
  position:absolute;left:50%;bottom:-1.5rem;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:.4rem;
  font-size:.7rem;color:var(--muted);letter-spacing:.15em;text-transform:uppercase;font-weight:600;
  pointer-events:none;
}
.scroll-cue .mouse{width:18px;height:28px;border:1.5px solid var(--muted);border-radius:10px;position:relative}
.scroll-cue .mouse::after{content:"";position:absolute;left:50%;top:5px;width:2px;height:6px;background:var(--muted);border-radius:1px;transform:translateX(-50%);animation:scrollWheel 1.6s ease-in-out infinite}
@keyframes scrollWheel{0%{transform:translate(-50%,0);opacity:1}100%{transform:translate(-50%,10px);opacity:0}}

@media(max-width:900px){
  .hero__grid{grid-template-columns:1fr}
  .scene{max-width:440px;margin-top:1.5rem}
  .hero__badges{grid-template-columns:repeat(2,auto);gap:.7rem 1.5rem}
  .scroll-cue{display:none}
}

/* ---------- MARQUEE / TRUST STRIP ---------- */
.marquee{
  background:var(--dark);color:#b6c1b1;padding:1.1rem 0;overflow:hidden;position:relative;
  border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);
}
.marquee__track{display:flex;gap:3rem;white-space:nowrap;animation:track 32s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
@keyframes track{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee__item{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.88rem;color:#c4d3bb}
.marquee__item svg{width:18px;height:18px;color:var(--lime)}
.marquee__item .dot{width:6px;height:6px;border-radius:50%;background:var(--green);margin:0 .5rem}

/* ---------- LIVE IMPACT KPI ---------- */
.kpi-row{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;
  margin-top:1.5rem;position:relative;z-index:3;
}
.kpi{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:1.5rem 1.4rem;box-shadow:var(--shadow-md);
  display:flex;flex-direction:column;gap:.3rem;
  transition:transform .4s var(--ease), box-shadow .4s;
}
.kpi:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.kpi__value{
  font-family:var(--font-display);font-weight:800;font-size:clamp(1.8rem,3.4vw,2.5rem);
  color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1;
}
.kpi__value em{font-style:normal;color:var(--green)}
.kpi__label{font-size:.88rem;color:var(--muted);font-weight:500}
@media(max-width:760px){.kpi-row{grid-template-columns:repeat(2,1fr);margin-top:0}}

/* ---------- SERVICES ---------- */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:2.5rem}
.svc{
  position:relative;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:1.75rem 1.6rem 1.5rem;
  transition:transform .4s var(--ease), box-shadow .4s, border-color .4s;
  overflow:hidden;
  display:flex;flex-direction:column;
  min-height:260px;
}
.svc::before{
  content:"";position:absolute;inset:auto 0 0 0;height:3px;
  background:linear-gradient(90deg,var(--green),var(--yellow));
  transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);
}
.svc:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:rgba(58,158,30,.25)}
.svc:hover::before{transform:scaleX(1)}
.svc__icon{
  width:46px;height:46px;border-radius:12px;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--green-tint);color:var(--green-dark);
  margin-bottom:1rem;transition:transform .35s var(--ease), background .35s;
}
.svc__icon svg{width:22px;height:22px}
.svc:hover .svc__icon{background:var(--green);color:#fff}
.svc h3{margin-bottom:.4rem}
.svc p{font-size:.94rem;color:var(--ink-3);margin-bottom:1.2rem}
.svc__link{
  margin-top:auto;display:inline-flex;align-items:center;gap:.4rem;
  color:var(--green-dark);font-weight:600;font-size:.92rem;
}
.svc__link svg{width:14px;height:14px;transition:transform .3s var(--ease)}
.svc:hover .svc__link svg{transform:translateX(4px)}
@media(max-width:900px){.services{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.services{grid-template-columns:1fr}}
.services--2{grid-template-columns:repeat(2,1fr)}
@media(max-width:560px){.services--2{grid-template-columns:1fr}}
.guides-more{text-align:center;margin-top:1.8rem;color:var(--ink-3)}
.guides-more a{color:var(--green-dark);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* ---------- CERT / WHY ---------- */
.feature{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.check-list{list-style:none;margin:1.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.8rem}
.check-list li{display:flex;gap:.9rem;align-items:flex-start;font-size:.98rem}
.check-list svg{flex-shrink:0;width:22px;height:22px;margin-top:2px;color:#fff;background:var(--green);border-radius:50%;padding:4px}
.check-list strong{color:var(--ink);font-weight:700}

.cert-card{
  perspective:1400px;width:100%;max-width:480px;margin:0 auto;
}
.cert-card__inner{
  position:relative;aspect-ratio:1.42/1;
  transform:rotateY(-16deg) rotateX(10deg);
  transform-style:preserve-3d;
  transition:transform .8s var(--ease);
}
.cert-card__doc{
  position:absolute;inset:0;border-radius:18px;
  background:
    radial-gradient(80% 100% at 0% 0%, rgba(189,234,92,.08), transparent 55%),
    linear-gradient(160deg,#ffffff 0%, #f2f7ec 100%);
  box-shadow:
    0 40px 80px -30px rgba(15,26,13,.35),
    0 14px 30px -12px rgba(15,26,13,.2),
    inset 0 1px 0 #fff,
    inset 0 0 0 1px rgba(15,26,13,.05);
  padding:1.5rem 1.6rem 1.3rem;
  display:flex;flex-direction:column;gap:.55rem;
  transform:translateZ(0);
  overflow:hidden;
}
.cert-card__doc::before{
  /* fine double-border */
  content:"";position:absolute;inset:10px;border-radius:12px;
  border:1px solid rgba(58,158,30,.18);
  pointer-events:none;
}
.cert-card__doc::after{
  /* paper grain */
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.22;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0'/></filter><rect width='200' height='200' filter='url(%23n)'/></svg>");
}
.cert-card__watermark{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:800;font-size:4rem;
  color:rgba(58,158,30,.055);letter-spacing:-.02em;
  transform:rotate(-18deg);white-space:nowrap;overflow:hidden;
  pointer-events:none;z-index:0;
}
.cert-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;position:relative;z-index:1}
.cert-card__kicker{font-size:.65rem;font-weight:700;color:var(--green-dark);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.35rem}
.cert-card__title{font-family:var(--font-display);font-weight:800;color:var(--ink);font-size:1.08rem;line-height:1.18;letter-spacing:-.02em}
.cert-card__title em{font-style:normal;display:block;color:var(--muted);font-weight:500;font-size:.74rem;margin-top:.25rem;letter-spacing:.04em}
.cert-seal{width:64px;height:64px;flex-shrink:0;filter:drop-shadow(0 6px 14px rgba(58,158,30,.35))}
.cert-card__lines{display:flex;flex-direction:column;gap:.4rem;margin-top:.4rem;position:relative;z-index:1}
.cert-card__lines span{height:5px;border-radius:2.5px;background:rgba(15,26,13,.07)}
.cert-card__lines span:nth-child(1){width:94%}
.cert-card__lines span:nth-child(2){width:78%}
.cert-card__lines span:nth-child(3){width:64%}
.cert-card__lines span:nth-child(4){width:88%;background:linear-gradient(90deg,rgba(58,158,30,.25),rgba(189,234,92,.25))}
.cert-card__sig{display:flex;align-items:flex-end;gap:.6rem;margin-top:.4rem;position:relative;z-index:1}
.cert-card__sig svg{width:110px;height:26px}
.cert-card__sig span{font-size:.66rem;color:var(--muted);border-top:1px solid rgba(15,26,13,.12);padding-top:.2rem;flex:1}
.cert-card__footer{
  margin-top:auto;display:flex;justify-content:space-between;align-items:center;
  font-size:.7rem;color:var(--muted);font-family:"SF Mono",ui-monospace,Menlo,monospace;letter-spacing:.02em;
  border-top:1px dashed rgba(15,26,13,.12);padding-top:.7rem;position:relative;z-index:1;
}
.cert-card__chip{
  position:absolute;top:-14px;right:-18px;transform:translateZ(80px);
  background:var(--dark);color:#fff;padding:.55rem .9rem;border-radius:12px;
  font-size:.72rem;font-weight:700;display:inline-flex;align-items:center;gap:.5rem;
  box-shadow:0 20px 40px -12px rgba(15,26,13,.45), inset 0 1px 0 rgba(255,255,255,.1);
  letter-spacing:.02em;
}
.cert-card__chip .pulse{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 0 rgba(189,234,92,.6);animation:pulse 2s ease-out infinite}

@media(max-width:900px){.feature{grid-template-columns:1fr}}

/* ---------- PROCESS / TIMELINE ---------- */
.timeline{
  position:relative;margin-top:3rem;
  display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;
}
.timeline::before{
  content:"";position:absolute;left:6%;right:6%;top:40px;height:2px;
  background:linear-gradient(90deg,var(--green) 0%,var(--yellow) 100%);
  opacity:.25;border-radius:2px;z-index:0;
}
.step{
  position:relative;padding-top:90px;z-index:1;
  opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease), transform .7s var(--ease);
  transition-delay:calc(var(--i,0) * .12s);
}
.step.is-in{opacity:1;transform:translateY(0)}
.step__num{
  position:absolute;left:0;top:0;width:72px;height:72px;border-radius:50%;
  background:#fff;border:2px solid var(--green);color:var(--green-dark);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:800;font-size:1.6rem;
  box-shadow:0 14px 34px -14px rgba(58,158,30,.45);
}
.step__num::after{
  content:"";position:absolute;inset:-6px;border-radius:50%;
  border:1px dashed rgba(58,158,30,.4);animation:spin 22s linear infinite;
}
.step h3{margin:0 0 .4rem}
.step p{font-size:.93rem;color:var(--ink-3)}

@media(max-width:900px){.timeline{grid-template-columns:1fr;gap:1.8rem}.timeline::before{left:34px;right:auto;top:40px;bottom:40px;width:2px;height:auto;background:linear-gradient(180deg,var(--green),var(--yellow))}.step{padding:0 0 0 100px}.step__num{left:0}}

/* ---------- SUSTAINABILITY / ESG ---------- */
.esg{
  background:linear-gradient(140deg, var(--dark) 0%, var(--dark-2) 55%, #1a3a1f 120%);
  color:#dde5d9;border-radius:var(--radius-xl);
  padding:clamp(2.5rem,5vw,4rem);
  position:relative;overflow:hidden;
}
.esg::before,.esg::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.esg::before{width:420px;height:420px;background:radial-gradient(circle,rgba(189,234,92,.22),transparent 60%);top:-120px;right:-100px}
.esg::after{width:360px;height:360px;background:radial-gradient(circle,rgba(58,158,30,.35),transparent 60%);bottom:-140px;left:-80px}
.esg__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2rem,4vw,3.5rem);align-items:center}
.esg h2{color:#fff}
.esg p{color:#b6c1b1}

.ring-wrap{position:relative;width:260px;height:260px;margin:0 auto}
.ring-svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring-track{fill:none;stroke:rgba(255,255,255,.08);stroke-width:10}
.ring-fill{fill:none;stroke:url(#ringG);stroke-width:10;stroke-linecap:round;stroke-dasharray:var(--len,754);stroke-dashoffset:var(--len,754);transition:stroke-dashoffset 1.8s var(--ease)}
.ring-wrap.is-in .ring-fill{stroke-dashoffset:calc(var(--len,754) * .02)}
.ring-number{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.ring-number strong{font-family:var(--font-display);font-weight:800;font-size:3.4rem;color:#fff;line-height:1;letter-spacing:-.02em}
.ring-number span{font-size:.9rem;color:#b6c1b1;margin-top:.25rem;text-transform:uppercase;letter-spacing:.1em}

.esg__facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem}
.fact{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:1rem 1.1rem}
.fact strong{color:#fff;font-family:var(--font-display);font-size:1.35rem;font-weight:800;display:block;line-height:1}
.fact span{color:#b6c1b1;font-size:.85rem;display:block;margin-top:.3rem}

@media(max-width:900px){.esg__grid{grid-template-columns:1fr}}

/* ---------- INDUSTRIES ---------- */
.industries{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem;justify-content:center}
.ind{
  display:inline-flex;align-items:center;gap:.55rem;
  background:#fff;border:1px solid var(--line);border-radius:999px;
  padding:.7rem 1.1rem;font-size:.92rem;font-weight:600;color:var(--ink-3);
  transition:background .25s, color .25s, border-color .25s, transform .25s;
}
.ind:hover{background:var(--green-soft);color:var(--green-dark);border-color:rgba(58,158,30,.3)}
.ind svg{width:18px;height:18px;color:var(--green)}

/* ---------- TESTIMONIALS ---------- */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:2.5rem}
.quote{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:1.75rem 1.6rem;display:flex;flex-direction:column;gap:1rem;
  position:relative;
}
.quote::before{
  content:"“";position:absolute;top:.5rem;right:1.2rem;
  font-family:Georgia, serif;font-size:4rem;color:var(--green-tint);line-height:1;
}
.quote__stars{display:flex;gap:2px;color:var(--yellow)}
.quote__stars svg{width:16px;height:16px;fill:currentColor}
.quote blockquote{margin:0;font-size:.97rem;color:var(--ink-2);line-height:1.6}
.quote__who{display:flex;align-items:center;gap:.8rem;margin-top:auto}
.quote__avatar{
  width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg,var(--green),var(--green-dark));
  color:#fff;font-family:var(--font-display);font-weight:700;
  display:inline-flex;align-items:center;justify-content:center;font-size:.92rem;
}
.quote__who strong{display:block;color:var(--ink);font-size:.95rem}
.quote__who span{color:var(--muted);font-size:.82rem}

@media(max-width:900px){.quotes{grid-template-columns:1fr}}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin:2.5rem auto 0}
.faq__item{
  background:#fff;border:1px solid var(--line);border-radius:14px;
  margin-bottom:.7rem;overflow:hidden;
  transition:border-color .25s, box-shadow .25s;
}
.faq__item[open]{border-color:rgba(58,158,30,.3);box-shadow:var(--shadow-sm)}
.faq__item summary{
  list-style:none;cursor:pointer;padding:1.1rem 1.3rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  font-family:var(--font-display);font-weight:600;color:var(--ink);font-size:1rem;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{
  content:"";width:22px;height:22px;border-radius:50%;
  background:var(--green-tint);color:var(--green-dark);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232d7d16' stroke-width='3' stroke-linecap='round'><path d='M12 6v12M6 12h12'/></svg>");
  background-size:14px;background-repeat:no-repeat;background-position:center;
  transition:transform .3s var(--ease), background-color .3s;
}
.faq__item[open] summary::after{transform:rotate(45deg);background-color:var(--green);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round'><path d='M12 6v12M6 12h12'/></svg>")}
.faq__item summary:hover{color:var(--green-dark)}
.faq__body{padding:0 1.3rem 1.1rem;color:var(--ink-3);font-size:.95rem;line-height:1.65}

/* ---------- FINAL CTA ---------- */
.cta{
  background:linear-gradient(130deg,var(--dark) 0%,#15281a 70%,var(--green-deep) 160%);
  color:#fff;border-radius:var(--radius-xl);
  padding:clamp(2.5rem,5vw,4rem);
  position:relative;overflow:hidden;text-align:center;isolation:isolate;
}
.cta::before{content:"";position:absolute;inset:-20%;background:conic-gradient(from 120deg at 50% 50%, rgba(58,158,30,.28), transparent 28%, rgba(232,242,58,.22) 58%, transparent 82%);animation:ctaSweep 18s linear infinite;border-radius:inherit;z-index:0;will-change:transform}
.cta::after{content:"";position:absolute;top:-40%;right:-15%;width:65%;height:200%;background:radial-gradient(ellipse, rgba(189,234,92,.22), transparent 65%);pointer-events:none;animation:ctaDrift 14s ease-in-out infinite alternate;z-index:0;will-change:transform,opacity}
@keyframes ctaSweep{from{transform:rotate(0deg) scale(1.05)}to{transform:rotate(360deg) scale(1.05)}}
@keyframes ctaDrift{0%{transform:translate(0,0) scale(1);opacity:.85}50%{transform:translate(-12%,8%) scale(1.18);opacity:1}100%{transform:translate(8%,-6%) scale(.95);opacity:.8}}
.cta > *{position:relative;z-index:1}
.cta h2{color:#fff;max-width:22ch;margin:0 auto .75rem}
.cta p{color:#b6c1b1;max-width:58ch;margin:0 auto 1.8rem}
.cta__buttons{display:flex;gap:.85rem;flex-wrap:wrap;justify-content:center}
.cta .btn--ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}
.cta .btn--ghost:hover{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.35)}

/* ---------- FOOTER ---------- */
.ftr{background:var(--dark);color:#9aa896;padding:4rem 0 1.5rem}
.ftr a{color:#c4d3bb}
.ftr a:hover{color:var(--lime)}
.ftr__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:2rem}
.ftr .footer-title{color:#fff;font-size:1rem;margin:0 0 1rem;font-family:var(--font-display);font-weight:700;line-height:1.12}
.ftr ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;font-size:.9rem}
.ftr__brand img{width:auto;height:88px;margin-bottom:1.25rem;display:block;filter:none}
.ftr__brand p{color:#9aa896;font-size:.9rem;max-width:40ch}
.ftr__social{display:flex;gap:.6rem;margin-top:1rem}
.ftr__social a{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.06);display:inline-flex;align-items:center;justify-content:center;transition:background .25s, transform .25s}
.ftr__social a:hover{background:var(--green);transform:translateY(-2px)}
.ftr__social svg{width:16px;height:16px;color:#fff}
.ftr__bottom{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:1rem;font-size:.82rem;flex-wrap:wrap}
.ftr__bottom a{margin-left:1rem}
@media(max-width:760px){.ftr__grid{grid-template-columns:1fr 1fr}.ftr__brand{grid-column:1 / -1}}

/* ---------- FLOATING CALL BUTTON ---------- */
.call-fab{
  position:fixed;right:1.2rem;bottom:1.2rem;z-index:70;
  width:58px;height:58px;border-radius:50%;
  background:var(--green);color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 18px 40px -10px rgba(58,158,30,.6);
  transition:transform .3s var(--ease), background .3s;
}
.call-fab::before{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;animation:pulse 2.4s ease-out infinite;z-index:-1}
.call-fab:hover{background:var(--green-dark);color:#fff;transform:translateY(-3px) scale(1.05)}
.call-fab svg{width:22px;height:22px}

/* ---------- Cookie banner (same markup + storage key as the sub-pages) ---------- */
.cookie-banner{
  position:fixed;bottom:1rem;left:1rem;right:1rem;z-index:75;
  max-width:480px;margin-left:auto;
  background:rgba(255,255,255,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid var(--line);border-radius:var(--radius);
  padding:1.25rem;box-shadow:var(--shadow-lg);font-size:.9rem;
  transform:translateY(calc(100% + 2rem));transition:transform .45s var(--ease);
}
.cookie-banner.is-visible{transform:translateY(0)}
.cookie-banner p{margin:0 0 1rem;font-size:.88rem}
.cookie-banner .actions{display:flex;gap:.5rem;flex-wrap:wrap}
.cookie-banner .btn{padding:.6rem 1rem;font-size:.85rem}

/* ---------- Reveal ---------- */
/* Hero: visible at first paint (LCP), only slides into place */
.hero-in{animation:heroIn .7s var(--ease) both}
@keyframes heroIn{from{transform:translateY(14px)}to{transform:none}}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .75s var(--ease), transform .75s var(--ease)}
.reveal.is-in{opacity:1;transform:none}

/* ---------- Scroll progress ---------- */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:100%;background:transparent;z-index:90;pointer-events:none}
.scroll-progress::after{content:"";display:block;height:100%;width:var(--sp,0%);background:linear-gradient(90deg,var(--green),var(--yellow));transition:width .08s linear}

/* ---------- Section heads ---------- */
.s-head{text-align:center;max-width:720px;margin:0 auto 1.5rem}

/* ---------- DIN 66399 Precision Ladder ---------- */
.din-wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem,4vw,4rem);align-items:center}
@media(max-width:980px){.din-wrap{grid-template-columns:1fr}}
.din-copy h2{color:#fff;margin-bottom:.9rem;letter-spacing:-.028em}
.din-copy h2 em{font-style:normal;color:var(--lime)}
.din-copy p{color:#b6c1b1;max-width:50ch;font-size:1.02rem;line-height:1.65}
.din-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.4rem}
.din-meta span{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--lime);background:rgba(189,234,92,.08);border:1px solid rgba(189,234,92,.22);padding:.4rem .75rem;border-radius:999px}
.din-cta{margin-top:2rem}

.din-ladder{display:flex;flex-direction:column;gap:.9rem;position:relative}
.din-ladder::before{
  content:"";position:absolute;left:2.4rem;top:0;bottom:0;width:1px;
  background:linear-gradient(180deg, rgba(189,234,92,.4) 0%, rgba(58,158,30,.1) 100%);
  z-index:0;
}

.tier{
  position:relative;z-index:1;
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.2rem;
  background:linear-gradient(100deg, rgba(255,255,255,.03) 0%, rgba(255,255,255,.01) 100%);
  border:1px solid rgba(255,255,255,.07);
  border-radius:var(--radius-lg);
  padding:1rem 1.25rem 1rem 1rem;
  transition:border-color .4s var(--ease), background .4s var(--ease), transform .4s var(--ease);
  opacity:0;transform:translateX(20px);
}
.reveal.is-in .tier{animation:tierIn .7s var(--ease) forwards}
.tier:nth-of-type(1){animation-delay:.1s}
.tier:nth-of-type(2){animation-delay:.25s}
.tier:nth-of-type(3){animation-delay:.4s}
.tier:nth-of-type(4){animation-delay:.55s}
@keyframes tierIn{to{opacity:1;transform:translateX(0)}}
.tier:hover{
  border-color:rgba(189,234,92,.4);
  background:linear-gradient(100deg, rgba(189,234,92,.06) 0%, rgba(255,255,255,.02) 100%);
  transform:translateX(4px);
}
.tier__badge{
  width:58px;height:58px;border-radius:14px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:linear-gradient(150deg, #16261b 0%, #0b140a 100%);
  border:1px solid rgba(189,234,92,.25);
  font-family:var(--font-display);flex-shrink:0;
  box-shadow:inset 0 1px 0 rgba(189,234,92,.1), 0 8px 20px -10px rgba(0,0,0,.5);
}
.tier__badge b{color:var(--lime);font-weight:800;font-size:1.1rem;line-height:1;letter-spacing:-.02em}
.tier__badge em{font-style:normal;color:#8aa57f;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;margin-top:.2rem;font-weight:700}
.tier__main{min-width:0}
.tier__title{font-family:var(--font-display);font-weight:700;color:#fff;font-size:1.02rem;margin-bottom:.15rem;letter-spacing:-.01em}
.tier__sub{color:#9ebd8d;font-size:.78rem;font-weight:500;letter-spacing:.01em}
.tier__viz{
  display:flex;align-items:center;justify-content:flex-end;gap:3px;
  width:clamp(110px,18vw,160px);height:44px;flex-shrink:0;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.06);border-radius:10px;
  padding:6px;overflow:hidden;
}
.tier__viz i{
  display:block;background:linear-gradient(180deg,var(--lime),var(--green));
  border-radius:1.5px;opacity:.85;flex-shrink:0;
  box-shadow:0 0 6px rgba(189,234,92,.35);
}
/* H-3: 1 big chunk */
.tier[data-level="3"] .tier__viz{justify-content:center}
.tier[data-level="3"] .tier__viz i{width:60px;height:32px;border-radius:3px}
/* H-4: 4 medium */
.tier[data-level="4"] .tier__viz i{width:18px;height:24px}
/* H-5: many small */
.tier[data-level="5"] .tier__viz i{width:7px;height:14px}
/* H-7: tiny particles (dust) */
.tier[data-level="7"] .tier__viz{gap:2px}
.tier[data-level="7"] .tier__viz i{width:3px;height:7px;border-radius:1px}
.tier[data-level="7"] .tier__viz i:nth-child(even){height:5px}
.tier[data-level="7"] .tier__viz i:nth-child(3n){height:9px}

/* ---------- Reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
  .reveal,.step{opacity:1;transform:none}
  .scene__stage,.cert-card__inner{animation:none}
  .ring-wrap.is-in .ring-fill{stroke-dashoffset:calc(var(--len,754) * .02)}
}
