/* CyberHub "Apple layout": slim top bar, segmented tabs, swipe rails. Loaded after imagine.css; layout only, no copy changes. */
:root{--nav-h:52px}
html{scroll-padding-top:calc(var(--nav-h) + 16px)}

/* ---------- Global nav: slim, always-on translucent bar ---------- */
.nav,.nav.scrolled{background:rgba(11,15,23,.82);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line)}
.nav .wrap{height:var(--nav-h);gap:16px}
.nav .brand{flex:none}
.nav .hexmark svg{width:28px;height:28px}
.nav .bstack .bname{font-size:1.06rem}
.nav .bstack .bsub{font-size:.5rem;margin-top:3px}
.nav nav{flex:1;min-width:0;display:flex;justify-content:center}
.nav-links,.nav-links a{transition:color .2s,background .2s}
.nav .nav-links{position:static;flex-direction:row;gap:2px;background:none;border:0;padding:0;opacity:1;visibility:visible;transform:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0}
.nav .nav-links a{font-size:.86rem;font-weight:500;padding:6px 12px;border-radius:999px;color:#D1D5DB}
.nav .nav-links a:hover{color:#fff;background:rgba(255,255,255,.06)}
.nav .nav-links a[aria-current="page"]{color:var(--lime);background:rgba(163,230,53,.1);box-shadow:inset 0 0 0 1px rgba(163,230,53,.3)}
.nav .nav-start{padding:8px 15px;font-size:.84rem}
.menu-btn{display:none!important}
@media (max-width:1120px){.nav .nav-start .ns-long{display:none}.nav .nav-start .ns-short{display:inline}}
@media (max-width:860px){.nav .nav-links a{padding:6px 9px;font-size:.84rem}}

/* Phones: brand + Free review on top, every page in a swipeable strip below */
@media (max-width:760px){
  :root{--nav-h:92px}
  .nav .wrap{flex-wrap:wrap;height:auto;gap:0 12px;padding:0 16px}
  .nav .brand{height:50px}
  .nav .nav-cta{margin-left:auto}
  .nav nav{order:3;flex:0 0 calc(100% + 32px);margin:0 -16px;border-top:1px solid rgba(255,255,255,.06)}
  .nav .nav-links{width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:5px 6px 6px;gap:1px}
  .nav .nav-links::-webkit-scrollbar{display:none}
  .nav .nav-links li{flex:none}
  .nav .nav-links li:first-child{margin-left:auto}
  .nav .nav-links li:last-child{margin-right:auto}
  .nav .nav-links a{font-size:.85rem;line-height:1.2;padding:6px 8px;color:#E5E7EB}
}

/* Page tops sit just under the bar */
.page-top{padding-top:calc(var(--nav-h) + clamp(32px,5vw,72px))}
.hero{padding-top:calc(var(--nav-h) + clamp(28px,5vw,64px))}
.page-top .sec-head{margin-bottom:clamp(24px,3.5vw,44px)}

/* ---------- Segmented control (Apple-style pill tabs) ---------- */
.seg-list{display:flex;gap:4px;width:-moz-fit-content;width:fit-content;max-width:100%;margin:0 auto clamp(22px,3vw,36px);padding:4px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--line);overflow-x:auto;scrollbar-width:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.seg-list::-webkit-scrollbar{display:none}
.seg-list[hidden]{display:none}
.seg-tab{appearance:none;-webkit-appearance:none;flex:none;border:0;margin:0;background:transparent;color:#D1D5DB;font:600 .92rem/1 var(--body);letter-spacing:-.005em;padding:11px 18px;min-height:40px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:background .25s var(--ease),color .2s,box-shadow .25s}
.seg-tab:hover{color:#fff;background:rgba(255,255,255,.06)}
.seg-tab[aria-selected="true"]{background:var(--lime);color:var(--ink);box-shadow:0 0 20px -4px rgba(163,230,53,.6)}
.seg-tab:focus-visible{outline:2px solid #fff;outline-offset:2px}
[role="tabpanel"][hidden]{display:none!important}
.tab-in{animation:tabIn .38s var(--ease)}
@keyframes tabIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* Content inside a newly shown tab never waits on scroll-reveal */
.tabs-on [role="tabpanel"] [data-reveal],.tabs-on [role="tabpanel"][data-reveal]{opacity:1;transform:none}
/* Without JS nothing is hidden: no tab bar is built and every panel shows, stacked */

/* ---------- Swipe rails (phones): one row of cards instead of a long stack ---------- */
.rail:focus-visible{outline:2px solid rgba(163,230,53,.7);outline-offset:4px;border-radius:var(--radius)}
@media (max-width:760px){
  .rail{display:grid!important;grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:80%;gap:12px!important;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0 16px;margin:0 -24px!important;padding:4px 24px 16px!important;max-width:none!important;scrollbar-width:thin;scrollbar-color:rgba(163,230,53,.35) transparent}
  .rail>*{scroll-snap-align:start;min-width:0}
}

@media (max-width:760px){.seg-tab{padding:10px 13px;font-size:.86rem;min-height:38px}}

/* ---------- Tighter vertical rhythm ---------- */
.cta-short{padding:clamp(52px,7vw,96px) 0}
.cta-short h2{font-size:clamp(1.9rem,4.6vw,3.6rem)}
footer .bigword{font-size:clamp(4rem,13vw,11rem);margin-bottom:28px}
@media (max-width:760px){
  section{padding:48px 0}
  .page-top{padding-bottom:40px}
  h1.ph{font-size:clamp(2rem,9vw,2.6rem)}
  .lede{font-size:1rem;margin-top:12px}
  .sec-head{gap:12px;margin-bottom:24px}
  .page-top .sec-head{margin-bottom:22px}
  .kicker{margin-bottom:12px}
  .cta-short{padding:52px 0}
  .cta-short h2{font-size:clamp(1.9rem,8.4vw,2.4rem)}
  .cta-short .btn{margin-top:22px}
  .cta .lede{margin-top:14px}
  footer .bigword{margin-bottom:22px}
  footer .wrap.row{padding-top:20px;gap:10px 18px}
}

/* ---------- Home ---------- */
.hero-grid{gap:clamp(18px,4vw,48px)}
.da-stage{max-width:480px}
.marquee{margin-top:clamp(28px,5vw,64px)}
.home-tabs{padding:clamp(40px,6vw,80px) 0 clamp(40px,6vw,72px)}
.home-tabs .tpanel{max-width:1000px;margin:0 auto}
.home-tabs .vals{gap:16px}
.home-tabs .val{padding:24px}
.home-tabs .val h3{margin-top:14px}
.home-tabs .t-price{max-width:640px;margin:0 auto;text-align:center;align-items:center}
@media (max-width:980px){.home-tabs .vals{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){
  .hero h1{font-size:clamp(2.6rem,12vw,3.2rem);margin-top:18px}
  .hero .hero-ctas{margin-top:22px}
  .hero .hero-ctas{gap:6px}
  .hero-ctas .btn{padding:12px 13px;font-size:.92rem;gap:8px}
  .pill{font-size:.76rem;padding:6px 12px 6px 6px}
  .da-stage{max-width:236px}
  .da-label{margin-top:4px;font-size:.82rem}
  .marquee ul{padding:12px 0}
  .home-tabs{padding:32px 0 36px}
  .home-tabs .vals{grid-template-columns:1fr;gap:10px}
  .home-tabs .val{display:grid;grid-template-columns:44px 1fr;column-gap:14px;align-items:center;padding:14px 16px}
  .home-tabs .val .ic{grid-row:span 2;width:44px;height:44px;margin:0}
  .home-tabs .val h3{margin:0 0 2px;font-size:1.08rem}
  .home-tabs .val p{font-size:.93rem;line-height:1.45}
  .home-tabs .teaser{padding:20px 18px}
  .home-tabs .t-work{grid-template-columns:132px 1fr;gap:16px;text-align:left;justify-items:stretch;align-items:center}
  .home-tabs .t-work .compare{max-width:132px;border-radius:22px;padding:5px}
  .home-tabs .t-work .compare .screen{border-radius:18px}
  .home-tabs .t-work .compare .lbl{top:14px;font-size:.56rem;padding:3px 6px}
  .home-tabs .t-work .compare .lbl.b{left:6px}.home-tabs .t-work .compare .lbl.a{right:6px}
  .home-tabs .t-work .compare .knob{width:34px;height:34px;margin:-17px 0 0 -17px}
  .home-tabs .t-h{font-size:1.45rem;margin:2px 0 8px}
  .home-tabs .teaser p{font-size:.93rem;margin-bottom:10px}
  .home-tabs .teaser .concept{font-size:.62rem;margin-bottom:10px;padding:3px 8px}
  .home-tabs .t-big{font-size:3.2rem;margin:4px 0 10px!important}
}

/* ---------- Services ---------- */
.svc-tabs .tpanel.extras-sec,.svc-tabs .tpanel.process-sec{padding:0}
.svc-tabs .extras{margin-top:0}
.svc-tabs .process-sec .sec-head{margin-bottom:clamp(28px,4vw,48px)}
@media (max-width:760px){
  .bento.rail .svc,.bento.rail .svc.big{grid-column:auto;grid-row:auto;min-height:0;padding:22px}
  .bento.rail .svc .ic{margin-bottom:16px}
  .bento.rail .svc.big h3{font-size:1.4rem}
  .bento.rail .svc.big .chips{margin-top:16px}
  .extras-grid.rail .extra{padding:22px 20px}
  .extras-head{margin-bottom:16px}
  .steps.rail::before,.steps.rail::after{display:none}
  .steps.rail .step{text-align:left;padding:22px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}
  .steps.rail .step .num{position:static;margin:0 0 14px;width:46px;height:46px}
}

/* ---------- Work ---------- */
@media (max-width:980px){
  .cases-tabs.tabs-on .cases{display:block}
  .cases-tabs.tabs-on .case{margin:0 auto}
}
@media (max-width:760px){
  .cases .compare{max-width:228px}
  .case h3{margin-top:20px}
  .page-top .work-foot{margin-top:32px;padding-top:22px}
  .reviews-sec{padding:44px 0}
  .reviews-sec .review-slot{min-height:150px;padding:20px}
}

/* ---------- Pricing ---------- */
.founding{margin:22px auto clamp(32px,4vw,52px)}
.more-tabs .terms{margin-top:0}
.more-tabs .addon-list{margin-top:0}
.more-tabs .faq-grid .sec-head{top:calc(var(--nav-h) + 24px)}
@media (max-width:980px){
  .tier-tabs.tabs-on .tiers{display:block;max-width:520px;margin:0 auto}
}
@media (max-width:760px){
  .tier{padding:26px 22px}
  .tier .for{min-height:0;margin-bottom:16px}
  .price .amt{font-size:3.3rem}
  .once{margin:8px 0 18px}
  .tier ul{gap:9px;padding-top:18px;margin-bottom:22px}
  .founding{padding:16px 18px}
  .term{padding:16px 18px}
  .addon-list{padding:22px 18px}
  .faq summary{padding:18px 0}
  .faq .ans{padding-bottom:18px}
}

/* ---------- Apps + Contact ---------- */
@media (max-width:760px){
  .apps-sec .sub{margin:10px 0 24px}
  .card{padding:22px}
  .contact-top{padding-bottom:28px}
  .cta h1{font-size:clamp(2rem,9vw,2.6rem)}
  .contact-sec{padding-bottom:40px}
}
@media (min-width:360px) and (max-width:620px){
  /* Free review form: pair the short fields two-up on phones (same fields, same order) */
  .qgrid{grid-template-columns:1fr 1fr;gap:12px 10px}
  .qgrid>.qf:nth-child(3),.qgrid>.qf:nth-child(4),.qgrid>.qf:nth-last-child(2),.qgrid>.qf:nth-last-child(3){grid-column:1/-1}
  .qf>label,.qf legend{font-size:.86rem}
}
@media (max-width:760px){
  .cases .compare{max-width:210px}
  .contact .card a.big{font-size:.98rem}
  .mail-side{font-size:.98rem}
}
