/* Scoped to the industry hub and industry detail pages. */
:is(.route-industry,.route-industries-hub) h1 { font-family:var(--serif); font-weight:300; letter-spacing:-.035em; }
:is(.route-industry,.route-industries-hub) main h2 { font-size:clamp(36px,3.7vw,56px); line-height:1.12; letter-spacing:-.025em; }
:is(.route-industry,.route-industries-hub) main p { font-size:20px; line-height:1.55; }
:is(.route-industry,.route-industries-hub) main a { text-decoration:none; }
:is(.route-industry,.route-industries-hub) main a:focus-visible { outline:2px solid var(--gold); outline-offset:6px; }
.industries-hub-header { padding-top:30px; padding-bottom:62px; }
.industry-hero .breadcrumbs,.industries-hub-header .breadcrumbs { margin:0; padding:0; font-size:14px; }
.industries-hub-header h1 { font-size:clamp(56px,6vw,88px); line-height:1.05; margin:42px 0 24px; }
.industries-hub-header>p { max-width:790px; margin:0; font-size:24px!important; }
.sector-directory { padding-bottom:100px; }
.sector-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:64px 32px; }
.sector-card { grid-column:span 2; min-width:0; }
/* Nineteen sectors: five rows of three, then two balanced rows of two. */
.sector-directory .sector-card:nth-last-child(-n+4) { grid-column:span 3; }
.sector-card-link { display:block; color:var(--ink); height:100%; }
.sector-card-photo { overflow:hidden; aspect-ratio:16/10; background:var(--gold-soft); }
.sector-card-photo img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.sector-card-copy { padding:25px 0 0; }
:is(.route-industry,.route-industries-hub) .sector-card-copy :is(h2,h3) { font-family:var(--sans); font-weight:600; font-size:clamp(24px,2.1vw,30px); line-height:1.25; letter-spacing:-.025em; margin:0; }
.sector-card-copy .sector-title-end { display:inline; white-space:nowrap; }
.sector-card-copy [aria-hidden] { display:inline-block; padding-left:.2em; transition:transform .2s ease; }
:is(.route-industry,.route-industries-hub) .sector-card-copy p { font-size:18px; margin:14px 0 0; }
.industry-hub-approach { background:var(--gold-soft); padding:85px 0; }
.industry-hub-approach>.wrap { display:grid; grid-template-columns:1fr 1.1fr; gap:80px; }
.industry-hub-approach h2 { margin:0; max-width:540px; }
.industry-hub-approach-copy p { margin:0 0 24px; }
.industry-hub-approach-copy .text-link { margin-top:12px; }
.industry-hero>.wrap { padding-top:27px; padding-bottom:25px; }
.industry-cover { width:100%; height:clamp(340px,36vw,540px); overflow:hidden; background:var(--gold-soft); }
.industry-cover img { display:block; width:100%; height:100%; object-fit:cover; }
.industry-hero-panel { position:relative; background:white; margin:-56px var(--gutter) 0 0; padding-top:44px; }
.industry-hero-panel>.wrap { max-width:1440px; margin:0 auto; padding-right:0; }
.industry-hero-panel h1 { font-size:clamp(42px,5vw,74px); line-height:1.06; max-width:1040px; margin:0 0 26px; text-wrap:balance; }
.industry-hero-panel p { max-width:880px; margin:0; font-size:24px!important; }
.industry-page-nav { display:flex; flex-wrap:wrap; gap:14px 32px; padding-top:38px; padding-bottom:40px; }
.industry-page-nav a { font-size:18px; line-height:1.5; font-weight:600; padding:6px 0; color:var(--ink); }
.industry-context { padding-top:45px; padding-bottom:86px; }
.industry-context h2 { max-width:860px; margin:0 0 34px; }
.industry-context-copy { columns:2; column-gap:70px; }
.industry-context-copy p { margin:0 0 24px; break-inside:avoid; }
.industry-method { padding:78px 0; background:var(--gold-soft); }
.industry-method>.wrap { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; }
.industry-method h2 { max-width:520px; margin:0; }
.industry-method-copy p { margin:0 0 24px; }
.industry-method-copy .text-link { margin-top:14px; }
.industry-section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:25px; margin-bottom:40px; }
.industry-section-heading h2 { margin:0; }
.industry-section-heading>.text-link { flex-shrink:0; }
.industry-projects { padding-top:90px; padding-bottom:90px; }
.industry-project-intro { max-width:830px; margin:-12px 0 40px; }
.industry-case-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 32px; }
.industry-case-grid:has(>.industry-case:only-child),.industry-case-grid:has(>.industry-case:nth-child(2):last-child),.industry-case-grid:has(>.industry-case:nth-child(4):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.industry-case { background:var(--gold-soft); padding:30px; display:flex; flex-direction:column; align-items:flex-start; }
.industry-case-period { font-size:18px!important; margin:0 0 18px; }
.industry-case h3 { font-family:var(--sans); font-size:30px; line-height:1.2; margin:0 0 20px; letter-spacing:-.025em; }
.industry-case>p:not(.industry-case-period) { font-size:18px; margin:0 0 28px; }
.industry-case>.text-link { margin-top:auto; }
.industry-case-grid.has-one-project { display:block; }
.has-one-project .industry-case { display:grid; grid-template-columns:1fr 1.5fr; gap:16px 48px; }
.has-one-project .industry-case-period { grid-column:1; margin:0; }
.has-one-project .industry-case h3 { grid-column:1; grid-row:2; margin:0; }
.has-one-project .industry-case>p:not(.industry-case-period) { grid-column:2; grid-row:1 / span 2; margin:0; }
.has-one-project .industry-case>.text-link { grid-column:2; }
.industry-services { padding:80px 0; background:#f8f6f2; }
.industry-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.industry-service-grid article { padding-right:10px; }
.industry-service-grid h3 { margin:0 0 18px; font-family:var(--sans); font-weight:600; }
.industry-service-grid h3 a { font-size:26px; line-height:1.25; display:inline; }
.industry-service-grid h3 a span { display:inline-block; margin-left:6px; }
.industry-service-grid p { font-size:18px!important; margin:0; }
.industry-service-additional { margin-top:52px; padding-top:34px; border-top:1px solid #d6c9b9; }
.industry-service-additional>h3 { font-size:22px; font-family:var(--sans); font-weight:500; margin:0 0 26px; }
.industry-service-additional ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; padding:0; margin:0; list-style:none; }
.industry-service-additional .text-link { font-size:20px; }
.industry-service-additional p { font-size:18px!important; margin:12px 0 0; }
.industry-related { padding-top:85px; padding-bottom:85px; }
.industry-related .sector-card { grid-column:span 3; }
.industry-related .sector-card-photo { aspect-ratio:2.3; }
@media (hover:hover) {
  .sector-card-link:hover .sector-card-photo img { transform:scale(1.025); }
  .sector-card-link:hover :is(h2,h3) [aria-hidden] { transform:translateX(4px); }
  .industry-page-nav a:hover,.sector-card-link:hover :is(h2,h3) { color:var(--gold); }
}
@media (max-width:1000px) {
  .sector-card,.sector-directory .sector-card:nth-last-child(-n+4) { grid-column:span 3; }
  .sector-directory .sector-card:last-child { grid-column:span 6; }
  .sector-directory .sector-card:last-child .sector-card-link { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:32px; }
  .sector-directory .sector-card:last-child .sector-card-copy { padding:0; }
  .industry-method>.wrap,.industry-hub-approach>.wrap { gap:40px; }
  .industry-context-copy { column-gap:40px; }
  .industry-case-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .industry-service-grid,.industry-service-additional ul { gap:25px; }
  .industry-section-heading { align-items:flex-start; }
  .industry-section-heading>.text-link { flex-shrink:1; }
}
@media (max-width:700px) {
  :is(.route-industry,.route-industries-hub) main p { font-size:18px; }
  :is(.route-industry,.route-industries-hub) main h2 { font-size:36px; }
  .industries-hub-header { padding-top:22px; padding-bottom:40px; }
  .industries-hub-header h1 { margin-top:28px; }
  .industries-hub-header>p,.industry-hero-panel p { font-size:20px!important; }
  .sector-grid { grid-template-columns:1fr; gap:40px; }
  .sector-card,.sector-directory .sector-card:nth-last-child(-n+4),.sector-directory .sector-card:last-child,.industry-related .sector-card { grid-column:auto; }
  .sector-directory .sector-card:last-child .sector-card-link { display:block; }
  .sector-directory .sector-card:last-child .sector-card-copy { padding-top:22px; }
  .sector-card-copy { padding-top:22px; }
  :is(.route-industry,.route-industries-hub) .sector-card-copy :is(h2,h3) { font-size:26px; }
  .sector-directory { padding-bottom:60px; }
  .industry-hub-approach,.industry-method,.industry-services { padding:55px 0; }
  .industry-hub-approach>.wrap,.industry-method>.wrap { display:block; }
  .industry-hub-approach h2,.industry-method h2 { margin-bottom:28px; }
  .industry-hero>.wrap { padding-top:20px; padding-bottom:20px; }
  .industry-cover { height:320px; }
  .industry-hero-panel { margin-top:-28px; margin-right:20px; padding-top:28px; }
  .industry-hero-panel h1 { font-size:42px; margin-bottom:24px; }
  .industry-page-nav { padding-top:28px; padding-bottom:24px; gap:8px 24px; }
  .industry-page-nav a { font-size:17px; }
  .industry-context { padding-top:30px; padding-bottom:42px; }
  .industry-context h2 { margin-bottom:25px; }
  .industry-context-copy { columns:auto; }
  .industry-projects,.industry-related { padding-top:55px; padding-bottom:55px; }
  .industry-section-heading { display:block; margin-bottom:28px; }
  .industry-section-heading>.text-link { margin-top:22px; }
  .industry-case-grid,.industry-case-grid:has(>.industry-case:nth-child(2):last-child),.industry-case-grid:has(>.industry-case:nth-child(4):last-child) { display:grid; grid-template-columns:1fr; gap:24px; }
  .industry-case,.has-one-project .industry-case { padding:26px; display:flex; gap:0; }
  .has-one-project .industry-case-period { margin-bottom:18px; }
  .has-one-project .industry-case h3 { margin-bottom:20px; }
  .has-one-project .industry-case>p:not(.industry-case-period) { margin-bottom:28px; }
  .industry-service-grid,.industry-service-additional ul { grid-template-columns:1fr; gap:32px; }
  .industry-service-additional { margin-top:35px; }
  .industry-related .sector-card-photo { aspect-ratio:16/10; }
}
@media (prefers-reduced-motion:reduce) {
  .sector-card-photo img,.sector-card-copy :is(h2,h3) span { transition:none; }
}
@media (max-width:360px) {
  .industry-hero-panel h1 { font-size:36px; }
}

@media(max-width:370px) { .sector-card-copy .sector-title-end { white-space:normal; } }
