/* Shared inner-page components; the approved home remains in style.css. */
.inner-page .site-header { background:rgba(255,255,255,.96); border-bottom:1px solid var(--line); }
.site-nav a[aria-current=page] { text-decoration:underline; text-underline-offset:.45em; }
.page-hero { padding:145px var(--pad) 5rem; overflow:hidden; isolation:isolate; }
.page-hero > :not(.background-pattern) { position:relative; z-index:1; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:.65rem; align-items:center; margin-bottom:4rem; color:#506975; font-size:.75rem; }
.breadcrumbs > *+*::before { content:"/"; margin-right:.65rem; opacity:.5; }
.breadcrumbs a:hover { text-decoration:underline; }
.page-hero h1 { max-width:1200px; margin:1.7rem 0 2rem; font-family:var(--display); font-size:clamp(3.2rem,7.7vw,7.5rem); font-weight:500; line-height:1.12; letter-spacing:-.025em; text-transform:uppercase; overflow-wrap:break-word; }
.page-hero h1 em { font-style:normal; color:transparent; -webkit-text-stroke:1.5px var(--petrol); }
.page-lead { max-width:790px; font-size:clamp(1rem,1.5vw,1.25rem); line-height:1.8; margin:0; color:#385565; }
.editorial-intro { display:grid; grid-template-columns:1fr 1.4fr; gap:7vw; padding:5rem var(--pad); border-top:1px solid var(--line); }
.editorial-intro h2, .feature-card h2, .case-story h2 { margin:0 0 1.5rem; font-family:var(--display); font-size:clamp(2rem,3.4vw,3.8rem); font-weight:400; line-height:1.2; text-transform:uppercase; }
.editorial-intro p { margin:0 0 1.5rem; line-height:1.85; }
.editorial-intro > .kicker { color:var(--petrol); }
.feature-section { padding:0 var(--pad) 5rem; }
.feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-block:1px solid var(--line); }
.feature-card { padding:2.5rem 2rem 2.5rem 0; }
.feature-card+.feature-card { padding-left:2rem; border-left:1px solid var(--line); }
.feature-card > img { margin-bottom:2rem; }
.feature-card h2 { font-size:clamp(1.8rem,2.5vw,2.7rem); }
.feature-card p { margin:0; color:#385565; line-height:1.8; }
.brand-list { padding:0; margin:2rem 0 0; list-style:none; }
.brand-list li { display:flex; align-items:center; gap:1rem; padding:1rem 0; border-top:1px solid var(--line); }
.brand-list img { flex-shrink:0; width:26px; height:26px; }
.service-image { margin:0 var(--pad) 5rem; padding:2rem; background:#eef2f3; }
.service-image img { width:100%; max-height:630px; height:auto; object-fit:contain; }
.service-image figcaption { display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; padding-top:1.5rem; font-size:.8rem; }
.service-image figcaption a { text-decoration:underline; }
.related-services { padding:4rem var(--pad); }
.service-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin-top:2rem; background:var(--line); border:1px solid var(--line); }
.service-card { display:flex; flex-direction:column; padding:clamp(1.5rem,3vw,3rem); background:white; transition:background .25s; }
.service-card:hover { background:#f1f5f6; }
.service-card h3 { font-family:var(--display); font-size:clamp(2rem,3vw,3rem); font-weight:400; text-transform:uppercase; margin:2rem 0 1rem; line-height:1.2; }
.service-card p { color:#385565; margin:0 0 2rem; line-height:1.8; }
.card-link { display:flex; align-items:center; gap:1.5rem; margin-top:auto; padding-top:1.5rem; font-size:.8rem; text-transform:uppercase; font-weight:600; }
.service-symbol { color:var(--petrol); }
.ai-map { padding:4rem var(--pad); background:var(--acid); }
.ai-map > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; margin:3rem 0; }
.ai-map > div span { font-family:var(--display); font-size:clamp(2rem,3.2vw,3.5rem); line-height:1.2; text-transform:uppercase; }
.ai-map p:last-child { max-width:760px; }
.reference-note { padding:0 var(--pad) 3rem; font-size:.85rem; }
.reference-note a { text-decoration:underline; }
.page-cta { display:flex; justify-content:space-between; align-items:center; gap:3rem; padding:5rem var(--pad); background:var(--petrol); color:#fff; }
.page-cta h2 { margin:1rem 0 0; font-family:var(--display); font-size:clamp(2.5rem,4.8vw,5rem); font-weight:400; line-height:1.15; text-transform:uppercase; }
.page-cta h2 em { font-style:normal; color:var(--acid); }
.page-cta .outline-link { border-color:#fff; min-width:0; flex-shrink:0; }
.page-cta .outline-link:hover { background:var(--acid); color:var(--ink); }
.page-cta .outline-link:hover span { color:inherit; }
.portfolio-page { padding:0 var(--pad) 5rem; }
.portfolio-page .projects-grid { margin-top:1rem; }
.case-meta { display:flex; flex-wrap:wrap; gap:1.5rem; margin:0 var(--pad) 2rem; padding-block:1.5rem; border-block:1px solid var(--line); font-size:.8rem; }
.case-meta a { margin-left:auto; text-decoration:underline; }
.case-cover { margin:0 var(--pad); padding:clamp(1rem,4vw,4rem); background:#eff3f4; }
.case-cover img { display:block; width:100%; height:auto; max-height:740px; object-fit:contain; }
.case-story { padding:5rem var(--pad); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3rem; }
.case-story img { margin-bottom:1.5rem; }
.case-story p { line-height:1.85; color:#385565; }
.case-detail { margin:0 var(--pad) 5rem; background:#eff3f4; padding:clamp(1rem,4vw,4rem); }
.case-detail img { width:100%; height:auto; max-height:850px; object-fit:contain; }
.case-detail figcaption { margin-top:1.5rem; font-size:.8rem; }
.next-project { padding:3rem var(--pad) 5rem; border-top:1px solid var(--line); }
.next-project > a:not(.text-link) { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin:2rem 0; font-family:var(--display); font-size:clamp(2.5rem,5vw,5rem); line-height:1.2; text-transform:uppercase; }
.next-project > a > span { flex-shrink:0; }
.contact-page { margin-top:0; }
.contact-page .contact__copy > p:last-child { margin-top:2rem; max-width:430px; }
.legal-copy { max-width:900px; padding:0 var(--pad) 5rem; margin:auto; }
.legal-copy h2 { margin:2.5rem 0 1rem; font-size:1.5rem; line-height:1.3; }
.legal-copy p { line-height:1.85; }
.legal-copy a { text-decoration:underline; }
.full-legal { padding-top:145px; }
.error-links { display:flex; flex-wrap:wrap; gap:1.5rem; padding:0 var(--pad) 5rem; }
.site-footer a { padding-block:.3rem; }
@media(max-width:1024px) {
  .editorial-intro { gap:3rem; }
  .page-cta { align-items:flex-start; flex-direction:column; }
  .case-story { gap:1.5rem; }
}
@media(max-width:760px) {
  .page-hero { padding-top:110px; padding-bottom:3rem; }
  .breadcrumbs { margin-bottom:2.5rem; }
  .page-hero h1 { font-size:clamp(2.6rem,10.5vw,4.8rem); }
  .editorial-intro { grid-template-columns:1fr; gap:1rem; padding-block:3rem; }
  .feature-grid,.case-story,.service-cards,.ai-map > div { grid-template-columns:1fr; }
  .feature-card,.feature-card+.feature-card { border-left:0; border-bottom:1px solid var(--line); padding:2rem 0; }
  .feature-card:last-child { border-bottom:0; }
  .service-image { padding:1rem; margin-bottom:3rem; }
  .related-services,.case-story { padding-block:3rem; }
  .case-meta a { margin-left:0; }
  .site-nav { gap:1.5rem; overflow-y:auto; }
  .site-nav > a { font-size:clamp(2.4rem,10vw,3.6rem); }
  .page-cta .outline-link { width:100%; }
  .inner-page .site-header:has(.site-nav.is-open) { background:var(--petrol); }
}
