/* ============================================================
   THE CURATED — shared subpage styles (reia subpage pattern:
   light background, dark text, same motion system)
   ============================================================ */
@font-face{font-family:'Quicksand';font-weight:500;font-display:swap;src:url('fonts/quicksand-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Quicksand';font-weight:700;font-display:swap;src:url('fonts/quicksand-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Overpass';font-weight:300;font-display:swap;src:url('fonts/overpass-latin-300-normal.woff2') format('woff2')}
@font-face{font-family:'Overpass';font-weight:400;font-display:swap;src:url('fonts/overpass-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Overpass';font-weight:700;font-display:swap;src:url('fonts/overpass-latin-700-normal.woff2') format('woff2')}

:root{
  --sage:#43675D; --deep:#15392F; --forest:#003A2E; --mist:#C0C6C4;
  --pink:#FCD3FF; --ink:#0F221D;
  --disp:'Quicksand',sans-serif; --body:'Overpass',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body.subpage{
  background:#fff;color:var(--ink);
  font-family:var(--body);font-weight:300;line-height:1.55;
  font-size:clamp(16px,1.55vw,22px);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
::selection{background:var(--forest);color:#fff}
body[data-lang="de"] .en{display:none}
body[data-lang="en"] .de{display:none}
h1,h2,h3,strong,.disp{font-family:var(--disp);font-weight:700}
a{color:var(--ink);text-decoration:none}
p{color:#31423C}

/* cursor */
@media(hover:hover) and (pointer:fine){
  body.subpage{cursor:none}
  body.subpage a,body.subpage button{cursor:none}
  #cursor{position:fixed;top:-100px;left:-100px;z-index:9999999;width:20px;height:20px;pointer-events:none;display:block}
  #cursor:after{
    content:'';position:absolute;width:20px;height:20px;left:10px;top:10px;
    border-radius:50%;background:var(--pink);
    display:flex;align-items:center;justify-content:center;
    font-family:var(--body);font-weight:400;font-size:20px;color:#000;
    transition:width .3s,height .3s,left .3s,top .3s;
  }
  #cursor.hover:after{content:attr(data-label);width:120px;height:120px;left:-40px;top:-40px}
}
#cursor{display:none}

/* fade system */
.fade,.fade .fade-row{transition:transform 1.2s ease-in-out,opacity .8s ease-in-out;opacity:0;transform:translateY(5vh);will-change:transform}
.fade .fade-row{display:block;opacity:1}
.fade.animate,.fade.animate .fade-row{opacity:1;transform:translateY(0)}
.fade .fade-row:nth-child(1){transition-delay:.1s}
.fade .fade-row:nth-child(2){transition-delay:.2s}
.fade .fade-row:nth-child(3){transition-delay:.3s}
.fade .fade-row:nth-child(4){transition-delay:.4s}
.fade .fade-row:nth-child(5){transition-delay:.5s}
.fade .fade-row:nth-child(6){transition-delay:.6s}
.fade .fade-row:nth-child(7){transition-delay:.7s}

/* logo / burger / menu (dark on light) */
.site-logo{position:fixed;left:2.6vw;top:1.6vw;z-index:120;display:flex;align-items:center;gap:.6vw}
.site-logo svg{width:2.4vw;min-width:26px;height:auto;color:var(--ink)}
.site-logo .wm{font-family:var(--disp);font-weight:700;font-size:clamp(16px,1.5vw,24px);color:var(--ink)}
.site-logo .crumb{font-family:var(--disp);font-weight:500;color:#9aa5a1;font-size:clamp(15px,1.4vw,22px);margin-left:.5vw}
.hamburger,.close-btn{display:block;position:fixed;width:2.9vw;min-width:34px;height:2.4vw;min-height:26px;right:2.9vw;top:1.8vw;z-index:130;background:none;border:none}
.hamburger .l{display:block;height:2px;background:var(--ink);margin:0 0 .55vw;transition:width .3s;width:100%}
.hamburger .l:last-child{width:60%}
@media(hover:hover){.hamburger:hover .l:last-child{width:100%}}
.close-btn{display:none}
.close-btn:before,.close-btn:after{content:'';position:absolute;left:0;top:50%;width:100%;height:2px;background:#fff}
.close-btn:before{transform:rotate(45deg)}
.close-btn:after{transform:rotate(-45deg)}
#navigation{width:100%;height:100%;position:fixed;left:-100%;top:0;z-index:125;background:rgba(21,57,47,1);transition:left .6s cubic-bezier(.6,.05,.2,.99);display:block!important}
#navigation.active{left:0}
ul.menu{position:absolute;z-index:9999;left:12%;top:47%;transform:translateY(-50%);list-style:none}
ul.menu li{margin:0 0 1.2vw}
ul.menu a{font-size:clamp(26px,3.6vw,54px);font-family:var(--disp);font-weight:500;color:#fff;display:inline-block;line-height:1.15}
ul.menu a b{font-weight:700}
ul.menu .pre{font-family:var(--body);font-weight:100;font-size:.45em;display:inline-block;width:4.5em;color:rgba(255,255,255,.55)}
@media(hover:hover){ul.menu a:hover b{text-decoration:underline;text-underline-offset:.15em;text-decoration-thickness:2px}}
#navigation .legal{position:absolute;left:3vw;bottom:3vw;font-size:clamp(13px,1.8vw,20px);font-weight:100}
#navigation .legal a{text-transform:lowercase;color:#fff;margin-right:2vw}
#navigation .legal.ru{left:auto;right:3.1vw}

/* lang nav */
.lang-nav{color:var(--ink);font-size:clamp(15px,1.6vw,22px);font-weight:100;bottom:2.6vw;left:3.4vw;position:fixed;z-index:10}
.lang-nav button{background:none;border:none;color:var(--ink);font-family:var(--body);font-size:inherit;font-weight:100;padding:0}
.lang-nav button[aria-pressed="true"]{font-family:var(--disp);font-weight:700}
.lang-nav .divide{padding:0 .25vw;display:inline-block}

/* layout */
.pagehead{width:77%;margin:14vw auto 5vw 12%}
.pagehead h1{font-size:clamp(34px,5vw,76px);line-height:1.05;font-weight:500}
.pagehead h1 b{font-weight:700}
.pagehead .sub{font-size:clamp(16px,1.5vw,23px);margin-top:1.4vw;max-width:36em}
.section-content{width:77%;margin:0 auto 7vw 12%}
.section-content strong.big{font-size:clamp(22px,2.4vw,38px);display:block;padding-bottom:1vw}
.section-content p{max-width:38em;margin-bottom:1em}

/* slide buttons (dark variant) */
.slidebutton{display:inline-block;border-radius:4vw;position:relative;overflow:hidden;background:transparent;margin:0 1vw 2vw 0;border:2px solid rgba(0,58,46,.45);vertical-align:top}
.slidebutton .slide-inner{display:block;transition:transform .6s ease-out;white-space:nowrap}
.slide-inner span{display:flex;align-items:center;gap:2vw;border-radius:4vw;padding:.9vw 1.5vw .75vw;font-family:var(--disp);font-weight:700;font-size:clamp(15px,1.5vw,24px)}
.slide-inner .slide1{background:transparent;color:var(--ink)}
.slide-inner .slide2{background:var(--forest);color:#fff}
@media(hover:hover){
  .slidebutton:hover .slide-inner{transform:translateY(-50%)}
  .slidebutton:hover{background:var(--forest);border-color:var(--forest);transition:background .1s linear .6s,border-color .1s linear .6s}
}
.pfeil{font-family:var(--body);font-weight:300}

/* criteria pills (dark) */
.crit{display:flex;flex-wrap:wrap;gap:1vw;margin:2vw 0}
.crit span{border:2px solid rgba(0,58,46,.4);border-radius:4vw;padding:.45em 1.1em .35em;font-family:var(--disp);font-weight:700;font-size:clamp(13px,1.2vw,19px)}

/* process steps */
.proc{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:2.5vw;margin-top:2vw}
.proc .step{border-top:2px solid rgba(15,34,29,.25);padding-top:1vw}
.proc .no{font-family:var(--disp);font-weight:700;color:#9aa5a1;display:block}
.proc strong{display:block;padding:.2vw 0 .4vw}
.proc p{font-size:clamp(13px,1.1vw,17px)}

/* advantage list */
.adv{margin:1.5vw 0 0;max-width:34em}
.adv li{list-style:none;border-bottom:1px solid rgba(15,34,29,.18);padding:.7vw 0;font-family:var(--disp);font-weight:500;font-size:clamp(15px,1.4vw,22px)}

/* team rows (reia team pattern: alternating full-bleed photo + text) */
.person{display:grid;grid-template-columns:38% 62%;min-height:88vh;align-items:center}
.person:nth-child(even){grid-template-columns:62% 38%}
.person:nth-child(even) .ptxt{order:2}
.person:nth-child(even) .pfoto{order:1}
.ptxt{padding:4vw 6vw}
.ptxt h2{font-size:clamp(30px,4vw,60px);line-height:1.05;font-weight:500}
.ptxt .role{font-style:italic;font-family:var(--body);font-weight:400;font-size:clamp(16px,1.6vw,24px);margin:1vw 0 2vw;display:block}
.ptxt .facts{font-size:clamp(14px,1.2vw,18px);color:#31423C}
.ptxt .facts span{display:block;padding:.25vw 0}
.pfoto{position:relative;height:88vh;overflow:hidden;background:var(--mist)}
.pfoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .8s ease}
.pfoto img.alt{opacity:0}
@media(hover:hover){.pfoto:hover img.alt{opacity:1}}
.pfoto .ph{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--disp);font-weight:700;font-size:6vw;color:rgba(15,34,29,.35);
}

/* footer */
footer{background:var(--mist);color:#26332f;padding:1.4vw 3vw;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;font-size:clamp(12px,1vw,15px)}
footer a{color:#26332f}
@media(hover:hover){footer a:hover{text-decoration:underline}}

@media(max-width:900px){
  .pagehead{width:84%;margin-left:8%}
  .section-content{width:84%;margin-left:8%}
  .person,.person:nth-child(even){grid-template-columns:1fr;min-height:0}
  .person:nth-child(even) .ptxt{order:0}
  .pfoto{height:70vw}
  ul.menu{left:8%}
  .slidebutton{border-radius:8vw}
  .slide-inner span{padding:2.4vw 4vw 2vw}
}
