:root {
  --bg: #020808;
  --bg-soft: #07100e;

  --text: #f4f7f5;
  --muted: #9ca8a3;

  --line: rgba(111, 255, 201, 0.16);

  --green: #a8ff68;
  --green-2: #58ffb3;
  --green-dark: #005f48;

  --content-width: 1600px;
  --left-width: 690px;

  --radius: 24px;
}


/* RESET */

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;

  font-family: "Inter", sans-serif;
  color: var(--text);

  background:
    radial-gradient(
      circle at 68% 22%,
      rgba(0, 125, 88, 0.18),
      transparent 28%
    ),
    var(--bg);

  overflow-x: hidden;
}

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

button {
  font: inherit;
}

.container {
  width: min(
    calc(100% - 96px),
    var(--content-width)
  );

  margin-inline: auto;
}


/* PAGE */

.page {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
}


/* HEADER */

.header {
  position: relative;
  z-index: 50;

  height: 142px;

  display: grid;
  grid-template-columns: 1fr 800px 1fr;
  align-items: center;
}

.header::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 100vw;
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(
    90deg,
    transparent 0,
    rgba(111, 255, 201, .08) 8%,
    rgba(111, 255, 201, .2) 50%,
    rgba(111, 255, 201, .08) 92%,
    transparent 100%
  );
  box-shadow: 0 0 18px rgba(88, 255, 179, .05);
}

.logo {
  justify-self: start;

  display: flex;
  align-items: center;
  gap: 12px;

  font-size: 26px;
  font-weight: 600;
  line-height: 0;
}

.logo__image {
  display: block;
  width: 154px;
  height: auto;
}

.logo__icon {
  width: 30px;
  height: 30px;

  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
}

.logo__icon i {
  display: block;

  border-radius: 1px;

  background: var(--green);

  box-shadow:
    0 0 16px rgba(168, 255, 104, 0.35);
}

.logo__icon i:nth-child(5) {
  opacity: .2;
}


.header__menus {
  width: 800px;
  display: grid;
  gap: 32px;
  padding: 14px 0 17px;
}

.nav {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 40px;

  color: rgba(255,255,255,.78);

  font-size: 14px;
}

.nav a {
  position: relative;
  white-space: nowrap;
  transition: color .25s ease;
}

.nav a:hover {
  color: white;
}

.nav--primary {
  gap: 25px;
  color: #81968a;
  font-size: 13px;
}

.nav--primary a.is-active {
  color: #f4f7f5;
  font-weight: 600;
}

.nav--primary a.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -10px;
  width: 34px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--green), rgba(168,255,104,.3));
  box-shadow: 0 0 10px rgba(168,255,104,.32);
}


/* BUTTONS */

.button {
  min-height: 62px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 25px;

  padding: 0 36px;

  border-radius: 999px;

  font-weight: 500;

  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}

.button:hover {
  transform: translateY(-2px);
}

.button--header {
  justify-self: end;

  min-height: 50px;

  padding: 0 32px;

  color: #061008;

  background: var(--green);

  box-shadow:
    0 0 34px rgba(168, 255, 104, .15);
}

.button--primary {
  color: #071009;

  background:
    linear-gradient(
      135deg,
      #caff83,
      #9bff5d
    );

  box-shadow:
    0 12px 40px rgba(139,255,92,.16);
}

.button--secondary {
  border: 1px solid rgba(209, 255, 209, .55);

  background:
    rgba(7, 20, 17, .55);

  backdrop-filter: blur(16px);
}

.button__arrow {
  font-size: 28px;
  line-height: 1;
}

.menu-button {
  display: none;
}


/* HERO */

.hero {
  position: relative;

  min-height:
    calc(100vh - 142px);

  display: flex;
  align-items: center;

  padding:
    23px 0 56px;
}

.hero__container {
  position: relative;
  z-index: 3;

  display: grid;

  grid-template-columns:
    minmax(0, var(--left-width))
    minmax(600px, 1fr);

  gap: clamp(40px, 6vw, 100px);

  align-items: center;
}

@media (min-width: 1101px) {
  .hero__container {
    transform: translateY(5px);
  }
}


/* LEFT SIDE */

.hero__content {
  width: 100%;
  max-width: var(--left-width);
}

.eyebrow {
  width: fit-content;

  margin-bottom: 34px;

  padding:
    10px 22px;

  border:
    1px solid
    rgba(65, 255, 177, .44);

  border-radius: 999px;

  color:
    rgba(230,255,242,.82);

  font-size: 14px;

  background:
    rgba(0, 28, 21, .55);

  box-shadow:
    0 0 30px rgba(32,255,165,.06);
}

h1 {
  max-width: 680px;

  margin: 0;

  font-size:
    clamp(58px, 4.3vw, 82px);

  line-height: .98;

  font-weight: 500;

  letter-spacing:
    -0.055em;
}

.hero__description {
  max-width: 640px;

  margin:
    34px 0 0;

  color: var(--muted);

  font-size:
    clamp(18px, 1.15vw, 23px);

  line-height: 1.45;
}

.hero__actions {
  width: 100%;

  display: flex;
  gap: 16px;

  margin-top: 42px;
}

.hero__actions .button {
  min-width: 0;
}

.hero__actions .button--primary {
  flex: 1.05;
}

.hero__actions .button--secondary {
  flex: .95;
}


/*
  ВАЖНО:
  benefits остаётся ровно внутри ширины
  hero__content.
  Поэтому карточки не выходят влево/вправо
  относительно CTA.
*/

.benefits {
  width: 100%;

  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;

  margin-top: 38px;
}

.benefit {
  min-width: 0;
  min-height: 92px;

  display: flex;
  align-items: center;

  gap: 13px;

  padding:
    18px 16px;

  border:
    1px solid var(--line);

  border-radius: 18px;

  background:
    linear-gradient(
      145deg,
      rgba(5, 29, 23, .66),
      rgba(2, 12, 10, .76)
    );

  backdrop-filter: blur(18px);
}

.benefit__icon {
  flex: 0 0 48px;

  width: 48px;
  height: 48px;

  display: grid;
  place-items: center;

  border-radius: 50%;

  color: var(--green);

  font-size: 22px;

  background:
    rgba(27, 255, 160, .08);

  box-shadow:
    inset 0 0 0 1px
    rgba(61,255,182,.08);
}

.benefit div:last-child {
  min-width: 0;
}

.benefit strong,
.benefit span {
  display: block;
}

.benefit strong {
  margin-bottom: 5px;

  font-size: 14px;
  font-weight: 600;
}

.benefit span {
  color: var(--muted);

  font-size: 12px;
  line-height: 1.35;
}


/* RIGHT VISUAL */

.hero__visual {
  position: relative;

  min-width: 0;
  height: 660px;

  perspective: 1600px;
}

.hero__visual::before {
  content: "";

  position: absolute;

  width: 620px;
  height: 620px;

  left: 45%;
  top: 49%;

  transform:
    translate(-50%, -50%);

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(18,255,172,.18),
      rgba(0,102,78,.08) 45%,
      transparent 68%
    );

  filter: blur(16px);
}


/* MOCKUP */

.mockup {
  position: absolute;

  width: min(760px, 95%);
  aspect-ratio: 1.48;

  top: 50%;
  left: 52%;

  transform:
    translate(-50%, -48%)
    rotateX(2deg)
    rotateY(-4deg)
    rotateZ(6deg);

  transform-style: preserve-3d;

  padding: 12px;

  border:
    1px solid rgba(79,255,193,.42);

  border-radius: 34px;

  background:
    linear-gradient(
      145deg,
      #061411,
      #020806
    );

  box-shadow:
    0 40px 100px rgba(0,0,0,.65),
    0 0 60px rgba(33,255,174,.13),
    inset 0 0 0 1px rgba(255,255,255,.03);

  transition:
    transform .25s ease-out;
}

.mockup__inner {
  display: block;
  width: 100%;
  height: 100%;

  overflow: hidden;

  border-radius: 24px;

  background:
    #09110f;
}

.mockup__inner img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/* CONSTRUCTION SITE */

.site-header {
  height: 60px;

  display: flex;
  align-items: center;

  gap: 22px;

  padding:
    0 25px;

  color:
    rgba(255,255,255,.8);

  background:
    #09100f;

  font-size: 10px;
}

.builder-logo {
  display: flex;
  align-items: center;
  gap: 8px;

  margin-right: auto;
}

.builder-logo__icon {
  color: #f1be59;

  font-size: 27px;
}

.builder-logo strong,
.builder-logo small {
  display: block;
}

.builder-logo strong {
  color: white;

  font-size: 14px;
}

.builder-logo small {
  margin-top: 2px;

  color:
    rgba(255,255,255,.45);

  font-size: 7px;
}

.site-nav {
  display: flex;
  gap: 16px;
}

.site-phone {
  color: white;

  font-weight: 600;
}


/* HOUSE HERO */

.construction-hero {
  position: relative;

  min-height: 305px;

  display: flex;
  align-items: center;

  padding:
    30px 34px;

  overflow: hidden;

  background:
    linear-gradient(
      90deg,
      rgba(4,10,9,.96) 0%,
      rgba(4,10,9,.8) 37%,
      rgba(4,10,9,.15) 70%
    ),
    url("./assets/house.jpg")
    center / cover no-repeat;
}

.construction-copy {
  position: relative;
  z-index: 2;

  width: 53%;
}

.construction-overline {
  color: #deb85b;

  font-size: 10px;
  font-weight: 600;
}

.construction-copy h2 {
  margin:
    13px 0 10px;

  font-size: 38px;
  line-height: 1;

  letter-spacing:
    -.045em;
}

.construction-copy p {
  margin: 0;

  color:
    rgba(255,255,255,.72);

  font-size: 11px;
  line-height: 1.45;
}

.construction-actions {
  display: flex;
  gap: 8px;

  margin-top: 21px;
}

.construction-actions button {
  border: 0;

  padding:
    11px 17px;

  border-radius: 7px;

  color: #17130a;

  font-size: 9px;
  font-weight: 600;

  background:
    #efc15e;
}

.construction-actions button.dark {
  color: white;

  border:
    1px solid rgba(255,255,255,.28);

  background:
    rgba(8,11,10,.68);
}

.construction-stats {
  position: absolute;

  right: 18px;
  bottom: 16px;

  display: flex;
  gap: 8px;
}

.construction-stats > div {
  min-width: 104px;

  padding:
    11px 13px;

  border:
    1px solid rgba(255,255,255,.12);

  border-radius: 8px;

  background:
    rgba(4,11,9,.8);

  backdrop-filter:
    blur(10px);
}

.construction-stats strong,
.construction-stats span {
  display: block;
}

.construction-stats strong {
  font-size: 12px;
}

.construction-stats span {
  margin-top: 3px;

  color:
    rgba(255,255,255,.55);

  font-size: 7px;
}


/* PROJECT CARDS */

.project-grid {
  display: grid;

  grid-template-columns:
    repeat(4, 1fr);

  gap: 10px;

  padding: 12px;

  background: #0b1110;
}

.project-card {
  min-width: 0;

  overflow: hidden;

  padding:
    0 0 10px;

  border-radius: 8px;

  color: #111;

  background: #f2f1ec;
}

.project-card__image {
  height: 68px;

  margin-bottom: 8px;

  background-size: cover;
  background-position: center;
}

.project-card__image--1 {
  background:
    linear-gradient(
      135deg,
      #adb9a3,
      #445847
    );
}

.project-card__image--2 {
  background:
    linear-gradient(
      135deg,
      #6f8587,
      #253336
    );
}

.project-card__image--3 {
  background:
    linear-gradient(
      135deg,
      #9c8a73,
      #4d4134
    );
}

.project-card__image--4 {
  background:
    linear-gradient(
      135deg,
      #ddd7cb,
      #7f796d
    );
}

.project-card strong,
.project-card span {
  display: block;

  padding:
    0 8px;
}

.project-card strong {
  min-height: 27px;

  font-size: 9px;
  line-height: 1.2;
}

.project-card span {
  margin-top: 4px;

  color: #686868;

  font-size: 7px;
}


/* FLOATING CARDS */

.float-card {
  position: absolute;
  z-index: 5;

  display: flex;
  align-items: center;
  gap: 12px;

  padding:
    14px 22px;

  border:
    1px solid rgba(64,255,189,.48);

  border-radius: 18px;

  color: white;

  font-size: 18px;
  font-weight: 500;

  background:
    linear-gradient(
      145deg,
      rgba(5,38,29,.94),
      rgba(5,18,15,.92)
    );

  box-shadow:
    0 14px 34px rgba(0,0,0,.38),
    0 0 26px rgba(14,255,163,.07);

  backdrop-filter: blur(18px);
}

.float-card span {
  color: #aaff75;
}

.float-card--strategy {
  left: 8%;
  top: 6%;

  transform:
    rotate(5deg);
}

.float-card--ui {
  right: 0;
  top: 11%;

  transform:
    rotate(6deg);
}

.float-card--copy {
  left: 3%;
  bottom: 8%;

  transform:
    rotate(5deg);
}

.float-card--dev {
  right: -1%;
  bottom: 0;

  transform:
    rotate(7deg);
}


/* ORBITS */

.orbit {
  position: absolute;

  border:
    1px dashed
    rgba(42,255,181,.42);

  border-radius: 50%;

  pointer-events: none;
}

.orbit--one {
  width: 600px;
  height: 470px;

  left: 50%;
  top: 50%;

  transform:
    translate(-50%, -50%)
    rotate(13deg);
}

.orbit--two {
  width: 760px;
  height: 410px;

  left: 49%;
  top: 52%;

  transform:
    translate(-50%, -50%)
    rotate(-15deg);
}

.orbit-dot {
  position: absolute;

  z-index: 3;

  width: 11px;
  height: 11px;

  border-radius: 50%;

  background: #8effd0;

  box-shadow:
    0 0 20px #3dffb2,
    0 0 44px #3dffb2;
}

.orbit-dot--1 {
  left: 14%;
  top: 41%;
}

.orbit-dot--2 {
  right: 8%;
  top: 30%;
}

.orbit-dot--3 {
  left: 27%;
  bottom: 4%;
}


/* BACKGROUND GLOW */

.hero__glow {
  position: absolute;

  border-radius: 50%;

  pointer-events: none;

  filter: blur(100px);
}

.hero__glow--left {
  width: 460px;
  height: 460px;

  left: -240px;
  top: 20%;

  background:
    rgba(0,122,84,.17);
}

.hero__glow--right {
  width: 700px;
  height: 700px;

  right: -250px;
  top: -100px;

  background:
    rgba(0,126,86,.15);
}


/* <= 1400 */

@media (max-width: 1400px) {

  .container {
    width:
      min(calc(100% - 64px), 1280px);
  }

  .hero__container {
    grid-template-columns:
      minmax(0, 570px)
      minmax(500px, 1fr);

    gap: 35px;
  }

  h1 {
    font-size:
      clamp(52px, 4.7vw, 68px);
  }

  .hero__visual {
    height: 590px;
  }

  .float-card {
    padding:
      12px 17px;

    font-size: 15px;
  }

}

/* Responsive completion of the recovered design. */
.hero__container { grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); }
.button { text-align:center; }
.benefit { gap:9px; padding:16px 12px; }
.benefit__icon { flex-basis:32px; width:32px; height:32px; }
.benefit strong { line-height:1.4; }
.mockup { container-type:inline-size; aspect-ratio:1.48; }
.mockup__inner { height:auto; }
.site-header { height:8cqw; gap:2cqw; padding:0 3cqw; font-size:1.3cqw; }
.builder-logo strong { font-size:1.9cqw; }
.builder-logo small { font-size:1cqw; }
.builder-logo__icon { font-size:3.8cqw; }
.site-nav { gap:1.6cqw; }
.construction-hero { min-height:43cqw; padding:4cqw; }
.construction-copy { width:58%; }
.construction-copy h2 { font-size:5.4cqw; margin:1.8cqw 0; }
.construction-overline { font-size:1.3cqw; }
.construction-copy p { font-size:1.6cqw; }
.construction-actions { margin-top:2.5cqw; gap:1cqw; }
.construction-actions button { font-size:1.2cqw; padding:1.5cqw; }
.construction-stats { bottom:2cqw; right:2cqw; gap:1cqw; }
.construction-stats>div { min-width:12cqw; padding:1.5cqw; }
.construction-stats strong { font-size:1.7cqw; }
.construction-stats span { font-size:1cqw; }
.project-grid { gap:1.4cqw; padding:1.6cqw; }
.project-card__image { height:9cqw; background-image:url('./assets/house.jpg'); background-size:cover; }
.project-card__image--2 { background-position:80% 30%; }
.project-card__image--3 { background-position:20% 70%; }
.project-card__image--4 { background-position:70% 60%; }
.project-card strong { font-size:1.3cqw; min-height:3cqw; }
.project-card span { font-size:1cqw; }
.float-card { animation:float 6s ease-in-out infinite; }
.float-card--ui,.float-card--dev { animation-delay:-3s; }
@keyframes float { 50% { translate:0 -9px; } }
:focus-visible { outline:3px solid var(--green); outline-offset:5px; }
dialog { width:min(560px,calc(100% - 32px)); color:var(--text); background:#091a14; border:1px solid #315442; border-radius:24px; padding:40px; max-height:85dvh; }
dialog::backdrop { background:#000b; backdrop-filter:blur(8px); }
dialog h2 { font-size:32px; letter-spacing:-.03em; margin:0 0 24px; }
dialog p { color:#b2c4b9; line-height:1.6; }
.dialog-kicker { color:var(--green); font-size:12px; letter-spacing:.1em; }
.close-dialog { position:absolute; right:12px; top:10px; width:40px; height:40px; background:transparent; border:0; color:white; font-size:28px; cursor:pointer; }
.steps { padding-left:24px; }
.steps li { padding:8px 0 8px 8px; }
.steps p { margin:6px 0; }
@media(max-width:1300px) and (min-width:1101px) {
  .header { height:90px; grid-template-columns:1fr auto; }
  .header>.button { display:none; }
  .menu-button { display:grid; gap:6px; place-content:center; width:48px; height:48px; background:#10251b; border:1px solid var(--line); border-radius:12px; }
  .menu-button span { width:22px; height:2px; background:var(--text); }
  .header__menus { display:none; position:absolute; top:78px; right:0; left:0; width:auto; padding:22px 24px; background:rgba(7,25,17,.98); border:1px solid var(--line); border-radius:16px; box-shadow:0 24px 60px rgba(0,0,0,.45); backdrop-filter:blur(20px); }
  .header__menus.is-open { display:grid; gap:18px; }
  .nav { align-items:flex-start; flex-direction:column; gap:0; }
  .nav a { width:100%; padding:11px 0; }
  .nav--primary { padding-bottom:12px; border-bottom:1px solid rgba(111,255,201,.13); }
  .nav--primary a.is-active::after { bottom:4px; }
}
@media(max-width:1100px) {
  .header { height:90px; grid-template-columns:1fr auto; }
  .header>.button { display:none; }
  .menu-button { display:grid; gap:6px; place-content:center; width:48px; height:48px; background:#10251b; border:1px solid var(--line); border-radius:12px; }
  .menu-button span { width:22px; height:2px; background:var(--text); }
  .header__menus { display:none; position:absolute; top:78px; right:0; left:0; width:auto; padding:22px 24px; background:rgba(7,25,17,.98); border:1px solid var(--line); border-radius:16px; box-shadow:0 24px 60px rgba(0,0,0,.45); backdrop-filter:blur(20px); }
  .header__menus.is-open { display:grid; gap:18px; }
  .nav { align-items:flex-start; flex-direction:column; gap:0; }
  .nav a { width:100%; padding:11px 0; }
  .nav--primary { padding-bottom:12px; border-bottom:1px solid rgba(111,255,201,.13); }
  .nav--primary a.is-active::after { bottom:4px; }
  .hero { padding:40px 0 50px; min-height:calc(100svh - 90px); }
  .hero__container { grid-template-columns:minmax(0,1fr); gap:30px; }
  .hero__content { max-width:720px; margin-inline:auto; }
  h1 { font-size:clamp(48px,7.6vw,76px); }
  .hero__visual { width:min(740px,100%); height:auto; aspect-ratio:1.18; margin-inline:auto; }
  .orbit--one { width:80%; height:75%; }
  .orbit--two { width:98%; height:65%; }
  .mockup { width:90%; left:50%; }
}
@media(max-width:600px) {
  .container { width:calc(100% - 40px); }
  .header { height:80px; }
  .logo { font-size:22px; }
  .logo__icon { width:25px; height:25px; }
  .logo__image { width: 132px; }
  .hero { padding:25px 0 35px; }
  .eyebrow { font-size:11px; padding:9px 12px; margin-bottom:24px; }
  h1 { font-size:clamp(38px,9.4vw,56px); line-height:1.06; letter-spacing:-.045em; }
  .hero__description { font-size:17px; margin-top:24px; }
  .hero__actions { flex-direction:column; gap:12px; margin-top:28px; }
  .button { min-height:56px; padding:0 24px; justify-content:space-between; }
  .benefits { grid-template-columns:minmax(0,1fr); margin-top:24px; gap:8px; }
  .benefit { min-height:70px; padding:12px 16px; gap:14px; border-radius:14px; }
  .benefit__icon { width:38px; height:38px; flex-basis:38px; }
  .benefit strong { font-size:14px; margin-bottom:2px; }
  .hero__visual { aspect-ratio:.94; }
  .float-card { font-size:10px; padding:8px 9px; gap:5px; border-radius:10px; white-space:nowrap; }
  .mockup { width:94%; padding:6px; border-radius:18px; }
  .mockup__inner { border-radius:12px; }
  .hero__visual::before { width:100%; height:100%; }
  .float-card--strategy { left:0; top:0; }
  .float-card--ui { right:0; top:18%; }
  .float-card--copy { left:0; bottom:21%; }
  .float-card--dev { right:0; bottom:0; }
  dialog { padding:32px 24px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

/* Portfolio sector tabs, three project-screen excerpts, and the full result. */
.portfolio-tabs {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:34px 0 22px;
}
.portfolio-tab {
  min-height:42px;
  padding:0 16px;
  border:1px solid rgba(111,255,201,.15);
  border-radius:999px;
  color:#b5c5bb;
  background:rgba(6,24,18,.65);
  font:inherit;
  font-size:13px;
  cursor:pointer;
  transition:color .2s ease,border-color .2s ease,background .2s ease;
}
.portfolio-tab:hover { border-color:rgba(111,255,201,.42);color:#f4f7f5; }
.portfolio-tab.is-active { border-color:rgba(168,255,104,.55);color:#071009;background:var(--green);box-shadow:0 0 24px rgba(168,255,104,.1); }
.portfolio-tab:focus-visible,.portfolio-empty__show:focus-visible { outline:2px solid var(--green);outline-offset:3px; }
.portfolio-panel-note { margin:0 0 16px;color:#82998c;font-size:13px;line-height:1.5; }
.portfolio-screen-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
.portfolio-screen-card { min-width:0;overflow:hidden;border:1px solid rgba(111,255,201,.15);border-radius:18px;background:linear-gradient(145deg,rgba(8,28,21,.9),rgba(3,13,10,.96)); }
.portfolio-screen-card__link { display:block;height:100%;color:inherit;text-decoration:none; }
.portfolio-screen-card__link:focus-visible { outline:2px solid var(--green);outline-offset:-3px;border-radius:18px; }
.portfolio-screen-card__image { position:relative;overflow:hidden;aspect-ratio:1.55;background:#07110d; }
.portfolio-screen-card__image::after { position:absolute;content:"";inset:45% 0 0;background:linear-gradient(transparent,rgba(1,8,5,.28));pointer-events:none; }
.portfolio-screen-card__image img { width:100%;height:100%;display:block;object-fit:cover;object-position:center top;transition:transform .4s ease; }
.portfolio-screen-card:hover .portfolio-screen-card__image img { transform:scale(1.035); }
.portfolio-screen-card__image--detail img { transform:scale(1.34);transform-origin:72% 46%; }
.portfolio-screen-card:hover .portfolio-screen-card__image--detail img { transform:scale(1.4); }
.portfolio-screen-card__image--services img { transform:scale(1.45);transform-origin:52% 86%; }
.portfolio-screen-card:hover .portfolio-screen-card__image--services img { transform:scale(1.51); }
.portfolio-screen-card__image>span,.portfolio-result__image>span { position:absolute;z-index:1;left:12px;top:12px;display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(168,255,104,.28);border-radius:999px;color:#e2f4e6;background:rgba(3,15,11,.78);font-size:9px;font-weight:600;letter-spacing:.08em;backdrop-filter:blur(8px); }
.portfolio-screen-card__caption { position:relative;padding:15px 17px 18px; }
.portfolio-screen-card__caption>span { color:#79a88d;font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.08em; }
.portfolio-screen-card__caption h3 { margin:7px 0 3px;color:#f1f5f2;font-size:19px;font-weight:500;letter-spacing:-.025em; }
.portfolio-screen-card__caption p { margin:0;color:#8fa198;font-size:13px;line-height:1.45; }
.portfolio-screen-card__caption h3 { overflow-wrap:anywhere; }
.portfolio-load-more-wrap { display:flex;justify-content:center;margin-top:22px; }
.portfolio-load-more-wrap[hidden] { display:none; }
.portfolio-load-more { display:inline-flex;align-items:center;gap:14px;min-height:48px;padding:0 22px;border:1px solid rgba(168,255,104,.42);border-radius:999px;color:var(--green);background:rgba(10,35,24,.72);font:inherit;font-size:14px;cursor:pointer;transition:background .2s ease,transform .2s ease; }
.portfolio-load-more:hover { transform:translateY(-2px);background:rgba(26,67,40,.72); }
.portfolio-load-more span { font-size:18px; }
.portfolio-empty { display:flex;align-items:center;gap:16px;min-height:110px;padding:22px;border:1px solid rgba(111,255,201,.16);border-radius:17px;background:rgba(6,22,17,.72); }
.portfolio-empty[hidden] { display:none; }
.portfolio-empty__mark { width:40px;height:40px;display:grid;place-items:center;flex:none;border-radius:50%;color:var(--green);background:rgba(168,255,104,.09);font-size:21px; }
.portfolio-empty strong { color:#e9f1eb;font-size:15px;font-weight:500; }
.portfolio-empty p { margin:5px 0 0;color:#95a69c;font-size:13px;line-height:1.5; }
.portfolio-empty__show { margin-left:auto;flex:none;padding:11px 14px;border:1px solid rgba(168,255,104,.38);border-radius:999px;color:var(--green);background:transparent;font:inherit;font-size:12px;cursor:pointer; }
.portfolio-result { display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);align-items:center;gap:clamp(28px,5vw,72px);margin-top:clamp(82px,10vw,140px);padding-top:clamp(42px,6vw,78px);border-top:1px solid rgba(111,255,201,.13); }
.portfolio-result__copy .portfolio-eyebrow { margin-bottom:17px; }
.portfolio-result__copy h3 { margin:0 0 16px;font-size:clamp(32px,4.3vw,54px);font-weight:500;line-height:1.03;letter-spacing:-.05em; }
.portfolio-result__copy h3 span { color:#8db5a0; }
.portfolio-result__copy>p:not(.portfolio-result__disclaimer) { margin:0;color:#a5b2ab;font-size:15px;line-height:1.65; }
.portfolio-result__details { display:grid;gap:12px;margin-top:24px; }
.portfolio-result__details>div { display:grid;grid-template-columns:26px minmax(0,1fr);align-items:start;gap:10px; }
.portfolio-result__details>div>span { padding-top:2px;color:#82bf9a;font-size:11px;font-variant-numeric:tabular-nums; }
.portfolio-result__details p { margin:0;color:#d4e0d8;font-size:14px;line-height:1.5; }
.portfolio-result__disclaimer { margin:23px 0 0;color:#788c81;font-size:11px;line-height:1.5; }
.portfolio-result__image { position:relative;overflow:hidden;aspect-ratio:1.5;border:1px solid rgba(111,255,201,.21);border-radius:22px;background:#07100e;box-shadow:0 30px 90px rgba(0,0,0,.32),0 0 55px rgba(0,126,86,.08); }
.portfolio-result__image img { width:100%;height:100%;display:block;object-fit:cover; }
.portfolio-result__image>span { left:16px;top:16px;font-size:10px; }
.portfolio-result__image>span i { width:7px;height:7px;border-radius:50%;background:var(--green); }
.portfolio-reassurance { display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:20px;margin-top:34px;padding:25px 28px;border:1px solid rgba(168,255,104,.2);border-radius:19px;background:radial-gradient(ellipse at 0 0,rgba(31,94,57,.22),transparent 70%),rgba(6,22,17,.78); }
.portfolio-reassurance__icon { width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(168,255,104,.2);border-radius:50%;color:var(--green);background:rgba(168,255,104,.08);font-size:20px; }
.portfolio-reassurance__copy>span { color:#9fc6aa;font-size:10px;font-weight:600;letter-spacing:.12em; }
.portfolio-reassurance__copy h3 { margin:5px 0 6px;color:#f2f7f3;font-size:20px;font-weight:500;letter-spacing:-.025em; }
.portfolio-reassurance__copy p { max-width:800px;margin:0;color:#9eaea4;font-size:13px;line-height:1.55; }
.portfolio-reassurance .button { min-height:50px;padding:0 19px;gap:12px;white-space:nowrap; }
@media(max-width:1000px) {
  .portfolio-screen-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .portfolio-result { grid-template-columns:minmax(0,1fr); }
  .portfolio-result__copy { max-width:700px; }
}
@media(max-width:600px) {
  .portfolio-tabs { flex-wrap:nowrap;overflow-x:auto;margin:26px -20px 17px;padding:0 20px 9px;scrollbar-width:thin;scrollbar-color:rgba(111,255,201,.35) transparent; }
  .portfolio-tab { min-height:39px;padding:0 14px;white-space:nowrap;font-size:12px; }
  .portfolio-panel-note { font-size:12px; }
  .portfolio-screen-grid { grid-template-columns:minmax(0,1fr);gap:11px; }
  .portfolio-screen-card { display:block;border-radius:14px; }
  .portfolio-screen-card__link { display:block;width:100%; }
  .portfolio-screen-card__image { width:100%;min-height:0;height:auto;aspect-ratio:1.55; }
  .portfolio-screen-card__image>span { top:8px;left:8px;padding:6px 8px;font-size:8px; }
  .portfolio-screen-card__caption { display:flex;flex-direction:column;justify-content:center;padding:14px 15px 16px; }
  .portfolio-screen-card__caption h3 { font-size:16px; }
  .portfolio-screen-card__caption p { font-size:11px; }
  .portfolio-load-more-wrap { margin-top:16px; }
  .portfolio-empty { align-items:flex-start;flex-wrap:wrap;padding:17px; }
  .portfolio-empty>div { flex:1 1 calc(100% - 60px); }
  .portfolio-empty__show { margin:0 0 0 56px; }
  .portfolio-result { gap:22px;margin-top:70px;padding-top:40px; }
  .portfolio-result__copy h3 { font-size:36px; }
  .portfolio-result__copy>p:not(.portfolio-result__disclaimer) { font-size:14px; }
  .portfolio-result__image { border-radius:15px; }
  .portfolio-result__image>span { top:9px;left:9px;padding:6px 8px;font-size:8px; }
  .portfolio-reassurance { grid-template-columns:38px minmax(0,1fr);gap:13px;margin-top:24px;padding:18px;border-radius:16px; }
  .portfolio-reassurance__icon { width:36px;height:36px;font-size:17px; }
  .portfolio-reassurance__copy h3 { font-size:18px;line-height:1.25; }
  .portfolio-reassurance__copy p { font-size:12px; }
.portfolio-reassurance .button { grid-column:1/-1;width:100%; }
}

/* WORKFLOW */
.workflow-section {
  position:relative;
  overflow:hidden;
  padding:clamp(76px,9vw,132px) 0;
  border-top:1px solid rgba(111,255,201,.1);
  background:radial-gradient(ellipse at 18% 0%,rgba(0,125,88,.13),transparent 38%),#030a08;
}
.workflow-section::before {
  position:absolute;
  inset:0;
  content:"";
  pointer-events:none;
  opacity:.18;
  background-image:linear-gradient(rgba(82,180,138,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(82,180,138,.045) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to bottom,black,transparent 80%);
}
.workflow-container { position:relative;max-width:1440px; }
.workflow-heading { max-width:760px;margin-bottom:28px; }
.workflow-heading h2 { margin:0;font-size:clamp(38px,5.2vw,68px);line-height:1.02;letter-spacing:-.055em;font-weight:500; }
.workflow-heading h2 span { color:#8db5a0; }
.workflow-heading>p { max-width:580px;margin:18px 0 0;color:#a5b2ab;font-size:16px;line-height:1.65; }
.workflow-switch { display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px; }
.workflow-switch__button { min-height:46px;padding:0 20px;border:1px solid rgba(111,255,201,.22);border-radius:999px;color:#dcebe1;background:rgba(6,27,18,.8);font-size:14px;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s,color .2s; }
.workflow-switch__button:hover { border-color:rgba(168,255,104,.56); }
.workflow-switch__button.is-active { border-color:var(--green);color:#0b1c0d;background:var(--green); }
.workflow-summary { margin:0 0 26px;color:#a9c7b1;font-size:13px;line-height:1.5; }
.workflow-list { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0;padding:0;list-style:none;counter-reset:workflow; }
.workflow-section[data-plan="premium"] .workflow-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
.workflow-section[data-plan="compact"] .workflow-step:last-child { grid-column:span 2; }
.workflow-step { min-height:224px;padding:22px;border:1px solid rgba(111,255,201,.14);border-radius:17px;background:linear-gradient(145deg,rgba(8,28,21,.88),rgba(3,13,10,.96)); }
.workflow-step__visual { position:relative;display:flex;height:132px;align-items:center;justify-content:flex-start;gap:8px;margin:0 0 -18px; }
.workflow-step__visual img { display:block;width:auto;max-width:110px;height:132px;margin-left:-6px;object-fit:contain;object-position:left center;filter:drop-shadow(0 0 9px rgba(70,255,150,.16)); }
.workflow-step__number { position:absolute;top:8px;right:0;display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(168,255,104,.25);border-radius:50%;color:var(--green);background:rgba(168,255,104,.07);font-size:10px;font-variant-numeric:tabular-nums; }
.workflow-step h3 { position:relative;z-index:1;margin:0 0 9px;color:#eff5f0;font-size:17px;font-weight:500;line-height:1.3;letter-spacing:-.02em; }
.workflow-step p { position:relative;z-index:1;margin:0;color:#96a99d;font-size:13px;line-height:1.55; }
.workflow-step--featured { border-color:rgba(168,255,104,.32);background:linear-gradient(145deg,rgba(14,47,30,.82),rgba(4,18,13,.97)); }
.workflow-step--featured .workflow-step__number { color:#081009;background:var(--green); }
.workflow-cta { display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding:22px 25px;border:1px solid rgba(111,255,201,.13);border-radius:17px;background:rgba(6,22,17,.65); }
.workflow-cta p { margin:0;color:#bac8bf;font-size:15px;line-height:1.5; }
.workflow-cta .button { min-height:50px;padding:0 20px;gap:14px;white-space:nowrap; }
#workflow { scroll-margin-top:30px; }
@media(max-width:1000px) {
  .workflow-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .workflow-section[data-plan="premium"] .workflow-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .workflow-step { min-height:205px; }
}
@media(max-width:600px) {
  .workflow-section { padding:70px 0 64px; }
  .workflow-heading { margin-bottom:28px; }
  .workflow-heading h2 { font-size:clamp(34px,9vw,46px);line-height:1.04; }
  .workflow-heading>p { margin-top:13px;font-size:14px;line-height:1.55; }
  .workflow-switch { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px; }
  .workflow-switch__button { min-height:44px;padding:5px 6px;border-radius:12px;font-size:11px;line-height:1.2; }
  .workflow-summary { margin-bottom:17px;font-size:12px; }
  .workflow-list { grid-template-columns:minmax(0,1fr);gap:9px; }
  .workflow-section[data-plan="premium"] .workflow-list { grid-template-columns:minmax(0,1fr); }
  .workflow-section[data-plan="compact"] .workflow-step:last-child { grid-column:auto; }
  .workflow-step { min-height:0;padding:17px;border-radius:14px; }
  .workflow-step__visual { height:112px;margin:0 0 -20px; }
  .workflow-step__visual img { max-width:100px;height:112px;margin-left:-5px; }
  .workflow-step__number { top:7px;width:29px;height:29px;font-size:9px; }
  .workflow-step h3 { margin-bottom:6px;font-size:16px; }
  .workflow-step p { font-size:12px; }
  .workflow-cta { align-items:stretch;flex-direction:column;gap:15px;margin-top:17px;padding:17px;border-radius:14px; }
  .workflow-cta p { font-size:13px; }
  .workflow-cta .button { width:100%; }
}

/* GUIDE */
.guide-section { padding:26px 0 clamp(70px,7vw,110px);background:#020a08; }
.guide-container { max-width:1440px; }
.guide-panel { position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(350px,.88fr) minmax(0,1.12fr);align-items:center;min-height:520px;overflow:hidden;border:1px solid rgba(168,255,104,.3);border-radius:28px;background:radial-gradient(ellipse at 24% 47%,rgba(32,119,68,.32),transparent 43%),linear-gradient(235deg,#0d2419 0%,#081710 55%,#05110d 100%);box-shadow:0 28px 85px rgba(0,0,0,.22); }
.guide-panel::before { position:absolute;inset:0;z-index:-1;content:"";opacity:.32;pointer-events:none;background-image:linear-gradient(rgba(114,240,160,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(114,240,160,.035) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(90deg,transparent,black 80%); }
.guide-copy { position:relative;z-index:2;padding:clamp(32px,5vw,68px) clamp(26px,5vw,70px); }
.guide-copy .portfolio-eyebrow { margin-bottom:19px; }
.guide-copy h2 { max-width:660px;margin:0;color:#f4faf4;font-size:clamp(38px,4.1vw,60px);font-weight:500;line-height:1.05;letter-spacing:-.055em; }
.guide-copy h2 span { display:block;max-width:640px;margin-top:12px;color:var(--green);font-size:.56em;line-height:1.23;letter-spacing:-.035em; }
.guide-copy>p { max-width:650px;margin:20px 0 0;color:#b4c8b9;font-size:16px;line-height:1.6; }
.guide-form { max-width:665px;margin-top:30px; }
.guide-form__fields { display:grid;grid-template-columns:1fr 1.15fr;gap:11px; }
.guide-form label { display:grid;gap:8px;color:#c1d8c7;font-size:12px;font-weight:500; }
.guide-form input { width:100%;min-width:0;height:53px;padding:0 15px;border:1px solid rgba(165,233,185,.27);border-radius:12px;outline:none;color:#e8f6eb;background:rgba(2,13,9,.65);font:inherit;font-size:14px; }
.guide-form input::placeholder { color:#7f9c88;opacity:1; }
.guide-form>button { display:flex;align-items:center;justify-content:space-between;width:100%;min-height:54px;margin-top:12px;padding:0 20px;border:0;border-radius:13px;color:#213820;background:linear-gradient(100deg,#d4ffac,#a8ff68);font-size:15px;font-weight:600;text-align:left;cursor:pointer; }
.guide-form>button:disabled { opacity:.58;cursor:wait; }
.guide-form>button span { font-size:24px;font-weight:400; }
.guide-form__note { margin:16px 0 0;color:#93aa99;font-size:12px;line-height:1.45; }
.guide-form__privacy,.request-form__privacy { margin:9px 0 0;color:#8fa99a;font-size:11px;line-height:1.55; }
.guide-form__privacy a,.request-form__privacy a { color:#c4eec8;text-decoration:underline;text-decoration-color:rgba(196,238,200,.5);text-underline-offset:3px; }
.guide-form__privacy a:hover,.request-form__privacy a:hover { color:var(--green);text-decoration-color:var(--green); }
.guide-form .form-honeypot,.request-form .form-honeypot { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;pointer-events:none; }
.form-status { margin:10px 0 0;color:#baff9c;font-size:12px;line-height:1.5; }
.form-status:empty { display:none; }
.form-status[data-state="error"],.request-form__status[data-state="error"] { color:#ffd0b8; }
.guide-visual { position:relative;display:grid;place-items:center;min-width:0;min-height:520px;padding:22px 0 20px 30px;transform:translateX(72px); }
.guide-visual__halo { position:absolute;inset:12% 4% 8% 0;border-radius:50%;background:radial-gradient(circle,rgba(91,225,132,.27),rgba(25,100,67,.12) 36%,transparent 69%);filter:blur(12px); }
.guide-visual__orbit { position:absolute;top:15%;left:2%;width:90%;aspect-ratio:1;border:1px solid rgba(168,255,104,.16);border-radius:50%;transform:rotateX(64deg) rotate(-17deg); }
.guide-visual img { position:relative;z-index:1;display:block;width:min(100%,390px);max-height:525px;object-fit:contain;filter:drop-shadow(0 30px 35px rgba(0,0,0,.58)) drop-shadow(0 0 32px rgba(111,255,149,.1));transform:rotate(6deg); }
.guide-visual__badge { position:absolute;z-index:2;right:9%;bottom:12%;padding:10px 14px;border:1px solid rgba(168,255,104,.38);border-radius:999px;color:#ddffcc;background:rgba(5,27,16,.9);box-shadow:0 12px 30px rgba(0,0,0,.25);font-size:12px;font-weight:600;white-space:nowrap; }
@media(max-width:1050px) {
  .guide-panel { grid-template-columns:minmax(270px,.9fr) minmax(0,1.1fr); }
  .guide-copy { padding:42px 30px; }
  .guide-copy h2 { font-size:clamp(35px,4.4vw,50px); }
  .guide-form__fields { grid-template-columns:1fr; }
  .guide-visual img { max-width:350px; }
  .guide-visual { transform:translateX(28px); }
}
@media(max-width:700px) {
  .guide-section { padding:14px 0 66px; }
  .guide-panel { grid-template-columns:1fr;border-radius:21px; }
  .guide-copy { padding:0 24px 30px; }
  .guide-copy h2 { font-size:clamp(34px,7vw,46px); }
  .guide-copy>p { margin-top:16px;font-size:14px; }
  .guide-form { margin-top:24px; }
  .guide-form__fields { grid-template-columns:1fr;gap:12px; }
  .guide-visual { min-height:300px;padding:12px 20px 0;transform:none; }
  .guide-visual img { width:min(67%,260px);max-height:325px; }
  .guide-visual__badge { right:12%;bottom:12%;font-size:10px;padding:8px 11px; }
}
@media(max-width:390px) {
  .guide-copy { padding:0 18px 27px; }
  .guide-copy h2 { font-size:32px; }
  .guide-visual img { width:68%; }
}

/* PRICING */
.pricing-section {
  position:relative;
  isolation:isolate;
  padding:clamp(78px,9vw,130px) 0 clamp(75px,8vw,112px);
  border-top:1px solid rgba(111,255,201,.12);
  background:radial-gradient(ellipse 58% 60% at 50% 46%,rgba(7,75,48,.25),transparent 82%),#020a08;
}
.pricing-container { max-width:1440px; }
.pricing-heading { display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.72fr);align-items:end;gap:60px;margin-bottom:42px; }
.pricing-heading>div { max-width:760px; }
.pricing-heading h2 { margin:0;font-size:clamp(38px,5.2vw,68px);font-weight:500;line-height:1.02;letter-spacing:-.055em; }
.pricing-heading h2 span { color:#9ec5ae; }
.pricing-heading>p { max-width:440px;margin:0 0 5px;color:#afbeb4;font-size:16px;line-height:1.65; }
.pricing-included { display:flex;align-items:center;gap:11px;width:fit-content;margin:0 0 24px;padding:11px 16px;border:1px solid rgba(168,255,104,.27);border-radius:999px;color:#d6eadb;background:rgba(21,55,32,.45);font-size:13px;line-height:1.4; }
.pricing-included span { display:grid;flex:0 0 20px;place-items:center;width:20px;height:20px;border-radius:50%;color:#102112;background:var(--green);font-size:12px;font-weight:700; }
.pricing-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch; }
.pricing-card { position:relative;display:flex;flex-direction:column;min-width:0;padding:30px 30px 27px;overflow:hidden;border:1px solid rgba(111,255,201,.17);border-radius:24px;background:linear-gradient(145deg,rgba(13,34,25,.93),rgba(5,17,13,.98));box-shadow:0 24px 70px rgba(0,0,0,.13); }
.pricing-card::before { position:absolute;inset:0;content:"";pointer-events:none;background:radial-gradient(circle at 80% 2%,rgba(101,220,139,.07),transparent 31%); }
.pricing-card--featured { border-color:rgba(168,255,104,.65);background:linear-gradient(150deg,#10291a 0%,#071b13 50%,#06150f 100%);box-shadow:0 0 0 1px rgba(168,255,104,.06),0 0 60px rgba(100,255,140,.1); }
.pricing-card--featured::before { background:radial-gradient(circle at 80% 0,rgba(143,255,103,.15),transparent 38%); }
.pricing-card__top { position:relative;display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:27px;margin-bottom:20px;color:#79cdaa;font-size:11px;font-weight:700;letter-spacing:.12em; }
.pricing-card__badge { padding:7px 10px;border-radius:99px;color:#0b1b0c;background:var(--green);font-size:10px;letter-spacing:.06em;font-weight:700;white-space:nowrap; }
.pricing-card__icon { position:relative;display:grid;place-items:center;width:54px;height:54px;border:1px solid rgba(130,252,170,.22);border-radius:16px;color:var(--green);background:radial-gradient(circle at 35% 18%,rgba(151,255,153,.16),rgba(9,36,25,.44) 70%); }
.pricing-card__icon svg { width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round; }
.pricing-card h3 { position:relative;margin:22px 0 5px;color:#f5faf6;font-size:clamp(29px,2.45vw,37px);font-weight:600;line-height:1.1;letter-spacing:-.055em; }
.pricing-card--featured h3 { color:#caff9d; }
.pricing-card--premium h3 { color:#edcc87;text-shadow:0 0 25px rgba(237,204,135,.12); }
.pricing-card__sub { position:relative;margin:0;color:#d2e2d6;font-size:15px;font-weight:500;line-height:1.4; }
.pricing-card__desc { position:relative;min-height:93px;margin:19px 0 16px;color:#aebeb4;font-size:14px;line-height:1.55; }
.pricing-card__price { position:relative;display:flex;align-items:baseline;gap:8px;padding-bottom:21px;border-bottom:1px solid rgba(142,230,174,.17);white-space:nowrap; }
.pricing-card__price span { color:#9eaea3;font-size:16px; }
.pricing-card__price strong { color:#fff;font-size:clamp(38px,3vw,47px);font-weight:600;line-height:1;letter-spacing:-.065em; }
.pricing-card__time { position:relative;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px 12px;margin:0;padding-top:15px;color:#9fb7a5;font-size:13px;line-height:1.45; }
.pricing-card__time strong { color:#e8f7e9;font-size:13px;font-weight:600;white-space:nowrap; }
.pricing-card h4 { position:relative;margin:22px 0 15px;color:#deeee2;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase; }
.pricing-card ul { position:relative;display:grid;gap:14px;margin:0 0 27px;padding:0;list-style:none; }
.pricing-card li { display:grid;grid-template-columns:18px minmax(0,1fr);gap:11px;color:#cbd9cf;font-size:13px;line-height:1.45; }
.pricing-card li::before { content:"✓";display:grid;place-items:center;width:17px;height:17px;border:1px solid rgba(160,245,133,.31);border-radius:50%;color:var(--green);font-size:11px;font-weight:700; }
.pricing-card li strong { color:#f0f5f1;font-weight:600; }
.pricing-card__process { position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;margin-bottom:13px;color:#a9e9bd;font-size:12px;font-weight:600; }
.pricing-card__process:hover { color:var(--green); }
.pricing-card__process span { font-size:16px; }
.pricing-card__button { position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:54px;margin-top:auto;padding:0 18px;border:1px solid rgba(154,238,185,.34);border-radius:14px;color:#f5fff7;background:rgba(18,47,31,.28);font-size:14px;font-weight:600;transition:background .2s,border-color .2s,transform .2s; }
.pricing-card__process + .pricing-card__button { margin-top:0; }
.pricing-card__button:hover { border-color:rgba(168,255,104,.7);background:rgba(36,82,49,.45);transform:translateY(-2px); }
.pricing-card__button span:last-child { font-size:25px;font-weight:400;line-height:1; }
.pricing-card--featured .pricing-card__button { border-color:var(--green);color:#081308;background:linear-gradient(110deg,#d9ffa7,var(--green));box-shadow:0 10px 24px rgba(159,255,104,.13); }
.pricing-card--featured .pricing-card__button:hover { background:#d9ffa7; }
.pricing-card__fit { position:relative;margin:15px 0 0;color:#8caa96;font-size:12px;line-height:1.5; }
.pricing-card__fit strong { color:#bfd4c3; }
.pricing-note { display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:24px;padding:20px 24px;border:1px solid rgba(126,225,166,.14);border-radius:17px;background:rgba(7,21,15,.7); }
.pricing-note p { max-width:900px;margin:0;color:#adbbb0;font-size:13px;line-height:1.5; }
.pricing-note p strong { color:#e8f8e8;font-size:15px;font-weight:600; }
.pricing-note a { color:var(--green);font-size:13px;font-weight:600;white-space:nowrap; }
#pricing { scroll-margin-top:30px; }
@media(max-width:1100px) {
  .pricing-heading { grid-template-columns:minmax(0,1fr);gap:20px; }
  .pricing-heading>p { max-width:720px; }
  .pricing-grid { gap:11px; }
  .pricing-card { padding:23px 20px; }
  .pricing-card__top { font-size:9px; }
  .pricing-card h3 { font-size:28px; }
  .pricing-card__desc { min-height:125px; }
  .pricing-card__price strong { font-size:35px; }
}
@media(max-width:800px) {
  .pricing-section { padding:75px 0 70px; }
  .pricing-heading { margin-bottom:28px; }
  .pricing-heading h2 { font-size:clamp(36px,6vw,52px); }
  .pricing-grid { grid-template-columns:minmax(0,1fr);gap:14px; }
  .pricing-card { padding:26px; }
  .pricing-card__desc { min-height:0; }
  .pricing-card__price strong { font-size:42px; }
  .pricing-note { align-items:flex-start;flex-direction:column;gap:14px; }
}
@media(max-width:600px) {
  .pricing-section { padding:70px 0 64px; }
  .pricing-heading h2 { font-size:clamp(34px,9vw,46px); }
  .pricing-heading>p { font-size:14px;line-height:1.55; }
  .pricing-included { align-items:flex-start;border-radius:15px;font-size:12px; }
  .pricing-card { padding:23px 21px;border-radius:18px; }
  .pricing-card h3 { font-size:32px; }
  .pricing-card__sub { font-size:14px; }
  .pricing-card__desc { font-size:13px; }
  .pricing-card li { font-size:12px; }
  .pricing-card__price strong { font-size:40px; }
  .pricing-note { padding:18px; }
  .pricing-note a { white-space:normal; }
}

.hero__content h1 { font-size:clamp(50px,3.45vw,67px);line-height:1.02;text-wrap:balance; }
.hero__content h1 span { color:#9ec5ae; }
@media(max-width:1100px) { .hero__content h1 { font-size:clamp(46px,6vw,66px); } }
@media(max-width:600px) { .hero__content h1 { font-size:clamp(37px,8.7vw,51px);line-height:1.06; } }

/* PORTFOLIO */
.portfolio-section {
  position: relative;
  isolation: isolate;
  padding: clamp(84px, 10vw, 156px) 0 clamp(76px, 9vw, 132px);
  border-top: 1px solid rgba(111,255,201,.09);
  background:
    radial-gradient(ellipse at 78% 4%, rgba(0,125,88,.14), transparent 36%),
    linear-gradient(180deg, rgba(4,15,12,.94), #020808 72%);
}
.portfolio-section::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  opacity:.2;
  pointer-events:none;
  background-image:linear-gradient(rgba(82,180,138,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(82,180,138,.045) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to bottom,black,transparent 72%);
}
.portfolio-container { max-width:1440px; }
.portfolio-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:48px;
  margin-bottom:48px;
}
.portfolio-heading>div { max-width:760px; }
.portfolio-eyebrow {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:20px;
  color:#a8d5c0;
  font-size:12px;
  font-weight:600;
  letter-spacing:.13em;
}
.portfolio-eyebrow span { width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 16px rgba(168,255,104,.75); }
.portfolio-heading h2 { margin:0; font-size:clamp(38px,5.2vw,68px); line-height:1.02; letter-spacing:-.055em; font-weight:500; }
.portfolio-heading h2 span { color:#8db5a0; }
.portfolio-heading>p { max-width:440px; margin:0 0 5px; color:#a5b2ab; font-size:16px; line-height:1.65; }
.portfolio-feature {
  display:grid;
  grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr);
  align-items:stretch;
  overflow:hidden;
  border:1px solid rgba(111,255,201,.18);
  border-radius:26px;
  background:linear-gradient(125deg,rgba(9,29,22,.92),rgba(4,14,12,.96));
  box-shadow:0 28px 90px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.025);
}
.portfolio-feature__image-wrap { position:relative; min-width:0; align-self:center; margin:26px 0 26px 26px; overflow:hidden; aspect-ratio:1.5; border:1px solid rgba(255,255,255,.13); border-radius:18px; background:#07100e; }
.portfolio-feature__image-wrap::after { content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.22));pointer-events:none; }
.portfolio-feature__image-wrap img { display:block;width:100%;height:100%;object-fit:cover; }
.portfolio-feature__label { position:absolute;z-index:1;left:16px;top:16px;display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(168,255,104,.28);border-radius:999px;background:rgba(3,15,11,.78);color:#d8f4df;font-size:11px;font-weight:600;letter-spacing:.08em;backdrop-filter:blur(12px); }
.portfolio-feature__label i { width:7px;height:7px;border-radius:50%;background:var(--green); }
.portfolio-feature__details { display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(28px,4.4vw,64px); }
.portfolio-feature__category { color:#a4dbb9;font-size:11px;font-weight:600;letter-spacing:.11em;line-height:1.6; }
.portfolio-feature__details h3 { margin:18px 0 14px;color:#f4f7f5;font-size:clamp(28px,3vw,42px);font-weight:500;letter-spacing:-.045em; }
.portfolio-feature__details>p { max-width:450px;margin:0;color:#a5b2ab;font-size:16px;line-height:1.65; }
.portfolio-tags { display:flex;flex-wrap:wrap;gap:8px;margin-top:26px; }
.portfolio-tags span { padding:9px 12px;border:1px solid rgba(111,255,201,.14);border-radius:999px;background:rgba(33,88,63,.16);color:#c3d7cb;font-size:12px; }
.portfolio-directions { margin-top:clamp(64px,8vw,112px); }
.portfolio-directions__heading { display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:22px; }
.portfolio-directions__heading h3 { margin:0;font-size:clamp(22px,2.8vw,32px);font-weight:500;letter-spacing:-.035em; }
.portfolio-directions__heading>span { color:#81998b;font-size:13px; }
.direction-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px; }
.direction-card { min-height:76px;display:grid;grid-template-columns:30px minmax(0,1fr) 16px;align-items:center;gap:10px;padding:14px 15px;border:1px solid rgba(111,255,201,.13);border-radius:14px;background:linear-gradient(140deg,rgba(8,28,21,.72),rgba(4,14,12,.86));transition:border-color .2s ease,background .2s ease,transform .2s ease; }
.direction-card:hover { transform:translateY(-2px);border-color:rgba(111,255,201,.34);background:linear-gradient(140deg,rgba(10,39,28,.84),rgba(4,17,13,.92)); }
.direction-card__number { color:#80b999;font-size:11px;font-variant-numeric:tabular-nums; }
.direction-card>span:nth-child(2) { color:#e3ece6;font-size:14px;line-height:1.4; }
.direction-card__arrow { color:#91b5a0;font-size:15px;text-align:right; }
.portfolio-cta { display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px;padding:24px 26px;border:1px solid rgba(111,255,201,.12);border-radius:18px;background:rgba(6,22,17,.65); }
.portfolio-cta p { margin:0;color:#bac8bf;font-size:15px;line-height:1.5; }
.portfolio-cta .button { min-height:52px;padding:0 22px;gap:16px;white-space:nowrap; }
@media(max-width:1100px) {
  .portfolio-heading { align-items:flex-start;flex-direction:column;gap:18px; }
  .portfolio-heading>p { max-width:680px; }
  .portfolio-feature { grid-template-columns:minmax(0,1fr); }
  .portfolio-feature__image-wrap { margin:18px 18px 0; }
  .portfolio-feature__details { padding:28px; }
  .direction-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .portfolio-section { padding:72px 0 68px; }
  .portfolio-heading { margin-bottom:28px; }
  .portfolio-eyebrow { margin-bottom:16px;font-size:10px; }
  .portfolio-heading h2 { font-size:clamp(34px,9vw,46px);line-height:1.04; }
  .portfolio-heading>p { font-size:15px;line-height:1.55; }
  .portfolio-feature { border-radius:20px; }
  .portfolio-feature__image-wrap { margin:12px 12px 0;border-radius:14px; }
  .portfolio-feature__label { left:10px;top:10px;padding:7px 9px;font-size:9px; }
  .portfolio-feature__details { padding:22px 20px 24px; }
  .portfolio-feature__category { font-size:9px; }
  .portfolio-feature__details h3 { margin:12px 0 9px;font-size:30px; }
  .portfolio-feature__details>p { font-size:14px;line-height:1.55; }
  .portfolio-tags { margin-top:18px;gap:6px; }
  .portfolio-tags span { font-size:11px;padding:7px 9px; }
  .portfolio-directions { margin-top:54px; }
  .portfolio-directions__heading { align-items:flex-start;flex-direction:column;gap:6px;margin-bottom:16px; }
  .portfolio-directions__heading h3 { font-size:24px; }
  .portfolio-directions__heading>span { font-size:12px; }
  .direction-grid { grid-template-columns:minmax(0,1fr);gap:7px; }
  .direction-card { min-height:62px;padding:11px 13px;border-radius:12px; }
  .portfolio-cta { align-items:stretch;flex-direction:column;margin-top:22px;padding:18px;border-radius:16px; }
  .portfolio-cta p { font-size:14px; }
  .portfolio-cta .button { width:100%; }
}

dialog#portfolio-design-dialog { width:min(1180px,calc(100vw - 32px));max-width:none;max-height:min(92dvh,1080px);padding:0;overflow:hidden;border:1px solid rgba(168,255,104,.24);border-radius:18px;color:#eef5ef;background:#07110d; }
dialog#portfolio-design-dialog[open] { display:grid;grid-template-rows:auto minmax(0,1fr); }
dialog#portfolio-design-dialog::backdrop { background:rgba(0,0,0,.82);backdrop-filter:blur(8px); }
.portfolio-screen-card__link { cursor:zoom-in; }
.portfolio-screen-card__link:focus-visible { outline:2px solid var(--green);outline-offset:-3px; }
.portfolio-design-dialog__header { min-height:64px;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:10px 16px 10px 22px;border-bottom:1px solid rgba(255,255,255,.1); }
.portfolio-design-dialog__header>div:first-child { min-width:0;display:grid;gap:3px; }
.portfolio-design-dialog__title { overflow:hidden;color:#f4f8f4;font-size:15px;text-overflow:ellipsis;white-space:nowrap; }
.portfolio-design-dialog__niche { overflow:hidden;color:#aebbb2;font-size:12px;text-overflow:ellipsis;white-space:nowrap; }
.portfolio-design-dialog__actions { display:flex;align-items:center;gap:16px; }
.portfolio-design-dialog__page-link { color:var(--green);font-size:12px;text-decoration:none;white-space:nowrap; }
dialog#portfolio-design-dialog .close-dialog { position:static;flex:none;width:40px;height:40px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.06);font-size:26px;line-height:1; }
.portfolio-design-dialog__body { min-height:0;overflow:auto;overscroll-behavior:contain;background:#f4f4f2; }
.portfolio-design-dialog__image { display:block;width:100%;height:auto;max-width:none;max-height:none; }
@media(max-width:600px) {
  dialog#portfolio-design-dialog { width:calc(100vw - 16px);max-height:94dvh;border-radius:14px; }
  .portfolio-design-dialog__header { min-height:58px;padding:8px 10px 8px 14px;gap:8px; }
  .portfolio-design-dialog__title { font-size:13px; }
  .portfolio-design-dialog__niche { font-size:10px; }
  .portfolio-design-dialog__actions { gap:8px; }
  .portfolio-design-dialog__page-link { font-size:10px; }
dialog#portfolio-design-dialog .close-dialog { width:34px;height:34px; }
}

/* The finished site, shown at desktop and phone sizes. */
.deliverable { grid-template-columns:minmax(290px,.7fr) minmax(0,1.3fr); }
.deliverable .portfolio-result__copy>p { max-width:450px; }
.deliverable__devices { position:relative;min-width:0;padding:18px 45px 55px 0; }
.deliverable__devices::before { content:"";position:absolute;inset:12% 8% 15% 0;border-radius:50%;background:radial-gradient(circle,rgba(23,162,111,.2),transparent 65%);filter:blur(24px);pointer-events:none; }
.deliverable__desktop { position:relative;overflow:hidden;width:100%;padding:6px;border:1px solid rgba(168,255,104,.26);border-radius:18px;background:#102019;box-shadow:0 28px 80px rgba(0,0,0,.5); }
.deliverable__browser { height:28px;display:flex;align-items:center;gap:12px;padding:0 10px;color:#b9d6c1;font-size:10px; }
.deliverable__browser>span { display:flex;gap:4px; }
.deliverable__browser i { width:6px;height:6px;border-radius:50%;background:#759a82; }
.deliverable__browser i:first-child { background:#a8ff68; }
.deliverable__browser b { font-weight:600; }
.deliverable__browser em { margin-left:auto;color:#6d8f7b;font-style:normal; }
.deliverable__desktop img { display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;object-position:top left;border-radius:10px; }
.deliverable__phone { position:absolute;right:0;bottom:48px;overflow:hidden;width:24%;min-width:130px;max-width:205px;padding:5px;border:2px solid #38634b;border-radius:27px;background:#13221b;box-shadow:0 24px 60px rgba(0,0,0,.65),0 0 30px rgba(111,255,201,.15); }
.deliverable__phone img { display:block;width:100%;height:auto;aspect-ratio:390/844;object-fit:cover;border-radius:19px; }
.deliverable__phone-top { position:absolute;z-index:1;top:8px;left:50%;width:31%;height:9px;translate:-50% 0;border-radius:0 0 8px 8px;background:#13221b; }
.deliverable__phone-bottom { position:absolute;bottom:7px;left:50%;width:27%;height:3px;translate:-50% 0;border-radius:999px;background:#8cae9b; }
.deliverable__caption { position:absolute;left:7px;bottom:0;margin:0;color:#829e8c;font-size:11px;letter-spacing:.02em; }

.faq-section { padding:clamp(82px,8vw,132px) 0;border-top:1px solid rgba(111,255,201,.11);background:#05100d; }
.faq-container { max-width:1440px;display:grid;grid-template-columns:minmax(270px,.75fr) minmax(0,1.25fr);gap:clamp(35px,7vw,115px); }
.faq-intro h2 { margin:0;font-size:clamp(38px,5vw,64px);font-weight:500;line-height:1.04;letter-spacing:-.055em; }
.faq-intro h2 span { color:#8db5a0; }
.faq-intro>p { max-width:370px;margin:19px 0 23px;color:#a5b2ab;font-size:15px;line-height:1.65; }
.faq-intro>a { display:inline-flex;align-items:center;gap:20px;color:var(--green);font-size:13px;font-weight:600; }
.faq-list { border-top:1px solid rgba(111,255,201,.18); }
.faq-item { border-bottom:1px solid rgba(111,255,201,.18); }
.faq-item summary { display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px;padding:19px 0;color:#eef5ef;font-size:17px;font-weight:500;line-height:1.4;cursor:pointer;list-style:none; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary>span { flex:none;display:grid;width:29px;height:29px;place-items:center;border:1px solid rgba(168,255,104,.27);border-radius:50%;color:var(--green);font-size:20px;font-weight:300;line-height:1;transition:rotate .2s,background .2s; }
.faq-item[open] summary>span { rotate:45deg;background:rgba(168,255,104,.11); }
.faq-item>p { max-width:690px;margin:-3px 45px 23px 0;color:#9fb0a4;font-size:14px;line-height:1.68; }

.request-section { padding:clamp(80px,8vw,132px) 0;background:radial-gradient(circle at 24% 40%,rgba(0,108,68,.25),transparent 39%),#06130e; }
.request-container { max-width:1440px;display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,.9fr);gap:clamp(32px,7vw,115px);align-items:start; }
.request-intro { padding-top:22px; }
.request-intro h2 { max-width:630px;margin:0;font-size:clamp(40px,5.4vw,72px);font-weight:500;line-height:1.02;letter-spacing:-.055em; }
.request-intro h2 span { color:var(--green); }
.request-intro>p { max-width:500px;margin:23px 0 38px;color:#abc1b1;font-size:17px;line-height:1.65; }
.request-contacts { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:600px; }
.request-contacts a { position:relative;display:grid;gap:9px;min-width:0;padding:20px;border:1px solid rgba(111,255,201,.2);border-radius:15px;background:rgba(3,17,12,.72);transition:border-color .2s,transform .2s; }
.request-contacts a:hover { border-color:rgba(168,255,104,.5);transform:translateY(-2px); }
.request-contacts a>span { color:#8ea999;font-size:11px; }
.request-contacts strong { overflow-wrap:anywhere;font-size:15px;font-weight:500; }
.request-contacts b { position:absolute;top:17px;right:17px;color:var(--green);font-size:15px;font-weight:400; }
.request-form { display:flex;flex-direction:column;padding:clamp(23px,3.5vw,42px);border:1px solid rgba(168,255,104,.22);border-radius:24px;background:linear-gradient(145deg,rgba(13,39,27,.93),rgba(4,17,12,.98));box-shadow:0 26px 80px rgba(0,0,0,.28); }
.request-form__header { display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;color:#9ed4aa;font-size:11px;font-weight:600;letter-spacing:.12em; }
.request-form__header>span:last-child { font-size:21px;font-weight:400;letter-spacing:0; }
.request-form label { margin:0 0 9px;color:#e5f0e8;font-size:13px;font-weight:500; }
.request-form input,.request-form textarea { width:100%;margin:0 0 21px;padding:15px 16px;border:1px solid rgba(111,255,201,.2);border-radius:11px;outline:none;color:#f5faf6;background:#071a11;font:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s; }
.request-form input { min-height:51px; }
.request-form textarea { min-height:118px;resize:vertical; }
.request-form input::placeholder,.request-form textarea::placeholder { color:#738e7b; }
.request-form input:focus,.request-form textarea:focus { border-color:var(--green);box-shadow:0 0 0 3px rgba(168,255,104,.09); }
.request-form__submit { width:100%;margin-top:3px;border:0;cursor:pointer; }
.request-form__submit:disabled { opacity:.6;cursor:wait; }
.request-form__note { margin:15px 0 0;color:#8ca596;font-size:11px;line-height:1.5; }
.request-form__privacy { margin-top:8px; }
.request-form__status { min-height:0;margin:10px 0 0;color:#baff9c;font-size:12px;line-height:1.5; }
.request-form__status:empty { display:none; }

.site-footer { border-top:1px solid rgba(111,255,201,.14);background:#030b08; }
.site-footer__main { display:grid;grid-template-columns:1.3fr .8fr .8fr;gap:45px;padding-top:58px;padding-bottom:60px; }
.site-footer__brand .logo { font-size:23px; }
.site-footer__brand>p { max-width:260px;margin:18px 0 0;color:#8da393;font-size:13px;line-height:1.55; }
.site-footer nav { display:grid;grid-template-columns:repeat(2,max-content);align-content:start;gap:15px 33px;color:#b8c9bd;font-size:13px; }
.site-footer nav a:hover,.site-footer__contact a:hover,.site-footer__bottom a:hover { color:var(--green); }
.site-footer__contact { display:grid;justify-content:start;gap:12px; }
.site-footer__contact>span { color:#8da393;font-size:10px;font-weight:600;letter-spacing:.12em; }
.site-footer__contact>a { font-size:14px; }
.site-footer__bottom { display:flex;justify-content:space-between;gap:20px;padding-top:23px;padding-bottom:27px;border-top:1px solid rgba(111,255,201,.12);color:#6f8a78;font-size:11px; }
.site-footer__bottom a { color:#badbc0; }
.contact-dialog__links { display:grid;gap:10px;margin-top:23px; }
.contact-dialog__links a { padding:12px 15px;border:1px solid rgba(168,255,104,.25);border-radius:10px;color:#cbf1d3;background:rgba(168,255,104,.06);font-size:13px; }
.contact-dialog__links a:hover { border-color:var(--green); }

/* PRIVACY POLICY */
.policy-body { min-height:100vh;background:radial-gradient(circle at 74% 7%,rgba(0,125,88,.15),transparent 33%),#06100c; }
.policy-header { display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:36px;padding-bottom:36px;border-bottom:1px solid rgba(111,255,201,.16); }
.policy-header .logo { position:static;font-size:24px; }
.policy-back { color:#b5d4bf;font-size:13px;font-weight:500; }
.policy-back:hover { color:var(--green); }
.policy-main { max-width:1000px;padding-top:clamp(55px,7vw,95px);padding-bottom:clamp(75px,9vw,120px); }
.policy-main h1 { max-width:900px;margin:18px 0 20px;font-size:clamp(42px,6vw,72px);font-weight:500;line-height:1.04;letter-spacing:-.055em; }
.policy-main h1 span { color:var(--green); }
.policy-lead { max-width:760px;margin:0;color:#b5c8b9;font-size:17px;line-height:1.65; }
.policy-date { margin:24px 0 0;color:#7e9986;font-size:12px; }
.policy-content { margin-top:48px;border-top:1px solid rgba(111,255,201,.17); }
.policy-content section { padding:28px 0;border-bottom:1px solid rgba(111,255,201,.17); }
.policy-content h2 { margin:0 0 15px;color:#f0f7f0;font-size:21px;font-weight:600;line-height:1.35;letter-spacing:-.025em; }
.policy-content p { max-width:850px;margin:0 0 12px;color:#b5c5b9;font-size:15px;line-height:1.7; }
.policy-content p:last-child { margin-bottom:0; }
.policy-content a { color:var(--green);text-decoration:underline;text-underline-offset:3px; }
.policy-footer { display:flex;justify-content:space-between;gap:20px;padding-top:24px;padding-bottom:30px;border-top:1px solid rgba(111,255,201,.16);color:#78907e;font-size:12px; }
.policy-footer a { color:#b9dec0; }
.policy-footer a:hover { color:var(--green); }
@media(max-width:600px) {
  .policy-header { padding-top:22px;padding-bottom:22px; }
  .policy-header .logo { font-size:21px; }
  .policy-back { font-size:11px; }
  .policy-main { padding-top:52px; }
  .policy-main h1 { font-size:clamp(31px,8vw,40px);overflow-wrap:anywhere; }
  .policy-lead { font-size:14px; }
  .policy-content { margin-top:36px; }
  .policy-content section { padding:23px 0; }
  .policy-content h2 { font-size:18px; }
  .policy-content p { font-size:13px; }
}
#faq,#request { scroll-margin-top:30px; }

@media(max-width:1050px) {
  .deliverable { grid-template-columns:minmax(0,1fr); }
  .deliverable__devices { width:min(820px,100%);margin-inline:auto; }
  .faq-container,.request-container { grid-template-columns:minmax(0,1fr); }
  .faq-intro>p { max-width:620px; }
  .request-intro { padding-top:0; }
}
@media(max-width:600px) {
  .deliverable__devices { padding:10px 27px 42px 0; }
  .deliverable__desktop { padding:4px;border-radius:11px; }
  .deliverable__browser { height:18px;gap:6px;padding:0 5px;font-size:7px; }
  .deliverable__browser i { width:4px;height:4px; }
  .deliverable__desktop img { border-radius:6px; }
  .deliverable__phone { right:0;bottom:34px;min-width:90px;width:32%;padding:3px;border-width:1px;border-radius:16px; }
  .deliverable__phone img { border-radius:12px; }
  .deliverable__phone-top { top:4px;height:5px; }
  .deliverable__phone-bottom { bottom:3px;height:2px; }
  .deliverable__caption { font-size:9px; }
  .faq-section,.request-section { padding:72px 0; }
  .faq-container,.request-container { gap:34px; }
  .faq-intro h2,.request-intro h2 { font-size:clamp(36px,9vw,48px); }
  .faq-intro>p { font-size:14px; }
  .faq-item summary { min-height:69px;padding:16px 0;font-size:15px; }
  .faq-item>p { margin:0 24px 20px 0;font-size:13px; }
  .request-intro>p { margin:16px 0 24px;font-size:14px; }
  .request-contacts { grid-template-columns:minmax(0,1fr);gap:8px; }
  .request-contacts a { padding:15px 17px; }
  .request-form { padding:20px;border-radius:17px; }
  .site-footer__main { grid-template-columns:minmax(0,1fr);gap:35px;padding-top:45px;padding-bottom:45px; }
  .site-footer__bottom { flex-wrap:wrap;justify-content:space-between; }
  .site-footer__bottom>span:nth-child(2) { display:none; }
}

/* THANK-YOU PAGE */
.thanks-page { min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 75% 28%,rgba(0,106,72,.2),transparent 39%),#020a08; }
.thanks-page [hidden] { display:none !important; }
.thanks-page .container { width:min(calc(100% - 64px),1440px); }
.thanks-header { display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:30px;padding-bottom:26px; }
.thanks-back { color:#b9d0bd;font-size:14px;transition:color .2s; }
.thanks-back:hover,.thanks-after a:hover,.thanks-footer a:hover { color:var(--green); }
.thanks-main { flex:1;padding-top:clamp(38px,6vw,90px);padding-bottom:70px; }
.thanks-gate { display:grid;gap:15px;justify-items:start;max-width:680px;min-height:190px;padding:36px;border:1px solid rgba(168,255,104,.25);border-radius:24px;color:#bfd2c5;background:rgba(9,29,20,.8);font-size:17px;line-height:1.5; }
.thanks-gate strong { color:#f4faf4;font-size:26px;line-height:1.2; }
.thanks-gate a { display:inline-flex;color:var(--green);font-weight:600; }
.thanks-heading { max-width:820px;margin-bottom:44px; }
.thanks-heading__mark { display:grid;place-items:center;width:58px;height:58px;margin-bottom:23px;border:1px solid rgba(168,255,104,.7);border-radius:50%;color:#08200f;background:var(--green);box-shadow:0 0 34px rgba(168,255,104,.25);font-size:32px;font-weight:700; }
.thanks-heading .portfolio-eyebrow { margin-bottom:18px; }
.thanks-heading h1 { margin:0;color:#f4faf4;font-size:clamp(42px,5.4vw,74px);font-weight:600;line-height:1.04;letter-spacing:-.05em; }
.thanks-heading h1 span { color:var(--green); }
.thanks-heading>p { max-width:690px;margin:19px 0 0;color:#b8cbbf;font-size:17px;line-height:1.55; }
.thanks-guide { position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);align-items:center;min-height:425px;overflow:hidden;border:1px solid rgba(168,255,104,.28);border-radius:28px;background:radial-gradient(ellipse at 76% 50%,rgba(27,115,60,.27),transparent 40%),linear-gradient(115deg,#0a1d14,#07140e); }
.thanks-guide__copy { position:relative;z-index:2;padding:clamp(32px,5vw,68px); }
.thanks-guide__copy .portfolio-eyebrow { margin-bottom:18px; }
.thanks-guide__copy h2 { margin:0;color:#f4faf4;font-size:clamp(38px,4.4vw,62px);font-weight:600;line-height:1.04;letter-spacing:-.05em; }
.thanks-guide__copy p { max-width:570px;margin:20px 0 26px;color:#b9cbbd;font-size:16px;line-height:1.6; }
.thanks-download { display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-width:270px;min-height:58px;padding:0 21px;border-radius:14px;color:#102312;background:linear-gradient(100deg,#d2ffac,#a8ff68);box-shadow:0 13px 34px rgba(97,224,96,.16);font-size:16px;font-weight:600;transition:transform .2s,box-shadow .2s; }
.thanks-download:hover { transform:translateY(-2px);box-shadow:0 17px 38px rgba(97,224,96,.25); }
.thanks-download span { font-size:25px;font-weight:400; }
.thanks-guide__meta { display:block;margin-top:15px;color:#9cb7a1;font-size:12px; }
.thanks-guide__visual { position:relative;display:grid;place-items:center;min-height:425px;padding:25px 48px 25px 0; }
.thanks-guide__glow { position:absolute;inset:12%;border-radius:50%;background:radial-gradient(circle,rgba(116,255,150,.21),transparent 69%);filter:blur(17px); }
.thanks-guide__visual img { position:relative;display:block;width:min(100%,350px);max-height:390px;object-fit:contain;filter:drop-shadow(0 22px 32px rgba(0,0,0,.46));transform:rotate(5deg); }
.thanks-after { margin:24px 0 0;color:#91a99a;font-size:14px; }
.thanks-after a { color:#d8f4d4;text-decoration:underline;text-decoration-color:rgba(216,244,212,.45);text-underline-offset:4px; }
.thanks-footer { display:flex;justify-content:space-between;gap:20px;padding-top:24px;padding-bottom:27px;border-top:1px solid rgba(111,255,201,.14);color:#81988a;font-size:12px; }
@media(max-width:900px) {
  .thanks-guide { grid-template-columns:minmax(0,1fr) minmax(230px,.75fr); }
  .thanks-guide__copy { padding:38px; }
  .thanks-guide__visual { padding:20px 25px 20px 0; }
}
@media(max-width:700px) {
  .thanks-page .container { width:calc(100% - 36px); }
  .thanks-header { padding-top:22px;padding-bottom:15px; }
  .thanks-back { font-size:12px; }
  .thanks-main { padding-top:42px;padding-bottom:52px; }
  .thanks-heading { margin-bottom:34px; }
  .thanks-heading__mark { width:52px;height:52px;font-size:29px; }
  .thanks-heading>p { font-size:15px; }
  .thanks-guide { grid-template-columns:1fr; }
  .thanks-guide__copy { padding:30px 25px 8px; }
  .thanks-guide__copy p { font-size:14px; }
  .thanks-guide__visual { min-height:260px;padding:0 20px 14px; }
  .thanks-guide__visual img { width:min(60%,240px);max-height:260px; }
  .thanks-download { width:100%;min-width:0; }
  .thanks-footer { flex-wrap:wrap; }
}
