@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..900;1,9..40,400..900&family=Roboto:wght@400;500;600;700;900&family=Roboto+Mono:wght@400;500&display=swap');

/* =========================================================
   Custom Software Development (Software Refresh) page
   Figma: Ninjatech Redesign New, node 3684:630
   Every class is prefixed with "csd-" to stay clear of theme styles.
   ========================================================= */

/* The page ships its own header and footer, so hide the theme's. */
/* .page-id-1022 header.header,
.page-id-1022 footer.footer,
.page-template-tpl-custom-software-development header.header,
.page-template-tpl-custom-software-development footer.footer{display:none;} */

.csd-page{
  --csd-orange:#ff5b2e;
  --csd-orange-soft:#fff3ed;
  --csd-black:#1e1e1e;
  --csd-ink:#141414;
  --csd-text:#4a4a4a;
  --csd-muted:#5e5e5e;
  --csd-grey-bg:#f8f8f8;
  --csd-border:rgba(30,30,30,.15);
  --csd-roboto:"Roboto",sans-serif;
  --csd-dm:"DM Sans",sans-serif;
  --csd-mono:"Roboto Mono",monospace;
  --csd-container:1384px;
  --csd-gutter:28px;
  --csd-section-y:120px;
  --csd-h2:64px;

  position:relative;
  overflow:hidden;
  background:#fff;
  color:var(--csd-black);
  font-family:var(--csd-dm);
  font-variation-settings:"opsz" 14;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.csd-page *,
.csd-page *::before,
.csd-page *::after{box-sizing:border-box;}
/* Resets use :where() so they carry class-level specificity and every component class below wins. */
.csd-page :where(h1,h2,h3,p,ul,ol,li,blockquote,figure){margin:0;padding:0;max-width:none;}
.csd-page :where(ul,ol){list-style:none;}
.csd-page :where(img){display:block;max-width:100%;height:auto;}
.csd-page :where(a){text-decoration:none;color:inherit;transition:color .2s ease,background-color .2s ease,opacity .2s ease;}
.csd-page :where(button){font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0;}
.csd-page :focus-visible{outline:2px solid var(--csd-orange);outline-offset:3px;}

.csd-container{width:100%;max-width:calc(var(--csd-container) + var(--csd-gutter) * 2);margin:0 auto;padding:0 var(--csd-gutter);}
.csd-accent{color:var(--csd-orange);}
.csd-nowrap{white-space:nowrap;}

/* ---------- Shared type ---------- */
.csd-h2{font-family:var(--csd-roboto);font-weight:700;font-size:var(--csd-h2);line-height:1.172;color:var(--csd-black);}
.csd-lead{font-family:var(--csd-dm);font-weight:500;font-size:20px;line-height:28px;color:var(--csd-text);}

/* Eyebrow badge */
.csd-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:29px;}
.csd-badge img{width:6px;height:6px;flex:0 0 6px;}
.csd-badge__text{font-family:var(--csd-dm);font-weight:500;font-size:20px;line-height:1.2;white-space:nowrap;background:linear-gradient(108deg,#ff5b2e 7.25%,#f5e12d 127%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.csd-badge--hero .csd-badge__text{background-image:linear-gradient(128deg,#ff5b2e 7.25%,#f5e12d 127%);}

/* Section heading row: title left, intro right, bottom aligned */
.csd-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;}
.csd-head__title{display:flex;flex-direction:column;align-items:flex-start;gap:22px;}
.csd-head__text{width:582px;flex:0 0 auto;}

/* ---------- Pill buttons ---------- */
.csd-btn{display:inline-flex;align-items:center;gap:14px;height:50px;padding:10px 22px;border-radius:26px;font-family:var(--csd-dm);font-weight:600;font-size:18px;line-height:1.2;white-space:nowrap;box-shadow:0 14px 54px rgba(255,91,46,.2);border:1px solid transparent;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;}
.csd-btn:hover{transform:translateY(-2px);box-shadow:0 18px 54px rgba(255,91,46,.3);}
.csd-btn__icon{position:relative;width:28px;height:28px;flex:0 0 28px;}
.csd-btn__icon img{position:absolute;inset:0;width:28px;height:28px;}
.csd-btn__icon .csd-btn__arrow{width:24px;height:24px;inset:2px;transform:rotate(90deg);transition:transform .2s ease;}
.csd-btn:hover .csd-btn__arrow{transform:rotate(90deg) translateY(-2px);}
.csd-btn--primary{background:var(--csd-orange);color:#fff;}
.csd-page .csd-btn--primary:hover,.csd-page .csd-btn--primary:focus{background:#f04d20;color:#fff;}
.csd-btn--outline{background:#fff;border-color:#ff734c;color:var(--csd-black);}
.csd-page .csd-btn--outline:hover,.csd-page .csd-btn--outline:focus{background:var(--csd-orange-soft);color:var(--csd-black);}
.csd-btn--white{background:#fff;color:var(--csd-black);}
.csd-page .csd-btn--white:hover,.csd-page .csd-btn--white:focus{background:var(--csd-orange-soft);color:var(--csd-black);}
.csd-btn--sm{height:44px;padding:8px 22px;font-size:16px;}

/* Round prev / next buttons */
.csd-round-btn{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:26px;border:1px solid var(--csd-black);transition:background-color .2s ease,opacity .2s ease,transform .2s ease;}
.csd-round-btn img{width:16px;height:16px;}
.csd-round-btn--prev{background:#fff;}
.csd-round-btn--prev img{transform:rotate(180deg);}
.csd-round-btn--next{background:var(--csd-black);}
.csd-round-btn:hover{transform:translateY(-2px);}
.csd-round-btn--prev:hover{background:var(--csd-grey-bg);}
.csd-round-btn.swiper-button-disabled{opacity:.35;cursor:default;transform:none;}

/* ---------- Shared cards ---------- */
.csd-card{display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid var(--csd-border);border-radius:20px;padding:29px;}
.csd-card--grey{background:var(--csd-grey-bg);padding:24px;gap:16px;}
.csd-card__title{font-family:var(--csd-roboto);font-weight:600;font-size:24px;line-height:28px;color:var(--csd-black);}
.csd-card__text{font-family:var(--csd-dm);font-weight:500;font-size:18px;line-height:26px;color:var(--csd-text);}
.csd-icon-tile{position:relative;display:block;width:58px;height:58px;flex:0 0 58px;}
.csd-icon-tile img{width:58px;height:58px;}
.csd-icon-tile .csd-icon-tile__icon{position:absolute;top:16px;left:16px;width:26px;height:26px;}

/* =========================================================
   Header
   ========================================================= */
.csd-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1760px;margin:0 auto;padding:30px 0 0;}
.csd-logo{position:relative;display:block;flex:0 0 auto;}
.csd-logo--header{width:100px;height:40px;}
.csd-logo--footer{width:212px;height:84px;}
.csd-logo__part{position:absolute;max-width:none;}
.csd-logo__part--1{top:16.71%;right:73.72%;bottom:4.27%;left:1.3%;}
.csd-logo__part--2{top:16.36%;right:51.78%;bottom:2.7%;left:26.97%;}
.csd-logo__part--3{top:2.51%;right:41.2%;bottom:72.48%;left:48.91%;}
.csd-logo__part--4{top:40.11%;right:1.3%;bottom:33.04%;left:53.15%;}
.csd-logo__part--5{top:76.85%;right:17.42%;bottom:2.51%;left:52.96%;}
.csd-page .csd-logo__part{width:auto;height:auto;}

.csd-nav__list{display:flex;align-items:center;gap:40px;}
.csd-nav__item{position:relative;}
.csd-nav__link{display:inline-flex;align-items:center;gap:6px;font-family:var(--csd-dm);font-weight:400;font-size:18px;line-height:24px;color:#222;white-space:nowrap;}
.csd-nav__link img{width:10px;height:8.17px;transition:transform .2s ease;}
.csd-nav__link--dark{color:var(--csd-black);}
.csd-page .csd-nav__link:hover,.csd-page .csd-nav__link:focus{color:var(--csd-orange);}
.csd-nav__item--drop:hover .csd-nav__link img,.csd-nav__item--drop:focus-within .csd-nav__link img{transform:rotate(180deg);}
.csd-nav__drop{position:absolute;top:100%;left:-16px;min-width:220px;padding:10px;margin-top:12px;background:#fff;border:1px solid var(--csd-border);border-radius:16px;box-shadow:0 20px 40px rgba(0,0,0,.08);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease,visibility .2s;}
.csd-nav__drop::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px;}
.csd-nav__item--drop:hover .csd-nav__drop,.csd-nav__item--drop:focus-within .csd-nav__drop{opacity:1;visibility:visible;transform:translateY(0);}
.csd-nav__drop a{display:block;padding:9px 12px;border-radius:10px;font-family:var(--csd-dm);font-size:16px;line-height:22px;color:var(--csd-black);white-space:nowrap;}
.csd-page .csd-nav__drop a:hover,.csd-page .csd-nav__drop a:focus{background:var(--csd-orange-soft);color:var(--csd-orange);}
.csd-nav__cta-mobile{display:none;}
.csd-header__cta{flex:0 0 auto;}
.csd-header__toggle{display:none;}

/* Sticky header: once the page scrolls past the header, it is fixed to the top and
   slides down. The wrapper keeps the header's original space so nothing jumps. */
.csd-page{--csd-sticky-x:80px;}
.csd-header-wrap{position:relative;z-index:50;min-height:74px;} /* 30px top padding + 44px header row */
.csd-header.is-sticky{position:fixed;top:0;left:0;right:0;z-index:1000;max-width:none;margin:0;padding:12px max(var(--csd-sticky-x),calc((100% - 1760px) / 2));background:rgba(255,255,255,.94);-webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);box-shadow:0 1px 0 rgba(30,30,30,.06),0 10px 30px rgba(0,0,0,.06);animation:csd-header-in .45s cubic-bezier(.2,.8,.2,1) both;}
.csd-header.is-sticky .csd-nav__drop{margin-top:20px;}
@keyframes csd-header-in{from{transform:translateY(-100%);opacity:0;}to{transform:translateY(0);opacity:1;}}
/* In-page links land below the sticky header */
.csd-page [id^="csd-"]{scroll-margin-top:90px;}

/* =========================================================
   Hero
   ========================================================= */
.csd-hero{position:relative;overflow:hidden;background:#fff;padding:0 80px;}
/* Vertical columns: each 72.46px strip is #f7f7f7 and darkens toward its right edge,
   the shadow every Figma column casts onto its neighbour. */
.csd-hero__stripes{position:absolute;inset:0;background-color:#f7f7f7;background-image:linear-gradient(90deg,rgba(0,0,0,0) 0,rgba(0,0,0,0) 62%,rgba(0,0,0,.012) 78%,rgba(0,0,0,.026) 100%);background-size:72.464px 100%;background-position:-54.5px 0;pointer-events:none;}
.csd-hero__stripes::before{content:"";position:absolute;top:0;bottom:0;left:-54.5px;width:72.464px;background:#fff;}
.csd-hero__content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;max-width:909px;margin:140px auto 0;text-align:center;}
.csd-hero__title{margin-top:20px;font-family:var(--csd-roboto);font-weight:600;font-size:92px;line-height:1.172;color:var(--csd-black);}
.csd-hero__text{width:782px;max-width:100%;margin-top:20px;font-family:var(--csd-dm);font-weight:500;font-size:20px;line-height:28px;color:var(--csd-text);}
.csd-hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin-top:54px;}
.csd-hero__visual{position:relative;z-index:1;max-width:1592px;margin:14px auto 0;}
/* Figma clips the bottom 105px of the 904px mockup at the hero edge. */
.csd-ba{position:relative;margin-bottom:-6.6%;}
.csd-ba__laptop{width:100%;}

/* Before / after comparison slider. Positions are % of the 2680x1522 mockup,
   whose screen area is x 252-2428, y 226-1266 (2176 x 1040). */
.csd-ba__screen{--csd-ba-pos:50%;position:absolute;left:9.403%;top:14.8489%;width:81.194%;height:68.3311%;overflow:visible;cursor:ew-resize;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;}
.csd-ba__img{position:absolute;inset:0;pointer-events:none;}
.csd-page .csd-ba__img{width:100%;height:100%;max-width:none;}
.csd-ba__before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--csd-ba-pos)) 0 0);}
.csd-ba__divider{position:absolute;top:0;bottom:0;left:var(--csd-ba-pos);width:.2757%;min-width:2px;background:#ff5a2c;transform:translateX(-50%);pointer-events:none;}
.csd-ba__handle{position:absolute;top:50%;left:var(--csd-ba-pos);z-index:2;width:max(34px,4.7335%);aspect-ratio:1;border-radius:50%;cursor:grab;touch-action:none;transform:translate(-50%,-50%);box-shadow:0 0 0 8px rgba(255,91,46,.12),0 10px 26px rgba(255,91,46,.35);transition:box-shadow .25s ease,transform .25s ease;}
.csd-page .csd-ba__handle img{width:100%;height:100%;pointer-events:none;}
.csd-ba__handle::after{content:"";position:absolute;inset:-10px;border-radius:50%;}
.csd-ba__handle:hover,.csd-ba__screen.is-dragging .csd-ba__handle{transform:translate(-50%,-50%) scale(1.08);box-shadow:0 0 0 10px rgba(255,91,46,.16),0 12px 30px rgba(255,91,46,.45);}
.csd-ba__screen.is-dragging,.csd-ba__screen.is-dragging .csd-ba__handle{cursor:grabbing;}
/* Click / keyboard moves glide; drags follow the pointer directly */
.csd-ba__screen.is-animating .csd-ba__before{transition:clip-path .45s cubic-bezier(.4,0,.2,1);}
.csd-ba__screen.is-animating .csd-ba__divider,.csd-ba__screen.is-animating .csd-ba__handle{transition:left .45s cubic-bezier(.4,0,.2,1),box-shadow .25s ease,transform .25s ease;}
.csd-ba__badge{position:absolute;z-index:1;pointer-events:none;filter:drop-shadow(0 10px 18px rgba(0,0,0,.12));}
.csd-page .csd-ba__badge{height:auto;max-width:none;}
.csd-ba__badge--speed{left:-3.171%;top:8.5577%;width:14.936%;}
.csd-ba__badge--data{left:82.664%;top:26.865%;width:21.461%;filter:drop-shadow(0 12px 22px rgba(30,79,216,.28));}
/* Case-study variant: fills .csd-case__visual. Images are 1400x918 and, like the
   original, cover the box from the top-left; the handle sits at (700, 457). */
.csd-ba__screen--case{left:0;top:0;width:100%;height:100%;overflow:hidden;}
.csd-ba__screen--case .csd-ba__handle{top:50.2%;width:max(34px,6.57%);}
.csd-ba__screen--case .csd-ba__divider{width:.43%;}

/* =========================================================
   Marquee
   ========================================================= */
.csd-marquee{position:relative;z-index:3;height:76px;overflow:hidden;background:var(--csd-black);display:flex;align-items:center;}
.csd-marquee__track{display:flex;align-items:center;flex:0 0 auto;white-space:nowrap;padding-left:23px;animation:csd-marquee 40s linear infinite;will-change:transform;}
.csd-marquee:hover .csd-marquee__track{animation-play-state:paused;}
.csd-marquee__item,.csd-marquee__star{font-family:var(--csd-roboto);font-weight:700;font-size:24px;line-height:1.172;letter-spacing:-.8px;color:#fff;}
.csd-marquee__star{color:var(--csd-orange);margin:0 26px;}
@keyframes csd-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* =========================================================
   Stats + clients
   ========================================================= */
.csd-stats{background:var(--csd-grey-bg);padding:64px 0;}
.csd-stats__row{display:grid;grid-template-columns:461.33fr 461.33fr 397fr;gap:32px;}
.csd-stat{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-top:25px;border-top:2px solid var(--csd-black);}
.csd-stat__num{font-family:var(--csd-roboto);font-weight:700;font-size:72px;line-height:normal;letter-spacing:-3px;color:var(--csd-black);white-space:nowrap;}
.csd-stat__label{font-family:var(--csd-dm);font-weight:500;font-size:20px;line-height:24px;color:#434343;}
.csd-stat--location{border-top-color:var(--csd-orange);}
.csd-stat--location .csd-stat__label{color:var(--csd-text);}
.csd-stat__place{margin-top:8px;font-family:var(--csd-roboto);font-weight:700;font-size:72px;line-height:72px;letter-spacing:-2.88px;color:var(--csd-black);}
.csd-stat__label--sub{margin-top:16px;line-height:21px;}
.csd-clients{display:flex;flex-direction:column;gap:32px;margin-top:72px;}
.csd-clients__title{font-family:var(--csd-dm);font-weight:600;font-size:20px;line-height:1.3;color:var(--csd-text);text-align:center;}
.csd-clients__list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;}
.csd-clients__item{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px 16px;background:#fff;border:1px solid rgba(0,0,0,.15);border-radius:16px;font-family:var(--csd-roboto);font-weight:500;font-size:20px;line-height:24px;color:#3a3a3a;white-space:nowrap;transition:border-color .2s ease,box-shadow .2s ease;}
.csd-clients__item:hover{border-color:rgba(255,91,46,.5);box-shadow:0 10px 30px rgba(0,0,0,.05);}
.csd-clients__item img{width:30px;height:30px;flex:0 0 30px;}

/* =========================================================
   The problem
   ========================================================= */
.csd-problem{background:#fff;padding:var(--csd-section-y) 0;}
.csd-problem__grid{display:grid;grid-template-columns:608fr 712fr;gap:64px;align-items:start;}
.csd-problem__intro{display:flex;flex-direction:column;align-items:flex-start;gap:22px;}
.csd-problem__intro .csd-h2{color:var(--csd-ink);}
.csd-problem__list{border-bottom:1px solid #e6e4e1;padding-bottom:1px;}
.csd-problem__item{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr) 22px;gap:20px;padding:29px 20px 28px;border-top:1px solid #e6e4e1;border-radius:20px;transition:background-color .25s ease;}
.csd-problem__item:hover{background:var(--csd-grey-bg);}
.csd-problem__num{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--csd-ink);border-radius:22px;font-family:var(--csd-roboto);font-weight:700;font-size:14px;line-height:17px;color:var(--csd-ink);}
.csd-problem__body{display:flex;flex-direction:column;gap:8.41px;}
.csd-problem__title{font-family:var(--csd-roboto);font-weight:700;font-size:26px;line-height:31.2px;color:var(--csd-ink);}
.csd-problem__text{font-family:var(--csd-dm);font-weight:500;font-size:20px;line-height:26.35px;color:var(--csd-text);}
.csd-problem__icon{width:22px;height:22px;margin-top:9px;transition:transform .25s ease; display: none;}
.csd-problem__item:hover .csd-problem__icon{transform:translate(2px,-2px);}

/* =========================================================
   Rebuild vs refresh
   ========================================================= */
.csd-refresh{position:relative;background:var(--csd-grey-bg);padding:var(--csd-section-y) 0;}
.csd-refresh__glow{position:absolute;left:50%;top:50%;width:1045px;max-width:none;transform:translate(-50%,-50%);pointer-events:none;}
.csd-page .csd-refresh__glow{height:1045px;}
.csd-refresh .csd-container{position:relative;}
.csd-refresh__title{width:780px;color:var(--csd-ink);}
.csd-refresh__title s{text-decoration-thickness:from-font;}
.csd-refresh__body{display:flex;flex-direction:column;gap:32px;margin-top:60px;padding-top:44px;}
.csd-refresh__visual{aspect-ratio:1384/470;border-radius:30px;overflow:hidden;}
.csd-refresh__visual img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.csd-compare{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;}
.csd-compare__card{display:flex;flex-direction:column;align-items:flex-start;padding:24px;background:#fff;border:1px solid var(--csd-border);border-radius:20px;transition:transform .25s ease,box-shadow .25s ease;}
.csd-compare__card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.06);}
.csd-compare__label{font-family:var(--csd-dm);font-weight:600;font-size:20px;line-height:28px;letter-spacing:3px;color:var(--csd-text);}
.csd-compare__value{margin-top:16px;font-family:var(--csd-roboto);font-weight:600;font-size:24px;line-height:1.172;color:var(--csd-black);}
.csd-compare__old{margin-top:8px;font-family:var(--csd-dm);font-weight:500;font-size:18px;line-height:1.3;color:var(--csd-orange);}

/* =========================================================
   The offer (bento grid)
   ========================================================= */
.csd-offer{background:#fff;padding:var(--csd-section-y) 0;}
.csd-offer .csd-head__title .csd-h2{width:780px;}
/* Rows keep the Figma heights as a minimum and grow when narrower cards wrap their text. */
.csd-bento{display:grid;grid-template-columns:350fr 334fr 334fr 318fr;grid-template-rows:minmax(225px,auto) minmax(222.81px,auto);gap:16px;margin-top:60px;}
.csd-bento__card{position:relative;display:flex;flex-direction:column;align-items:flex-start;border-radius:20px;padding:32px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease;}
.csd-bento__card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(0,0,0,.08);}
.csd-bento__title{font-family:var(--csd-roboto);font-weight:700;font-size:24px;line-height:29px;color:var(--csd-black);}
.csd-bento__text{margin-top:9.1px;font-family:var(--csd-dm);font-weight:500;font-size:18px;line-height:24px;color:var(--csd-text);}

.csd-bento__card--interface{grid-row:1 / span 2;grid-column:1;background:var(--csd-black);padding:36px;}
.csd-bento__icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:var(--csd-orange);}
.csd-bento__icon img{width:24px;height:24px;}
.csd-bento__title--lg{margin-top:26px;font-size:30px;line-height:37px;color:#fff;}
.csd-bento__card--interface .csd-bento__text{margin-top:13.82px;margin-bottom:12px;font-weight:400;font-size:17px;line-height:26.35px;color:#d4d4d4;}
.csd-bento__ui{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;width:100%;height:170px;margin-top:auto;padding:14px;background:#1c1c1f;border-radius:14px;}
.csd-bento__ui-side{display:flex;flex-direction:column;gap:6px;padding:10px;background:#2d2d31;border-radius:8px;}
.csd-bento__ui-side span{height:6px;border-radius:3px;background:#3a3a3f;}
.csd-bento__ui-side span:first-child{height:8px;border-radius:4px;background:var(--csd-orange);}
.csd-bento__ui-chart{display:flex;align-items:flex-end;gap:6px;padding:10px;background:#2d2d31;border-radius:8px;}
.csd-bento__ui-chart span{flex:1 1 0;height:var(--h);border-radius:4px;background:#3a3a3f;transform-origin:bottom;transition:transform .4s ease;}
.csd-bento__ui-chart span.is-orange{background:var(--csd-orange);}
.csd-bento__ui-chart span.is-dark{background:var(--csd-black);}
.csd-bento__card--interface:hover .csd-bento__ui-chart span{transform:scaleY(1.06);}

.csd-bento__card--devices{grid-column:2 / span 2;grid-row:1;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;background:var(--csd-grey-bg);}
.csd-bento__card--devices .csd-bento__copy{width:340px;}
.csd-devices{display:flex;align-items:flex-end;gap:10px;flex:0 0 auto;}
.csd-devices span{display:block;border:3px solid var(--csd-black);border-radius:8px;}
.csd-devices i{display:block;width:100%;border-radius:3px;}
.csd-devices__laptop{width:120px;height:76px;padding:8px;}
.csd-devices__laptop i{height:8px;background:var(--csd-orange);}
.csd-devices__tablet{width:52px;height:70px;padding:7px;}
.csd-devices__tablet i{height:6px;background:var(--csd-black);}
.csd-page .csd-devices__phone{width:32px;height:54px;padding:6px;border-color:var(--csd-orange);border-radius:7px;}
.csd-devices__phone i{height:5px;border-radius:2px;background:var(--csd-orange);}

/* Top padding reserves the gauge's space so the text can never run into it (text top = 111px, as in Figma). */
.csd-bento__card--speed{grid-column:4;grid-row:1;background:var(--csd-orange);justify-content:flex-end;padding:108px 32px 26px;}
.csd-bento__card--speed .csd-bento__title{color:#fff;}
.csd-bento__card--speed .csd-bento__text{margin-top:9px;font-size:16px;line-height:24.8px;color:#f2f2f2;}
.csd-gauge{position:absolute;left:32px;top:30px;width:120px;height:62px;}
.csd-page .csd-gauge__arc{width:120px;height:62px;}
.csd-gauge__needle{position:absolute;left:75.2px;top:23.3px;width:4px;height:44px;max-width:none;transform:rotate(55deg);transform-origin:50% 50%;transition:transform .6s cubic-bezier(.3,1.6,.5,1);}
.csd-page .csd-gauge__needle{height:44px;}
.csd-bento__card--speed:hover .csd-gauge__needle{transform:rotate(75deg);}

.csd-bento__card--flow,.csd-bento__card--code{background:var(--csd-grey-bg);}
.csd-bento__card--flow{grid-column:2;grid-row:2;}
.csd-bento__card--code{grid-column:3;grid-row:2;}
.csd-flow{display:flex;align-items:center;gap:6px;width:100%;margin-bottom:30px;}
.csd-flow__dot{width:14px;height:14px;border:2px solid #9a9a9a;border-radius:7px;}
.csd-flow__line{width:12px;height:2px;background:#9a9a9a;}
.csd-flow__arrow{font-family:var(--csd-dm);font-weight:700;font-size:16px;line-height:22px;color:var(--csd-orange);}
.csd-flow__end{width:20px;height:20px;border-radius:10px;background:var(--csd-orange);}
.csd-code{height:41.59px;margin-bottom:20px;font-family:var(--csd-mono);font-weight:500;font-size:13px;line-height:20.8px;color:var(--csd-muted);white-space:nowrap;}
.csd-code__kw{color:#c2410c;}
.csd-code__caret{display:inline-block;width:2px;height:14px;margin-left:1px;vertical-align:-2px;background:var(--csd-black);animation:csd-blink 1s steps(1) infinite;}

.csd-bento__card--data{grid-column:4;grid-row:2;background:var(--csd-black);}
.csd-bento__db{width:32px;height:32px;margin-bottom:26px;}
.csd-bento__card--data .csd-bento__title{color:#fff;}
.csd-bento__card--data .csd-bento__text{font-size:16px;color:#f2f2f2;}

@keyframes csd-blink{50%{opacity:0;}}

/* =========================================================
   Documentation
   ========================================================= */
.csd-docs{background:var(--csd-grey-bg);padding:var(--csd-section-y) 0;}
.csd-docs__title{width:627px;}
.csd-docs__text{width:678px;}
.csd-docs__body{display:flex;align-items:center;gap:50px;margin-top:60px;}
.csd-docs__list{display:flex;flex-direction:column;gap:16px;width:642px;flex:0 0 auto;}
.csd-docs__item{display:flex;align-items:center;gap:24px;padding:24px;background:#fff;border:1px solid var(--csd-border);border-radius:20px;transition:border-color .25s ease,transform .25s ease;}
.csd-docs__item:hover{border-color:rgba(255,91,46,.45);transform:translateX(4px);}
.csd-docs__num{display:flex;align-items:center;justify-content:center;width:63px;height:63px;flex:0 0 63px;border-radius:16px;background:var(--csd-orange-soft);font-family:var(--csd-roboto);font-weight:700;font-size:26px;line-height:31.2px;color:var(--csd-orange);}
.csd-docs__item-title{font-family:var(--csd-roboto);font-weight:700;font-size:26px;line-height:31.2px;color:var(--csd-ink);}
.csd-docs__item-text{margin-top:8px;font-family:var(--csd-dm);font-weight:500;font-size:20px;line-height:26.35px;color:var(--csd-text);}
.csd-docs__visual{flex:1 1 0;min-width:0;max-width:692px;}
.csd-docs__visual img{width:100%;}
.csd-note-bar{display:flex;align-items:center;gap:16px;min-height:68px;margin-top:60px;padding:16px 24px;background:var(--csd-ink);border-radius:16px;font-family:var(--csd-dm);font-weight:600;font-size:18px;line-height:1.3;color:#fff;}
.csd-note-bar__icon{position:relative;width:36px;height:36px;flex:0 0 36px;}
.csd-note-bar__icon img{width:36px;height:36px;}
.csd-note-bar__icon .csd-note-bar__check{position:absolute;inset:23.21%;width:auto;height:auto;}

/* =========================================================
   Before and after (tabs + slider)
   ========================================================= */
.csd-cases{background:#fff;padding:var(--csd-section-y) 0;}
.csd-cases__title{width:786px;max-width:740px;}
.csd-cases__intro{width:auto;white-space:nowrap;}
.csd-cases__tabs{display:flex;gap:16px;margin-top:60px;}
.csd-cases__tab{flex:0 0 auto;padding:16px 24px;border:1px solid var(--csd-border);border-radius:60px;background:#fff;font-family:var(--csd-dm);font-weight:500;font-size:18px;line-height:1.3;color:var(--csd-black);white-space:nowrap;transition:background-color .25s ease,color .25s ease,border-color .25s ease;}
.csd-cases__tab:hover{border-color:var(--csd-black);}
.csd-page .csd-cases__tab.is-active{background:var(--csd-black);border-color:var(--csd-black);color:#fff;}
.csd-cases__swiper{margin-top:60px;border-radius:30px;overflow:hidden;}
.csd-cases__swiper .swiper-slide{height:auto;background:#fff;}
.csd-case{display:grid;grid-template-columns:684fr 633fr;gap:21px;align-items:start;min-height:515px;padding:28px 30px 28px 16px;background:var(--csd-grey-bg);border-radius:30px;}
.csd-case__visual{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:684/445;}
.csd-case__visual img{width:100%;height:100%;object-fit:cover;object-position:left top;}
.csd-case__content{display:flex;flex-direction:column;padding-top:14px;}
.csd-case__eyebrow{max-width:545px;font-family:var(--csd-dm);font-weight:600;font-size:20px;line-height:1.2;letter-spacing:.4px;color:var(--csd-orange);}
.csd-case__title{max-width:520px;margin-top:24px;font-family:var(--csd-roboto);font-weight:700;font-size:36px;line-height:1.172;color:var(--csd-black);}
.csd-case__text{margin-top:24px;font-family:var(--csd-dm);font-weight:500;font-size:18px;line-height:24px;color:var(--csd-text);}
.csd-case__stats{display:grid;grid-template-columns:210fr 186fr 234fr;max-width:630px;margin-top:24px;background:#fff;border-radius:20px;overflow:hidden;}
.csd-case__stat{display:flex;flex-direction:column;gap:8px;padding:16px 30px;border-right:1px solid rgba(0,0,0,.15);}
.csd-case__stat:last-child{border-right:0;background:var(--csd-black);}
.csd-case__stat-num{font-family:var(--csd-roboto);font-weight:700;font-size:28px;line-height:1.172;color:var(--csd-black);}
.csd-case__stat-label{font-family:var(--csd-dm);font-weight:400;font-size:16px;line-height:1.3;color:var(--csd-muted);}
.csd-case__stat:last-child .csd-case__stat-num,.csd-case__stat:last-child .csd-case__stat-label{color:#fff;}
.csd-case__quote{position:relative;margin-top:24px;padding:15px 0 0 38px;}
.csd-case__quote img{position:absolute;left:0;top:0;width:25.8px;height:23px;transform:scaleX(-1);}
.csd-case__quote-text{font-family:var(--csd-dm);font-weight:500;font-style:italic;font-size:18px;line-height:1.3;color:var(--csd-black);}
.csd-case__quote-author{margin-top:12px;font-family:var(--csd-dm);font-weight:600;font-size:16px;line-height:1.3;color:var(--csd-muted);}

/* Orange CTA band */
.csd-cta-band{position:relative;display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:160px;margin-top:60px;padding:38px 42px;background:var(--csd-orange);border-radius:30px;overflow:hidden;}
.csd-cta-band__text{position:relative;z-index:1;max-width:909px;font-family:var(--csd-roboto);font-weight:600;font-size:32px;line-height:42px;color:#fff;}
.csd-cta-band__ring{position:absolute;left:1228px;top:-21.68px;width:260px;height:260px;border:2px dashed rgba(20,20,20,.4);border-radius:130px;pointer-events:none;animation:csd-spin 40s linear infinite;}
.csd-cta-band .csd-btn{position:relative;z-index:1;flex:0 0 auto;}
@keyframes csd-spin{to{transform:rotate(360deg);}}

/* =========================================================
   How it works (stepper + slider)
   ========================================================= */
.csd-steps{background:var(--csd-grey-bg);padding:var(--csd-section-y) 0;}
.csd-steps__title{width:672px;}
.csd-steps__intro{width:598px;}
.csd-stepper{position:relative;margin-top:60px;}
.csd-stepper__track{position:absolute;top:28px;left:10%;right:10%;height:3px;border-radius:1.5px;background:#d6d3d1;}
.csd-stepper__fill{display:block;height:100%;width:var(--csd-progress,0%);border-radius:1.5px;background:var(--csd-orange);transition:width .5s ease;}
.csd-stepper__list{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;}
.csd-stepper__btn{display:flex;flex-direction:column;align-items:center;gap:10px;min-height:114px;padding:0 4px;text-align:center;}
.csd-stepper__num{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border:2px solid #d6d3d1;border-radius:28px;background:#fff;font-family:var(--csd-roboto);font-weight:700;font-size:18px;line-height:22px;color:var(--csd-black);transition:background-color .3s ease,border-color .3s ease,color .3s ease,transform .3s ease;}
.csd-stepper__btn:hover .csd-stepper__num{transform:scale(1.06);}
.csd-stepper__btn.is-done .csd-stepper__num{background:var(--csd-black);border-color:var(--csd-black);color:#fff;}
.csd-stepper__btn.is-active .csd-stepper__num{background:var(--csd-orange);border-color:var(--csd-orange);color:var(--csd-black);}
.csd-stepper__when{display:block;font-family:var(--csd-dm);font-weight:700;font-size:12px;line-height:16px;letter-spacing:.96px;color:var(--csd-muted);}
.csd-stepper__name{display:block;margin-top:-10px;font-family:var(--csd-roboto);font-weight:700;font-size:18px;line-height:22px;color:var(--csd-black);}

.csd-step-card{position:relative;margin-top:60px;padding:32px;background:#fff;border-radius:30px;}
.csd-steps__swiper{overflow:hidden;}
.csd-steps__swiper .swiper-slide{background:#fff;}
.csd-step{display:flex;align-items:stretch;gap:40px;}
.csd-step__copy{display:flex;flex-direction:column;gap:16px;width:643px;flex:0 0 auto;padding-bottom:84px;}
.csd-step__eyebrow{font-family:var(--csd-dm);font-weight:700;font-size:14px;line-height:18px;letter-spacing:1.4px;color:var(--csd-orange);}
.csd-step__title{font-family:var(--csd-roboto);font-weight:700;font-size:56px;line-height:67px;letter-spacing:-2.24px;color:var(--csd-black);}
.csd-step__text{font-family:var(--csd-dm);font-weight:500;font-size:20px;line-height:30px;color:var(--csd-text);}
.csd-step__result{display:flex;flex-direction:column;justify-content:space-between;gap:24px;flex:1 1 auto;min-height:231px;padding:32px;border-radius:20px;background-color:var(--csd-orange);background-image:repeating-linear-gradient(172.6deg,rgba(255,255,255,.035) 0,rgba(255,255,255,.035) 6px,rgba(255,255,255,0) 6px,rgba(255,255,255,0) 30px);}
.csd-step__result-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:#fff;}
.csd-step__result-icon img{width:24px;height:24px;}
.csd-step__result-label{font-family:var(--csd-dm);font-weight:700;font-size:14px;line-height:18px;letter-spacing:1.4px;color:#fff;}
.csd-step__result-text{margin-top:9.8px;font-family:var(--csd-roboto);font-weight:700;font-size:28px;line-height:36.4px;color:#fff;}
.csd-step-card__nav{position:absolute;left:32px;bottom:32px;z-index:2;display:flex;gap:10px;}
.csd-pill-note{display:flex;align-items:center;gap:14px;width:max-content;max-width:100%;margin:32px auto 0;padding:16px 28px;background:var(--csd-black);border-radius:27.2px;font-family:var(--csd-dm);font-weight:600;font-size:16px;line-height:22.4px;color:#fff;}
.csd-pill-note img{width:22px;height:22px;flex:0 0 22px;}

/* =========================================================
   Why it is this fast
   ========================================================= */
.csd-why{background:#fff;padding:var(--csd-section-y) 0;}
.csd-why__head{display:flex;align-items:center;justify-content:space-between;gap:48px;}
.csd-why__intro{display:flex;flex-direction:column;align-items:flex-start;gap:22px;width:702px;}
.csd-terminal{position:relative;width:568px;flex:0 0 568px;height:238px;padding:45px 0 0;background:#1a1a1c;border:1px solid #2c2c30;border-radius:20px;overflow:hidden;}
.csd-terminal__dots{position:absolute;left:22px;top:22px;display:flex;gap:6px;}
.csd-terminal__dots span{width:10px;height:10px;border-radius:5px;background:#3a3a3f;}
.csd-terminal__dots span:first-child{background:var(--csd-orange);}
.csd-terminal__line{padding:0 22px;font-family:var(--csd-mono);font-weight:400;font-size:13px;line-height:24.7px;color:#8f8f95;white-space:nowrap;}
.csd-terminal__fn{color:#ff8a63;}
.csd-terminal__hidden{color:var(--csd-black);}
.csd-terminal__muted{color:#d4d4d4;}
.csd-terminal__line--hl{margin:6.6px 0 4.4px;padding:3.15px 22px 4.84px 25px;background:rgba(255,91,46,.18);border-left:3px solid var(--csd-black);color:#fff;}
.csd-terminal__cursor{display:inline-block;width:8px;height:15px;margin-left:4px;vertical-align:-2px;background:var(--csd-orange);animation:csd-blink 1s steps(1) infinite;}
.csd-why__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:60px;}
.csd-why__cards .csd-card{min-height:264px;}
.csd-why__cards .csd-card__title{line-height:1.172;}
.csd-why__cards .csd-card__text{margin-top:-8px;}
.csd-why__tech{margin-top:24px;padding:24px;background:var(--csd-grey-bg);border:1px solid var(--csd-border);border-radius:20px;font-family:var(--csd-dm);font-weight:500;font-size:18px;line-height:26px;color:var(--csd-text);}

/* =========================================================
   Zero disruption
   ========================================================= */
.csd-risk{background:var(--csd-grey-bg);padding:var(--csd-section-y) 0;}
.csd-risk__head{display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center;}
.csd-risk__head .csd-h2{max-width:986px;}
.csd-risk__cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:60px;}
.csd-risk__cards .csd-card{transition:transform .25s ease,box-shadow .25s ease;}
.csd-risk__cards .csd-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.06);}
.csd-risk__cards .csd-card > img,.csd-risk__cards .csd-icon-tile{width:58px;height:58px;margin-bottom:22px;}
.csd-risk__cards .csd-card__text{margin-top:8px;}
.csd-promise{position:relative;display:flex;align-items:center;gap:36px;min-height:294px;margin-top:16px;padding:43px 43px 45px;background:#fff;border:1px solid var(--csd-border);border-radius:30px;overflow:hidden;}
.csd-promise__icon{display:flex;align-items:center;justify-content:center;width:120px;height:120px;flex:0 0 120px;border:2px solid rgba(255,255,255,.6);border-radius:30px;background:var(--csd-orange);}
.csd-promise__icon img{width:52px;height:52px;}
.csd-promise__body{position:relative;z-index:1;}
.csd-promise__title{font-family:var(--csd-roboto);font-weight:700;font-size:42px;line-height:51px;letter-spacing:-.84px;color:var(--csd-black);}
.csd-promise__text{max-width:761px;margin-top:13.4px;font-family:var(--csd-dm);font-weight:400;font-size:17px;line-height:27.2px;color:var(--csd-text);}
.csd-promise__chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:20.56px;}
.csd-promise__chips li{display:flex;align-items:center;height:39px;padding:0 16px;border-radius:19.5px;background:var(--csd-grey-bg);font-family:var(--csd-dm);font-weight:600;font-size:15px;line-height:20px;color:var(--csd-black);white-space:nowrap;}
.csd-promise__chips span{margin-right:8px;font-weight:900;color:var(--csd-orange);}
.csd-promise__ring{position:absolute;left:1207px;top:-81px;width:320px;height:320px;border:31px solid var(--csd-orange);border-radius:160px;opacity:.1;pointer-events:none;}

/* =========================================================
   FAQ
   ========================================================= */
.csd-faq{background:#fff;padding:var(--csd-section-y) 0;}
.csd-faq__head{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;}
.csd-faq__title{width:821px;}
.csd-faq__mark{display:flex;align-items:center;justify-content:center;width:96px;height:96px;flex:0 0 96px;margin:22px 6px 0 0;align-self:flex-start;border-radius:26px;background:var(--csd-orange);font-family:var(--csd-roboto);font-weight:900;font-size:54px;line-height:96px;color:var(--csd-black);transform:rotate(-8deg);animation:csd-wobble 4s ease-in-out infinite;}
@keyframes csd-wobble{0%,100%{transform:rotate(-8deg);}50%{transform:rotate(-2deg) translateY(-4px);}}
.csd-faq__body{display:flex;align-items:flex-start;justify-content:space-between;gap:31px;margin-top:60px;}
.csd-faq__list{display:flex;flex-direction:column;gap:12px;width:637px;flex:0 0 auto;}
.csd-faq__q{display:flex;align-items:center;gap:16px;width:100%;padding:16px 20px;border-radius:16px;text-align:left;transition:background-color .25s ease,color .25s ease;}
.csd-faq__q:hover{background:var(--csd-grey-bg);}
.csd-faq__num{flex:0 0 15px;opacity:.8;font-family:var(--csd-roboto);font-weight:700;font-size:13px;line-height:15px;color:var(--csd-black);}
.csd-faq__q-text{flex:1 1 auto;font-family:var(--csd-dm);font-weight:600;font-size:16px;line-height:22.4px;color:var(--csd-black);}
.csd-faq__arrow{flex:0 0 auto;font-family:var(--csd-dm);font-weight:600;font-size:16px;line-height:22.4px;color:var(--csd-black);transition:transform .25s ease;}
.csd-faq__q:hover .csd-faq__arrow{transform:translateX(3px);}
.csd-page .csd-faq__q.is-active{background:var(--csd-orange);}
.csd-faq__q.is-active .csd-faq__num{color:#f2f2f2;}
.csd-faq__q.is-active .csd-faq__q-text{font-size:18px;color:#fff;}
.csd-faq__q.is-active .csd-faq__arrow{color:#fff;}
.csd-faq__panel{position:relative;display:flex;flex-direction:column;width:716px;min-height:420px;padding:88px 36px 36px;background:var(--csd-grey-bg);border-radius:20px;overflow:hidden;}
.csd-faq__big-num{position:absolute;top:10px;right:20px;font-family:var(--csd-roboto);font-weight:900;font-size:140px;line-height:140px;color:#e6e6e6;pointer-events:none;}
.csd-faq__bubble-q{position:relative;align-self:flex-end;max-width:88%;padding:15.67px 20px 16.32px;border-radius:20px 20px 6px 20px;background:var(--csd-black);font-family:var(--csd-roboto);font-weight:700;font-size:19px;line-height:25.65px;color:#fff;}
.csd-faq__answer{position:relative;display:flex;align-items:flex-end;gap:12px;max-width:606px;margin-top:29px;}
.csd-faq__avatar{display:flex;align-items:center;justify-content:center;width:54px;height:54px;flex:0 0 54px;border-radius:60px;background:#222;}
.csd-faq__avatar-logo{position:relative;width:38px;height:26px;}
.csd-page .csd-faq__avatar-part{position:absolute;width:auto;height:auto;max-width:none;}
.csd-faq__avatar-part--1{top:16.71%;right:55.46%;bottom:4.28%;left:2.2%;}
.csd-faq__avatar-part--2{top:16.36%;right:18.27%;bottom:2.7%;left:45.71%;}
.csd-faq__avatar-part--3{top:2.51%;right:.34%;bottom:72.48%;left:82.9%;}
.csd-faq__bubble-a{flex:1 1 auto;max-width:540.47px;padding:17.3px 22px 18.65px;border-radius:20px 20px 20px 6px;background:#fff;font-family:var(--csd-dm);font-weight:400;font-size:16px;line-height:26.4px;color:var(--csd-black);}
.csd-faq__panel.is-changing .csd-faq__bubble-q,
.csd-faq__panel.is-changing .csd-faq__answer,
.csd-faq__panel.is-changing .csd-faq__big-num{opacity:0;transform:translateY(10px);}
.csd-faq__bubble-q,.csd-faq__answer,.csd-faq__big-num{transition:opacity .3s ease,transform .3s ease;}
.csd-faq__answer{transition-delay:.08s;}

/* =========================================================
   Free audit form
   ========================================================= */
.csd-audit{background:#fafafa;padding:var(--csd-section-y) 0;}
.csd-audit__grid{display:flex;align-items:flex-start;justify-content:space-between;gap:48px;}
.csd-audit__intro{display:flex;flex-direction:column;align-items:flex-start;gap:22px;width:641px;flex:0 0 auto;}
.csd-audit__title{width:530px;max-width:100%;}
.csd-audit__talk{display:flex;align-items:center;gap:14px;width:100%;padding:20px 24px;background:var(--csd-black);border-radius:20px;font-family:var(--csd-dm);font-weight:400;font-size:16px;line-height:24px;color:#d4d4d4;white-space:nowrap;}
.csd-audit__talk img{width:26px;height:26px;flex:0 0 26px;}
.csd-audit__talk strong{font-weight:700;color:#fff;}
.csd-audit__talk a{font-weight:700;color:#ff5b2e;text-decoration: underline;}
.csd-page .csd-audit__talk a:hover,.csd-page .csd-audit__talk a:focus{color:#fff;}
.csd-form{display:flex;flex-direction:column;gap:16px;width:653px;flex:0 0 auto;padding:24px;background:#fff;border-radius:30px;filter:drop-shadow(0 40px 40px rgba(0,0,0,.45));}
.csd-form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.csd-form__field{display:flex;flex-direction:column;gap:8px;margin:0;}
.csd-form__label{font-family:var(--csd-dm);font-weight:500;font-size:15px;line-height:20px;color:var(--csd-black);}
.csd-form__label em{font-style:normal;font-weight:400;color:var(--csd-muted);}
.csd-form__input{width:100%;height:52px;padding:0 16px;background:#fff;border:1px solid rgba(138,138,138,.33);border-radius:14px;font-family:var(--csd-dm);font-weight:400;font-size:16px;line-height:19.2px;color:var(--csd-black);transition:border-color .2s ease,box-shadow .2s ease;}
.csd-form__input::placeholder{color:#757575;opacity:1;}
.csd-form__input:focus{outline:0;border-color:var(--csd-orange);box-shadow:0 0 0 3px rgba(255,91,46,.15);}
.csd-form__input.is-invalid{border-color:#d93025;}
.csd-form__upload{position:relative;display:flex;align-items:center;min-height:54px;padding:15px 17px;background:var(--csd-orange-soft);border:1px dashed var(--csd-orange);border-radius:14px;cursor:pointer;transition:background-color .2s ease;}
.csd-form__upload:hover,.csd-form__upload.is-dragover{background:#ffe7dc;}
.csd-form__file{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;}
.csd-form__file-name{overflow:hidden;font-family:var(--csd-dm);font-size:15px;line-height:22px;color:#757575;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;}
.csd-form__upload.has-files .csd-form__file-name{color:var(--csd-black);}
.csd-form__submit{display:inline-flex;align-items:center;justify-content:flex-end;gap:13px;align-self:flex-start;padding:12px 11px 12px 30px;border-radius:25px;background:var(--csd-orange);filter:drop-shadow(0 14px 27px rgba(255,91,46,.2));font-family:var(--csd-dm);font-weight:700;font-size:19px;line-height:22.8px;color:#fff;transition:background-color .2s ease,transform .2s ease;}
.csd-page .csd-form__submit{color:#fff;}
.csd-form__submit:hover{background:#f04d20;transform:translateY(-2px);}
.csd-form__submit-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:14px;background:#ff6f47;}
.csd-form__submit-icon img{width:14px;height:14px;}
.csd-form__status{display:none;font-family:var(--csd-dm);font-size:15px;line-height:20px;color:#d93025;}
.csd-form__status.is-visible{display:block;}
.csd-form__status.is-success{color:#1a7f37;}
.csd-form__note{margin-top:16px;font-family:var(--csd-dm);font-weight:400;font-size:14px;line-height:18px;letter-spacing:.28px;color:var(--csd-muted);text-align:center;}

/* =========================================================
   Footer
   ========================================================= */
.csd-footer{position:relative;min-height:536px;padding:78.75px 0 120px;background:#fff;overflow:hidden;}
.csd-footer__glow{position:absolute;left:-5px;top:124.27px;width:1920px;max-width:none;min-width:100%;height:674px;background:rgba(255,91,46,.1);filter:blur(90px);pointer-events:none;}
.csd-footer__wm{position:absolute;left:0;right:0;bottom:0;aspect-ratio:1920/536;pointer-events:none;}
.csd-page .csd-footer__wm img{position:absolute;width:auto;height:auto;max-width:none;}
.csd-footer__wm-n{top:31.75%;right:73.5%;bottom:-47.04%;left:1.06%;}
.csd-footer__wm-t{top:31.25%;right:51.16%;bottom:-49.34%;left:27.2%;}
.csd-footer__wm-l--1{top:65.89%;right:37.35%;bottom:-4.52%;left:53.86%;}
.csd-footer__wm-l--2{top:65.89%;right:32.41%;bottom:-4.52%;left:64.78%;}
.csd-footer__wm-l--3{top:65.89%;right:21.51%;bottom:-4.52%;left:69.7%;}
.csd-footer__wm-l--4{top:65.89%;right:11.23%;bottom:-5.06%;left:79.91%;}
.csd-footer__wm-l--5{top:65.89%;right:-.24%;bottom:-4.51%;left:89.64%;}
.csd-footer__inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:40px;}
.csd-logo--footer{margin-top:-18px;}
.csd-footer__nav{display:flex;flex-wrap:wrap;gap:8px 36px;}
.csd-footer__nav a{font-family:var(--csd-dm);font-weight:500;font-size:18px;line-height:24px;color:#222;white-space:nowrap;}
.csd-page .csd-footer__nav a:hover,.csd-page .csd-footer__nav a:focus{color:var(--csd-orange);}
.csd-footer__address{display:flex;flex-direction:column;gap:20px;width:354px;justify-self:end;}
.csd-footer__heading{font-family:var(--csd-roboto);font-weight:700;font-size:18px;line-height:20px;color:var(--csd-black);}
.csd-footer__addr{display:flex;align-items:flex-start;gap:24px;font-family:var(--csd-roboto);font-weight:400;font-size:16px;line-height:1.172;color:var(--csd-black);}
.csd-footer__addr img{width:32px;height:32px;flex:0 0 32px;object-fit:cover;}


/* ── Audit form rendered by Contact Form 7 (form picked in Theme Settings → Custom Software Form) ── */
/* CF7 wraps the <form class="csd-form"> in div.wpcf7; let the form stay the audit grid's flex item. */
.csd-audit__grid > .wpcf7{display:contents;}
/* CF7 wraps every field in span.wpcf7-form-control-wrap (position:relative) — keep fields full width and
   let the hidden file input still cover the whole upload box. */
.csd-form .wpcf7-form-control-wrap{display:block;}
.csd-form__upload .wpcf7-form-control-wrap{position:static;}
.csd-form .wpcf7-not-valid{border-color:#d93025;}
.csd-form .wpcf7-not-valid-tip{margin-top:6px;font-family:var(--csd-dm);font-size:14px;line-height:18px;color:#d93025;}
.csd-form .wpcf7-spinner{display:none;align-self:center;margin:0;}
.csd-form.submitting .wpcf7-spinner{display:inline-block;}
.csd-form .wpcf7-response-output{margin:0 !important;padding:10px 14px !important;border-radius:14px;font-family:var(--csd-dm);font-size:15px;line-height:20px;}
.csd-form br{display:none;}
/* CF7 auto-paragraphs wrap each field's label + input in a bare <p>; make it layout-transparent so the
   .csd-form__field / .csd-form__actions flex gap and alignment apply to the label, input and button. */
.wpcf7-form.csd-form div > p:not([class]){display:contents;}
/* Submit row (the button is wrapped in div.csd-form__actions in the CF7 form) keeps the button's
   own align-self rules for desktop/mobile; CF7 shows its own messages, so hide custom.js's one. */
.csd-form__actions{display:flex;flex-direction:column;gap:12px;}
.wpcf7-form.csd-form .csd-form__status{display:none !important;}
