:root {
   --bg: #f4f1f6;
   --surface: rgba(255, 255, 255, 0.78);
   --surface-strong: #ffffff;
   --text: #14091f;
   --muted: rgba(20, 9, 31, 0.68);
   --border: rgba(20, 9, 31, 0.12);
   --violet: #5a16ff;
   --violet-dark: #2b0a7f;
   --lime: #d8fb4b;
   --acid: #c8f233;
   --mint: #baf6e0;
   --orange: #ff7d1d;
   --rose: #ff4db6;
   --ink: #0e0917;
   --dark: #17131f;
   --shadow: 0 24px 80px rgba(32, 13, 68, 0.14);
   --radius: 28px;
   --container: min(1180px, calc(100vw - 40px));
}

*,
*::before,
*::after {
   box-sizing: border-box;
}

html {
   scroll-behavior: smooth;
}

body {
   margin: 0;
   font-family: "Manrope", system-ui, sans-serif;
   color: var(--text);
   background:
      radial-gradient(circle at 10% 0%, rgba(90, 22, 255, 0.14), transparent 28%),
      radial-gradient(circle at 85% 18%, rgba(216, 251, 75, 0.18), transparent 24%),
      radial-gradient(circle at 55% 62%, rgba(255, 77, 182, 0.1), transparent 22%),
      var(--bg);
   line-height: 1.45;
   overflow-x: hidden;
}

body.menu-open {
   overflow: hidden;
}

.page-noise {
   position: fixed;
   inset: 0;
   pointer-events: none;
   background-image:
      linear-gradient(rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.08)),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%2314091f' fill-opacity='.035'%3E%3Cpath d='M36 34h2v2h-2zm24 37h2v2h-2zm46-14h2v2h-2zm-72 90h2v2h-2zm105-9h2v2h-2z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
   opacity: 0.85;
   z-index: -1;
}

a {
   color: inherit;
   text-decoration: none;
}

img {
   max-width: 100%;
   display: block;
}

button,
input,
textarea {
   font: inherit;
   color: inherit;
}

.container {
   width: var(--container);
   margin: 0 auto;
}

.section {
   padding: 90px 0;
}

.section-head {
   margin-bottom: 36px;
}

.section-head.center {
   text-align: center;
   margin-left: auto;
   margin-right: auto;
}

.split-head {
   max-width: none;
   display: grid;
   grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
   gap: 24px;
   align-items: end;
}

.section-kicker,
.eyebrow {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   padding: 8px 14px;
   border-radius: 999px;
   font-size: 12px;
   font-weight: 800;
   letter-spacing: 0.12em;
   text-transform: uppercase;
   color: var(--violet);
   background: rgba(90, 22, 255, 0.09);
   border: 1px solid rgba(90, 22, 255, 0.12);
   margin-bottom: 20px;
}

.eyebrow-dot {
   width: 8px;
   height: 8px;
   border-radius: 50%;
   background: linear-gradient(135deg, var(--lime), var(--violet));
   box-shadow: 0 0 20px rgba(90, 22, 255, 0.45);
}

h1,
h2,
h3,
.brand,
.metric-card strong,
.faq-question {
   font-family: "Unbounded", "Manrope", system-ui, sans-serif;
   font-weight: 500;
}

h1,
h2,
h3,
p {
   margin: 0;
}

h1 {
   margin-top: 22px;
   font-size: 3.2rem;
   line-height: 0.95;
   letter-spacing: -0.04em;
}

h1 span {
   display: block;
   color: var(--violet);
}

h2 {
   font-size: clamp(2rem, 4.4vw, 3rem);
   line-height: 1.02;
   letter-spacing: -0.03em;

   & span {
      color: var(--violet);
   }
}

h3 {
   font-size: clamp(1.05rem, 2vw, 1.35rem);
   line-height: 1.08;
   letter-spacing: -0.04em;
}

p {
   color: var(--muted);
   font-size: 1rem;
}

.site-header {
   position: sticky;
   top: 0;
   z-index: 20;
   padding-top: 16px;
}

.header-shell {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 18px;
   padding: 14px 20px;
   background: rgba(255, 255, 255, 0.62);
   border: 1px solid rgba(255, 255, 255, 0.7);
   backdrop-filter: blur(18px);
   border-radius: 22px;
   box-shadow: 0 16px 44px rgba(18, 7, 38, 0.08);
}

.brand {
   display: inline-flex;
   align-items: center;
   gap: 12px;
   font-size: 0.82rem;
   letter-spacing: -0.04em;
}

.brand-logo {
   display: block;
   width: auto;
   height: 42px;
}

.site-nav {
   display: flex;
   align-items: center;
   gap: 10px;
   flex-wrap: wrap;
}

.site-nav a {
   padding: 10px 14px;
   border-radius: 18px;
   font-size: 1rem;
   font-weight: 500;
   color: rgba(20, 9, 31, 0.8);
}

.site-nav .nav-cta,
.button-primary {
   color: #fff;
   background: linear-gradient(135deg, var(--violet), #2f4dff);
   box-shadow: 0 18px 36px rgba(90, 22, 255, 0.28);
   transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.nav-cta:hover,
.nav-cta:focus-visible {
   transform: translateY(-2px);
   outline: none;
}

.menu-toggle {
   display: none;
   position: relative;
   width: 52px;
   height: 52px;
   padding: 0;
   border: 1px solid rgba(20, 9, 31, 0.06);
   border-radius: 18px;
   background: linear-gradient(180deg, rgba(255, 255, 255, 0.52), rgba(20, 9, 31, 0.04));
   box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
   cursor: pointer;
   transition: transform 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}

.menu-toggle span {
   position: absolute;
   left: 50%;
   display: block;
   width: 20px;
   height: 2px;
   margin: 0;
   border-radius: 999px;
   background: rgba(20, 9, 31, 0.88);
   transform: translateX(-50%);
   transition: top 0.28s cubic-bezier(0.22, 1, 0.36, 1),
      transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
      opacity 0.18s ease,
      width 0.28s ease,
      background 0.25s ease;
}

.menu-toggle span:nth-child(1) {
   top: 18px;
}

.menu-toggle span:nth-child(2) {
   top: 25px;
}

.menu-toggle span:nth-child(3) {
   top: 32px;
}

.menu-toggle:hover,
.menu-toggle:focus-visible {
   background: linear-gradient(180deg, rgba(255, 255, 255, 0.68), rgba(20, 9, 31, 0.06));
   box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62), 0 10px 20px rgba(20, 9, 31, 0.08);
   outline: none;
}

.hero {
   padding: 34px 0 36px;
}

.hero-grid {
   display: grid;
   grid-template-columns: minmax(0, 1.05fr) minmax(400px, 0.95fr);
   gap: 40px;
   align-items: center;
}

.hero-copy {
   position: relative;
   z-index: 1;
   min-width: 0;
}

.hero-lead {
   margin-top: 24px;
   max-width: 640px;
   font-size: 1.12rem;
   text-wrap: pretty;
}

.hero-actions {
   display: flex;
   flex-wrap: wrap;
   gap: 14px;
   margin-top: 30px;
}

.button {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-height: 56px;
   padding: 0 24px;
   border-radius: 18px;
   font-weight: 800;
   letter-spacing: -0.02em;
   transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
   cursor: pointer;
}

.button:hover,
.button:focus-visible {
   transform: translateY(-2px);
   outline: none;
}

.button-secondary {
   border: 1px solid rgba(20, 9, 31, 0.1);
   background: rgba(255, 255, 255, 0.72);
   color: var(--text);
}

.hero-quote {
   margin-top: 28px;
   max-width: 560px;
   padding: 18px 22px;
   border: 1px solid rgba(90, 22, 255, 0.12);
   border-radius: 22px;
   font-size: 1.05rem;
   color: rgba(20, 9, 31, 0.76);
   background: rgba(255, 255, 255, 0.56);
   backdrop-filter: blur(14px);
   display: none;
}

.hero-points {
   display: grid;
   gap: 10px;
   margin: 24px 0 0;
   padding: 0;
   list-style: none;
}

.hero-points li {
   display: inline-flex;
   gap: 12px;
   color: rgba(20, 9, 31, 0.85);
   font-weight: 700;
}

.hero-points li::before {
   content: "";
   margin-top: 6px;
   width: 10px;
   height: 10px;
   border-radius: 999px;
   background: linear-gradient(135deg, var(--lime), var(--violet));
   box-shadow: 0 0 18px rgba(90, 22, 255, 0.35);
}

.hero-stage {
   position: relative;
   min-height: 580px;
   min-width: 0;
}

.stage-ribbon {
   position: absolute;
   left: 0;
   z-index: 3;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-width: 0;
   max-width: 360px;
   padding: 16px 28px;
   border-radius: 22px;
   font-family: "Unbounded", "Manrope", system-ui, sans-serif;
   font-weight: 700;
   font-size: clamp(0.95rem, 1.8vw, 1.35rem);
   letter-spacing: -0.06em;
   line-height: 1;
   white-space: nowrap;
   color: white;
   background: linear-gradient(120deg, var(--violet), #342eff, #ff48af);
   box-shadow: var(--shadow);
   transform-origin: center;
   pointer-events: none;
   font-weight: 400;
}

.ribbon-top {
   top: 12px;
   left: 28px;
   transform: rotate(-8deg);
   display: none;
}

.ribbon-middle {
   top: 82px;
   left: 108px;
   transform: rotate(6deg);
   display: none;
}

.dashboard-card {
   position: absolute;
   right: 0;
   bottom: 0;
   z-index: 2;
   width: min(100%, 520px);
   min-width: 0;
   padding: 22px;
   border-radius: 34px;
   background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(255, 255, 255, 0.7)),
      linear-gradient(135deg, rgba(90, 22, 255, 0.1), rgba(216, 251, 75, 0.1));
   border: 1px solid rgba(20, 9, 31, 0.14);
   box-shadow: var(--shadow);
   backdrop-filter: blur(18px);
}

.dashboard-stack {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 12px;
   margin-bottom: 18px;
}

.dashboard-carousel {
   margin-bottom: 18px;
}

.dashboard-carousel-head {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   margin-bottom: 10px;
   color: rgba(20, 9, 31, 0.48);
   font-size: 0.72rem;
   font-weight: 800;
   letter-spacing: 0.12em;
   text-transform: uppercase;
}

.dashboard-carousel-viewport {
   position: relative;
   overflow: hidden;
   padding: 10px;
   border-radius: 28px;
   background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(238, 233, 247, 0.82));
   border: 1px solid rgba(20, 9, 31, 0.08);
}

.dashboard-carousel-viewport::before,
.dashboard-carousel-viewport::after {
   content: "";
   position: absolute;
   top: 0;
   bottom: 0;
   width: 48px;
   pointer-events: none;
   z-index: 2;
}

.dashboard-carousel-viewport::before {
   left: 0;
   background: linear-gradient(90deg, rgba(248, 246, 251, 0.96), rgba(248, 246, 251, 0));
}

.dashboard-carousel-viewport::after {
   right: 0;
   background: linear-gradient(270deg, rgba(241, 237, 247, 0.96), rgba(241, 237, 247, 0));
}

@keyframes carousel-left {
   from {
      transform: translate3d(-50%, 0, 0);
   }

   to {
      transform: translate3d(0, 0, 0);
   }
}

@keyframes carousel-right {
   from {
      transform: translate3d(0, 0, 0);
   }

   to {
      transform: translate3d(-50%, 0, 0);
   }
}

.dashboard-carousel-track {
   display: flex;
   width: max-content;
   will-change: transform;
   -webkit-backface-visibility: hidden;
   backface-visibility: hidden;
}

.dashboard-carousel-strip {
   display: flex;
   gap: 12px;
   padding-right: 12px;
   flex: 0 0 auto;
}

.carousel-case {
   position: relative;
   flex: 0 0 128px;
   width: 128px;
   max-width: 128px;
   min-width: 0;
   aspect-ratio: 1 / 1;
   margin: 0;
   overflow: hidden;
   border-radius: 22px;
   background: rgba(20, 9, 31, 0.06);
   border: 1px solid rgba(20, 9, 31, 0.08);
   box-shadow: 0 14px 30px rgba(20, 9, 31, 0.1);
}

.carousel-case img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.carousel-case::after {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(180deg, rgba(20, 9, 31, 0.02), rgba(20, 9, 31, 0.12));
}

.mini-card {
   min-height: 116px;
   padding: 16px;
   border-radius: 22px;
   border: 1px solid rgba(20, 9, 31, 0.08);
   box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

.mini-card-tag {
   display: inline-flex;
   margin-bottom: 28px;
   padding: 4px 8px;
   border-radius: 999px;
   background: rgba(20, 9, 31, 0.08);
   font-size: 0.7rem;
   font-weight: 800;
   letter-spacing: 0.08em;
   text-transform: uppercase;
}

.mini-card strong {
   display: block;
   max-width: 9ch;
   font-size: 0.96rem;
   line-height: 1.05;
}

.mini-card-lime {
   background: linear-gradient(135deg, rgba(216, 251, 75, 0.9), rgba(245, 255, 205, 0.9));
}

.mini-card-sand {
   background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(234, 230, 243, 0.82));
}

.mini-card-orange {
   background: linear-gradient(135deg, rgba(255, 125, 29, 0.96), rgba(255, 208, 142, 0.84));
}

.dashboard-main {
   position: relative;
   overflow: hidden;
   padding: 22px;
   border-radius: 28px;
   background: linear-gradient(160deg, rgba(16, 10, 27, 0.98), rgba(47, 20, 105, 0.92));
   color: white;
}

.dashboard-main::after {
   content: "";
   position: absolute;
   inset: auto -10% -45% 25%;
   height: 190px;
   background: radial-gradient(circle, rgba(216, 251, 75, 0.34), transparent 70%);
   pointer-events: none;
}

.dashboard-topline,
.signal {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   font-size: 0.8rem;
   color: rgba(255, 255, 255, 0.7);
}

.dashboard-main h2 {
   margin-top: 16px;
   font-size: clamp(1.8rem, 4vw, 1.8rem);
   color: white;
   font-weight: 400;
}

.dashboard-main p {
   margin-top: 16px;
   max-width: 44ch;
   color: rgba(255, 255, 255, 0.72);
   text-wrap: balance;
}

.dashboard-actions {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 14px;
   margin-top: 24px;
}

.signal {
   justify-content: flex-start;
}

.signal-dot {
   width: 10px;
   height: 10px;
   border-radius: 50%;
   background: var(--lime);
   box-shadow: 0 0 18px rgba(216, 251, 75, 0.75);
   animation: signal-breathe 2.8s ease-in-out infinite;
}

@keyframes signal-breathe {
   0%,
   100% {
      opacity: 1;
   }

   50% {
      opacity: 0.6;
   }
}

.metrics {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 16px;
   margin-top: 48px;
}

.metric-card {
   padding: 24px;
   border-radius: 28px;
   background: rgba(255, 255, 255, 0.62);
   border: 1px solid rgba(20, 9, 31, 0.08);
   box-shadow: 0 18px 44px rgba(20, 9, 31, 0.06);
   backdrop-filter: blur(12px);
}

.metric-card span {
   display: inline-flex;
   margin-bottom: 0;
   font-size: 2.78rem;
   font-weight: 100;
   letter-spacing: 0.12em;
   text-transform: uppercase;
   color: #e4dbf8;
}

.metric-card strong {
   display: block;
   font-size: 1rem;
   line-height: 1.18;
   letter-spacing: -0.04em;
}

.metric-card p {
   margin-top: 12px;
   font-size: 0.94rem;
}

.benefits-grid {
   display: grid;
   grid-template-columns: repeat(12, 1fr);
   gap: 18px;
}

.feature {
   min-height: 180px;
   padding: 24px;
   border-radius: 30px;
   border: 1px solid rgba(20, 9, 31, 0.08);
   background: rgba(255, 255, 255, 0.74);
   box-shadow: 0 18px 52px rgba(20, 9, 31, 0.07);
   position: relative;
}

.feature::before {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0)), repeating-linear-gradient(110deg, rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0.2) 1px, transparent 1px, transparent 22px);
   opacity: 0.55;
}

.feature h3 {
   margin-top: 22px;
}

.feature p {
   margin-top: 12px;
}

.feature-icon {
   font-size: 1.7rem;
   display: inline-grid;
   place-items: center;
   width: 46px;
   height: 46px;
   border-radius: 14px;
   font-weight: 800;
   background: rgba(20, 9, 31, 0.08);
}

.feature-wide {
   grid-column: span 5;
}

.feature-plain,
.feature-magenta,
.feature-lime,
.feature-glass,
.feature-mint,
.feature-acid,
.feature-green,
.feature-dark {
   grid-column: span 3;
}

.feature-pink {
   grid-column: span 6;
}

.feature-violet {
   color: white;
   background: linear-gradient(135deg, var(--violet), #2f3cff);
}

.feature-violet p,
.feature-violet .feature-icon {
   color: rgba(255, 255, 255, 0.85);
}

.feature-violet .feature-icon {
   background: rgba(255, 255, 255, 0.16);
}

.feature-magenta {
   background: linear-gradient(135deg, #ff3cb9, #8a4dff);
   color: white;
}

.feature-magenta p,
.feature-magenta .feature-icon {
   color: rgba(255, 255, 255, 0.86);
}

.feature-magenta .feature-icon {
   background: rgba(255, 255, 255, 0.16);
}

.feature-dark {
   color: white;
   background: linear-gradient(135deg, #090a0f, #2c2b33);
}

.feature-dark p,
.feature-dark .feature-icon {
   color: rgba(255, 255, 255, 0.76);
}

.feature-lime {
   background: linear-gradient(135deg, rgba(216, 251, 75, 0.84), rgba(248, 255, 209, 0.92));
}

.feature-glass {
   background:
      linear-gradient(135deg, rgba(255, 255, 255, 0.7), rgba(175, 238, 255, 0.4)), rgba(255, 255, 255, 0.82)
}

.feature-mint {
   background: linear-gradient(135deg, rgba(186, 246, 224, 0.98), rgba(225, 255, 245, 0.86));
}

.feature-acid {
   background: linear-gradient(135deg, rgba(200, 242, 51, 0.92), rgba(242, 255, 184, 0.88));
}

.feature-green {
   background: linear-gradient(135deg, rgba(69, 245, 83, 0.88), rgba(211, 255, 184, 0.85));
}

.feature-pink {
   color: white;
   background: linear-gradient(135deg, #ff3e96, #9a37ff);
}

.feature-pink p,
.feature-pink .feature-icon {
   color: rgba(255, 255, 255, 0.86);
}

.feature-pink .feature-icon {
   background: rgba(255, 255, 255, 0.16);
}

.portfolio-section {
   position: relative;
   overflow: hidden;
}

.portfolio-section .section-head p {
   font-size: 1.2rem;
}

.portfolio-gallery {
   --portfolio-card-size: clamp(236px, 28vw, 315px);
   position: relative;
   isolation: isolate;
   display: grid;
   gap: 18px;
   padding: 24px 0 8px;
}

.portfolio-gallery::before {
   content: "";
   position: absolute;
   inset: 18px 15% 14px;
   border-radius: 42px;
   background:
      radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0) 34%),
      radial-gradient(circle at 50% 50%, rgba(90, 22, 255, 0.18), transparent 58%);
   filter: blur(12px);
   opacity: 0.95;
   pointer-events: none;
   z-index: 1;
}

.portfolio-gallery::after {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4) 50%, transparent);
   opacity: 0.18;
   pointer-events: none;
   z-index: 1;
}

.portfolio-carousel {
   position: relative;
   z-index: 2;
}

.portfolio-carousel.is-top {
   transform: translateX(-18px) rotate(-1.15deg);
}

.portfolio-carousel.is-bottom {
   transform: translateX(18px) rotate(1.15deg);
}

.portfolio-carousel-viewport {
   position: relative;
   overflow: hidden;
   padding: 18px 0;
   border-radius: 38px;
   background:
      linear-gradient(135deg, rgba(255, 255, 255, 0.76), rgba(255, 255, 255, 0.36)),
      linear-gradient(135deg, rgba(90, 22, 255, 0.08), rgba(216, 251, 75, 0.08));
   border: 1px solid rgba(20, 9, 31, 0.08);
   box-shadow: 0 18px 44px rgba(20, 9, 31, 0.08);
   backdrop-filter: blur(12px);
}

.portfolio-carousel-viewport::before,
.portfolio-carousel-viewport::after {
   content: "";
   position: absolute;
   top: 0;
   bottom: 0;
   width: min(13vw, 132px);
   z-index: 3;
   pointer-events: none;
}

.portfolio-carousel-viewport::before {
   left: 0;
   background: linear-gradient(90deg, rgba(244, 241, 246, 0.98), rgba(244, 241, 246, 0));
}

.portfolio-carousel-viewport::after {
   right: 0;
   background: linear-gradient(270deg, rgba(244, 241, 246, 0.98), rgba(244, 241, 246, 0));
}

.portfolio-carousel-track {
   display: flex;
   width: max-content;
   will-change: transform;
   -webkit-backface-visibility: hidden;
   backface-visibility: hidden;
}

.portfolio-carousel-strip {
   display: flex;
   gap: 18px;
   padding-right: 18px;
   flex: 0 0 auto;
}

.portfolio-shot {
   position: relative;
   flex: 0 0 var(--portfolio-card-size);
   width: var(--portfolio-card-size);
   max-width: var(--portfolio-card-size);
   min-width: 0;
   aspect-ratio: 1 / 1;
   overflow: hidden;
   border-radius: 30px;
   border: 1px solid rgba(20, 9, 31, 0.08);
   background: rgba(255, 255, 255, 0.82);
   box-shadow: 0 18px 42px rgba(20, 9, 31, 0.1);
   pointer-events: none;
   user-select: none;
   -webkit-user-drag: none;
   transform: none;
   opacity: 1;
   filter: none;
   transition: none;
}

.portfolio-shot::before,
.portfolio-shot::after {
   content: "";
   position: absolute;
   inset: 0;
   pointer-events: none;
}

.portfolio-shot::before {
   inset: 1px;
   border-radius: inherit;
   border: 1px solid rgba(255, 255, 255, 0.22);
   z-index: 2;
}

.portfolio-shot::after {
   background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(20, 9, 31, 0.14)),
      radial-gradient(circle at top, rgba(255, 255, 255, 0.08), transparent 48%);
   opacity: 0.12;
   z-index: 1;
}

.portfolio-shot img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transform: none;
   transition: none;
}

.gradient-violet {
   color: white;
   background: linear-gradient(140deg, #3a0dc7, #5a16ff 50%, #ff48af);

   & p {
      color: #fff;
   }
}

.gradient-violet .feature-icon {
   background: rgba(255, 255, 255, 0.16);
}

.gradient-sand {
   background: linear-gradient(135deg, #fff7df, #eadcaa);
}

.gradient-blue {
   color: white;
   background: linear-gradient(135deg, #131c39, #2f58ff 70%, #68ccff);
}

.gradient-lime {
   background: linear-gradient(135deg, #d8fb4b, #f2ffd8);
}

.gradient-dark {
   color: white;
   background: linear-gradient(135deg, #090a0f, #2f2d3a);
}

.gradient-rose {
   color: white;
   background: linear-gradient(135deg, #ff6b2c, #ff4db6);
}

.examples-cta {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 18px;
   margin-top: 0px;
   padding: 28px 32px;
   border-radius: 30px;
   background: rgba(255, 255, 255, 0.72);
   border: 1px solid rgba(20, 9, 31, 0.08);
}

.examples-cta h3 {
   margin-top: 10px;
   max-width: 32ch;
   font-size: 1.5rem;
}

.process-shell {
   display: grid;
   grid-template-columns: minmax(0, 0.9fr) minmax(360px, 0.96fr);
   gap: 70px;
   padding: 40px;
   color: white;
   border-radius: 38px;
   background:
      radial-gradient(circle at 9% 14%, rgb(66 255 95 / 21%), transparent 30%), linear-gradient(135deg, #131117, #2a2635 42%, #18141f);
   box-shadow: 0 24px 90px rgba(8, 5, 20, 0.24);
}

.process-copy p,
.pricing-note,
.pricing-footnote {
   color: rgba(255, 255, 255, 0.68);
}

.process-list {
   display: grid;
   gap: 14px;
   margin: 28px 0 0;
   padding: 0;
   list-style: none;
}

.process-list li {
   display: grid;
   grid-template-columns: 58px minmax(0, 1fr);
   gap: 16px;
   padding: 18px;
   border-radius: 24px;
   background: rgba(255, 255, 255, 0.05);
   border: 1px solid rgba(255, 255, 255, 0.08);
}

.process-list span {
   display: grid;
   place-items: center;
   width: 58px;
   height: 58px;
   border-radius: 18px;
   font-family: "Unbounded", "Manrope", system-ui, sans-serif;
   font-size: 1.8rem;
   background: linear-gradient(135deg, #27ff63, #b6ff64);
   color: #0d1018;
   font-weight: 400;
}

.process-list strong {
   display: block;
   margin-bottom: 6px;
   font-size: 1rem;
}

.process-list p {
   color: rgba(255, 255, 255, 0.62);
}

.process-board {
   display: flex;
   align-items: center;
}

.board-window {
   width: 100%;
   padding: 20px;
   border-radius: 30px;
   background: rgba(255, 255, 255, 0.06);
   border: 1px solid rgba(255, 255, 255, 0.08);
}

.window-top {
   display: flex;
   gap: 8px;
   margin-bottom: 18px;
}

.window-top span {
   width: 10px;
   height: 10px;
   border-radius: 50%;
}

.window-top span:nth-child(1) {
   background: #ff5f56;
}

.window-top span:nth-child(2) {
   background: #ffbd2e;
}

.window-top span:nth-child(3) {
   background: #27c93f;
}

.board-column {
   display: grid;
   gap: 14px;
   justify-items: center;
   --board-gap: 14px;
}

.task-card {
   padding: 18px;
   border-radius: 24px;
   background: rgba(255, 255, 255, 0.05);
   border: 1px solid rgba(255, 255, 255, 0.06);
   width: 95%;
   transform-origin: center top;
   will-change: transform, opacity, filter;
}

.task-card small {
   display: inline-flex;
   margin-bottom: 10px;
   color: rgba(255, 255, 255, 0.54);
   letter-spacing: 0.1em;
}

.task-card strong {
   display: block;
   margin-bottom: 6px;
   font-size: 1.05rem;
}

.task-card p {
   color: rgba(255, 255, 255, 0.68);
}

.task-card--top {
   width: 100%;
   opacity: 1;
   z-index: 3;
   transition: width 1s;
}

.task-card--middle {
   width: 95%;
   opacity: 0.82;
   z-index: 2;
   transition: width 1s;
}

.task-card--bottom {
   width: 87%;
   opacity: 0.44;
   z-index: 1;
   filter: blur(1px) !important;
}

.task-live {
   color: #111;
   background: #ff8222;
   box-shadow: 0 20px 44px rgba(255, 125, 29, 0.3);
   width: 100%;
   opacity: 1;
}

.task-live small,
.task-live p {
   color: rgba(17, 17, 17, 0.72);
}

.board-column.is-animated {
   position: relative;
   display: block;
}

.board-column.is-animated .task-card {
   position: absolute;
   left: 50%;
   margin: 0;
   transform: translate3d(-50%, 0, 0);
}

.pricing-section h2,
.portfolio-section h2 {
   max-width: 16ch;
   text-wrap: balance;
}

.benefits-section h2 {
   max-width: 22ch;
   text-wrap: balance;
}

.pricing-card {
   position: relative;
   padding: 36px;
   border-radius: 38px;
   background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(255, 255, 255, 0.74)),
      linear-gradient(135deg, rgba(90, 22, 255, 0.08), rgba(216, 251, 75, 0.1));
   border: 1px solid rgba(20, 9, 31, 0.08);
   box-shadow: var(--shadow);
}

.pricing-badge {
   display: inline-flex;
   margin-bottom: 22px;
   padding: 10px 14px;
   border-radius: 999px;
   background: rgba(216, 251, 75, 0.68);
   font-size: 0.82rem;
   font-weight: 800;
   letter-spacing: 0.08em;
   text-transform: uppercase;
}

.pricing-top {
   display: grid;
   grid-template-columns: 1.5fr 1fr;
   gap: 24px;
   align-items: start;
}

.pricing-label {
   display: inline-flex;
   margin-bottom: 16px;
   font-weight: 800;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   color: rgba(20, 9, 31, 0.45);
}

.cross-price {
   position: relative;
   display: inline-flex;
   font-family: "Unbounded", "Manrope", system-ui, sans-serif;
   font-size: clamp(3rem, 8vw, 6rem);
   line-height: 0.95;
   letter-spacing: -0.08em;
   font-weight: 400;
}

.cross-price::after {
   content: "";
   position: absolute;
   left: -6%;
   right: -6%;
   top: 52%;
   height: 10px;
   border-radius: 999px;
   background: #ff3e4d;
   transform: rotate(-5deg);
}

.pricing-note {
   margin-top: 18px;
   max-width: 58ch;
   color: var(--muted);
}

.pricing-highlight {
   padding: 24px;
   border-radius: 28px;
   background: rgba(20, 9, 31, 0.04);
   border: 1px solid rgba(20, 9, 31, 0.06);
}

.pricing-highlight strong {
   display: block;
   margin-bottom: 14px;
   font-family: "Unbounded", "Manrope", system-ui, sans-serif;
   font-size: 1rem;
   font-weight: 400;
}

.pricing-highlight ul {
   display: grid;
   gap: 12px;
   margin: 0;
   padding: 0;
   list-style: none;
}

.pricing-highlight li {
   display: flex;
   gap: 12px;
   font-weight: 700;
}

.pricing-highlight li::before {
   content: "";
   margin-top: 7px;
   width: 9px;
   height: 9px;
   border-radius: 50%;
   background: linear-gradient(135deg, var(--violet), var(--lime));
}

.pricing-actions {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: space-between;
   gap: 18px;
   margin-top: 28px;
}

.pricing-footnote {
   max-width: 44ch;
   color: var(--muted);
}

.faq-list {
   display: grid;
   gap: 16px;
}

.faq-item {
   overflow: hidden;
   border-radius: 26px;
   background: rgba(255, 255, 255, 0.7);
   border: 1px solid rgba(20, 9, 31, 0.08);
}

.faq-question {
   width: 100%;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 20px;
   padding: 26px 28px;
   border: 0;
   background: transparent;
   text-align: left;
   font-size: clamp(1rem, 2vw, 1.22rem);
   letter-spacing: -0.04em;
   cursor: pointer;
}

.faq-icon {
   position: relative;
   flex: 0 0 20px;
   width: 20px;
   height: 20px;
}

.faq-icon::before,
.faq-icon::after {
   content: "";
   position: absolute;
   inset: 50% auto auto 50%;
   width: 16px;
   height: 2px;
   background: var(--text);
   transform: translate(-50%, -50%);
   transition: transform 0.25s ease, opacity 0.25s ease;
}

.faq-icon::after {
   transform: translate(-50%, -50%) rotate(90deg);
}

.faq-answer {
   max-height: 0;
   overflow: hidden;
   transition: max-height 0.35s ease;
}

.faq-answer p {
   padding: 0 28px 24px;
}

.faq-item.is-open .faq-icon::after {
   opacity: 0;
   transform: translate(-50%, -50%) rotate(90deg) scaleX(0);
}

.contact-shell {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 24px;
   padding: 36px;
   border-radius: 34px;
   color: white;
   background: linear-gradient(135deg, #12101b, #4712d6 46%, #101824);
   box-shadow: var(--shadow);
}

.contact-shell p {
   margin-top: 14px;
   max-width: 56ch;
   color: rgba(255, 255, 255, 0.7);
}

.contact-shell h2 {
   text-wrap: balance;
   font-weight: 400;
   max-width: 19ch;
}

.contact-actions {
   display: flex;
   flex-direction: column;
   gap: 14px;
}

.site-footer {
   padding: 0 0 34px;
}

.feedback-modal {
   position: fixed;
   inset: 0;
   z-index: 60;
   display: grid;
   place-items: center;
   padding: 24px;
   opacity: 0;
   visibility: hidden;
   transition: opacity 0.24s ease, visibility 0.24s ease;
}

.feedback-modal.is-open {
   opacity: 1;
   visibility: visible;
}

.feedback-modal__backdrop {
   position: absolute;
   inset: 0;
   background: rgba(12, 6, 22, 0.58);
   backdrop-filter: blur(10px);
}

.feedback-modal__dialog {
   position: relative;
   z-index: 1;
   width: min(100%, 560px);
   padding: 32px;
   border-radius: 30px;
   border: 1px solid rgba(255, 255, 255, 0.16);
   background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(246, 241, 252, 0.94)),
      rgba(255, 255, 255, 0.96);
   box-shadow: 0 32px 90px rgba(16, 9, 31, 0.28);
}

.feedback-modal__close {
   position: absolute;
   top: 16px;
   right: 16px;
   display: inline-grid;
   place-items: center;
   width: 42px;
   height: 42px;
   border: 0;
   border-radius: 14px;
   background: rgba(20, 9, 31, 0.06);
   color: var(--text);
   cursor: pointer;
   transition: background 0.22s ease, transform 0.22s ease;
}

.feedback-modal__close:hover,
.feedback-modal__close:focus-visible {
   background: rgba(20, 9, 31, 0.1);
   transform: rotate(90deg);
   outline: none;
}

.feedback-modal__eyebrow {
   display: inline-flex;
   margin-bottom: 14px;
   padding: 8px 12px;
   border-radius: 999px;
   background: rgba(90, 22, 255, 0.08);
   color: var(--violet);
   font-size: 0.74rem;
   font-weight: 800;
   letter-spacing: 0.14em;
   text-transform: uppercase;
}

.feedback-modal__title {
   font-size: clamp(1.5rem, 4vw, 2rem);
   line-height: 1.02;
   letter-spacing: -0.05em;
}

.feedback-modal__text {
   margin-top: 14px;
   max-width: 44ch;
   text-wrap: balance;
}

.feedback-form {
   display: grid;
   gap: 8px;
   margin-top: 24px;
}

.feedback-form.is-submitted .feedback-field,
.feedback-form.is-submitted .feedback-form__actions {
   display: none;
}

.feedback-field {
   display: grid;
   gap: 8px;
}

.feedback-field span {
   color: rgba(20, 9, 31, 0.74);
   font-size: 0.9rem;
   font-weight: 700;
}

.feedback-field input {
   width: 100%;
   min-height: 56px;
   padding: 0 18px;
   border: 1px solid rgba(20, 9, 31, 0.12);
   border-radius: 18px;
   background: rgba(255, 255, 255, 0.86);
   color: var(--text);
   transition: border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
}

.feedback-field input::placeholder {
   color: rgba(20, 9, 31, 0.42);
}

.feedback-field input:focus {
   border-color: rgba(90, 22, 255, 0.4);
   box-shadow: 0 0 0 4px rgba(90, 22, 255, 0.08);
   outline: none;
}

.feedback-form__actions {
   display: grid;
   gap: 15px;
   margin-top: 6px;
}

.feedback-form__actions .button {
   width: 100%;
   border: none;
   cursor: pointer;
}

.feedback-form__actions .button:disabled {
   opacity: 0.72;
   cursor: wait;
   box-shadow: none;
   transform: none;
}

.feedback-form__note {
   font-size: 0.88rem;
   color: rgba(20, 9, 31, 0.54);
}

.feedback-form__status {
   min-height: 1.4em;
   margin: 2px 0 0;
   font-size: 0.92rem;
   font-weight: 700;
   color: var(--violet);
}

.feedback-form__status[data-state="loading"] {
   color: rgba(20, 9, 31, 0.62);
}

.feedback-form__status[data-state="success"] {
   color: #16895a;
}

.feedback-form__status[data-state="error"] {
   color: #cf2f48;
}

body.modal-open {
   overflow: hidden;
}

.footer-shell {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 18px;
   padding-top: 28px;
   border-top: 1px solid rgba(20, 9, 31, 0.1);
}

.footer-links {
   display: flex;
   flex-wrap: wrap;
   gap: 16px;
   color: rgba(20, 9, 31, 0.72);
   font-weight: 700;
}

.footer-brand .brand-logo {
   height: 38px;
}

.footer-shell p {
   font-size: 0.92rem;
}

.reveal {
   opacity: 0;
   transform: translateY(28px);
   transition:
      opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),
      transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
   will-change: opacity, transform;
}

.reveal.is-visible {
   opacity: 1;
   transform: none;
}

.benefits-grid.reveal .feature {
   opacity: 0;
   transform: translateY(20px);
   transition:
      opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1),
      transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.benefits-grid.reveal.is-visible .feature {
   opacity: 1;
   transform: none;
}

.benefits-grid.reveal.is-visible .feature:nth-child(1) {
   transition-delay: 0s;
}

.benefits-grid.reveal.is-visible .feature:nth-child(2) {
   transition-delay: 0.06s;
}

.benefits-grid.reveal.is-visible .feature:nth-child(3) {
   transition-delay: 0.12s;
}

.benefits-grid.reveal.is-visible .feature:nth-child(4) {
   transition-delay: 0.18s;
}

.benefits-grid.reveal.is-visible .feature:nth-child(5) {
   transition-delay: 0.24s;
}

.benefits-grid.reveal.is-visible .feature:nth-child(6) {
   transition-delay: 0.3s;
}

.benefits-grid.reveal.is-visible .feature:nth-child(7) {
   transition-delay: 0.36s;
}

.benefits-grid.reveal.is-visible .feature:nth-child(8) {
   transition-delay: 0.42s;
}

.benefits-grid.reveal.is-visible .feature:nth-child(9) {
   transition-delay: 0.48s;
}

.benefits-grid.reveal.is-visible .feature:nth-child(10) {
   transition-delay: 0.54s;
}

.faq-list.reveal .faq-item {
   opacity: 0;
   transform: translateY(16px);
   transition:
      opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1),
      transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.faq-list.reveal.is-visible .faq-item {
   opacity: 1;
   transform: none;
}

.faq-list.reveal.is-visible .faq-item:nth-child(1) {
   transition-delay: 0s;
}

.faq-list.reveal.is-visible .faq-item:nth-child(2) {
   transition-delay: 0.07s;
}

.faq-list.reveal.is-visible .faq-item:nth-child(3) {
   transition-delay: 0.14s;
}

.faq-list.reveal.is-visible .faq-item:nth-child(4) {
   transition-delay: 0.21s;
}

.faq-list.reveal.is-visible .faq-item:nth-child(5) {
   transition-delay: 0.28s;
}

.faq-list.reveal.is-visible .faq-item:nth-child(6) {
   transition-delay: 0.35s;
}

.faq-list.reveal.is-visible .faq-item:nth-child(7) {
   transition-delay: 0.42s;
}

.faq-list.reveal.is-visible .faq-item:nth-child(8) {
   transition-delay: 0.49s;
}

.faq-list.reveal.is-visible .faq-item:nth-child(9) {
   transition-delay: 0.56s;
}

.process-shell.reveal .process-list li {
   opacity: 0;
   transform: translateY(16px);
   transition:
      opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1),
      transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.process-shell.reveal.is-visible .process-list li {
   opacity: 1;
   transform: none;
}

.process-shell.reveal.is-visible .process-list li:nth-child(1) {
   transition-delay: 0.1s;
}

.process-shell.reveal.is-visible .process-list li:nth-child(2) {
   transition-delay: 0.22s;
}

.process-shell.reveal.is-visible .process-list li:nth-child(3) {
   transition-delay: 0.34s;
}

.hero-copy.reveal {
   transition-delay: 0.1s;
}

.hero-stage.reveal {
   transition-delay: 0.3s;
}

.process-section h2 {
   margin-bottom: 24px;
   max-width: 18ch;
}

.benefits-section h2 {
   margin-bottom: 24px;
}

@media (max-width: 1120px) {

   .hero-grid,
   .process-shell,
   .pricing-top,
   .split-head {
      grid-template-columns: 1fr;
   }

   .hero-stage {
      min-height: auto;
   }

   .dashboard-card {
      position: relative;
      margin-top: 0;
      width: 100%;
      max-width: 560px;
      margin-inline: auto;
   }

   .metrics {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .feature-wide,
   .feature-pink {
      grid-column: span 6;
   }

   .portfolio-gallery {
      --portfolio-card-size: clamp(220px, 34vw, 300px);
   }

   .portfolio-carousel.is-top {
      transform: translateX(-10px) rotate(-0.85deg);
   }

   .portfolio-carousel.is-bottom {
      transform: translateX(10px) rotate(0.85deg);
   }
}

@media (prefers-reduced-motion: reduce) {
   html {
      scroll-behavior: auto;
   }

   .reveal,
   .reveal .feature,
   .reveal .faq-item,
   .reveal .process-list li {
      opacity: 1 !important;
      transform: none !important;
      transition: none !important;
   }

   .dashboard-carousel-viewport,
   .portfolio-carousel-viewport {
      overflow-x: auto;
      scrollbar-width: none;
      -ms-overflow-style: none;
   }

   .dashboard-carousel-viewport::-webkit-scrollbar,
   .portfolio-carousel-viewport::-webkit-scrollbar {
      display: none;
   }

   .portfolio-carousel.is-top,
   .portfolio-carousel.is-bottom,
   .portfolio-shot,
   .portfolio-shot img {
      transform: none;
   }

   .portfolio-shot {
      opacity: 1;
      filter: none;
   }

   *,
   *::before,
   *::after {
      animation: none !important;
      transition: none !important;
   }
}

@media (max-width: 820px) {
   .section {
      padding: 40px 0;
      scroll-margin-top: 70px;
   }

   .menu-toggle {
      display: inline-grid;
      place-items: center;
   }

   .site-nav {
      position: absolute;
      top: calc(100% + 12px);
      left: 20px;
      right: 20px;
      display: grid;
      gap: 8px;
      padding: 14px;
      background: rgba(255, 255, 255, 0.92);
      border: 1px solid rgba(20, 9, 31, 0.08);
      border-radius: 22px;
      box-shadow: 0 24px 60px rgba(20, 9, 31, 0.12);
      opacity: 0;
      visibility: hidden;
      transform: translateY(-10px);
      transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
   }

   .site-header .container {
      position: relative;
   }

   body.menu-open .site-nav {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
   }

   body.menu-open .menu-toggle span:first-child {
      top: 25px;
      transform: translateX(-50%) rotate(45deg);
   }

   body.menu-open .menu-toggle span:nth-child(2) {
      opacity: 0;
      transform: translateX(-50%) scaleX(0.4);
   }

   body.menu-open .menu-toggle span:last-child {
      top: 25px;
      transform: translateX(-50%) rotate(-45deg);
   }

   .hero {
      padding-top: 22px;
   }

   .hero-grid {
      gap: 22px;
      padding-top: 18px;
   }

   h1 {
      font-size: clamp(2.7rem, 10.5vw, 3.35rem);
      line-height: 0.92;
   }

   .hero-lead {
      font-size: 1.04rem;
   }

   .hero-actions,
   .dashboard-actions,
   .contact-actions {
      display: grid;
      grid-template-columns: 1fr;
   }

   .hero-actions .button,
   .dashboard-actions .button,
   .contact-actions .button {
      width: 100%;
      flex-basis: 100%;
   }

   .dashboard-card {
      margin-top: 0;
   }

   .dashboard-stack {
      grid-template-columns: 1fr;
   }

   .dashboard-carousel-head {
      font-size: 0.66rem;
   }

   .carousel-case {
      flex-basis: 122px;
      width: 122px;
      max-width: 122px;
   }

   .metrics,
   .benefits-grid,
   .portfolio-gallery {
      grid-template-columns: 1fr;
   }

   .feature,
   .feature-wide,
   .feature-pink {
      grid-column: auto;
   }

   .portfolio-gallery {
      --portfolio-card-size: min(38vw, 288px);
      gap: 14px;
      padding-top: 18px;
   }

   .portfolio-carousel.is-top,
   .portfolio-carousel.is-bottom {
      transform: none;
   }

   .portfolio-carousel-viewport {
      border-radius: 30px;
      padding: 16px 0;
   }

   .portfolio-carousel-viewport::before,
   .portfolio-carousel-viewport::after {
      width: 52px;
   }

   .examples-cta,
   .contact-shell,
   .footer-shell {
      flex-direction: column;
   }

   .process-shell,
   .pricing-card {
      padding: 24px;
   }

   .board-window {
      height: 70vh;
   }
}

@media (max-width: 560px) {
   :root {
      --container: min(100vw - 28px, 100%);
   }

   .header-shell,
   .faq-question,
   .faq-answer p,
   .examples-cta,
   .contact-shell,
   .pricing-card,
   .process-shell {
      padding-left: 18px;
      padding-right: 18px;
   }

   .button {
      width: 100%;
   }

   .hero-actions,
   .contact-actions {
      width: 100%;
   }

   h1 {
      margin-top: initial;
      line-height: 0.93;
      letter-spacing: -0.07em;
      font-size: clamp(2rem, calc(2rem + (2.9 - 2) * ((100vw - 20rem) / (75 - 20))), 2.9rem);
   }

   .hero-lead {
      margin-top: 18px;
      font-size: 0.98rem;
   }

   .hero-quote {
      padding: 16px 18px;
      font-size: 0.98rem;
   }

   .hero-stage {
      margin-top: 8px;
   }

   .stage-ribbon {
      max-width: 290px;
   }

   .ribbon-middle {
      left: 12px;
   }

   .dashboard-card {
      margin-top: 0;
      padding: 16px;
      border-radius: 28px;
   }

   .dashboard-carousel {
      margin-bottom: 14px;
   }

   .dashboard-carousel-viewport {
      padding: 8px;
      border-radius: 22px;
   }

   .dashboard-carousel-viewport::before,
   .dashboard-carousel-viewport::after {
      width: 28px;
   }

   .carousel-case {
      flex-basis: 96px;
      width: 96px;
      max-width: 96px;
      border-radius: 18px;
   }

   .dashboard-main {
      padding: 18px;
      border-radius: 24px;
   }

   .dashboard-main h2 {
      margin-top: 12px;
      font-size: clamp(1.5rem, 8vw, 1.9rem);
   }

   .dashboard-main p {
      font-size: 0.94rem;
   }

   .dashboard-topline,
   .signal {
      gap: 8px;
      font-size: 0.74rem;
   }

   .signal {
      align-items: flex-start;
   }

   .portfolio-carousel-strip {
      gap: 14px;
      padding-right: 14px;
   }

   .portfolio-shot {
      border-radius: 24px;
   }

   .portfolio-carousel-viewport::before,
   .portfolio-carousel-viewport::after {
      width: 30px;
   }

   .cross-price {
      font-size: 2.8rem;
   }

   .feedback-modal {
      padding: 12px;
   }

   .feedback-modal__dialog {
      padding: 24px 18px 18px;
      border-radius: 24px;
   }

}
