/* =========================================================
   Leading Edge Enterprises — Interior page styles
   (Services, About, Contact)
   ========================================================= */

/* ---------- Service detail blocks ---------- */
.svc-detail { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px,5vw,72px); align-items: center; }
.svc-detail.flip .svc-detail__media { order: -1; }
.svc-detail__media { position: relative; }
.svc-detail h2 { font-size: clamp(1.6rem,3.2vw,2.3rem); margin: 14px 0 16px; }
.svc-detail .lead { margin-bottom: 22px; }
.svc-detail .check-list { display: grid; gap: 13px; }
.svc-detail .check-list li { display: flex; gap: 12px; align-items: flex-start; color: var(--slate); }
.svc-detail .check-list .ck { width: 24px; height: 24px; border-radius: 50%; background: var(--accent-soft); color: var(--accent); display: grid; place-items: center; flex-shrink: 0; margin-top: 2px; }
.svc-detail .check-list .ck svg { width: 14px; height: 14px; }
.svc-detail .check-list strong { color: var(--navy); font-family: var(--font-head); }

/* ---------- Services as alternating feature rows (image | text) ---------- */
.svc8-grid { grid-template-columns: 1fr; gap: 0; margin-top: clamp(20px,3vw,40px); }
.svc8-card { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 4.5vw, 68px); align-items: center; }
.svc8-card + .svc8-card { border-top: 1px solid var(--border); margin-top: clamp(40px, 5.5vw, 76px); padding-top: clamp(40px, 5.5vw, 76px); }
.svc8-card:nth-child(even) .s8-media { order: 2; }
.s8-media { aspect-ratio: 3/2; border-radius: 22px; overflow: hidden; background: var(--surface-2); border: 1px solid var(--border); box-shadow: var(--sh-md); }
.s8-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--ease); }
.svc8-card:hover .s8-media img { transform: scale(1.04); }
.s8-body { display: flex; flex-direction: column; }
.svc8-card h3 { font-size: clamp(1.4rem, 2.3vw, 1.85rem); margin-bottom: 12px; letter-spacing: -.01em; }
.s8-body > p { color: var(--slate-500); font-size: 1.02rem; line-height: 1.6; max-width: 52ch; }
.s8-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.s8-chips span { font-size: .78rem; font-weight: 600; font-family: var(--font-head); color: var(--accent-600); background: var(--accent-soft); border: 1px solid #d6e6fb; border-radius: 999px; padding: 6px 12px; }
.s8-link { margin-top: 26px; display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-head); font-weight: 600; color: var(--accent); font-size: 1rem; }
.s8-link svg { width: 18px; height: 18px; transition: transform var(--t-fast); }
.svc8-card:hover .s8-link svg { transform: translateX(4px); }
@media (max-width: 820px) {
  .svc8-card { grid-template-columns: 1fr; gap: 22px; }
  .svc8-card:nth-child(even) .s8-media { order: 0; }
  .s8-media { aspect-ratio: 16/10; }
}

/* ---------- Industries we serve (dark photo cards, matches home) ---------- */
.section--navy { background: var(--black); color: #B5B2AD; position: relative; overflow: hidden; }
.section--navy::before { content: ""; position: absolute; inset: 0; background: radial-gradient(55% 65% at 82% -5%, rgba(0,123,255,.20), transparent 60%); pointer-events: none; }
.section--navy .container { position: relative; z-index: 1; }
.section--navy .h-section { color: #fff; }
.section--navy .eyebrow { color: var(--orange-500); }
.section--navy .lead { color: #8B8884; }
.ind-grid { grid-template-columns: repeat(3,1fr); gap: clamp(14px,1.5vw,20px); margin-top: clamp(32px,4vw,48px); }
.ind-card { position: relative; display: block; aspect-ratio: 4/3; border-radius: 18px; overflow: hidden; background: #0e2038; border: 1px solid rgba(255,255,255,.1); box-shadow: 0 18px 40px rgba(0,0,0,.4); transition: transform .4s var(--ease), box-shadow .4s var(--ease), border-color .3s var(--ease); }
.ind-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.ind-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,23,46,0) 36%, rgba(7,23,46,.5) 66%, rgba(7,23,46,.92)); }
.ind-card .ind-cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 20px 22px; z-index: 1; }
.ind-card .ind-cap h4 { color: #fff; font-size: 1.16rem; margin-bottom: 3px; letter-spacing: -.01em; }
.ind-card .ind-cap p { color: #c2d6ef; font-size: .87rem; }
.ind-card:hover { transform: translateY(-7px); box-shadow: 0 30px 58px -18px rgba(0,0,0,.6); border-color: var(--accent-300); }
.ind-card:hover img { transform: scale(1.07); }
@media (max-width: 900px) { .ind-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .ind-grid { grid-template-columns: 1fr; } }

/* ---------- Solutions by sector (image cards) ---------- */
.sector-grid { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); margin-top: clamp(36px,4vw,52px); }
.sector-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--sh-sm); display: flex; flex-direction: column; transition: transform .4s var(--ease), box-shadow .4s var(--ease), border-color .3s var(--ease); }
.sector-card:hover { transform: translateY(-6px); box-shadow: var(--sh-lg); border-color: var(--accent-300); }
.sector-media { position: relative; aspect-ratio: 16/10; overflow: hidden; }
.sector-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s var(--ease); }
.sector-card:hover .sector-media img { transform: scale(1.07); }
.sector-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,23,46,0) 38%, rgba(7,23,46,.82)); }
.sm-cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 16px 18px; color: #fff; z-index: 1; }
.sm-cap h3 { color: #fff; font-size: 1.06rem; margin-bottom: 2px; line-height: 1.2; }
.sm-cap span { font-size: .8rem; color: #bcd6f5; font-weight: 600; font-family: var(--font-head); }
.sector-card > p { padding: 15px 18px 18px; font-size: .9rem; color: var(--slate-500); margin: 0; }
@media (max-width: 560px) { .sector-grid { grid-template-columns: 1fr; } }

/* ---------- Media card (modern live-dashboard widget) ---------- */
.media-card {
  border-radius: var(--r-xl); padding: 26px; position: relative; overflow: hidden;
  background:
    radial-gradient(115% 80% at 88% -5%, rgba(0,123,255,.20), transparent 55%),
    linear-gradient(165deg, #18181c, #050506);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: var(--sh-lg), inset 0 1px 0 rgba(255,255,255,.05);
  color: #b5b2ad; min-height: 320px;
  display: flex; flex-direction: column; gap: 22px;
}
.media-card > * { position: relative; z-index: 1; }
.mc-head { display: flex; align-items: center; justify-content: space-between; }
.mc-ic { width: 54px; height: 54px; border-radius: 15px; background: rgba(0,123,255,.14); border: 1px solid rgba(0,123,255,.32); display: grid; place-items: center; color: var(--orange-500); }
.mc-ic svg { width: 27px; height: 27px; }
.mc-live { display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-head); font-weight: 700; font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; color: #5fe39e; background: rgba(34,197,94,.10); border: 1px solid rgba(34,197,94,.25); padding: 6px 12px; border-radius: 999px; }
.mc-live .led { width: 7px; height: 7px; border-radius: 50%; background: #34d399; animation: livepulse 2s var(--ease) infinite; }

.mc-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; }
.mc-hero__num { font-family: var(--font-head); font-weight: 800; font-size: clamp(2.3rem, 4.4vw, 3rem); color: #fff; line-height: .95; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.mc-hero__num small { font-size: .9rem; font-weight: 700; color: #8b8884; letter-spacing: 0; }
.mc-hero__label { font-size: .82rem; color: #8b8884; margin-top: 9px; }
.mc-spark { width: 100px; height: 46px; flex-shrink: 0; }

.mc-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: auto; }
.mc-stat { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07); border-radius: 13px; padding: 13px 14px; }
.mc-stat .k { display: block; font-size: .64rem; letter-spacing: .07em; text-transform: uppercase; color: #7c7975; margin-bottom: 6px; }
.mc-stat .v { font-family: var(--font-head); font-weight: 700; font-size: 1rem; color: #fff; display: inline-flex; align-items: center; gap: 6px; }
.mc-stat .v.ok { color: #5fe39e; }
.mc-stat .v .led { width: 7px; height: 7px; border-radius: 50%; background: #34d399; }

.media-card--amber { background: radial-gradient(115% 80% at 88% -5%, rgba(234,88,12,.24), transparent 55%), linear-gradient(165deg, #1c1410, #060403); }
.media-card--amber .mc-ic { background: rgba(251,191,36,.14); border-color: rgba(251,191,36,.3); color: #fcd34d; }

@keyframes livepulse { 0%{box-shadow:0 0 0 0 rgba(52,211,153,.5)} 70%{box-shadow:0 0 0 7px rgba(52,211,153,0)} 100%{box-shadow:0 0 0 0 rgba(52,211,153,0)} }

.svc-divider { border:0; height:1px; background: var(--border); }

/* ---------- About ---------- */
.values-grid { grid-template-columns: repeat(3,1fr); margin-top: clamp(36px,4vw,52px); }
.value-card { text-align: left; }
.value-card .vc-ic { width: 52px; height: 52px; border-radius: 13px; background: var(--accent-soft); color: var(--accent); display: grid; place-items: center; margin-bottom: 18px; }
.value-card .vc-ic svg { width: 26px; height: 26px; }
.value-card h3 { font-size: 1.15rem; margin-bottom: 8px; }
.value-card p { font-size: .94rem; color: var(--slate-500); }

.about-split { display:grid; grid-template-columns: 1fr 1fr; gap: clamp(36px,5vw,72px); align-items:center; }
.about-stats { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.about-stats .as { background: var(--surface); border:1px solid var(--border); border-radius: var(--r-lg); padding: 26px; box-shadow: var(--sh-sm); }

/* ---------- Contact ---------- */
.contact-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: clamp(32px,4vw,56px); align-items: start; }
.contact-info { display: grid; gap: 16px; }
.ci-card { display: flex; gap: 16px; align-items: flex-start; padding: 22px 24px; background: var(--surface); border:1px solid var(--border); border-radius: var(--r-lg); transition: box-shadow var(--t-mid), transform var(--t-mid); min-width: 0; }
.ci-card:hover { box-shadow: var(--sh-md); transform: translateY(-3px); }
/* let text column shrink + break long tokens (e.g. the email) instead of forcing overflow */
.ci-card > div, .ci-link > div { min-width: 0; }
.ci-card h4, .ci-card p { overflow-wrap: anywhere; }
.ci-card .ci-ic { width: 50px; height: 50px; border-radius: 13px; background: var(--accent-soft); color: var(--accent); display:grid; place-items:center; flex-shrink:0; }
.qr-card { align-items: center; }
.qr-card .qr-img { width: 92px; height: 92px; border-radius: 10px; border: 1px solid var(--border); background: #fff; padding: 4px; flex-shrink: 0; }
.ci-card .ci-ic svg { width: 24px; height: 24px; }
.ci-card h4 { font-size: 1.02rem; margin-bottom: 4px; }
.ci-card p, .ci-card a { font-size: .94rem; color: var(--slate-500); }
.ci-card a:hover { color: var(--accent); }
/* copy-enabled contact cards */
.ci-card--copy { position: relative; }
.ci-card--copy .ci-link { display: flex; gap: 16px; align-items: flex-start; flex: 1; min-width: 0; text-decoration: none; color: inherit; padding-right: 44px; }
.ci-card--copy .ci-link h4 { color: var(--ink, #0f172a); }
.ci-card--copy .ci-link:hover h4 { color: var(--accent); }
.ci-copy { position: absolute; top: 14px; right: 14px; width: 38px; height: 38px; border-radius: 10px; border: 1px solid var(--border); background: var(--surface); color: var(--slate-500); display: grid; place-items: center; cursor: pointer; padding: 0; transition: color var(--t-mid), border-color var(--t-mid), background var(--t-mid); }
.ci-copy:hover { color: var(--accent); border-color: var(--accent); background: var(--accent-soft); }
.ci-copy svg { width: 17px; height: 17px; }
.ci-copy .ci-check-ic { display: none; }
.ci-copy.copied { color: #16a34a; border-color: #16a34a; background: rgba(22,163,74,.09); }
.ci-copy.copied .ci-copy-ic { display: none; }
.ci-copy.copied .ci-check-ic { display: block; }
.form-card { background: var(--surface); border:1px solid var(--border); border-radius: var(--r-xl); padding: clamp(26px,3.5vw,40px); box-shadow: var(--sh-md); }
.form-card h2 { font-size: 1.5rem; margin-bottom: 6px; }
.map-embed { margin-top: 16px; border-radius: var(--r-lg); overflow: hidden; border:1px solid var(--border); height: clamp(280px, 38vw, 360px); background: var(--surface-2); position: relative; }
.map-embed iframe { width: 100%; height: 100%; border: 0; display: block; }
.map-embed .map-ph { color: var(--slate-500); font-size: .9rem; padding: 20px; }
.map-embed svg { width: 34px; height: 34px; color: var(--accent); margin: 0 auto 10px; }

.hours-card { background: var(--surface); border:1px solid var(--border); border-radius: var(--r-lg); padding: 24px; }
.hours-card h4 { margin-bottom: 14px; font-size: 1.02rem; }
.hours-card .row { display:flex; justify-content:space-between; padding: 8px 0; border-bottom:1px solid var(--border); font-size:.92rem; }
.hours-card .row:last-child { border-bottom:0; }
.hours-card .row span:last-child { font-weight:600; color: var(--navy); font-family: var(--font-head); }

/* FAQ */
.faq-list { max-width: 760px; margin: clamp(32px,4vw,48px) auto 0; display:grid; gap:14px; }
.faq-item { background: var(--surface); border:1px solid var(--border); border-radius: var(--r-md); overflow: hidden; }
.faq-item summary { list-style: none; cursor: pointer; padding: 20px 24px; font-family: var(--font-head); font-weight: 600; color: var(--navy); display:flex; justify-content:space-between; align-items:center; gap:16px; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary .chev { width:20px; height:20px; color: var(--accent); transition: transform var(--t-mid) var(--ease); flex-shrink:0; }
.faq-item[open] summary .chev { transform: rotate(180deg); }
.faq-item .faq-body { padding: 0 24px 20px; color: var(--slate-500); font-size: .95rem; }

@media (max-width: 980px) {
  .svc-detail, .contact-grid, .about-split { grid-template-columns: minmax(0,1fr); }
  .svc-detail.flip .svc-detail__media { order: 0; }
  .values-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .about-stats { grid-template-columns: 1fr; }
}

/* ---------- Founder (about page) ---------- */
.founder-split { align-items: center; gap: clamp(32px, 5vw, 72px); }
.founder-photo { border-radius: 22px; overflow: hidden; border: 1px solid var(--border); box-shadow: var(--sh-lg); background: #0b0b0d; max-width: 440px; }
.founder-photo img { width: 100%; height: auto; display: block; }
.founder-sign { margin-top: 6px; }
.founder-sign .fs-name { font-family: var(--font-head); font-weight: 700; font-size: 1.16rem; color: var(--ink); }
.founder-sign .fs-role { color: var(--accent); font-weight: 600; font-size: .95rem; margin-top: 2px; }
@media (max-width: 820px) { .founder-split { grid-template-columns: 1fr; } .founder-photo { max-width: none; } }

/* AMC stats grid (responsive) */
.amc-grid { grid-template-columns: repeat(3, 1fr); margin-top: 40px; }
@media (max-width: 760px) { .amc-grid { grid-template-columns: 1fr; } }
