/*
Theme Name: LAB53 Performance Mobile
Theme URI: https://labfiftythree.com/
Author: LAB53
Description: Custom LAB53 theme with separate pages for TRAIN PRO, TIRE PRESSURE, Vereine, Über uns and Kontakt.
Version: 4.7.6
Text Domain: lab53
*/

:root{
  --lab53-bg:#050505;
  --lab53-panel:#111111;
  --lab53-panel2:#181818;
  --lab53-line:#2b2b2b;
  --lab53-white:#ffffff;
  --lab53-muted:#a6a6a6;
  --lab53-blue:#3CA4FA;
  --lab53-lime:#CDD72B;
}
*{box-sizing:border-box}
html{
  scroll-behavior:smooth;
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
body{
  margin:0;
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  background:var(--lab53-bg);
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
}
.lab53-site{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
a{color:inherit}
img{max-width:100%;height:auto}
.lab53-wrap{width:min(1180px,calc(100% - 48px));margin:0 auto}

/* NAV */
.lab53-nav{position:sticky;top:0;z-index:999;background:rgba(5,5,5,.94);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(12px)}
.lab53-nav-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.lab53-logo{width:190px;display:block}
.lab53-menu{display:flex;gap:28px;align-items:center}
.lab53-menu a{text-decoration:none;color:#fff;font-size:13px;font-weight:800;letter-spacing:.25px}
.lab53-menu a:hover,.lab53-menu a.current{color:var(--lab53-lime)}

/* HERO */
.lab53-hero{min-height:690px;display:flex;align-items:center;border-bottom:1px solid var(--lab53-line);position:relative;overflow:hidden}
.lab53-hero:after{content:"";position:absolute;width:560px;height:560px;right:-170px;top:30px;background:radial-gradient(circle,rgba(60,164,250,.11),transparent 67%);pointer-events:none}
.lab53-eyebrow{color:var(--lab53-muted);font-size:13px;font-weight:900;letter-spacing:3px;text-transform:uppercase;margin-bottom:24px}
.lab53-hero h1{margin:0;max-width:950px;font-size:clamp(54px,7vw,102px);line-height:.91;letter-spacing:-4px;font-weight:950;text-transform:uppercase}
.lab53-hero p{margin:34px 0 0;max-width:720px;color:#e3e3e3;font-size:clamp(18px,2vw,23px);line-height:1.55}
.lab53-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:38px}
.lab53-btn{min-width:235px;padding:17px 20px;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;color:#fff;text-decoration:none;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.35px;background:transparent;transition:.22s ease}
.lab53-btn.blue{border:1px solid var(--lab53-blue)}
.lab53-btn.lime{border:1px solid var(--lab53-lime)}
.lab53-btn.blue .arrow{color:var(--lab53-blue)}
.lab53-btn.lime .arrow{color:var(--lab53-lime)}
.lab53-btn.blue:hover{background:var(--lab53-blue);color:#050505}
.lab53-btn.lime:hover{background:var(--lab53-lime);color:#050505}
.lab53-btn:hover .arrow{color:#050505}

/* GENERAL */
.lab53-section{padding:100px 0;border-bottom:1px solid var(--lab53-line)}
.lab53-center{text-align:center}
.lab53-kicker{color:var(--lab53-lime);font-size:13px;font-weight:900;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:10px}
.lab53-kicker.blue{color:var(--lab53-blue)}
.lab53-section-title{margin:0;color:#fff;font-size:clamp(44px,6vw,76px);line-height:.95;font-weight:950;letter-spacing:-2.3px;text-transform:uppercase}
.lab53-section-sub{margin:18px auto 0;max-width:760px;color:#c8c8c8;font-size:18px;line-height:1.6}
.lab53-page-hero{padding:120px 0 80px;border-bottom:1px solid var(--lab53-line)}
.lab53-page-hero h1{margin:0;font-size:clamp(56px,8vw,106px);line-height:.9;letter-spacing:-4px;font-weight:950;text-transform:uppercase}
.lab53-page-hero p{max-width:780px;color:#ccc;font-size:20px;line-height:1.65;margin:28px 0 0}
.lab53-page-hero.blue .lab53-kicker{color:var(--lab53-blue)}
.lab53-page-hero.lime .lab53-kicker{color:var(--lab53-lime)}

/* HOME SUMMARY CARDS */
.lab53-app-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:56px}
.lab53-card{min-height:520px;border:1px solid #303030;border-radius:18px;overflow:hidden;background:linear-gradient(145deg,var(--lab53-panel2),#0e0e0e);display:grid;grid-template-columns:45% 55%}
.lab53-card-copy{padding:44px 22px 34px 34px;display:flex;flex-direction:column;align-items:flex-start}
.lab53-brandline{font-size:19px;font-weight:950;margin-bottom:6px}
.lab53-brandline.blue{color:var(--lab53-blue)}
.lab53-brandline.lime{color:var(--lab53-lime)}
.lab53-product{margin:0;color:#fff;font-size:clamp(31px,3vw,45px);line-height:.94;font-weight:950;letter-spacing:-1.4px;text-transform:uppercase}
.lab53-copy{margin:26px 0 0;color:#ededed;font-size:16px;line-height:1.6}
.lab53-rule{height:1px;width:100%;background:#373737;margin:30px 0}
.lab53-status{font-size:13px;font-weight:950;letter-spacing:1px;text-transform:uppercase}
.lab53-status.blue{color:var(--lab53-blue)}
.lab53-status.lime{color:var(--lab53-lime)}
.lab53-card .lab53-btn{min-width:0;width:100%;margin-top:auto;padding:15px;font-size:10px}
.lab53-phone-area{display:flex;align-items:flex-end;justify-content:center;min-width:0;padding:28px 16px 0}
.lab53-phone{width:min(250px,100%);height:460px;border:5px solid #3f3f3f;border-bottom:0;border-radius:42px 42px 0 0;background:#0a0a0a;overflow:hidden;box-shadow:0 20px 55px rgba(0,0,0,.5);position:relative}
.lab53-screen{position:absolute;left:6px;right:6px;top:6px;bottom:0;overflow:hidden;border-radius:32px 32px 0 0;background:#f2f1ed}
.lab53-screen img{position:absolute;width:100%;height:auto;left:0;top:-34px;display:block}

/* SUMMARY ROWS */
.lab53-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}
.lab53-summary{background:#111;border:1px solid #2c2c2c;padding:30px;min-height:220px;display:flex;flex-direction:column}
.lab53-summary h3{margin:0 0 14px;font-size:24px;text-transform:uppercase}
.lab53-summary p{margin:0;color:#aaa;line-height:1.6}
.lab53-summary a{margin-top:auto;padding-top:26px;text-decoration:none;font-weight:900;font-size:12px;letter-spacing:.6px;text-transform:uppercase}
.lab53-summary a.blue{color:var(--lab53-blue)}
.lab53-summary a.lime{color:var(--lab53-lime)}

/* DETAIL PAGES */
.lab53-split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.lab53-split.reverse .lab53-copy-side{order:2}
.lab53-split.reverse .lab53-visual-side{order:1}
.lab53-copy-side h2{margin:0;font-size:clamp(43px,5vw,72px);line-height:.94;font-weight:950;letter-spacing:-2.2px;text-transform:uppercase}
.lab53-copy-side p{color:#c9c9c9;line-height:1.75;font-size:18px;max-width:590px;margin:25px 0 0}
.lab53-chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:27px}
.lab53-chip{padding:9px 12px;border:1px solid #343434;color:#ddd;font-size:11px;letter-spacing:.8px;text-transform:uppercase;font-weight:800}
.lab53-visual{border:1px solid #2d2d2d;background:linear-gradient(145deg,#191919,#0c0c0c);border-radius:24px;min-height:590px;display:flex;align-items:flex-end;justify-content:center;padding:36px 32px 0;overflow:hidden}
.lab53-visual .lab53-phone{width:310px;height:570px}
.lab53-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:45px}
.lab53-feature{background:#111;border:1px solid #2b2b2b;padding:28px;min-height:190px}
.lab53-feature .icon{font-size:28px;margin-bottom:20px}
.lab53-feature .icon.blue{color:var(--lab53-blue)}
.lab53-feature .icon.lime{color:var(--lab53-lime)}
.lab53-feature h3{margin:0 0 10px;text-transform:uppercase;font-size:17px}
.lab53-feature p{margin:0;color:#aaa;line-height:1.55;font-size:14px}

/* ABOUT / CONTACT */
.lab53-about{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:start}
.lab53-about-copy p{color:#c6c6c6;font-size:19px;line-height:1.75;max-width:720px}
.lab53-about-side{border-left:1px solid #343434;padding-left:34px}
.lab53-about-side strong{display:block;color:#fff;font-size:22px;margin-bottom:10px}
.lab53-about-side p{margin:0 0 30px;color:#969696;line-height:1.55}
.lab53-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:45px}
.lab53-contact-card{background:#111;border:1px solid #2c2c2c;padding:34px}
.lab53-contact-card h3{margin:0 0 12px;font-size:24px;text-transform:uppercase}
.lab53-contact-card p{color:#aaa;line-height:1.6}
.lab53-contact-card a{display:inline-block;margin-top:16px;text-decoration:none;color:var(--lab53-lime);font-weight:900}

/* FOOTER */
.lab53-footer{border-top:1px solid var(--lab53-line);padding:32px 0 40px;color:#898989}
.lab53-footer-inner{display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap}
.lab53-footer img{width:125px}
.lab53-footer-links{display:flex;gap:24px;flex-wrap:wrap}
.lab53-footer a{color:#bcbcbc;text-decoration:none;font-size:12px}

@media(max-width:1000px){
  .lab53-menu{gap:16px}.lab53-menu a{font-size:11px}
  .lab53-app-grid{grid-template-columns:1fr;max-width:720px;margin-left:auto;margin-right:auto}
  .lab53-summary-grid{grid-template-columns:1fr 1fr}
  .lab53-split{grid-template-columns:1fr;gap:45px}
  .lab53-split.reverse .lab53-copy-side,.lab53-split.reverse .lab53-visual-side{order:initial}
  .lab53-feature-grid{grid-template-columns:1fr 1fr}
  .lab53-about{grid-template-columns:1fr;gap:30px}
  .lab53-about-side{border-left:0;border-top:1px solid #343434;padding:28px 0 0}
}
@media(max-width:720px){
  html,body,.lab53-site{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  .lab53-wrap{
    width:100%;
    max-width:100%;
    padding-left:18px;
    padding-right:18px;
    margin-left:auto;
    margin-right:auto;
  }

  .lab53-nav{
    position:relative;
  }

  .lab53-nav-inner{
    min-height:64px;
    width:100%;
  }

  .lab53-logo{
    width:138px;
    max-width:55vw;
  }

  .lab53-menu{
    display:none;
  }

  .lab53-hero{
    min-height:auto;
    padding:78px 0 74px;
    align-items:flex-start;
  }

  .lab53-hero:after{
    width:320px;
    height:320px;
    right:-150px;
    top:10px;
  }

  .lab53-eyebrow{
    font-size:10px;
    letter-spacing:2px;
    margin-bottom:18px;
  }

  .lab53-hero h1{
    width:100%;
    max-width:100%;
    font-size:clamp(42px,13vw,62px);
    line-height:.92;
    letter-spacing:-2px;
    overflow-wrap:anywhere;
  }

  .lab53-hero p{
    width:100%;
    max-width:100%;
    font-size:17px;
    line-height:1.5;
    margin-top:25px;
  }

  .lab53-actions{
    width:100%;
    flex-direction:column;
    gap:12px;
    margin-top:28px;
  }

  .lab53-btn{
    width:100%;
    max-width:100%;
    min-width:0;
    padding:15px 16px;
  }

  .lab53-section{
    padding:66px 0;
  }

  .lab53-page-hero{
    padding:70px 0 55px;
  }

  .lab53-page-hero h1{
    width:100%;
    max-width:100%;
    font-size:clamp(42px,13vw,60px);
    line-height:.92;
    letter-spacing:-2px;
    overflow-wrap:anywhere;
  }

  .lab53-page-hero p{
    font-size:17px;
    line-height:1.55;
  }

  .lab53-section-title{
    width:100%;
    max-width:100%;
    font-size:clamp(38px,11vw,54px);
    line-height:.95;
    letter-spacing:-1.5px;
    overflow-wrap:anywhere;
  }

  .lab53-section-sub{
    font-size:16px;
    line-height:1.55;
  }

  .lab53-app-grid{
    grid-template-columns:1fr;
    width:100%;
    max-width:100%;
    margin-top:34px;
    gap:18px;
  }

  .lab53-card{
    display:flex;
    flex-direction:column;
    width:100%;
    max-width:100%;
    min-height:0;
  }

  .lab53-card-copy{
    width:100%;
    padding:30px 22px 26px;
  }

  .lab53-product{
    font-size:36px;
    line-height:.95;
  }

  .lab53-copy{
    font-size:15px;
    line-height:1.55;
    margin-top:18px;
  }

  .lab53-card .lab53-btn{
    width:100%;
    max-width:100%;
    margin-top:26px;
  }

  .lab53-phone-area{
    width:100%;
    max-width:100%;
    padding:5px 34px 0;
  }

  .lab53-phone{
    width:min(260px,100%);
    max-width:100%;
    height:455px;
  }

  .lab53-summary-grid,
  .lab53-feature-grid,
  .lab53-contact-grid{
    grid-template-columns:1fr;
    width:100%;
    max-width:100%;
  }

  .lab53-summary,
  .lab53-feature,
  .lab53-contact-card{
    width:100%;
    max-width:100%;
  }

  .lab53-split{
    display:flex;
    flex-direction:column;
    width:100%;
    max-width:100%;
    gap:35px;
  }

  .lab53-split.reverse .lab53-copy-side,
  .lab53-split.reverse .lab53-visual-side{
    order:initial;
  }

  .lab53-copy-side,
  .lab53-visual-side{
    width:100%;
    max-width:100%;
  }

  .lab53-copy-side h2{
    width:100%;
    max-width:100%;
    font-size:clamp(38px,11vw,54px);
    line-height:.95;
    letter-spacing:-1.5px;
    overflow-wrap:anywhere;
  }

  .lab53-copy-side p{
    width:100%;
    max-width:100%;
    font-size:16px;
    line-height:1.65;
  }

  .lab53-chip-row{
    width:100%;
  }

  .lab53-chip{
    font-size:10px;
  }

  .lab53-visual{
    width:100%;
    max-width:100%;
    min-height:470px;
    padding:20px 18px 0;
    border-radius:18px;
  }

  .lab53-visual .lab53-phone{
    width:min(255px,100%);
    max-width:100%;
    height:455px;
  }

  .lab53-about{
    display:flex;
    flex-direction:column;
    width:100%;
    max-width:100%;
    gap:28px;
  }

  .lab53-about-copy,
  .lab53-about-side{
    width:100%;
    max-width:100%;
  }

  .lab53-about-copy p{
    font-size:16px;
    line-height:1.65;
  }

  .lab53-about-side{
    border-left:0;
    border-top:1px solid #343434;
    padding:26px 0 0;
  }

  .lab53-footer-inner{
    flex-direction:column;
    align-items:flex-start;
  }

  .lab53-footer-links{
    gap:14px 20px;
  }
}

@media(max-width:390px){
  .lab53-wrap{
    padding-left:14px;
    padding-right:14px;
  }

  .lab53-hero{
    padding-top:62px;
  }

  .lab53-hero h1,
  .lab53-page-hero h1{
    font-size:40px;
    letter-spacing:-1.5px;
  }

  .lab53-section-title,
  .lab53-copy-side h2{
    font-size:37px;
  }

  .lab53-product{
    font-size:33px;
  }

  .lab53-phone-area{
    padding-left:22px;
    padding-right:22px;
  }

  .lab53-phone,
  .lab53-visual .lab53-phone{
    width:min(235px,100%);
    height:420px;
  }

  .lab53-visual{
    min-height:435px;
  }
}


/* =========================================================
   CONTENT EXTENSIONS
========================================================= */
.lab53-prose{
  max-width:820px;
}
.lab53-prose p{
  color:#c7c7c7;
  font-size:18px;
  line-height:1.8;
  margin:0 0 24px;
}
.lab53-prose strong{color:#fff}

.lab53-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
  margin-top:46px;
}
.lab53-detail-box{
  border:1px solid #2d2d2d;
  background:#101010;
  padding:32px;
  min-height:230px;
}
.lab53-detail-box .number{
  color:#666;
  font-size:12px;
  font-weight:900;
  letter-spacing:2px;
  margin-bottom:24px;
}
.lab53-detail-box h3{
  margin:0 0 14px;
  color:#fff;
  font-size:24px;
  line-height:1.05;
  text-transform:uppercase;
}
.lab53-detail-box p{
  margin:0;
  color:#aaa;
  line-height:1.7;
  font-size:15px;
}

.lab53-process{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:45px;
}
.lab53-process-step{
  border-top:2px solid #333;
  padding:24px 10px 0 0;
}
.lab53-process-step.blue{border-color:var(--lab53-blue)}
.lab53-process-step.lime{border-color:var(--lab53-lime)}
.lab53-process-step span{
  display:block;
  color:#777;
  font-size:11px;
  font-weight:900;
  letter-spacing:1.5px;
  margin-bottom:12px;
}
.lab53-process-step h3{
  margin:0 0 10px;
  color:#fff;
  text-transform:uppercase;
  font-size:18px;
}
.lab53-process-step p{
  margin:0;
  color:#aaa;
  font-size:14px;
  line-height:1.6;
}

/* =========================================================
   SYSTEM / HIDDEN PAGES
========================================================= */
.lab53-system-page{
  min-height:calc(100vh - 140px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:70px 0;
}
.lab53-system-card{
  width:min(680px,100%);
  margin-left:auto;
  margin-right:auto;
  background:linear-gradient(145deg,#171717,#0d0d0d);
  border:1px solid #2c2c2c;
  border-radius:20px;
  padding:48px;
}
.lab53-system-mark{
  color:var(--lab53-lime);
  font-size:12px;
  font-weight:900;
  letter-spacing:2.5px;
  text-transform:uppercase;
  margin-bottom:15px;
}
.lab53-system-mark.blue{color:var(--lab53-blue)}
.lab53-system-card h1{
  margin:0;
  color:#fff;
  font-size:clamp(38px,7vw,64px);
  line-height:.95;
  letter-spacing:-2px;
  text-transform:uppercase;
}
.lab53-system-card p{
  color:#b8b8b8;
  font-size:17px;
  line-height:1.7;
  margin:22px 0 0;
}
.lab53-system-form{
  margin-top:32px;
}
.lab53-field{
  margin-bottom:16px;
}
.lab53-field label{
  display:block;
  color:#ddd;
  font-size:12px;
  font-weight:900;
  letter-spacing:.7px;
  text-transform:uppercase;
  margin-bottom:8px;
}
.lab53-field input{
  width:100%;
  height:52px;
  border:1px solid #3a3a3a;
  background:#090909;
  color:#fff;
  padding:0 15px;
  font-size:16px;
  outline:none;
}
.lab53-field input:focus{border-color:var(--lab53-blue)}
.lab53-system-button{
  width:100%;
  min-height:52px;
  border:1px solid var(--lab53-blue);
  background:transparent;
  color:#fff;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.4px;
  cursor:pointer;
  transition:.2s ease;
}
.lab53-system-button:hover{
  background:var(--lab53-blue);
  color:#050505;
}
.lab53-system-message{
  display:none;
  margin-top:18px;
  padding:14px 15px;
  border:1px solid #333;
  color:#ddd;
  font-size:14px;
  line-height:1.55;
}
.lab53-system-message.success{
  display:block;
  border-color:var(--lab53-lime);
}
.lab53-system-message.error{
  display:block;
  border-color:#e45b5b;
}
.lab53-system-link{
  display:inline-flex;
  margin-top:30px;
  color:#fff;
  text-decoration:none;
  font-weight:900;
  font-size:12px;
  letter-spacing:.5px;
  text-transform:uppercase;
}
.lab53-system-link span{
  margin-left:18px;
  color:var(--lab53-lime);
}

/* Hidden pages should not have normal main nav prominence */
body.page-template-page-password-reset .lab53-nav,
body.page-template-page-email-confirmed .lab53-nav,
body.page-template-page-account-deleted .lab53-nav{
  position:relative;
}

@media(max-width:720px){
  .lab53-detail-grid,
  .lab53-process{
    grid-template-columns:1fr;
  }
  .lab53-prose p{
    font-size:16px;
    line-height:1.7;
  }
  .lab53-system-page{
    padding:42px 0;
    align-items:flex-start;
  }
  .lab53-system-card{
    padding:32px 22px;
    border-radius:14px;
  }
}


/* =========================================================
   LEGAL / INFORMATION PAGES
========================================================= */
.lab53-legal{
  padding:90px 0 110px;
  min-height:65vh;
}
.lab53-legal-header{
  max-width:850px;
  margin-bottom:55px;
}
.lab53-legal-header h1{
  margin:0;
  color:#fff;
  font-size:clamp(46px,7vw,82px);
  line-height:.94;
  letter-spacing:-3px;
  text-transform:uppercase;
}
.lab53-legal-header p{
  color:#aaa;
  font-size:17px;
  line-height:1.7;
  margin:20px 0 0;
}
.lab53-legal-content{
  max-width:900px;
}
.lab53-legal-content h2{
  margin:48px 0 14px;
  color:#fff;
  font-size:26px;
  line-height:1.1;
  text-transform:uppercase;
}
.lab53-legal-content h3{
  margin:30px 0 10px;
  color:#fff;
  font-size:18px;
}
.lab53-legal-content p,
.lab53-legal-content li{
  color:#bcbcbc;
  font-size:16px;
  line-height:1.75;
}
.lab53-legal-content ul{
  padding-left:22px;
}
.lab53-legal-content a{
  color:var(--lab53-lime);
  text-decoration:none;
}
.lab53-legal-note{
  margin:30px 0;
  border-left:3px solid var(--lab53-lime);
  background:#101010;
  padding:20px 22px;
  color:#d5d5d5;
  line-height:1.65;
}
.lab53-legal-note.blue{
  border-left-color:var(--lab53-blue);
}
.lab53-legal-address{
  padding:25px;
  border:1px solid #2f2f2f;
  background:#101010;
  color:#ddd;
  line-height:1.75;
  margin-top:28px;
}
.lab53-footer-copy{
  width:100%;
  color:#656565;
  font-size:11px;
  margin-top:10px;
}

@media(max-width:720px){
  .lab53-legal{
    padding:65px 0 80px;
  }
  .lab53-legal-header h1{
    font-size:42px;
    letter-spacing:-1.7px;
  }
  .lab53-legal-content h2{
    font-size:22px;
  }
  .lab53-legal-content p,
  .lab53-legal-content li{
    font-size:15px;
  }
}


/* =========================================================
   MOBILE NAVIGATION + TYPOGRAPHY FIX 1.7
========================================================= */

.lab53-menu-toggle{
  display:none;
  width:44px;
  height:44px;
  border:1px solid #333;
  background:#0b0b0b;
  color:#fff;
  align-items:center;
  justify-content:center;
  padding:0;
  cursor:pointer;
}

.lab53-menu-toggle-lines{
  width:20px;
  height:14px;
  position:relative;
  display:block;
}

.lab53-menu-toggle-lines::before,
.lab53-menu-toggle-lines::after,
.lab53-menu-toggle-lines span{
  content:"";
  position:absolute;
  left:0;
  width:20px;
  height:2px;
  background:#fff;
  transition:.2s ease;
}

.lab53-menu-toggle-lines::before{top:0}
.lab53-menu-toggle-lines span{top:6px}
.lab53-menu-toggle-lines::after{top:12px}

.lab53-menu-toggle.is-open .lab53-menu-toggle-lines span{
  opacity:0;
}
.lab53-menu-toggle.is-open .lab53-menu-toggle-lines::before{
  top:6px;
  transform:rotate(45deg);
}
.lab53-menu-toggle.is-open .lab53-menu-toggle-lines::after{
  top:6px;
  transform:rotate(-45deg);
}

.lab53-mobile-menu{
  display:none;
}

.lab53-desktop-break{
  display:inline;
}

@media(max-width:720px){

  /* NAVIGATION */
  .lab53-nav{
    position:sticky;
    top:0;
  }

  .lab53-nav-inner{
    min-height:70px;
  }

  .lab53-menu{
    display:none !important;
  }

  .lab53-menu-toggle{
    display:inline-flex;
    flex-shrink:0;
  }

  .lab53-mobile-menu{
    display:none;
    width:100%;
    background:#080808;
    border-top:1px solid #242424;
    border-bottom:1px solid #242424;
  }

  .lab53-mobile-menu.is-open{
    display:block;
  }

  .lab53-mobile-menu-inner{
    width:100%;
    padding:10px 18px 18px;
  }

  .lab53-mobile-menu a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    min-height:52px;
    border-bottom:1px solid #202020;
    color:#fff;
    text-decoration:none;
    text-transform:uppercase;
    font-size:13px;
    font-weight:900;
    letter-spacing:.5px;
  }

  .lab53-mobile-menu a:last-child{
    border-bottom:0;
  }

  .lab53-mobile-menu a::after{
    content:"→";
    color:var(--lab53-lime);
    font-size:18px;
    font-weight:400;
  }

  /* HERO TYPOGRAPHY */
  .lab53-hero{
    padding-top:64px;
    padding-bottom:64px;
  }

  .lab53-hero h1{
    font-size:clamp(38px,10.6vw,52px) !important;
    line-height:.95 !important;
    letter-spacing:-1.8px !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
    max-width:100% !important;
  }

  .lab53-desktop-break{
    display:none;
  }

  .lab53-hero p{
    font-size:17px !important;
    line-height:1.55 !important;
    max-width:100%;
  }

  .lab53-eyebrow{
    font-size:10px !important;
    line-height:1.45;
    letter-spacing:2px !important;
  }

  /* PAGE HEADLINES */
  .lab53-page-hero h1{
    font-size:clamp(38px,10.5vw,52px) !important;
    line-height:.95 !important;
    letter-spacing:-1.8px !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
  }

  .lab53-section-title,
  .lab53-copy-side h2,
  .lab53-legal-header h1,
  .lab53-system-card h1{
    font-size:clamp(34px,9.5vw,48px) !important;
    line-height:.98 !important;
    letter-spacing:-1.3px !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
  }

  .lab53-product{
    font-size:32px !important;
    word-break:normal !important;
  }

  /* SAFETY AGAINST HORIZONTAL OVERFLOW */
  .lab53-site,
  .lab53-wrap,
  .lab53-card,
  .lab53-summary,
  .lab53-feature,
  .lab53-detail-box,
  .lab53-legal-content,
  .lab53-system-card{
    max-width:100%;
  }

  .lab53-btn{
    white-space:normal;
  }
}

@media(max-width:390px){
  .lab53-hero h1,
  .lab53-page-hero h1{
    font-size:36px !important;
  }

  .lab53-section-title,
  .lab53-copy-side h2,
  .lab53-legal-header h1,
  .lab53-system-card h1{
    font-size:34px !important;
  }

  .lab53-logo{
    width:132px !important;
  }
}


/* =========================================================
   LAB53 1.8 - HARD MOBILE OVERRIDE
========================================================= */
@media screen and (max-width: 800px){

  body{
    overflow-x:hidden !important;
  }

  .lab53-nav-inner{
    height:72px !important;
    min-height:72px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  .lab53-logo{
    width:145px !important;
    max-width:52vw !important;
  }

  .lab53-menu{
    display:none !important;
  }

  .lab53-menu-toggle{
    display:flex !important;
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    border:1px solid #3b3b3b !important;
    background:#111 !important;
  }

  .lab53-mobile-menu.is-open{
    display:block !important;
  }

  .lab53-hero{
    min-height:0 !important;
    padding:64px 0 68px !important;
  }

  .lab53-hero h1{
    font-size:42px !important;
    line-height:.96 !important;
    letter-spacing:-1.7px !important;
    width:100% !important;
    max-width:100% !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
  }

  .lab53-desktop-break{
    display:none !important;
  }

  .lab53-hero p{
    font-size:17px !important;
    line-height:1.55 !important;
  }

  .lab53-eyebrow{
    font-size:10px !important;
    letter-spacing:2px !important;
  }

  .lab53-actions{
    width:100% !important;
  }

  .lab53-btn{
    width:100% !important;
    min-width:0 !important;
  }

  .lab53-page-hero h1,
  .lab53-section-title,
  .lab53-copy-side h2,
  .lab53-legal-header h1,
  .lab53-system-card h1{
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
  }
}

@media screen and (max-width: 430px){
  .lab53-hero h1{
    font-size:39px !important;
  }

  .lab53-page-hero h1{
    font-size:39px !important;
  }

  .lab53-section-title,
  .lab53-copy-side h2,
  .lab53-legal-header h1,
  .lab53-system-card h1{
    font-size:35px !important;
  }
}


/* =========================================================
   APPLE SUPPORT PAGE
========================================================= */
.lab53-support-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:42px;
}
.lab53-support-card{
  background:#101010;
  border:1px solid #2d2d2d;
  padding:30px;
}
.lab53-support-card h2{
  margin:0 0 12px;
  color:#fff;
  font-size:22px;
  text-transform:uppercase;
}
.lab53-support-card p{
  margin:0;
  color:#aaa;
  font-size:15px;
  line-height:1.7;
}
.lab53-support-card a{
  display:inline-block;
  margin-top:20px;
  color:var(--lab53-lime);
  text-decoration:none;
  font-size:12px;
  font-weight:900;
  letter-spacing:.5px;
  text-transform:uppercase;
}
.lab53-support-intro{
  max-width:780px;
  color:#bbb;
  font-size:18px;
  line-height:1.75;
  margin-top:24px;
}
@media(max-width:720px){
  .lab53-support-grid{
    grid-template-columns:1fr;
  }
  .lab53-support-intro{
    font-size:16px;
  }
}


/* =========================================================
   PASSWORD FLOW 2.0
========================================================= */
.lab53-auth-card{
  width:min(650px,100%);
  margin:0 auto;
  background:linear-gradient(145deg,#171717,#0d0d0d);
  border:1px solid #2d2d2d;
  border-radius:20px;
  padding:46px;
}
.lab53-auth-card h1{
  margin:0;
  color:#fff;
  font-size:clamp(38px,7vw,62px);
  line-height:.96;
  letter-spacing:-2px;
  text-transform:uppercase;
}
.lab53-auth-card > p{
  margin:20px 0 0;
  color:#b9b9b9;
  line-height:1.7;
  font-size:16px;
}
.lab53-auth-form{
  margin-top:30px;
}
.lab53-auth-field{
  margin-bottom:16px;
}
.lab53-auth-field label{
  display:block;
  margin-bottom:8px;
  color:#ddd;
  font-size:11px;
  font-weight:900;
  letter-spacing:.8px;
  text-transform:uppercase;
}
.lab53-auth-field input{
  width:100%;
  height:54px;
  padding:0 15px;
  background:#080808;
  border:1px solid #3a3a3a;
  color:#fff;
  font-size:16px;
  outline:none;
}
.lab53-auth-field input:focus{
  border-color:var(--lab53-blue);
}
.lab53-auth-submit{
  width:100%;
  min-height:54px;
  border:1px solid var(--lab53-blue);
  background:transparent;
  color:#fff;
  cursor:pointer;
  font-size:12px;
  font-weight:900;
  letter-spacing:.4px;
  text-transform:uppercase;
  transition:.2s ease;
}
.lab53-auth-submit:hover{
  background:var(--lab53-blue);
  color:#050505;
}
.lab53-auth-submit:disabled{
  opacity:.55;
  cursor:default;
}
.lab53-auth-message{
  display:none;
  margin-top:18px;
  padding:15px 16px;
  font-size:14px;
  line-height:1.6;
  background:#0b0b0b;
  border:1px solid #333;
  color:#ddd;
}
.lab53-auth-message.success{
  display:block;
  border-color:var(--lab53-lime);
}
.lab53-auth-message.error{
  display:block;
  border-color:#d95b5b;
}
.lab53-auth-back{
  display:inline-flex;
  margin-top:26px;
  text-decoration:none;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.5px;
  text-transform:uppercase;
}
.lab53-auth-back span{
  color:var(--lab53-lime);
  margin-left:16px;
}
.lab53-auth-help{
  margin-top:16px;
  color:#777;
  font-size:12px;
  line-height:1.55;
}

@media(max-width:720px){
  .lab53-auth-card{
    padding:31px 21px;
    border-radius:14px;
  }
  .lab53-auth-card h1{
    font-size:36px;
    letter-spacing:-1.4px;
  }
}

.lab53-legal-person{
  margin-top:32px;
  padding-top:24px;
  border-top:1px solid var(--lab53-line);
}
.lab53-legal-person p{
  color:var(--lab53-muted);
}


/* LAB53 Tester page */
.lab53-tester-wrap{
  width:min(760px,100%);
  margin:0 auto;
}
.lab53-tester-card{
  width:100%;
  background:linear-gradient(145deg,#171717,#0d0d0d);
  border:1px solid var(--lab53-line);
  border-radius:24px;
  padding:clamp(24px,5vw,42px);
}
.lab53-tester-card h1{
  margin-top:8px;
}
.lab53-tester-intro{
  color:var(--lab53-muted);
  font-size:1.05rem;
  line-height:1.7;
  margin-bottom:28px;
}
.lab53-form-row{
  margin-bottom:18px;
}
.lab53-form-row label{
  display:block;
  margin-bottom:8px;
  font-weight:700;
  color:var(--lab53-white);
}
.lab53-form-row input[type="text"],
.lab53-form-row input[type="email"],
.lab53-form-row select{
  width:100%;
  min-height:52px;
  border:1px solid var(--lab53-line);
  border-radius:12px;
  background:#0a0a0a;
  color:var(--lab53-white);
  padding:0 14px;
  font:inherit;
}
.lab53-form-row input:focus,
.lab53-form-row select:focus{
  outline:2px solid var(--lab53-lime);
  outline-offset:1px;
}
.lab53-consent{
  display:flex;
  gap:12px;
  align-items:flex-start;
  color:#d8d8d8;
  line-height:1.55;
}
.lab53-consent input{
  margin-top:4px;
  width:18px;
  height:18px;
  flex:0 0 auto;
}
.lab53-form-note{
  margin-top:16px;
  color:var(--lab53-muted);
  font-size:.92rem;
  line-height:1.55;
}
.lab53-form-note a{
  color:var(--lab53-white);
}
.lab53-tester-success,
.lab53-tester-error{
  border-radius:14px;
  padding:16px 18px;
  margin:0 0 22px;
}
.lab53-tester-success{
  border:1px solid rgba(205,215,43,.45);
  background:rgba(205,215,43,.08);
}
.lab53-tester-error{
  border:1px solid rgba(255,100,100,.45);
  background:rgba(255,100,100,.08);
}
.lab53-hp{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}


/* =========================================================
   TIRE PRESSURE SCREENSHOTS v3.3
========================================================= */
.tire-shot-home .lab53-screen img{
  top:0;
}
.lab53-tire-collage{
  display:grid;
  grid-template-columns:1.05fr .8fr .8fr;
  gap:16px;
  align-items:end;
  width:100%;
  max-width:920px;
  margin:0 auto;
}
.lab53-shot-card{
  background:#0b0b0b;
  border:1px solid rgba(255,255,255,.08);
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 16px 36px rgba(0,0,0,.30);
}
.lab53-shot-card img{
  display:block;
  width:100%;
  height:auto;
}
.lab53-shot-card.tall{
  transform:translateY(18px);
}
.lab53-shot-card.small{
  transform:translateY(-12px);
}
.lab53-shot-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:36px;
}
.lab53-shot-grid .lab53-shot-card{
  border-radius:22px;
  background:#f2f1ed;
}
.lab53-shot-grid .lab53-shot-card img{
  width:100%;
  height:auto;
}
.lab53-shot-caption{
  padding:14px 16px 16px;
  background:#111;
  border-top:1px solid rgba(255,255,255,.06);
}
.lab53-shot-caption strong{
  display:block;
  font-size:.95rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:6px;
  color:#fff;
}
.lab53-shot-caption span{
  display:block;
  color:var(--lab53-muted);
  line-height:1.45;
  font-size:.96rem;
}
@media (max-width: 980px){
  .lab53-tire-collage{
    grid-template-columns:1fr;
    max-width:520px;
  }
  .lab53-shot-card.tall,
  .lab53-shot-card.small{
    transform:none;
  }
  .lab53-shot-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 640px){
  .lab53-shot-grid{
    grid-template-columns:1fr;
  }
}


/* Tester success instructions */
.lab53-tester-steps{
  display:grid;
  gap:14px;
  margin:22px 0 8px;
}
.lab53-tester-step{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:14px;
  align-items:start;
  padding:16px 18px;
  border:1px solid var(--lab53-line);
  border-radius:14px;
  background:#0b0b0b;
}
.lab53-tester-step-number{
  width:42px;
  height:42px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--lab53-lime);
  color:#050505;
  font-weight:900;
}
.lab53-tester-step h3{
  margin:1px 0 5px;
  font-size:1rem;
  text-transform:uppercase;
}
.lab53-tester-step p{
  margin:0;
  color:var(--lab53-muted);
  line-height:1.55;
}
.lab53-tester-mailbtn{
  margin-top:18px;
}


/* =========================================================
   TRAIN PRO SCREENSHOTS v3.6
========================================================= */
.train-shot-home .lab53-screen img{
  top:0;
}
.lab53-train-collage{
  display:grid;
  grid-template-columns:1.05fr .9fr .9fr;
  gap:16px;
  align-items:end;
  width:100%;
  max-width:940px;
  margin:0 auto;
}
.lab53-train-collage .lab53-shot-card{
  background:#0b0b0b;
  border:1px solid rgba(255,255,255,.08);
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 16px 36px rgba(0,0,0,.28);
}
.lab53-train-collage .lab53-shot-card img{
  display:block;
  width:100%;
  height:auto;
}
.lab53-train-collage .lab53-shot-card.offset-down{
  transform:translateY(14px);
}
.lab53-train-collage .lab53-shot-card.offset-up{
  transform:translateY(-10px);
}
@media (max-width: 980px){
  .lab53-train-collage{
    grid-template-columns:1fr;
    max-width:520px;
  }
  .lab53-train-collage .lab53-shot-card.offset-down,
  .lab53-train-collage .lab53-shot-card.offset-up{
    transform:none;
  }
}


/* =========================================================
   LAB53 v3.8 – CLEAN APP SHOWCASES + SLIDER
========================================================= */

/* TRAIN PRO homepage image should start at the top of the actual screenshot */
.train-shot-home .lab53-screen img{
  top:0 !important;
}

/* TIRE PRESSURE: one clean showcase instead of a 3-image collage */
.lab53-tire-single{
  width:min(390px,100%);
  margin:0 auto;
}
.lab53-tire-single .lab53-phone{
  width:100%;
  height:640px;
}
.lab53-tire-single .lab53-screen img{
  top:0 !important;
}

/* Generic app screenshot slider */
.lab53-app-slider{
  position:relative;
  margin-top:38px;
}
.lab53-app-slide{
  display:none;
}
.lab53-app-slide.is-active{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);
  gap:34px;
  align-items:center;
}
.lab53-app-slide-visual{
  background:#f2f1ed;
  border:1px solid var(--lab53-line);
  border-radius:24px;
  overflow:hidden;
  min-width:0;
  width:min(420px,100%);
  justify-self:center;
}
.lab53-app-slide-visual img{
  display:block;
  width:100%;
  height:auto;
}
.lab53-app-slide-copy{
  min-width:0;
}
.lab53-app-slide-step{
  color:var(--lab53-lime);
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:.82rem;
  margin-bottom:12px;
}
.lab53-app-slide-copy h3{
  margin:0 0 14px;
  font-size:clamp(28px,3.4vw,46px);
  line-height:1;
  text-transform:uppercase;
}
.lab53-app-slide-copy p{
  color:var(--lab53-muted);
  font-size:1.02rem;
  line-height:1.7;
  margin:0;
}
.lab53-app-slider-controls{
  margin-top:24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.lab53-app-slider-count{
  color:var(--lab53-muted);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.lab53-app-slider-next{
  appearance:none;
  border:1px solid var(--lab53-line);
  background:#111;
  color:#fff;
  padding:14px 18px;
  font:inherit;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.lab53-app-slider-next:hover{
  border-color:var(--lab53-lime);
}
.lab53-app-slider-next .arrow{
  color:var(--lab53-lime);
  margin-left:12px;
}

/* Blue variant for TRAIN PRO if reused later */
.lab53-app-slider.blue .lab53-app-slide-step,
.lab53-app-slider.blue .lab53-app-slider-next .arrow{
  color:var(--lab53-blue);
}
.lab53-app-slider.blue .lab53-app-slider-next:hover{
  border-color:var(--lab53-blue);
}

@media(max-width:900px){
  .lab53-app-slide.is-active{
    grid-template-columns:1fr;
  }
  .lab53-app-slide-copy{
    padding:0 4px;
  }
  .lab53-tire-single .lab53-phone{
    height:540px;
  }
}
@media(max-width:560px){
  .lab53-app-slider-controls{
    align-items:flex-start;
    flex-direction:column;
  }
  .lab53-app-slider-next{
    width:100%;
    display:flex;
    justify-content:space-between;
  }
  .lab53-tire-single .lab53-phone{
    width:min(270px,100%);
    height:485px;
  }
}


/* =========================================================
   TRAIN PRO SCREENSHOT CARD HEIGHT FIX v4.5
   Cards keep their natural content height instead of being
   stretched to the tallest item in the grid.
========================================================= */
.lab53-shot-grid{
  align-items:start;
}
.lab53-shot-grid .lab53-shot-card{
  align-self:start;
  height:auto;
}


/* =========================================================
   LAB53 GEAR v4.7
========================================================= */
:root{
  --lab53-gear:#f3f1eb;
}

.lab53-btn.gear{
  border:1px solid var(--lab53-gear);
}
.lab53-btn.gear .arrow{
  color:var(--lab53-gear);
}
.lab53-btn.gear:hover{
  background:var(--lab53-gear);
  color:#050505;
}
.lab53-brandline.gear,
.lab53-status.gear,
.lab53-kicker.gear,
.lab53-page-hero.gear .lab53-kicker,
.lab53-feature .icon.gear{
  color:var(--lab53-gear);
}
.lab53-summary a.gear-link{
  color:var(--lab53-gear);
}

.lab53-card.gear-home-card{
  grid-column:1 / -1;
  grid-template-columns:40% 60%;
}
.lab53-card.gear-home-card .lab53-phone{
  width:min(310px,100%);
  height:500px;
}
.gear-shot-home .lab53-screen img{
  top:0 !important;
}

.lab53-gear-single{
  width:min(390px,100%);
  margin:0 auto;
}
.lab53-gear-single .lab53-phone{
  width:100%;
  height:650px;
}
.lab53-gear-single .lab53-screen img{
  top:0 !important;
}

.gear-slider .lab53-app-slide-step,
.gear-slider .lab53-app-slider-next .arrow{
  color:var(--lab53-gear);
}
.gear-slider .lab53-app-slider-next:hover{
  border-color:var(--lab53-gear);
}

@media(max-width:980px){
  .lab53-card.gear-home-card{
    grid-column:auto;
    grid-template-columns:1fr;
  }
  .lab53-gear-single .lab53-phone{
    height:560px;
  }
}

@media(max-width:760px){
  .lab53-app-grid{
    grid-template-columns:1fr;
  }
  .lab53-card.gear-home-card{
    grid-column:auto;
  }
  .lab53-gear-single .lab53-phone{
    width:min(275px,100%);
    height:505px;
  }
}
