#main-content *, #main-content *::before, #main-content *::after{ box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    #main-content{ background: #fff; font-family: "Montserrat", sans-serif; color: #0D0D0D; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
    #main-content a{ color: inherit; text-decoration: none; }
    #main-content .eyebrow{ font-size: 11px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: #0D0D0D; margin-bottom: 24px; display: block; }
    @keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }

    /* ── RESPONSIVE ── */
    #main-content .r-nav-links{ display: flex; gap: 32px; align-items: center; }
    #main-content .r-nav-cta{ display: inline-flex; }
    #main-content .r-hero-grid{ display: grid; grid-template-columns: 1fr 1.4fr; gap: 48px; align-items: center; }
    #main-content .r-hero-img{ display: flex; align-items: center; justify-content: center; animation: float 5s ease-in-out infinite; }
    #main-content .r-hero-img img{ width: auto; height: 560px; }
    #main-content .r-2col{ display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: start; }
    #main-content .r-2col-center{ display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
    #main-content .r-4col{ display: grid; grid-template-columns: repeat(4,1fr); }
    #main-content .r-svc-grid{ display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
    #main-content .r-3col{ display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
    #main-content .r-2col-cta{ display: flex; align-items: center; justify-content: space-between; gap: 48px; flex-wrap: wrap; }
    #main-content .r-footer-grid{ display: grid; grid-template-columns: 1.8fr 1fr 1.4fr; gap: 64px; }
    #main-content .r-section-pad{ padding: 112px 56px; }
    #main-content .r-section-pad-sm{ padding: 96px 56px; }
    #main-content .r-hero-section{ padding: 80px 56px; }
    #main-content .r-sticky{ position: sticky; top: 84px; }
    #main-content .r-watermark{ display: block; }
    #main-content .r-hero-phones{ position: relative; display: flex; align-items: center; justify-content: center; height: 580px; }

    @media (max-width: 1024px) {
      #main-content .r-hero-grid{ grid-template-columns: 1fr; gap: 32px; flex-direction: column-reverse; display: flex; }
      #main-content .r-hero-img{ order: -1; width: 100%; }
      #main-content .r-hero-img img{ height: auto; width: 100%; }
      #main-content .r-admin-img{ order: -1; width: 100%; }
      #main-content .r-app-img{ order: -1; width: 100%; }
      #main-content .r-hero-phones{ height: 380px; }
      #main-content .r-2col{ grid-template-columns: 1fr; gap: 40px; }
      #main-content .r-2col-center{ grid-template-columns: 1fr; gap: 40px; }
      #main-content .r-4col{ grid-template-columns: repeat(2,1fr); }
      #main-content .r-svc-grid{ grid-template-columns: repeat(2,1fr); }
      #main-content .r-3col{ grid-template-columns: repeat(2,1fr); }
      #main-content .r-projects-grid{ grid-template-columns: 1fr 1fr; }
      #main-content .r-footer-grid{ grid-template-columns: 1fr 1fr; }
      #main-content .r-sticky{ position: static; }
      #main-content .r-section-pad{ padding: 72px 40px; }
      #main-content .r-section-pad-sm{ padding: 72px 40px; }
      #main-content .r-hero-section{ padding: 56px 40px !important; }
      #main-content .r-2col-cta{ flex-direction: column; align-items: flex-start; }
    }

    @media (max-width: 768px) {
      #main-content .r-nav-links{ display: none; }
      #main-content .r-nav-cta-btn{ display: none !important; }
      #main-content .r-menu-btn{ display: flex !important; }
      #main-content .r-hero-grid{ grid-template-columns: 1fr; flex-direction: column-reverse; display: flex; }
      #main-content .r-hero-img{ order: -1; width: 100%; justify-content: center; }
      #main-content .r-hero-img img{ height: auto; width: 100%; object-fit: contain; }
      #main-content .r-hero-phones{ height: 320px; }
      #main-content .r-2col{ grid-template-columns: 1fr; gap: 32px; }
      #main-content .r-2col-center{ grid-template-columns: 1fr; gap: 32px; }
      #main-content .r-4col{ grid-template-columns: 1fr 1fr; }
      #main-content .r-svc-grid{ grid-template-columns: 1fr; }
      #main-content .r-3col{ grid-template-columns: 1fr; }
      #main-content .r-projects-grid{ grid-template-columns: 1fr !important; }
      #main-content .r-proj-tile{ border-right: none !important; padding: 0 0 40px !important; border-bottom: 1px solid rgba(255,255,255,0.12) !important; margin-bottom: 40px; }
      #main-content .r-proj-tile:last-child{ border-bottom: none !important; margin-bottom: 0; padding-bottom: 0 !important; }
      #main-content .r-proj-card{ flex-direction: column; }
      #main-content .r-proj-img{ width: 100% !important; border-right: none !important; border-bottom: 1px dashed #C4C3C0; }
      #main-content .r-proj-tile{ aspect-ratio: auto !important; min-height: 420px; }
      #main-content .r-footer-grid{ grid-template-columns: 1fr; gap: 40px; }
      #main-content .r-section-pad{ padding: 64px 20px; }
      #main-content .r-section-pad-sm{ padding: 64px 20px; }
      #main-content .r-hero-section{ padding: 48px 0 !important; }
      #main-content .r-watermark{ display: none; }
      #main-content .r-sticky{ position: static; }
      #main-content .r-nav-inner{ padding: 0 20px !important; }
      #main-content .r-overview-inner{ padding: 0 20px !important; }
      #main-content .r-2col-admin-cards{ grid-template-columns: 1fr !important; }
      #main-content section{ overflow-x: hidden; }
      /* Unified mobile side gutter: every section/footer gets exactly 20px, inner wrappers add nothing */
      #main-content section, #main-content footer{ padding-left: 20px !important; padding-right: 20px !important; }
      #main-content .r-inner{ padding-left: 0 !important; padding-right: 0 !important; }
      #main-content .r-hero-grid{ padding-left: 0 !important; padding-right: 0 !important; }
      #main-content .r-section-pad{ padding-left: 20px !important; padding-right: 20px !important; }
    }

    @media (max-width: 480px) {
      #main-content .r-4col{ grid-template-columns: 1fr; }
      #main-content .man-desktop{ display: none !important; }
      #main-content .man-mobile{ display: block !important; }
    }
    @media (max-width: 768px) {
      #main-content .r-4col{ grid-template-columns: 1fr !important; }
      #main-content .r-4col > div{ border-right: none !important; border-bottom: 1px solid #E0DFDD; }
      #main-content .r-4col > div:last-child{ border-bottom: none; }
      #main-content .r-cta-row{ flex-direction: column; align-items: flex-start !important; gap: 12px !important; }
      #main-content .r-cta-row a{ width: 100%; justify-content: center; }
      #main-content .r-footer-cta-row{ flex-direction: row; align-items: center !important; gap: 10px !important; }
      #main-content .r-footer-cta-row a:first-child{ flex: 1 1 auto; text-align: center; }
      #main-content .r-footer-cta-row a:last-child{ width: 44px !important; height: 44px !important; flex: 0 0 44px; }
      #main-content .r-testimonial-text{ font-size: 14px !important; }
      #main-content .r-cta-buttons{ min-width: 0 !important; max-width: none !important; }
      #main-content .r-hero-cta-row{ flex-direction: column; align-items: stretch; }
      #main-content .r-hero-cta-row a{ width: 100%; justify-content: center; }
      #main-content .r-hero-img img{ width: 100% !important; height: auto !important; max-width: none; margin: 0 auto; }
    }

    @media (max-width: 768px) {
      #main-content .r-2col-admin-cards{ grid-template-columns: 1fr !important; }
      #main-content .r-livenow-title{ white-space: normal !important; }
    }

    #main-content .r-build-grid{ display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
    #main-content .r-scroll-row{ display: flex; gap: 16px; overflow-x: auto; padding: 4px 0 4px; scroll-snap-type: x mandatory; scroll-behavior: smooth; }
    #main-content .r-scroll-row > div{ flex: 0 0 212px; scroll-snap-align: start; }
    #main-content .r-scroll-row{ scrollbar-width: none; -ms-overflow-style: none; }
    #main-content .r-scroll-row::-webkit-scrollbar{ display: none; }
    #main-content .r-marquee{ position: relative; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
    #main-content .r-marquee-track{ display: flex; align-items: center; gap: 64px; width: max-content; animation: r-marquee-scroll 42s linear infinite; }
    #main-content .r-marquee:hover .r-marquee-track{ animation-play-state: paused; }
    @keyframes r-marquee-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
    @media (prefers-reduced-motion: reduce) { #main-content .r-marquee-track{ animation: none; } #main-content .r-marquee{ overflow-x: auto; } }
    #main-content .r-int-grid{ display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
    @media (max-width: 1100px) {
      #main-content .r-logo-strip{ display: flex !important; grid-template-columns: none !important; overflow-x: auto; gap: 34px; padding-bottom: 4px; scrollbar-width: none; -ms-overflow-style: none; }
      #main-content .r-logo-strip::-webkit-scrollbar{ display: none; }
      #main-content .r-logo-strip > span{ flex: 0 0 auto; }
    }
    #main-content .r-steps{ display: grid; grid-template-columns: repeat(6,1fr); gap: 0; }
    #main-content .r-steps > div:nth-child(6n) .r-step-line{ display: none; }
    @media (max-width: 900px) { #main-content .r-oneline{ white-space: normal !important; } #main-content .r-hero-h1, #main-content .r-hero-sub{ text-wrap: balance; } }
    @media (max-width: 768px) {
      #main-content .r-hero-h1{ font-size: 40px !important; line-height: 1.06 !important; }
      #main-content .r-hero-sub{ font-size: 24px !important; line-height: 1.3 !important; }
    }
    @media (max-width: 420px) {
      #main-content .r-hero-h1{ font-size: 34px !important; }
      #main-content .r-hero-sub{ font-size: 21px !important; }
    }
    @media (max-width: 900px) { #main-content .r-agents-split{ grid-template-columns: 1fr !important; gap: 36px !important; } #main-content .r-agents-img{ order: 0 !important; aspect-ratio: 1/1; } }
    @media (max-width: 900px) { #main-content .r-why-split{ grid-template-columns: 1fr !important; } #main-content .r-why-img{ order: 0 !important; } }
    @media (max-width: 900px) {
      #main-content .r-head-row{ align-items: flex-start !important; flex-wrap: wrap !important; gap: 22px !important; }
      #main-content .r-head-row > div:first-child{ flex: 1 1 100%; width: 100%; }
      #main-content .r-head-row > div:first-child h2{ max-width: 100% !important; }
    }
    @media (max-width: 768px) { #main-content .r-cta-card{ padding: 56px 24px !important; border-radius: 22px; } }
    #main-content .r-why{ display: grid; grid-template-columns: repeat(2,1fr); column-gap: 56px; }
    #main-content .r-tst-grid{ display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
    @media (max-width: 1100px) {
      #main-content .r-build-grid{ grid-template-columns: repeat(2,minmax(0,1fr)); }
      #main-content .r-int-grid{ grid-template-columns: repeat(2,1fr); }
      #main-content .r-steps{ grid-template-columns: repeat(3,1fr); row-gap: 40px; }
      #main-content .r-steps > div:nth-child(6n) .r-step-line{ display: block; }
      #main-content .r-steps > div:nth-child(3n) .r-step-line{ display: none; }
      #main-content .r-tst-grid{ grid-template-columns: 1fr; }
    }
    @media (max-width: 768px) {
      #main-content .r-build-grid{ grid-template-columns: 1fr; }
      #main-content .r-int-grid{ grid-template-columns: 1fr; }
      #main-content .r-steps{ grid-template-columns: 1fr; row-gap: 0; }
      #main-content .r-steps > div{ display: grid; grid-template-columns: 44px 1fr; column-gap: 18px; padding-bottom: 30px; position: relative; }
      #main-content .r-steps > div > div:first-child{ display: block !important; margin-bottom: 0 !important; position: static; }
      #main-content .r-steps > div .r-step-line{ display: block !important; position: absolute; left: 22px; top: 54px; bottom: 8px; width: 1px; height: auto !important; flex: none !important; transform: translateX(-50%); background: rgba(255,255,255,0.22) !important; }
      #main-content .r-steps > div:last-child{ padding-bottom: 0; }
      #main-content .r-steps > div:last-child .r-step-line{ display: none !important; }
      #main-content .r-steps > div > div:first-child{ grid-row: 1 / span 3; }
      #main-content .r-steps > div h3, #main-content .r-steps > div p{ padding-right: 0 !important; }
      #main-content .r-steps > div > div:nth-child(2){ align-self: center; }
      #main-content .r-why{ grid-template-columns: 1fr; }
    }

/* Native equivalent of the source DC style-hover attribute. */
#main-content [style-hover]:hover { border-color: #0D0D0D !important; }
