/* GSE Green Stream Elite GmbH — site styles
   Self-hosted IBM Plex (SIL OFL 1.1) — no external requests, no cookies, no tracking. */

@font-face{font-family:"Plex Sans";src:url("fonts/IBMPlexSans-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Plex Sans";src:url("fonts/IBMPlexSans-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Plex Sans";src:url("fonts/IBMPlexSans-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Plex Serif";src:url("fonts/IBMPlexSerif-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Plex Serif";src:url("fonts/IBMPlexSerif-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Plex Mono";src:url("fonts/IBMPlexMono-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Plex Mono";src:url("fonts/IBMPlexMono-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{
  --paper:#fbfaf7;
  --surface:#ffffff;
  --surface-2:#f1f0eb;
  --ink:#14181c;
  --ink-2:#3b4248;
  --muted:#6c7379;
  --line:#dedcd4;
  --line-2:#c8c5bb;
  --accent:#1f4d5c;
  --accent-2:#2c6a7d;
  --brass:#8a6118;
  --brass-soft:#f3ecdd;
  --focus:#1f4d5c;
  --sans:"Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:"Plex Serif",Georgia,"Times New Roman",serif;
  --mono:"Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --maxw:1120px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#101416; --surface:#161b1e; --surface-2:#1d2427;
    --ink:#e8e9e5; --ink-2:#b6bbbe; --muted:#868d92;
    --line:#28302f; --line-2:#3a4443;
    --accent:#79b6c6; --accent-2:#94c8d6; --brass:#d0a35e; --brass-soft:#25211a;
    --focus:#79b6c6;
  }
}
:root[data-theme="dark"]{
  --paper:#101416; --surface:#161b1e; --surface-2:#1d2427;
  --ink:#e8e9e5; --ink-2:#b6bbbe; --muted:#868d92;
  --line:#28302f; --line-2:#3a4443;
  --accent:#79b6c6; --accent-2:#94c8d6; --brass:#d0a35e; --brass-soft:#25211a;
  --focus:#79b6c6;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--sans); font-size:16.5px; line-height:1.7;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{margin:0; line-height:1.25; text-wrap:balance; font-weight:600}
h1{font-family:var(--serif); font-size:clamp(29px,3.9vw,42px); letter-spacing:-.015em}
h2{font-family:var(--serif); font-size:clamp(23px,3vw,30px); letter-spacing:-.01em}
h3{font-size:18px; letter-spacing:-.005em}
h4{font-size:15px; font-weight:600}
p{margin:0; max-width:68ch}
a{color:var(--accent); text-underline-offset:3px; text-decoration-thickness:1px}
a:hover{color:var(--accent-2)}
:focus-visible{outline:2px solid var(--focus); outline-offset:2px; border-radius:2px}
img,svg{max-width:100%}
hr{border:0; border-top:1px solid var(--line); margin:0}

.skip{position:absolute; left:-9999px; top:0; background:var(--accent); color:#fff; padding:10px 16px; z-index:100}
.skip:focus{left:0}

.wrap{max-width:var(--maxw); margin:0 auto; padding-inline:22px}
.stack{display:flex; flex-direction:column; gap:18px}
.stack-lg{display:flex; flex-direction:column; gap:34px}

/* ---------- header ---------- */
.site-head{border-bottom:1px solid var(--line); background:var(--surface); position:relative}
.head-in{max-width:var(--maxw); margin:0 auto; padding:16px 22px; display:flex; align-items:center; gap:20px; flex-wrap:wrap}
.brand{display:flex; align-items:center; gap:11px; text-decoration:none; color:var(--ink); flex:none}
.brand .mark{font-family:var(--serif); font-weight:600; font-size:25px; letter-spacing:.01em; line-height:1}
.brand .rule{width:1px; height:26px; background:var(--line-2)}
.brand .full{font-family:var(--mono); font-size:9.5px; letter-spacing:.09em; color:var(--muted); line-height:1.4; max-width:16ch; white-space:nowrap}
nav.main{margin-inline-start:auto; display:flex; align-items:center; gap:2px; flex-wrap:wrap}
nav.main a{font-size:14px; text-decoration:none; color:var(--ink-2); padding:7px 11px; border-radius:4px}
nav.main a:hover{background:var(--surface-2); color:var(--ink)}
nav.main a[aria-current="page"]{color:var(--ink); box-shadow:inset 0 -2px 0 var(--brass)}
.lang{font-family:var(--mono); font-size:11.5px; letter-spacing:.06em; text-decoration:none; color:var(--muted);
  border:1px solid var(--line); padding:5px 9px; border-radius:4px; margin-inline-start:8px}
.lang:hover{border-color:var(--line-2); color:var(--ink)}

/* ---------- hero ---------- */
.hero{background:var(--surface); border-bottom:1px solid var(--line)}
.hero-in{max-width:var(--maxw); margin:0 auto; padding:58px 22px 48px; display:flex; flex-direction:column; gap:20px}
.kicker{font-family:var(--mono); font-size:11.5px; letter-spacing:.15em; color:var(--brass)}
.hero p.lede{font-size:18px; color:var(--ink-2); max-width:64ch}
.hero h1{max-width:26ch}

/* registration strip */
.regstrip{border-top:1px solid var(--line); background:var(--paper)}
.regstrip-in{max-width:var(--maxw); margin:0 auto; padding:0 22px}
.regstrip dl{margin:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.regstrip .cell{padding:16px 0 18px; padding-inline-end:20px; border-inline-end:1px solid var(--line)}
.regstrip .cell:last-child{border-inline-end:0}
.regstrip dt{font-family:var(--mono); font-size:10.5px; letter-spacing:.1em; color:var(--muted); margin-bottom:4px}
.regstrip dd{margin:0; font-family:var(--mono); font-size:14px; font-weight:500; color:var(--ink); font-variant-numeric:tabular-nums}
@media (max-width:640px){.regstrip .cell{border-inline-end:0; border-bottom:1px solid var(--line)} .regstrip dl{grid-template-columns:1fr 1fr}}

/* ---------- sections ---------- */
main{display:block}
section.band{padding-block:56px; border-bottom:1px solid var(--line)}
section.band:last-of-type{border-bottom:0}
section.band.alt{background:var(--surface)}
.sec-head{display:flex; align-items:baseline; gap:14px}
.sec-head .idx{font-family:var(--mono); font-size:11.5px; color:var(--brass); letter-spacing:.1em; flex:none}
.page-head{padding-block:52px 34px; border-bottom:1px solid var(--line)}
.page-head .stack{gap:14px}
.crumb{font-family:var(--mono); font-size:11px; letter-spacing:.12em; color:var(--muted)}

/* ---------- cards / lines ---------- */
.cols{display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:1px; background:var(--line); border:1px solid var(--line)}
.cols > .col{background:var(--surface); padding:24px 22px; display:flex; flex-direction:column; gap:10px}
.cols > .col h3{font-family:var(--serif); font-size:19px}
.cols > .col p{font-size:14.5px; color:var(--ink-2)}
.cols .tagline{font-family:var(--mono); font-size:10.5px; letter-spacing:.1em; color:var(--brass)}

.rows{display:flex; flex-direction:column}
.row{display:grid; grid-template-columns:56px 1fr; gap:20px; padding-block:20px; border-bottom:1px solid var(--line)}
.row:first-child{border-top:1px solid var(--line)}
.row .n{font-family:var(--mono); font-size:12px; color:var(--brass); padding-top:3px; letter-spacing:.06em}
.row h3{margin-bottom:6px}
.row p{font-size:15px; color:var(--ink-2)}
@media (max-width:520px){.row{grid-template-columns:1fr; gap:6px}}

ul.list{margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:9px}
ul.list li{position:relative; padding-inline-start:18px; max-width:68ch; color:var(--ink-2)}
ul.list li::before{content:""; position:absolute; inset-inline-start:0; top:.7em; width:7px; height:1px; background:var(--brass)}

/* document set */
.docset{display:flex; flex-wrap:wrap; gap:8px}
.docset span{font-family:var(--mono); font-size:12.5px; color:var(--ink-2);
  border:1px solid var(--line); background:var(--surface); padding:6px 11px; border-radius:3px}

/* note / callout */
.note{border-inline-start:3px solid var(--brass); background:var(--brass-soft); padding:16px 18px; display:flex; flex-direction:column; gap:8px}
.note p{font-size:14.5px; color:var(--ink-2)}
.note .lbl{font-family:var(--mono); font-size:10.5px; letter-spacing:.1em; color:var(--brass)}
.note.plain{border-inline-start-color:var(--line-2); background:var(--surface-2)}
.note.plain .lbl{color:var(--muted)}

/* tables */
.tw{overflow-x:auto; border:1px solid var(--line); background:var(--surface)}
table{border-collapse:collapse; width:100%; min-width:560px; font-size:14px}
caption{text-align:start; font-size:12.5px; color:var(--muted); padding:12px 16px; border-bottom:1px solid var(--line)}
th{text-align:start; font-family:var(--mono); font-weight:500; font-size:10.5px; letter-spacing:.1em;
  color:var(--muted); padding:11px 16px; border-bottom:1px solid var(--line-2); white-space:nowrap; background:var(--surface-2)}
td{padding:12px 16px; border-bottom:1px solid var(--line); vertical-align:top; color:var(--ink-2)}
tbody tr:last-child td{border-bottom:0}
td.k{color:var(--ink); font-weight:500}
td .mono,.mono{font-family:var(--mono); font-variant-numeric:tabular-nums}
.status{font-family:var(--mono); font-size:11px; letter-spacing:.05em; padding:3px 8px; border-radius:3px; white-space:nowrap;
  border:1px solid var(--line-2); color:var(--muted); background:var(--paper)}
.status.prep{border-color:var(--brass); color:var(--brass); background:var(--brass-soft)}

/* CTA */
.cta{display:inline-flex; align-items:center; gap:9px; font-size:15px; font-weight:500; text-decoration:none;
  background:var(--accent); color:#fff; padding:12px 20px; border-radius:4px; border:1px solid var(--accent); align-self:flex-start}
.cta:hover{background:var(--accent-2); border-color:var(--accent-2); color:#fff}
.cta.ghost{background:transparent; color:var(--accent); border-color:var(--line-2)}
.cta.ghost:hover{background:var(--surface-2); color:var(--accent)}
:root[data-theme="dark"] .cta{color:#0d1214}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cta{color:#0d1214}}
:root[data-theme="dark"] .cta.ghost{color:var(--accent)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cta.ghost{color:var(--accent)}}

/* prose (legal pages) */
.prose{max-width:74ch; display:flex; flex-direction:column; gap:16px}
.prose h2{font-size:22px; margin-top:22px}
.prose h3{margin-top:14px}
.prose p,.prose li{font-size:15.5px; color:var(--ink-2)}
.prose dl{margin:0; display:grid; grid-template-columns:minmax(150px,auto) 1fr; gap:8px 22px; font-size:15px}
.prose dt{color:var(--muted)}
.prose dd{margin:0; color:var(--ink)}
@media (max-width:560px){.prose dl{grid-template-columns:1fr; gap:2px 0} .prose dd{margin-bottom:10px}}

/* form */
form.rfq{display:flex; flex-direction:column; gap:18px; max-width:640px}
.field{display:flex; flex-direction:column; gap:6px}
.field label{font-size:14px; font-weight:500}
.field .hint{font-size:12.5px; color:var(--muted)}
.field input,.field select,.field textarea{
  font-family:var(--sans); font-size:15px; color:var(--ink); background:var(--surface);
  border:1px solid var(--line-2); border-radius:4px; padding:10px 12px; width:100%}
.field textarea{min-height:130px; resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent); outline:2px solid var(--focus); outline-offset:1px}
.field.req label::after{content:" *"; color:var(--brass)}
.consent{display:flex; gap:11px; align-items:flex-start; font-size:14px; color:var(--ink-2)}
.consent input{margin-top:.3em; width:16px; height:16px; accent-color:var(--accent); flex:none}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.grid2{display:grid; grid-template-columns:1fr 1fr; gap:18px}
@media (max-width:560px){.grid2{grid-template-columns:1fr}}

/* footer */
.site-foot{background:var(--surface); border-top:1px solid var(--line); padding-block:40px 30px; margin-top:0}
.foot-in{max-width:var(--maxw); margin:0 auto; padding-inline:22px; display:flex; flex-direction:column; gap:26px}
.foot-cols{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:26px}
.foot-cols h4{font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; color:var(--muted); font-weight:500; margin-bottom:11px}
.foot-cols ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:7px}
.foot-cols a{font-size:14px; text-decoration:none; color:var(--ink-2)}
.foot-cols a:hover{color:var(--accent)}
.foot-cols address{font-style:normal; font-size:14px; color:var(--ink-2); line-height:1.6}
.legal-line{border-top:1px solid var(--line); padding-top:18px; font-family:var(--mono); font-size:11.5px;
  color:var(--muted); line-height:1.9}
.legal-line b{color:var(--ink-2); font-weight:500}

@media (prefers-reduced-motion:reduce){*{animation:none!important; transition:none!important; scroll-behavior:auto!important}}
@media print{.site-head,.site-foot,.cta{display:none} body{background:#fff; color:#000}}

/* ------------------------------------------------ visual system 2026 */
.gse-mark{flex:none; display:block}
.brand .gse-mark{margin-inline-end:-2px}
.fig{display:block; width:100%; height:auto}

/* hero: copy beside the file illustration */
.hero{background:
  radial-gradient(120% 100% at 100% 0%, var(--surface-2) 0%, transparent 58%),
  var(--surface)}
.hero-in{display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:48px; align-items:center; padding:62px 22px 54px}
.hero-copy{display:flex; flex-direction:column; gap:20px}
.hero-art{display:flex; justify-content:center}
.hero-fig{max-width:400px}
@media (max-width:900px){
  .hero-in{grid-template-columns:1fr; gap:34px; padding-block:46px 40px}
  .hero-art{order:-1; justify-content:flex-start}
  .hero-fig{max-width:290px}
}

/* product-line cards */
.cols > .col{padding:0 0 24px; gap:0}
.col-art{background:var(--surface-2); border-bottom:1px solid var(--line);
  padding:14px 18px 0; margin-bottom:20px}
.card-fig{max-width:100%}
.cols > .col > *:not(.col-art){margin-inline:22px}
.cols > .col .tagline{margin-bottom:8px}
.cols > .col h3{margin-bottom:10px}
.cols > .col p{margin-bottom:12px}
.cols > .col a{margin-top:auto}
.cols > .col:hover .col-art{background:var(--brass-soft)}
.col-art{transition:background .25s ease}

/* numbered process rows, now with a mark */
.row{grid-template-columns:56px 1fr}
.row .n{display:flex; flex-direction:column; align-items:flex-start; gap:9px;
  padding-top:2px; color:var(--accent)}
.row .n em{font-style:normal; font-family:var(--mono); font-size:12px;
  color:var(--brass); letter-spacing:.06em}
.step-ic{width:30px; height:30px; display:block}
@media (max-width:520px){
  .row{grid-template-columns:1fr}
  .row .n{flex-direction:row; align-items:center; gap:12px}
}

/* the document set */
.sec-lede{font-size:16px; color:var(--ink-2); max-width:66ch; margin-top:-12px}
.doc-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:1px; background:var(--line); border:1px solid var(--line)}
.doc-card{background:var(--paper); padding:22px 20px 24px;
  display:flex; flex-direction:column; gap:9px; transition:background .25s ease}
.doc-card:hover{background:var(--brass-soft)}
.doc-card .step-ic{width:28px; height:28px; color:var(--accent); margin-bottom:4px}
.doc-card .dn{font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; color:var(--brass)}
.doc-card h3{font-size:16px; line-height:1.3}
.doc-card p{font-family:var(--mono); font-size:11.5px; letter-spacing:.03em;
  color:var(--muted); line-height:1.5}

/* a little more air and depth everywhere */
section.band{padding-block:64px}
.cols{gap:1px}
.cta{transition:background .2s ease, border-color .2s ease, transform .2s ease}
.cta:hover{transform:translateY(-1px)}
@media (prefers-reduced-motion:reduce){.cta:hover{transform:none}}

/* closing call band */
.closer{background:var(--accent); color:#f4f6f6}
.closer-in{max-width:var(--maxw); margin:0 auto; padding:44px 22px;
  display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap}
.closer h2{font-family:var(--serif); font-size:clamp(21px,2.6vw,27px); color:#fff; max-width:24ch}
.closer p{margin-top:9px; font-size:15px; color:#cfdcdf; max-width:52ch}
.cta.invert{background:var(--paper); border-color:var(--paper); color:var(--accent); flex:none}
.cta.invert:hover{background:#fff; border-color:#fff; color:var(--accent)}
:root[data-theme="dark"] .cta.invert,
:root[data-theme="dark"] .closer h2{color:var(--accent)}
:root[data-theme="dark"] .closer h2{color:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cta.invert{color:var(--accent)}}
@media (max-width:700px){.closer-in{flex-direction:column; align-items:flex-start}}

/* slightly larger hero art */
.hero-in{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:40px}
.hero-fig{max-width:440px}

/* --- responsive corrections (must stay last) --- */
@media (max-width:900px){
  .hero-in{grid-template-columns:1fr!important; gap:32px; padding-block:44px 38px}
  .hero-art{order:-1; justify-content:flex-start}
  .hero-fig{max-width:270px}
}
@media (max-width:560px){
  .hero-fig{max-width:220px}
  .head-in{gap:14px}
  .brand .full{font-size:9px}
}
.doc-grid{grid-template-columns:1fr}
@media (min-width:560px){.doc-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:880px){.doc-grid{grid-template-columns:repeat(3,1fr)}}

/* ===================================================================
   MOTION LAYER — CSS only. No script runs on this site; the
   Content-Security-Policy still forbids it. Everything below is
   disabled wholesale for visitors who ask for reduced motion,
   as required by EN 301 549 / the European Accessibility Act.
   =================================================================== */
@media (prefers-reduced-motion:no-preference){

  /* --- the file draws itself, once, on load --- */
  @keyframes hf-in{from{opacity:0; transform:translateY(10px)}
                   to{opacity:1; transform:none}}
  @keyframes hf-draw{from{stroke-dashoffset:210}to{stroke-dashoffset:0}}
  @keyframes hf-seal{0%{opacity:0; transform:scale(1.5) rotate(-14deg)}
                     70%{opacity:1; transform:scale(.97) rotate(2deg)}
                     100%{opacity:1; transform:scale(1) rotate(0)}}
  @keyframes hf-fade{from{opacity:0}to{opacity:1}}

  .hero-fig .hf-grid{animation:hf-fade 1s ease .1s both}
  .hero-fig .hf-p3{animation:hf-in .55s cubic-bezier(.2,.7,.3,1) .05s both}
  .hero-fig .hf-p2{animation:hf-in .55s cubic-bezier(.2,.7,.3,1) .14s both}
  .hero-fig .hf-p1{animation:hf-in .55s cubic-bezier(.2,.7,.3,1) .23s both}
  .hero-fig .hf-logo{animation:hf-fade .5s ease .5s both}
  .hero-fig .hf-rule path,
  .hero-fig .hf-lines path{stroke-dasharray:210; animation:hf-draw .5s ease both}
  .hero-fig .hf-rule path{animation-delay:.52s}
  .hero-fig .hf-lines path:nth-child(1){animation-delay:.60s}
  .hero-fig .hf-lines path:nth-child(2){animation-delay:.66s}
  .hero-fig .hf-lines path:nth-child(3){animation-delay:.72s}
  .hero-fig .hf-lines path:nth-child(4){animation-delay:.80s}
  .hero-fig .hf-lines path:nth-child(5){animation-delay:.86s}
  .hero-fig .hf-lines path:nth-child(6){animation-delay:.92s}
  .hero-fig .hf-lines path:nth-child(7){animation-delay:1.00s}
  .hero-fig .hf-lines path:nth-child(8){animation-delay:1.06s}
  .hero-fig .hf-seal{transform-origin:0 0;
    animation:hf-seal .62s cubic-bezier(.25,.9,.3,1) 1.16s both}
  .hero-fig .hf-p1,.hero-fig .hf-p2,.hero-fig .hf-p3{transform-origin:200px 190px}

  /* --- the words arrive with it --- */
  @keyframes copy-in{from{opacity:0; transform:translateY(12px)}to{opacity:1; transform:none}}
  .hero-copy > *{animation:copy-in .6s cubic-bezier(.2,.7,.3,1) both}
  .hero-copy > *:nth-child(1){animation-delay:.04s}
  .hero-copy > *:nth-child(2){animation-delay:.12s}
  .hero-copy > *:nth-child(3){animation-delay:.22s}
  .hero-copy > *:nth-child(4){animation-delay:.32s}

  /* --- a very slow drift behind the hero: seen only if you look --- */
  .hero{position:relative; overflow:hidden}
  .hero::before{content:""; position:absolute; inset:-25%; z-index:0; pointer-events:none;
    background:radial-gradient(42% 50% at 72% 22%, var(--surface-2) 0%, transparent 70%);
    animation:drift 34s ease-in-out infinite alternate}
  .hero-in{position:relative; z-index:1}
  @keyframes drift{from{transform:translate3d(-3%,-2%,0) scale(1)}
                   to{transform:translate3d(4%,3%,0) scale(1.08)}}

  /* --- sections rise as they come into view (no script: view timeline) --- */
  @supports (animation-timeline: view()){
    @keyframes rise{from{opacity:0; transform:translateY(18px)}to{opacity:1; transform:none}}
    .band .sec-head, .band .cols, .band .rows, .band .doc-grid,
    .band .tw, .band .note, .band > .wrap > p, .closer-in > *{
      animation:rise .01s linear both;
      animation-timeline:view();
      animation-range:entry 2% cover 22%;
    }
  }

  /* --- micro-interactions --- */
  .main a{position:relative}
  .main a::after{content:""; position:absolute; left:0; right:0; bottom:-5px; height:1px;
    background:var(--accent); transform:scaleX(0); transform-origin:right;
    transition:transform .28s cubic-bezier(.2,.7,.3,1)}
  .main a:hover::after,.main a[aria-current="page"]::after{transform:scaleX(1); transform-origin:left}
  .doc-card{transition:background .25s ease, transform .25s ease}
  .doc-card:hover{transform:translateY(-2px)}
  .cols > .col{transition:transform .25s ease}
  .cols > .col:hover{transform:translateY(-2px)}
  .brand .gse-mark{transition:transform .4s cubic-bezier(.2,.7,.3,1)}
  .brand:hover .gse-mark{transform:translateY(-2px)}
  .row .step-ic{transition:transform .3s ease, color .3s ease}
  .row:hover .step-ic{transform:translateY(-2px); color:var(--brass)}
}
