/* ===== HERO ===== */
    .objects-hero {
      background: var(--navy);
      padding: 56px 0 48px;
    }
    .objects-hero h1 {
      font-size: 44px;
      font-weight: 900;
      color: var(--white);
      line-height: 1.1;
      margin-bottom: 20px;
    }
    .objects-hero__sub {
      font-size: 15px;
      color: rgba(255,255,255,.6);
      line-height: 1.7;
      max-width: 640px;
      margin-bottom: 32px;
    }
    .objects-hero__stats {
      display: flex;
      gap: 32px;
      flex-wrap: nowrap;
      justify-content: space-between;
    }
    .hero-stat__num {
      font-size: 36px;
      font-weight: 900;
      color: var(--white);
      line-height: 1;
    }
    .hero-stat__label {
      font-size: 13px;
      color: rgba(255,255,255,.5);
      margin-top: 4px;
    }

    /* ===== CAROUSEL TITLE ===== */
    .fp-carousel__title {
      font-size: 28px;
      font-weight: 900;
      color: var(--text);
      margin-bottom: 24px;
    }

    /* ===== CASES SECTION ===== */
    .cases-section__title {
      font-size: 28px;
      font-weight: 900;
      color: var(--text);
      margin-bottom: 28px;
    }
    .cases-grid__empty {
      padding: 60px 20px;
      text-align: center;
      color: var(--text-muted);
      font-size: 15px;
    }
    .case-card__meta-item {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 13px;
      color: var(--text-muted);
    }
    .case-card__meta-item + .case-card__meta-item::before {
      content: '·';
      color: var(--border);
      font-size: 16px;
    }

    /* ===== CAT FILTER ===== */
    .cat-filter {
      background: var(--white);
      border-bottom: 1px solid var(--border);
      padding: 0;
    }
    .cat-filter__wrap {
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .cat-filter__inner {
      display: flex;
      gap: 4px;
      padding: 16px 0;
      overflow-x: auto;
      scrollbar-width: none;
      -ms-overflow-style: none;
      flex: 1 1 auto;
      min-width: 0;
      scroll-behavior: smooth;
    }
    .cat-filter__inner::-webkit-scrollbar { display: none; }
    .cat-filter__nav {
      flex: 0 0 auto;
      width: 36px;
      height: 36px;
      border-radius: 50%;
      border: 1px solid var(--border);
      background: var(--white);
      color: var(--text);
      font-size: 20px;
      line-height: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: background .2s, border-color .2s, color .2s, opacity .2s;
    }
    .cat-filter__nav:hover:not(:disabled) {
      background: var(--blue);
      border-color: var(--blue);
      color: var(--white);
    }
    .cat-filter__nav:disabled {
      opacity: .35;
      cursor: default;
    }
    .cat-btn {
      display: inline-flex;
      align-items: center;
      min-height: 44px;
      gap: 8px;
      padding: 8px 20px;
      border-radius: 50px;
      font-size: 14px;
      font-weight: 600;
      border: 1px solid var(--border);
      background: var(--white);
      color: var(--text);
      text-decoration: none;
      cursor: pointer;
      white-space: nowrap;
      transition: background .2s, border-color .2s, color .2s;
    }
    .cat-btn--active,
    .cat-btn:hover {
      background: var(--blue);
      border-color: var(--blue);
      color: var(--white);
    }
    .cat-btn__count {
      background: rgba(0,0,0,.1);
      border-radius: 50px;
      padding: 1px 8px;
      font-size: 12px;
    }
    .cat-btn--active .cat-btn__count {
      background: rgba(255,255,255,.2);
    }

    /* ===== FEATURED PROJECTS CAROUSEL ===== */
    .featured-section {
      background: var(--gray-bg);
      padding: 48px 0;
    }
    .fp-carousel { position: relative; overflow: hidden; border-radius: var(--radius-lg); }
    .fp-carousel__track {
      display: flex;
      transition: transform .45s cubic-bezier(.4,0,.2,1);
    }
    .fp-carousel__nav {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
      margin-top: 16px;
    }
    .fp-carousel__btn {
      width: 44px; height: 44px;
      border-radius: 50%;
      background: var(--white);
      border: 1px solid var(--border);
      font-size: 22px;
      color: var(--text);
      display: flex; align-items: center; justify-content: center;
      cursor: pointer;
      transition: background .2s, border-color .2s;
      flex-shrink: 0;
    }
    .fp-carousel__btn:hover { background: var(--blue); border-color: var(--blue); color: #fff; }
    .fp-dots { display: flex; gap: 8px; }
    .fp-dot {
      width: 8px; height: 8px;
      border-radius: 50%;
      background: var(--border);
      border: none;
      cursor: pointer;
      padding: 0;
      transition: background .2s, transform .2s;
    }
    .fp-dot--active {
      background: var(--blue);
      transform: scale(1.4);
    }
    .fp-counter {
      font-size: 13px;
      color: var(--text-muted);
      font-weight: 600;
      min-width: 44px;
      text-align: center;
    }
    .featured-project {
      background: var(--white);
      border-radius: var(--radius-lg);
      overflow: hidden;
      display: grid;
      grid-template-columns: 1fr 1.1fr;
      box-shadow: 0 2px 20px rgba(0,0,0,.06);
      min-width: 100%;
      flex-shrink: 0;
    }
    .featured-project--reverse { direction: rtl; }
    .featured-project--reverse > * { direction: ltr; }
    .fp-info {
      padding: 24px 28px;
      display: flex;
      flex-direction: column;
      gap: 0;
      min-width: 0;
      overflow: hidden;
    }
    .fp-type {
      display: inline-block;
      background: rgba(27,147,212,.1);
      color: var(--blue);
      border-radius: 50px;
      padding: 3px 12px;
      font-size: 11px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .5px;
      margin-bottom: 10px;
    }
    .fp-title {
      font-size: 17px;
      font-weight: 800;
      color: var(--text);
      line-height: 1.35;
      margin-bottom: 8px;
      display: block;
    }
    .fp-title:hover { color: var(--blue); }
    .fp-cost {
      font-size: 22px;
      font-weight: 900;
      color: var(--navy);
      margin-bottom: 10px;
    }
    .fp-cost span {
      font-size: 12px;
      font-weight: 500;
      color: var(--text-muted);
      display: block;
      margin-bottom: 2px;
    }
    .fp-desc { display: none; }
    .fp-address { display: none; }
    .fp-meta {
      display: flex;
      gap: 6px;
      flex-wrap: wrap;
      margin-bottom: 20px;
      overflow: hidden;
      max-height: 60px;
    }
    .fp-meta-item {
      background: var(--gray-bg);
      border-radius: 8px;
      padding: 5px 10px;
      display: flex;
      align-items: center;
      gap: 4px;
      flex-shrink: 0;
      white-space: nowrap;
    }
    .fp-meta-item__label {
      font-size: 11px;
      color: var(--text-light);
    }
    .fp-meta-item__val {
      font-size: 12px;
      font-weight: 700;
      color: var(--text);
    }
    .fp-actions {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      margin-top: auto;
      padding-top: 16px;
    }
    .fp-gallery {
      position: relative;
      overflow: hidden;
      min-height: 200px;
      background: var(--gray-bg2);
    }
    .fp-gallery img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    .fp-gallery__ph {
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, #162d50 0%, #1B93D4 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 64px;
      color: rgba(255,255,255,.15);
    }
    .fp-gallery__counter {
      position: absolute;
      bottom: 16px;
      right: 16px;
      background: rgba(0,0,0,.55);
      color: #fff;
      font-size: 12px;
      font-weight: 600;
      padding: 4px 12px;
      border-radius: 50px;
    }
    .fp-video-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 14px;
      font-weight: 700;
      color: var(--blue);
      padding: 10px 0;
    }
    .fp-video-btn svg { flex-shrink: 0; }
    .fp-video-btn:hover { color: var(--blue-dark); }

    /* ===== VIDEO SECTION ===== */
    .video-section {
      background: var(--navy);
      padding: 70px 0;
      text-align: center;
    }
    .video-section .section-title { color: var(--white); }
    .video-section .section-sub { color: rgba(255,255,255,.55); margin: 0 auto; }
    .video-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      margin-top: 40px;
    }
    .video-card {
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: var(--radius);
      overflow: hidden;
      transition: border-color .2s;
    }
    .video-card:hover { border-color: rgba(27,147,212,.5); }
    .video-thumb {
      aspect-ratio: 16/9;
      background: linear-gradient(135deg, #0a1628 0%, #162d50 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
    }
    .video-play {
      width: 56px;
      height: 56px;
      background: var(--red);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .video-play svg { margin-left: 4px; }
    .video-card__title {
      padding: 16px;
      font-size: 14px;
      font-weight: 600;
      color: var(--white);
      line-height: 1.4;
    }

    /* ===== OBJECTS GRID ===== */
    .cases-section { padding: 70px 0; background: var(--white); }
    .cases-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
    }
    .case-card {
      background: var(--white);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      overflow: hidden;
      transition: box-shadow .2s, border-color .2s;
    }
    .case-card:hover {
      box-shadow: 0 8px 32px rgba(0,0,0,.1);
      border-color: var(--blue);
    }
    .case-card__img {
      aspect-ratio: 16/9;
      background: linear-gradient(135deg, #162d50 0%, #1B93D4 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 48px;
      color: rgba(255,255,255,.15);
      overflow: hidden;
      position: relative;
    }
    .case-card__img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .case-card__badge {
      position: absolute;
      top: 12px;
      left: 12px;
      background: rgba(0,0,0,.65);
      color: #fff;
      font-size: 11px;
      font-weight: 700;
      padding: 4px 10px;
      border-radius: 50px;
      text-transform: uppercase;
      letter-spacing: .4px;
    }
    .case-card__body { padding: 20px; }
    .case-card__title {
      font-size: 15px;
      font-weight: 700;
      color: var(--text);
      line-height: 1.4;
      margin-bottom: 12px;
      display: block;
    }
    .case-card__title:hover { color: var(--blue); }
    .case-card__meta {
      display: flex;
      flex-direction: column;
      gap: 6px;
      margin-bottom: 16px;
    }
    .case-card__meta-row {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 13px;
      color: var(--text-muted);
    }
    .case-card__meta-row strong { color: var(--text); }
    .case-card__desc {
      font-size: 13px;
      color: var(--text-muted);
      line-height: 1.6;
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    .cases-more {
      text-align: center;
      margin-top: 40px;
    }

    /* ===== SPECIALISTS ===== */
    .specialists-section { padding: 70px 0; background: var(--gray-bg); }
    .specialists-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 28px;
    }
    .specialist-card {
      background: var(--white);
      border-radius: var(--radius-lg);
      padding: 36px;
      display: grid;
      grid-template-columns: 80px 1fr;
      gap: 24px;
      align-items: start;
      box-shadow: 0 2px 16px rgba(0,0,0,.06);
    }
    .specialist-avatar {
      width: 80px;
      height: 80px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 28px;
      color: rgba(255,255,255,.5);
      flex-shrink: 0;
    }
    .specialist-name {
      font-size: 18px;
      font-weight: 800;
      color: var(--text);
      margin-bottom: 4px;
    }
    .specialist-role {
      font-size: 13px;
      color: var(--blue);
      font-weight: 600;
      margin-bottom: 14px;
    }
    .specialist-bio {
      font-size: 14px;
      color: var(--text-muted);
      line-height: 1.7;
    }
    .specialist-avatar__placeholder {
      font-size: 32px;
      opacity: 0.5;
    }
    .specialist-avatar img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 50%;
    }
    .section-overtitle {
      font-size: 14px;
      color: var(--text-muted);
      margin-bottom: 8px;
    }

    /* ===== BLOG ===== */
    .blog-section { padding: 70px 0; background: var(--white); }
    .blog-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
    }
    .blog-card {
      border: 1px solid var(--border);
      border-radius: var(--radius);
      overflow: hidden;
      transition: box-shadow .2s, border-color .2s;
    }
    .blog-card:hover {
      box-shadow: 0 4px 24px rgba(0,0,0,.08);
      border-color: var(--blue);
    }
    .blog-card__img {
      aspect-ratio: 16/9;
      background: linear-gradient(135deg, #f2f4f7 0%, #dce3ed 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 48px;
    }
    .blog-card__body { padding: 24px; }
    .blog-card__title {
      font-size: 16px;
      font-weight: 700;
      color: var(--text);
      line-height: 1.4;
      margin-bottom: 12px;
      display: block;
    }
    .blog-card__title:hover { color: var(--blue); }
    .blog-card__desc {
      font-size: 14px;
      color: var(--text-muted);
      line-height: 1.65;
      margin-bottom: 16px;
    }
    .blog-card__meta {
      font-size: 12px;
      color: var(--text-light);
      display: flex;
      align-items: center;
      gap: 6px;
    }

    /* ===== CTA FORM ===== */
    .cta-form-section {
      padding: 64px 0;
      background: var(--color-secondary, #0D1E35);
      color: #fff;
    }
    .cta-form__title {
      font-size: 32px;
      font-weight: 800;
      margin-bottom: 8px;
      color: #fff;
    }
    .cta-form__sub {
      font-size: 16px;
      opacity: 0.8;
      margin-bottom: 12px;
    }
    .cta-form__contacts {
      font-size: 14px;
      margin-bottom: 32px;
      opacity: 0.7;
    }
    .cta-form__contacts a {
      color: var(--color-primary, #1B93D4);
      text-decoration: none;
    }
    .cta-form__row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      margin-bottom: 16px;
    }
    .cta-form__label {
      display: block;
      font-size: 13px;
      margin-bottom: 6px;
      opacity: 0.7;
    }
    .cta-form__input,
    .cta-form__textarea {
      width: 100%;
      padding: 12px 16px;
      border: 1px solid rgba(255,255,255,0.2);
      border-radius: 8px;
      background: rgba(255,255,255,0.08);
      color: #fff;
      font-size: 15px;
      box-sizing: border-box;
    }
    .cta-form__input::placeholder,
    .cta-form__textarea::placeholder {
      color: rgba(255,255,255,0.4);
    }
    .cta-form__textarea {
      min-height: 80px;
      resize: vertical;
    }
    .cta-form__file {
      border: 2px dashed rgba(255,255,255,0.2);
      border-radius: 8px;
      padding: 20px;
      text-align: center;
      font-size: 14px;
      opacity: 0.6;
      min-height: 80px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
    }
    .cta-form__file a { color: var(--color-primary, #1B93D4); }
    .cta-form__footer {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-top: 24px;
    }
    .cta-form__privacy {
      font-size: 13px;
      opacity: 0.5;
      max-width: 400px;
    }
    .cta-form__privacy a { color: var(--color-primary, #1B93D4); }

    /* ===== SINGLE OBJECT — 2 column layout ===== */
    .obj-single {
      display: grid;
      grid-template-columns: 1fr 340px;
      gap: 48px;
      padding: 40px 0 60px;
      align-items: start;
    }
    .obj-single__title {
      font-size: 32px;
      font-weight: 900;
      margin-bottom: 24px;
      line-height: 1.2;
    }
    .obj-single__article { min-width: 0; }
    .obj-single__facts {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1px;
      margin: 0 0 24px;
      overflow: hidden;
      border: 1px solid var(--border);
      border-radius: 12px;
      background: var(--border);
    }
    .obj-single__fact {
      min-width: 0;
      padding: 14px 16px;
      background: #fff;
    }
    .obj-single__fact dt {
      margin: 0 0 4px;
      color: var(--text-muted);
      font-size: 12px;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: .04em;
    }
    .obj-single__fact dd {
      margin: 0;
      color: var(--text);
      font-size: 15px;
      font-weight: 800;
      line-height: 1.35;
      overflow-wrap: anywhere;
    }
    .obj-single__fact--accent { background: rgba(27,147,212,.08); }
    .obj-single__fact--accent dd { color: var(--blue); font-size: 18px; }
    .obj-single__project-cta {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      margin: 0 0 32px;
      padding: 20px;
      border-radius: 14px;
      background: var(--gray-bg);
      border-left: 4px solid var(--blue);
    }
    .obj-single__project-cta strong {
      display: block;
      margin-bottom: 5px;
      color: var(--text);
      font-size: 17px;
      line-height: 1.35;
    }
    .obj-single__project-cta span {
      display: block;
      max-width: 620px;
      color: var(--text-muted);
      font-size: 14px;
      line-height: 1.5;
    }
    .obj-single__project-actions {
      display: flex;
      flex: 0 0 auto;
      flex-direction: column;
      gap: 8px;
    }
    .obj-single__project-actions .btn {
      justify-content: center;
      min-width: 220px;
      padding: 12px 18px;
    }
    .obj-single__content {
      font-size: 16px;
      line-height: 1.8;
      color: var(--text);
      margin-bottom: 32px;
    }
    .obj-single__content p { margin-bottom: 16px; }
    .obj-single__content h2 { font-size: 22px; font-weight: 800; margin: 32px 0 16px; }
    .obj-single__content h3 { font-size: 18px; font-weight: 700; margin: 24px 0 12px; color: var(--blue); }
    .obj-single__h2 { font-size: 20px; font-weight: 700; margin-bottom: 12px; }
    .obj-single__info {
      list-style: disc;
      padding-left: 24px;
      margin-bottom: 32px;
      font-size: 15px;
      line-height: 1.8;
      color: var(--text-muted);
    }
    .obj-single__video {
      margin-bottom: 32px;
      border-radius: 12px;
      overflow: hidden;
    }
    .obj-single__video iframe {
      display: block;
      border-radius: 12px;
    }
    .obj-single__featured-img {
      margin: 0 0 20px;
      overflow: hidden;
      border-radius: 14px;
      aspect-ratio: 16 / 9;
      background: var(--gray-bg);
    }
    .obj-single__featured-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    /* Gallery sidebar */
    .obj-single__sidebar {
      position: sticky;
      top: 20px;
    }
    .obj-gallery__header {
      font-size: 14px;
      font-weight: 600;
      color: var(--text-muted);
      margin-bottom: 12px;
      text-transform: uppercase;
      letter-spacing: 0.5px;
    }
    .obj-gallery__grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 8px;
    }
    .obj-gallery__item img {
      width: 100%;
      height: 100px;
      object-fit: cover;
      border-radius: 6px;
      transition: opacity 0.2s;
    }
    .obj-gallery__item:hover img { opacity: 0.8; }

    /* Related projects */
    .obj-related {
      padding: 60px 0;
      background: var(--gray-bg);
    }
    .obj-related__title {
      font-size: 28px;
      font-weight: 800;
      margin-bottom: 32px;
    }
    .obj-related__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      margin-bottom: 32px;
    }
    .obj-related__card {
      background: #fff;
      border-radius: var(--radius-lg, 16px);
      overflow: hidden;
      box-shadow: 0 2px 12px rgba(0,0,0,.06);
    }
    .obj-related__img {
      display: block;
      height: 200px;
      overflow: hidden;
    }
    .obj-related__img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .obj-related__body { padding: 20px; }
    .obj-related__badge {
      display: inline-block;
      font-size: 12px;
      font-weight: 600;
      color: var(--blue);
      margin-bottom: 8px;
    }
    .obj-related__name {
      display: block;
      font-size: 16px;
      font-weight: 700;
      color: var(--text);
      text-decoration: none;
      margin-bottom: 8px;
      line-height: 1.3;
    }
    .obj-related__name:hover { color: var(--blue); }
    .obj-related__desc {
      font-size: 14px;
      color: var(--text-muted);
      line-height: 1.5;
      margin-bottom: 12px;
    }
    .obj-related__meta {
      display: flex;
      gap: 16px;
      font-size: 13px;
      color: var(--text-muted);
      margin-bottom: 8px;
    }
    .obj-related__address {
      font-size: 13px;
      color: var(--text-muted);
    }
    .obj-related__all {
      display: inline-block;
      font-size: 15px;
      font-weight: 600;
      color: var(--blue);
      text-decoration: none;
    }
    .obj-related__all:hover { text-decoration: underline; }

    /* CTA form */
    .obj-cta {
      padding: 64px 0;
      background: var(--color-secondary, #0D1E35);
      color: #fff;
    }
    .obj-cta__title { font-size: 32px; font-weight: 800; margin-bottom: 8px; color: #fff; }
    .obj-cta__sub { font-size: 16px; opacity: 0.8; margin-bottom: 8px; }
    .obj-cta__phone { font-size: 14px; opacity: 0.7; margin-bottom: 32px; }
    .obj-cta__phone a { color: var(--color-primary, #1B93D4); text-decoration: none; }
    .obj-cta__row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      margin-bottom: 16px;
    }
    .obj-cta__label {
      display: block;
      font-size: 13px;
      margin-bottom: 6px;
      opacity: 0.7;
    }
    .obj-cta__input,
    .obj-cta__textarea {
      width: 100%;
      padding: 12px 16px;
      border: 1px solid rgba(255,255,255,0.2);
      border-radius: 8px;
      background: rgba(255,255,255,0.08);
      color: #fff;
      font-size: 15px;
      box-sizing: border-box;
    }
    .obj-cta__input::placeholder,
    .obj-cta__textarea::placeholder { color: rgba(255,255,255,0.4); }
    .obj-cta__textarea { min-height: 80px; resize: vertical; }
    .obj-cta__file {
      border: 2px dashed rgba(255,255,255,0.2);
      border-radius: 8px;
      padding: 16px;
      text-align: center;
      font-size: 13px;
      opacity: 0.6;
      min-height: 80px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
    }
    .obj-cta__file a { color: var(--color-primary, #1B93D4); }
    .obj-cta__footer {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-top: 24px;
    }
    .obj-cta__privacy { font-size: 13px; opacity: 0.5; max-width: 400px; }
    .obj-cta__privacy a { color: var(--color-primary, #1B93D4); }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 960px) {
      .featured-project { grid-template-columns: 1fr; }
      .featured-project--reverse { direction: ltr; }
      .fp-carousel { border-radius: var(--radius); }
      .fp-gallery { min-height: 220px; }
      .cases-grid { grid-template-columns: repeat(2, 1fr); }
      .blog-grid { grid-template-columns: repeat(2, 1fr); }
      .specialists-grid { grid-template-columns: 1fr; }
      .video-grid { grid-template-columns: 1fr 1fr; }
      .obj-single { grid-template-columns: 1fr; gap: 32px; }
      .obj-single__sidebar { position: static; }
      .obj-gallery__grid { grid-template-columns: repeat(4, 1fr); }
      .obj-single__project-cta { align-items: stretch; flex-direction: column; }
      .obj-single__project-actions { flex-direction: row; flex-wrap: wrap; }
      .obj-single__project-actions .btn { flex: 1 1 220px; }
      .obj-cta__row { grid-template-columns: 1fr; }
      .cta-form__row { grid-template-columns: 1fr; }
      .obj-related__grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 640px) {
      .objects-hero h1 { font-size: 30px; }
      .objects-hero__stats { gap: 24px; flex-wrap: wrap; }
      .hero-stat__num { font-size: 26px; }
      .cases-grid { grid-template-columns: 1fr; }
      .blog-grid { grid-template-columns: 1fr; }
      .video-grid { grid-template-columns: 1fr; }
      .fp-info { padding: 28px 24px; }
      .fp-cost { font-size: 22px; }
      .specialist-card { grid-template-columns: 1fr; }
      .obj-single__title { font-size: 24px; }
      .obj-single__facts { grid-template-columns: 1fr; }
      .obj-single__project-cta { padding: 18px 16px; }
      .obj-single__project-actions { flex-direction: column; }
      .obj-single__project-actions .btn { width: 100%; min-width: 0; }
      .obj-gallery__grid { grid-template-columns: repeat(3, 1fr); overflow-x: auto; }
      .obj-cta__footer { flex-direction: column; align-items: flex-start; gap: 16px; }
      .cta-form__footer { flex-direction: column; align-items: flex-start; gap: 16px; }
      .obj-related__grid { grid-template-columns: 1fr; }
      .obj-cta__title { font-size: 24px; }
      .cta-form__title { font-size: 24px; }
    }
/* ===== Project CTA form wired to abl_callback (audit 1.2) ===== */
.obj-cta__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.obj-cta__privacy { display: flex; align-items: flex-start; gap: 8px; opacity: 0.85; font-size: 13px; max-width: 400px; cursor: pointer; }
.obj-cta__privacy input[type="checkbox"] { margin-top: 2px; flex-shrink: 0; width: 16px; height: 16px; accent-color: #1B93D4; }
.obj-cta__filein { padding: 8px 10px; font-size: 13px; }
.obj-cta__filein::file-selector-button { background: rgba(255,255,255,0.12); color: #fff; border: 1px solid rgba(255,255,255,0.25); border-radius: 6px; padding: 5px 10px; margin-right: 10px; cursor: pointer; }
.obj-cta__file-hint { display: block; font-size: 12px; opacity: 0.5; margin-top: 6px; }
.obj-cta__form .form-success { margin-top: 18px; padding: 12px 16px; background: rgba(34,164,71,0.15); border: 1px solid rgba(34,164,71,0.45); border-radius: 8px; color: #fff; font-weight: 600; }

/* ===== PREMIUM FLAGSHIP PROJECT — 2026 ===== */
.case-page {
  --case-navy: #071522;
  --case-navy-soft: #0d2235;
  --case-blue: #0875AD;
  --case-cyan: #66c9f4;
  --case-ink: #111c27;
  --case-muted: #617180;
  --case-line: #dce5eb;
  --case-surface: #f3f7f9;
  background: #fff;
  color: var(--case-ink);
}

.case-hero {
  position: relative;
  z-index: 1;
  overflow: visible;
  padding: 52px 0 0;
  color: #fff;
  background:
    radial-gradient(circle at 82% 5%, rgba(21, 152, 220, .22), transparent 34%),
    linear-gradient(135deg, #06131f 0%, #0a1d2d 58%, #0d2b42 100%);
}
.case-hero::before {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  opacity: .11;
  background-image:
    linear-gradient(rgba(255,255,255,.22) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.22) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(90deg, transparent, #000 38%, #000);
}
.case-hero .container { position: relative; z-index: 1; }
.case-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(420px, .97fr);
  gap: clamp(42px, 6vw, 88px);
  align-items: center;
}
.case-hero__copy { padding: 44px 0 88px; }
.case-hero__eyebrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin: 0 0 23px;
  color: var(--case-cyan);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.case-hero__title {
  max-width: 760px;
  margin: 0 0 24px;
  color: #fff;
  font-size: clamp(42px, 4.7vw, 68px);
  font-weight: 850;
  line-height: 1.02;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.case-hero__lead {
  max-width: 720px;
  margin: 0;
  color: rgba(255,255,255,.77);
  font-size: clamp(18px, 1.5vw, 22px);
  line-height: 1.56;
}
.case-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px 24px;
  margin-top: 34px;
}
.case-hero__primary {
  min-height: 52px;
  padding-inline: 25px;
  box-shadow: 0 12px 30px rgba(21, 152, 220, .23);
}
.case-hero__wa {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  gap: 9px;
  color: #fff;
  font-size: 15px;
  font-weight: 750;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.34);
}
.case-hero__wa:hover { color: var(--case-cyan); border-color: var(--case-cyan); }
.case-hero__media {
  position: relative;
  align-self: stretch;
  min-height: 520px;
  margin: 0;
  overflow: hidden;
  border-radius: 28px 28px 0 0;
  background: #11293d;
  box-shadow: 0 30px 70px rgba(0,0,0,.28);
}
.case-hero__media::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  background: linear-gradient(180deg, transparent 58%, rgba(2,11,18,.42));
}
.case-hero__media img {
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
  display: block;
  filter: saturate(.82) contrast(1.03);
}
.case-hero__media--placeholder {
  background:
    radial-gradient(circle at 72% 28%, rgba(102, 201, 244, .25), transparent 27%),
    linear-gradient(145deg, #102c44, #07131f 72%);
}
.case-hero__media--placeholder::before {
  position: absolute;
  inset: 0;
  content: "";
  background:
    linear-gradient(118deg, transparent 43%, rgba(255,255,255,.08) 43.2%, transparent 43.5%),
    repeating-linear-gradient(0deg, transparent 0 68px, rgba(255,255,255,.07) 69px 70px),
    repeating-linear-gradient(90deg, transparent 0 68px, rgba(255,255,255,.07) 69px 70px);
  transform: scale(1.1) rotate(-5deg);
}
.case-hero__data {
  position: absolute;
  inset: 42px;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-top: 64px;
}
.case-hero__data-top {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255,255,255,.16);
  color: rgba(255,255,255,.7);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.case-hero__data-top span:first-child {
  color: #fff;
  font-size: 21px;
  font-weight: 900;
  letter-spacing: -.06em;
}
.case-hero__data strong {
  display: block;
  max-width: 100%;
  color: #fff;
  font-size: clamp(76px, 8vw, 118px);
  font-weight: 900;
  line-height: .86;
  letter-spacing: -.075em;
  overflow-wrap: anywhere;
}
.case-hero__data > p {
  max-width: 360px;
  margin: 14px 0 25px;
  color: rgba(255,255,255,.78);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
}
.case-hero__data ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.case-hero__data li {
  padding: 8px 11px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  color: rgba(255,255,255,.77);
  font-size: 11px;
  font-weight: 750;
}
.case-hero__data-period {
  position: absolute;
  right: 0;
  bottom: 0;
  max-width: 150px;
  color: var(--case-cyan);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-align: right;
}

.case-facts {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(7,21,34,.08);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 20px 50px rgba(5, 22, 35, .15);
  transform: translateY(50%);
}
.case-fact {
  min-width: 0;
  min-height: 118px;
  padding: 25px 27px;
  border-right: 1px solid var(--case-line);
  background: #fff;
}
.case-fact:last-child { border-right: 0; }
.case-fact dt {
  margin: 0 0 9px;
  color: #748493;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.case-fact dd {
  margin: 0;
  color: var(--case-ink);
  font-size: 16px;
  font-weight: 780;
  line-height: 1.38;
  overflow-wrap: anywhere;
}
.case-fact--accent { background: #eaf7fd; }
.case-fact--accent dd { color: #087eb8; font-size: 21px; letter-spacing: -.02em; }

.case-story { position: relative; z-index: 0; padding: 126px 0 96px; }
.case-story__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 350px;
  gap: clamp(48px, 7vw, 96px);
  align-items: start;
}
.case-story__main { min-width: 0; }
.case-section__kicker {
  margin: 0 0 10px;
  color: #086B9D;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.case-story h2,
.case-services h2,
.case-related h2 {
  margin: 0;
  color: var(--case-ink);
  font-size: clamp(28px, 2.8vw, 40px);
  font-weight: 830;
  line-height: 1.14;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.case-task {
  position: relative;
  margin-bottom: 72px;
  padding: 34px 38px 36px;
  overflow: hidden;
  border: 1px solid #dfe9ee;
  border-radius: 20px;
  background: var(--case-surface);
}
.case-task::after {
  position: absolute;
  top: -65px;
  right: -70px;
  width: 190px;
  height: 190px;
  content: "";
  border: 34px solid rgba(21,152,220,.08);
  border-radius: 50%;
}
.case-task h2 { max-width: 650px; margin-bottom: 18px; }
.case-task > p:last-child {
  position: relative;
  z-index: 1;
  max-width: 780px;
  margin: 0;
  color: #40515f;
  font-size: 18px;
  line-height: 1.7;
}
.case-scope { margin-bottom: 76px; }
.case-section__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 30px;
}
.case-section__head > span {
  flex: 0 0 auto;
  padding-bottom: 5px;
  color: #566273;
  font-size: 13px;
  font-weight: 700;
}
.case-scope__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}
.case-scope__item {
  display: flex;
  min-height: 160px;
  flex-direction: column;
  justify-content: space-between;
  gap: 28px;
  padding: 25px 27px 28px;
  border: 1px solid var(--case-line);
  border-radius: 16px;
  background: #fff;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.case-scope__item:hover {
  border-color: rgba(21,152,220,.55);
  box-shadow: 0 14px 30px rgba(7,21,34,.07);
  transform: translateY(-3px);
}
.case-scope__num {
  color: #0875AD;
  font-size: 13px;
  font-weight: 850;
  letter-spacing: .08em;
}
.case-scope__item p {
  margin: 0;
  color: #273744;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}

.case-timeline { margin-bottom: 76px; }
.case-timeline > h2 { margin-bottom: 32px; }
.case-timeline__list { margin: 0; padding: 0; list-style: none; }
.case-timeline__item {
  position: relative;
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 25px;
  padding: 0 0 35px;
}
.case-timeline__item:last-child { padding-bottom: 0; }
.case-timeline__item::before {
  position: absolute;
  top: 8px;
  bottom: -8px;
  left: 97px;
  width: 1px;
  content: "";
  background: #d9e5eb;
}
.case-timeline__item:last-child::before { display: none; }
.case-timeline__item::after {
  position: absolute;
  top: 7px;
  left: 92px;
  width: 11px;
  height: 11px;
  content: "";
  border: 3px solid #fff;
  border-radius: 50%;
  background: var(--case-blue);
  box-shadow: 0 0 0 1px rgba(21,152,220,.24);
}
.case-timeline__year {
  padding-top: 1px;
  color: #08658f;
  font-size: 15px;
  font-weight: 850;
}
.case-timeline__item h3 {
  margin: 0 0 8px;
  color: #1a2a36;
  font-size: 18px;
  font-weight: 800;
}
.case-timeline__item p {
  max-width: 680px;
  margin: 0;
  color: var(--case-muted);
  font-size: 15px;
  line-height: 1.62;
}

.case-outcome {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  margin-bottom: 76px;
  padding: 34px 38px;
  border-radius: 20px;
  background:
    radial-gradient(circle at 95% 15%, rgba(102,201,244,.18), transparent 30%),
    linear-gradient(135deg, #071522, #0d2b42);
}
.case-outcome__mark {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50%;
  color: var(--case-cyan);
  font-size: 24px;
  background: rgba(255,255,255,.07);
}
.case-outcome .case-section__kicker { color: var(--case-cyan); }
.case-outcome h2 { color: #fff; font-size: clamp(23px, 2.25vw, 31px); line-height: 1.35; }

.case-services { padding-top: 4px; }
.case-services h2 { margin-bottom: 26px; }
.case-services__links { border-top: 1px solid var(--case-line); }
.case-services__links a {
  display: flex;
  min-height: 65px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 2px;
  border-bottom: 1px solid var(--case-line);
  color: #253744;
  font-size: 16px;
  font-weight: 760;
  text-decoration: none;
}
.case-services__links a span { color: var(--case-blue); font-size: 21px; transition: transform .2s ease; }
.case-services__links a:hover { color: #087fba; }
.case-services__links a:hover span { transform: translateX(4px); }

.case-contact { position: sticky; top: 24px; }
.case-contact__card {
  padding: 30px;
  border-radius: 20px;
  color: #fff;
  background:
    radial-gradient(circle at 100% 0, rgba(21,152,220,.24), transparent 40%),
    var(--case-navy);
  box-shadow: 0 22px 50px rgba(7,21,34,.16);
}
.case-contact__status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 28px;
  color: #a9bbc9;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.case-contact__status i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #37d67a;
  box-shadow: 0 0 0 4px rgba(55,214,122,.12);
}
.case-contact h2 {
  margin: 0 0 14px;
  color: #fff;
  font-size: 30px;
  font-weight: 830;
  line-height: 1.12;
  letter-spacing: -.035em;
}
.case-contact p {
  margin: 0 0 22px;
  color: rgba(255,255,255,.7);
  font-size: 15px;
  line-height: 1.6;
}
.case-contact ul { margin: 0 0 26px; padding: 0; list-style: none; }
.case-contact li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 19px;
  color: rgba(255,255,255,.82);
  font-size: 13px;
  line-height: 1.45;
}
.case-contact li::before { position: absolute; top: .63em; left: 0; width: 6px; height: 6px; content: ""; border-radius: 50%; background: var(--case-cyan); }
.case-contact .btn { width: 100%; min-height: 50px; justify-content: center; }
.case-contact__wa,
.case-contact__phone {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  margin-top: 8px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 9px;
  color: #fff;
  font-size: 14px;
  font-weight: 750;
  text-decoration: none;
}
.case-contact__wa:hover,
.case-contact__phone:hover { border-color: rgba(102,201,244,.72); color: var(--case-cyan); }
.case-contact__phone { margin-top: 15px; border: 0; color: rgba(255,255,255,.62); }

.case-gallery { margin: 0 0 76px; }
.case-gallery h2 { margin-bottom: 28px; }
.case-gallery__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.case-gallery__item { display: block; min-height: 240px; overflow: hidden; border-radius: 14px; }
.case-gallery__item img { width: 100%; height: 100%; min-height: 240px; object-fit: cover; transition: transform .35s ease; }
.case-gallery__item:hover img { transform: scale(1.035); }

.case-related { padding: 88px 0 96px; background: var(--case-surface); }
.case-related__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.case-related__head > a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 9px;
  color: #075b84;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}
.case-related__grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.case-related__card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #dfe8ed;
  border-radius: 18px;
  background: #fff;
  transition: transform .25s ease, box-shadow .25s ease;
}
.case-related__card:hover { transform: translateY(-5px); box-shadow: 0 18px 38px rgba(7,21,34,.1); }
.case-related__media { display: block; height: 225px; overflow: hidden; background: #102b41; text-decoration: none; }
.case-related__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.case-related__card:hover .case-related__media img { transform: scale(1.035); }
.case-related__placeholder {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  color: rgba(255,255,255,.75);
  font-size: 62px;
  font-weight: 900;
  letter-spacing: -.08em;
  background:
    linear-gradient(120deg, transparent 45%, rgba(255,255,255,.08) 45.2%, transparent 45.5%),
    repeating-linear-gradient(90deg, transparent 0 50px, rgba(255,255,255,.05) 51px),
    linear-gradient(140deg, #143a57, #071522);
}
.case-related__body { display: flex; flex: 1; flex-direction: column; padding: 23px 24px 25px; }
.case-related__meta { display: flex; flex-wrap: wrap; gap: 7px 14px; margin-bottom: 15px; color: #08658f; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.case-related__body h3 { margin: 0 0 11px; font-size: 19px; font-weight: 820; line-height: 1.27; }
.case-related__body h3 a { color: #192a36; text-decoration: none; }
.case-related__body h3 a:hover { color: #087fba; }
.case-related__body p { margin: 0 0 20px; color: var(--case-muted); font-size: 14px; line-height: 1.55; }
.case-related__link { display: inline-flex; min-height: 44px; align-items: center; gap: 8px; margin-top: auto; color: #075b84; font-size: 13px; font-weight: 800; text-decoration: none; }

.case-page .obj-cta { padding: 82px 0; background: #06131f; }
.case-page .obj-cta__layout { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); gap: clamp(46px,7vw,90px); align-items: start; }
.case-page .obj-cta .case-section__kicker { color: var(--case-cyan); }
.case-page .obj-cta__title { margin: 0 0 15px; color: #fff; font-size: clamp(32px,3.2vw,46px); line-height: 1.08; letter-spacing: -.04em; }
.case-page .obj-cta__sub { max-width: 460px; margin: 0 0 18px; color: rgba(255,255,255,.69); font-size: 16px; line-height: 1.62; }
.case-page .obj-cta__phone { margin: 0; color: rgba(255,255,255,.72); opacity: 1; }
.case-page .obj-cta__phone a { color: #fff; font-weight: 750; }
.case-page .obj-cta__privacy { color: rgba(255,255,255,.72); opacity: 1; }
.case-page .obj-cta__privacy a { color: #8ed8ff; }
.case-page .obj-cta__row--three { grid-template-columns: repeat(3, minmax(0,1fr)); }
.case-page .obj-cta__input,
.case-page .obj-cta__textarea { min-height: 48px; border-color: rgba(255,255,255,.16); border-radius: 9px; background: rgba(255,255,255,.065); }
.case-page .obj-cta__textarea { min-height: 94px; }
.case-page .obj-cta__input:focus,
.case-page .obj-cta__textarea:focus { outline: 2px solid rgba(102,201,244,.58); outline-offset: 1px; border-color: transparent; }
.case-page .obj-cta__footer .btn { min-height: 50px; padding-inline: 25px; }

@media (max-width: 1100px) {
  .case-hero__grid { grid-template-columns: minmax(0,1fr) minmax(360px,.8fr); gap: 42px; }
  .case-story__layout { grid-template-columns: minmax(0,1fr) 315px; gap: 48px; }
  .case-fact { padding-inline: 20px; }
}

@media (max-width: 900px) {
  .case-hero { padding-top: 28px; }
  .case-hero__grid { grid-template-columns: 1fr; gap: 0; }
  .case-hero__copy { padding: 42px 0 46px; }
  .case-hero__media { min-height: 420px; border-radius: 22px; }
  .case-hero__media img { min-height: 420px; }
  .case-facts { grid-template-columns: repeat(2,minmax(0,1fr)); transform: translateY(38px); }
  .case-fact { min-height: 105px; border-bottom: 1px solid var(--case-line); }
  .case-fact:nth-child(2n) { border-right: 0; }
  .case-fact:nth-last-child(-n+2) { border-bottom: 0; }
  .case-story { padding-top: 104px; }
  .case-story__layout { grid-template-columns: 1fr; gap: 64px; }
  .case-contact { position: static; }
  .case-contact__card { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
  .case-contact__status,
  .case-contact h2,
  .case-contact p,
  .case-contact ul { grid-column: 1 / -1; }
  .case-contact__phone { grid-column: 1 / -1; }
  .case-related__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .case-related__card:last-child { display: none; }
  .case-page .obj-cta__layout { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .case-hero { padding-top: 16px; }
  .case-hero__copy { padding: 34px 0 38px; }
  .case-hero__eyebrow { margin-bottom: 17px; font-size: 10px; }
  .case-hero__title { font-size: clamp(34px,10vw,46px); line-height: 1.06; }
  .case-hero__lead { font-size: 17px; line-height: 1.52; }
  .case-hero__actions { align-items: stretch; flex-direction: column; gap: 10px; margin-top: 27px; }
  .case-hero__actions .btn,
  .case-hero__wa { width: 100%; justify-content: center; }
  .case-hero__wa { border: 1px solid rgba(255,255,255,.22); border-radius: 9px; }
  .case-hero__media,
  .case-hero__media img { min-height: 300px; }
  .case-hero__media { border-radius: 17px; }
  .case-hero--no-photo .case-hero__media { min-height: 238px; }
  .case-hero__data { inset: 24px; padding-top: 50px; }
  .case-hero__data-top { padding-bottom: 12px; font-size: 8px; }
  .case-hero__data-top span:first-child { font-size: 18px; }
  .case-hero__data strong { font-size: 66px; }
  .case-hero__data > p { max-width: 260px; margin: 8px 0 15px; font-size: 14px; }
  .case-hero__data li { padding: 6px 9px; font-size: 9px; }
  .case-hero__data-period { display: none; }
  .case-facts { margin-top: 0; border-radius: 14px; transform: translateY(34px); }
  .case-fact { min-height: 96px; padding: 18px 16px; }
  .case-fact dt { margin-bottom: 6px; font-size: 9px; }
  .case-fact dd { font-size: 14px; }
  .case-fact--accent dd { font-size: 18px; }
  .case-story { padding: 91px 0 70px; }
  .case-task { margin-bottom: 56px; padding: 27px 23px; }
  .case-task > p:last-child { font-size: 16px; }
  .case-story h2,
  .case-services h2,
  .case-related h2 { font-size: 29px; }
  .case-section__head { align-items: flex-start; flex-direction: column; gap: 8px; }
  .case-section__head > span { padding: 0; }
  .case-scope { margin-bottom: 58px; }
  .case-scope__grid { grid-template-columns: 1fr; }
  .case-scope__item { min-height: 132px; gap: 20px; padding: 22px; }
  .case-timeline { margin-bottom: 58px; }
  .case-timeline__item { grid-template-columns: 78px minmax(0,1fr); gap: 20px; }
  .case-timeline__item::before { left: 68px; }
  .case-timeline__item::after { left: 63px; }
  .case-timeline__year { font-size: 13px; }
  .case-outcome { grid-template-columns: 1fr; gap: 17px; margin-bottom: 58px; padding: 27px 23px; }
  .case-outcome__mark { width: 48px; height: 48px; }
  .case-contact__card { display: block; padding: 25px 22px; }
  .case-contact h2 { font-size: 27px; }
  .case-related { padding: 68px 0 74px; }
  .case-related__head { align-items: flex-start; flex-direction: column; gap: 13px; }
  .case-related__grid { grid-template-columns: 1fr; }
  .case-related__card:last-child { display: flex; }
  .case-related__media { height: 210px; }
  .case-page .obj-cta { padding: 65px 0; }
  .case-page .obj-cta__layout { gap: 36px; }
  .case-page .obj-cta__row--three { grid-template-columns: 1fr; }
  .case-page .obj-cta__footer { align-items: stretch; }
  .case-page .obj-cta__footer .btn { width: 100%; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  .case-scope__item,
  .case-related__card,
  .case-related__media img,
  .case-gallery__item img,
  .case-services__links a span { transition: none; }
}
