/* ISI page builder — styles for the generic blocks (testimonials, team, FAQ, gallery,
   image + text, free text). Home and About blocks reuse isi-home.css / isi-pages.css. */

.isi-pb-section { padding: clamp(64px, 8vw, 120px) 0; background: var(--white, #fff); }
.isi-pb-section + .isi-pb-section { padding-top: 0; }
.isi-pb-head { margin-bottom: 40px; }
.isi-pb-head .isi-sub { max-width: 60ch; }

/* free text */
.isi-pb-reading { max-width: 760px; }

/* testimonials */
.isi-pb-quotes { background: var(--paper, #f3f5f7); }
.isi-pb-quotes__grid { display: grid; gap: 24px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.isi-pb-quote { margin: 0; padding: 32px 28px; background: #fff; border-top: 3px solid var(--green, #009b3d); display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
.isi-pb-quote blockquote { margin: 0; font-family: var(--serif); font-size: 1.15rem; line-height: 1.6; color: var(--ink, #0c1b33); }
.isi-pb-quote figcaption { display: flex; align-items: center; gap: 14px; font-family: var(--sans); }
.isi-pb-quote figcaption img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.isi-pb-quote figcaption small { display: block; color: var(--steel-dark, #6f7d8d); font-size: .85rem; }

/* team */
.isi-pb-team { list-style: none; margin: 0; padding: 0; display: grid; gap: 28px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.isi-pb-team__item { font-family: var(--sans); }
.isi-pb-team__item img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; margin-bottom: 14px; background: var(--paper, #f3f5f7); }
.isi-pb-team__item strong { display: block; font-size: 1.1rem; color: var(--ink, #0c1b33); }
.isi-pb-team__item small { display: block; color: var(--steel-dark, #6f7d8d); margin-top: 2px; }
.isi-pb-team__item a { display: inline-block; margin-top: 8px; color: var(--green, #009b3d); }

/* FAQ */
.isi-pb-faq { display: grid; gap: 32px 64px; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); align-items: start; }
.isi-pb-faq__list { display: grid; gap: 0; border-top: 2px solid var(--ink, #0c1b33); }
.isi-pb-faq__item { border-bottom: 1px solid #dde2e8; padding: 0; }
.isi-pb-faq__item summary { cursor: pointer; list-style: none; padding: 22px 40px 22px 0; position: relative; font-family: var(--sans); font-weight: 700; font-size: 1.1rem; color: var(--ink, #0c1b33); }
.isi-pb-faq__item summary::-webkit-details-marker { display: none; }
.isi-pb-faq__item summary::after { content: "+"; position: absolute; right: 4px; top: 18px; font-size: 1.5rem; color: var(--green, #009b3d); }
.isi-pb-faq__item[open] summary::after { content: "−"; }
.isi-pb-faq__item .isi-prose { padding: 0 0 22px; }
.isi-pb-faq__list .isi-link { margin-top: 22px; }

/* gallery */
.isi-pb-gallery { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.isi-pb-gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .3s; }
.isi-pb-gallery a { display: block; overflow: hidden; }
.isi-pb-gallery a:hover img { transform: scale(1.04); }

/* image + text */
.isi-pb-split { display: grid; gap: 40px 64px; grid-template-columns: 1fr 1fr; align-items: center; }
.isi-pb-split--reverse .isi-pb-split__media { order: 2; }
.isi-pb-split__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.isi-pb-split__copy { display: grid; gap: 18px; justify-items: start; }

@media (max-width: 860px) {
  .isi-pb-faq, .isi-pb-split { grid-template-columns: 1fr; }
  .isi-pb-split--reverse .isi-pb-split__media { order: 0; }
}

/* ------------------------------------------------------------------
   Contact page blocks (contact_hero, contact_form) — moved from front/contact.blade.php
   ------------------------------------------------------------------ */

    
    .isi-contact-page { background: #061020 !important; color: #dfe5ec !important; font-family: "Archivo", sans-serif; }
    .isi-chero {
      position: relative;
      overflow: hidden;
      background:
        radial-gradient(90% 80% at 80% 110%, rgba(0, 155, 61, 0.28), transparent 60%),
        #08142a !important;
      padding: clamp(145px, 18vh, 195px) 0 clamp(65px, 8vw, 100px) !important;
      border-bottom: 1px solid rgba(60, 220, 134, 0.28);
    }
    .isi-chero::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        repeating-linear-gradient(90deg, rgba(120, 255, 190, 0.04) 0 1px, transparent 1px 64px),
        repeating-linear-gradient(0deg, rgba(120, 255, 190, 0.04) 0 1px, transparent 1px 64px);
      pointer-events: none;
    }
    .isi-chero__grid {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
      gap: clamp(28px, 5vw, 64px);
      align-items: center;
    }
    .isi-chero__quick {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
      margin-top: 32px;
    }
    .isi-chero__qcard {
      display: flex;
      flex-direction: column;
      gap: 5px;
      padding: 16px 18px;
      background: rgba(10, 24, 46, 0.86);
      border: 1px solid rgba(60, 220, 134, 0.32);
      border-left: 3px solid #3cdc86;
      border-radius: 5px;
      text-decoration: none !important;
      backdrop-filter: blur(10px);
      transition: transform 0.22s ease, border-color 0.22s ease, background 0.22s ease;
    }
    .isi-chero__qcard:hover {
      transform: translateY(-4px);
      border-color: #3cdc86;
      background: rgba(0, 155, 61, 0.2);
    }
    .isi-chero__qcode {
      font-size: 0.7rem;
      font-weight: 800;
      letter-spacing: 0.12em;
      color: #3cdc86;
    }
    .isi-chero__qcard strong {
      font-size: 1rem;
      font-weight: 800;
      color: #fff;
    }
    .isi-chero__qcard span:last-child {
      font-size: 0.82rem;
      color: #9fb0c2;
    }
    .isi-chero__hud-box {
      position: relative;
      background: linear-gradient(160deg, rgba(12, 28, 54, 0.9), rgba(7, 17, 34, 0.95));
      border: 1px solid rgba(60, 220, 134, 0.38);
      border-radius: 6px;
      padding: 26px;
      backdrop-filter: blur(12px);
      box-shadow: 0 30px 70px -25px rgba(0, 0, 0, 0.85), 0 0 32px rgba(0, 155, 61, 0.18);
    }
    .isi-chero__hud-top {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding-bottom: 12px;
      margin-bottom: 16px;
      border-bottom: 1px solid rgba(60, 220, 134, 0.24);
      font-size: 0.72rem;
      font-weight: 800;
      letter-spacing: 0.12em;
      color: #7dffbf;
    }
    .isi-chero__hud-status {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 3px 9px;
      background: rgba(0, 155, 61, 0.22);
      border: 1px solid #3cdc86;
      border-radius: 20px;
      color: #3cdc86;
    }
    .isi-chero__hud-box h3 {
      font-size: 1.35rem;
      font-weight: 900;
      color: #fff;
      margin: 0 0 10px;
    }
    .isi-chero__hud-box p {
      font-size: 0.94rem;
      line-height: 1.55;
      color: #b8c7d6;
      margin: 0 0 18px !important;
    }
    .isi-chero__telemetry-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }
    .isi-chero__tcell {
      padding: 10px 12px;
      background: rgba(6, 15, 30, 0.75);
      border: 1px solid rgba(60, 220, 134, 0.22);
      border-left: 3px solid #3cdc86;
      border-radius: 3px;
    }
    .isi-chero__tcell span {
      display: block;
      font-size: 0.66rem;
      font-weight: 800;
      letter-spacing: 0.1em;
      color: #7dffbf;
    }
    .isi-chero__tcell strong {
      font-size: 0.9rem;
      font-weight: 800;
      color: #fff;
    }

    /* Contact Matrix Section */
    .isi-contact-matrix {
      padding: clamp(65px, 8vw, 110px) 0;
      background:
        repeating-linear-gradient(90deg, rgba(60, 220, 134, 0.025) 0 1px, transparent 1px 72px),
        repeating-linear-gradient(0deg, rgba(60, 220, 134, 0.025) 0 1px, transparent 1px 72px),
        #061020 !important;
    }
    .isi-contact-matrix__grid {
      display: grid;
      grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
      gap: clamp(28px, 4.5vw, 56px);
      align-items: start;
    }
    .isi-contact-channels {
      display: grid;
      gap: 20px;
    }
    .isi-channel-card {
      background: linear-gradient(160deg, rgba(13, 29, 54, 0.92), rgba(8, 19, 37, 0.96));
      border: 1px solid rgba(60, 220, 134, 0.28);
      border-left: 3px solid #009b3d;
      border-radius: 6px;
      padding: 24px;
      box-shadow: 0 24px 55px -25px rgba(0, 0, 0, 0.8);
    }
    .isi-channel-card--verify {
      border-color: rgba(60, 220, 134, 0.48);
      border-left-color: #3cdc86;
      background: linear-gradient(160deg, rgba(0, 155, 61, 0.18), rgba(8, 19, 37, 0.96));
    }
    .isi-channel-card__tag {
      display: inline-block;
      font-size: 0.68rem;
      font-weight: 800;
      letter-spacing: 0.12em;
      color: #7dffbf;
      margin-bottom: 8px;
    }
    .isi-channel-card h3 {
      font-size: 1.2rem;
      font-weight: 800;
      color: #fff !important;
      margin: 0 0 8px;
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .isi-channel-card h3 i { color: #3cdc86; }
    .isi-channel-card p {
      font-size: 0.92rem;
      color: #9fb0c2 !important;
      margin: 0 0 14px !important;
    }
    .isi-channel-list {
      list-style: none;
      margin: 0;
      padding: 0;
      display: grid;
      gap: 8px;
    }
    .isi-channel-list li {
      font-size: 1.02rem;
      font-weight: 700;
      color: #fff;
    }
    .isi-channel-list a {
      color: #3cdc86 !important;
      text-decoration: none !important;
    }
    .isi-channel-list a:hover { text-decoration: underline !important; }
    .isi-channel-card__links {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .isi-channel-card__links a {
      font-size: 0.9rem;
      font-weight: 700;
      color: #3cdc86 !important;
      text-decoration: none !important;
    }
    .isi-channel-card__links a:hover { color: #fff !important; }

    /* Terminal Form */
    .isi-contact-terminal {
      background: linear-gradient(165deg, rgba(13, 30, 56, 0.95), rgba(7, 17, 34, 0.98));
      border: 1px solid rgba(60, 220, 134, 0.38);
      border-radius: 6px;
      overflow: hidden;
      box-shadow: 0 30px 75px -25px rgba(0, 0, 0, 0.85);
    }
    .isi-contact-terminal__bar {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 12px 26px;
      background: rgba(0, 155, 61, 0.2);
      border-bottom: 1px solid rgba(60, 220, 134, 0.3);
      font-size: 0.72rem;
      font-weight: 800;
      letter-spacing: 0.12em;
      color: #7dffbf;
    }
    .isi-contact-terminal__body {
      padding: clamp(24px, 4vw, 38px);
    }
    .isi-contact-terminal__title {
      font-weight: 900;
      font-stretch: 110%;
      font-size: clamp(1.5rem, 1.2rem + 1vw, 2.05rem);
      color: #fff !important;
      margin: 0 0 20px;
    }
    .isi-topic-pills {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px;
      margin-bottom: 24px;
      padding-bottom: 18px;
      border-bottom: 1px solid rgba(201, 209, 218, 0.15);
    }
    .isi-topic-pills__lbl {
      font-size: 0.78rem;
      font-weight: 700;
      color: #8fa3b8;
      margin-right: 4px;
    }
    .isi-topic-pill {
      all: unset;
      cursor: pointer;
      padding: 6px 13px;
      background: rgba(6, 16, 32, 0.85);
      border: 1px solid rgba(60, 220, 134, 0.32);
      border-radius: 20px;
      font-size: 0.78rem;
      font-weight: 700;
      color: #c9d1da;
      transition: all 0.2s;
    }
    .isi-topic-pill:hover,
    .isi-topic-pill.is-on {
      background: #009b3d;
      border-color: #3cdc86;
      color: #fff;
    }
    .isi-cform__grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
    }
    .isi-cform__field {
      display: flex;
      flex-direction: column;
      gap: 7px;
    }
    .isi-cform__field--full { grid-column: 1 / -1; }
    .isi-cform__field label {
      font-size: 0.82rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      color: #7dffbf !important;
      margin: 0;
    }
    .isi-cform__field input,
    .isi-cform__field textarea {
      width: 100%;
      padding: 13px 16px !important;
      background: rgba(6, 15, 30, 0.88) !important;
      border: 1.5px solid rgba(60, 220, 134, 0.34) !important;
      border-radius: 4px !important;
      font-size: 0.98rem !important;
      color: #fff !important;
      height: auto !important;
    }
    .isi-cform__field input::placeholder,
    .isi-cform__field textarea::placeholder {
      color: rgba(201, 209, 218, 0.42) !important;
    }
    .isi-cform__field input:focus,
    .isi-cform__field textarea:focus {
      outline: none !important;
      border-color: #3cdc86 !important;
      box-shadow: 0 0 0 4px rgba(60, 220, 134, 0.18) !important;
    }
    .isi-cform__actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      margin-top: 24px;
    }
    .isi-cform__submit {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 15px 28px;
      border: 0;
      border-radius: 4px;
      background: #009b3d !important;
      color: #fff !important;
      font-weight: 800;
      font-size: 1rem;
      cursor: pointer;
      transition: background 0.2s, box-shadow 0.2s;
    }
    .isi-cform__submit:hover {
      background: #00b848 !important;
      box-shadow: 0 0 28px rgba(60, 220, 134, 0.45);
    }
    .isi-cform__note {
      font-size: 0.84rem;
      color: #8fa3b8;
    }
    @media (max-width: 991px) {
      .isi-chero__grid,
      .isi-chero__quick,
      .isi-contact-matrix__grid,
      .isi-cform__grid {
        grid-template-columns: 1fr;
      }
    }
