/* pages.css — shared styles for industry, service, insights and long-form case pages.
   Built on styles.css tokens; loaded after it. Added Sept 29, 2026. */

.sec{max-width:1200px;margin-inline:auto;padding-top:12vh}
.sec-num{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.32em;color:var(--signal);text-transform:uppercase}
.sec h2{font-family:var(--font-display);font-weight:600;font-size:clamp(1.9rem,4vw,3rem);line-height:1.08;letter-spacing:-.01em;margin:.8rem 0 1.1rem;max-width:22ch}
.sec .lede{color:rgba(238,242,248,.78);max-width:44rem;font-size:clamp(1rem,1.3vw,1.12rem);line-height:1.75}
.sec .lede + .lede{margin-top:1rem}
.prose{max-width:44rem}
.prose p{color:rgba(238,242,248,.8);line-height:1.8;margin-top:1.1rem}
.prose h3{font-family:var(--font-display);font-weight:600;font-size:1.3rem;margin-top:2.2rem}
.prose ul{margin:1rem 0 0 1.1rem;color:rgba(238,242,248,.8);line-height:1.8}
.prose li{margin-top:.35rem}
.prose a,.lede a{color:var(--sky);text-decoration:underline;text-underline-offset:3px}

/* cards: what we do / deliverables */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.2rem;margin-top:2.6rem}
.card{border:1px solid rgba(56,189,248,.16);border-radius:18px;padding:1.6rem 1.6rem 1.7rem;background:linear-gradient(160deg,rgba(13,22,38,.85),rgba(10,15,28,.85))}
.card .k{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.24em;color:var(--sky);text-transform:uppercase}
.card h3{font-family:var(--font-display);font-weight:600;font-size:1.22rem;line-height:1.25;margin:.6rem 0 .55rem}
.card p{color:rgba(238,242,248,.74);font-size:.95rem;line-height:1.65}
.card ul{margin:.7rem 0 0 1rem;color:rgba(238,242,248,.74);font-size:.93rem;line-height:1.7}

/* numbered steps */
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;margin-top:2.6rem}
.step{counter-increment:s;border-top:1px solid rgba(56,189,248,.3);padding-top:1.2rem}
.step::before{content:counter(s,decimal-leading-zero);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.24em;color:var(--signal)}
.step h3{font-family:var(--font-display);font-weight:600;font-size:1.15rem;margin:.55rem 0 .45rem}
.step p{color:rgba(238,242,248,.72);font-size:.94rem;line-height:1.65}

/* proof: linked case studies */
.proof{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;margin-top:2.6rem}
.proof a{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:260px;border-radius:18px;overflow:hidden;padding:1.4rem;border:1px solid rgba(238,242,248,.1);background:var(--eclipse) center/cover no-repeat;isolation:isolate}
.proof a::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,11,20,.1) 20%,rgba(7,11,20,.88) 100%);transition:background .4s}
.proof a:hover::before{background:linear-gradient(180deg,rgba(7,11,20,0) 10%,rgba(7,11,20,.8) 100%)}
.proof b{font-family:var(--font-display);font-weight:600;font-size:1.2rem}
.proof span{font-size:.88rem;color:rgba(238,242,248,.75);margin-top:.25rem}
.proof i{font-style:normal;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.2em;color:var(--sky);text-transform:uppercase;margin-top:.8rem}

/* chips list of links */
.linkrow{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.6rem}
.linkrow a{padding:.55rem 1rem;border-radius:999px;border:1px solid rgba(56,189,248,.35);color:var(--sky);font-size:.86rem;transition:background .25s}
.linkrow a:hover{background:rgba(56,189,248,.12)}

/* FAQ */
.faq{max-width:52rem;margin-top:2.2rem;border-top:1px solid rgba(238,242,248,.1)}
.faq details{border-bottom:1px solid rgba(238,242,248,.1)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;padding:1.2rem 0;font-family:var(--font-display);font-weight:600;font-size:1.08rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--signal);font-size:1.3rem;line-height:1;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:rgba(238,242,248,.76);line-height:1.75;padding:0 0 1.3rem;max-width:46rem}

/* case pages: gallery of stills and deliverable figures */
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:2rem}
.gallery figure{margin:0}
.gallery img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid rgba(238,242,248,.08);background:#fff}
.gallery figcaption{font-size:.82rem;color:rgba(238,242,248,.6);margin-top:.5rem;line-height:1.5}
.dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem 2rem;margin-top:1.6rem;max-width:56rem}
.dl li{list-style:none;color:rgba(238,242,248,.8);padding:.55rem 0;border-bottom:1px solid rgba(238,242,248,.08);font-size:.95rem}

/* insights */
.post-list{display:grid;gap:1.2rem;margin-top:2.4rem;max-width:60rem}
.post-card{display:block;border:1px solid rgba(238,242,248,.1);border-radius:18px;padding:1.6rem 1.8rem;background:linear-gradient(160deg,rgba(13,22,38,.8),rgba(10,15,28,.8));transition:border-color .3s,transform .4s var(--ease-out)}
.post-card:hover{border-color:rgba(56,189,248,.45);transform:translateY(-2px)}
.post-card .meta{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.22em;color:var(--sky);text-transform:uppercase}
.post-card h2{font-family:var(--font-display);font-weight:600;font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.2;margin:.6rem 0 .5rem;max-width:none}
.post-card p{color:rgba(238,242,248,.72);line-height:1.65}
.article{max-width:44rem;margin-inline:auto;padding-top:4vh}
.article .byline{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.2em;color:rgba(238,242,248,.55);text-transform:uppercase;margin-top:1.4rem}
.article h2{font-family:var(--font-display);font-weight:600;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.2;margin:2.8rem 0 .2rem}
.article p{color:rgba(238,242,248,.84);font-size:1.06rem;line-height:1.85;margin-top:1.15rem}
.article ul{margin:1.1rem 0 0 1.2rem;color:rgba(238,242,248,.84);font-size:1.04rem;line-height:1.8}
.article li{margin-top:.4rem}
.article a{color:var(--sky);text-decoration:underline;text-underline-offset:3px}
.article blockquote{margin:2rem 0 0;padding:1.2rem 1.4rem;border-left:2px solid var(--signal);background:rgba(56,189,248,.06);border-radius:0 12px 12px 0;font-family:var(--font-display);font-size:1.2rem;line-height:1.5}
.article .note{font-size:.88rem;color:rgba(238,242,248,.6);border-top:1px solid rgba(238,242,248,.1);margin-top:2.6rem;padding-top:1.2rem}
.crumbs{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(238,242,248,.55)}
.crumbs a{color:var(--sky)}
.next-case{display:flex;justify-content:space-between;align-items:center;gap:1rem;max-width:1200px;margin:10vh auto 0;padding:1.6rem 0;border-top:1px solid rgba(238,242,248,.1);border-bottom:1px solid rgba(238,242,248,.1)}
.next-case span{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.22em;color:rgba(238,242,248,.55);text-transform:uppercase}
.next-case a{font-family:var(--font-display);font-weight:600;font-size:clamp(1.2rem,2.4vw,1.8rem);color:var(--paper)}
.next-case a:hover{color:var(--sky)}
