/* ============================================================================
   SyncFlow landing redesign - design system + sections.
   Dark #232323 + lime #DBFF00→#b0ff00. Font: Manrope (Greek+Latin, self-hosted).
   Fixed 1920px Figma translated to a fluid, mobile-first layout.
   ========================================================================== */

:root{
  --bg:#232323; --bg-2:#1c1c1c; --panel:#2b2b2b;
  --ink:#ffffff; --muted:rgba(255,255,255,.64); --faint:rgba(255,255,255,.4);
  --a1:#dbff00; --a2:#b0ff00;
  --lime:linear-gradient(90deg,#dbff00,#b0ff00);
  --line:rgba(255,255,255,.12);
  /* Two content tiers, per varius/desktop.png at 1920: text sections sit in a
     1358px column (edge 281px); the hero panel, video frame, features and setup
     use a wider 1488px one (edge 216px). The nav sits between the two. */
  --maxw:1358px; --maxw-wide:1488px; --maxw-nav:1448px;
  --pad:clamp(20px,5vw,120px);
  --r:16px;
  font-family:'Manrope',-apple-system,'Segoe UI',system-ui,Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
* {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-focus-ring-color: transparent;
  outline: none;
}

/* Restore focus outline for keyboard users (accessibility) */
*:focus-visible {
  outline: 2px solid #0066cc;
  outline-offset: 2px;
}
html{scroll-behavior:smooth;scroll-padding-top:104px}
body{background:var(--bg);color:var(--ink);font-family:'Manrope',-apple-system,'Segoe UI',system-ui,Arial,sans-serif;line-height:1.4;overflow-x:hidden;-webkit-font-smoothing:antialiased}
::selection{background:var(--a2);color:#111}
::-moz-selection{background:var(--a2);color:#111}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
/* --bleed = distance from this wrap's content edge out to the viewport edge, so a
   child can escape the wrap and run to the screen edge. It derives from --maxw,
   which .rd-wrap--wide re-declares locally - so the wide tier recomputes it. */
.rd-wrap{--bleed:calc((100vw - min(calc(var(--maxw) + 2 * var(--pad)),100vw)) / 2 + var(--pad));
  max-width:calc(var(--maxw) + 2 * var(--pad));margin:0 auto;padding-inline:var(--pad)}
.rd-wrap--wide{--maxw:var(--maxw-wide)}

/* ---- Typography helpers ---- */
/* Light base so <b> in the lang strings can carry the design's weight rhythm.
   Measured off desktop.png: 42px cap (~58px type) on an 830px measure with
   99px baseline-to-baseline - i.e. the size was already right; the gap was the
   measure (was 640) and the leading (was 1.05). */
.rd-h1{font-weight:300;font-size:clamp(34px,5.6vw,60px);line-height:1.4;letter-spacing:-.01em}
.rd-h2{font-weight:300;font-size:clamp(30px,4.6vw,54px);line-height:1.12}
.rd-h2 b,.rd-h1 b{font-weight:700}
.rd-lead{font-weight:400;font-size:clamp(17px,2.1vw,24px);color:var(--muted);line-height:1.4}
.rd-eyebrow{display:inline-flex;width:fit-content;max-width:max-content;gap:8px;align-items:center;padding:8px 16px;border-radius:8px;background:rgba(255,255,255,.14);backdrop-filter:blur(20px);font-weight:800;font-size:14px;letter-spacing:.06em;text-transform:uppercase}
.rd-eyebrow::before{content:"";width:12px;height:12px;background:var(--lime);flex:0 0 auto}





/* ---- Lime pill button (black text + white arrow circle) ---- */
.rd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  
  /* Layer 1 (Top): White sliding fill. Layer 2 (Bottom): Lime variable */
  background-image: linear-gradient(to right, #fff 50%, transparent 50%), var(--lime);
  background-size: 210% 100%, 100% 100%;
  background-position: 100% center, 0 0;
  background-repeat: no-repeat;
  
  color: #000;
  font-weight: 600;
  font-size: clamp(15px, 1.4vw, 18px);
  padding: 11px 12px 11px 24px;
  border-radius: 999px;
  border: 0;
  cursor: pointer;
  transition: all 0.3s ease;
  white-space: nowrap;
}

.rd-btn:hover {
  background-position: 0% center, 0 0;
  box-shadow: 0 0 44px rgba(187, 255, 0, .45);
}

.rd-btn:active {
  transform: scale(.99);
}

.rd-btn__arrow {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #fff; /* Explicitly use background-color */
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  transition: background-color 0.4s ease-in-out;
}

.rd-btn:hover .rd-btn__arrow {
  background-color: var(--a1); /* Solid green from your :root */
}

.rd-btn__arrow svg {
  width: 12px;
  height: 12px;
}

/* Modifiers */
.rd-btn--light {
  background-image: none;
  background-color: #fff;
  color: #000;
}

.rd-btn--light .rd-btn__arrow {
  background: var(--lime);
}

.rd-btn--ghost {
  background-image: none;
  background-color: transparent;
  color: #fff;
  box-shadow: inset 0 0 0 1.5px var(--line);
}

.rd-btn--ghost .rd-btn__arrow {
  background-color: rgba(255, 255, 255, .12);
}

.rd-btn--ghost .rd-btn__arrow svg path {
  stroke: #fff;
}






.rd-section{padding-block:clamp(56px,8vw,120px)}
.rd-center{text-align:center}

/* ---- de-inlined + accent helpers (no inline styles) ---- */
.rd-accent{color:var(--a1)}
.rd-lead--light{color:#fff}
.rd-hp{position:absolute;left:-9999px}
.rd-feat__split{margin-top:0}
.rd-why__title{margin-top:20px;max-width:900px}
.rd-why__cta{margin-top:36px;text-align:center}
.rd-steps__title{margin:20px 0 40px;max-width:640px}
.rd-steps__cta{margin-top:40px}
.rd-hw__top h3{margin-top:10px}
.rd-hw__top p{margin-top:6px}
.rd-plan__price--sm{font-size:24px}

/* ============================== FAQ ================================= */
.rd-faq__grid{display:grid;grid-template-columns:minmax(280px,1fr) 1.55fr;gap:clamp(28px,5vw,72px);align-items:start}
.rd-faq__head{position:sticky;top:120px}
.rd-faq__title{margin:18px 0 14px}
.rd-faq__sub{margin-bottom:26px;max-width:34ch}
.rd-faq__list{border-top:1px solid var(--line)}
.rd-faq__item{border-bottom:1px solid var(--line)}
.rd-faq__qh{margin:0;font-size:inherit;font-weight:inherit}
.rd-faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;
  background:none;border:0;color:#fff;cursor:pointer;text-align:left;font-family:inherit;
  font-size:clamp(16px,1.55vw,19px);font-weight:600;line-height:1.4;padding:22px 4px;
  transition:color .2s ease,padding-left .25s cubic-bezier(.22,.61,.36,1)}
.rd-faq__q:hover{color:var(--a1)}
.rd-faq__q:hover,.rd-faq__item.is-open .rd-faq__q{padding-left:10px}
.rd-faq__item.is-open .rd-faq__q{color:var(--a1)}
/* Plus that rotates into a minus */
.rd-faq__ic{position:relative;width:26px;height:26px;flex:0 0 auto;border-radius:50%;
  background:rgba(255,255,255,.08);display:grid;place-items:center;
  transition:background .25s ease,transform .45s cubic-bezier(.22,.61,.36,1)}
.rd-faq__ic i{position:absolute;left:50%;top:50%;width:11px;height:1.8px;border-radius:2px;background:currentColor;
  transform:translate(-50%,-50%);transition:transform .45s cubic-bezier(.22,.61,.36,1),opacity .3s ease}
.rd-faq__ic i:last-child{transform:translate(-50%,-50%) rotate(90deg)}
.rd-faq__item.is-open .rd-faq__ic{background:rgba(219,255,0,.18);transform:rotate(180deg)}
.rd-faq__item.is-open .rd-faq__ic i:last-child{transform:translate(-50%,-50%) rotate(0);opacity:0}
/* Answer: height animates from a JS-measured px value, so it works with any
   content length; the inner block eases in slightly later for a layered feel. */
.rd-faq__a{overflow:hidden;height:0;transition:height .42s cubic-bezier(.22,.61,.36,1)}
.rd-faq__a[hidden]{display:block}          /* keep it animatable; JS toggles [hidden] for a11y */
.rd-faq__a-in{padding:0 46px 24px 4px;color:var(--muted);font-size:clamp(15px,1.35vw,17px);line-height:1.6;
  opacity:0;transform:translateY(-8px);transition:opacity .3s ease .06s,transform .38s cubic-bezier(.22,.61,.36,1) .06s}
.rd-faq__item.is-open .rd-faq__a-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .rd-faq__a,.rd-faq__a-in,.rd-faq__ic,.rd-faq__ic i,.rd-faq__q{transition:none}
}

/* ============================== NAV ================================= */
.rd-skip{position:fixed;left:16px;top:-80px;z-index:200;background:#fff;color:#000;padding:12px 20px;border-radius:10px;font-weight:600;box-shadow:0 8px 30px rgba(0,0,0,.3);transition:top .2s ease}
.rd-skip:focus{top:16px;outline:2px solid var(--a1);outline-offset:2px}
.rd-nav{position:fixed;top:32px;left:0;right:0;z-index:100;padding-inline:var(--pad);transition:top .25s ease}
.rd-nav.rd-scrolled{top:10px}
.rd-nav__bar{max-width:var(--maxw-nav);margin:0 auto;height:72px;border-radius:100px;background:rgba(20,20,20,.32);backdrop-filter:blur(30px) saturate(1.2);-webkit-backdrop-filter:blur(30px) saturate(1.2);box-shadow:0 8px 30px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 28px;gap:20px;transition:background .25s ease,box-shadow .25s ease}
.rd-nav__logo{z-index: 1;}
.rd-nav__logo img{height:34px;width:auto}
.rd-nav__links{display:flex;gap:30px;align-items:center}
.rd-nav__links a.rd-btn{display: none;}
.rd-nav__links a{font-weight:500;font-size:17px;color:#fff;opacity:.9}
.rd-nav__links a:hover{opacity:1}
.rd-nav__right{display:flex;gap:14px;align-items:center; z-index: 1;}
/* Language switcher: same pill shape as the monthly/annual toggle, but the
   selected state is a subtle light fill rather than lime (lime is reserved for
   the primary CTA and the billing switch). */
.rd-lang{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px}
.rd-lang a{font-weight:600;font-size:13px;letter-spacing:.3px;line-height:1;padding:6px 12px;border-radius:999px;color:var(--muted);text-decoration:none;transition:color .15s,background .15s}
.rd-lang a:hover{color:#fff}
.rd-lang a.on{background:rgba(255,255,255,.14);color:#fff}
.rd-nav__login{font-weight:500;font-size:16px;opacity:.9;display:inline-flex;align-items:center;gap:7px}
.rd-nav__login svg{width:17px;height:17px;flex:0 0 auto}
.rd-nav__login-m{display:none}   /* burger-menu login: shown only in the mobile nav */
.rd-nav__toggle{display:none;background:transparent;border:0;cursor:pointer;width:44px;height:44px;border-radius:12px}
.rd-nav__toggle span{display:block;width:22px;height:2px;background:#fff;margin:5.5px auto;transition:.2s}
body.rd-nav-open{overflow:hidden}

/* ============================== HERO ================================ */
/* two-stop ramp fitted to desktop.png - it peaks at the hero/#how seam on a dark
   olive; the page carries no background green brighter than rgb(91,107,23). */
.rd-hero{position:relative;background:linear-gradient(180deg, #232323 0%, rgb(94 110 28) 100%);padding:20px var(--pad) 0;overflow:hidden}
.rd-hero__glow{position:absolute;top:-6%;right:-5%;width:60vw;height:60vw;max-width:900px;max-height:900px;border-radius:50%;background:radial-gradient(circle,rgba(187,255,0,.26),transparent 62%);pointer-events:none;z-index:0}
/* neutral frost, strongest at the top, dissolving into the gradient at the base */
.rd-hero__panel{position:relative;z-index:1;overflow:hidden;max-width:var(--maxw-wide);margin:0 auto clamp(48px,8vw,96px);border-radius:clamp(20px,3vw,32px);background:linear-gradient(180deg,rgba(255,255,255,.15) 0%,rgba(255,255,255,.05) 55%,rgba(0,0,0,.05) 100%);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.09);padding:150px clamp(20px,4vw,52px) 0}
/* the S is a full-height backdrop behind the devices, not a corner mark */
.rd-hero__panel::before{content:"";position:absolute;right:0;top:0;width:min(61%,900px);height:100%;background:url('assets/redesign/hero-s.webp') center/contain no-repeat;pointer-events:none;z-index:0; background-position: center right;}
/* At 1920 the panel's inner box is 1384: copy 822 + media 562. The media box is
   the hand's box; margin-right pulls it in so the TV's overhang lands 27px inside
   the panel edge instead of being cut by its overflow:hidden. */
.rd-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.46fr 1fr;gap:0;align-items:center}
.rd-hero__copy{display:flex;flex-direction:column;gap:28px;max-width:831px}
.rd-hero__media{position:relative;height:clamp(430px,46vw,861px);aspect-ratio:517/861;justify-self:end;max-width:100%;margin-right:clamp(0px,2.4vw,45px)}
.rd-hero__phone{position:absolute;left:0;bottom:0;height:100%;width:auto;max-width:none;filter:drop-shadow(0 26px 52px rgba(0,0,0,.5));z-index:2}
.rd-hero__tv{position:absolute;right:-13.5%;top:-3.25%;height:78.3%;width:auto;max-width:none;filter:drop-shadow(0 22px 44px rgba(0,0,0,.45));z-index:1}
.rd-badge-float{position:absolute;z-index:3;display:inline-flex;gap:9px;align-items:center;padding:11px 16px;border-radius:14px;background:rgba(0,0,0,.4);backdrop-filter:blur(16px);box-shadow:0 8px 26px rgba(0,0,0,.3);font-weight:500;font-size:15px;white-space:nowrap}
.rd-badge-float .dot{width:30px;height:30px;border-radius:50%;background:var(--lime);display:grid;place-items:center;flex:0 0 auto}
.rd-badge-float .dot svg{width:15px;height:15px}
/* --a floats clear of the phone (design: ~23px gap, level with the screen header) */
.rd-badge-float--a{top:10%;left:-17%}
.rd-badge-float--b{bottom:16%;right:-11%}

/* full-bleed office image under hero */
/* .rd-strip removed - office band not in redesign.png */

/* ========================= VIDEO ("In the Wild") =================== */
/* subtle green top-fade continuing down from the hero */
#how{background:linear-gradient(180deg,rgb(94 110 28) 0%,#232323 255px)}
.rd-video__head{display:flex;flex-direction:column;align-items:center;gap:20px;margin-bottom:40px}
.rd-video__frame{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:16/8.6;background:#111}
.rd-video__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:1}
.rd-video__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;transition:opacity .5s}
.rd-video__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;width:84px;height:84px;border-radius:50%;border:0;background:var(--lime);display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 40px rgba(0,0,0,.45);transition:opacity .5s,transform .2s}
.rd-video__play:hover{transform:translate(-50%,-50%) scale(1.07)}
.rd-video__play svg{width:32px;height:32px;margin-left:5px}
.rd-video--playing .rd-video__poster,.rd-video--playing .rd-video__play{opacity:0;pointer-events:none}

/* ===================== TRUSTED-BY logos ============================ */
#trusted.rd-section{padding-top:50px; padding-bottom: 10px;}
.rd-trust{display:flex;flex-direction:column;align-items:center;gap:30px}
.rd-trust__title{font-size:clamp(22px,3vw,32px);font-weight:400}
.rd-trust__carousel{width:100%;max-width:100%}
.rd-trust__slide{display:flex;align-items:center;justify-content:center;height:56px;padding:0 34px}
.rd-trust__carousel img{height:38px;width:auto;opacity:.7;filter:brightness(0) invert(1)}

/* ===================== FEATURES (carousel) ======================== */
.rd-split{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:start}
#features{background:#232323;overflow:hidden}
/* Intro panel + card carousel are equal-height siblings; the carousel column
   escapes the wrap so the next card is sliced by the viewport edge. */
.rd-feat__split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:17px;align-items:start}
.rd-feat__panel{border-radius:6px;background:var(--panel);padding:clamp(28px,3.4vw,52px);display:flex;align-items:center}
/* match the card height exactly so the panel and card 1 align top and bottom */
@media(min-width:1025px){.rd-feat__panel{height:clamp(430px,46vw,640px)}}
.rd-feat__intro{display:flex;flex-direction:column;gap:28px;max-width:520px}
.rd-feat__cards{min-width:0;margin-right:calc(-1 * var(--bleed))}
.rd-feat-card{width:clamp(280px,23vw,440px);height:clamp(430px,46vw,640px);margin-right:17px;border-radius:6px;overflow:hidden;background:#323232}
/* same slick display-specificity trap as .rd-why-card - the card IS the slide */
.rd-feat__carousel .rd-feat-card{display:flex;flex-direction:column}
/* height:% (not flex-basis:%) - a percentage flex-basis here resolves against the
   photo's intrinsic size instead of the card, which pushes the body out of view */
.rd-feat-card__media{position:relative;flex:none;height:70.4%;min-height:0;overflow:hidden}
.rd-feat-card__img{width:100%;height:100%;object-fit:cover}
.rd-feat-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 46%,rgba(219,255,0,.34));pointer-events:none}
.rd-feat-card__body{flex:1;min-height:0;padding:20px 22px;display:flex;flex-direction:column;gap:10px}
.rd-feat-card__t{font-size:clamp(20px,1.7vw,26px);font-weight:400;line-height:1.15;color:#fff}
.rd-feat-card__d{font-size:clamp(13px,1vw,15px);color:var(--muted);line-height:1.45}
/* bare chevrons (no button chrome): prev at the carousel's left, next at the screen edge */
.rd-feat__nav{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding-right:clamp(16px,2vw,27px)}
.rd-feat__arrow{border:0;background:transparent;padding:0;cursor:pointer;width:26px;height:26px;color:var(--a1);transition:opacity .2s ease,transform .2s ease}
.rd-feat__arrow svg{width:100%;height:100%;display:block}
.rd-feat__arrow:hover{transform:scale(1.15)}
.rd-feat__arrow.slick-disabled{color:rgba(255,255,255,.28);cursor:default;transform:none}

/* ===================== WHY (3 cards + progress) =================== */
.rd-why__carousel{margin-top:44px}
/* card track runs the full viewport width; the progress bar stays in the wrap */
@media(min-width:1025px){.rd-why__carousel{margin-inline:calc(-1 * var(--bleed))}}
.rd-why__carousel .slick-track{display:flex}
.rd-why__carousel .slick-slide{height:auto}
.rd-why-card{background:rgba(255,255,255,.06);border-radius:16px;padding:36px 28px;margin:0 12px;height:100%;position:relative;overflow:hidden;isolation:isolate}
/* The card IS the slick slide, so `.slick-initialized .slick-slide{display:block}`
   (0,2,0) outranks a bare `.rd-why-card{display:flex}` (0,1,0) and the gap goes
   inert. Match its specificity. gap sets title → rule → body (design ~31/37px). */
.rd-why__carousel .rd-why-card{display:flex;flex-direction:column;gap:34px}
/* Material Symbols - self-hosted 3-glyph subset (apps / auto_awesome / settings), 1.7KB */
@font-face{font-family:'Material Symbols Outlined';font-style:normal;font-weight:400;font-display:block;src:url('fonts/material-symbols-subset.woff2?v=2') format('woff2')}
.material-symbols-outlined{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:'liga';-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased}
.rd-why-card__motif{position:absolute;top:-16px;right:-16px;font-size:clamp(112px,13vw,160px);line-height:1;color:rgba(216,255,0,.11);pointer-events:none;z-index:-1}
.rd-why-card h3{font-size:clamp(22px,2.2vw,30px);font-weight:500;line-height:1.15}
.rd-why-card .rule{width:120px;height:1px;background:rgba(255,255,255,.2)}
.rd-why-card p{font-size:clamp(16px,1.7vw,22px);color:#e6e6e6;line-height:1.4}
.rd-why__slider{position:relative;height:8px;border-radius:999px;background:rgba(255,255,255,.12);margin-top:40px;cursor:pointer}
.rd-why__slider i{position:absolute;top:0;left:0;height:100%;border-radius:999px;background:var(--lime);transition:left .4s ease,width .4s ease}

/* ===================== BRAIN (light-grey section) ================ */
/* Neutral light-grey field carrying a tone-on-tone S watermark (#E2E2E2 base,
   #D8D8D8 ink - a ~4% step). rotated-s-grey.webp is the neutral-ink variant of
   rotated-s-bg.webp; the lime original can't multiply to a neutral tone. */
.rd-brain{background:url('assets/redesign/rotated-s-grey.webp') center/cover no-repeat,#e2e2e2;color:#000;text-align:center;overflow:hidden;position:relative;min-height:650px;display:flex;align-items:center}
/* Rotating headline: words fly in on a 3D tilt, staggered, and leave upward.
   min-height keeps the section from jumping as phrase lengths change. */
.rd-brain__sub{font-size:clamp(20px,2.6vw,32px);max-width:760px;margin:0 auto 40px;min-height:3em;perspective:900px;transform-style:preserve-3d}
.rd-brain__sub .rw{display:inline-block;will-change:transform,opacity}
.rd-brain__sub.is-in .rw{animation:rdWordIn .62s cubic-bezier(.2,.8,.25,1) both}
.rd-brain__sub.is-out .rw{animation:rdWordOut .34s cubic-bezier(.5,0,.75,0) both}
@keyframes rdWordIn{
  0%{opacity:0;transform:translate3d(0,26px,-60px) rotateX(-75deg) scale(.94);filter:blur(3px)}
  60%{opacity:1;filter:blur(0)}
  100%{opacity:1;transform:none;filter:blur(0)}
}
@keyframes rdWordOut{
  0%{opacity:1;transform:none}
  100%{opacity:0;transform:translate3d(0,-20px,-40px) rotateX(55deg) scale(.97);filter:blur(2px)}
}
@media(prefers-reduced-motion:reduce){
  .rd-brain__sub.is-in .rw,.rd-brain__sub.is-out .rw{animation:none;opacity:1;transform:none;filter:none}
}
.rd-brain__line{display:flex;flex-wrap:wrap;gap:16px 22px;align-items:center;justify-content:center;font-weight:300;font-size:clamp(38px,7vw,96px);line-height:1.05}
.rd-brain__line b{font-weight:700}
.rd-brain__line img.logo{height:.72em;width:auto;filter:brightness(0)}
/* inline photos set into the headline, sized in em so they track the type scale */
.rd-brain__pic{border-radius:12px;object-fit:cover;width:auto;box-shadow:0 10px 26px rgba(0,0,0,.18)}
.rd-brain__pic--a{height:1.32em}
.rd-brain__pic--b{height:.72em}
.rd-brain__pic--c{height:.5em}
.rd-brain__badge{position:absolute;display:inline-flex;gap:8px;align-items:center;padding:10px 15px;border-radius:12px;background:rgba(0,0,0,.35);backdrop-filter:blur(14px);color:#fff;font-size:15px;font-weight:500}
.rd-brain__badge .dot{width:28px;height:28px;border-radius:50%;background:#c1da64;display:grid;place-items:center;flex:0 0 auto}
.rd-brain__badge .dot svg{width:13px;height:13px}
.rd-brain__badge--a{top:14%;left:4%;transform:rotate(-15deg)}
.rd-brain__badge--b{bottom:16%;right:5%;transform:rotate(30deg)}

/* ===================== DESIGNED-FOR (static grid) =============== */
.rd-df__head{display:flex;flex-direction:column;gap:20px;margin-bottom:40px}
.rd-df__title{font-size:clamp(30px,4vw,64px);font-weight:500}
.rd-df__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rd-df-card{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:44/30;cursor:pointer}
.rd-df-card__more{display:none}

/* ---- Designed-for modal ---- */
.rd-df-modal[hidden]{display:none}
.rd-df-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:clamp(16px,4vw,48px)}
.rd-df-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.rd-df-modal__dialog{position:relative;z-index:1;width:min(660px,100%);max-height:calc(100vh - clamp(32px,8vw,96px));display:flex;flex-direction:column;overflow:hidden;background:var(--panel);border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.55);animation:rd-modal-in .28s cubic-bezier(.22,.61,.36,1) both}
.rd-df-modal__img{width:100%;height:25vh;max-height:25vh;object-fit:cover;object-position:center;flex-shrink:0}
.rd-df-modal__t{font-size:clamp(24px,2.6vw,32px);font-weight:500;line-height:1.2;padding:26px clamp(22px,3vw,34px) 0;flex-shrink:0}
.rd-df-modal__body{padding:16px clamp(22px,3vw,34px) clamp(26px,3vw,34px);display:flex;flex-direction:column;gap:14px;overflow-y:auto;flex:1 1 auto;min-height:0}
.rd-df-modal__body p{font-size:clamp(15px,1.3vw,17px);line-height:1.55;color:var(--muted)}
.rd-df-modal__body p.rd-dfm__tag{font-size:clamp(17px,1.5vw,20px);font-weight:700;color:var(--ink);line-height:1.35}
.rd-dfm__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.rd-dfm__list li{display:flex;gap:11px;align-items:flex-start;font-size:clamp(14px,1.25vw,16px);line-height:1.5;color:var(--muted)}
.rd-dfm__check{flex:0 0 auto;color:var(--a1);font-size:20px;line-height:1.5}
.rd-df-modal__x{position:absolute;top:14px;right:14px;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:rgba(0,0,0,.55);backdrop-filter:blur(10px);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .2s ease,transform .2s ease}
.rd-df-modal__x:hover{background:rgba(0,0,0,.8);transform:scale(1.08)}
.rd-df-modal__x svg{width:15px;height:15px}
body.rd-modal-open{overflow:hidden}
@keyframes rd-modal-in{from{opacity:0;transform:translateY(14px) scale(.98)}}
@media (prefers-reduced-motion:reduce){.rd-df-modal__dialog{animation:none}}
.rd-df-card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rd-df-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(146,171,7,.38),rgba(34,42,2,.66));pointer-events:none;z-index:1}
.rd-df-card__cap{position:absolute;left:24px;bottom:22px;right:64px;z-index:2;font-size:clamp(16px,1.8vw,24px);font-weight:500;color:#fff;line-height:1.2}
.rd-df-card__arrow{position:absolute;right:22px;bottom:22px;z-index:2;width:32px;height:32px}
.rd-df-card__arrow svg{width:100%;height:100%}

/* ===================== STEPS (numbered carousel) =============== */
.rd-step{margin:0 10px;border-radius:20px;overflow:hidden;background:#eaeaea;color:#232323;height:clamp(380px,44vw,470px);position:relative}
.rd-step__img{position:absolute;right:0;top:0;width:74%;aspect-ratio:790/707;object-fit:cover;object-position:top right}
/* SyncFlow "S" cover over each step photo - same box + aspect ratio as the S asset */
.rd-step::after{content:"";position:absolute;right:0;top:0;width:calc(74% + 1px);aspect-ratio:790/707;background:url('assets/redesign/s-inverted-final.webp') top right/100% 100% no-repeat;pointer-events:none;z-index:2}
.rd-step__n{position:absolute;left:28px;bottom:94px;font-weight:300;font-size:clamp(50px,6vw,68px);color:rgba(35,35,35,.2);line-height:.9}
.rd-step__t{position:absolute;left:28px;right:26px;bottom:26px;font-size:clamp(20px,2.3vw,28px);font-weight:500;line-height:1.15;color:#232323}

/* ===================== SETUP BOX (carousel) ==================== */
/* Panel fill is a vertical ramp that starts at the page colour (so its top edge
   is invisible) and resolves to saturated lime at the crisp bottom corners.
   The bloom (::before) paints OVER the panel's dark upper half and spills past
   both flanks onto the page - hence no overflow:hidden, and content at z-index:2. */
.rd-setup{position:relative;border-radius:clamp(24px,3vw,32px);background:linear-gradient(180deg,#232323 0%,#232323 47%,#7e9212 74%,#899f0f 79%,#98af0d 84%,#a8c20a 89%,#bcda07 94%,#d7fa01 100%);padding:clamp(20px,3vw,40px) 0 clamp(88px,8vw,132px)}
/* Blob: four overlapping circles fused by a blur - organic rather than one flat
   ellipse. Paints OVER the panel's dark half and spills to both screen edges. */
/* Two oval blobs: left starts off-screen (12 - 30 = -18vw) and rides higher,
   right sits lower and runs past the right edge (85 + 35 = 120vw). */
.rd-setup::before{content:"";position:absolute;left:calc(-1 * var(--bleed));right:calc(-1 * var(--bleed));top:0%;height:80%;z-index:1;pointer-events:none;filter:blur(48px);background:
  radial-gradient(ellipse 30vw 22vw at 12% 50%,rgba(150,190,14,.8) 0,rgba(150,190,14,0) 100%),
  radial-gradient(ellipse 35vw 28vw at 85% 80%,rgba(150,190,14,.8) 0,rgba(150,190,14,0) 100%)}
.rd-setup__head{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;max-width:720px;margin:0 auto clamp(28px,4vw,46px)}
.rd-setup__carousel{min-width:0;position:relative;z-index:2}
/* round prev/next at the panel's bottom-right: ghost disc + solid disc */
.rd-setup__nav{position:absolute;z-index:3;right:clamp(20px,3vw,43px);bottom:clamp(20px,3vw,47px);display:flex;gap:16px}
.rd-setup__arrow{width:clamp(44px,3.4vw,60px);height:clamp(44px,3.4vw,60px);border:0;border-radius:50%;cursor:pointer;display:grid;place-items:center;transition:transform .2s ease,background .2s ease}
.rd-setup__arrow svg{width:38%;height:38%;display:block}
.rd-setup__arrow:hover{transform:scale(1.08)}
.rd-setup__arrow--prev{background:rgba(0,0,0,.2);color:#fff}
.rd-setup__arrow--prev:hover{background:rgba(0,0,0,.3)}
.rd-setup__arrow--next{background:rgba(0,0,0,.96);color:var(--a1)}
.rd-setup__carousel .rd-setup__slide{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:clamp(30px,5vw,60px) clamp(24px,5vw,90px) clamp(20px,3vw,36px)}
.rd-setup__phone{border-radius:16px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.14);width:min(420px,90%);margin:0 auto}
.rd-setup__step .n{font-weight:300;font-size:clamp(90px,12vw,167px);color:rgba(255,255,255,.16);line-height:.9}
.rd-setup__step h3{font-size:clamp(26px,3vw,36px);font-weight:500;margin:6px 0 18px;color:#fff}
.rd-setup__step p{font-size:clamp(17px,1.9vw,24px);color:rgba(255,255,255,.72)}

/* ===================== PRICING ================================ */
.rd-price__head{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;margin-bottom:44px}
.rd-billing{display:inline-flex;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:999px;padding:5px;margin-top:6px}
.rd-billing button{border:0;background:transparent;color:var(--muted);font-weight:600;font-size:15px;padding:9px 20px;border-radius:999px;cursor:pointer}
.rd-billing button.on{background:var(--lime);color:#000}
.rd-price__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1180px;margin:0 auto}
.rd-plan{position:relative;border-radius:16px;padding:30px 26px;display:flex;flex-direction:column;gap:20px}
.rd-plan--basic{background:#eaeaea;color:#000}
.rd-plan--premium{background:#eaeaea;color:#000;box-shadow:0 0 44px rgba(187,255,0,.45)}
.rd-plan--ent{background:#eaeaea;color:#000}
/* "Most Popular" straddles the top edge of the Team card - centred, half in,
   half out, fully rounded. The card needs no extra padding because the badge is
   pulled up out of the flow. */
.rd-plan__tag{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background:#232323;color:#fff;font-weight:800;font-size:13px;letter-spacing:.3px;white-space:nowrap;padding:8px 20px;border-radius:999px;box-shadow:0 4px 14px rgba(0,0,0,.28);z-index:2}
.rd-plan__name{font-weight:600;font-size:30px}
.rd-plan__desc{font-size:14px;line-height:1.45;opacity:.7}
.rd-plan__price{font-weight:900;font-size:32px;margin-top:6px}
.rd-plan__price small{font-size:15px;font-weight:400;opacity:.6}
.rd-plan__sub{font-size:13px;opacity:.55}
.rd-plan__perks{display:flex;flex-direction:column;gap:10px;margin-top:4px;flex:1}
.rd-perk{display:flex;gap:9px;align-items:flex-start;font-size:14px;line-height:1.35}
/* Lime tick on a dark disc - the glyph inherits #000 from its own fill, so the
   disc must stay dark and the mark itself is what turns lime. */
.rd-perk i{width:16px;height:16px;border-radius:50%;background:#000;display:grid;place-items:center;flex:0 0 auto;margin-top:1px}
/* NB: --lime is a linear-gradient, which is invalid for `fill` (it silently
   falls back to black). Use the solid lime hex here. */
.rd-perk i svg{width:9px;height:8px;fill:#dbff00}
.rd-perk i svg path{fill:#dbff00}
.rd-plan .rd-btn{width:100%;justify-content:center}

.rd-hw__divider{display:flex;align-items:center;gap:24px;max-width:1180px;margin:56px auto 24px}
.rd-hw__divider span{font-weight:700;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--faint);white-space:nowrap}
.rd-hw__divider .l{flex:1;height:1px;background:var(--line)}
.rd-hw__grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1180px;margin:0 auto}
.rd-hw{background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.09);border-radius:16px;padding:32px;display:flex;flex-direction:column;gap:18px}
.rd-hw__top{display:flex;justify-content:space-between;gap:18px}
.rd-hw h3{font-size:26px;font-weight:600}
.rd-hw__badge{display:inline-flex;gap:6px;align-items:center;padding:4px 10px;border-radius:6px;background:rgba(187,255,0,.12);color:var(--a2);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;width:fit-content}
.rd-hw__badge .d{width:6px;height:6px;border-radius:50%;background:var(--a2)}
.rd-hw p{font-size:14px;color:var(--muted);line-height:1.45}
.rd-hw__list{display:flex;flex-direction:column;gap:7px}
.rd-hw__list li{list-style:none;display:flex;gap:8px;align-items:center;font-size:13px;color:var(--muted)}
.rd-hw__list li::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--faint)}
.rd-hw__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.rd-hw__price{font-weight:900;font-size:34px}
.rd-hw__price small{font-size:14px;font-weight:400;color:var(--faint)}
.rd-hw__rows{display:flex;flex-direction:column;gap:6px}
.rd-hw__row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-radius:10px;background:rgba(255,255,255,.06);font-size:14px;color:var(--muted)}
.rd-hw__row b{color:#fff;font-size:18px}
.rd-hw__mounts{display:flex;gap:8px}
.rd-hw__mount{flex:1;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.06);text-align:center}
.rd-hw__mount span{display:block;font-size:12px;color:var(--faint)}
.rd-hw__mount b{font-size:20px}

/* ===================== CONTACT + FOOTER ======================= */
.rd-outro{background:linear-gradient(0deg,rgb(66,81,3) 0%,rgb(58,69,12) 22%,#232323 60%);padding-bottom:clamp(28px,5vw,56px)}
.rd-contact{background:transparent;padding-bottom:0}
.rd-contact__grid{display:grid;grid-template-columns:1fr 1.28fr;gap:40px;align-items:stretch}
.rd-contact__copy{display:flex;flex-direction:column;gap:22px}
/* phone + scattered photo tiles form one collage block */
.rd-contact__media{position:relative;margin-top:auto;align-self:stretch;z-index:2;margin-bottom:0}
/* phone sits right-of-centre (design: 95% of the column) to clear the left tiles */
.rd-contact__phone{width:auto;height:clamp(440px,44vw,660px);max-width:100%;filter:drop-shadow(0 22px 46px rgba(0,0,0,.45));position:relative;z-index:2;margin-left:auto;margin-right:5%}
/* Upright - the design's tiles carry no rotation, are all 2:3 portrait, and sit
   IN FRONT of the hand. Sizes/positions measured off desktop.png. */
.rd-contact__tile{position:absolute;z-index:3;border-radius:8px;object-fit:cover;aspect-ratio:2/3;box-shadow:0 14px 34px rgba(0,0,0,.42)}
.rd-contact__tile--1{width:10%;left:16%;top:14%}
.rd-contact__tile--2{width:20%;left:3%;top:38%}
.rd-contact__tile--3{width:19%;left:74%;top:4%}
.rd-contact__tile--4{width:15%;left:71%;top:52%}
.rd-form{background:rgba(255,255,255,.1);border-radius:12px;padding:clamp(24px,4vw,44px);display:flex;flex-direction:column;gap:20px;backdrop-filter:blur(6px)}
.rd-form__row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.rd-form .rd-btn{align-self:flex-start}
.rd-field{display:flex;flex-direction:column;gap:10px}
.rd-field label{font-size:18px;font-weight:400}
.rd-field .req{color:var(--a1)}
.rd-field input,.rd-field select,.rd-field textarea{background:#fff;color:#111;border:0;border-radius:71px;padding:14px 18px;font-family:inherit;font-size:16px;transition:box-shadow .18s ease}
.rd-field input:focus,.rd-field select:focus,.rd-field textarea:focus{outline:none;box-shadow:0 0 0 3px var(--a1)}
.rd-btn:focus-visible,.rd-video__play:focus-visible{outline:3px solid #fff;outline-offset:3px}
a:focus-visible,button:focus-visible{outline:2px solid var(--a1);outline-offset:3px;border-radius:4px}
.rd-field textarea{border-radius:14px;min-height:187px;resize:vertical}
.rd-consent{display:flex;gap:12px;align-items:center;font-size:15px}
.rd-consent a{text-decoration:underline;text-underline-offset:2px}
/* appearance:none - the native control ignores border-radius */
.rd-consent input{width:22px;height:22px;flex:0 0 auto;appearance:none;-webkit-appearance:none;border-radius:5px;background:#fff;cursor:pointer;display:grid;place-items:center}
.rd-consent input:checked::after{content:"";width:11px;height:11px;border-radius:2px;background:var(--lime)}
.rd-consent input:focus-visible{outline:2px solid var(--a1);outline-offset:2px}
.rd-footer{border-radius:32px;background:rgba(14,22,2,.34);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);position:relative;overflow:hidden;isolation:isolate;padding:44px clamp(28px,4vw,70px) clamp(24px,4vw,40px);margin:0;display:flex;flex-direction:column;gap:28px}
/* footer S watermark removed per request */
.rd-footer__top{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.rd-footer__logo img{height:40px}
.rd-footer__links{display:flex;gap:32px;flex-wrap:wrap}
.rd-footer__links a{font-size:18px;opacity:.9;color:#fff}
.rd-footer__legal{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.14);padding-top:22px;font-size:15px;color:var(--muted)}

/* ===================== slick tweaks ============================ */
.slick-prev,.slick-next{z-index:5;width:44px;height:44px}
.slick-prev:before,.slick-next:before{color:var(--a2);font-size:34px;opacity:1}
.slick-dots li button:before{color:#fff}
.slick-dots li.slick-active button:before{color:var(--a2)}

/* ---- hover micro-interactions ---- */
.rd-why-card,.rd-hw,.rd-plan,.rd-step{transition:transform .22s ease,box-shadow .22s ease}
.rd-why-card:hover,.rd-hw:hover,.rd-step:hover{transform:translateY(-5px)}
.rd-plan:hover{transform:translateY(-6px)}
.rd-df-card__img,.rd-feat-card__img{transition:transform .5s ease}
.rd-df-card:hover .rd-df-card__img,.rd-feat-card:hover .rd-feat-card__img{transform:scale(1.06)}
/* draggable carousels: grab hand on hover, grabbing while dragging (cursor inherits to slide content) */
.rd-feat__carousel .slick-list,.rd-steps__carousel .slick-list,.rd-setup__carousel .slick-list,.rd-why__carousel .slick-list{cursor:grab}
.rd-feat__carousel .slick-list:active,.rd-steps__carousel .slick-list:active,.rd-setup__carousel .slick-list:active,.rd-why__carousel .slick-list:active{cursor:grabbing}
/* the carousel's overflow:hidden would clip the -5/-6px hover lift - add top room to
   the list and pull it back with a negative margin, so cards lift freely with no layout shift. */
.rd-why__carousel .slick-list,.rd-steps__carousel .slick-list{padding-top:16px;margin-top:-16px}
@media(hover:none){.rd-why-card:hover,.rd-hw:hover,.rd-step:hover,.rd-plan:hover{transform:none}}

/* ============================ MOTION ========================= */
@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(30px);transition:opacity .75s cubic-bezier(.22,.61,.36,1),transform .75s cubic-bezier(.22,.61,.36,1);transition-delay:.06s}
  .reveal.visible{opacity:1;transform:none}
  .rd-hero__copy{transition-delay:.13s}
  .rd-hero__media{transition-delay:.27s}
  .rd-brain__line.reveal{transform:translateY(22px) scale(.96)}
  .rd-brain__line.reveal.visible{transform:none}
  .rd-nav__bar{animation:rd-navin .7s cubic-bezier(.22,.61,.36,1) both}
  .rd-badge-float--a{animation:rd-pop .6s cubic-bezier(.34,1.56,.64,1) .55s both}
  .rd-badge-float--b{animation:rd-pop .6s cubic-bezier(.34,1.56,.64,1) .72s both}
}
@keyframes rd-navin{from{opacity:0;transform:translateY(-16px)}}
@keyframes rd-pop{from{opacity:0;transform:scale(.5)}}

/* ============================ RESPONSIVE ====================== */
@media(max-width:1024px){
  :root{--pad:clamp(18px,5vw,40px)}
  .rd-nav{padding-left: 12px;padding-right: 12px;top: 22px;}
  .rd-hero__grid,.rd-split,.rd-contact__grid{grid-template-columns:1fr}
  .rd-contact__grid{gap:0;align-items:stretch}
  .rd-contact__phone{margin-top:22px;margin-bottom:0;align-self:stretch;z-index:auto}
  .rd-setup__carousel .rd-setup__slide{grid-template-columns:1fr}
  .rd-df__grid{grid-template-columns:repeat(2,1fr)}
  .rd-price__grid{grid-template-columns:1fr}   /* gap stays 22px from the base rule */
  .rd-faq__grid{grid-template-columns:1fr;gap:26px}
  .rd-faq__head{position:static}
  .rd-faq__sub{max-width:none}
  .rd-hw__grid{grid-template-columns:1fr}
  .rd-hero__media{order:-1;min-height:340px}
  .rd-nav__login, .rd-nav__right .rd-btn{display:none}
  /* Tighter nav bar on mobile: less side padding, a narrower language pill and
     barely any gap before the burger, so the row does not feel stretched. */
  .rd-nav__bar{padding:0 14px 0 22px;gap:8px}
  .rd-nav__right{gap:4px}
  .rd-lang{padding:2px}
  .rd-lang a{padding:5px 8px;font-size:12px}
  .rd-nav__toggle{width:38px;height:38px}
  /* Login inside the burger menu, just above Get Started, as an outlined pill */
  .rd-nav__links .rd-nav__login-m{display:inline-flex;align-items:center;justify-content:center;gap:9px;
    border:1.5px solid rgba(255,255,255,.35);border-radius:999px;padding:11px 24px;font-size:20px;
    font-weight:600;opacity:1;transition:border-color .15s,background .15s}
  .rd-nav__links .rd-nav__login-m:hover{border-color:var(--lime);background:rgba(255,255,255,.05)}
  .rd-nav__links .rd-nav__login-m svg{width:20px;height:20px;flex:0 0 auto}
  .rd-nav__toggle, .rd-nav__links .rd-btn{display:block}
  .rd-nav__links a{font-size: 20px; padding: 5px;}
  .rd-nav__links a.rd-btn{padding: 11px 12px 11px 24px;color: #000;opacity: 1;font-weight: 600;display: inline-flex;font-size: 20px}
  .rd-nav .rd-nav__links{transition-duration: 0.3s;width: 100%;display:flex;position:absolute;z-index: 0;top:0;left:auto;right:-120vw;flex-direction:column;gap:18px;background:rgba(20,20,20,.96);backdrop-filter:blur(24px);border-radius:20px;padding:84px 24px 24px 24px;box-shadow:inset 0 0 0 1px var(--line);}
  .rd-nav.rd-open .rd-nav__links{right:0;}
  .rd-nav.rd-open #rdNavToggle span:first-child{transform: rotate(45deg);transform-origin: top left;}
  .rd-nav.rd-open #rdNavToggle span:nth-child(2){opacity: 0;}
  .rd-nav.rd-open #rdNavToggle span:last-child{transform: rotate(-45deg);transform-origin: bottom left;}
  .rd-nav.rd-open #rdNavToggle span:first-child{transform: rotate(-315deg);transform-origin: top left;}
  .rd-nav.rd-open #rdNavToggle span:nth-child(2){opacity: 0;}
  .rd-nav.rd-open #rdNavToggle span:last-child{transform: rotate(315deg);transform-origin: bottom left;}
}
@media(max-width:640px){
  .rd-form__row{grid-template-columns:1fr}
  .rd-df__grid{grid-template-columns:1fr}
  .rd-footer__legal{flex-direction:column}
  .rd-hw__mounts{gap:14px}
  .rd-hero{padding: 14px 7px 20px 7px;}
  .rd-hero__panel{padding-bottom: 20px;}
  .rd-hero__panel::before{width: 90%;background-position:top center; top:-12px}
  .rd-hero__grid a.rd-btn, .rd-feat__intro a.rd-btn, .rd-why__cta  a.rd-btn, .rd-steps__cta  a.rd-btn, .rd-form .rd-btn{width: 100%;}
  .rd-hero__phone{left: -10%;}
  .rd-trust__slide{padding: 0 12px;}
  .rd-feat-card__media img{aspect-ratio: 1; object-fit:cover;}
  .rd-feat-card{height: auto; min-height: 170px;}
  .rd-feat-card__body{height: auto; min-height: 170px;}
  .rd-badge-float--a{top: -5%; left: -12%;}
  .rd-why__carousel .rd-why-card{gap:16px}
  .rd-brain__line{margin: 150px auto;}
  .rd-brain__badge--a{top:22%;}
  .rd-brain__badge--b{bottom: 12%;}
  .rd-footer{margin-top: 48px; text-align: center;}
  .rd-footer__top{flex-direction: column; align-items: center; gap: 18px;}
  .rd-footer__links{gap: 10px;}
  .rd-footer__links a{display: block; width: 100%; text-align: center;}
}
/* ── Pricing: Enterprise full-width row (below the plan grid) ─────────────── */
.rd-ent{display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:1180px;margin:22px auto 0;padding:28px 34px;background:#eaeaea;color:#000;border-radius:18px}
.rd-ent__copy h3{font-size:24px;font-weight:800;margin:0 0 6px;color:#000}
.rd-ent__copy p{margin:0;font-size:15px;line-height:1.55;color:#333;max-width:820px}
.rd-ent .rd-btn{flex:0 0 auto;white-space:nowrap}
@media(max-width:760px){.rd-ent{flex-direction:column;align-items:flex-start;padding:24px}}

/* ── Hardware: box illustration + bring-your-own-display specs ────────────── */
.rd-hw__img{display:block;width:100%;max-width:340px;height:auto;margin:0 auto}
.rd-hw__list--specs li{align-items:flex-start}
.rd-hw__list--specs li::before{margin-top:7px;flex:0 0 auto}
