/* Custom Software Development landing — scoped to .csd-page */
.csd-page{
  --navy:#0f1c2e;
  --navy-light:#162338;
  --charcoal:#1e2d3d;
  --red:#c8102e;
  --red-dark:#a50d25;
  --grey-50:#f7f8f9;
  --grey-200:#d8dce3;
  --grey-500:#6b7280;
  --grey-700:#374151;
  --white-55:rgba(255,255,255,.55);
  --white-60:rgba(255,255,255,.6);
  --white-65:rgba(255,255,255,.65);
  --white-75:rgba(255,255,255,.75);
  --white-10:rgba(255,255,255,.1);
  font-family:"Blinker",system-ui,sans-serif;
  color:var(--charcoal);
  background:#fff;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
.csd-page *,.csd-page *::before,.csd-page *::after{box-sizing:border-box}
.csd-page h1,.csd-page h2,.csd-page h3,.csd-page p{margin:0}
.csd-page a{text-decoration:none;color:inherit}
.csd-page button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.csd-page a:focus-visible,.csd-page button:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.csd-page section{margin:0}
.csd-page{overflow-x:clip}
.csd-spectrum__grid>*,
.csd-platforms__top>*,
.csd-why__grid>*,
.csd-ai__grid>*,
.csd-mid__grid>*,
.csd-scenarios__layout>*,
.csd-faq__grid>*,
.csd-area__grid>*{min-width:0}
.csd-display{font-family:"Blinker",Arial,sans-serif;font-weight:600}
/* Hero copy uses its own face with font-display:block so incognito does not
   paint Arial first and then swap to Blinker. */
@font-face{font-family:"BlinkerHero";font-style:normal;font-weight:400;font-display:block;src:url("/wp-content/uploads/elementor/google-fonts/fonts/blinker-400.ttf") format("truetype")}
@font-face{font-family:"BlinkerHero";font-style:normal;font-weight:600;font-display:block;src:url("/wp-content/uploads/elementor/google-fonts/fonts/blinker-600.ttf") format("truetype")}
@font-face{font-family:"BlinkerHero";font-style:normal;font-weight:700;font-display:block;src:url("/wp-content/uploads/elementor/google-fonts/fonts/blinker-700.ttf") format("truetype")}
.csd-hero__copy,.csd-hero__copy .csd-display,.csd-hero .csd-btn{font-family:"BlinkerHero",Arial,sans-serif}
.csd-wrap{width:100%;max-width:1440px;margin:0 auto;padding:0 20px;box-sizing:border-box}
@media(min-width:640px){.csd-wrap{padding:0 24px}}
@media(min-width:1024px){.csd-wrap{padding:0 32px}}
.csd-eyebrow{display:flex;align-items:center;gap:12px;margin:0;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--grey-500)}
.csd-eyebrow::before{content:"";width:1.75rem;height:1px;background:var(--red);flex:0 0 auto}
.csd-eyebrow--light{color:var(--white-55)}
.csd-head .csd-eyebrow{font-size:12px;color:#5B616B}
.csd-head--light .csd-eyebrow{color:var(--white-60)}
.csd-page .csd-faq__aside .csd-eyebrow{font-size:12px!important;font-weight:600!important;line-height:1.4!important;color:#5B616B!important}
.csd-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--red);color:#fff;padding:16px 28px;font-size:14px;font-weight:600;line-height:1.25;transition:background-color .2s}
.csd-btn:hover{background:var(--red-dark);color:#fff}
.csd-btn svg{width:1rem;height:1rem;flex:0 0 auto}
.csd-link{display:inline-flex;align-items:center;gap:8px;color:var(--red);font-size:14px;font-weight:600}
.csd-link:hover{color:var(--red-dark)}
.csd-link svg{width:1rem;height:1rem;flex:0 0 auto}
.csd-section{padding:6rem 0}
@media(min-width:1024px){.csd-section{padding:8rem 0}}
.csd-head{max-width:48rem}
.csd-head h2{margin-top:20px;font-size:30px;font-weight:600;line-height:1.15;color:var(--navy)}
@media(min-width:768px){.csd-head h2{font-size:46px}}
.csd-head h2 em,.csd-hero h1 em,.csd-page h2 em{font-style:normal;color:var(--red)}
.csd-head p{margin-top:24px;max-width:42rem;font-size:16px;line-height:1.625;color:var(--grey-700)}
@media(min-width:640px){.csd-head p{font-size:18px}}
.csd-head--light h2{color:#fff}
.csd-head--light p{color:var(--white-60)}

/* Hero — text sits on the same 1440px rail as other landing pages */
.csd-hero{position:relative;overflow:hidden;background:var(--navy);color:#fff}
.csd-hero__stage{position:relative}
.csd-hero__copy{position:relative;z-index:1;display:flex;align-items:center;padding:72px 0}
.csd-hero__copy-inner{max-width:40rem}
.csd-hero h1{margin-top:28px;font-size:36px;font-weight:700;line-height:1.05;letter-spacing:-.02em;color:#fff}
@media(min-width:640px){.csd-hero h1{font-size:48px}}
@media(min-width:1024px){.csd-hero h1{font-size:60px}}
.csd-page .csd-hero__lead{margin-top:24px;max-width:42rem;font-size:18px;line-height:1.625;color:var(--white-75)}
@media(min-width:640px){.csd-hero__lead{font-size:20px}}
.csd-hero__chips{display:flex;flex-wrap:wrap;gap:8px 20px;margin:32px 0 0;padding:0;list-style:none}
.csd-hero__chips li{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.csd-hero__chips li::before{content:"";width:4px;height:4px;background:var(--red);flex:0 0 auto}
.csd-hero .csd-btn{margin-top:40px;font-family:"BlinkerHero",Arial,sans-serif;font-size:17px;font-weight:400;line-height:17px}
@media(max-width:767px){.csd-hero .csd-btn{font-size:15px}}
.csd-hero__media{position:relative;min-height:30rem;overflow:hidden}
@media(min-width:1024px){
  .csd-hero{min-height:100svh;display:flex;flex-direction:column}
  .csd-hero__stage{display:flex;flex-direction:column;justify-content:flex-start;flex:1 1 auto;min-height:0;padding:120px 0 0}
.csd-hero__stage::before{content:"";flex:5 1 0;min-height:0;pointer-events:none}
.csd-hero__stage::after{content:"";flex:6 1 0;min-height:0;pointer-events:none}
  .csd-hero__stage>.csd-wrap{position:relative;z-index:1;flex:0 0 auto;width:100%}
  .csd-hero__copy{max-width:56%;min-height:0;padding:0 40px 0 0}
  .csd-hero__media{position:absolute;top:0;right:0;bottom:0;width:46%;min-height:0}
  .csd-stats{flex:0 0 auto}
}
.csd-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% center;filter:grayscale(20%)}
.csd-hero__shade{position:absolute;inset:0;background:linear-gradient(to right,var(--navy),rgba(15,28,46,.25),transparent)}
.csd-hero__shade-b{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,28,46,.65),transparent,transparent)}
.csd-page a.csd-hero__note{position:absolute;left:1.5rem;right:1.5rem;bottom:2rem;display:flex;align-items:center;justify-content:space-between;gap:16px;border-left:2px solid var(--red);background:rgba(15,28,46,.9);padding:1.25rem 1.5rem;color:#fff;font-family:"Blinker",Arial,sans-serif;font-size:18px;font-weight:600;line-height:1.3;backdrop-filter:blur(4px)}
@media(min-width:640px){.csd-page a.csd-hero__note{left:auto;right:2rem;max-width:22rem}}
@media(min-width:1024px){.csd-page a.csd-hero__note{bottom:3rem;right:2.5rem}}
.csd-page a.csd-hero__note:hover,.csd-page a.csd-hero__note:focus{color:#fff}
.csd-hero__note svg{width:18px;height:18px;flex:0 0 auto}
.csd-stats{border-top:1px solid rgba(255,255,255,.1);background:var(--navy-light);color:#fff}
.csd-stats__grid{display:grid}
@media(min-width:768px){.csd-stats__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.csd-stats__item{display:flex;align-items:baseline;gap:12px;padding:24px 8px}
@media(min-width:768px){.csd-stats__item{padding:28px 24px}.csd-stats__item + .csd-stats__item{border-left:1px solid rgba(255,255,255,.1)}}
.csd-stats__item strong{margin:0;font-size:32px;font-weight:600;line-height:1.5;color:#fff}
.csd-stats__item span{margin:0;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5)}

/* Spectrum */
.csd-spectrum__grid{display:grid;gap:3rem}
@media(min-width:1024px){.csd-spectrum__grid{grid-template-columns:.72fr 1.28fr;gap:3rem}}
.csd-spectrum .csd-link{margin-top:2.25rem}
.csd-areas{border-top:1px solid var(--grey-200)}
.csd-area{border-bottom:1px solid var(--grey-200);padding:2.5rem 0}
.csd-area__grid{display:grid;gap:1.25rem}
@media(min-width:640px){.csd-area__grid{grid-template-columns:4rem .8fr 1.2fr}}
.csd-area__num{font-size:30px;line-height:1;color:var(--red)}
.csd-area h3{font-size:30px;line-height:1.25;color:var(--navy)}
.csd-area__intro{margin-top:12px;font-size:14px;line-height:1.625;color:var(--grey-500)}
.csd-area__items{display:grid;gap:1rem}
@media(min-width:640px){.csd-area__items{grid-template-columns:1fr 1fr}}
.csd-area__items article{background:var(--grey-50);padding:1rem}
.csd-area__items h4{margin:0;font-size:18px;font-weight:600;color:var(--navy);line-height:1.35}
.csd-area__items p{margin-top:8px;font-size:12px;line-height:1.625;color:var(--grey-500)}

/* Platforms */
.csd-platforms{background:var(--grey-50)}
.csd-platform-grid{display:grid;gap:1px;margin-top:3.5rem;background:var(--grey-200)}
@media(min-width:640px){.csd-platform-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.csd-platform-grid{grid-template-columns:1fr 1fr 1fr}}
.csd-platform{display:block;min-height:14rem;padding:1.75rem 2rem;background:#fff;color:var(--navy);text-decoration:none;transition:background .2s ease}
.csd-platform:hover{background:var(--grey-50)}
.csd-platform:hover .csd-platform__top svg{color:var(--red)}
.csd-platform--lead{background:var(--navy);color:#fff}
.csd-platform--lead:hover{background:var(--navy-light)}
.csd-platform__top{display:flex;align-items:center;justify-content:space-between}
.csd-platform__top span{font-size:12px;font-weight:600;letter-spacing:.16em;color:var(--grey-500)}
.csd-platform--lead .csd-platform__top span{color:var(--red)}
.csd-platform__top svg{width:1rem;height:1rem;color:var(--grey-200)}
.csd-platform--lead .csd-platform__top svg{color:var(--red)}
.csd-platform h3{margin-top:48px;font-size:30px;line-height:1.25}
.csd-platform--lead h3{color:#fff}
.csd-platform p{margin-top:12px;font-size:14px;line-height:1.625;color:var(--grey-500)}
.csd-platform--lead p{color:var(--white-55)}

/* Reasons */
.csd-why{background:var(--navy);color:#fff}
.csd-why__grid{display:grid;gap:3rem}
@media(min-width:1024px){.csd-why__grid{grid-template-columns:.8fr 1.2fr}}
.csd-reason-grid{display:grid;gap:1px;background:var(--white-10)}
@media(min-width:640px){.csd-reason-grid{grid-template-columns:1fr 1fr}}
.csd-reason{min-height:16rem;background:var(--navy-light);padding:1.75rem 2rem}
.csd-reason__num{font-size:36px;line-height:1;color:rgba(255,255,255,.1)}
.csd-reason h3{margin-top:32px;font-family:"Blinker",system-ui,sans-serif;font-size:18px;font-weight:600;line-height:1.35}
.csd-reason p{margin-top:16px;font-size:14px;line-height:1.625;color:var(--white-55)}

/* AI */
.csd-ai__grid{display:grid;gap:1.25rem;margin-top:3.5rem}
@media(min-width:1024px){.csd-ai__grid{grid-template-columns:1fr 1fr}}
.csd-ai__card{padding:2rem}
@media(min-width:1024px){.csd-ai__card{padding:2.5rem}}
.csd-ai__card--soft{border-top:2px solid var(--red);background:var(--grey-50)}
.csd-ai__card--dark{background:var(--navy);color:#fff}
.csd-ai__kicker{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.csd-ai__card h3{margin-top:24px;font-size:30px;line-height:1.25;color:var(--navy)}
.csd-ai__card--dark h3{color:#fff}
.csd-ai__card p{margin-top:20px;max-width:36rem;font-size:16px;line-height:1.625;color:var(--grey-700)}
.csd-ai__card--dark p{color:var(--white-60)}
.csd-ai__proof{margin-top:32px;border-left:2px solid var(--red);padding-left:20px;font-size:14px;font-weight:600;color:#fff}

/* Mid CTA */
.csd-mid{padding:0 0 6rem}
@media(min-width:1024px){.csd-mid{padding:0 0 8rem}}
.csd-mid__band{position:relative;overflow:hidden;border-left:4px solid var(--red);background:var(--navy);color:#fff;padding:40px 0}
.csd-mid__ring{position:absolute;border:1px solid rgba(200,16,46,.15);border-radius:999px;pointer-events:none}
.csd-mid__ring--lg{width:24rem;height:24rem;right:-6rem;top:-10rem}
.csd-mid__ring--sm{width:18rem;height:18rem;right:-1.5rem;top:-6rem}
.csd-mid__band::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(to right,rgba(200,16,46,.7),rgba(255,255,255,.1),transparent)}
.csd-mid__grid{position:relative;display:grid;gap:28px;width:100%;max-width:1440px;margin:0 auto;padding:0 20px;box-sizing:border-box}
@media(min-width:640px){.csd-mid__grid{padding:0 24px}}
@media(min-width:1024px){.csd-mid__grid{padding:0 32px}}
@media(min-width:1024px){.csd-mid__grid{grid-template-columns:1fr .9fr auto;align-items:center;gap:3rem}}
.csd-mid__kicker{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--red)}
.csd-mid h2{margin-top:12px;font-size:30px;font-weight:600;line-height:1.15;color:#fff}
@media(min-width:768px){.csd-mid h2{font-size:46px}}
.csd-mid__copy{font-size:14px;line-height:1.625;color:var(--white-65)}
@media(min-width:1024px){.csd-mid__copy{border-left:1px solid rgba(255,255,255,.15);padding-left:2.5rem}}

/* Scenarios */
.csd-scenarios{background:var(--grey-50)}
.csd-scenarios__top{display:flex;flex-direction:column;justify-content:space-between;gap:2rem}
@media(min-width:1024px){.csd-scenarios__top{flex-direction:row;align-items:flex-end}}
.csd-scenarios__layout{display:grid;gap:2rem;margin-top:3.5rem}
@media(min-width:1024px){.csd-scenarios__layout{grid-template-columns:.82fr 1.18fr}}
.csd-scenarios__nav{display:flex;flex-direction:column;gap:1.25rem}
.csd-scenario-btn{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1.25rem;padding:1.25rem;text-align:left;border:1px solid var(--grey-200);background:#fff;color:var(--navy);transition:border-color .2s,background-color .2s,color .2s}
.csd-page .csd-scenario-btn:hover,
.csd-page .csd-scenario-btn:focus{background:transparent;background-color:transparent;color:var(--navy);border-color:transparent}
.csd-scenario-btn.is-active{border-color:var(--navy);background:var(--navy);color:#fff}
.csd-page .csd-scenario-btn.is-active:hover,
.csd-page .csd-scenario-btn.is-active:focus{background:var(--navy);background-color:var(--navy);color:#fff;border-color:var(--navy)}
.csd-scenario-btn__label{display:flex;align-items:center;gap:1rem;min-width:0}
.csd-scenario-btn__label span:last-child{min-width:0}
.csd-scenario-btn__num{font-size:24px;line-height:1;color:var(--grey-200)}
.csd-scenario-btn.is-active .csd-scenario-btn__num{color:var(--red)}
.csd-scenario-btn__label span:last-child{font-size:18px;font-weight:600;line-height:1.35}
.csd-scenario-btn svg{width:1rem;height:1rem;color:var(--grey-200);flex:0 0 auto}
.csd-scenario-btn.is-active svg{color:var(--red)}
.csd-scenario-panel{background:#fff;padding:1.75rem;box-shadow:0 20px 40px rgba(15,28,46,.05)}
@media(min-width:640px){.csd-scenario-panel{padding:2.5rem}}
.csd-scenario-panel[hidden]{display:none}
.csd-scenario-panel__kicker{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.csd-scenario-panel h3{margin-top:20px;font-size:30px;line-height:1.25;color:var(--navy)}
@media(min-width:640px){.csd-scenario-panel h3{font-size:36px}}
.csd-scenario-points{display:grid;gap:1.25rem;margin-top:2.25rem}
@media(min-width:640px){.csd-scenario-points{grid-template-columns:repeat(3,1fr)}}
.csd-scenario-points article{border-top:1px solid var(--grey-200);padding-top:1.25rem}
.csd-scenario-points span{font-size:12px;font-weight:600;color:var(--red)}
.csd-scenario-points h4{margin:16px 0 0;font-size:18px;font-weight:600;line-height:1.35;color:var(--navy)}
.csd-scenario-points p{margin-top:12px;font-size:14px;line-height:1.625;color:var(--grey-500)}
.csd-scenario-panel .csd-link{margin-top:2.25rem}

/* Guarantees */
.csd-risk{background:var(--navy);color:#fff}
.csd-risk__grid{display:grid;gap:1px;margin-top:3.5rem;background:var(--white-10)}
@media(min-width:768px){.csd-risk__grid{grid-template-columns:repeat(3,1fr)}}
.csd-risk__card{background:var(--navy-light);padding:2rem}
@media(min-width:768px){.csd-risk__card{min-height:18rem}}
.csd-risk__card span{font-size:36px;line-height:1;color:var(--red)}
.csd-risk__card h3{margin-top:40px;font-size:24px;line-height:1.25}
.csd-risk__card p{margin-top:16px;font-size:14px;line-height:1.625;color:var(--white-55)}

/* FAQ — matches the mobile app development FAQ block */
.csd-faq{padding:88px 0}
@media(min-width:1024px){.csd-faq{padding:112px 0}}
.csd-faq__grid{display:grid;gap:48px}
@media(min-width:1024px){.csd-faq__grid{grid-template-columns:.7fr 1.3fr;gap:56px}}
.csd-faq__aside .csd-eyebrow{color:var(--red)}
.csd-faq h2{margin:20px 0 0;font-family:"Blinker",Arial,sans-serif;font-size:30px;font-weight:600;line-height:1.15;color:var(--navy)}
@media(min-width:768px){.csd-faq h2{font-size:46px}}
.csd-faq h2 em{font-style:normal;color:var(--red)}
.csd-faq__aside p{margin:24px 0 0;max-width:22rem;font-size:15px;line-height:1.65;color:var(--grey-500)}
.csd-faq__aside .csd-link{margin-top:24px;color:#101828}
.csd-faq__list{border-top:1px solid var(--grey-200);margin:0;padding:0;list-style:none}
.csd-faq__item{border-bottom:1px solid var(--grey-200)}
.csd-page .csd-faq__q{display:flex;width:100%;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;border:0;border-radius:0;background:transparent;text-align:left;font-family:"Blinker",Arial,sans-serif;font-size:18px;font-weight:400;line-height:1.35;color:var(--navy);cursor:pointer}
.csd-page .csd-faq__q:hover,.csd-page .csd-faq__q:focus{background:transparent;background-color:transparent;border-color:transparent;color:var(--navy);box-shadow:none;outline:none}
.csd-faq__q span:first-child{min-width:0}
.csd-faq__icon{position:relative;flex:0 0 18px;width:18px;height:18px;color:var(--red)}
.csd-faq__icon::before,.csd-faq__icon::after{content:"";position:absolute;left:0;top:8px;width:18px;height:2px;background:currentColor}
.csd-faq__icon::after{transform:rotate(90deg);transition:transform .2s}
.csd-faq__item.is-open .csd-faq__icon::after{transform:rotate(0)}
.csd-faq__a{display:none;max-width:42rem;margin:0;padding:0 40px 22px 0;font-size:15px;line-height:1.7;color:#4A4E57}
.csd-faq__item.is-open .csd-faq__a{display:block}

/* Close */
.csd-close{position:relative;overflow:hidden;background:#202b35 url('/wp-content/uploads/2025/12/2-%E6%8B%B7%E8%B4%9D.webp') center center/cover no-repeat;color:#fff;padding:6rem 0}
@media(min-width:1024px){.csd-close{padding:7rem 0}}
.csd-close__inner{position:relative;max-width:56rem;margin:0 auto;padding:0 1.5rem;text-align:center}
@media(min-width:1024px){.csd-close__inner{padding:0 2.5rem}}
.csd-close__kicker{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--red)}
.csd-close h2{margin:0 0 22px;font-family:"Blinker",Arial,sans-serif;font-size:30px;font-weight:600;line-height:32px;color:#fff}
@media(min-width:768px){.csd-close h2{font-size:46px;line-height:1}}
.csd-close p{margin:24px auto 0;max-width:42rem;font-size:14px;line-height:1.625;color:rgba(255,255,255,.7)}
@media(min-width:640px){.csd-close p{font-size:16px}}
.csd-close .csd-btn{margin-top:2.25rem}
.csd-close__note{margin-top:16px;font-size:12px;color:rgba(255,255,255,.45)}
#contact{scroll-margin-top:6rem}
