/* ByBart / BWT Solo — shared styles */
:root{
  --ink:#0E0F11;--ink-2:#16191D;--ink-3:#1E2329;--paper:#F1EEE7;
  --green:#1D9E75;--green-soft:#27B68A;--green-txt:#5dd4a8;
  --amber:#EF9F27;--amber-soft:#F7B855;--concrete:#8A9099;
  --line-dark:rgba(241,238,231,0.12);--line-light:rgba(14,15,17,0.14);--maxw:1120px;
}
*{box-sizing:border-box;} html{scroll-behavior:smooth;}
body{margin:0;background:var(--ink);color:var(--paper);font-family:"IBM Plex Sans",system-ui,sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;} img{max-width:100%;display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px;}
.mono{font-family:"IBM Plex Mono",monospace;}

/* ---------- nav ---------- */
nav{position:sticky;top:0;z-index:60;background:rgba(14,15,17,0.9);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line-dark);}
.nav-row{display:flex;align-items:center;justify-content:space-between;height:62px;gap:14px;}
.brand{font-family:"Archivo Expanded","Archivo",sans-serif;font-weight:900;letter-spacing:-0.02em;font-size:20px;display:flex;align-items:center;gap:10px;text-decoration:none;flex:none;}
.brand img{width:26px;height:26px;border-radius:7px;}
.brand .sub{font-family:"IBM Plex Mono",monospace;font-size:11px;font-weight:500;color:var(--concrete);letter-spacing:.08em;text-transform:uppercase;}
.nav-right{display:flex;align-items:center;gap:16px;}
.nav-links{display:flex;gap:22px;align-items:center;}
.nav-links a{text-decoration:none;color:var(--concrete);font-size:14.5px;font-weight:500;transition:color .15s;padding:4px 0;border-bottom:1.5px solid transparent;}
.nav-links a:hover{color:var(--paper);}
.nav-links a.current{color:var(--paper);border-bottom-color:var(--green);}
.nav-cta{background:var(--green);color:#08110D !important;padding:9px 16px;border-radius:7px;font-weight:600;font-size:14.5px;text-decoration:none;flex:none;}
.nav-cta:hover{background:var(--green-soft);}
.lang-switch{display:flex;gap:2px;background:var(--ink-3);border:1px solid var(--line-dark);border-radius:8px;padding:3px;flex:none;}
.lang-switch button{background:transparent;border:0;color:var(--concrete);font-family:"IBM Plex Mono",monospace;font-size:12.5px;font-weight:600;padding:5px 9px;border-radius:6px;cursor:pointer;}
.lang-switch button.active{background:var(--green);color:#08110D;}
.burger{display:none;background:transparent;border:1px solid var(--line-dark);border-radius:8px;width:38px;height:36px;cursor:pointer;padding:0;place-items:center;}
.burger span{display:block;width:16px;height:1.5px;background:var(--paper);margin:3px auto;transition:.2s;}
.mobile-menu{display:none;border-top:1px solid var(--line-dark);background:var(--ink-2);}
.mobile-menu a{display:block;padding:14px 22px;text-decoration:none;color:var(--concrete);font-weight:500;border-bottom:1px solid var(--line-dark);}
.mobile-menu a.current{color:var(--green-txt);}
.mobile-menu.open{display:block;}
@media(max-width:900px){
  .nav-links{display:none;}
  .burger{display:grid;}
  .brand .sub{display:none;}
}

/* ---------- hero (home) ---------- */
header.hero{position:relative;padding:72px 0 88px;border-bottom:1px solid var(--line-dark);overflow:hidden;}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line-dark) 1px,transparent 1px),linear-gradient(90deg,var(--line-dark) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(120% 80% at 75% 0%,#000 0%,transparent 70%);mask-image:radial-gradient(120% 80% at 75% 0%,#000 0%,transparent 70%);opacity:.6;pointer-events:none;}
.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr 0.95fr;gap:54px;align-items:center;}
@media(max-width:860px){ .hero-grid{grid-template-columns:1fr;gap:40px;} }
.eyebrow{font-family:"IBM Plex Mono",monospace;font-size:12.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--green-txt);margin:0 0 18px;display:flex;align-items:center;gap:10px;}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--green);}
h1{font-family:"Archivo Expanded","Archivo",sans-serif;font-weight:900;font-size:clamp(40px,6.4vw,72px);line-height:0.98;letter-spacing:-0.025em;margin:0 0 22px;}
h1 .hl{color:var(--green-txt);}
.de-tag{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin:-8px 0 24px;font-family:"IBM Plex Mono",monospace;}
.lede{font-size:clamp(17px,2.1vw,20px);color:#C9CBCE;max-width:34ch;margin:0 0 30px;}
.cta-row{display:flex;flex-wrap:wrap;gap:13px;align-items:center;}
.btn{appearance:none;border:0;cursor:pointer;text-decoration:none;font-family:"IBM Plex Sans",sans-serif;font-weight:600;font-size:15.5px;padding:14px 22px;border-radius:9px;display:inline-flex;align-items:center;gap:9px;transition:transform .12s ease,background .15s ease,border-color .15s;}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--green);color:#08110D;} .btn-primary:hover{background:var(--green-soft);}
.btn-ghost{background:transparent;color:var(--paper);border:1px solid var(--line-dark);} .btn-ghost:hover{border-color:var(--paper);}
.btn svg{width:18px;height:18px;}

/* ---------- page header (inner pages) ---------- */
.page-head{position:relative;padding:64px 0 54px;border-bottom:1px solid var(--line-dark);overflow:hidden;}
.page-head::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line-dark) 1px,transparent 1px),linear-gradient(90deg,var(--line-dark) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(100% 100% at 80% 0%,#000 0%,transparent 72%);mask-image:radial-gradient(100% 100% at 80% 0%,#000 0%,transparent 72%);opacity:.5;pointer-events:none;}
.page-head .inner{position:relative;max-width:760px;}
.page-head h1{font-size:clamp(34px,5vw,54px);margin-bottom:16px;}
.page-head p{color:#C9CBCE;font-size:clamp(16px,2vw,19px);margin:0;max-width:56ch;}

/* ---------- live ticker ---------- */
.ticker{background:linear-gradient(160deg,#181C20,#0E0F11);border:1px solid var(--line-dark);border-radius:18px;padding:26px 26px 22px;position:relative;box-shadow:0 30px 60px -30px rgba(0,0,0,.7);}
.ticker-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:10px;}
.ticker-job{font-size:14px;color:#C9CBCE;} .ticker-job b{color:var(--paper);font-weight:600;}
.live{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--green-txt);display:flex;align-items:center;gap:7px;flex:none;}
.live .pulse{width:8px;height:8px;border-radius:50%;background:var(--green);animation:pulse 1.6s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.35;transform:scale(.7);}}
.clock{font-family:"IBM Plex Mono",monospace;font-weight:600;font-size:clamp(44px,9vw,64px);line-height:1;letter-spacing:0.01em;margin:4px 0 2px;font-variant-numeric:tabular-nums;}
.clock .sec{color:var(--green-txt);}
.ticker-sub{font-size:13.5px;color:var(--concrete);margin-bottom:20px;}
.ticker-split{display:flex;align-items:flex-end;justify-content:space-between;border-top:1px solid var(--line-dark);padding-top:18px;gap:10px;}
.money-label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--concrete);}
.money{font-family:"IBM Plex Mono",monospace;font-weight:600;font-size:30px;font-variant-numeric:tabular-nums;margin-top:3px;color:var(--amber);}
.money .chf{font-size:15px;color:var(--concrete);margin-right:6px;}
.rate{text-align:right;font-size:12.5px;color:var(--concrete);line-height:1.4;}
.demo-tag{position:absolute;top:14px;right:16px;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.12em;color:var(--concrete);border:1px solid var(--line-dark);border-radius:5px;padding:2px 7px;}

/* ---------- sections ---------- */
section{padding:80px 0;}
.sec-head{max-width:660px;margin:0 0 44px;}
.sec-eyebrow{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--green-txt);margin:0 0 14px;}
h2{font-family:"Archivo Expanded","Archivo",sans-serif;font-weight:800;font-size:clamp(28px,4vw,42px);line-height:1.02;letter-spacing:-0.02em;margin:0 0 14px;}
.sec-head p{color:#C9CBCE;font-size:17px;margin:0;}
.light{background:var(--paper);color:var(--ink);}
.light h2{color:var(--ink);} .light .sec-eyebrow{color:#0c7a56;} .light .sec-head p{color:#454B52;}

/* ---------- feature cards ---------- */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:900px){ .features{grid-template-columns:1fr 1fr;} }
@media(max-width:640px){ .features{grid-template-columns:1fr;} }
.card{background:#fff;border:1px solid var(--line-light);border-radius:14px;padding:26px 24px;transition:transform .18s ease,box-shadow .18s ease;}
.card:hover{transform:translateY(-3px);box-shadow:0 18px 36px -22px rgba(14,15,17,.4);}
.card .num{font-family:"IBM Plex Mono",monospace;font-size:13px;color:var(--green);font-weight:600;}
.card h3{font-family:"Archivo",sans-serif;font-weight:700;font-size:20px;margin:12px 0 9px;letter-spacing:-0.01em;}
.card p{margin:0;color:#454B52;font-size:15.5px;line-height:1.55;}

/* ---------- 3 quick points (home) ---------- */
.points{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:820px){ .points{grid-template-columns:1fr;} }
.point{border:1px solid var(--line-dark);border-radius:14px;padding:24px 22px;background:var(--ink-2);}
.point .pnum{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--green-txt);letter-spacing:.1em;}
.point h3{font-family:"Archivo",sans-serif;font-weight:700;font-size:19px;margin:10px 0 8px;}
.point p{margin:0;color:#C9CBCE;font-size:15px;}

/* ---------- screenshots ---------- */
.shots{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:24px;justify-content:center;}
@media(max-width:520px){ .shots{grid-template-columns:1fr;max-width:330px;margin:0 auto;} }
.shot img{width:100%;border-radius:24px;border:1px solid var(--line-dark);box-shadow:0 30px 60px -34px rgba(0,0,0,.85);}
.shot-cap{text-align:center;margin-top:16px;font-size:14px;color:var(--concrete);}
.shot-cap b{color:var(--paper);font-weight:600;display:block;font-size:15px;margin-bottom:2px;}
.light .shot img{border-color:var(--line-light);}
.light .shot-cap{color:#6A7178;} .light .shot-cap b{color:var(--ink);}

/* ---------- pricing ---------- */
.billing-wrap{text-align:center;margin:-8px 0 34px;}
.billing-toggle{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line-light);border-radius:10px;padding:4px;}
.billing-toggle button{background:transparent;border:0;font-family:"IBM Plex Sans",sans-serif;font-size:14px;font-weight:600;color:#6A7178;padding:9px 15px;border-radius:7px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;}
.billing-toggle button.active{background:var(--ink);color:#fff;}
.save-badge{font-family:"IBM Plex Mono",monospace;font-size:10.5px;font-weight:600;color:#0c7a56;background:var(--paper);border-radius:5px;padding:2px 6px;}
.billing-toggle button.active .save-badge{background:rgba(93,212,168,.22);color:#9be7c8;}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:980px;margin:0 auto;}
@media(max-width:880px){ .plans{grid-template-columns:1fr;max-width:440px;} }
.plan{background:#fff;border:1px solid var(--line-light);border-radius:16px;padding:30px 28px;display:flex;flex-direction:column;}
.plan.featured{border:1.5px solid var(--green);position:relative;}
.featured-tag{position:absolute;top:-11px;left:28px;background:var(--green);color:#08110D;font-size:11px;font-weight:600;font-family:"IBM Plex Mono",monospace;letter-spacing:.04em;padding:4px 10px;border-radius:6px;}
.plan h3{font-family:"Archivo",sans-serif;font-weight:700;font-size:20px;margin:0 0 4px;}
.plan .sub{color:#6A7178;font-size:14px;margin-bottom:18px;min-height:20px;}
.price{font-family:"IBM Plex Mono",monospace;font-weight:600;font-size:38px;color:var(--ink);line-height:1;}
.price .per{font-size:15px;color:#6A7178;font-weight:400;}
.price-note{font-family:"IBM Plex Mono",monospace;font-size:12.5px;color:#0c7a56;margin-top:7px;min-height:17px;}
.plan ul{list-style:none;padding:0;margin:18px 0 26px;flex:1;}
.plan li{font-size:15px;color:#33383E;padding:8px 0 8px 26px;position:relative;border-top:1px solid var(--line-light);}
.plan li:first-child{border-top:0;}
.plan li::before{content:"";position:absolute;left:2px;top:14px;width:11px;height:6px;border-left:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(-45deg);}
.plan .btn{justify-content:center;width:100%;}
.plan-dark-btn{background:var(--ink);color:var(--paper);} .plan-dark-btn:hover{background:#2A3038;}

/* ---------- install steps ---------- */
.steps{display:grid;grid-template-columns:1fr;max-width:560px;gap:40px;align-items:start;}
.step-block h3{font-family:"Archivo",sans-serif;font-weight:700;font-size:18px;margin:0 0 18px;display:flex;align-items:center;gap:10px;}
.step-block h3 .ic{width:30px;height:30px;border-radius:8px;background:var(--ink-3);display:grid;place-items:center;}
.step-block h3 .ic svg{width:16px;height:16px;stroke:var(--green-txt);}
ol.step-list{counter-reset:s;list-style:none;padding:0;margin:0;}
ol.step-list li{position:relative;padding:0 0 18px 42px;color:#C9CBCE;font-size:15.5px;}
ol.step-list li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:-1px;width:28px;height:28px;border-radius:8px;border:1px solid var(--line-dark);font-family:"IBM Plex Mono",monospace;font-size:13px;color:var(--green-txt);display:grid;place-items:center;}
ol.step-list li b{color:var(--paper);font-weight:600;}

/* ---------- teams ---------- */
.teams-box{display:grid;grid-template-columns:1.3fr 0.7fr;gap:40px;align-items:center;background:#fff;border:1px solid var(--line-light);border-radius:18px;padding:42px 40px;}
@media(max-width:820px){ .teams-box{grid-template-columns:1fr;gap:28px;padding:32px 26px;} }
.teams-copy h2{margin-top:6px;} .teams-copy p{color:#454B52;font-size:16.5px;margin:0 0 24px;}
.teams-copy .sec-eyebrow{color:#0c7a56;} .teams-copy b{color:var(--ink);font-weight:600;}
.teams-meta{display:flex;flex-wrap:wrap;gap:10px;}
.teams-pill{border:1px solid var(--line-light);border-radius:999px;padding:8px 14px;font-size:13.5px;color:#33383E;background:var(--paper);}
.teams-pill.mono{font-family:"IBM Plex Mono",monospace;color:var(--green);letter-spacing:.06em;text-transform:uppercase;font-size:12px;}

/* ---------- product cards (hub-ish) ---------- */
.products{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media(max-width:820px){ .products{grid-template-columns:1fr;} }
.product{border:1px solid var(--line-dark);border-radius:16px;padding:30px 28px;background:var(--ink-2);display:flex;flex-direction:column;}
.product .status{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:5px;align-self:flex-start;}
.product .status.now{color:#08110D;background:var(--green);}
.product .status.soon{color:var(--amber);border:1px solid var(--line-dark);}
.product h3{font-family:"Archivo Expanded","Archivo",sans-serif;font-weight:800;font-size:26px;margin:16px 0 8px;letter-spacing:-0.02em;}
.product p{color:#C9CBCE;font-size:15.5px;margin:0 0 22px;flex:1;}

/* ---------- CTA strip ---------- */
.cta-strip{border:1px solid var(--line-dark);border-radius:18px;padding:38px 34px;background:linear-gradient(160deg,#181C20,#0E0F11);display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;}
.cta-strip h2{margin:0 0 8px;font-size:clamp(24px,3vw,32px);}
.cta-strip p{margin:0;color:#C9CBCE;font-size:16px;}

/* ---------- footer ---------- */
.about-line{color:var(--concrete);font-size:14.5px;margin:0 0 26px;padding-bottom:24px;border-bottom:1px solid var(--line-dark);}
footer{border-top:1px solid var(--line-dark);padding:46px 0 60px;}
.foot-row{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center;}
.foot-row p{margin:0;color:var(--concrete);font-size:14px;}
.foot-links{display:flex;gap:22px;flex-wrap:wrap;} .foot-links a{color:var(--concrete);text-decoration:none;font-size:14px;} .foot-links a:hover{color:var(--paper);}
.next-app{margin-top:30px;border:1px dashed var(--line-dark);border-radius:12px;padding:18px 20px;display:flex;align-items:center;gap:14px;color:var(--concrete);font-size:14.5px;flex-wrap:wrap;}
.next-app .tag{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--green-txt);border:1px solid var(--line-dark);border-radius:5px;padding:3px 8px;flex:none;}
.next-app b{color:var(--paper);font-weight:600;}

[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;}
[data-reveal].in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none;}.live .pulse{animation:none;}html{scroll-behavior:auto;}}
