/*-----  VARIABLEN-DEKLARATION   -----*/

:root{
      --black:#0b0c0d;
      --black-2:#111315;
      --paper:#f2f1ed;
     /* --blue:#b8cbd5;*/
      --blue:#d3d3d3;
      --blue-2:#9fb7c3;
      --white:#f8f8f6;
      --muted:#9ea3a5;
      --line:rgba(248,248,246,.18);
      --red:#ff321e;
      --max:2100px;
      --pad:clamp(20px,4vw,64px);
      --ease:cubic-bezier(.22,.61,.36,1);
    }


/* -----  ALLGEMEINE FORMATIERUNGEN   -----*/

    *{box-sizing:border-box}
    
    html{scroll-behavior:smooth}
    
    body{
      margin:0;
      background:var(--black);
      color:var(--white);
      font-family:Arial, Helvetica, sans-serif;
      font-weight:400;
      line-height:1.35;
      overflow-x:hidden;
    }
    
    a{color:inherit;text-decoration:none}
    
    button,input,textarea{font:inherit}
    button{cursor:pointer}
    
    img{max-width:100%;display:block}
    
    
    
    /* ---------- Global layout ---------- */

    main{padding-top:72px}
    
    .section{
      max-width:var(--max);
      margin:auto;
      padding:clamp(90px,11vw,170px) var(--pad);
    }
    .eyebrow{
      display:flex;align-items:center;gap:10px;
      text-transform:uppercase;
      font-size:10px;letter-spacing:.08em;
      color:var(--muted);margin-bottom:28px;
    }
    .eyebrow:before{
      content:"";width:7px;height:7px;background:var(--red);display:block;
    }
    h1,h2,h3,p{margin-top:0}
    h1,h2{font-weight:400;letter-spacing:-.065em;line-height:.92}
    h1{font-size:clamp(54px,8.6vw,142px);max-width:1050px;margin-bottom:42px}
    h2{font-size:clamp(46px,6vw,92px);max-width:920px;margin-bottom:30px}
    h3{font-size:clamp(24px,2.6vw,40px);font-weight:400;letter-spacing:-.045em}
    .lead{font-size:clamp(18px,1.7vw,26px);max-width:700px;color:#d5d8d9}
    .small{font-size:13px;color:var(--muted)}
    .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,100px)}
    .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
    .grid-3>*{background:var(--black)}
    .line-top{border-top:1px solid var(--line)}
    .line-bottom{border-bottom:1px solid var(--line)}
    
    
    
    



 
/* ----- SCROLL-PROGRESSBAR  -----*/
  
  .scroll-progress{
    position:fixed;
    top:0;
    left:0;
    right:0;
    height:4px;
    z-index:9999;
    pointer-events:none;
    background:transparent;
  }
  
  .scroll-progress__bar{
    display:block;
    width:0;
    height:100%;
    background:#bb3f36;
    transform-origin:left center;
  }


  /*  ----- NAVIGATION    ----- */
  
    .nav{
      position:fixed;
      inset:0 0 auto 0;
      z-index:1000;
      border-bottom:1px solid rgba(255,255,255,.1);
      background:rgba(11,12,13,.82);
      backdrop-filter:blur(14px);
    }
    .nav-inner{
      max-width:var(--max);
      margin:auto;
      min-height:72px;
      padding:0 var(--pad);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:28px;
    }
    .logo{
      display:flex;align-items:center;gap:10px;
      font-weight:700;letter-spacing:-.04em;font-size:19px;
      white-space:nowrap;
    }
    .logo-mark{
      width:22px;height:22px;display:grid;place-items:center;
      transform:skew(-10deg);
    }
    .logo-mark span{
      width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;
      border-bottom:18px solid var(--white);
      position:relative;
    }
    .logo-mark span:after{
      content:"";position:absolute;left:-5px;top:7px;
      border-left:5px solid transparent;border-right:5px solid transparent;
      border-bottom:9px solid var(--black);
    }
    .nav-links{display:flex;align-items:center;gap:26px;font-size:12px}
    .nav-links a{opacity:.78;transition:.25s}
    .nav-links a:hover{opacity:1}
    .nav-cta,.btn{
      border:1px solid rgba(0,0,0,.4);
      background:var(--white);color:var(--black);
      padding:13px 17px;
      font-size:12px;font-weight:700;
      display:inline-flex;align-items:center;gap:20px;
      transition:transform .25s var(--ease),background .25s;
    }
    .nav-cta:hover,.btn:hover{transform:translateY(-2px)}
    .nav-toggle{display:none;background:none;border:0;color:var(--white);font-size:25px}







/* ---------- 00 HERO SECTION ---------- */

    .hero{
      min-height:calc(100vh - 72px);
      display:flex;flex-direction:column;justify-content:flex-end;
      padding-top:90px;padding-bottom:50px;
      position:relative;overflow:hidden;
    }
    .hero:after{
      content:"";position:absolute;right:-14vw;top:13vh;width:52vw;height:52vw;
      border:1px solid rgba(184,203,213,.18);border-radius:50%;
      box-shadow:0 0 0 70px rgba(184,203,213,.025),0 0 0 140px rgba(184,203,213,.018);
      pointer-events:none;
    }
    .hero-top{display:flex;justify-content:space-between;gap:40px;align-items:flex-end}
    .hero-copy{position:relative;z-index:1}
    .hero-aside{
      width:min(330px,30%);
      font-size:14px;color:#c2c5c6;
      padding-bottom:15px;position:relative;z-index:1;
    }
    .stats{
      margin-top:80px;
      display:grid;grid-template-columns:repeat(4,1fr);
      border-top:1px solid var(--line);
      position:relative;z-index:1;
    }
    .stat{padding:22px 16px 0 22px;min-height:125px}
    .stat:not(:last-child){border-right:1px solid var(--line);padding-right:20px}
    .stat-number{font-size:clamp(42px,5vw,72px);letter-spacing:-.06em;line-height:.9}
    .stat-label{font-size:11px;color:var(--muted);margin-top:10px}

     
    .hero-image{
      margin-top:70px;
      height:min(48vw,560px);
      min-height:300px;
      overflow:hidden;
      position:relative;
      /*border:1px solid var(--line);*/
    }
    .hero-image img{
      width:100%;height:100%;object-fit:cover;
     /* filter:saturate(.72) contrast(1.03);*/
      transform:scale(1.015);
    }
    .hero-image:after{
      content:"";
      position:absolute;inset:0;
      /*background:linear-gradient(90deg,rgba(11,12,13,.50),transparent 55%,rgba(11,12,13,.12));*/
      pointer-events:none;
    }
    .hero-image-caption{
      position:absolute;left:24px;bottom:20px;z-index:2;
      font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#fff;
    }



    /* ---------- 01 Mission / process SECTION ---------- */
    .paper{background:var(--blue);color:var(--black)}
    .paper .eyebrow,.paper .small{color:#4c5c64}
    .paper .eyebrow:before{background:var(--red)}
    .paper h2{color:var(--black)}
    .mission-list{margin-top:60px;border-top:1px solid rgba(11,12,13,.2)}
    .mission{
      display:grid;grid-template-columns:110px 1fr 70px;
      gap:20px;align-items:center;
      min-height:105px;border-bottom:1px solid rgba(11,12,13,.2);
      transition:background .25s;
    }
    .mission:hover{background:rgba(255,255,255,.15)}
    .mission-no{font-size:11px}
    .mission-name{font-size:clamp(27px,4vw,54px);letter-spacing:-.055em}
    .mission-icon{font-size:28px;text-align:right}
    .mission.is-active{background:rgba(255,255,255,.24)}



    /* ---------- 02 Services SECTION---------- */
    
    .service{
      padding-bottom: 0px;
    } 
    
    .service-card{padding:30px 28px 36px;min-height:260px}
    .service-card .index{font-size:11px;color:var(--muted);margin-bottom:55px}
    .service-card h3{margin-bottom:15px}
    .service-card p{font-size:14px;color:#c6c9ca;max-width:390px}
    .service-card ul{padding-left:17px;color:#b9bdbe;font-size:13px}
    .service-card li{margin:7px 0}

    .image-strip{
      margin-top:100px;
      margin-left: calc(-1*var(--pad));
      margin-right: calc(-1*var(--pad));
      /*display:grid;grid-template-columns:1.4fr 1fr 1fr;*/
      background:var(--line);gap:1px;
    }
    .image-strip figure{margin:0;background:var(--black);height:850px;overflow:hidden;position:relative}
    
    .image-strip img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
   /* .image-strip figure:hover img{transform:scale(1.045)}*/
   /* .image-strip figcaption{position:absolute;left:16px;bottom:14px;color:#fff;font-size:10px;    text-transform:uppercase;letter-spacing:.07em;      text-shadow:0 1px 12px rgba(0,0,0,.8)    }*/






    /* ---------- Flow SECTION---------- */
    
    .flow{margin-top:65px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}
    .flow-step{min-height:270px;padding:34px 26px;border-right:1px solid var(--line);position:relative}
    .flow-step:last-child{border-right:0}
    .circle{
      width:112px;height:112px;border-radius:50%;display:grid;place-items:center;
      border:1px solid var(--line);font-size:11px;text-align:center;
      margin-bottom:40px;
    }
    .circle.red{background:var(--red);color:var(--black);border-color:var(--red)}
    .circle.white{background:var(--white);color:var(--black);border-color:var(--white)}
    .flow-step h3{font-size:24px;margin-bottom:8px}
    .flow-step p{font-size:13px;color:#aeb3b5;max-width:360px}



    /* ---------- Capability / technology SECTION ---------- */
    
    .feature{padding:70px 0;border-top:1px solid var(--line)}
    .feature:last-child{border-bottom:1px solid var(--line)}
    .feature h3{margin:0 0 12px}
    .feature p{max-width:560px;color:#bfc3c4;font-size:14px}
    .feature-meta{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
   
   

    /* ---------- Cases SECTION ---------- */
    
    .case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);margin-top:60px}
    .case{background:var(--black);min-height:360px;padding:28px;position:relative;overflow:hidden}
    .case h3{max-width:450px;margin-top:80px}
    .case p{max-width:420px;color:#b8bdbe;font-size:14px}
    .case-num{font-size:11px;color:var(--muted)}
    .case-art{
      position:absolute;right:-30px;bottom:-50px;width:240px;height:240px;
      border:1px solid rgba(184,203,213,.2);transform:rotate(45deg);
    }



    /* ---------- Contact SECTION---------- */
    
    .contact{background:var(--blue);color:var(--black)}
    .contact-grid{display:grid;grid-template-columns:1fr .75fr;gap:70px}
    .contact h2{color:var(--black);font-size:clamp(60px,9vw,130px)}
    .contact-meta{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:40px 0}
    .contact-meta strong{display:block;font-size:11px;text-transform:uppercase;margin-bottom:8px}
    .contact-meta span{font-size:17px}
    form{border-top:1px solid rgba(11,12,13,.3)}
    .field{border-bottom:1px solid rgba(11,12,13,.3);padding:18px 0}
    .field label{display:block;font-size:11px;text-transform:uppercase;margin-bottom:8px}
    .field input,.field textarea{
      width:100%;border:0;outline:0;background:transparent;color:var(--black);
      font-size:18px;padding:3px 0;
    }
    .field textarea{min-height:90px;resize:vertical}
    .form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:20px}
    .form-message{font-size:12px}
    .btn.dark{background:var(--black);color:var(--white);border-color:var(--black)}


    /* ---------- Jobs & Karriere SECTION---------- */
    .career{
      background:#bb3f36;
      color:var(--black);
    }
    .career-head{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:60px;
      align-items:end;
    }
    .career h2{
      color:var(--black);
      font-size:clamp(64px,10vw,145px);
      letter-spacing:-.075em;
      line-height:.82;
      margin:12px 0 0;
    }
    .career-intro{
      max-width:520px;
      font-size:18px;
      line-height:1.45;
      margin-bottom:8px;
    }
    .career-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:1px;
      /*background:rgba(11,12,13,.28);*/
      margin-top:70px;
    }
    .career-card{
      min-height:390px;
      background:#bb3f36;
      border:0;
      color:var(--black);
      padding:28px;
      display:flex;
      flex-direction:column;
      position:relative;
      overflow:hidden;
      text-decoration:none;
      transition:background .35s var(--ease), color .35s var(--ease), transform .35s var(--ease);
    }
    .career-card:hover{
      background:var(--black);
      color:var(--white);
      transform:translateY(-4px);
    }
    .career-card:hover .career-card-copy,
    .career-card:hover .career-card-meta{
      color:#b8bdbe;
    }
    .career-card-num{
      font-size:11px;
      text-transform:uppercase;
      letter-spacing:.08em;
      opacity:.75;
    }
    .career-card h3{
      font-size:clamp(34px,3.3vw,52px);
      letter-spacing:-.045em;
      line-height:.92;
      margin:72px 0 16px;
      max-width:380px;
    }
    .career-card-copy{
      color:#3c2927;
      font-size:14px;
      line-height:1.5;
      max-width:390px;
      transition:color .35s var(--ease);
    }
    .career-card-meta{
      margin-top:auto;
      padding-top:28px;
      display:flex;
      justify-content:space-between;
      align-items:end;
      gap:20px;
      color:#3c2927;
      font-size:10px;
      text-transform:uppercase;
      letter-spacing:.07em;
      transition:color .35s var(--ease);
    }
    .career-card-arrow{
      width:46px;
      height:46px;
      border:1px solid currentColor;
      border-radius:50%;
      display:grid;
      place-items:center;
      font-size:20px;
      flex:0 0 auto;
    }
    .career-foot{
      margin-top:34px;
      display:flex;
      justify-content:space-between;
      gap:30px;
      font-size:12px;
      line-height:1.5;
    }
    .career-foot a{
      color:inherit;
      font-weight:700;
      text-decoration:underline;
      text-underline-offset:3px;
    }








    /* ---------- Timeline: replaces the circle flow ---------- */
    .timeline{
      position:relative;
      margin-top:70px;
      padding:0 0 15px;
    }
    .timeline:before{
      content:"";
      position:absolute;
      left:23px;top:0;bottom:0;
      width:1px;background:rgba(11,12,13,.28);
    }
    .timeline-step{
      display:grid;
      grid-template-columns:48px 160px 1fr;
      gap:25px;
      align-items:start;
      min-height:180px;
      position:relative;
      padding-bottom:45px;
    }
    .timeline-dot{
      width:47px;height:47px;border-radius:50%;
      border:1px solid rgba(11,12,13,.45);
      background:var(--blue);
      display:grid;place-items:center;
      font-size:11px;font-weight:700;
      position:relative;z-index:2;
    }
    .timeline-step.active .timeline-dot{
      background:var(--red);border-color:var(--red);
    }
    .timeline-phase{
      padding-top:10px;
      font-size:10px;text-transform:uppercase;letter-spacing:.08em;
    }
    .timeline-content{
      border-top:1px solid rgba(11,12,13,.22);
      padding-top:8px;
    }
    .timeline-content h3{margin:0 0 8px;font-size:34px}
    .timeline-content p{margin:0;max-width:680px;font-size:14px;color:#33434b}
    .timeline-tag{
      display:inline-block;margin-top:18px;
      font-size:10px;border:1px solid rgba(11,12,13,.28);
      padding:6px 8px;text-transform:uppercase;letter-spacing:.05em;
    }

    .photo-feature{
      display:grid;grid-template-columns:1.05fr .95fr;gap:1px;
      background:var(--line);margin-top:70px;
    }
    .photo-feature .photo{min-height:420px;overflow:hidden;background:var(--black)}
    .photo-feature .photo img{width:100%;height:100%;object-fit:cover}
    .photo-feature .copy{background:var(--black);padding:45px;display:flex;flex-direction:column;justify-content:flex-end}
    .photo-feature .copy h3{font-size:clamp(34px,4vw,58px);margin-bottom:14px}
    .photo-feature .copy p{color:#b8bdbe;max-width:500px;font-size:14px}

    @media(max-width:900px){
      .image-strip{grid-template-columns:1fr}
      .image-strip figure{height:230px}
      .timeline-step{grid-template-columns:48px 1fr;gap:20px}
      .timeline-phase{grid-column:2;padding-top:0}
      .timeline-content{grid-column:2}
      .timeline:before{bottom:45px}
      .photo-feature{grid-template-columns:1fr}
      .photo-feature .photo{min-height:300px}
    }

/* =========================================================
   CONTAO FORM OVERRIDE
   ========================================================= */

.ce_form .contact-form {
  width: 100%;
  margin: 70px 0 0;
  padding: 0;
}

.ce_form .contact-form .formbody {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 32px;
  row-gap: 34px;
  width: 100%;
  margin: 0;
  padding: 0;
}

.ce_form .contact-form .widget {
  min-width: 0;
  margin: 0;
  padding: 0;
  clear: none;
}

.ce_form .contact-form .widget-text,
.ce_form .contact-form .widget-textarea {
  grid-column: 1 / -1;
}

.ce_form .contact-form label {
  display: block;
  width: 100%;
  margin: 10px 0 0 0;
  padding: 0;
  color: var(--black);
  font-family: inherit;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ce_form .contact-form .invisible {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.ce_form .contact-form .mandatory > .mandatory {
  display: inline;
  margin-left: 3px;
  color: #bb3f36;
}

.ce_form .contact-form input.text,
.ce_form .contact-form input[type="text"],
.ce_form .contact-form input[type="email"],
.ce_form .contact-form input[type="tel"],
.ce_form .contact-form input[type="number"],
.ce_form .contact-form textarea.textarea,
.ce_form .contact-form textarea {
  display: block;
  width: 100%;
  max-width: none;
  min-width: 0;
  box-sizing: border-box;
  margin: 0;
  padding: 14px 0 13px;
  border: 0;
  border-bottom: 1px solid rgba(0,0,0,.30);
  border-radius: 0;
  outline: none;
  background: transparent;
  color: var(--black) !important;
  font-family: inherit;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
  box-shadow: none;
  appearance: none;
  transition: border-color .25s ease, color .25s ease;
}

.ce_form .contact-form textarea.textarea,
.ce_form .contact-form textarea {
  min-height: 150px;
  resize: vertical;
  padding-top: 12px;
}

.ce_form .contact-form input::placeholder,
.ce_form .contact-form textarea::placeholder {
  color: rgba(255,255,255,.38);
  opacity: 1;
}

.ce_form .contact-form input:focus,
.ce_form .contact-form textarea:focus {
  border-bottom-color: #bb3f36;
  color: #fff;
  outline: none;
}

.ce_form .contact-form input:-webkit-autofill,
.ce_form .contact-form input:-webkit-autofill:hover,
.ce_form .contact-form input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--black);
  -webkit-box-shadow: 0 0 0 1000px transparent inset;
  transition: background-color 9999s ease-in-out 0s;
}

/* ALTCHA */
.ce_form .contact-form .widget-altcha {
  color: #8f9698;
}

.ce_form .contact-form altcha-widget {
  display: block;
  width: 100%;
  max-width: 100%;
}

.ce_form .contact-form .altcha {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 14px 0 0 0;
  /*border: 1px solid rgba(255,255,255,.18);*/
  border-radius: 0;
  background: rgba(255,255,255,.025);
  color: #8f9698;
  font-family: inherit;
  font-size: 12px;
}

.ce_form .contact-form .altcha-main{
  background: rgba(255,255,255,0);
  padding: 0px;
}

.ce_form .contact-form .altcha-checkbox,
.ce_form .contact-form .altcha-checkbox input{
  width: 40px;
  height: 40px;
}

.altcha-checkbox input:checked + svg{
    width: 30px;
    height: 30px;
}

.ce_form .contact-form .altcha-checkbox-wrap {
  display: flex;
  align-items: center;
  gap: 30px;
}

.ce_form .contact-form .altcha label {
  width: auto;
  margin: 0;
  padding: 0;
  color: var(--black);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
}

.ce_form .contact-form .widget-altcha .warning {
  margin: 0 0 10px;
  color: #bb3f36;
  font-size: 12px;
  line-height: 1.5;
}

.ce_form .contact-form .altcha-checkbox input:checked {
    background-color: var(--black);
    border-color: var(--black);
}



/* SUBMIT */
.ce_form .contact-form .widget-submit {
  display: flex;
  align-items: center;
  width: 100%;
  margin-top: 2px;
}

.ce_form .contact-form button.submit,
.ce_form .contact-form input.submit,
.ce_form .contact-form button[type="submit"],
.ce_form .contact-form input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 190px;
  min-height: 54px;
  box-sizing: border-box;
  margin: 0;
  padding: 0 28px;
  border: 1px solid var(--black);
  border-radius: 0;
  background: var(--black);
  color: var(--white);
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  appearance: none;
  box-shadow: none;
  transition: transform .25s var(--ease), background .25s;
}

.ce_form .contact-form button.submit:hover,
.ce_form .contact-form input.submit:hover,
.ce_form .contact-form button[type="submit"]:hover,
.ce_form .contact-form input[type="submit"]:hover {
  border-color: var(--black);
  background:  var(--black);
  color:  var(--white);
  transform: translateY(-1px);
}

.ce_form .contact-form button.submit:focus-visible,
.ce_form .contact-form input.submit:focus-visible {
  outline: 2px solid #bb3f36;
  outline-offset: 4px;
}

/* VALIDATION */
.ce_form .contact-form .widget.error label,
.ce_form .contact-form .widget .error {
  color: #bb3f36;
}

.ce_form .contact-form input.error,
.ce_form .contact-form textarea.error {
  border-bottom-color: #bb3f36;
}

.ce_form .contact-form .widget p.error {
  margin: 7px 0 0;
  font-size: 11px;
  line-height: 1.4;
}

/* MOBILE */
@media (max-width: 700px) {
  .ce_form .contact-form {
    margin-top: 45px;
  }

  .ce_form .contact-form .formbody {
    grid-template-columns: 1fr;
    row-gap: 27px;
    column-gap: 0;
  }

  .ce_form .contact-form .widget-textarea,
  .ce_form .contact-form .widget-altcha,
  .ce_form .contact-form .widget-submit {
    grid-column: auto;
  }

  .ce_form .contact-form input.text,
  .ce_form .contact-form input[type="text"],
  .ce_form .contact-form input[type="email"],
  .ce_form .contact-form textarea.textarea,
  .ce_form .contact-form textarea {
    font-size: 16px;
  }

  .ce_form .contact-form textarea.textarea,
  .ce_form .contact-form textarea {
    min-height: 125px;
  }

  .ce_form .contact-form .widget-submit {
    width: 100%;
  }

  .ce_form .contact-form button.submit,
  .ce_form .contact-form input.submit,
  .ce_form .contact-form button[type="submit"],
  .ce_form .contact-form input[type="submit"] {
    width: 100%;
    min-width: 0;
  }
}





    /* ---------- FOOTER ---------- */
    
    footer{background:var(--black);padding:80px var(--pad) 30px}
    .footer-inner{max-width:var(--max);margin:auto}
    .footer-big{font-size:clamp(60px,11vw,90px);letter-spacing:-.08em;font-weight:400;line-height:.8;margin:60px 0 90px}
    .footer-cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;border-top:1px solid var(--line);padding-top:25px}
    .footer-cols p,.footer-cols a{font-size:12px;color:#a8adaf}
    .footer-cols a{display:block;margin:7px 0}
    .copyright{border-top:1px solid var(--line);margin-top:50px;padding-top:15px;font-size:10px;color:#747a7c;display:flex;justify-content:space-between}

    /* ---------- Scroll reveal ---------- */
    .reveal{opacity:0;transform:translateY(35px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
    .reveal.visible{opacity:1;transform:none}

    .footer-head {
       display: grid;
       grid-template-columns: .45fr 1.50fr;
       gap: 100px;
       align-items: top;
    }
    
    
    
    
    /* ---------- Responsive ---------- */
    @media(max-width:900px){
      .nav-links{
        position:fixed;left:0;right:0;top:72px;background:rgba(11,12,13,.97);
        display:none;flex-direction:column;align-items:flex-start;padding:25px var(--pad);
        border-bottom:1px solid var(--line)
      }
      .nav-links.open{display:flex}
      .nav-toggle{display:block}
      .nav-cta{display:none}
      .hero-top,.grid-2,.contact-grid{grid-template-columns:1fr;display:grid}
      .hero-aside{width:100%;max-width:500px}
      .stats{grid-template-columns:repeat(2,1fr)}
      .stat:nth-child(2){border-right:0}
      .stat:nth-child(n+3){border-top:1px solid var(--line)}
      .grid-3{grid-template-columns:1fr}
      .flow{grid-template-columns:1fr}
      .flow-step{border-right:0;border-bottom:1px solid var(--line)}
      .case-grid{grid-template-columns:1fr}
      .footer-cols{grid-template-columns:1fr 1fr}

      .career-head{grid-template-columns:1fr}
      .career-grid{grid-template-columns:1fr}
      .career-card{min-height:320px}
    }
    @media(max-width:600px){
      .section{padding-top:80px;padding-bottom:80px}
      .hero{min-height:auto;padding-top:80px}
      h1{font-size:17vw}
      h2{font-size:13vw}
      .mission{grid-template-columns:45px 1fr 30px;min-height:88px}
      .mission-name{font-size:28px}
      .service-card{min-height:0}
      .contact-meta{grid-template-columns:1fr}
      .footer-cols{grid-template-columns:1fr}

      .career h2{font-size:16vw}
      .career-card{min-height:290px;padding:24px}
      .career-card h3{margin-top:55px}
      .career-foot{display:block}
      .career-foot > * + *{margin-top:12px}

      .copyright{display:block}
      .copyright span{display:block;margin-top:8px}
    }

