/* Colby Technologies — light-first production brand system */
:root{
  --ct-navy:#192c52;
  --ct-blue:#2563eb;
  --ct-bright:#0ea5ff;
  --ct-graphite:#334155;
  --ct-muted:#64748b;
  --ct-soft:#f8fafc;
  --ct-white:#ffffff;
  --ct-line:#dbe4ee;
  --ct-line-strong:#cbd5e1;
  --ct-shadow:0 16px 40px rgba(25,44,82,.08);
  --blue:#2563eb;
  --cyan:#0ea5ff;
  --text:#192c52;
  --muted:#64748b;
  --soft:#f8fafc;
  --line:#dbe4ee;
  --shadow:0 16px 40px rgba(25,44,82,.08);
}
html{background:#fff;color-scheme:light}
body{background:#fff;color:var(--ct-graphite)}
body::before{display:none!important}
a{color:inherit}
.container{width:min(var(--max,1180px),calc(100% - clamp(28px,5vw,64px)))}
.skip-link{border-radius:2px;background:#fff;color:var(--ct-navy);box-shadow:var(--ct-shadow)}


/* Homepage brand entrance — intentionally independent from hero/media systems */
.ct-intro{
  display:none;
  position:fixed;
  inset:0;
  z-index:5000;
  place-items:center;
  overflow:hidden;
  background:#fff;
  color:var(--ct-navy);
  pointer-events:none;
}
.ct-js:not(.ct-intro-complete) .ct-intro{display:grid}
.ct-intro::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(37,99,235,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(37,99,235,.045) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,transparent,black 26%,black 74%,transparent);
}
.ct-intro-inner{
  position:relative;
  z-index:1;
  width:min(520px,calc(100vw - 48px));
  display:grid;
  justify-items:center;
  gap:20px;
  text-align:center;
}
.ct-intro-logo{
  display:block;
  width:min(360px,76vw);
  height:auto;
  opacity:0;
  transform:translateY(10px) scale(.985);
}
.ct-intro-label{
  margin:0;
  color:var(--ct-blue);
  font:800 .68rem/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(8px);
}
.ct-intro-track{
  width:min(280px,62vw);
  height:2px;
  overflow:hidden;
  background:#e2e8f0;
  opacity:0;
}
.ct-intro-bar{
  display:block;
  width:100%;
  height:100%;
  transform:scaleX(0);
  transform-origin:left center;
  background:var(--ct-blue);
}
.ct-intro-running .ct-intro-logo{animation:ctIntroLogo .46s .08s cubic-bezier(.16,1,.3,1) forwards}
.ct-intro-running .ct-intro-label{animation:ctIntroReveal .34s .28s ease forwards}
.ct-intro-running .ct-intro-track{animation:ctIntroReveal .25s .38s ease forwards}
.ct-intro-running .ct-intro-bar{animation:ctIntroProgress .72s .42s cubic-bezier(.4,0,.2,1) forwards}
.ct-intro-complete .ct-intro{display:grid;animation:ctIntroExit .34s cubic-bezier(.7,0,.2,1) both}
@keyframes ctIntroLogo{to{opacity:1;transform:none}}
@keyframes ctIntroReveal{to{opacity:1;transform:none}}
@keyframes ctIntroProgress{to{transform:scaleX(1)}}
@keyframes ctIntroExit{0%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.ct-intro{display:none!important}}

/* Header */
.site-header{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
  transform:none!important;
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid var(--ct-line)!important;
  box-shadow:none!important;
  backdrop-filter:blur(14px)!important;
}
.site-header.is-scrolled{background:rgba(255,255,255,.98)!important;box-shadow:0 8px 24px rgba(25,44,82,.05)!important}
.nav-wrap{min-height:76px;height:auto!important;display:flex;align-items:center;gap:22px}
.brand{display:inline-flex!important;align-items:center!important;flex:0 0 auto;color:var(--ct-navy)!important}
.brand img{
  display:block!important;
  width:clamp(170px,18vw,218px)!important;
  height:auto!important;
  max-height:58px!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:none!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
.brand span{display:none!important}
.nav-links{margin-left:auto;gap:2px}
.nav-links a{
  color:var(--ct-graphite)!important;
  padding:10px 12px!important;
  border-radius:2px!important;
  background:transparent!important;
  font-weight:760!important;
}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--ct-navy)!important;background:#f1f5f9!important}
.nav-links a::after{height:2px!important;bottom:5px!important;background:var(--ct-blue)!important}
.menu-toggle{
  border:1px solid var(--ct-line-strong)!important;
  background:#fff!important;
  border-radius:2px!important;
  box-shadow:none!important;
}
.menu-toggle span{background:var(--ct-navy)!important;border-radius:0!important}

/* Buttons */
.btn{
  border-radius:2px!important;
  box-shadow:none!important;
  font-weight:800!important;
  letter-spacing:-.01em!important;
  min-height:46px;
}
.btn::before{display:none!important}
.btn:hover{transform:translateY(-1px)!important;box-shadow:none!important}
.btn.primary{
  color:#fff!important;
  background:var(--ct-blue)!important;
  border-color:var(--ct-blue)!important;
  box-shadow:none!important;
}
.btn.primary:hover{background:#1d4ed8!important;border-color:#1d4ed8!important}
.btn.secondary,.btn.light{
  color:var(--ct-navy)!important;
  background:#fff!important;
  border-color:var(--ct-line-strong)!important;
  box-shadow:none!important;
}
.btn.secondary:hover,.btn.light:hover{border-color:var(--ct-blue)!important;color:var(--ct-blue)!important;background:#fff!important}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(37,99,235,.28)!important;
  outline-offset:3px!important;
}

/* Light editorial page system */
.section{background:#fff}
.section.soft{background:var(--ct-soft)!important}
.section.white{background:#fff!important}
.page-hero,.clean-hero{
  position:relative;
  min-height:auto!important;
  color:var(--ct-navy)!important;
  background:#fff!important;
  border-bottom:1px solid var(--ct-line)!important;
  overflow:hidden;
}
.page-hero::before,.page-hero::after,.clean-hero::before,.clean-hero::after{display:none!important}
.page-hero>.container,.clean-hero>.container{position:relative;z-index:1}
.page-hero .container{padding-top:clamp(72px,9vw,118px)!important;padding-bottom:clamp(62px,8vw,100px)!important}
.clean-hero .hero-grid{padding:clamp(64px,8vw,104px) 0!important}
.hero h1,.page-hero h1,.clean-hero h1{
  color:var(--ct-navy)!important;
  font-size:clamp(2.65rem,5.8vw,5rem)!important;
  line-height:1.01!important;
  letter-spacing:-.055em!important;
  max-width:900px!important;
}
.hero-lead,.page-hero .hero-lead,.clean-hero .hero-lead{
  color:var(--ct-graphite)!important;
  font-size:clamp(1.05rem,1.8vw,1.24rem)!important;
  line-height:1.7!important;
}
.kicker,.eyebrow{color:var(--ct-blue)!important;letter-spacing:.13em!important}
.kicker::before,.eyebrow::before{background:var(--ct-blue)!important;border-radius:0!important}
.quick-points span,.project-meta span,.pricing-badge,.pricing-note-pill{
  border-radius:2px!important;
  background:#f1f5f9!important;
  border:1px solid var(--ct-line)!important;
  color:var(--ct-navy)!important;
  box-shadow:none!important;
}
.mark-shell{
  border-radius:2px!important;
  background:var(--ct-soft)!important;
  border:1px solid var(--ct-line)!important;
  box-shadow:none!important;
}
.mark-shell::before,.mark-shell::after{display:none!important}

/* Cards and panels */
.mini-card,.detail-card,.home-price-card,.pricing-card,.recent-card,.process-step,.included-card,.site-preview-card,.about-card,.contact-panel,.contact-form,.project-card,.pricing-panel,.pricing-bubble,.deposit-card,.split-cta,.payment-card,.deposit-side,.review-empty-state,.quote-note,.payment-note,.deposit-note,.embed-note,.step,.faq-item{
  border-radius:2px!important;
  border-color:var(--ct-line)!important;
  box-shadow:none!important;
}
.mini-card,.detail-card,.home-price-card,.pricing-card,.recent-card,.process-step,.included-card,.site-preview-card,.about-card,.contact-form,.project-card,.pricing-panel,.split-cta,.payment-card,.review-empty-state,.faq-item{
  background:#fff!important;
}
[data-interactive-card]::before{display:none!important}
@media(hover:hover) and (pointer:fine){
  [data-interactive-card]:hover{transform:translateY(-2px)!important;border-color:#b7c6d8!important;box-shadow:0 12px 28px rgba(25,44,82,.06)!important}
}
input,select,textarea,#card-container,.form-status{
  border-radius:2px!important;
  background:#fff!important;
  color:#0f172a!important;
  border-color:var(--ct-line-strong)!important;
}
.prose a{color:var(--ct-blue)!important}

/* Contact */
.contact-page .contact-section{background:var(--ct-soft)!important}
.contact-page .contact-panel{
  color:var(--ct-navy)!important;
  background:#fff!important;
  border:1px solid var(--ct-line)!important;
  box-shadow:none!important;
}
.contact-page .contact-panel h2{color:var(--ct-navy)!important}
.contact-page .contact-panel p,.contact-page .contact-panel span{color:var(--ct-graphite)!important}
.contact-page .contact-panel .contact-lines a{color:var(--ct-blue)!important}
.contact-expect{border-top-color:var(--ct-line)!important}
.contact-expect strong{border-radius:2px!important;background:#eff6ff!important;color:var(--ct-blue)!important}

/* Portfolio */
.preview-frame,.preview-frame.live-preview{border-radius:2px!important;border-color:var(--ct-line)!important;box-shadow:none!important}
.browser-bar{background:#f1f5f9!important;color:var(--ct-graphite)!important;border-bottom-color:var(--ct-line)!important}
.site-card-body{background:#fff!important}
.work-intro-note{border-color:var(--ct-line)!important}


/* Homepage 16:9 video hero */
.ct-video-hero{
  background:#fff;
  padding:clamp(18px,3vw,38px) 0 clamp(30px,4vw,52px);
  border-bottom:1px solid var(--ct-line);
}
.ct-video-hero-stage{position:relative;width:100%;min-width:0}
.ct-hero-media{
  position:relative;
  aspect-ratio:16/9;
  width:100%;
  background:#192c52 url('/assets/img/hero-tech-poster.svg') center/cover no-repeat;
}
.ct-video-hero-scrim{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(9,18,38,.86) 0%,rgba(9,18,38,.64) 38%,rgba(9,18,38,.18) 68%,rgba(9,18,38,.04) 100%);
}
.ct-video-hero-copy{
  position:absolute;
  z-index:2;
  left:clamp(26px,5vw,72px);
  top:50%;
  width:min(620px,52%);
  transform:translateY(-50%);
}
.ct-video-hero-copy .eyebrow{color:#bfdbfe!important}
.ct-video-hero-copy h1{
  margin:0 0 20px;
  color:#fff!important;
  font-size:clamp(2.66rem,4.94vw,4.56rem)!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
  max-width:17ch!important;
}
.ct-video-hero-copy .hero-lead{
  max-width:610px!important;
  margin:0 0 26px!important;
  color:#e2e8f0!important;
  font-size:clamp(1rem,1.5vw,1.18rem)!important;
  line-height:1.62!important;
}
.ct-video-hero-actions .btn.secondary{
  color:#fff!important;
  background:rgba(15,23,42,.32)!important;
  border-color:rgba(255,255,255,.55)!important;
}
.ct-video-hero-actions .btn.secondary:hover{
  color:#fff!important;
  background:rgba(15,23,42,.55)!important;
  border-color:#fff!important;
}
.ct-video-hero .ct-home-proof{margin-top:18px;padding-top:0;border-top:0}
@media(max-width:900px){
  .ct-video-hero{padding-top:14px}
  .ct-video-hero-scrim{
    display:block;
    background:linear-gradient(180deg,rgba(5,12,27,.14) 0%,rgba(5,12,27,.34) 38%,rgba(5,12,27,.88) 100%);
  }
  .ct-video-hero-copy{
    position:absolute;
    left:clamp(18px,4vw,34px);
    right:clamp(18px,4vw,34px);
    top:50%;
    bottom:auto;
    width:auto;
    max-width:680px;
    transform:translateY(-50%);
    padding:0;
  }
  .ct-video-hero-copy .eyebrow{color:#bfdbfe!important}
  .ct-video-hero-copy h1{
    color:#fff!important;
    font-size:clamp(1.9rem,6.27vw,3.42rem)!important;
    max-width:13ch!important;
    margin-bottom:14px;
  }
  .ct-video-hero-copy .hero-lead{
    color:#e2e8f0!important;
    font-size:clamp(.92rem,2vw,1.05rem)!important;
    line-height:1.5!important;
    margin-bottom:18px!important;
    max-width:560px!important;
  }
  .ct-video-hero-actions .btn.secondary{
    color:#fff!important;
    background:rgba(15,23,42,.38)!important;
    border-color:rgba(255,255,255,.55)!important;
  }
}
@media(max-width:640px){
  .ct-video-hero{padding-top:10px}
  .ct-video-hero-copy{
    left:14px;
    right:14px;
    bottom:auto;
  }
  .ct-video-hero-copy .eyebrow{
    margin-bottom:7px!important;
    font-size:.58rem!important;
    letter-spacing:.1em!important;
  }
  .ct-video-hero-copy h1{
    font-size:clamp(1.42rem,6.7vw,1.9rem)!important;
    line-height:1.01!important;
    letter-spacing:-.045em!important;
    max-width:14ch!important;
    margin-bottom:10px;
  }
  .ct-video-hero-copy .hero-lead{display:none!important}
  .ct-video-hero-actions{gap:7px}
  .ct-video-hero-actions .btn{
    width:auto!important;
    min-height:36px!important;
    padding:8px 11px!important;
    font-size:.76rem!important;
  }
  .ct-video-hero .ct-home-proof{display:grid;gap:9px}
}

/* Homepage */
.home-page{background:#fff!important;color:var(--ct-graphite)!important}
.home-page .site-header{background:rgba(255,255,255,.97)!important}
.ct-home-hero{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)!important;
  color:var(--ct-navy)!important;
  border-bottom:1px solid var(--ct-line);
}
.ct-home-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 0 64%,rgba(37,99,235,.035) 64% 64.08%,transparent 64.08%),
             linear-gradient(180deg,transparent 0 78%,rgba(25,44,82,.035) 78% 78.08%,transparent 78.08%);
}
.ct-home-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(360px,.97fr);
  gap:clamp(42px,7vw,96px);
  align-items:center;
  min-height:clamp(620px,74vh,760px);
  padding:clamp(72px,8vw,112px) 0;
}
.ct-home-copy{max-width:720px}
.ct-home-copy h1{
  margin:0 0 24px;
  color:var(--ct-navy)!important;
  font-size:clamp(3.1rem,6.1vw,5.75rem)!important;
  line-height:.99!important;
  letter-spacing:-.06em!important;
  max-width:12.5ch!important;
}
.ct-home-copy .hero-lead{max-width:660px!important;margin-bottom:28px!important}
.ct-home-actions{display:flex;gap:12px;flex-wrap:wrap}
.ct-home-proof{
  display:flex;
  flex-wrap:wrap;
  gap:9px 18px;
  margin-top:24px;
  padding-top:22px;
  border-top:1px solid var(--ct-line);
  color:var(--ct-muted);
  font-size:.88rem;
  font-weight:700;
}
.ct-home-proof span{display:inline-flex;align-items:center;gap:8px}
.ct-home-proof span::before{content:"";width:5px;height:5px;background:var(--ct-blue)}
.ct-hero-brand{
  display:grid;
  place-items:center;
  min-height:330px;
  padding:clamp(28px,4vw,52px);
  background:#fff;
  border:1px solid var(--ct-line);
  box-shadow:0 24px 60px rgba(25,44,82,.07);
}
.ct-hero-brand img{width:min(100%,520px);height:auto;filter:none}
.capability-marquee{
  background:#fff!important;
  color:var(--ct-navy)!important;
  border-top:0!important;
  border-bottom:1px solid var(--ct-line)!important;
}
.capability-track{animation-duration:42s!important}
.capability-group span{color:var(--ct-navy)!important}
.capability-group span::after{background:var(--ct-blue)!important;box-shadow:none!important}
.solution-range,.solution-flows{background:#fff!important;color:var(--ct-navy)!important}
.solution-range-note,.solution-range-list,.solution-line,.solution-flows-head p,.flow-grid{border-color:var(--ct-line)!important}
.solution-range-note p,.solution-line p,.solution-flows-head p,.flow-case p,.flow-foot{color:var(--ct-muted)!important}
.solution-line h3,.solution-flows h2,.flow-case h3{color:var(--ct-navy)!important}
.solution-no{color:var(--ct-blue)!important}
.flow-case{border-color:var(--ct-line)!important}
.flow-steps span{border-left-color:var(--ct-blue)!important;background:var(--ct-soft)!important;color:var(--ct-navy)!important;border-radius:0!important}
.flow-steps span:not(:last-child)::after{color:var(--ct-blue)!important;background:#fff!important}
.proof-pulse{
  background:var(--ct-navy)!important;
  color:#fff!important;
}
.proof-pulse::before{display:none!important}
.proof-pulse .kicker{color:#bfdbfe!important}
.proof-pulse .proof-pulse-copy h2{color:#fff!important;font-size:clamp(2.5rem,5vw,4.25rem)!important}
.proof-pulse-action{border-top-color:rgba(255,255,255,.18)!important}
.proof-pulse-action p{color:#dbeafe!important}
.proof-pulse .btn.secondary{color:#fff!important;background:transparent!important;border-color:rgba(255,255,255,.45)!important}
.proof-pulse .metric-grid{border-color:rgba(255,255,255,.15)!important}
.proof-pulse .metric{border-color:rgba(255,255,255,.15)!important}
.ct-media-section{background:var(--ct-soft)!important}
.ct-media-head{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(320px,1.18fr);
  gap:clamp(28px,6vw,80px);
  align-items:end;
  margin-bottom:clamp(26px,4vw,44px);
}
.ct-media-head h2{margin:0;color:var(--ct-navy);font-size:clamp(2.35rem,4.7vw,4.2rem);letter-spacing:-.05em;line-height:1.02}
.ct-media-head p{margin:0;padding-top:18px;border-top:1px solid var(--ct-line);color:var(--ct-muted)}
.ct-media-frame{
  position:relative;
  aspect-ratio:16/9;
  width:100%;
  overflow:hidden;
  border:1px solid var(--ct-line-strong);
  border-radius:2px;
  background:var(--ct-navy);
  box-shadow:0 24px 60px rgba(25,44,82,.10);
}
.ct-media-frame video,.ct-media-frame img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.ct-media-note{margin:12px 0 0;color:var(--ct-muted);font-size:.84rem}
.ct-principles{background:#fff!important}
.ct-principles-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(34px,6vw,88px);align-items:start}
.ct-principles h2{margin:0;color:var(--ct-navy);font-size:clamp(2.5rem,5vw,4.5rem);letter-spacing:-.055em;line-height:1}
.ct-principles-list{border-top:1px solid var(--ct-line)}
.ct-principle{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid var(--ct-line)}
.ct-principle span{color:var(--ct-blue);font:800 .72rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;padding-top:6px}
.ct-principle h3{margin:0 0 6px;color:var(--ct-navy);font-size:1.35rem}
.ct-principle p{margin:0;color:var(--ct-muted)}
.home-page .solution-range-head .section-head h2,.home-page .solution-flows-head h2{font-size:clamp(2.45rem,5vw,4.45rem)!important;letter-spacing:-.055em!important}
.home-page .solution-range-head{grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr)!important}

/* Footer */
.site-footer{
  position:relative;
  overflow:hidden;
  background:#fff!important;
  color:var(--ct-graphite)!important;
  padding:58px 0 26px!important;
  border-top:1px solid var(--ct-line)!important;
}
.site-footer::before{display:none!important}
.site-footer .kicker{color:var(--ct-blue)!important}
.footer-pitch{border-bottom-color:var(--ct-line)!important}
.footer-pitch h2{color:var(--ct-navy)!important;font-size:clamp(2.3rem,4.8vw,4.2rem)!important;letter-spacing:-.05em!important}
.footer-brand{
  display:inline-flex!important;
  width:max-content;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.footer-brand img{
  display:block!important;
  width:clamp(178px,18vw,224px)!important;
  height:auto!important;
  max-height:64px!important;
  object-fit:contain!important;
  filter:none!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
.footer-brand span{display:none!important}
.footer-main p{color:var(--ct-muted)!important}
.footer-title{color:var(--ct-navy)!important}
.footer-links{color:var(--ct-muted)!important}
.footer-links a{color:var(--ct-muted)!important}
.footer-links a:hover{color:var(--ct-blue)!important}
.footer-links a::after{background:var(--ct-blue)!important}
.footer-bottom{color:var(--ct-muted)!important;border-color:var(--ct-line)!important}
.footer-bottom a{color:var(--ct-muted)!important}
.footer-bottom a:hover{color:var(--ct-blue)!important}

/* Floating project/contact widget */
.ctl-contact-launcher::before{display:none!important}
.ctl-contact-launcher img{filter:none!important}
.ctl-contact-panel{border-radius:2px!important}

/* Motion restraint */
@media(prefers-reduced-motion:reduce){
  .capability-track{animation:none!important}
  *{scroll-behavior:auto!important}
}

@media(max-width:980px){
  .nav-wrap{min-height:70px}
  .header-cta{display:none!important}
  .menu-toggle{display:flex!important}
  .nav-links.open{
    position:absolute!important;
    top:calc(100% + 8px)!important;
    left:clamp(12px,3vw,28px)!important;
    right:clamp(12px,3vw,28px)!important;
    bottom:auto!important;
    inset-inline:clamp(12px,3vw,28px)!important;
    z-index:1001!important;
    display:grid!important;
    gap:3px!important;
    max-height:calc(100svh - 96px)!important;
    overflow:auto!important;
    padding:12px!important;
    border:1px solid var(--ct-line-strong)!important;
    border-radius:2px!important;
    background:#fff!important;
    box-shadow:0 20px 50px rgba(25,44,82,.14)!important;
    backdrop-filter:none!important;
  }
  .nav-links.open a{display:flex!important;align-items:center;min-height:48px;padding:12px 14px!important;color:var(--ct-navy)!important;font-size:1rem!important}
  .nav-links.open a[aria-current="page"]{background:#eff6ff!important;color:var(--ct-blue)!important}
  .nav-links.open .nav-mobile-cta{display:flex!important;justify-content:center;background:var(--ct-blue)!important;color:#fff!important;border-color:var(--ct-blue)!important;margin-top:6px!important}
  body.menu-open::before{content:"";position:fixed;inset:0;z-index:998;background:rgba(15,23,42,.18);backdrop-filter:blur(2px)}
  .ct-home-grid{grid-template-columns:1fr;min-height:auto;padding:clamp(62px,8vw,92px) 0}
  .ct-hero-brand{min-height:260px}
  .ct-media-head,.ct-principles-grid{grid-template-columns:1fr}
  .home-page .solution-range-head{grid-template-columns:1fr!important}
}
@media(max-width:640px){
  .container{width:min(var(--max,1180px),calc(100% - 24px))!important}
  .nav-wrap{min-height:66px;gap:12px}
  .brand img{width:clamp(142px,49vw,176px)!important;max-height:48px!important}
  .menu-toggle{width:42px!important;height:42px!important}
  .page-hero .container{padding-top:58px!important;padding-bottom:54px!important}
  .hero h1,.page-hero h1,.clean-hero h1{font-size:clamp(2.4rem,12.5vw,3.7rem)!important}
  .ct-home-copy h1{font-size:clamp(2.75rem,13vw,4.1rem)!important}
  .ct-home-grid{padding:56px 0}
  .ct-hero-brand{min-height:210px;padding:24px}
  .ct-home-actions,.hero-actions,.cta-actions{width:100%}
  .ct-home-actions .btn,.hero-actions .btn,.cta-actions .btn{width:100%}
  .ct-home-proof{display:grid;gap:10px}
  .ct-media-frame{aspect-ratio:16/9}
  .ct-principle{grid-template-columns:42px 1fr}
  .footer-top{grid-template-columns:1fr!important}
  .footer-pitch{display:grid!important;align-items:start!important}
  .footer-brand img{width:184px!important}
}


/* Site-wide responsive audit hardening */
html,body{max-width:100%;overflow-x:clip}
img,video,svg,canvas{max-width:100%}
iframe{max-width:100%}
.container,.nav-wrap,.footer-top,.footer-pitch,.two-col,.three-col,.grid,.pricing-grid,.project-grid,.resource-grid,.article-layout,.contact-grid,.demo-request-wrap,.dp-checkout-grid{min-width:0}
.container>*,
.nav-wrap>*,
.footer-top>*,
.footer-pitch>*,
.two-col>*,
.three-col>*,
.grid>*,
.pricing-grid>*,
.project-grid>*,
.resource-grid>*,
.article-layout>*,
.contact-grid>*,
.demo-request-wrap>*,
.dp-checkout-grid>*{min-width:0}
.prose a,.footer-links a,.contact-lines a,.dp-secure-note a,.copy-link{overflow-wrap:anywhere}
pre,code{max-width:100%}
pre{overflow-x:auto}
.btn{max-width:100%;white-space:normal;text-align:center}
@media(max-width:760px){
  table{max-width:100%}
  .cost-table-wrap,.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .footer-pitch .btn{width:100%}
  input,select,textarea{max-width:100%}
}


/* Precision refinement — cleaner, sharper, less template-like */
:root{--ct-max:1180px}
body{font-size:16px;line-height:1.6}
.container{width:min(var(--ct-max),calc(100% - clamp(32px,5vw,64px)))}
.section{padding:clamp(58px,6vw,78px) 0!important}
.section.compact{padding:clamp(48px,5vw,64px) 0!important}
p{font-size:1rem;line-height:1.66}
.kicker,.eyebrow{font-size:.7rem!important;letter-spacing:.15em!important;margin-bottom:10px!important}
.kicker::before,.eyebrow::before{width:26px!important}

.site-header{box-shadow:none!important}
.nav-wrap{min-height:68px!important}
.brand img{width:clamp(158px,16vw,198px)!important;max-height:52px!important}
.nav-links a{font-size:.9rem!important;padding:9px 11px!important}
.menu-toggle{width:40px!important;height:40px!important}

.btn{min-height:42px!important;padding:10px 16px!important;font-size:.92rem!important;border-radius:2px!important}
.btn-small{min-height:40px!important;padding:9px 14px!important}
.btn:hover{transform:none!important}

.page-hero .container{padding-top:clamp(58px,7vw,78px)!important;padding-bottom:clamp(52px,6vw,70px)!important}
.hero h1,.page-hero h1,.clean-hero h1{font-size:clamp(2.55rem,5.2vw,4.4rem)!important;line-height:1!important;letter-spacing:-.055em!important;max-width:820px!important}
.hero-lead,.page-hero .hero-lead,.clean-hero .hero-lead{font-size:clamp(1rem,1.5vw,1.15rem)!important;line-height:1.62!important;max-width:680px!important}
.section-head h2,.work-intro-grid h2,.seo-intro h2,.seo-price h2,.services-intro h2{font-size:clamp(2rem,4vw,3.35rem)!important;line-height:1.02!important}
.narrow{max-width:780px!important}

.mini-card,.detail-card,.home-price-card,.pricing-card,.recent-card,.process-step,.included-card,.site-preview-card,.about-card,.contact-panel,.contact-form,.project-card,.pricing-panel,.pricing-bubble,.deposit-card,.split-cta,.payment-card,.deposit-side,.review-empty-state,.quote-note,.payment-note,.deposit-note,.embed-note,.step,.faq-item,.resource-card,.article-body,.article-toc,.dp-panel,.dp-card,.dp-access-card,.dp-checkout-card,.dp-summary{
  border-radius:2px!important;
  box-shadow:none!important;
}
.project-meta span,.pricing-badge,.pricing-note-pill,.quick-points span{
  border-radius:2px!important;
  box-shadow:none!important;
}
.split-cta,.seo-service-strip,.resource-note,.article-cta{
  background:#f8fafc!important;
  color:var(--ct-navy)!important;
  border:1px solid var(--ct-line)!important;
  border-radius:2px!important;
  box-shadow:none!important;
}
.split-cta h2,.split-cta p,.seo-service-strip h2,.seo-service-strip p,.resource-note h2,.resource-note p,.article-cta h2,.article-cta p{color:inherit!important}
.article-body h2{font-size:clamp(1.65rem,3vw,2.25rem)!important;letter-spacing:-.035em!important}
.article-body h3{font-size:1.25rem!important}
.article-body p,.article-body li{font-size:1rem!important;line-height:1.7!important}

/* Full-width video hero with the original 16:9 composition on every screen */
.ct-video-hero{
  padding:0 0 clamp(30px,4vw,52px)!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.ct-video-hero-stage{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.ct-video-hero .ct-hero-media{
  width:100%;
  max-width:none;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.ct-hero-media video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.ct-video-hero .ct-home-proof{
  width:min(var(--ct-max),calc(100% - clamp(32px,5vw,64px)));
  margin:18px auto 0!important;
  padding:0!important;
}
@media(max-width:640px){
  .ct-hero-media{aspect-ratio:16/9!important}
  .ct-hero-media video{object-fit:contain}
  .ct-video-hero-copy{left:14px!important;right:14px!important;top:40%;bottom:auto!important;transform:translateY(-50%)}
  .ct-video-hero-copy h1{font-size:clamp(1.425rem,7.125vw,2.375rem)!important;line-height:1.02!important;width:62%;max-width:none!important;margin-bottom:8px}
  .ct-video-hero-copy .ct-hero-title-line{display:block;white-space:nowrap}
  .ct-video-hero-actions{flex-wrap:nowrap;gap:8px}
  .ct-video-hero-actions .btn{flex:1;min-width:0}
  .ct-video-hero-copy .eyebrow{font-size:.55rem!important;max-width:92%;line-height:1.45!important}
  .ct-video-hero .ct-home-proof{width:calc(100% - 32px);margin:16px auto 0!important}
}

/* Continuous services carousel */
.capability-marquee{
  position:relative;
  overflow:hidden!important;
  padding:0!important;
  background:var(--ct-navy)!important;
  border-top:1px solid var(--ct-navy)!important;
  border-bottom:1px solid var(--ct-navy)!important;
}
.capability-track{
  display:flex!important;
  align-items:center;
  width:max-content!important;
  transform:translate3d(0,0,0);
  animation:ctCapabilityMarquee 34s linear infinite!important;
  will-change:transform;
}
.capability-group{
  display:flex!important;
  align-items:center;
  flex:0 0 auto;
  width:auto!important;
  gap:0!important;
}
.capability-group:nth-child(2){display:flex!important}
.capability-group span{
  display:inline-flex!important;
  align-items:center;
  flex:0 0 auto;
  padding:15px 22px!important;
  color:#fff!important;
  font-size:.7rem!important;
  font-weight:850!important;
  letter-spacing:.13em!important;
  line-height:1!important;
  text-transform:uppercase;
  white-space:nowrap!important;
}
.capability-group span::after{
  content:"";
  display:block!important;
  flex:0 0 auto;
  width:4px!important;
  height:4px!important;
  margin-left:22px!important;
  background:rgba(255,255,255,.72)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.capability-marquee:hover .capability-track,
.capability-marquee:focus-within .capability-track{animation-play-state:paused!important}
@keyframes ctCapabilityMarquee{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
@media(max-width:760px){
  .capability-track{animation-duration:25s!important}
  .capability-group span{
    padding:13px 16px!important;
    font-size:.64rem!important;
    letter-spacing:.11em!important;
  }
  .capability-group span::after{margin-left:16px!important}
}
@media(prefers-reduced-motion:reduce){
  .capability-marquee{overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .capability-track{animation:none!important;transform:none!important}
  .capability-group:nth-child(2){display:none!important}
}

/* Homepage solutions — editorial rows, no alternating card look */
.solution-range{padding-top:clamp(54px,6vw,72px)!important}
.solution-range-head{margin-bottom:28px!important}
.solution-range-head .section-head h2{font-size:clamp(2.2rem,4.4vw,3.65rem)!important;max-width:13ch!important}
.solution-range-note{padding-top:14px!important}
.solution-line{background:transparent!important;padding:22px 0!important}
.solution-line h3{font-size:clamp(1.35rem,2.3vw,1.8rem)!important}
.solution-line p{font-size:.98rem!important;line-height:1.62!important}
@media(max-width:640px){
  .solution-range{padding-top:48px!important}
  .solution-range-head{gap:20px!important}
  .solution-range-head .section-head h2{font-size:2.25rem!important}
  .solution-line{grid-template-columns:34px 1fr!important;padding:18px 0!important}
  .solution-no{font-size:.66rem!important}
  .solution-line p{margin-top:2px!important}
}

/* Selected Work — horizontal swipe portfolio */
.ct-selected-work{background:#f8fafc!important;border-top:1px solid var(--ct-line);border-bottom:1px solid var(--ct-line)}
.ct-selected-work-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:clamp(28px,6vw,76px);align-items:end;margin-bottom:34px}
.ct-selected-work-head h2{margin:0;color:var(--ct-navy);font-size:clamp(2.2rem,4.3vw,3.6rem);letter-spacing:-.05em;line-height:1}
.ct-selected-work-intro{padding-top:14px;border-top:1px solid var(--ct-line)}
.ct-selected-work-intro p{margin:0 0 12px;color:var(--ct-muted)}
.ct-work-head-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.ct-work-nav{display:flex;gap:7px}
.ct-work-nav button{
  display:grid;place-items:center;width:40px;height:40px;padding:0;
  border:1px solid var(--ct-line-strong);border-radius:2px;
  background:#fff;color:var(--ct-navy);font:800 1rem/1 inherit;cursor:pointer;
}
.ct-work-nav button:hover{border-color:var(--ct-blue);color:var(--ct-blue)}
.ct-work-nav button:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}
.ct-work-carousel-shell{position:relative}
.ct-work-carousel{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(760px,calc(100% - 110px));
  gap:22px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:0 0 10px;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:0;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.ct-work-carousel::-webkit-scrollbar{display:none}
.ct-work-carousel:focus-visible{outline:3px solid rgba(37,99,235,.18);outline-offset:6px}
.ct-work-slide{
  scroll-snap-align:start;
  min-width:0;
  background:#fff;
  border:1px solid var(--ct-line);
  padding:12px;
}
.ct-work-preview{display:block;overflow:hidden;border:1px solid var(--ct-line-strong);background:#fff}
.ct-browser-bar{height:34px;display:flex;align-items:center;gap:6px;padding:0 11px;background:#f1f5f9;border-bottom:1px solid var(--ct-line)}
.ct-browser-bar span{width:6px;height:6px;background:#94a3b8;border-radius:50%}
.ct-browser-bar strong{margin-left:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:.68rem;font-weight:750}
.ct-work-viewport{
  position:relative;
  height:clamp(470px,48vw,590px);
  overflow:hidden;
  background:#fff;
  isolation:isolate;
}
.ct-work-viewport iframe{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
  border:0;
  transform:none;
  transform-origin:center;
  pointer-events:none;
  background:#fff;
}
.ct-work-copy{max-width:760px;padding:22px 8px 10px}
.ct-work-index{display:block;margin-bottom:8px;color:var(--ct-blue);font:800 .68rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}
.ct-work-copy h3{margin:0 0 7px;color:var(--ct-navy);font-size:clamp(1.55rem,2.8vw,2.25rem);letter-spacing:-.04em}
.ct-work-copy p{margin:0 0 10px;color:var(--ct-muted);max-width:680px}
.ct-work-swipe-hint{margin:10px 0 0;color:var(--ct-muted);font-size:.78rem}
@media(max-width:900px){
  .ct-selected-work-head{grid-template-columns:1fr;gap:20px;margin-bottom:24px}
  .ct-work-carousel{grid-auto-columns:88%;gap:14px}
  .ct-work-viewport{height:460px}
  .ct-work-copy{padding:18px 5px 8px}
}
@media(max-width:640px){
  .ct-work-head-actions{align-items:flex-end}
  .ct-work-nav{display:none}
  .ct-work-carousel-shell{width:calc(100vw - 16px);margin-right:calc(50% - 50vw)}
  .ct-work-carousel{grid-auto-columns:88vw;gap:12px;padding-right:16px}
  .ct-work-slide{padding:8px}
  .ct-work-viewport{height:430px}
  .ct-work-copy h3{font-size:1.55rem}
  .ct-work-copy p{font-size:.94rem;line-height:1.58}
  .ct-work-swipe-hint{padding-right:16px}
}
@media(prefers-reduced-motion:reduce){
  .ct-work-carousel{scroll-behavior:auto}
}


/* Original OsoBusy portfolio card + stronger swipe affordance */
.ct-work-slide-osobusy{
  display:flex;
  flex-direction:column;
  background:#fbf7f1;
  border-color:#e5d8c5;
}
.ct-oso-proof{
  display:flex;
  flex-direction:column;
  min-height:clamp(470px,48vw,590px);
  padding:clamp(24px,3vw,38px);
  background:#0b1f3a;
  color:#f8f2e9;
}
.ct-oso-brand{
  display:flex;
  align-items:center;
  gap:16px;
  padding-bottom:22px;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.ct-oso-mark{
  display:grid;
  place-items:center;
  width:76px;
  height:76px;
  flex:0 0 76px;
  background:#fff;
  border-radius:15px;
}
.ct-oso-mark img{width:62px;height:62px;object-fit:contain}
.ct-oso-brand strong{
  display:block;
  color:#f8f2e9;
  font-size:clamp(1.75rem,3vw,2.5rem);
  line-height:1;
  letter-spacing:-.045em;
}
.ct-oso-brand small{
  display:block;
  margin-top:7px;
  color:#f7822e;
  font:900 .58rem/1.15 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.12em;
}
.ct-oso-capabilities{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(24px,5vw,56px);
  margin-top:26px;
}
.ct-oso-capabilities>div{display:grid}
.ct-oso-capabilities small{
  padding-bottom:8px;
  color:#f7822e;
  font:900 .62rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.12em;
}
.ct-oso-capabilities span{
  padding:11px 0;
  border-top:1px solid rgba(255,255,255,.1);
  color:#f8f2e9;
  font-size:.9rem;
  font-weight:800;
}
.ct-oso-note{
  margin:auto 0 0;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.12);
  color:#b9c5d3;
  font-size:.92rem;
  line-height:1.45;
}
.ct-oso-copy{margin-top:auto}
.ct-oso-copy .ct-oso-type{
  margin:0 0 5px;
  color:#a85d1b;
  font:900 .62rem/1.15 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.12em;
}
.ct-work-carousel-shell::after{
  content:"";
  position:absolute;
  z-index:3;
  top:0;
  right:0;
  width:54px;
  height:calc(100% - 42px);
  pointer-events:none;
  background:linear-gradient(90deg,rgba(248,250,252,0),rgba(248,250,252,.94));
}
.ct-work-swipe-cue{
  display:none;
  align-items:center;
  gap:9px;
  width:max-content;
  margin:12px 0 0 auto;
  padding:8px 10px;
  border:1px solid var(--ct-blue);
  background:var(--ct-blue);
  color:#fff;
  font:900 .64rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.14em;
}
.ct-work-swipe-cue strong{font-size:1rem;line-height:1}
@media(max-width:900px){
  .ct-oso-proof{min-height:460px}
}
@media(max-width:640px){
  .ct-work-carousel{grid-auto-columns:82vw!important}
  .ct-work-carousel-shell::after{width:42px;height:calc(100% - 58px)}
  .ct-work-swipe-cue{display:flex}
  .ct-work-swipe-hint{margin-top:6px!important;font-size:.72rem!important}
  .ct-oso-proof{min-height:430px;padding:22px 20px}
  .ct-oso-brand{gap:12px;padding-bottom:17px}
  .ct-oso-mark{width:64px;height:64px;flex-basis:64px}
  .ct-oso-mark img{width:52px;height:52px}
  .ct-oso-brand strong{font-size:1.85rem}
  .ct-oso-capabilities{gap:18px;margin-top:20px}
  .ct-oso-capabilities span{padding:9px 0;font-size:.78rem}
  .ct-oso-note{font-size:.8rem}
}

/* Remove fake workflow-diagram styling */
.solution-flows{padding-top:clamp(54px,6vw,72px)!important}
.solution-flows-head{margin-bottom:26px!important}
.solution-flows-head h2{font-size:clamp(2.2rem,4.2vw,3.5rem)!important;max-width:14ch!important}
.flow-grid{border-bottom:0!important}
.flow-case{padding:26px clamp(18px,2.5vw,34px)!important}
.flow-case:first-child{padding-left:0!important}
.flow-case:last-child{padding-right:0!important}
.flow-case h3{font-size:clamp(1.25rem,2vw,1.55rem)!important}
.flow-case p{font-size:.98rem!important}
.flow-example{margin:18px 0 0!important;padding-top:13px;border-top:1px solid var(--ct-line);color:var(--ct-navy)!important;font-size:.85rem!important;line-height:1.5!important}
.flow-example span{display:block;margin-bottom:5px;color:var(--ct-blue);font:800 .62rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:980px){
  .flow-case,.flow-case:first-child,.flow-case:last-child{padding:22px 0!important}
}

/* Principles — tighter and more editorial */
.ct-principles{padding-top:clamp(54px,6vw,72px)!important;padding-bottom:clamp(54px,6vw,72px)!important}
.ct-principles h2{font-size:clamp(2.2rem,4.2vw,3.5rem)!important}
.ct-principle{padding:19px 0!important}
.ct-principle h3{font-size:1.2rem!important}
.ct-principle p{font-size:.96rem!important;line-height:1.6!important}
@media(max-width:640px){
  .ct-principles-grid{gap:24px!important}
  .ct-principles h2{font-size:2.25rem!important}
  .ct-principle{grid-template-columns:36px 1fr!important;gap:10px!important}
}

/* Work page: keep the portfolio rich, remove the bulky card feel */
.website-showcase{gap:24px!important}
.site-preview-card{border-radius:2px!important;padding:14px!important;box-shadow:none!important}
.preview-frame,.preview-frame.live-preview{border-radius:2px!important;box-shadow:none!important}
.site-card-body h2{font-size:clamp(1.7rem,3vw,2.5rem)!important}
.project-meta{margin-bottom:12px!important}
.project-meta span{background:transparent!important;border:0!important;padding:0 10px 0 0!important}
.project-built{font-size:.94rem!important}

/* Footer — same content, less vertical bulk */
.site-footer{padding:42px 0 22px!important}
.footer-pitch{padding-bottom:30px!important;margin-bottom:30px!important}
.footer-pitch h2{font-size:clamp(2rem,4vw,3.2rem)!important;max-width:15ch!important}
.footer-top{gap:26px!important;padding-bottom:28px!important}
.footer-main p{font-size:.95rem!important}
.footer-links{gap:7px!important;font-size:.94rem!important}
.footer-bottom{padding-top:16px!important}
@media(max-width:640px){
  .container{width:min(var(--ct-max),calc(100% - 32px))!important}
  .nav-wrap{min-height:62px!important}
  .brand img{width:150px!important;max-height:44px!important}
  .menu-toggle{width:40px!important;height:40px!important}
  .section,.section.compact{padding:46px 0!important}
  .page-hero .container{padding-top:46px!important;padding-bottom:44px!important}
  .hero h1,.page-hero h1,.clean-hero h1{font-size:clamp(2.25rem,10vw,3rem)!important}
  .section-head h2,.work-intro-grid h2,.seo-intro h2,.seo-price h2,.services-intro h2{font-size:2.15rem!important}
  .btn{min-height:40px!important;padding:9px 14px!important;font-size:.9rem!important}
  .footer-pitch{gap:18px!important}
  .footer-pitch h2{font-size:2.15rem!important}
  .footer-top{gap:24px!important}
  .footer-brand img{width:164px!important}
}

/* Homepage hero eyebrow: text only */
.ct-video-hero-copy .eyebrow::before{display:none!important}


/* 2026-09 audit corrections: shared clarity, geometry, and accessibility */
[hidden]{display:none!important}
.page-hero{padding:0!important}
.article-hero .article-meta,
.article-hero .article-meta span,
.article-hero .article-meta a{color:var(--ct-muted)!important}

.home-page .solution-range-head{
  display:grid!important;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;
  gap:clamp(16px,3vw,38px)!important;
  align-items:end!important;
}
.home-page .solution-line{
  display:grid!important;
  grid-template-columns:48px minmax(180px,.6fr) minmax(0,1.4fr)!important;
  gap:clamp(16px,3vw,38px)!important;
  align-items:start!important;
}
.home-page .hero-copy h1{max-width:14ch!important}

.preview-viewport{overflow:hidden!important}
.preview-viewport iframe{pointer-events:none!important}

.ct-intro,
.ctl-scroll-progress,
.ctl-section-rail,
.ctl-ambient-light{display:none!important}

.demo-request-hero .hero-lead{color:#e2e8f0!important}
.demo-request-card,
.demo-benefit-card,
.demo-form-shell,
.demo-success,
.demo-step input,
.demo-step textarea,
.demo-step select{border-radius:2px!important}

.ctl-contact-close,
.ctl-contact-action,
.ctl-contact-field input,
.ctl-contact-field textarea,
.ctl-contact-submit,
.ctl-contact-reset{border-radius:2px!important}

@media(max-width:640px){
  .home-page .solution-range-head{display:none!important}
  .home-page .solution-line{
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:10px 12px!important;
  }
  .home-page .solution-line>p{grid-column:2!important}
  .ct-video-hero-copy .eyebrow{width:100%;max-width:none;white-space:nowrap;font-size:.62rem!important;line-height:1.1!important;margin-bottom:6px!important}
  .ct-video-hero-copy .hero-lead{display:none!important}
  .ct-video-hero-actions .btn{min-height:44px!important}
}

.dp-error-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.dp-error-actions .btn{min-width:0}



@media(min-width:641px) and (max-width:900px){
  .home-page .solution-range-head{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
}

/* Keep hero text centered above bottom-anchored actions. */
.ct-video-hero-stage{
  --ct-hero-action-bottom:clamp(20px,3vw,44px);
  --ct-hero-action-space:calc(var(--ct-hero-action-bottom) + 60px);
}
.ct-video-hero-copy{
  top:calc((100% - var(--ct-hero-action-space)) / 2);
  transform:translateY(-50%);
}
.ct-video-hero-copy .hero-lead{margin-bottom:0!important}
.ct-video-hero-actions{
  position:absolute;
  z-index:2;
  left:clamp(26px,5vw,72px);
  bottom:var(--ct-hero-action-bottom);
  width:min(620px,52%);
  margin:0;
}
@media(max-width:900px){
  .ct-video-hero-actions{
    left:clamp(18px,4vw,34px);
    right:clamp(18px,4vw,34px);
    width:auto;
    max-width:680px;
  }
}
@media(max-width:640px){
  .ct-video-hero-stage{--ct-hero-action-bottom:12px;--ct-hero-action-space:64px}
  .ct-video-hero-copy h1{margin-bottom:0}
  .ct-video-hero-actions{left:14px;right:14px;width:auto}
}

/* Three deliberate hero lines and a concise introduction below the video. */
.ct-video-hero-copy .ct-hero-title-line{display:block;white-space:nowrap}
.ct-video-hero-copy h1{max-width:none!important;margin-bottom:0}
.ct-video-hero{padding-bottom:0!important}
.ct-home-intro{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  align-items:center;
  gap:clamp(24px,5vw,64px);
  padding:clamp(28px,4vw,48px) 0;
}
.ct-home-intro h2{
  margin:0;
  color:var(--ct-navy);
  font-size:clamp(1.65rem,2.8vw,2.5rem);
  font-weight:800;
  line-height:1.06;
  letter-spacing:-.04em;
}
.ct-home-intro-copy p{
  max-width:580px;
  margin:0;
  color:var(--ct-graphite);
  font-size:1rem;
  line-height:1.65;
}
.ct-home-intro-pricing{
  display:flex;
  flex-wrap:wrap;
  gap:10px 24px;
  margin-top:16px;
}
.ct-home-intro-pricing a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:4px 0;
  color:var(--ct-blue);
  font-size:.82rem;
  font-weight:750;
  text-underline-offset:4px;
}
.ct-home-intro-pricing a:hover{text-decoration:underline}
.ct-home-intro-pricing span{font-size:.95rem}
@media(max-width:640px){
  .ct-home-intro{grid-template-columns:1fr;gap:14px;padding:26px 0 28px}
  .ct-home-intro h2{font-size:1.75rem}
  .ct-home-intro-copy p{font-size:.94rem;line-height:1.6}
  .ct-home-intro-pricing{gap:8px 18px;margin-top:12px}
  .ct-home-intro-pricing a{font-size:.78rem;min-height:40px}
}

/* Wide desktop: bounded hero proportions aligned with the site's content grid. */
@media(min-width:1200px){
  .ct-video-hero-stage{
    --ct-hero-action-bottom:36px;
    --ct-hero-action-space:96px;
    --ct-hero-content-left:max(32px,calc((100% - var(--ct-max,1180px)) / 2));
  }
  .ct-video-hero .ct-hero-media{
    aspect-ratio:auto;
    height:clamp(520px,min(56.25vw,calc(100svh - 100px)),700px);
    background:#071225;
  }
  .ct-video-hero .ct-hero-media video{
    left:auto;
    right:max(0px,calc((100% - 1680px) / 2));
    width:min(100%,1440px);
    height:100%;
    object-fit:cover;
    object-position:right 25%;
  }
  .ct-video-hero-copy,
  .ct-video-hero-actions{
    left:var(--ct-hero-content-left);
    width:min(620px,48%);
  }
}

/* 2026-10 PageSpeed homepage optimizations: cheap LCP poster + opt-in third-party previews */
.ct-hero-media .ct-hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.ct-hero-media video{opacity:0;transition:opacity .28s ease}
.ct-hero-media video.is-ready{opacity:1}
.ct-hero-media video[autoplay]{opacity:1;transition:none}
.ct-hero-motion-toggle{position:absolute;z-index:4;right:clamp(16px,2.5vw,36px);bottom:clamp(16px,2.5vw,36px);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 13px;border:1px solid rgba(255,255,255,.55);border-radius:2px;background:rgba(4,16,38,.7);color:#fff;font:700 .76rem/1.2 system-ui,sans-serif;cursor:pointer;backdrop-filter:blur(6px)}
.ct-hero-motion-toggle:hover{background:rgba(4,16,38,.92)}
.ct-hero-motion-toggle:focus-visible,.ct-preview-load:focus-visible{outline:3px solid #7ad5ff;outline-offset:3px}
.ct-hero-motion-toggle span{font-size:.9rem}
.ct-hero-motion-toggle{width:44px;height:44px;min-height:44px;padding:8px;font-size:0}
.ct-work-viewport .ct-preview-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:26px;text-align:center;background:radial-gradient(circle at 76% 25%,rgba(44,197,255,.17),transparent 40%),linear-gradient(135deg,#06152d,#103b6b);color:#fff}
.ct-preview-placeholder span{font-size:.62rem;font-weight:800;letter-spacing:.16em;color:#8bd9ff}
.ct-preview-placeholder strong{font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.045em;line-height:1.06}
.ct-preview-placeholder small{font-size:.82rem;color:#c9def2}
.ct-work-viewport iframe[data-preview-src]{opacity:0}
.ct-work-viewport.is-loaded iframe[data-preview-src]{opacity:1}
.ct-preview-load{position:absolute;z-index:3;left:50%;bottom:24px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:10px;width:max-content;max-width:calc(100% - 28px);min-height:44px;padding:10px 16px;border:1px solid #8bd9ff;border-radius:2px;background:#fff;color:#0b2855;font:800 .82rem/1.2 system-ui,sans-serif;cursor:pointer}
.ct-preview-load:hover{background:#eaf5ff}
.ct-work-viewport [hidden]{display:none!important}
@media(min-width:1200px){
  .ct-video-hero .ct-hero-media .ct-hero-poster{left:auto;right:max(0px,calc((100% - 1680px)/2));width:min(100%,1440px);height:100%;object-position:right 25%}
}
@media(max-width:640px){
  .ct-hero-motion-toggle{top:10px;right:10px;bottom:auto;width:44px;height:44px;min-height:44px;padding:8px;font-size:0}
  .ct-hero-motion-toggle span{font-size:14px}
  .ct-preview-placeholder strong{font-size:1.8rem}
  .ct-preview-load{bottom:18px;font-size:.78rem}
}
@media(prefers-reduced-motion:reduce){.ct-hero-media video{transition:none}}

/* Keep critical service content visible before optional effects and tracking initialize. */
.page-hero .reveal,.contact-form.reveal,.contact-panel.reveal,.website-showcase.reveal{opacity:1!important;transform:none!important;transition:none!important}

/* Readable contact links and small resource labels on the light page system. */
.about-card .contact-lines a{color:#1d4ed8!important;text-decoration:underline;text-underline-offset:3px}
.resource-card .resource-meta{color:#1d4ed8!important}
.article-body .market-summary span,.article-body .price-card .label{color:#1d4ed8!important}
.portfolio-preview>.ct-preview-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:28px 24px 90px;text-align:center;background:linear-gradient(135deg,#07152d,#123b63);color:#fff}
.portfolio-preview .ct-preview-placeholder strong{color:#fff}
.portfolio-preview iframe[hidden]{display:none!important}

/* A compact, crawlable route from the homepage to local SEO services. */
.ct-local-search{padding:40px 0;background:#eef5ff;border-block:1px solid #d6e3f5}
.ct-local-search-inner{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:32px;align-items:center}
.ct-local-search h2{margin:8px 0 14px;color:#07152d;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.15;letter-spacing:-.035em}
.ct-local-search p{margin:0;color:#42536d;line-height:1.7}
.ct-local-search .kicker{color:#1d4ed8}
.ct-local-search p a{color:#1d4ed8;text-decoration:underline;text-underline-offset:3px}
.ct-local-search p a:hover{color:#07152d}
.ct-local-search a:focus-visible{outline:3px solid #1d4ed8;outline-offset:4px}
.ct-local-search-action{padding-left:28px;border-left:1px solid #c5d6ed}
.ct-local-search-action .btn{margin-top:18px;min-height:44px}
@media(max-width:700px){
  .ct-local-search{padding:30px 0}
  .ct-local-search-inner{grid-template-columns:1fr;gap:22px}
  .ct-local-search-action{padding:20px 0 0;border-left:0;border-top:1px solid #c5d6ed}
  .ct-local-search-action .btn{width:100%;text-align:center}
}

