/* Industry pages (hub, oil and gas, mining). Loaded after solutions.css, whose hero, pain, path, proof and
   Alberta-context patterns these pages reuse read-only. */

/* breadcrumb in the hero */
.ind-hero .crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 26px; font-size: 0.95rem; color: var(--fog); }
.ind-hero .crumbs a { color: var(--mist); transition: color 0.2s; }
.ind-hero .crumbs a:hover { color: var(--cream); }
.ind-hero .crumbs .sep { color: var(--night-line-strong); }
.ind-hero .crumbs [aria-current] { color: var(--cream); }

/* inline source links in prose */
.ind-prose a:not(.link-arrow):not(.btn) { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: currentColor; transition: color 0.2s; }
:is(.paper, .paper-2) .ind-prose a:not(.link-arrow):not(.btn) { color: var(--paper-ink); text-decoration-color: rgba(0, 149, 237, 0.55); }
:is(.paper, .paper-2) .ind-prose a:not(.link-arrow):not(.btn):hover { color: var(--blue); }
.night .ind-prose a:not(.link-arrow):not(.btn):hover, .night-deep .ind-prose a:not(.link-arrow):not(.btn):hover { color: var(--sky); }
.ind-prose .body-copy + .body-copy { margin-top: 18px; }
:is(.paper, .paper-2) .ind-prose .body-copy { color: var(--paper-body); }

/* ------------------------------------------------------------------ hub: the two industry cards */
.ind-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.ind-card { display: flex; flex-direction: column; padding: clamp(28px, 3.4vw, 44px); }
.ind-card-art { height: clamp(200px, 24vw, 320px); margin: 0 0 28px; display: flex; align-items: center; justify-content: flex-start; }
.ind-card-art img { height: 100%; width: auto; max-width: 100%; object-fit: contain; transition: transform 1.2s var(--ease-out); }
.ind-card:hover .ind-card-art img { transform: translateY(-6px); }
.ind-card .ind-who { color: var(--fog); font-size: 0.95rem; margin-bottom: 10px; }
.ind-card h3 { font-size: clamp(1.9rem, 2.8vw, 2.5rem); line-height: 1.06; }
.ind-card > p:not(.ind-who) { margin-top: 14px; font-size: 1.04rem; }
.ind-card .check-list { margin-top: 22px; }
@media (max-width: 860px) { .ind-cards { grid-template-columns: 1fr; } .ind-card-art { height: 200px; } }

/* hub: "also used on" as plain text columns */
.also { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(28px, 4vw, 56px); }
.also > div { padding-top: 22px; border-top: 2px solid var(--paper-ink); }
.also h3 { font-size: 1.55rem; margin-bottom: 12px; }
.also p { color: var(--paper-body); }
.also p + p { margin-top: 12px; }
@media (max-width: 900px) { .also { grid-template-columns: 1fr; } }

/* hub: what stays the same across industries */
.same { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(36px, 6vw, 88px); align-items: center; }
.same-list { list-style: none; margin: 30px 0 0; padding: 0; display: grid; }
.same-list li { padding: 18px 0; border-top: 1px solid var(--night-line); color: var(--mist); }
.same-list li:last-child { border-bottom: 1px solid var(--night-line); }
.same-list b { display: block; color: var(--cream); font-weight: 600; margin-bottom: 4px; }
@media (max-width: 900px) { .same { grid-template-columns: 1fr; } }

/* ------------------------------------------------------------------ spokes */
/* value chain / record types: three or four columns of plain cards */
.chain { display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: 18px; }
.chain-card { display: flex; flex-direction: column; }
.chain-card .chain-kicker { font-size: 0.9rem; color: var(--fog); margin-bottom: 10px; }
.chain-card h3 { font-size: 1.5rem; margin-bottom: 12px; }
.chain-card .check-list { margin-top: 18px; gap: 10px; font-size: 0.97rem; }
@media (max-width: 1080px) { .chain { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .chain { grid-template-columns: 1fr; } }

/* consultants and owners, side by side */
.duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.duo .card { padding: clamp(28px, 3.4vw, 44px); }
.duo h3 { font-size: clamp(1.7rem, 2.4vw, 2.1rem); line-height: 1.1; }
.duo .card > p { margin-top: 12px; }
.duo .check-list { margin-top: 22px; }
.duo .link-arrow { margin-top: 26px; }
@media (max-width: 860px) { .duo { grid-template-columns: 1fr; } }

/* related links grid */
.rel-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.rel-card { min-height: 100%; }
.rel-card .rel-kicker { font-size: 0.86rem; color: var(--fog); margin-bottom: 10px; }
.rel-card h3 { font-size: 1.45rem; }
@media (max-width: 980px) { .rel-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .rel-grid { grid-template-columns: 1fr; } }

/* source list under the regulatory context */
.sources { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--paper-line); font-size: 0.88rem; color: var(--paper-muted); line-height: 1.6; }
.sources p + p { margin-top: 6px; }
.sources a { color: var(--paper-muted); text-decoration: underline; text-underline-offset: 2px; overflow-wrap: anywhere; }
.sources a:hover { color: var(--blue); }

/* the disclaimer box needs contrast when the section itself is paper-2 */
.paper-2 .disclaimer, .paper[style*="paper-2"] .disclaimer { background: #fff; box-shadow: 0 0 0 1px var(--paper-line); }

/* hub: three industry cards, two "also used on" entries, four start-from cards */
.ind-cards-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ind-cards-3 .ind-card h3 { font-size: clamp(1.7rem, 2.2vw, 2.2rem); }
.ind-cards-3 .ind-card-art { height: clamp(180px, 18vw, 260px); }
.also-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rel-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) { .ind-cards-3 { grid-template-columns: 1fr 1fr; } .rel-grid-4 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 900px) { .also-2 { grid-template-columns: 1fr; } }
@media (max-width: 860px) { .ind-cards-3 { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .rel-grid-4 { grid-template-columns: 1fr; } }
