.inner-hero { position:relative; min-height:760px; padding:148px 0 78px; display:grid; place-items:center; overflow:hidden; color:#fff; background:#0b0d0d; }
.inner-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(238,90,36,.09) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),radial-gradient(circle at 74% 42%,rgba(238,90,36,.13),transparent 32%); background-size:25% 100%,100% 112px,auto; }
.inner-hero::after { content:""; position:absolute; width:340px; height:340px; right:-190px; bottom:-190px; border:1px solid rgba(238,90,36,.45); border-radius:50%; box-shadow:0 0 100px rgba(238,90,36,.12); }
.inner-hero-shell { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.85fr); align-items:center; gap:clamp(54px,7vw,102px); }
.inner-hero-shell::before { content:""; position:absolute; z-index:3; top:8%; bottom:8%; left:calc(55% + 4px); width:1px; background:linear-gradient(transparent,var(--orange) 20%,var(--orange) 80%,transparent); box-shadow:0 0 20px rgba(238,90,36,.7); pointer-events:none; }
.inner-hero-shell::after { content:""; position:absolute; z-index:4; left:calc(55% - 1px); top:19%; width:11px; height:11px; border:2px solid var(--orange); border-radius:50%; background:#0b0d0d; box-shadow:0 0 20px rgba(238,90,36,.9); pointer-events:none; }
.inner-hero-content { position:relative; z-index:2; padding:34px 0; text-align:left; }
.inner-hero-media { position:relative; height:clamp(430px,42vw,570px); margin:0; overflow:hidden; background:#171a1a; box-shadow:0 30px 80px rgba(0,0,0,.46); isolation:isolate; }
.inner-hero-media::before { content:""; position:absolute; z-index:2; inset:18px; border:1px solid rgba(255,255,255,.2); pointer-events:none; }
.inner-hero-media::after { display:none; }
.inner-hero-media img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; image-rendering:auto; }
.inner-hero-media[data-image-shape="portrait"] { width:min(100%,380px); height:auto; aspect-ratio:2/3; justify-self:end; }
.inner-hero-media[data-image-shape="portrait"] img { object-position:center 12%; }
.inner-hero-media[data-image-shape="careers"] { height:auto; aspect-ratio:1100/665; align-self:center; }
.inner-hero-media[data-image-shape="careers"] img { object-position:center; }
.inner-hero .eyebrow { margin:0 0 32px; display:flex; align-items:center; gap:16px; color:#e3e4e1; font-size:11px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.inner-hero .eyebrow::before { content:""; width:56px; height:3px; background:var(--orange); }
.inner-hero h1,.intro-grid h2,.content-heading,.enquiry-grid h2,.legal-copy h2 { max-width:1050px; margin:0; font-family:"Barlow Condensed","Arial Narrow",sans-serif; font-size:clamp(68px,7.2vw,112px); font-weight:800; line-height:.84; letter-spacing:-.04em; text-transform:uppercase; }
.inner-hero p:last-child { max-width:620px; margin:34px 0 0; color:#d4d6d3; font-size:19px; }
.intro-panel { padding:clamp(90px,10vw,160px) 0; background:var(--paper); }
.intro-grid { width:min(calc(100% - 96px),1180px); margin:auto; display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(70px,9vw,140px); }
.intro-grid h2 { color:var(--ink); font-size:clamp(58px,6vw,90px); }
.intro-grid p { margin:0 0 24px; color:#404340; font-size:20px; line-height:1.65; }
.content-section { padding:clamp(90px,9vw,150px) 0; background:var(--paper); }
.content-section.tint { background:var(--paper-deep); }
.content-section.dark { color:#fff; background:var(--ink); }
.content-wrap { width:min(calc(100% - 96px),1180px); margin:auto; }
.content-heading { margin-bottom:60px; color:var(--ink); font-size:clamp(60px,6vw,94px); }
.content-section.dark .content-heading { color:#fff; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.2); border-left:1px solid rgba(255,255,255,.2); }
.service-item { min-height:200px; padding:30px; display:flex; align-items:flex-end; border-right:1px solid rgba(255,255,255,.2); border-bottom:1px solid rgba(255,255,255,.2); background:#121414; transition:background .2s ease; }
.service-item:hover { background:var(--orange); }
.service-item h3 { margin:0; font-family:"Barlow Condensed",sans-serif; font-size:28px; line-height:1.05; text-transform:uppercase; }
.project-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.project-card { position:relative; min-height:450px; display:block; overflow:hidden; color:#fff; background:#222; }
.project-card::before { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,.05) 72%); pointer-events:none; }
.project-card::after { content:""; position:absolute; z-index:3; top:22px; right:22px; width:44px; height:44px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.55); transition:color .25s ease,background .25s ease,border-color .25s ease,transform .25s ease; }
.project-card-media { position:absolute; inset:0; display:block; overflow:hidden; }
.project-card-media::after { display:none; }
.project-card-media img { width:100%; height:100%; display:block; object-fit:cover; image-rendering:auto; transition:transform .65s cubic-bezier(.2,.8,.2,1); }
.project-card>div { position:absolute; z-index:2; inset:auto 26px 28px; }
.project-card h3 { margin:0 0 8px; font-family:"Barlow Condensed",sans-serif; font-size:32px; line-height:1; text-transform:uppercase; }
.project-card p { margin:0; color:var(--orange); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.project-card:hover .project-card-media img,.project-card:focus-visible .project-card-media img { transform:scale(1.045); }
.project-card:hover::after,.project-card:focus-visible::after { color:#fff; border-color:var(--orange); background:var(--orange); transform:translate(2px,-2px); }
.project-card:focus-visible { outline:3px solid var(--orange); outline-offset:4px; }
.assurance-strip { padding:80px 0; color:var(--ink); background:var(--orange); }
.assurance-grid { width:min(calc(100% - 96px),1180px); margin:auto; display:grid; grid-template-columns:repeat(4,1fr); }
.assurance-item { min-height:150px; padding:22px 30px; display:flex; flex-direction:column; justify-content:center; border-right:1px solid rgba(0,0,0,.2); }
.assurance-item span { font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.assurance-item strong { margin-top:8px; font-family:"Barlow Condensed",sans-serif; font-size:32px; line-height:1; text-transform:uppercase; }
.enquiry-section { padding:clamp(90px,9vw,150px) 0; color:#fff; background:#b94018; }
.enquiry-grid { width:min(calc(100% - 96px),1180px); margin:auto; display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(60px,8vw,120px); }
.enquiry-grid h2 { color:#fff; font-size:clamp(62px,6vw,94px); }
.enquiry-grid>div>p { font-size:18px; }
.enquiry-form { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.enquiry-form label { display:grid; gap:7px; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.enquiry-form label.full { grid-column:1/-1; }
.enquiry-form input,.enquiry-form textarea { width:100%; padding:14px; border:1px solid rgba(255,255,255,.45); border-radius:0; color:#fff; background:rgba(0,0,0,.13); outline:none; }
.enquiry-form input:focus,.enquiry-form textarea:focus { border-color:#fff; }
.enquiry-form textarea { min-height:140px; resize:vertical; }
.enquiry-form button { min-height:52px; grid-column:1/-1; border:1px solid #fff; color:#fff; background:#111; cursor:pointer; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.form-status { grid-column:1/-1; margin:0; }
.values-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.value-card { min-height:300px; padding:32px 28px; display:flex; flex-direction:column; justify-content:flex-end; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:#f8f5ef; }
.value-card::before { content:"+"; margin-bottom:auto; color:var(--orange); font-size:34px; }
.value-card h3 { margin:0 0 12px; font-family:"Barlow Condensed",sans-serif; font-size:32px; text-transform:uppercase; }
.value-card p { margin:0; color:#515451; }
.company-panorama { position:relative; min-height:clamp(250px,22vw,360px); overflow:hidden; color:#fff; background:#171a19; }
.company-panorama figure { position:absolute; inset:0; margin:0; }
.company-panorama figure::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,9,9,.76),rgba(7,9,9,.08) 58%,rgba(7,9,9,.34)); pointer-events:none; }
.company-panorama img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.company-panorama-copy { position:relative; z-index:1; width:min(calc(100% - 96px),1180px); min-height:clamp(250px,22vw,360px); margin:auto; padding:42px 0; display:flex; flex-direction:column; justify-content:flex-end; }
.company-panorama-copy span { margin-bottom:12px; color:var(--orange); font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.company-panorama-copy strong { max-width:720px; font-family:"Barlow Condensed",sans-serif; font-size:clamp(52px,5.4vw,84px); letter-spacing:-.035em; line-height:.88; text-transform:uppercase; }
.sector-media-band { padding:0 0 clamp(90px,9vw,140px); background:var(--paper); }
.sector-media-heading { padding:20px 0 34px; display:flex; align-items:flex-start; justify-content:space-between; gap:40px; border-top:1px solid var(--line); }
.sector-media-heading .section-kicker { margin:0; }
.sector-media-heading>p:last-child { max-width:430px; margin:0; color:#555955; font-size:17px; line-height:1.5; }
.sector-media-grid { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:230px; gap:20px; }
.sector-media-grid figure { min-width:0; margin:0; display:flex; flex-direction:column; overflow:hidden; color:#fff; background:var(--ink); }
.sector-media-grid figure:first-child { grid-column:span 7; grid-row:span 2; }
.sector-media-grid figure:nth-child(2),.sector-media-grid figure:nth-child(3) { grid-column:span 5; }
.sector-media-grid figure>div { min-height:0; flex:1; overflow:hidden; }
.sector-media-grid img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .8s var(--ease); }
.sector-media-grid figure:hover img { transform:scale(1.018); }
.sector-media-grid figcaption { min-height:52px; padding:0 18px; display:flex; align-items:center; gap:16px; color:#d5d8d4; font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.sector-media-grid figcaption span { color:var(--orange); }
.team-intro { margin-bottom:64px; display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:end; }
.team-intro p { margin:0; color:#4c4f4c; font-size:19px; }
.team-grid { display:grid; grid-template-columns:repeat(4,1fr); column-gap:20px; row-gap:56px; }
.team-card { position:relative; overflow:hidden; background:#d7d4cd; }
.team-card:nth-child(2),.team-card:nth-child(7),.team-card:nth-child(10),.team-card:nth-child(13) { --card-offset:34px; transform:translateY(var(--card-offset)); }
.team-card img { width:100%; aspect-ratio:2/3; display:block; object-fit:cover; object-position:top; image-rendering:auto; transition:transform .55s ease; }
.portrait-placeholder { width:100%; aspect-ratio:2/3; display:grid; place-items:center; color:var(--orange); background:var(--ink); font-family:"Barlow Condensed",sans-serif; font-size:150px; font-weight:800; }
.team-card:hover img { transform:scale(1.035); }
.team-card-copy { position:absolute; inset:auto 0 0; padding:20px; color:#fff; background:linear-gradient(0deg,rgba(0,0,0,.92),transparent); }
.team-card h3 { margin:0; font-family:"Barlow Condensed",sans-serif; font-size:30px; line-height:1; text-transform:uppercase; }
.team-card p { margin:5px 0 0; color:var(--orange); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.jobs { display:grid; gap:16px; }
.job-card { padding:36px; display:grid; grid-template-columns:1fr auto; align-items:start; gap:28px; border-left:5px solid var(--orange); background:#f8f5ef; }
.job-card h3 { margin:0 0 14px; font-family:"Barlow Condensed",sans-serif; font-size:38px; line-height:1; text-transform:uppercase; }
.job-card>p { grid-column:1/-1; margin:0; }
.job-meta { display:flex; flex-wrap:wrap; gap:12px 26px; color:var(--orange); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.contact-grid { width:min(calc(100% - 96px),1180px); margin:auto; display:grid; grid-template-columns:.7fr 1.3fr; gap:90px; }
.contact-details a { display:block; margin-top:16px; color:var(--orange); font-family:"Barlow Condensed",sans-serif; font-size:32px; font-weight:700; }
.contact-form { padding:38px; background:#e7e2d8; }
.contact-form input,.contact-form textarea { color:var(--ink); background:#f8f5ef; border-color:rgba(11,13,13,.25); }
.contact-form input:focus,.contact-form textarea:focus { border-color:var(--orange); }
.legal-copy { width:min(calc(100% - 60px),900px); margin:auto; }
.legal-copy h2 { margin:48px 0 18px; color:var(--ink); font-size:48px; }
.legal-copy p { font-size:18px; line-height:1.7; }
.not-found-content { min-height:520px; }
.not-found-content .content-wrap { max-width:900px; }
.not-found-content .content-heading { max-width:700px; }
.not-found-content .content-heading + p { max-width:660px; margin:28px 0 0; font-size:20px; line-height:1.65; }
.not-found-actions { margin-top:38px; display:flex; align-items:center; flex-wrap:wrap; gap:22px 30px; }
.not-found-actions .button { min-width:180px; text-align:center; }

@media (max-width:900px) {
  .inner-hero { min-height:0; padding:126px 0 58px; }
  .inner-hero-shell { grid-template-columns:1fr; gap:44px; }
  .inner-hero-shell::before,.inner-hero-shell::after { display:none; }
  .inner-hero-content { padding:32px 0 0; }
  .inner-hero-media { width:100%; height:min(56vw,500px); }
  .inner-hero-media[data-image-shape="portrait"] { width:min(100%,380px); height:auto; justify-self:start; }
  .inner-hero h1 { font-size:82px; }
  .intro-grid,.enquiry-grid,.contact-grid,.team-intro { width:calc(100% - 42px); grid-template-columns:1fr; gap:44px; }
  .content-wrap,.assurance-grid { width:calc(100% - 42px); }
  .service-grid,.project-grid { grid-template-columns:1fr 1fr; }
  .assurance-grid { grid-template-columns:1fr 1fr; }
  .values-grid,.team-grid { grid-template-columns:1fr 1fr; }
  .team-card:nth-child(n) { --card-offset:0px; transform:none; }
}

/* Service gateways and specialism pages */
.specialism-gateways { padding-top:clamp(82px,9vw,132px); background:#fff; }
.gateway-heading { margin-bottom:44px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:32px; align-items:end; }
.gateway-heading .section-kicker { margin:0 0 10px; }
.gateway-heading .content-heading { margin:0; }
.specialism-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.specialism-card { grid-column:span 2; min-height:280px; padding:30px; display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--paper); transition:color .22s ease,background .22s ease,transform .22s var(--ease); }
.specialism-grid-count-4 .specialism-card { grid-column:span 3; }
.specialism-grid-count-5 .specialism-card:nth-last-child(-n+2) { grid-column:span 3; }
.specialism-card-index { color:#a83d16; font-size:11px; font-weight:800; letter-spacing:.15em; }
.specialism-card h3 { max-width:340px; margin:auto 0 14px; font-family:"Barlow Condensed",sans-serif; font-size:clamp(36px,3.5vw,52px); line-height:.92; text-transform:uppercase; }
.specialism-card p { margin:0; color:#535753; font-size:15px; line-height:1.55; }
.specialism-card-action { margin-top:22px; display:flex; align-items:center; gap:8px; color:#a83d16; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.specialism-card-action .ui-arrow { width:16px; height:16px; transition:transform .22s var(--ease); }
.specialism-card:hover,.specialism-card:focus-visible { color:#fff; background:var(--ink); transform:translateY(-3px); }
.specialism-card:hover p,.specialism-card:focus-visible p { color:#c8cbc7; }
.specialism-card:hover .specialism-card-index,.specialism-card:focus-visible .specialism-card-index,.specialism-card:hover .specialism-card-action,.specialism-card:focus-visible .specialism-card-action { color:var(--orange); }
.specialism-card:hover .ui-arrow,.specialism-card:focus-visible .ui-arrow { transform:translate(3px,-3px); }
.service-breadcrumb { width:min(calc(100% - 96px),var(--page)); margin:0 auto; padding:22px 0; display:flex; align-items:center; gap:10px; color:#5c605c; font-size:12px; }
.service-breadcrumb a { color:#a83d16; font-weight:800; }
.specialism-scope { background:#fff; }
.capability-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2px; }
.capability-card { min-height:190px; padding:28px; display:flex; flex-direction:column; justify-content:space-between; color:#fff; background:var(--ink-soft); }
.capability-card span { color:var(--orange); font-size:11px; font-weight:800; letter-spacing:.14em; }
.capability-card h3 { max-width:300px; margin:36px 0 0; font-family:"Barlow Condensed",sans-serif; font-size:clamp(29px,2.7vw,40px); line-height:.95; text-transform:uppercase; }
.process-band { padding:clamp(72px,8vw,118px) 0; color:#fff; background:linear-gradient(125deg,#0b0d0d,#1b1d1c); }
.process-band .content-wrap { display:grid; grid-template-columns:minmax(260px,.65fr) minmax(0,1fr); gap:clamp(48px,8vw,120px); align-items:end; }
.process-band h2 { max-width:600px; margin:10px 0 0; font-family:"Barlow Condensed",sans-serif; font-size:clamp(48px,5.5vw,78px); line-height:.9; text-transform:uppercase; }
.process-band ol { margin:0; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); list-style:none; border-top:1px solid rgba(255,255,255,.23); }
.process-band li { min-height:132px; padding:22px 12px 8px 0; display:flex; flex-direction:column; justify-content:space-between; border-right:1px solid rgba(255,255,255,.16); }
.process-band li span { color:var(--orange); font-size:10px; font-weight:800; }
.process-band li strong { font-family:"Barlow Condensed",sans-serif; font-size:24px; text-transform:uppercase; }
.sibling-services { background:var(--paper); }

/* One consistent team portrait system */
.team-grid { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:44px 20px!important; align-items:start!important; }
.team-card:nth-child(n),.team-card:first-child { grid-column:auto!important; margin-top:0!important; display:block!important; overflow:visible!important; color:var(--ink)!important; background:transparent!important; transform:none!important; }
.team-card:first-child { grid-column:auto!important; }
.team-card img,.team-card:first-child img { width:100%!important; height:auto!important; min-height:0!important; aspect-ratio:2/3!important; object-fit:cover!important; object-position:50% 18%!important; transition:transform .22s var(--ease)!important; }
.team-card:hover img { transform:scale(1.015)!important; }
.team-card-copy,.team-card:first-child .team-card-copy { min-height:0!important; padding:14px 0 0!important; color:var(--ink)!important; background:transparent!important; }
.team-card h3,.team-card:first-child h3 { margin:0!important; font-size:clamp(30px,3vw,46px)!important; }
.team-card p,.team-card:first-child p { margin:5px 0 0!important; color:#a83d16!important; font-size:10px!important; line-height:1.35!important; }
.team-card::after { display:none!important; }
.motion-enabled .team-card.motion-item,.motion-enabled .team-card.motion-item:nth-child(even) { opacity:1!important; transform:none!important; }

@media (max-width:1100px) {
  .specialism-grid,.capability-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .specialism-card,.specialism-grid-count-4 .specialism-card,.specialism-grid-count-5 .specialism-card:nth-last-child(-n+2) { grid-column:auto; }
  .process-band .content-wrap { grid-template-columns:1fr; }
  .team-grid { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
  .team-card:first-child { grid-column:auto!important; }
}

@media (max-width:700px) {
  .service-breadcrumb { width:calc(100% - 34px); padding-block:16px; display:flex; flex-wrap:wrap; gap:6px 9px; overflow:visible; white-space:normal; line-height:1.35; }
  .service-breadcrumb strong { min-width:0; overflow-wrap:anywhere; }
  .gateway-heading { grid-template-columns:1fr; }
  .specialism-grid,.capability-grid { grid-template-columns:1fr; }
  .specialism-card { min-height:230px; padding:25px; }
  .process-band ol { grid-template-columns:1fr; border-top:0; }
  .process-band li { min-height:76px; padding:16px 0; flex-direction:row; align-items:center; border-right:0; border-top:1px solid rgba(255,255,255,.16); }
  .team-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:34px 12px!important; }
  .team-card:first-child { grid-column:auto!important; }
  .team-card h3,.team-card:first-child h3 { font-size:clamp(25px,7vw,32px)!important; }
}

@media (max-width:340px) {
  .team-grid { grid-template-columns:1fr!important; }
  .team-card:first-child { grid-column:auto!important; }
}

@media (prefers-reduced-motion:reduce) {
  .specialism-card,.team-card img { transition:none!important; }
}

@media (max-width:560px) {
  .inner-hero { min-height:0; padding:102px 0 38px; }
  .inner-hero::after { display:none; }
  .inner-hero-shell { gap:34px; }
  .inner-hero-media { height:61vw; min-height:232px; }
  .inner-hero-media[data-image-shape="portrait"] { width:88%; height:auto; min-height:0; }
  .inner-hero-media::before { inset:12px; }
  .inner-hero h1 { font-size:59px; }
  .inner-hero p:last-child { font-size:17px; }
  .intro-panel,.content-section,.enquiry-section { padding:74px 0; }
  .intro-grid,.content-wrap,.enquiry-grid,.contact-grid,.team-intro,.assurance-grid { width:calc(100% - 34px); }
  .intro-grid h2,.content-heading,.enquiry-grid h2 { font-size:56px; }
  .intro-grid p { font-size:17px; }
  .service-grid,.project-grid,.values-grid,.team-grid { grid-template-columns:1fr; }
  .project-card { min-height:400px; }
  .assurance-grid { grid-template-columns:1fr; }
  .assurance-item { min-height:110px; border-bottom:1px solid rgba(0,0,0,.2); }
  .enquiry-form { grid-template-columns:1fr; }
  .enquiry-form label.full,.enquiry-form button { grid-column:1; }
  .team-card img { aspect-ratio:4/5; }
  .job-card { grid-template-columns:1fr; padding:28px; }
}

.motion-enabled .inner-hero-content>* { opacity:0; transform:translateY(24px); animation:hero-copy-in .72s cubic-bezier(.2,.8,.2,1) forwards; }
.motion-enabled .inner-hero-content>*:nth-child(2) { animation-delay:.1s; }
.motion-enabled .inner-hero-content>*:nth-child(3) { animation-delay:.2s; }
.motion-enabled .inner-hero-media { opacity:.72; clip-path:none; animation:hero-image-focus .42s ease .04s forwards; }
.motion-enabled .inner-hero-shell::after { animation:live-current-pulse 2.2s ease-in-out 1.2s infinite; }
.motion-enabled .motion-item { opacity:0; clip-path:inset(0 0 8% 0); transform:translateY(calc(var(--card-offset,0px) + 20px)); transition:opacity .46s ease var(--entry-delay,0ms),clip-path .55s cubic-bezier(.2,.8,.2,1) var(--entry-delay,0ms),transform .55s cubic-bezier(.2,.8,.2,1) var(--entry-delay,0ms); }
.motion-enabled .motion-item.in-view { opacity:1; clip-path:inset(0); transform:translateY(var(--card-offset,0px)); }
.motion-enabled .project-card.motion-item { opacity:.72; clip-path:none; transform:scale(.985); }
.motion-enabled .project-card.motion-item:nth-child(3n+2) { opacity:.8; transform:translateY(14px); }
.motion-enabled .project-card.motion-item:nth-child(3n+3) { opacity:.64; transform:none; }
.motion-enabled .project-card.motion-item.in-view { opacity:1; transform:none; }
.motion-enabled .project-card:nth-child(3n+3) .project-card-media img { filter:saturate(.58) contrast(.95); transition:filter .42s ease,transform .65s cubic-bezier(.2,.8,.2,1); }
.motion-enabled .project-card:nth-child(3n+3).in-view .project-card-media img { filter:none; }
.motion-enabled .team-card.motion-item { opacity:.76; clip-path:none; transform:translateY(14px); }
.motion-enabled .team-card.motion-item:nth-child(even) { opacity:.68; transform:translateY(9px) scale(.992); }
.motion-enabled .team-card.motion-item.in-view { opacity:1; transform:none; }

@keyframes hero-copy-in {
  to { opacity:1; transform:none; }
}

@keyframes hero-image-focus {
  to { opacity:1; }
}

@keyframes live-current-pulse {
  0%,100% { box-shadow:0 0 12px rgba(238,90,36,.6); }
  50% { box-shadow:0 0 30px rgba(238,90,36,1); }
}

@media (prefers-reduced-motion:reduce) {
  .inner-hero-content>*,.inner-hero-media,.inner-hero-shell::after,.motion-item { animation:none!important; transition:none!important; }
  .inner-hero-content>*,.motion-item { opacity:1!important; clip-path:none!important; transform:translateY(var(--card-offset,0px))!important; }
  .inner-hero-media { opacity:1!important; clip-path:none!important; }
}

/* Premium editorial inner pages */
.inner-hero::before { background:radial-gradient(560px circle at var(--mx,72%) var(--my,42%),rgba(238,90,36,.18),transparent 64%),linear-gradient(90deg,rgba(238,90,36,.09) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px); background-size:auto,25% 100%,100% 112px; }
.inner-hero-code { position:absolute; z-index:0; top:118px; left:clamp(32px,5vw,90px); color:#fff; font-family:"Barlow Condensed",sans-serif; font-size:clamp(220px,32vw,520px); font-weight:800; letter-spacing:-.09em; line-height:.72; opacity:.025; pointer-events:none; }
.inner-hero-line { display:block; overflow:hidden; }
.inner-hero-line>span { display:block; }
.inner-hero-shell::after { top:var(--hero-current,19%); transition:top .1s linear; }
.inner-hero-media { transform:perspective(1200px) rotateY(calc(var(--pointer-nx,0) * 1.6deg)) rotateX(calc(var(--pointer-ny,0) * -1.2deg)); transition:transform .5s var(--ease),box-shadow .5s var(--ease); }
.inner-hero:hover .inner-hero-media { box-shadow:0 42px 100px rgba(0,0,0,.58); }
.motion-enabled .inner-hero-content h1 { opacity:1; transform:none; animation:none; }
.motion-enabled .inner-hero-line>span { transform:translateY(112%); animation:inner-line-in .96s var(--ease) .12s forwards; }
.motion-enabled .inner-hero-line:nth-child(2)>span { animation-delay:.22s; }

@keyframes inner-line-in {
  78% { transform:translateY(-5px); }
  100% { transform:none; }
}

.intro-grid>h2 { position:relative; padding-top:46px; }
.intro-grid>h2::before { content:"01  /  Our standard"; position:absolute; top:0; left:0; color:var(--orange); font-family:"Assistant",sans-serif; font-size:10px; font-weight:800; letter-spacing:.17em; line-height:1; text-transform:uppercase; }

.service-grid { grid-template-columns:repeat(2,1fr); counter-reset:service; border-color:rgba(255,255,255,.18); }
.service-item { position:relative; min-height:220px; padding:34px 34px 32px 104px; align-items:flex-end; counter-increment:service; overflow:hidden; background:#101212; }
.service-item::before { content:"0" counter(service); position:absolute; top:30px; left:30px; color:var(--orange); font-family:"Barlow Condensed",sans-serif; font-size:42px; font-weight:800; line-height:1; }
.service-item::after { content:""; position:absolute; inset:auto 0 0; height:3px; background:linear-gradient(90deg,var(--amber),var(--orange)); transform:scaleX(0); transform-origin:left; transition:transform .8s var(--ease) var(--entry-delay,0ms); box-shadow:0 0 16px rgba(238,90,36,.55); }
.service-item:hover { background:#151817; }
.service-item.in-view::after { transform:scaleX(1); }
.service-item h3 { max-width:440px; font-size:clamp(30px,3vw,44px); }

.project-grid { grid-template-columns:repeat(12,1fr); grid-auto-flow:dense; grid-auto-rows:245px; gap:24px; }
.project-card { min-height:0; grid-column:span 5; grid-row:span 1; }
.project-card:nth-child(3n+1) { grid-column:span 7; grid-row:span 2; }
.project-card:nth-child(3n+2),.project-card:nth-child(3n+3) { grid-column:span 5; }
.project-card>div { right:26px; }
.project-action { margin-top:18px; display:inline-flex; align-items:center; gap:12px; color:#fff; font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; opacity:.82; }
.project-action .ui-arrow { width:16px; height:16px; color:var(--orange); transition:transform .3s var(--ease); }
.project-card:hover .project-action .ui-arrow,.project-card:focus-visible .project-action .ui-arrow { transform:translate(4px,-4px); }
.project-card::before { background:linear-gradient(0deg,rgba(0,0,0,.94),rgba(0,0,0,.1) 74%); }
.project-card::after { background:rgba(5,6,6,.2); backdrop-filter:blur(6px); }

.value-card { position:relative; overflow:hidden; transition:color .32s ease,background .32s ease,transform .42s var(--ease); }
.value-card::after { content:""; position:absolute; inset:auto 0 0; height:4px; background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform .55s var(--ease); }
.value-card:hover { color:#fff; background:var(--ink); transform:translateY(-8px); }
.value-card:hover::before { transform:rotate(90deg); }
.value-card:hover::after { transform:scaleX(1); }
.value-card::before { transition:transform .45s var(--ease); }
.value-card:hover p { color:#c9ccc8; }

.team-grid { grid-template-columns:repeat(4,1fr); gap:22px; align-items:stretch; }
.team-card:nth-child(n) { --card-offset:0px; display:flex; flex-direction:column; overflow:hidden; color:#fff; background:var(--ink); transform:none; }
.team-card img { aspect-ratio:2/3; flex:1; object-position:top; transition:none; }
.team-card:hover img { transform:none; }
.team-card-copy { position:static; min-height:104px; padding:22px; display:flex; flex-direction:column; justify-content:center; background:var(--ink); }
.team-card h3 { font-size:32px; }
.team-card:first-child { grid-column:span 2; display:grid; grid-template-columns:1.15fr .85fr; }
.team-card:first-child img { width:100%; height:100%; min-height:520px; aspect-ratio:auto; }
.team-card:first-child .team-card-copy { min-height:100%; padding:38px; justify-content:flex-end; background:linear-gradient(145deg,#171a19,#080909); }
.team-card:first-child h3 { font-size:clamp(56px,6vw,86px); }
.team-card:first-child p { font-size:11px; }
.team-card::after { content:""; position:absolute; z-index:5; inset:0 0 auto; height:3px; background:linear-gradient(90deg,var(--amber),var(--orange)); opacity:.42; transform:scaleX(.18); transform-origin:left; transition:opacity .38s ease var(--entry-delay,0ms),transform .48s var(--ease) var(--entry-delay,0ms); pointer-events:none; }
.motion-enabled .team-card.in-view::after { opacity:1; transform:scaleX(1); }
.portrait-placeholder { flex:1; }

.jobs { counter-reset:vacancy; gap:0; border-top:1px solid var(--line); }
.job-card { position:relative; padding:42px 28px; grid-template-columns:82px minmax(0,1fr) auto; counter-increment:vacancy; border-left:0; border-bottom:1px solid var(--line); background:transparent; overflow:hidden; }
.job-card::before { content:"0" counter(vacancy); grid-row:1/3; color:var(--orange); font-family:"Barlow Condensed",sans-serif; font-size:42px; font-weight:800; line-height:1; }
.job-card::after { content:""; position:absolute; inset:auto 0 0; height:3px; background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform .7s var(--ease) var(--entry-delay,0ms); }
.job-card.in-view::after { transform:scaleX(1); }
.job-card>p { grid-column:2/4; }
.job-card h3 { font-size:clamp(38px,4vw,56px); }

.contact-grid { grid-template-columns:.78fr 1.22fr; gap:0; align-items:start; }
.contact-details { position:sticky; top:108px; min-height:620px; padding:58px; color:#fff; background:var(--ink); }
.contact-details .content-heading { color:#fff; }
.contact-details a { transition:color .25s ease,transform .3s var(--ease); }
.contact-details a:hover,.contact-details a:focus-visible { color:var(--amber); transform:translateX(6px); }
.contact-form { padding:58px; background:var(--paper-deep); }
.contact-form label { position:relative; }
.contact-form label::after { content:""; position:absolute; inset:auto 0 0; height:2px; background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform .35s var(--ease); }
.contact-form label:focus-within::after { transform:scaleX(1); }
.contact-form input,.contact-form textarea { padding:16px 0; border:0; border-bottom:1px solid rgba(11,13,13,.28); background:transparent; }
.contact-form input:focus,.contact-form textarea:focus { border-color:rgba(11,13,13,.28); }
.contact-form button { color:var(--ink); background:var(--orange); border-color:var(--orange); }

.assurance-item { position:relative; overflow:hidden; }
.assurance-item::after { content:""; position:absolute; inset:auto 0 0; height:3px; background:#111; transform:scaleX(0); transform-origin:left; transition:transform .65s var(--ease) var(--entry-delay,0ms); }
.assurance-item.in-view::after { transform:scaleX(1); }

.project-card[hidden] { display:none; }
.project-sector { display:block; margin-bottom:10px; color:#fff; font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.project-card p.project-summary { max-width:460px; margin:0; color:#d8dad7; font-size:14px; font-weight:500; letter-spacing:0; line-height:1.35; text-transform:none; }
.sector-case-grid .project-summary { display:none; }

.case-index-heading { margin-bottom:58px; display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(60px,8vw,120px); align-items:end; }
.case-index-heading .content-heading { margin:0; }
.case-index-heading.visible .motion-title,.case-story-grid.visible .motion-title,.case-editorial-grid.visible .motion-title,.related-heading.visible .motion-title { opacity:1; clip-path:inset(0); transform:none; }
.case-index-heading>p { margin:0 0 10px; color:#4d504d; font-size:19px; line-height:1.6; }
.case-filter-row { margin-bottom:42px; padding:18px 0; display:flex; align-items:center; justify-content:space-between; gap:28px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.case-filter { display:flex; flex-wrap:wrap; gap:8px; }
.case-filter button { min-height:44px; padding:0 18px; border:1px solid var(--line); color:var(--ink); background:transparent; cursor:pointer; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; transition:color .2s ease,background .2s ease,border-color .2s ease; }
.case-filter button:hover,.case-filter button:focus-visible,.case-filter button[aria-pressed="true"] { color:#fff; border-color:var(--ink); background:var(--ink); }
.case-filter button:focus-visible { outline:3px solid var(--orange); outline-offset:3px; }
.case-filter-row>p { margin:0; color:#666a66; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.case-study-grid { grid-auto-rows:320px; }

.case-detail-page .inner-hero h1 { font-size:clamp(62px,6.4vw,102px); }
.case-facts { padding:0; color:var(--ink); background:var(--orange); }
.case-facts dl { margin:0; display:grid; grid-template-columns:.8fr .8fr 1.1fr 1.5fr; }
.case-facts dl>div { min-height:164px; padding:32px 28px; border-right:1px solid rgba(0,0,0,.2); }
.case-facts dl>div:last-child { border-right:0; }
.case-facts dt { margin-bottom:16px; font-size:10px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.case-facts dd { margin:0; font-family:"Barlow Condensed",sans-serif; font-size:clamp(25px,2.5vw,38px); font-weight:700; line-height:1.05; text-transform:uppercase; }
.case-story-grid,.case-editorial-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(70px,9vw,140px); align-items:start; }
.case-story-grid .content-heading,.case-editorial-grid .content-heading,.related-heading .content-heading { margin:0; font-size:clamp(58px,6vw,90px); }
.case-story-copy p,.case-editorial-grid>p { margin:0 0 24px; color:#404340; font-size:20px; line-height:1.65; }
.case-proof-grid { margin-top:90px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.case-proof-grid article { min-height:220px; padding:28px; display:flex; flex-direction:column; justify-content:space-between; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:#f8f5ef; }
.case-proof-grid span { color:var(--orange); font-size:11px; font-weight:800; letter-spacing:.14em; }
.case-proof-grid strong { font-family:"Barlow Condensed",sans-serif; font-size:clamp(27px,2.6vw,40px); line-height:1.04; text-transform:uppercase; }
.case-challenge { background:#111313; }
.case-challenge .content-heading { color:#fff; }
.case-challenge .case-editorial-grid>p { color:#c7cac6; }
.case-results .case-editorial-grid>p { color:#343735; }
.related-heading { margin-bottom:54px; display:flex; align-items:end; justify-content:space-between; gap:40px; }
.related-heading .text-link { flex:0 0 auto; }
.related-cases .project-grid { grid-template-columns:repeat(3,1fr); grid-auto-rows:390px; }
.related-cases .project-card:nth-child(n) { grid-column:auto; grid-row:auto; }

.client-showcase { padding:clamp(86px,9vw,140px) 0; color:var(--ink); background:#efebe3; }
.client-showcase-heading { margin-bottom:54px; display:grid; grid-template-columns:1.3fr .7fr; gap:clamp(50px,8vw,120px); align-items:end; }
.client-showcase-heading h2 { max-width:820px; margin:0; font-family:"Barlow Condensed",sans-serif; font-size:clamp(56px,6.3vw,98px); font-weight:800; letter-spacing:-.035em; line-height:.88; text-transform:uppercase; }
.client-showcase-heading>p { margin:0 0 8px; color:#555954; font-size:18px; line-height:1.55; }
.client-logo-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(11,13,13,.2); border-left:1px solid rgba(11,13,13,.2); }
.client-logo-card { min-width:0; min-height:154px; padding:28px; display:flex; align-items:center; justify-content:center; border-right:1px solid rgba(11,13,13,.2); border-bottom:1px solid rgba(11,13,13,.2); background:rgba(255,255,255,.5); transition:background .28s ease,transform .38s var(--ease); }
.client-logo-card:hover { z-index:1; background:#fff; transform:translateY(-4px); }
.client-mark { width:100%; min-width:0; display:flex; align-items:center; justify-content:center; gap:10px; color:var(--ink); }
.client-mark img { display:block; width:auto; max-width:82%; height:auto; max-height:58px; object-fit:contain; mix-blend-mode:multiply; }
.client-mark-tall img { max-height:78px; }
.client-mark-lockup { font-family:"Barlow Condensed",sans-serif; font-size:22px; font-weight:800; letter-spacing:-.02em; line-height:.85; text-transform:uppercase; }
.client-mark-text { font-family:"Barlow Condensed",sans-serif; font-size:26px; font-weight:800; text-transform:uppercase; }
.client-showcase-compact { padding:82px 0; background:#fff; }
.client-showcase-compact .client-showcase-heading h2 { font-size:clamp(50px,5.3vw,78px); }
.client-showcase-compact .client-logo-card { min-height:132px; }

.case-client-fact dd { display:flex; flex-direction:column; align-items:flex-start; gap:17px; }
.case-client-name { font-size:22px; line-height:1; }
.client-mark-fact { width:auto; min-height:38px; justify-content:flex-start; }
.client-mark-fact img { max-width:170px; max-height:44px; }
.client-mark-fact.client-mark-tall img { max-height:54px; }
.client-mark-fact .client-mark-lockup { font-size:20px; }

.case-lead-photo { margin-top:clamp(70px,8vw,124px); }
.case-photo { min-width:0; margin:0; }
.case-photo-media { position:relative; overflow:hidden; aspect-ratio:4/3; background:#d8d3ca; }
.case-photo-media::after { content:""; position:absolute; inset:0; border:1px solid rgba(255,255,255,.16); pointer-events:none; }
.case-photo img { width:100%; height:100%; display:block; object-fit:cover; transform:scale(1.001); transition:transform .8s var(--ease); }
.case-photo:hover img { transform:scale(1.018); }
.case-photo-portrait .case-photo-media { aspect-ratio:3/4; }
.case-photo-panorama .case-photo-media { aspect-ratio:16/7; }
.case-photo figcaption { min-height:48px; padding:14px 0 0; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; border-top:1px solid rgba(11,13,13,.22); color:#535753; font-size:9px; font-weight:800; letter-spacing:.15em; line-height:1.2; text-transform:uppercase; }
.case-photo-lead.case-photo-landscape .case-photo-media { aspect-ratio:16/9; }
.case-photo-lead.case-photo-portrait { width:min(78%,860px); margin-left:auto; }
.case-photo-lead.case-photo-portrait .case-photo-media { aspect-ratio:4/5; }

.case-gallery-band { padding:clamp(86px,9vw,140px) 0; color:var(--ink); background:var(--orange); }
.case-gallery-heading { margin-bottom:44px; padding-top:18px; display:flex; align-items:flex-start; justify-content:space-between; gap:40px; border-top:1px solid rgba(11,13,13,.34); }
.case-gallery-heading .section-kicker { color:var(--ink); }
.case-gallery-heading>p { max-width:420px; margin:0; font-size:17px; line-height:1.5; }
.case-photo-pair { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(24px,4vw,62px); align-items:start; }
.case-photo-pair .case-photo:nth-child(2) { margin-top:clamp(56px,8vw,130px); }
.case-photo-pair .case-photo:only-child { grid-column:1/-1; width:min(100%,980px); }
.case-gallery-band .case-photo figcaption { border-color:rgba(11,13,13,.36); color:var(--ink); }

.case-challenge-photo { margin-top:clamp(80px,9vw,140px); }
.case-challenge-photo .case-photo-media { aspect-ratio:16/7; }
.case-challenge .case-photo figcaption { border-color:rgba(255,255,255,.25); color:#bfc2be; }
.case-photo-mosaic { margin-top:clamp(80px,9vw,140px); display:grid; grid-template-columns:repeat(12,1fr); grid-auto-flow:dense; grid-auto-rows:clamp(210px,22vw,330px); gap:22px; }
.case-photo-mosaic .case-photo { grid-column:span 4; min-height:0; display:flex; flex-direction:column; }
.case-photo-mosaic .case-photo-media { min-height:0; flex:1; aspect-ratio:auto; }
.case-photo-mosaic-1 .case-photo { grid-column:1/-1; }
.case-photo-mosaic-2 .case-photo { grid-column:span 6; }
.case-photo-mosaic-3 .case-photo { grid-column:span 4; }
.case-photo-mosaic-4 .case-photo:nth-child(1),.case-photo-mosaic-4 .case-photo:nth-child(4) { grid-column:span 7; }
.case-photo-mosaic-4 .case-photo:nth-child(2),.case-photo-mosaic-4 .case-photo:nth-child(3) { grid-column:span 5; }
.case-photo-mosaic-5 .case-photo:nth-child(1),.case-photo-mosaic-6 .case-photo:nth-child(1) { grid-column:span 7; grid-row:span 2; }
.case-photo-mosaic-5 .case-photo:nth-child(2),.case-photo-mosaic-5 .case-photo:nth-child(3),.case-photo-mosaic-6 .case-photo:nth-child(2),.case-photo-mosaic-6 .case-photo:nth-child(3) { grid-column:span 5; }
.case-photo-mosaic-5 .case-photo:nth-child(n+4) { grid-column:span 6; }
.case-photo-mosaic-6 .case-photo:nth-child(n+4) { grid-column:span 4; }
.case-photo-mosaic .case-photo figcaption { flex:0 0 auto; }

@media (min-width:901px) {
  .intro-grid>h2 { position:sticky; top:130px; align-self:start; }
}

@media (max-width:900px) {
  .inner-hero-code { top:120px; left:22px; font-size:260px; }
  .inner-hero-media { transform:none; }
  .service-grid { grid-template-columns:1fr 1fr; }
  .project-grid { grid-template-columns:1fr 1fr; grid-auto-rows:auto; }
  .project-card:nth-child(n) { min-height:430px; grid-column:auto; grid-row:auto; }
  .team-grid { grid-template-columns:1fr 1fr; }
  .team-card:first-child { grid-column:1/-1; }
  .contact-details { position:static; min-height:0; }
  .case-index-heading,.case-story-grid,.case-editorial-grid { grid-template-columns:1fr; gap:40px; }
  .case-filter-row { align-items:flex-start; flex-direction:column; }
  .case-facts dl { grid-template-columns:1fr 1fr; }
  .case-facts dl>div { border-bottom:1px solid rgba(0,0,0,.2); }
  .case-proof-grid { grid-template-columns:1fr 1fr; }
  .related-cases .project-grid { grid-template-columns:1fr 1fr; grid-auto-rows:auto; }
  .related-cases .project-card:nth-child(n) { min-height:430px; }
  .client-showcase-heading { grid-template-columns:1fr; gap:26px; }
  .client-showcase-heading>p { max-width:620px; }
  .client-logo-grid { grid-template-columns:repeat(2,1fr); }
  .case-photo-lead.case-photo-portrait { width:100%; }
  .case-photo-pair { grid-template-columns:1fr; }
  .case-photo-pair .case-photo:nth-child(2) { margin-top:0; }
  .case-photo-mosaic { grid-template-columns:1fr 1fr; grid-auto-rows:auto; }
  .case-photo-mosaic .case-photo:nth-child(n) { grid-column:auto; grid-row:auto; }
  .case-photo-mosaic .case-photo-media { aspect-ratio:4/3; }
  .case-photo-mosaic .case-photo-portrait .case-photo-media { aspect-ratio:3/4; }
}

@media (max-width:560px) {
  .inner-hero-code { top:104px; font-size:190px; }
  .service-grid,.project-grid { grid-template-columns:1fr; }
  .service-item { min-height:180px; padding:88px 24px 28px; }
  .service-item::before { top:24px; left:24px; }
  .project-card:nth-child(n) { min-height:410px; }
  .team-grid { grid-template-columns:1fr; gap:28px; }
  .team-card:first-child { display:flex; }
  .team-card:first-child img { min-height:0; aspect-ratio:4/5; }
  .team-card:first-child .team-card-copy { min-height:120px; padding:24px; }
  .team-card:first-child h3 { font-size:42px; }
  .job-card { grid-template-columns:60px 1fr; padding:34px 0; }
  .job-card .button { grid-column:2; justify-self:start; }
  .job-card>p { grid-column:2; }
  .contact-details,.contact-form { padding:34px 24px; }
  .case-filter { width:100%; display:grid; grid-template-columns:1fr 1fr; }
  .case-filter button { width:100%; }
  .case-facts dl,.case-proof-grid,.related-cases .project-grid { grid-template-columns:1fr; }
  .case-facts dl>div { min-height:126px; padding:26px 20px; border-right:0; }
  .case-proof-grid { margin-top:58px; }
  .case-proof-grid article { min-height:170px; }
  .related-heading { align-items:flex-start; flex-direction:column; }
  .client-showcase { padding:72px 0; }
  .client-showcase-heading { margin-bottom:34px; }
  .client-showcase-heading h2 { font-size:52px; }
  .client-logo-card { min-height:116px; padding:20px 14px; }
  .client-mark img { max-width:88%; max-height:48px; }
  .client-mark-lockup { font-size:17px; }
  .case-photo-lead,.case-challenge-photo,.case-photo-mosaic { margin-top:58px; }
  .case-gallery-heading { display:block; }
  .case-gallery-heading>p { margin-top:20px; }
  .case-photo-mosaic { grid-template-columns:1fr; gap:34px; }
  .case-photo-mosaic .case-photo:nth-child(n) { grid-column:1; }
  .case-challenge-photo .case-photo-media,.case-photo-lead.case-photo-landscape .case-photo-media { aspect-ratio:4/3; }
}

@media (prefers-reduced-motion:reduce) {
  .inner-hero-code { display:none; }
  .inner-hero-line>span,.team-card::after { animation:none!important; transform:none!important; }
  .service-item::after,.job-card::after,.assurance-item::after { transform:scaleX(1)!important; }
}

/* Careers image led hero */
@media (min-width:1101px) {
  .inner-hero[data-hero-layout="careers"] { min-height:clamp(740px,88svh,900px); padding:96px 0 40px; }
  .inner-hero[data-hero-layout="careers"] .inner-hero-shell { width:100%; max-width:none; grid-template-columns:46vw 54vw; gap:0; }
  .inner-hero[data-hero-layout="careers"] .inner-hero-content { z-index:3; padding:72px clamp(40px,4vw,72px) 72px max(48px,calc((100vw - var(--page))/2)); }
  .inner-hero[data-hero-layout="careers"] h1 { max-width:none; font-size:clamp(72px,6.3vw,102px); }
  .inner-hero[data-hero-layout="careers"] .inner-hero-line>span { white-space:nowrap; }
  .inner-hero[data-hero-layout="careers"] .inner-hero-shell::before { left:46vw; }
  .inner-hero[data-hero-layout="careers"] .inner-hero-shell::after { left:calc(46vw - 5px); }
  .inner-hero[data-hero-layout="careers"] .inner-hero-media[data-image-shape="careers"] { width:min(58vw,1180px); height:auto; margin-left:-4vw; aspect-ratio:1100/665; align-self:center; justify-self:end; box-shadow:none; transform:none; }
  .inner-hero[data-hero-layout="careers"] .inner-hero-media::before { display:none; }
  .inner-hero[data-hero-layout="careers"] .inner-hero-media::after { content:""; position:absolute; z-index:1; inset:0 auto 0 0; width:13%; display:block; background:linear-gradient(90deg,#0b0d0d,transparent); pointer-events:none; }
  .inner-hero[data-hero-layout="careers"] .inner-hero-media img { position:relative; z-index:0; }
  .inner-hero[data-hero-layout="careers"]:hover .inner-hero-media { box-shadow:none; transform:none; }
}

@media (min-width:701px) and (max-width:1100px) {
  .inner-hero[data-hero-layout="careers"] { min-height:0; padding-bottom:0; }
  .inner-hero[data-hero-layout="careers"] .inner-hero-shell { width:100%; grid-template-columns:1fr; gap:42px; }
  .inner-hero[data-hero-layout="careers"] .inner-hero-shell::before,.inner-hero[data-hero-layout="careers"] .inner-hero-shell::after { display:none; }
  .inner-hero[data-hero-layout="careers"] .inner-hero-content { width:calc(100% - 56px); margin:auto; }
  .inner-hero[data-hero-layout="careers"] .inner-hero-media[data-image-shape="careers"] { width:100vw; height:auto; max-height:none; margin:0; aspect-ratio:1100/665; box-shadow:none; transform:none; }
  .inner-hero[data-hero-layout="careers"] .inner-hero-media::before { display:none; }
}

/* Mobile editorial system */
@media (max-width:900px) {
  .inner-hero h1 { font-size:clamp(58px,10vw,82px); }
  .inner-hero-media { transform:none; }
  .inner-hero:hover .inner-hero-media { box-shadow:0 30px 80px rgba(0,0,0,.46); }
  .case-index-heading>*,.client-showcase-heading>*,.case-story-grid>*,.case-editorial-grid>*,.related-heading>* { min-width:0; }
}

@media (max-width:700px) {
  .inner-hero { padding:94px 0 0; }
  .inner-hero::after { display:none; }
  .inner-hero-shell { width:calc(100% - 34px); gap:30px; }
  .inner-hero-content { padding:30px 0 0; }
  .inner-hero-code { top:90px; left:8px; font-size:170px; opacity:.018; }
  .inner-hero .eyebrow { margin-bottom:22px; font-size:9px; }
  .inner-hero .eyebrow::before { width:34px; }
  .inner-hero h1 { font-size:clamp(50px,14vw,60px); line-height:.86; }
  .case-detail-page .inner-hero h1 { font-size:clamp(43px,12.5vw,54px); line-height:.87; overflow-wrap:anywhere; }
  .inner-hero p:last-child { margin-top:24px; font-size:16px; line-height:1.55; }
  .inner-hero-media:not([data-image-shape="portrait"]) { width:100vw; height:64vw; min-height:238px; max-height:340px; margin-left:calc((100vw - 100%)/-2); justify-self:start; box-shadow:none; }
  .inner-hero-media[data-image-shape="careers"] { height:auto; min-height:0; max-height:none; aspect-ratio:3/2; }
  .inner-hero-media[data-image-shape="portrait"] { width:min(78vw,330px); min-height:0; justify-self:center; }
  .inner-hero-media::before { inset:12px; }
  .motion-enabled .inner-hero-content>* { animation-duration:.46s; }
  .motion-enabled .inner-hero-content>*:nth-child(2) { animation-delay:.06s; }
  .motion-enabled .inner-hero-content>*:nth-child(3) { animation-delay:.1s; }
  .motion-enabled .inner-hero-line>span { animation-duration:.58s; animation-delay:.08s; }
  .motion-enabled .inner-hero-line:nth-child(2)>span { animation-delay:.13s; }
  .motion-enabled .inner-hero-media { animation-duration:.3s; animation-delay:0s; }
  .motion-enabled .motion-item,
  .motion-enabled .project-card.motion-item,
  .motion-enabled .project-card.motion-item:nth-child(3n+2),
  .motion-enabled .project-card.motion-item:nth-child(3n+3),
  .motion-enabled .team-card.motion-item,
  .motion-enabled .team-card.motion-item:nth-child(even) { opacity:1; clip-path:none; transform:none; transition:none; }
  .motion-enabled .project-card:nth-child(3n+3) .project-card-media img { filter:none; }

  .intro-panel,.content-section,.enquiry-section { padding:72px 0; }
  .intro-grid,.content-wrap,.enquiry-grid,.contact-grid,.team-intro,.assurance-grid { width:calc(100% - 34px); }
  .intro-grid,.enquiry-grid,.contact-grid,.team-intro { gap:34px; }
  .contact-grid { grid-template-columns:1fr; gap:0; }
  .intro-grid h2,.content-heading,.enquiry-grid h2,.legal-copy h2 { font-size:clamp(48px,13.5vw,56px); line-height:.88; }
  .content-heading { margin-bottom:40px; }
  .intro-grid p,.team-intro p,.case-story-copy p,.case-editorial-grid>p { font-size:17px; line-height:1.62; }

  .service-grid {
    width:100vw;
    margin-left:calc((100vw - 100%)/-2);
    padding:0 calc((100vw - 100%)/2) 18px;
    display:flex;
    gap:12px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-padding-inline:calc((100vw - 100%)/2);
    scroll-snap-type:x mandatory;
    border:0;
    scrollbar-width:none;
  }
  .service-grid::-webkit-scrollbar { display:none; }
  .service-item { flex:0 0 82vw; min-height:192px; padding:84px 24px 26px; scroll-snap-align:start; border:1px solid rgba(255,255,255,.2); }
  .service-item::before { top:23px; left:23px; }
  .service-item h3 { font-size:clamp(30px,9vw,38px); }

  .project-grid { grid-template-columns:1fr; gap:14px; }
  .project-card:nth-child(n),.case-study-grid .project-card:nth-child(n) { min-height:360px; }
  .project-card>div { inset:auto 20px 22px; }
  .project-card h3 { font-size:clamp(29px,8.5vw,36px); }
  .project-card p.project-summary { font-size:13px; }
  .sector-case-grid,.related-cases .project-grid {
    width:100vw;
    margin-left:calc((100vw - 100%)/-2);
    padding:0 calc((100vw - 100%)/2) 18px;
    display:flex;
    gap:12px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-padding-inline:calc((100vw - 100%)/2);
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .sector-case-grid::-webkit-scrollbar,.related-cases .project-grid::-webkit-scrollbar { display:none; }
  .sector-case-grid .project-card:nth-child(n),.related-cases .project-card:nth-child(n) { flex:0 0 82vw; min-height:370px; scroll-snap-align:start; }

  .assurance-strip { padding:56px 0; }
  .assurance-grid { grid-template-columns:1fr 1fr; }
  .assurance-item { min-height:132px; padding:20px 16px; border-right:1px solid rgba(0,0,0,.2); border-bottom:1px solid rgba(0,0,0,.2); }
  .assurance-item strong { font-size:clamp(24px,7.5vw,29px); }

  .values-grid { grid-template-columns:1fr 1fr; }
  .company-panorama { min-height:250px; }
  .company-panorama figure { position:absolute; }
  .company-panorama img { object-position:center; }
  .company-panorama-copy { width:calc(100% - 34px); min-height:250px; padding:28px 0; }
  .company-panorama-copy strong { max-width:290px; font-size:48px; }
  .sector-media-band { padding-bottom:72px; overflow:hidden; }
  .sector-media-heading { padding:18px 0 26px; display:block; }
  .sector-media-heading>p:last-child { margin-top:14px; font-size:15px; }
  .sector-media-grid {
    width:100vw;
    margin-left:calc((100vw - 100%)/-2);
    padding:0 calc((100vw - 100%)/2) 16px;
    display:flex;
    gap:12px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-padding-inline:calc((100vw - 100%)/2);
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .sector-media-grid::-webkit-scrollbar { display:none; }
  .sector-media-grid figure:nth-child(n) { flex:0 0 82vw; min-height:0; scroll-snap-align:start; }
  .sector-media-grid figure>div { flex:none; aspect-ratio:4/3; }
  .value-card { min-height:218px; padding:20px 17px; }
  .value-card h3 { font-size:clamp(25px,7vw,30px); }
  .value-card p { font-size:14px; line-height:1.45; }

  .team-intro { margin-bottom:42px; }
  .team-grid { grid-template-columns:1fr 1fr; gap:12px; }
  .team-card:nth-child(n) { min-width:0; }
  .team-card:first-child { grid-column:1/-1; display:flex; }
  .team-card:first-child img { min-height:0; aspect-ratio:4/5; }
  .team-card:first-child .team-card-copy { min-height:112px; padding:22px; }
  .team-card:first-child h3 { font-size:40px; }
  .team-card img { aspect-ratio:2/3; }
  .team-card-copy { min-height:84px; padding:14px 12px; }
  .team-card h3 { font-size:clamp(22px,6.8vw,27px); }
  .team-card p { font-size:8px; line-height:1.35; }

  .job-card { grid-template-columns:42px minmax(0,1fr); gap:16px; padding:30px 0; }
  .job-card::before { font-size:34px; }
  .job-card h3 { font-size:clamp(32px,9vw,38px); }
  .job-card .button,.job-card>p { grid-column:2; }

  .contact-details,.contact-form { padding:32px 20px; }
  .contact-details a { font-size:clamp(24px,8vw,32px); overflow-wrap:anywhere; }
  .contact-form input,.contact-form textarea { min-height:48px; }
  .contact-form button { min-height:52px; }

  .case-index-heading { margin-bottom:38px; gap:24px; }
  .case-index-heading>p { font-size:17px; }
  .case-filter-row { margin-bottom:30px; gap:14px; }
  .case-filter {
    width:100vw;
    margin-left:calc((100vw - 100%)/-2);
    padding:0 calc((100vw - 100%)/2) 8px;
    display:flex;
    flex-wrap:nowrap;
    gap:8px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-padding-inline:calc((100vw - 100%)/2);
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }
  .case-filter::-webkit-scrollbar { display:none; }
  .case-filter button { flex:0 0 auto; width:auto; min-height:46px; scroll-snap-align:start; }

  .case-facts dl { grid-template-columns:1fr 1fr; }
  .case-facts dl>div { min-height:120px; padding:24px 18px; border-right:1px solid rgba(0,0,0,.2); }
  .case-facts dl>div:nth-child(2) { border-right:0; }
  .case-facts dl>div:nth-child(n+3) { grid-column:1/-1; min-height:112px; border-right:0; }
  .case-facts dd { font-size:clamp(24px,7.6vw,31px); }
  .case-client-name { font-size:19px; }
  .client-mark-fact img { max-width:132px; max-height:36px; }

  .case-proof-grid { margin-top:52px; grid-template-columns:1fr 1fr; }
  .case-proof-grid article { min-height:160px; padding:18px; }
  .case-proof-grid strong { font-size:clamp(23px,7vw,29px); }

  .client-showcase { padding:68px 0; overflow:hidden; }
  .client-showcase-heading { margin-bottom:34px; }
  .client-showcase-heading h2 { font-size:clamp(48px,13vw,54px); }
  .client-showcase-heading>p { font-size:16px; }
  .client-logo-grid {
    width:100vw;
    margin-left:calc((100vw - 100%)/-2);
    padding:0 calc((100vw - 100%)/2) 16px;
    display:flex;
    gap:10px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-padding-inline:calc((100vw - 100%)/2);
    scroll-snap-type:x mandatory;
    border:0;
    scrollbar-width:none;
  }
  .client-logo-grid::-webkit-scrollbar { display:none; }
  .client-logo-card { flex:0 0 42vw; min-height:112px; padding:18px 13px; scroll-snap-align:start; border:1px solid rgba(11,13,13,.2); }

  .case-gallery-band { padding:68px 0; overflow:hidden; }
  .case-gallery-heading { margin-bottom:34px; display:block; }
  .case-gallery-heading>p { margin-top:18px; font-size:16px; }
  .case-photo-pair,.case-photo-mosaic {
    width:100vw;
    margin-left:calc((100vw - 100%)/-2);
    padding:0 calc((100vw - 100%)/2) 18px;
    display:flex;
    gap:12px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-padding-inline:calc((100vw - 100%)/2);
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .case-photo-pair::-webkit-scrollbar,.case-photo-mosaic::-webkit-scrollbar { display:none; }
  .case-photo-pair .case-photo:nth-child(n),.case-photo-mosaic .case-photo:nth-child(n) { flex:0 0 82vw; width:auto; margin-top:0; grid-column:auto; grid-row:auto; scroll-snap-align:start; }
  .case-photo-pair .case-photo-media,.case-photo-mosaic .case-photo-media { aspect-ratio:4/3; }
  .case-photo-pair .case-photo-portrait .case-photo-media,.case-photo-mosaic .case-photo-portrait .case-photo-media { aspect-ratio:3/4; }
  .case-photo-mosaic { margin-top:52px; }
  .case-photo figcaption { min-height:44px; padding-top:11px; }
  .case-photo-lead,.case-challenge-photo { margin-top:52px; }
  .case-photo-lead.case-photo-landscape,.case-photo-lead.case-photo-panorama,.case-challenge-photo {
    width:100vw;
    margin-left:calc((100vw - 100%)/-2);
  }
  .case-photo-lead.case-photo-landscape .case-photo-media,.case-photo-lead.case-photo-panorama .case-photo-media,.case-challenge-photo .case-photo-media { aspect-ratio:4/3; }
  .case-photo-lead.case-photo-landscape figcaption,.case-photo-lead.case-photo-panorama figcaption,.case-challenge-photo figcaption { padding-inline:17px; }
  .related-heading { margin-bottom:36px; gap:22px; }
  .related-heading .text-link { margin-top:0; }
}

@media (max-width:340px) {
  .inner-hero-shell,.intro-grid,.content-wrap,.enquiry-grid,.contact-grid,.team-intro,.assurance-grid { width:calc(100% - 28px); }
  .inner-hero h1 { font-size:46px; }
  .case-detail-page .inner-hero h1 { font-size:40px; }
  .values-grid,.team-grid,.assurance-grid,.case-proof-grid { grid-template-columns:1fr; }
  .case-facts dl { grid-template-columns:1fr; }
  .case-facts dl>div:nth-child(n) { grid-column:1; border-right:0; }
  .value-card { min-height:188px; }
  .team-card:first-child { grid-column:1; }
  .contact-details a { font-size:23px; }
}

@media (max-width:700px) {
  .inner-hero[data-hero-layout="careers"] { padding-bottom:0; }
  .inner-hero[data-hero-layout="careers"] .inner-hero-shell { gap:28px; }
  .inner-hero[data-hero-layout="careers"] .inner-hero-media[data-image-shape="careers"] { width:100vw; height:auto; min-height:0; max-height:none; aspect-ratio:1100/665; box-shadow:none; transform:none; }
  .inner-hero[data-hero-layout="careers"] .inner-hero-media::before { display:none; }
  .inner-hero[data-hero-layout="careers"] .inner-hero-media::after { content:""; position:absolute; z-index:2; inset:auto 0 0; height:4px; display:block; background:linear-gradient(90deg,var(--orange),rgba(238,90,36,0)); pointer-events:none; }
}

/* Image led pages */
@media (min-width:1101px) {
  .inner-hero[data-hero-layout="image-led"] { min-height:clamp(740px,90svh,920px); padding:96px 0 0; place-items:stretch; }
  .inner-hero[data-hero-layout="image-led"] .inner-hero-shell { width:100%; max-width:none; grid-template-columns:44vw 56vw; gap:0; align-items:stretch; }
  .inner-hero[data-hero-layout="image-led"] .inner-hero-content { z-index:3; align-self:center; padding:clamp(62px,8vh,104px) clamp(34px,4vw,68px) clamp(62px,8vh,104px) max(48px,calc((100vw - var(--page))/2)); }
  .inner-hero[data-hero-layout="image-led"] h1 { max-width:none; font-size:clamp(68px,6.1vw,100px); }
  .inner-hero[data-hero-layout="image-led"] .inner-hero-line { overflow:visible; }
  .inner-hero[data-hero-layout="image-led"] .inner-hero-line>span { white-space:nowrap; }
  .inner-hero[data-hero-layout="image-led"] .inner-hero-shell::before,.inner-hero[data-hero-layout="image-led"] .inner-hero-shell::after,.inner-hero[data-hero-layout="image-led"] .inner-hero-media::before { display:none; }
  .inner-hero[data-hero-layout="image-led"] .inner-hero-media { z-index:1; width:100%; max-width:none; height:auto; min-height:calc(100svh - 96px); align-self:stretch; justify-self:stretch; box-shadow:none; transform:none; }
  .inner-hero[data-hero-layout="image-led"] .inner-hero-media::after { content:""; position:absolute; z-index:2; inset:0 auto 0 0; width:17%; display:block; background:linear-gradient(90deg,#0b0d0d,transparent); pointer-events:none; }
  .inner-hero[data-hero-layout="image-led"]:hover .inner-hero-media { box-shadow:none; transform:none; }
}

@media (min-width:701px) and (max-width:1100px) {
  .inner-hero[data-hero-layout="image-led"] { min-height:0; padding-bottom:0; }
  .inner-hero[data-hero-layout="image-led"] .inner-hero-shell { width:100%; grid-template-columns:1fr; gap:40px; }
  .inner-hero[data-hero-layout="image-led"] .inner-hero-content { width:calc(100% - 56px); margin:auto; }
  .inner-hero[data-hero-layout="image-led"] .inner-hero-shell::before,.inner-hero[data-hero-layout="image-led"] .inner-hero-shell::after,.inner-hero[data-hero-layout="image-led"] .inner-hero-media::before { display:none; }
  .inner-hero[data-hero-layout="image-led"] .inner-hero-media { width:100vw; height:min(64vw,660px); min-height:0; margin:0; box-shadow:none; transform:none; }
}

/* Field photography becomes part of the page */
.sector-media-band { padding:0 0 clamp(110px,11vw,180px); overflow:hidden; }
.sector-media-band .content-wrap { width:100%; max-width:none; }
.sector-media-heading { width:min(calc(100% - 96px),1180px); margin-inline:auto; padding:32px 0 54px; }
.sector-film { position:relative; display:grid; grid-template-columns:minmax(260px,1fr) minmax(0,3fr); align-items:end; gap:clamp(34px,4.5vw,76px); width:min(calc(100% - max(48px,calc((100vw - var(--page))/2))),1600px); margin:0 0 clamp(92px,9vw,148px) max(48px,calc((100vw - var(--page))/2)); }
.sector-film-copy { max-width:340px; padding-bottom:clamp(12px,2.5vw,40px); }
.sector-film-copy .section-kicker { margin-bottom:26px; }
.sector-film-copy h3 { margin:0 0 24px; color:var(--ink); font-family:var(--display); font-size:clamp(42px,4.3vw,66px); line-height:.91; text-transform:uppercase; }
.sector-film-copy>p:not(.section-kicker) { margin:0; color:#575b57; font-size:17px; line-height:1.6; }
.sector-film-meta { display:flex; gap:13px; align-items:center; margin-top:30px; color:#666a66; font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.sector-film-meta b { display:inline-grid; min-width:52px; min-height:30px; place-items:center; color:#fff; background:var(--ink); font-size:10px; }
.sector-film-frame { position:relative; isolation:isolate; width:100%; max-width:1120px; margin:0; justify-self:end; aspect-ratio:848/480; overflow:hidden; color:#fff; background:#080a09; }
.sector-film-frame::after { content:""; position:absolute; z-index:2; inset:0; background:linear-gradient(180deg,transparent 50%,rgba(5,7,7,.7) 100%); pointer-events:none; }
.sector-film-poster,.sector-film-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.sector-film-video { z-index:1; opacity:0; transition:opacity .55s ease; }
.sector-film.is-ready .sector-film-video { opacity:1; }
.sector-film-caption { position:absolute; z-index:3; inset:auto auto 22px 24px; display:grid; gap:5px; font-size:9px; font-weight:800; letter-spacing:.13em; line-height:1.4; text-transform:uppercase; }
.sector-film-caption span:last-child { color:#c2c7c2; font-size:8px; }
.sector-film-toggle { position:absolute; z-index:4; right:22px; bottom:20px; min-width:116px; min-height:48px; padding:0 17px; display:flex; gap:12px; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.38); color:#fff; background:rgba(7,9,9,.72); font-size:9px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; backdrop-filter:blur(10px); cursor:pointer; }
.sector-film-toggle:hover,.sector-film-toggle:focus-visible { color:var(--ink); background:var(--orange); border-color:var(--orange); }
.sector-film-toggle-icon { width:14px; display:grid; place-items:center; }
.sector-film-toggle-icon svg { width:14px; height:14px; display:block; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.sector-film-toggle-icon svg path[d^="m9"] { fill:currentColor; stroke:none; }
@media (prefers-reduced-motion:reduce) {
  .sector-film-video { transition:none; }
}
.sector-media-grid { display:block; }
.sector-media-grid figure { position:relative; display:block; overflow:hidden; color:#fff; background:#151717; }
.sector-media-grid figure:first-child { width:min(78vw,1400px); height:clamp(540px,60vw,860px); }
.sector-media-grid figure:nth-child(2) { z-index:2; width:min(52vw,900px); height:clamp(360px,40vw,590px); margin-top:clamp(-190px,-12vw,-110px); margin-left:auto; }
.sector-media-grid figure:nth-child(3) { width:min(60vw,980px); height:clamp(420px,46vw,680px); margin-top:clamp(64px,8vw,126px); margin-left:max(48px,calc((100vw - var(--page))/2)); }
.sector-media-grid figure>div { width:100%; height:100%; overflow:hidden; }
.sector-media-grid img { width:100%; height:100%; object-fit:cover; }
.sector-media-grid figcaption { position:absolute; z-index:3; inset:auto auto 20px 20px; width:min(calc(100% - 40px),520px); min-height:0; padding:13px 16px; display:grid; grid-template-columns:auto 1fr; align-items:start; gap:14px; color:#fff; background:rgba(9,11,11,.76); border-left:3px solid var(--orange); backdrop-filter:blur(8px); }
.sector-media-grid figcaption span { color:var(--orange); }
.sector-media-grid figcaption strong { font-size:10px; line-height:1.35; letter-spacing:.11em; }
.sector-media-rail .sector-media-grid figure:first-child { margin-left:auto; }
.sector-media-rail .sector-media-grid figure:nth-child(2) { margin-left:0; }
.sector-media-rail .sector-media-grid figure:nth-child(3) { margin-right:max(48px,calc((100vw - var(--page))/2)); margin-left:auto; }
.sector-media-commercial .sector-media-grid figure:first-child { width:100%; height:clamp(350px,38vw,560px); }
.sector-media-commercial .sector-media-grid figure:nth-child(2) { width:min(59vw,980px); height:clamp(440px,48vw,700px); margin:clamp(58px,7vw,110px) 0 0 max(48px,calc((100vw - var(--page))/2)); }
.sector-media-commercial .sector-media-grid figure:nth-child(3) { z-index:2; width:min(50vw,830px); height:clamp(360px,40vw,580px); margin:clamp(-210px,-13vw,-120px) 0 0 auto; }

@media (min-width:701px) and (max-width:900px) {
  .sector-film { width:100%; margin:0 0 90px; display:block; }
  .sector-film-copy { width:calc(100% - 56px); max-width:680px; margin:0 auto 38px; padding:0; }
  .sector-film-frame { max-width:none; }
}

/* Larger project stages */
.sector-projects { padding-bottom:0; overflow:hidden; }
.sector-projects .content-heading { margin-bottom:70px; }
.sector-case-grid { width:100vw; margin-left:calc((100vw - 100%)/-2); grid-auto-rows:clamp(280px,24vw,370px); gap:3px; }
.sector-case-grid .project-card:nth-child(n) { min-height:0; }
.project-card::after { display:none; }
.project-card>div { padding-right:clamp(20px,2vw,34px); }

/* Editorial case study archive */
.case-archive-page .case-index { padding:clamp(60px,7vw,92px) 0 clamp(76px,8vw,112px); }
.case-archive-page .case-index .content-wrap { width:min(calc(100% - 96px),1440px); }
.case-archive-page .case-index-heading { margin-bottom:38px; }
.case-archive-page .case-filter-row { margin-bottom:28px; }
.case-archive-page .case-study-grid { grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-flow:row; grid-auto-rows:auto; gap:clamp(20px,2vw,30px); align-items:stretch; }
.case-archive-page .case-study-grid .project-card { position:relative; min-height:clamp(400px,31vw,500px); grid-row:auto; display:block; overflow:hidden; color:#fff; background:#141616; }
.case-archive-page .case-study-grid .project-card[hidden] { display:none; }
.case-archive-page .case-study-grid .project-card[data-layout="major"] { grid-column:span 7; }
.case-archive-page .case-study-grid .project-card[data-layout="minor"] { grid-column:span 5; }
.case-archive-page .case-study-grid .project-card[data-solo="true"] { grid-column:4/span 6; }
.case-archive-page .case-study-grid .project-card::before { z-index:1; display:block; background:linear-gradient(0deg,rgba(6,8,8,.98) 0,rgba(6,8,8,.82) 33%,rgba(6,8,8,.08) 72%); }
.case-archive-page .case-study-grid .project-card::after { display:none; }
.case-archive-page .case-study-grid .project-card-media { position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; }
.case-archive-page .case-study-grid .project-card-media img { width:100%; height:100%; object-fit:cover; filter:none; }
.case-archive-page .case-study-grid .project-card>div { position:absolute; z-index:2; inset:auto 0 0; padding:clamp(22px,2.4vw,36px); color:#fff; }
.case-archive-page .case-study-grid .project-sector { margin-bottom:8px; color:var(--orange); }
.case-archive-page .case-study-grid .project-card h3 { max-width:700px; margin-bottom:9px; color:#fff; font-size:clamp(34px,3.2vw,52px); line-height:.92; }
.case-archive-page .case-study-grid .project-card[data-layout="minor"] h3 { font-size:clamp(32px,2.8vw,45px); }
.case-archive-page .case-study-grid .project-card p.project-summary { max-width:560px; display:-webkit-box; overflow:hidden; color:#d2d5d1; font-size:14px; line-height:1.4; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.case-archive-page .case-study-grid .project-action { margin-top:12px; color:#fff; opacity:1; }
.case-archive-page .case-study-grid .project-card.motion-item { opacity:1; clip-path:none; transform:none; transition:none; }

.case-archive-page .client-showcase-archive { padding:clamp(56px,6vw,78px) 0; }
.case-archive-page .client-showcase-archive .client-showcase-heading { margin-bottom:36px; }
.case-archive-page .client-showcase-archive .client-showcase-heading h2 { font-size:clamp(48px,4.8vw,74px); }
.case-archive-page .client-showcase-archive .client-logo-grid { grid-template-columns:repeat(8,minmax(0,1fr)); }
.case-archive-page .client-showcase-archive .client-logo-card { min-height:104px; padding:16px 12px; }
.case-archive-page .client-showcase-archive .client-mark img { max-height:46px; }
.case-archive-page .client-showcase-archive .client-mark-tall img { max-height:58px; }
.case-archive-page .client-showcase-archive .client-mark-lockup { font-size:16px; }

/* Project photography follows the story */
.case-photo .case-photo-media { aspect-ratio:var(--photo-ratio,4/3); }
.case-photo figcaption { min-height:50px; padding-top:14px; gap:28px; font-size:10px; letter-spacing:.08em; line-height:1.35; }
.case-photo figcaption span:first-child { max-width:760px; }
.case-photo figcaption span:last-child { flex:0 0 auto; color:var(--orange); }
.case-lead-photo { width:100vw; margin-left:calc((100vw - 100%)/-2); }
.case-lead-photo .case-photo-lead { width:100%; }
.case-lead-photo .case-photo-lead .case-photo-media { height:clamp(520px,64vw,840px); aspect-ratio:auto; }
.case-lead-photo .case-photo-portrait { width:min(62vw,820px); margin-right:max(48px,calc((100vw - var(--page))/2)); margin-left:auto; }
.case-lead-photo .case-photo-portrait .case-photo-media { height:auto; aspect-ratio:var(--photo-ratio,3/4); }
.case-lead-photo figcaption { padding-inline:max(48px,calc((100vw - var(--page))/2)); }
.case-gallery-band .content-wrap { width:100%; }
.case-gallery-heading { width:min(calc(100% - 96px),1180px); margin:0 auto 54px; }
.case-photo-pair { width:min(calc(100% - 96px),1480px); margin:auto; grid-template-columns:1.15fr .85fr; }
.case-photo-pair .case-photo:nth-child(2) { margin-top:clamp(90px,10vw,160px); }
.case-challenge-photo { width:100vw; margin-left:calc((100vw - 100%)/-2); }
.case-challenge-photo .case-photo-media { height:clamp(420px,48vw,680px); aspect-ratio:auto; }
.case-challenge-photo figcaption { padding-inline:max(48px,calc((100vw - var(--page))/2)); }
.case-photo-mosaic { width:min(calc(100vw - 48px),1500px); margin-right:auto; margin-left:50%; transform:translateX(-50%); }
.case-photo-mosaic .case-photo-media { aspect-ratio:auto; }

/* Editorial team wall */
@media (min-width:901px) {
  .team-grid { grid-template-columns:repeat(12,1fr); column-gap:clamp(20px,2.4vw,36px); row-gap:clamp(58px,7vw,110px); align-items:start; }
  .team-card:nth-child(n) { grid-column:span 4; display:block; overflow:visible; color:var(--ink); background:transparent; }
  .team-card:first-child { grid-column:span 7; display:block; }
  .team-card:nth-child(2) { grid-column:span 5; margin-top:clamp(90px,9vw,150px); }
  .team-card:nth-child(5),.team-card:nth-child(8),.team-card:nth-child(11) { margin-top:clamp(50px,6vw,90px); }
  .team-card img,.team-card:first-child img { width:100%; height:auto; min-height:0; aspect-ratio:2/3; }
  .team-card-copy,.team-card:first-child .team-card-copy { min-height:0; padding:17px 0 0; color:var(--ink); background:transparent; }
  .team-card h3,.team-card:first-child h3 { font-size:clamp(34px,4vw,58px); }
  .team-card p,.team-card:first-child p { color:var(--orange); font-size:10px; }
  .team-card::after { display:none; }
}

@media (min-width:701px) and (max-width:900px) {
  .case-archive-page .case-index .content-wrap { width:calc(100% - 48px); }
  .case-archive-page .case-study-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
  .case-archive-page .case-study-grid .project-card[data-layout],
  .case-archive-page .case-study-grid .project-card[data-solo="true"] { grid-column:auto; min-height:clamp(360px,48vw,420px); margin:0; }
  .case-archive-page .case-study-grid .project-card[data-solo="true"] { grid-column:1/-1; width:calc(50% - 11px); justify-self:center; }
  .case-archive-page .case-study-grid .project-card h3,
  .case-archive-page .case-study-grid .project-card[data-layout="minor"] h3 { font-size:clamp(31px,4.8vw,38px); }
  .case-archive-page .client-showcase-archive .client-logo-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .case-archive-page .client-showcase-archive .client-logo-card { min-height:92px; padding:12px; }
}

@media (max-width:700px) {
  .case-archive-page .client-showcase-archive { padding:48px 0; }
  .case-archive-page .client-showcase-archive .client-showcase-heading { margin-bottom:28px; }
  .case-archive-page .client-showcase-archive .client-showcase-heading h2 { font-size:clamp(42px,12vw,52px); }
  .case-archive-page .client-showcase-archive .client-logo-grid { width:100%; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; overflow:visible; scroll-snap-type:none; border-top:1px solid rgba(11,13,13,.2); border-left:1px solid rgba(11,13,13,.2); }
  .case-archive-page .client-showcase-archive .client-logo-card { min-height:82px; padding:9px 7px; flex:none; scroll-snap-align:none; border-width:0 1px 1px 0; }
  .case-archive-page .client-showcase-archive .client-mark img { max-width:92%; max-height:34px; }
  .case-archive-page .client-showcase-archive .client-mark-tall img { max-height:42px; }
  .case-archive-page .client-showcase-archive .client-mark-lockup { font-size:12px; }
  .case-archive-page .client-showcase-archive .client-mark-text { font-size:15px; }

  .case-archive-page .case-index { padding:52px 0 68px; }
  .case-archive-page .case-index .content-wrap { width:calc(100% - 34px); }
  .case-archive-page .case-index-heading { margin-bottom:28px; }
  .case-archive-page .case-filter-row { margin-bottom:24px; }
  .case-archive-page .case-study-grid { display:block; }
  .case-archive-page .case-study-grid .project-card:nth-child(n),
  .case-archive-page .case-study-grid .project-card[data-layout],
  .case-archive-page .case-study-grid .project-card[data-solo="true"] { width:100%; min-height:clamp(350px,100vw,400px); margin:0 0 18px; }
  .case-archive-page .case-study-grid .project-card[data-layout="minor"] { min-height:clamp(176px,50vw,195px); }
  .case-archive-page .case-study-grid .project-card>div { position:absolute; inset:auto 0 0; width:auto; margin:0; padding:22px 20px; color:#fff; background:transparent; }
  .case-archive-page .case-study-grid .project-card h3,
  .case-archive-page .case-study-grid .project-card[data-layout="minor"] h3 { font-size:clamp(30px,9.4vw,40px); }
  .case-archive-page .case-study-grid .project-card p.project-summary { color:#d2d5d1; font-size:13px; }
  .case-archive-page .case-study-grid .project-card[data-layout="minor"]>div { padding:18px; }
  .case-archive-page .case-study-grid .project-card[data-layout="minor"] h3 { max-width:88%; margin:0; font-size:clamp(24px,7vw,29px); line-height:.94; }
  .case-archive-page .case-study-grid .project-card[data-layout="minor"] p.project-summary,
  .case-archive-page .case-study-grid .project-card[data-layout="minor"] .project-action { display:none; }
}

/* Responsive desktop density */
.case-index-heading.visible .motion-title,.case-story-grid.visible .motion-title,.case-editorial-grid.visible .motion-title,.related-heading.visible .motion-title { clip-path:none; }

@media (min-width:901px) {
  .inner-hero { min-height:clamp(650px,88svh,760px); padding:116px 0 54px; }
  .inner-hero-shell { width:min(calc(100% - 64px),1120px); gap:clamp(44px,5vw,76px); }
  .inner-hero h1 { font-size:clamp(60px,5vw,88px); }
  .inner-hero-media { height:clamp(380px,35vw,500px); }
  .inner-hero-media[data-image-shape="portrait"] { width:min(100%,340px); }
  .inner-hero p:last-child { margin-top:26px; font-size:18px; }

  .intro-panel,.content-section,.enquiry-section { padding:clamp(76px,10vh,112px) 0; }
  .intro-grid,.content-wrap,.enquiry-grid,.contact-grid,.team-intro,.assurance-grid { width:min(calc(100% - 64px),1120px); }
  .intro-grid { gap:clamp(54px,6vw,88px); }
  .intro-grid h2 { font-size:clamp(54px,4.8vw,78px); }
  .intro-grid p { font-size:18px; }
  .content-heading { margin-bottom:48px; font-size:clamp(56px,5vw,82px); }
  .enquiry-grid { gap:clamp(48px,6vw,84px); }
  .enquiry-grid h2 { font-size:clamp(58px,5vw,82px); }
  .client-showcase,.case-gallery-band { padding:clamp(76px,10vh,112px) 0; }
  .assurance-strip { padding:64px 0; }
  .assurance-item { min-height:128px; }
  .value-card { min-height:240px; }
  .company-panorama,.company-panorama-copy { min-height:clamp(240px,19vw,320px); }

  .team-grid { column-gap:clamp(18px,2vw,28px); row-gap:clamp(46px,6vh,72px); }
  .team-card:nth-child(n) { grid-column:span 3; margin-top:0; --card-offset:0px; transform:none; }
  .team-card:first-child { grid-column:span 6; }
  .team-card:nth-child(2) { grid-column:span 3; margin-top:54px; }
  .team-card:nth-child(5),.team-card:nth-child(8),.team-card:nth-child(11) { margin-top:34px; }
  .team-card h3,.team-card:first-child h3 { font-size:clamp(30px,3vw,44px); }
}

@media (min-width:1101px) {
  .inner-hero[data-hero-layout="image-led"],.inner-hero[data-hero-layout="careers"] { min-height:clamp(640px,84svh,780px); padding-top:96px; }
  .inner-hero[data-hero-layout="image-led"] .inner-hero-shell,.inner-hero[data-hero-layout="careers"] .inner-hero-shell { width:min(100%,1540px); max-width:1540px; margin-inline:auto; grid-template-columns:47% 53%; gap:0; }
  .inner-hero[data-hero-layout="image-led"] .inner-hero-content,.inner-hero[data-hero-layout="careers"] .inner-hero-content { padding:clamp(48px,7vh,72px) clamp(48px,4vw,64px); }
  .inner-hero[data-hero-layout="image-led"] h1,.inner-hero[data-hero-layout="careers"] h1 { font-size:clamp(60px,4.5vw,82px); }
  .inner-hero[data-hero-layout="image-led"] .inner-hero-media,.inner-hero[data-hero-layout="careers"] .inner-hero-media[data-image-shape="careers"] { width:100%; max-width:none; min-height:clamp(544px,calc(84svh - 96px),684px); margin:0; justify-self:stretch; }
  .inner-hero[data-hero-layout="careers"] .inner-hero-shell::before { left:47%; }
  .inner-hero[data-hero-layout="careers"] .inner-hero-shell::after { left:calc(47% - 5px); }
}

@media (min-width:901px) and (max-width:1100px) {
  .inner-hero-shell { grid-template-columns:minmax(0,1fr) minmax(300px,.72fr); }
  .inner-hero h1 { font-size:clamp(58px,6.2vw,68px); }
}

@media (min-width:901px) and (max-height:820px) {
  .inner-hero { min-height:640px; }
  .intro-panel,.content-section,.enquiry-section { padding:72px 0; }
}

@media (max-width:700px) {
  .inner-hero[data-hero-layout="image-led"] { padding-bottom:0; }
  .inner-hero[data-hero-layout="image-led"] .inner-hero-shell { width:100%; gap:28px; }
  .inner-hero[data-hero-layout="image-led"] .inner-hero-content { width:calc(100% - 34px); margin:auto; }
  .inner-hero[data-hero-layout="image-led"] .inner-hero-media { width:100vw; height:clamp(320px,86vw,520px); min-height:0; max-height:none; margin:0; box-shadow:none; transform:none; }
  .inner-hero[data-hero-layout="image-led"] .inner-hero-media::before { display:none; }

  .sector-media-band { padding-bottom:78px; }
  .sector-media-heading { width:calc(100% - 34px); padding:18px 0 28px; }
  .sector-film { width:100%; margin:0 0 66px; display:block; }
  .sector-film-copy { width:calc(100% - 34px); max-width:none; margin:0 auto 30px; padding:0; }
  .sector-film-copy .section-kicker { margin-bottom:18px; }
  .sector-film-copy h3 { max-width:340px; margin-bottom:17px; font-size:clamp(40px,12vw,52px); }
  .sector-film-copy>p:not(.section-kicker) { font-size:15px; }
  .sector-film-meta { margin-top:22px; }
  .sector-film-frame { width:100vw; max-width:none; }
  .sector-film-caption { left:15px; bottom:14px; max-width:170px; }
  .sector-film-caption span:last-child { display:none; }
  .sector-film-toggle { right:14px; bottom:12px; min-width:104px; min-height:46px; padding:0 13px; }
  .sector-media-grid { width:100vw; margin:0; padding:0; display:block; overflow:visible; }
  .sector-media-band .sector-media-grid figure:nth-child(n) { width:100%; height:clamp(300px,78vw,440px); margin:0 0 8px; }
  .sector-media-band .sector-media-grid figure:nth-child(2) { width:92%; margin-left:auto; }
  .sector-media-band .sector-media-grid figure:nth-child(3) { width:94%; margin-right:auto; }
  .sector-media-band .sector-media-grid figure>div { width:100%; height:100%; aspect-ratio:auto; }
  .sector-media-commercial .sector-media-grid figure:first-child { height:clamp(220px,58vw,320px); }
  .sector-media-grid figcaption { inset:auto 14px 14px; width:auto; padding:11px 13px; }
  .sector-media-grid figcaption strong { font-size:9px; }

  .sector-projects { padding-bottom:0; }
  .sector-projects .content-wrap { width:100%; }
  .sector-projects .content-heading { width:calc(100% - 34px); margin:0 auto 42px; }
  .sector-case-grid,.related-cases .project-grid { width:100%; margin:0; padding:0; display:grid; gap:3px; overflow:visible; scroll-snap-type:none; }
  .sector-case-grid .project-card:nth-child(n),.related-cases .project-card:nth-child(n) { width:100%; min-height:76vw; }

  .case-index .content-wrap { width:calc(100% - 34px); }
  .case-study-grid { display:block; }
  .case-study-grid .project-card:nth-child(n) { width:100%; margin:0 0 64px; }
  .case-study-grid .project-card[data-layout="feature"] .project-card-media,.case-study-grid .project-card[data-layout="wide"] .project-card-media { aspect-ratio:4/3; }
  .case-study-grid .project-card[data-layout="portrait"] .project-card-media { aspect-ratio:3/4; }
  .case-study-grid .project-card[data-layout="feature"]>div { width:calc(100% - 28px); margin:-38px 14px 0; padding:25px 23px 28px; }
  .case-study-grid .project-card h3,.case-study-grid .project-card[data-layout="feature"] h3 { font-size:clamp(36px,11vw,48px); }
  .case-study-grid .project-card p.project-summary { font-size:14px; }

  .case-photo figcaption { min-height:0; padding:11px 17px 22px; }
  .case-lead-photo { margin-top:52px; }
  .case-lead-photo .case-photo-lead { width:100%; margin:0; }
  .case-lead-photo .case-photo-lead .case-photo-media { height:auto; aspect-ratio:var(--photo-ratio,4/3); }
  .case-lead-photo figcaption,.case-challenge-photo figcaption { padding-inline:17px; }
  .case-gallery-band .content-wrap { width:100%; }
  .case-gallery-heading { width:calc(100% - 34px); margin-bottom:34px; }
  .case-photo-pair { width:100%; margin:0; padding:0; display:block; overflow:visible; transform:none; }
  .case-photo-pair .case-photo:nth-child(n) { width:100%; margin:0; }
  .case-photo-pair .case-photo:nth-child(2) { width:90%; margin:26px 0 0 auto; }
  .case-photo-pair .case-photo-media { aspect-ratio:var(--photo-ratio,4/3); }
  .case-challenge-photo { margin-top:52px; }
  .case-challenge-photo .case-photo-media { height:auto; aspect-ratio:var(--photo-ratio,4/3); }
  .case-photo-mosaic { width:100vw; margin:52px 0 0 calc((100vw - 100%)/-2); padding:0; display:block; overflow:visible; transform:none; }
  .case-photo-mosaic .case-photo:nth-child(n) { width:100%; margin:0; }
  .case-photo-mosaic .case-photo:nth-child(even) { width:90%; margin-left:auto; }
  .case-photo-mosaic .case-photo-media { aspect-ratio:var(--photo-ratio,4/3); }

  .team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 12px; }
  .team-card:nth-child(n),.team-card:first-child { grid-column:auto; min-width:0; display:block; color:var(--ink); background:transparent; }
  .team-card:first-child { grid-column:1/-1; }
  .team-card img,.team-card:first-child img { width:100%; height:auto; min-height:0; aspect-ratio:2/3; }
  .team-card:first-child img { aspect-ratio:4/5; }
  .team-card-copy,.team-card:first-child .team-card-copy { min-height:0; padding:12px 0 0; color:var(--ink); background:transparent; }
  .team-card h3,.team-card:first-child h3 { font-size:clamp(24px,7vw,30px); }
  .team-card p,.team-card:first-child p { font-size:8px; line-height:1.35; }
  .team-card::after { display:none; }
}
