@font-face{font-family:'Berkeley Mono';src:url('fonts/BerkeleyMono-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Berkeley Mono';src:url('fonts/BerkeleyMono-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{
  --mono:'Berkeley Mono',monospace;
  --body:'Berkeley Mono',monospace;
  --sp:clamp(40px,6vw,80px) 0;
  --t3: #595959 !important;
  --t4: #737373 !important;
  --sal: env(safe-area-inset-left, 0px);
  --sar: env(safe-area-inset-right, 0px);
  --sat: env(safe-area-inset-top, 0px);
  --sab: env(safe-area-inset-bottom, 0px);
}
[data-theme="dark"] {
  --t3: #a3a3a3 !important;
  --t4: #737373 !important;
}

h1,h2,h3,h4,h5,h6,.section-title,.hero-h1,.eyebrow,.nav-logo-text,.btn-primary,.nav-cta,.project-card h3,.service-card h3,.bc-title,.bc-metric-val,.stat-tile-num,.pricing-amount,.footer-col h5,.footer-col h3,.pillar-text h3,.pstep-body h3{font-family:'Berkeley Mono',monospace!important;font-weight:700!important}
body,p,a,li,input,textarea,.section-sub,.hero-sub,.project-card p,.service-card p,.bc-text,.tcard p{font-family:'Berkeley Mono',monospace;font-weight:400}

/* Native window scrolling architecture - Fixes inner scrollbar, horizontal wobble & mobile freeze */
html {
  overflow-x: hidden !important;
  max-width: 100vw !important;
  width: 100% !important;
  scroll-behavior: smooth;
  touch-action: pan-y;
}
body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
  width: 100% !important;
  min-height: 100vh;
  position: relative;
  -webkit-text-size-adjust: 100%;
  touch-action: pan-y;
}

/* Color contrast & readability enhancements (WCAG AA compliant) */
.pstep-num,
.pricing-note,
.cta-response-note,
.form-privacy-note,
.proof-label,
.term-title,
.term-status-item,
.eyebrow {
  color: var(--t3) !important;
}
.form-group label {
  color: var(--t2) !important;
  font-weight: 600 !important;
}

/* Eliminate touch scroll trapping on animated tickers and client logo tracks */
.ticker-wrap,
.ticker-track,
.ticker-inner,
.clients-section,
.clients-track-wrap,
.clients-track {
  touch-action: pan-y !important;
  pointer-events: none !important;
}

/* Enforce native vertical pan gestures across all sections and cards */
section,
.container,
.hero,
.services-grid,
.projects-grid,
.bento-grid,
.stats-mosaic,
.process-steps,
.service-card,
.project-card,
.bc,
.stat-tile,
.pstep,
.pricing-card,
.cta-card,
.footer {
  touch-action: pan-y;
}

/* Restore click / tap interactivity for links and controls */
a,
button,
input,
textarea,
select,
label,
.nav-toggle,
.theme-toggle,
.nav-link,
.btn-primary,
.btn-ghost,
.nav-cta,
.pricing-cta,
.form-submit,
.footer-social-icon {
  pointer-events: auto !important;
}

#page-content{transition:opacity 0.25s ease-out}
#page-content.fade-out{opacity:0;pointer-events:none}
img{width:100%;height:auto;object-fit:cover}
.container{max-width:min(var(--mw),100% - 32px);padding-left:max(16px,var(--sal))!important;padding-right:max(16px,var(--sar))!important}
.section-head{margin-bottom:clamp(24px,4vw,40px)}
.section-title{font-size:clamp(1.5rem,3.5vw,2.2rem)}
.section-sub{font-size:clamp(.82rem,1.5vw,.92rem)}
.hero-h1{font-size:clamp(1.8rem,4.5vw,3.4rem)}
.services-grid{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:clamp(8px,1.2vw,12px)}
.hero-layout{grid-template-columns:1fr 380px!important;gap:clamp(32px,4vw,48px)!important}
.hero-terminal{width:100%!important}
.term-bar{padding:10px 14px!important}
.term-title{font-size:.62rem!important}
.term-body{padding:28px 18px 24px!important;min-height:290px!important}
.term-prompt,.term-cmd,.term-cursor{font-size:.76rem!important}
.term-output{font-size:.72rem!important;line-height:1.8!important;padding-left:12px!important}
.term-status-bar{padding:8px 14px!important}
.term-status-item{font-size:.58rem!important}
.projects-section{padding:clamp(28px,4vw,44px) 0!important}
.projects-section .section-head{margin-bottom:20px!important;text-align:center!important}
.projects-section .eyebrow{justify-content:center!important}
.projects-section .section-sub{margin:0 auto!important}
.projects-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(280px,330px))!important;justify-content:center!important;gap:20px!important}
.project-card{width:100%!important;max-width:330px!important;aspect-ratio:1/1!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;margin:0 auto!important}
.project-card-image{height:170px!important;width:100%!important;flex-shrink:0!important;overflow:hidden!important;border-bottom:1px solid var(--bd)!important;padding:0!important;background:var(--surface)!important}
.project-card-image img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;display:block!important}
.project-card-body{padding:14px 16px!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;flex-grow:1!important}
.project-card-header{margin-bottom:6px!important}
.project-icon{width:26px!important;height:26px!important}
.project-card h3{font-size:.82rem!important;margin-bottom:4px!important}
.project-card p{font-size:.72rem!important;line-height:1.45!important;margin-bottom:6px!important}
.project-link{font-size:.64rem!important}
.projects-intro{max-width:660px!important;margin:16px auto 0!important;text-align:center!important;padding:12px 18px!important;font-size:.74rem!important;line-height:1.5!important}
.bento-grid{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))!important;gap:12px!important}
.bc,.bc-wide,.bc-tall{grid-column:span 1!important;grid-row:span 1!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important}
.process-steps{grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr))}
.testimonials-grid{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:clamp(8px,1.2vw,12px)}
.about-grid{gap:clamp(24px,4vw,48px)}
.cta-card{padding:clamp(22px,4vw,40px) clamp(16px,3.5vw,36px)}
.footer-nav-columns{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(12px,2.5vw,36px)!important;width:100%!important}
.hero-ctas,.hero-proof,.service-tags,.pricing-features,.cta-socials,.footer-social-icons{flex-wrap:wrap}
@media(min-width:1536px){.container{max-width:1400px!important}:root{--mw:1400px}}
@media(min-width:1280px) and (max-width:1535px){.container{max-width:1200px!important}:root{--mw:1200px}}
@media(min-width:1024px) and (max-width:1279px){.hero-layout{grid-template-columns:1fr 340px!important}.bento-grid{grid-template-columns:repeat(3,1fr)!important}}
@media(min-width:768px) and (max-width:1023px){.hero-layout{grid-template-columns:1fr!important;gap:32px!important}.services-grid{grid-template-columns:repeat(2,1fr)!important}.bento-grid{grid-template-columns:repeat(2,1fr)!important}.testimonials-grid{grid-template-columns:repeat(2,1fr)!important}.process-steps{grid-template-columns:repeat(2,1fr)!important}.about-grid{grid-template-columns:1fr!important}.container{padding:0 clamp(16px,4vw,32px)!important}}
@media(max-width:767px){input,select,textarea{font-size:16px!important}.clients-track,.ticker-inner,.ticker-track{will-change:auto!important}.container{padding:0 max(16px,var(--sal)) 0 max(16px,var(--sar))!important}.hero-layout{grid-template-columns:1fr!important}.services-grid,.bento-grid,.testimonials-grid,.process-steps{grid-template-columns:1fr!important}.about-grid{grid-template-columns:1fr!important}.cta-card{grid-template-columns:1fr!important}.nav-right{display:flex!important;align-items:center!important;gap:10px!important}.nav-toggle{display:flex!important}.footer-top-row{flex-direction:column!important;gap:20px!important}.footer-nav-columns{display:grid!important;grid-template-columns:1fr 1fr!important;gap:20px 16px!important}.footer-col-contact{grid-column:span 2!important;margin-top:4px!important}.footer-contact{display:flex!important;flex-wrap:wrap!important;gap:8px 16px!important}.footer-contact-row{font-size:.78rem!important}.footer-col nav a{font-size:.78rem!important;line-height:1.6!important}.footer-middle-row{flex-direction:column!important;align-items:center!important;text-align:center!important;gap:16px!important}.btn-primary,.btn-ghost,.nav-cta,.pricing-cta,.form-submit,.cta-social-link,.footer-social-icon{min-height:44px!important}.hero-bg-grid{display:none!important}.scroll-indicator{display:none!important}.service-card::after,.svc-feature-card::after,.nav-link::after{display:none!important}.nav-links.open{display:flex!important;flex-direction:column!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}}
@media(max-width:540px){.project-card{aspect-ratio:auto!important;min-height:300px}}
@media(max-width:480px){body{font-size:clamp(14px,3.5vw,16px)!important}.container{padding:0 max(14px,var(--sal)) 0 max(14px,var(--sar))!important}.hero-h1{font-size:clamp(1.35rem,5.5vw,2rem)!important}.section-title{font-size:clamp(1.2rem,4vw,1.6rem)!important}.stats-mosaic{grid-template-columns:1fr!important}.stat-tile-large{grid-column:span 1!important}.pricing-card{padding:24px 18px!important}.cta-card{padding:20px 14px!important}}
@media(max-width:374px){.container{padding:0 max(12px,var(--sal)) 0 max(12px,var(--sar))!important}.section-title{font-size:1.15rem!important}.footer-nav-columns{grid-template-columns:1fr 1fr!important;gap:16px 12px!important}}
