:root {
      --paper: #f4f8f2;
      --ink: #111712;
      --muted: #647067;
      --line: rgba(17, 23, 18, .1);
      --white: #ffffff;
      --green: #0c9b63;
      --green-soft: #d8f4df;
      --red: #ff4f3f;
      --yellow: #ffe45e;
      --blue: #4f8cff;
      --blue-soft: #dce9ff;
      --violet: #8067e8;
      --radius: 18px;
      --font-display: "Unbounded", sans-serif;
      --font-body: "Manrope", sans-serif;
    }

    * { box-sizing: border-box; }
    html {
      scroll-behavior: smooth;
      overflow-x: clip;
    }
    body {
      margin: 0;
      background: var(--paper);
      color: var(--ink);
      font-family: var(--font-body);
      letter-spacing: 0;
      text-rendering: optimizeLegibility;
      overflow-x: clip;
      max-width: 100%;
    }

    a { color: inherit; text-decoration: none; }
    button, input, textarea { font: inherit; }

    .wrap {
      width: min(1180px, calc(100% - 40px));
      margin: 0 auto;
    }

    .topbar {
      position: sticky;
      top: 0;
      z-index: 30;
      background: color-mix(in srgb, var(--paper) 92%, transparent);
      backdrop-filter: blur(18px);
    }

    .nav {
      min-height: 72px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }

    .brand {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      font-family: var(--font-display);
      font-weight: 700;
      letter-spacing: -.02em;
      font-size: 18px;
    }

    .mark {
      width: 38px;
      height: 38px;
      display: grid;
      place-items: center;
      background: var(--ink);
      color: var(--yellow);
      border-radius: 12px;
      font-weight: 900;
    }

    .navlinks {
      display: flex;
      align-items: center;
      gap: 22px;
      color: var(--muted);
      font-size: 14px;
      font-weight: 650;
    }

    .navlinks a:hover { color: var(--ink); }

    .btn {
      display: inline-flex;
      min-height: 44px;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 0 18px;
      border-radius: 999px;
      background: var(--ink);
      color: var(--white);
      font-weight: 750;
      border: 0;
      cursor: pointer;
    }

    .btn.alt {
      background: var(--green-soft);
      color: var(--ink);
    }

    .hero {
      position: relative;
      min-height: calc(100svh - 72px);
      display: grid;
      align-items: center;
      overflow: hidden;
      isolation: isolate;
    }

    .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -2;
      background:
        linear-gradient(90deg, rgba(17,23,18,.05) 1px, transparent 1px),
        linear-gradient(180deg, rgba(17,23,18,.05) 1px, transparent 1px);
      background-size: 48px 48px;
      mask-image: linear-gradient(180deg, black 0%, rgba(0,0,0,.82) 62%, transparent 100%);
    }

    .system-map {
      position: absolute;
      top: 8%;
      right: 0;
      width: min(46vw, 620px);
      max-width: 100%;
      min-height: 72%;
      z-index: -1;
      opacity: .9;
      pointer-events: none;
      overflow: hidden;
    }

    .lane {
      position: absolute;
      width: 28%;
      min-height: 64%;
      top: 8%;
      background: var(--white);
      border-radius: 30px;
      transform: rotate(-4deg);
    }

    .lane:nth-child(2) {
      left: 26%;
      top: 2%;
      background: var(--green-soft);
      transform: rotate(5deg);
    }

    .lane:nth-child(3) {
      left: 52%;
      top: 13%;
      background: var(--blue-soft);
      transform: rotate(-2deg);
    }

    .node {
      position: absolute;
      min-width: 118px;
      min-height: 74px;
      padding: 16px;
      border-radius: 22px;
      background: var(--ink);
      color: var(--white);
      font-weight: 800;
      line-height: 1.1;
    }

    .node small {
      display: block;
      margin-top: 8px;
      color: rgba(255,255,255,.64);
      font-size: 12px;
      font-weight: 650;
    }

    .node.one { left: 6%; top: 9%; background: var(--red); }
    .node.two { right: 14%; top: 20%; background: var(--green); }
    .node.three { left: 20%; bottom: 18%; background: var(--blue); }
    .node.four { right: 8%; bottom: 10%; background: var(--ink); }

    .hero-content {
      max-width: 780px;
      padding: 70px 0 86px;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 24px;
      color: var(--green);
      font-size: 13px;
      font-weight: 850;
      text-transform: uppercase;
      letter-spacing: .08em;
    }

    .eyebrow::before {
      content: "";
      width: 34px;
      height: 10px;
      border-radius: 999px;
      background: var(--red);
    }

    h1 {
      max-width: 860px;
      margin: 0;
      font-family: var(--font-display);
      font-size: clamp(44px, 7.2vw, 96px);
      line-height: .92;
      letter-spacing: -.03em;
      font-weight: 800;
      text-wrap: balance;
    }

    .lead {
      max-width: 660px;
      margin: 28px 0 0;
      color: var(--muted);
      font-size: clamp(18px, 2vw, 23px);
      line-height: 1.45;
    }

    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 34px;
    }

    .hero-facts {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 18px;
      margin-top: 58px;
      max-width: 760px;
    }

    .fact {
      min-height: 120px;
      display: grid;
      align-content: end;
      padding: 18px 0 0;
    }

    .fact strong {
      display: block;
      font-size: clamp(30px, 5vw, 54px);
      line-height: .9;
    }

    .fact span {
      display: block;
      margin-top: 10px;
      color: var(--muted);
      font-size: 14px;
      line-height: 1.45;
    }

    section {
      padding: clamp(68px, 9vw, 118px) 0;
    }

    .band-white { background: var(--white); }
    .band-ink { background: var(--ink); color: var(--white); }
    .band-green { background: var(--green-soft); }

    .section-head {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
      gap: 40px;
      align-items: end;
      margin-bottom: 48px;
    }

    h2 {
      margin: 0;
      font-family: var(--font-display);
      font-size: clamp(32px, 4.6vw, 62px);
      line-height: .98;
      letter-spacing: -.03em;
      font-weight: 700;
      text-wrap: balance;
    }

    .section-head p,
    .wide-copy {
      margin: 0;
      color: var(--muted);
      font-size: 18px;
      line-height: 1.55;
    }

    .band-ink .section-head p,
    .band-ink .wide-copy,
    .band-ink .service p,
    .band-ink .timeline p {
      color: rgba(255,255,255,.68);
    }

    .services {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 0;
      background: transparent;
    }

    .service {
      min-height: 310px;
      display: grid;
      align-content: space-between;
      gap: 28px;
      padding: 28px;
      background: var(--white);
    }

    .service:nth-child(2) { background: #eff8ff; }
    .service:nth-child(3) { background: #fff4ef; }
    .service:nth-child(4) { background: #f7f0ff; }

    .service b {
      display: block;
      font-family: var(--font-display);
      font-size: 26px;
      line-height: 1.08;
      letter-spacing: -.02em;
      font-weight: 700;
    }

    .service p {
      margin: 0;
      color: var(--muted);
      line-height: 1.55;
    }

    .service .tag {
      color: var(--green);
      font-size: 13px;
      font-weight: 850;
      text-transform: uppercase;
      letter-spacing: .08em;
    }

    .split {
      display: grid;
      grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
      gap: clamp(34px, 7vw, 92px);
      align-items: start;
    }

    .stack {
      display: grid;
      gap: 18px;
    }

    .timeline {
      display: grid;
      grid-template-columns: 64px 1fr;
      gap: 22px;
      align-items: start;
      padding: 26px 0;
      background-image: linear-gradient(to right, currentColor 0 100%);
      background-size: 100% 1px;
      background-position: left bottom;
      background-repeat: no-repeat;
      color: rgba(255,255,255,.18);
    }

    .timeline:last-child { background-image: none; }
    .timeline strong,
    .timeline h3 { color: var(--white); }
    .timeline strong {
      display: grid;
      place-items: center;
      width: 54px;
      height: 54px;
      border-radius: 50%;
      background: var(--yellow);
      color: var(--ink);
    }

    .timeline h3 {
      margin: 0 0 8px;
      font-family: var(--font-display);
      font-size: 22px;
      line-height: 1.15;
      letter-spacing: -.02em;
      font-weight: 700;
    }

    .timeline p { margin: 0; line-height: 1.55; }

    .chips {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 28px;
    }

    .chip {
      display: inline-flex;
      align-items: center;
      min-height: 38px;
      padding: 0 14px;
      border-radius: 999px;
      background: rgba(255,255,255,.1);
      color: rgba(255,255,255,.82);
      font-size: 14px;
      font-weight: 700;
    }

    .products {
      display: grid;
      grid-template-columns: 1.1fr .9fr;
      gap: 0;
      background: transparent;
    }

    .product {
      display: grid;
      gap: 22px;
      min-height: 360px;
      padding: clamp(26px, 5vw, 54px);
      background: var(--paper);
    }

    .product:nth-child(2) { background: #fff4cf; }
    .product h3 {
      margin: 0;
      font-family: var(--font-display);
      font-size: clamp(28px, 3.6vw, 48px);
      line-height: 1;
      letter-spacing: -.03em;
      font-weight: 700;
    }
    .product p {
      margin: 0;
      max-width: 560px;
      color: var(--muted);
      font-size: 18px;
      line-height: 1.55;
    }
    .product ul {
      display: grid;
      gap: 12px;
      margin: 0;
      padding: 0;
      list-style: none;
      color: var(--ink);
      font-weight: 700;
    }

    .portfolio-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0;
    }

    .portfolio-card {
      display: grid;
      grid-template-rows: auto 1fr;
      gap: 18px;
      min-height: auto;
      padding: clamp(18px, 2.4vw, 28px);
      background: var(--paper);
    }

    .portfolio-card:nth-child(7n+2) { background: #eff8ff; }
    .portfolio-card:nth-child(7n+3) { background: #fff4ef; }
    .portfolio-card:nth-child(7n+4) { background: #f7f0ff; }
    .portfolio-card:nth-child(7n+5) { background: #fff7c7; }
    .portfolio-card:nth-child(7n+6) { background: #eaf7ed; }
    .portfolio-card:nth-child(7n+7) { background: #f2f6ff; }
    .portfolio-card:nth-child(7n+1) { background: var(--paper); }

    .portfolio-shot {
      width: 100%;
      height: auto;
      aspect-ratio: 16 / 9;
      object-fit: cover;
      display: block;
      background: rgba(17,23,18,.06);
    }

    .portfolio-meta {
      display: grid;
      gap: 12px;
    }

    .portfolio-top {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: start;
    }

    .portfolio-card h3 {
      margin: 0;
      font-family: var(--font-display);
      font-size: clamp(22px, 2.8vw, 30px);
      line-height: 1.05;
      letter-spacing: -.02em;
      font-weight: 700;
    }

    .portfolio-card p {
      margin: 0;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.48;
    }

    .portfolio-type {
      white-space: nowrap;
      color: var(--green);
      font-size: 12px;
      font-weight: 850;
      text-transform: uppercase;
      letter-spacing: .08em;
    }

    .portfolio-link {
      display: inline-flex;
      width: fit-content;
      align-items: center;
      gap: 8px;
      color: var(--ink);
      font-weight: 850;
    }

    .portfolio-link::after {
      content: "->";
      color: var(--red);
    }

    .contact {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 34px;
      align-items: center;
    }

    .contact h2 { max-width: 820px; }
    .contact-actions {
      display: grid;
      gap: 12px;
      justify-items: end;
    }

    .contact-line {
      margin-top: 22px;
      color: rgba(255,255,255,.68);
      line-height: 1.6;
    }

    footer {
      padding: 28px 0;
      background: var(--ink);
      color: rgba(255,255,255,.58);
      font-size: 14px;
    }

    .footer-inner {
      display: flex;
      justify-content: space-between;
      gap: 20px;
      flex-wrap: wrap;
    }

    @media (max-width: 920px) {
      .navlinks { display: none; }
      .system-map { width: min(70vw, 420px); opacity: .35; right: 0; }
      .hero-content { padding-top: 46px; }
      .hero-facts,
      .services,
      .products,
      .portfolio-grid,
      .split,
      .section-head,
      .contact {
        grid-template-columns: 1fr;
      }
      .service { min-height: 240px; }
      .portfolio-card { min-height: auto; }
      .contact-actions { justify-items: start; }
    }

    @media (max-width: 560px) {
      .wrap { width: min(100% - 24px, 1180px); }
      .topbar .btn { display: none; }
      .hero { min-height: auto; }
      .system-map { width: min(78vw, 360px); right: 0; opacity: .28; }
      .system-map .node { display: none; }
      .hero-actions .btn { width: 100%; }
      .hero-facts { gap: 10px; }
      .fact { min-height: 90px; }
      section { padding: 58px 0; }
      .service,
      .product { padding: 22px; }
      .timeline { grid-template-columns: 48px 1fr; gap: 14px; }
      .timeline strong { width: 42px; height: 42px; }
    }

    .alert {
      border-radius: 14px;
      padding: 14px 16px;
      margin: 0 0 16px;
      font-weight: 650;
    }
    .alert-ok { background: var(--green-soft); color: #0a6b43; }
    .alert-err { background: #ffe4e1; color: #9b1c1c; }
    .contact-form {
      display: grid;
      gap: 14px;
      margin-top: 18px;
    }
    .contact-form label {
      display: grid;
      gap: 6px;
      font-size: 13px;
      font-weight: 700;
      color: var(--muted);
    }
    .contact-form input,
    .contact-form textarea {
      width: 100%;
      border: 1px solid rgba(255,255,255,.18);
      background: rgba(255,255,255,.06);
      color: #fff;
      border-radius: 14px;
      padding: 14px 16px;
      outline: none;
    }
    .contact-form input::placeholder,
    .contact-form textarea::placeholder { color: rgba(255,255,255,.45); }
    .contact-form .errorlist {
      list-style: none;
      margin: 0;
      padding: 0;
      color: #ffb4ab;
      font-size: 12px;
    }
    .hp-field {
      position: absolute !important;
      left: 0 !important;
      top: 0 !important;
      width: 1px !important;
      height: 1px !important;
      margin: 0 !important;
      padding: 0 !important;
      overflow: hidden !important;
      clip: rect(0 0 0 0) !important;
      clip-path: inset(50%) !important;
      border: 0 !important;
      opacity: 0 !important;
      pointer-events: none !important;
    }
    .portfolio-filters {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin: 0 0 28px;
    }
    .portfolio-filters a {
      display: inline-flex;
      align-items: center;
      padding: 8px 14px;
      border-radius: 999px;
      border: 1px solid var(--line);
      color: var(--muted);
      font-size: 13px;
      font-weight: 700;
      background: #fff;
    }
    .portfolio-filters a.is-active,
    .portfolio-filters a:hover {
      background: var(--ink);
      color: #fff;
      border-color: var(--ink);
    }
    .project-detail .portfolio-shot {
      width: 100%;
      border-radius: 18px;
      aspect-ratio: 16/9;
      object-fit: cover;
      background: rgba(17,23,18,.06);
    }
    .project-detail .lead { max-width: 48rem; }
    .search-bar {
      display: flex;
      gap: 10px;
      margin: 0 0 22px;
    }
    .search-bar input {
      flex: 1;
      border: 1px solid var(--line);
      border-radius: 14px;
      padding: 12px 14px;
      background: #fff;
    }

    .order-points {
      display: grid;
      gap: 12px;
      margin-top: 22px;
    }
    .order-points div {
      display: grid;
      grid-template-columns: 42px 1fr;
      gap: 12px;
      align-items: start;
      color: rgba(255,255,255,.72);
      line-height: 1.45;
      font-size: 14px;
    }
    .order-points strong {
      width: 42px;
      height: 42px;
      border-radius: 12px;
      display: grid;
      place-items: center;
      background: rgba(255,255,255,.08);
      color: var(--yellow);
      font-family: var(--font-display);
      font-size: 13px;
    }
    .order-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
    }
    .order-form select {
      width: 100%;
      border: 1px solid rgba(255,255,255,.18);
      background: rgba(255,255,255,.06);
      color: #fff;
      border-radius: 14px;
      padding: 14px 16px;
      outline: none;
    }
    .order-form select option { color: #111; }
    .order-checks {
      display: flex;
      flex-wrap: wrap;
      gap: 14px 18px;
      margin: 4px 0 6px;
    }
    .order-checks .check {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: rgba(255,255,255,.8);
      font-size: 14px;
      font-weight: 650;
    }
    .order-checks input { width: 18px; height: 18px; accent-color: var(--green); }
    .order-note {
      margin-top: 10px;
      font-size: 12px;
      color: rgba(255,255,255,.45);
      line-height: 1.4;
    }
    @media (max-width: 720px) {
      .order-grid { grid-template-columns: 1fr; }
    }

    .trust-strip {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      margin-top: 28px;
      max-width: 640px;
    }
    .trust-strip div {
      background: rgba(255,255,255,.72);
      border: 1px solid var(--line);
      border-radius: 16px;
      padding: 14px 16px;
      display: grid;
      gap: 4px;
    }
    .trust-strip b {
      font-family: var(--font-display);
      font-size: 18px;
      letter-spacing: -.02em;
    }
    .trust-strip span {
      color: var(--muted);
      font-size: 13px;
      font-weight: 650;
    }

    .convert-band { padding: 48px 0; }
    .convert-inner {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 24px;
      flex-wrap: wrap;
    }
    .convert-inner h2 {
      font-family: var(--font-display);
      font-size: clamp(28px, 4vw, 42px);
      letter-spacing: -.03em;
      margin: 8px 0 10px;
      max-width: 16ch;
    }
    .convert-inner p { margin: 0; max-width: 42ch; opacity: .85; }

    .wizard-progress {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px;
      margin-bottom: 8px;
    }
    .wizard-progress span {
      height: 4px;
      border-radius: 999px;
      background: rgba(255,255,255,.14);
    }
    .wizard-progress span.is-on { background: var(--yellow); }
    .wizard-title {
      font-family: var(--font-display);
      font-size: 22px;
      letter-spacing: -.02em;
      margin: 4px 0 14px;
      color: #fff;
    }
    .wizard-step[hidden] { display: none !important; }
    .wizard-nav {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 8px;
    }
    .choice-label {
      font-size: 13px;
      font-weight: 700;
      color: rgba(255,255,255,.55);
      margin: 8px 0 8px;
    }
    .choice-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      margin-bottom: 12px;
    }
    .choice-card {
      position: relative;
      display: grid;
      gap: 0;
      margin: 0;
      cursor: pointer;
      color: #fff !important;
      font-size: 14px !important;
      overflow: hidden;
    }
    .choice-card input {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      margin: 0;
      opacity: 0;
      cursor: pointer;
      z-index: 2;
    }
    .choice-card span {
      display: block;
      border: 1px solid rgba(255,255,255,.18);
      background: rgba(255,255,255,.06);
      border-radius: 14px;
      padding: 14px 14px;
      line-height: 1.35;
      transition: .15s ease;
    }
    .choice-card input:checked + span {
      border-color: var(--yellow);
      background: rgba(255,228,94,.14);
      box-shadow: inset 0 0 0 1px rgba(255,228,94,.35);
    }
    .choice-card.compact span { padding: 12px 12px; font-size: 13px; }
    .opt { font-weight: 650; color: rgba(255,255,255,.4); font-size: 12px; }
    .order-grid .span-2 { grid-column: 1 / -1; }
    .contact-form label { color: rgba(255,255,255,.62); }

    .sticky-cta {
      position: fixed;
      left: 0; right: 0; bottom: 0;
      z-index: 40;
      transform: translateY(110%);
      transition: transform .25s ease;
      background: color-mix(in srgb, var(--ink) 92%, transparent);
      backdrop-filter: blur(16px);
      border-top: 1px solid rgba(255,255,255,.1);
      padding: 12px 0;
    }
    .sticky-cta.is-visible { transform: translateY(0); }
    .sticky-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      color: #fff;
    }
    .sticky-inner strong { display: block; font-size: 15px; }
    .sticky-inner span { color: rgba(255,255,255,.6); font-size: 13px; }
    .sticky-actions { display: flex; gap: 8px; flex-shrink: 0; }

    .thanks-section { padding: 64px 0 80px; }
    .thanks-card { max-width: 820px; }
    .thanks-card h1 {
      font-family: var(--font-display);
      font-size: clamp(28px, 4vw, 44px);
      letter-spacing: -.03em;
      margin: 10px 0 14px;
    }
    .thanks-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0,1fr));
      gap: 14px;
      margin: 28px 0;
    }
    .thanks-item {
      display: grid;
      grid-template-columns: 42px 1fr;
      gap: 12px;
      padding: 18px;
      border-radius: 18px;
      background: var(--paper);
      border: 1px solid var(--line);
    }
    .thanks-item strong {
      width: 42px; height: 42px; border-radius: 12px;
      display: grid; place-items: center;
      background: var(--ink); color: var(--yellow);
      font-family: var(--font-display); font-size: 13px;
    }
    .thanks-item h3 { margin: 0 0 6px; font-size: 16px; }
    .thanks-item p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.45; }

    @media (max-width: 720px) {
      .trust-strip, .choice-grid, .thanks-grid { grid-template-columns: 1fr; }
      .sticky-inner { flex-direction: column; align-items: stretch; }
      .sticky-actions .btn { flex: 1; text-align: center; }
      body { padding-bottom: 88px; }
    }


    /* polish-v1 */
    :root {
      --shadow-soft: 0 18px 50px rgba(17, 23, 18, .08);
      --ease: cubic-bezier(.22, 1, .36, 1);
    }

    .topbar {
      border-bottom: 1px solid transparent;
      transition: border-color .25s var(--ease), background .25s var(--ease);
    }
    .topbar.is-scrolled {
      border-bottom-color: var(--line);
      background: color-mix(in srgb, var(--paper) 88%, transparent);
    }

    .btn {
      transition: transform .2s var(--ease), box-shadow .2s var(--ease), background .2s ease;
    }
    .btn:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(17,23,18,.14); }
    .btn:active { transform: translateY(0); }

    .portfolio-card {
      transition: transform .35s var(--ease), background .25s ease;
    }
    .portfolio-card:hover { transform: translateY(-4px); }
    .portfolio-shot {
      border-radius: 14px;
      transition: transform .5s var(--ease);
    }
    .portfolio-card:hover .portfolio-shot { transform: scale(1.02); }

    .service {
      transition: transform .3s var(--ease), box-shadow .3s var(--ease);
    }
    .service:hover {
      transform: translateY(-3px);
      box-shadow: var(--shadow-soft);
    }

    .convert-band {
      position: relative;
      overflow: hidden;
    }
    .convert-band::after {
      content: "";
      position: absolute;
      width: 280px;
      height: 280px;
      right: -60px;
      top: -80px;
      border-radius: 50%;
      background: rgba(12, 155, 99, .18);
      pointer-events: none;
    }

    .band-ink .contact-form,
    .order-form {
      background: rgba(255,255,255,.04);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 24px;
      padding: 22px;
    }

    .choice-card span {
      min-height: 52px;
      display: flex;
      align-items: center;
    }

    .sticky-cta {
      width: 100%;
      max-width: 100vw;
    }

    .faq-list {
      display: grid;
      gap: 12px;
      max-width: 820px;
    }
    .faq-item {
      border: 1px solid rgba(15, 40, 28, .1);
      border-radius: 18px;
      background: #fff;
      padding: 4px 18px 4px;
      transition: border-color .25s var(--ease), box-shadow .25s var(--ease);
    }
    .faq-item[open] {
      border-color: rgba(12, 155, 99, .35);
      box-shadow: var(--shadow-soft);
    }
    .faq-item summary {
      cursor: pointer;
      list-style: none;
      font-weight: 700;
      font-size: 1.05rem;
      padding: 16px 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
    }
    .faq-item summary::-webkit-details-marker { display: none; }
    .faq-item summary::after {
      content: "+";
      flex: 0 0 auto;
      width: 28px;
      height: 28px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      background: rgba(12, 155, 99, .12);
      color: #0c9b63;
      font-weight: 800;
      transition: transform .25s var(--ease);
    }
    .faq-item[open] summary::after {
      content: "–";
      transform: rotate(180deg);
    }
    .faq-item p {
      margin: 0 0 16px;
      color: var(--muted);
      line-height: 1.55;
      max-width: 62ch;
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      .btn, .portfolio-card, .portfolio-shot, .service, .faq-item { transition: none; }
    }
