/* ASSEL GROUP — layout and usability refinement. Corporate palette and imagery retained. */
/* Explicit tracks remove grid spans inherited from the superseded 12-column layout. */
.page-home .home-capabilities{grid-template-columns:minmax(0,1fr)}
.page-home .home-capability{grid-column:auto;min-width:0}
main :is(.section-intro,.statement,.institutional-row,.service-capability-groups,.operation-stages,.operation-documents,.contact-grid)>*{min-width:0}
main :is(h1,h2,h3){overflow-wrap:break-word}
.field :is(input,textarea,select){max-width:100%}
.field .iti{width:100%;min-width:0}
.contact-form .consent-field,.contact-form .form-note{overflow-wrap:anywhere}
.contact-form button[type=submit]{white-space:normal;text-wrap:balance;max-width:100%}
/* Keep wayfinding visible and equivalent for mouse, touch and keyboard. */
.site-header .desktop-nav>a[aria-current=page]:not(.nav-cta){color:var(--blue)}
.site-header .desktop-nav>a[aria-current=page]:not(.nav-cta)::after{right:0}
.language-menu a:focus-visible{outline-offset:-3px}
/* Reading measure for long information pages; no copy is removed or collapsed. */
main .legal{max-width:none}
main .legal>.container{width:min(calc(100% - var(--gutter)*2),86ch);margin-inline:auto}
main .legal p{max-width:78ch}
@media(min-width:801px){
 .page-home .home-capability{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto;align-items:stretch}
 .page-home .home-capability-media{grid-column:1;grid-row:1}
 .page-home .home-capabilities .home-capability-copy{grid-column:2;grid-row:1;min-width:0}
 .page-home .home-capability-copy h3{font-size:clamp(30px,2.8vw,44px);max-width:24ch;hyphens:auto}
 .page-home .home-capability-copy .pillar-tags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
 .page-home .pillar-tags span{min-width:0;overflow-wrap:break-word}
 .section-intro{grid-template-columns:minmax(130px,.24fr) minmax(0,1fr);align-items:start}
 .section-intro .section-title{max-width:25ch}
 .section-intro .section-lead{max-width:64ch}
 .institutional-row{grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);align-items:start}
 .institutional-row h2{max-width:20ch}
 .institutional-row p{max-width:70ch}
 .service-modes-grid{align-items:start}
 .service-modes-grid h3{min-height:1.4em}
 .operation-documents{align-items:stretch}
 .operation-document{display:flex;flex-direction:column;gap:12px}
 .operation-document :is(h3,p){margin-block:0}
 .operation-stage h3{font-size:clamp(21px,1.8vw,26px);line-height:1.3}
 .contact-form{align-content:start;align-items:start}
 .contact-form .field.full,.contact-form .consent-field,.contact-form .form-note,.contact-form .form-status{grid-column:1/-1}
 body .site-footer .footer-main{grid-template-columns:minmax(100px,.7fr) minmax(0,.85fr) minmax(0,1.2fr) minmax(0,1.15fr);column-gap:clamp(24px,3vw,48px)}
 body .site-footer .footer-contact{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
 body .site-footer .footer-contact :is(.footer-title,.footer-social,a){grid-column:1}
 body .site-footer .footer-brand,body .site-footer .footer-contact{grid-row:auto}
}
@media(min-width:801px) and (max-width:1199px){
 .page-home .home-capabilities .home-capability-copy{padding:32px}
 .page-home .home-capability-copy .pillar-tags{grid-template-columns:minmax(0,1fr)}
 .institutional-row{grid-template-columns:minmax(170px,.7fr) minmax(0,1.3fr);gap:28px}
 body .site-footer .footer-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 40px}
 body .site-footer .footer-brand{grid-column:1/-1}
 body .site-footer .footer-contact{grid-column:1/-1;max-width:520px}
}
@media(min-width:1200px) and (max-width:1439px){
 .page-careers .profiles{grid-template-columns:repeat(2,minmax(0,1fr))}
 .page-careers .profile{min-height:88px;font-size:17px;line-height:1.4}
 .contact-grid{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:36px}
}
@media(max-width:800px){
 .page-home .home-capability{grid-template-columns:minmax(0,1fr)}
}
/* Clearer letterforms: use the existing font weights without synthetic strokes. */
body main :is(p,li),body .home-sector-list span,body .pillar-tags span,body .industry-capabilities span{-webkit-text-stroke:0}
@media(min-width:1200px){
 /* Align the two consulting lists when a translated heading wraps to two lines. */
 .service-consulting .service-capability-groups h3{line-height:1.35;min-block-size:2.7em}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .home-capability-copy>a{transition:color 180ms ease,text-underline-offset 200ms ease}
}

/* Creative direction 06 — editorial scale, engineering rhythm, deliberate asymmetry. */
:root{--assel-wide:min(1760px,calc(100vw - clamp(40px,6vw,112px)));--assel-radius:2px}
main .section-intro .kicker{display:flex;align-items:center;gap:12px;white-space:normal;min-width:0}
main .section-intro .kicker::before{content:"";flex:0 0 7px;width:7px;height:7px;background:var(--blue);transform:rotate(45deg)}
main .section-intro .section-title{text-wrap:balance}
main :is(.service-pillar-heading,.industry-showcase-copy,.home-capability-copy) h2,
main :is(.service-pillar-heading,.industry-showcase-copy,.home-capability-copy) h3{text-wrap:balance}

@media(min-width:1200px){
 body{--max:1540px}
 .container{width:var(--assel-wide)}
 .section{padding-block:clamp(96px,9vw,152px)}
 .section-intro{grid-template-columns:minmax(150px,.32fr) minmax(0,1.68fr);gap:clamp(58px,9vw,160px);margin-bottom:clamp(72px,8vw,128px)}
 .section-intro .section-title{font-size:clamp(46px,4.5vw,72px);line-height:.98;letter-spacing:-.047em;max-width:20ch}
 .section-intro .section-lead{margin-top:30px;font-size:clamp(17px,1.25vw,20px);line-height:1.72;max-width:56ch}

 /* Interior openings use the full desktop canvas and separate statement from context. */
 .page-hero-photo,.sectors-hero{min-height:700px}
 .page-hero-photo .page-hero-inner,.sectors-hero-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:24px clamp(70px,9vw,160px);align-items:end;padding-top:clamp(170px,18vh,230px);padding-bottom:clamp(72px,8vw,124px)}
 .page-hero-photo .eyebrow,.sectors-hero-heading .eyebrow{grid-column:1/-1;margin-bottom:18px}
 .page-hero-photo h1,.sectors-hero-heading h1{grid-column:1;max-width:15ch;margin:0;font-size:clamp(60px,5.5vw,92px);line-height:.93;letter-spacing:-.055em}
 .page-hero-photo p,.sectors-hero-heading p{grid-column:2;margin:0;padding-left:30px;border-left:1px solid rgb(255 255 255 / 42%);font-size:clamp(17px,1.2vw,20px);line-height:1.72}

 .page-home .home-capabilities-section>.container{width:var(--assel-wide)}
 .page-home .home-capabilities{border:0;gap:clamp(74px,8vw,136px)}
 .page-home .home-capability{position:relative;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(400px,.82fr);min-height:620px;border:0;background:#f1f3f7;overflow:visible}
 .page-home .home-capability:nth-child(even){grid-template-columns:minmax(400px,.82fr) minmax(0,1.18fr);margin-left:clamp(40px,6vw,120px)}
 .page-home .home-capability:nth-child(odd){margin-right:clamp(40px,6vw,120px)}
 .page-home .home-capability-media{display:block;grid-column:1;grid-row:1;min-height:620px;background-size:cover;background-position:center}
 .page-home .home-capability-copy{grid-column:2;grid-row:1;min-height:0;padding:clamp(54px,5vw,88px);justify-content:center;background:#fff;border:1px solid var(--line);border-left:0}
 .page-home .home-capability:nth-child(even) .home-capability-media{grid-column:2}
 .page-home .home-capability:nth-child(even) .home-capability-copy{grid-column:1;border:1px solid var(--line);border-right:0}
 .page-home .home-capability-copy::before{display:block!important;content:"0" counter(capability)!important;position:static;width:auto;height:auto;margin:0 0 clamp(46px,5vw,72px);color:var(--blue);background:none;-webkit-mask:none;mask:none;font-size:12px;line-height:1;font-weight:700;letter-spacing:.16em}
 .page-home .home-capabilities{counter-reset:capability}
 .page-home .home-capability{counter-increment:capability}
 .page-home .home-capability-copy h3{font-size:clamp(42px,4vw,66px);line-height:.98;max-width:13ch;margin-bottom:28px}
 .page-home .home-capability-copy p{font-size:17px;line-height:1.72}
 .page-home .home-capability-copy .pillar-tags{margin-top:34px;grid-template-columns:1fr;gap:0}
 .page-home .pillar-tags span{padding:11px 0;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0}
 .page-home .home-capability-copy>a{margin-top:30px}
 .page-home .quality-focus-grid{grid-template-columns:minmax(0,.74fr) minmax(520px,1.26fr);gap:56px 8vw;min-height:690px;align-items:center}
 .page-home .quality-focus-copy h2{font-size:clamp(58px,5.8vw,94px);line-height:.9;max-width:10ch}
 .page-home .quality-focus-visual{height:650px;transform:translateY(54px)}
 .page-home .quality-focus-visual img{height:100%}
 .page-home .quality-focus-points{align-self:end;max-width:520px}
 .page-home .home-sectors-story{grid-template-columns:minmax(0,1.42fr) minmax(440px,.58fr);min-height:820px}
 .page-home .home-sectors-media{min-height:820px}
 .page-home .home-sectors-copy{padding:clamp(70px,7vw,126px)}
 .page-home .home-sectors-copy h2{font-size:clamp(52px,4.7vw,78px);line-height:.93;max-width:9ch}
 .page-home .home-sector-list{grid-template-columns:1fr;margin-top:38px}
 .page-home .home-sector-list span{min-height:0;padding:13px 0}
 .page-home .process-blueprint .flow{grid-template-columns:repeat(10,1fr);border:0;align-items:start}
 .page-home .process-blueprint .flow-item{grid-column:span 2;min-height:320px;padding:36px 26px;border:1px solid var(--line);border-left:0;background:#fff}
 .page-home .process-blueprint .flow-item:first-child{border-left:1px solid var(--line)}
 .page-home .process-blueprint .flow-item:nth-child(even){margin-top:48px;background:var(--cloud)}
 .page-home .process-blueprint .flow-item::after{top:-5px}

 /* Services: each discipline reads as a chapter, not a repeated card. */
 .page-services .service-pillars>.container{width:var(--assel-wide)}
 .page-services .service-pillar-detail,.page-services .service-pillar-detail:nth-child(even){position:relative;grid-template-columns:minmax(470px,.72fr) minmax(0,1.28fr);grid-template-areas:"heading visual" "groups groups";margin-bottom:clamp(150px,14vw,240px);border:0;border-radius:0;overflow:visible;background:#fff}
 .page-services .service-pillar-detail:nth-child(even){grid-template-columns:minmax(0,1.28fr) minmax(470px,.72fr);grid-template-areas:"visual heading" "groups groups"}
 .page-services .service-pillar-heading,.page-services .service-quality .service-pillar-heading{z-index:2;min-height:590px;padding:clamp(60px,6vw,104px);background:#fff;border:1px solid var(--line)}
 .page-services .service-pillar-heading h2{font-size:clamp(52px,4.7vw,78px);line-height:.94;max-width:11ch}
 .page-services .service-pillar-visual{min-height:700px}
 .page-services .service-capability-groups{position:relative;z-index:3;width:calc(100% - clamp(72px,9vw,156px));margin-inline:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);background:#fff;box-shadow:0 30px 80px rgb(15 30 85 / 8%)}
 .page-services .service-capability-groups article{padding:clamp(38px,4vw,62px);border-color:var(--line)}
 .page-services .service-capability-groups h3{font-size:clamp(22px,2vw,30px)}

 /* Industries: image-led chapters with alternating scale and neutral oversized indices. */
 .page-industries .industry-showcase-list{width:var(--assel-wide);padding-block:clamp(100px,10vw,170px);counter-reset:industry}
 .page-industries .industry-showcase,.page-industries .industry-showcase:nth-child(even){position:relative;counter-increment:industry;grid-template-columns:minmax(0,1.32fr) minmax(420px,.68fr);min-height:620px;margin-bottom:clamp(92px,9vw,150px);border:0;background:#f2f4f8}
 .page-industries .industry-showcase:nth-child(even){grid-template-columns:minmax(420px,.68fr) minmax(0,1.32fr);margin-left:clamp(50px,7vw,140px)}
 .page-industries .industry-showcase:nth-child(odd){margin-right:clamp(50px,7vw,140px)}
 .page-industries .industry-showcase:last-child{margin-bottom:0;border:0}
 .page-industries .industry-showcase-media{min-height:620px;order:0}
 .page-industries .industry-showcase:nth-child(even) .industry-showcase-media{order:2}
 .page-industries .industry-showcase-copy{position:relative;min-height:620px;padding:clamp(62px,6vw,100px);display:flex;flex-direction:column;justify-content:center;background:#fff!important;border:1px solid var(--line)}
 .page-industries .industry-showcase-copy::before{content:"0" counter(industry);position:absolute;right:clamp(30px,3vw,52px);top:clamp(30px,3vw,48px);color:#d6dae4;font-size:clamp(54px,5vw,86px);line-height:1;font-weight:500;letter-spacing:-.06em}
 .page-industries .industry-showcase-copy h2{font-size:clamp(48px,4.5vw,74px);line-height:.95;max-width:10ch;position:relative}
 .page-industries .industry-showcase-copy>p{max-width:46ch;font-size:18px;line-height:1.72}
 .page-industries .industry-capabilities{margin-top:36px;display:grid;grid-template-columns:1fr;gap:0}
 .page-industries .industry-capabilities span{padding:11px 0;background:none;border:0;border-top:1px solid var(--line)}

 /* Operations and corporate content gain stronger hierarchy on wide screens. */
 .page-operations .operation-stages{grid-template-columns:repeat(12,1fr);gap:32px}
 .page-operations .operation-stage{grid-column:span 6;grid-template-columns:64px 1fr;padding:50px 0;min-height:320px}
 .page-operations .operation-stage:nth-child(2),.page-operations .operation-stage:nth-child(4){transform:translateY(54px)}
 .page-operations .operation-number{font-size:clamp(28px,2.5vw,40px);color:#b8becd}
 .page-operations .operation-stage h3{font-size:clamp(30px,2.8vw,44px);line-height:1.08;max-width:13ch}
 .page-operations .operation-coordination-intro{grid-template-columns:minmax(0,1.35fr) minmax(380px,.65fr);gap:42px 9vw}
 .page-operations .operation-coordination h2{font-size:clamp(52px,4.8vw,76px);line-height:.95;max-width:13ch}
 .page-operations .operation-teams{grid-template-columns:repeat(12,1fr);gap:0}
 .page-operations .operation-teams article{grid-column:span 4;padding:36px clamp(28px,3vw,50px);border:1px solid rgb(255 255 255 / 18%);border-right:0}
 .page-operations .operation-teams article:last-child{border-right:1px solid rgb(255 255 255 / 18%)}
 .page-operations .operation-international-grid{grid-template-columns:minmax(390px,.62fr) minmax(0,1.38fr);gap:clamp(70px,9vw,150px)}
 .page-about .institutional-row{grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr);gap:clamp(68px,10vw,170px);padding:clamp(52px,5vw,78px) 0}
 .page-about .institutional-row h2{font-size:clamp(34px,3.3vw,52px);line-height:1.04}
 .page-about .institutional-row p{font-size:clamp(17px,1.25vw,20px);line-height:1.78;max-width:62ch}
}

@media(min-width:801px) and (max-width:1199px){
 .page-home .home-capability-media{display:block;min-height:430px;background-size:cover;background-position:center}
 .page-home .home-capability{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .page-home .home-capability-copy{min-height:430px}
 .page-industries .industry-showcase-list{width:min(calc(100% - var(--gutter)*2),var(--max))}
}

@media(max-width:800px){
 main .section-intro .kicker::before{width:6px;height:6px}
 .page-home .home-capability-media{display:block;min-height:260px;background-size:cover;background-position:center}
 .page-home .home-capability-copy{min-height:0;padding:34px 24px 40px}
 .page-home .home-capability-copy h3{font-size:clamp(32px,10vw,44px);line-height:1.02}
 .page-home .quality-focus-copy h2{font-size:clamp(42px,13vw,60px);line-height:.92}
 .page-home .home-sectors-copy h2{font-size:clamp(40px,12vw,56px);line-height:.95}
 .page-industries .industry-showcase-copy::before{content:none}
}

@media(prefers-reduced-motion:reduce){
 .page-operations .operation-stage:nth-child(2),.page-operations .operation-stage:nth-child(4){transform:none}
}

/* Cinematic home film: the original lead photograph remains the loading and reduced-motion poster. */
.hero-film{position:relative;background:var(--blue-dark)}
.hero-film-video,.hero-film-poster{position:absolute;inset:0;width:100%;height:100%!important;min-height:100%!important;object-fit:cover;object-position:center}
.hero-film-video{z-index:1;display:block}
.hero-film-poster{z-index:0}
.hero-film::after{z-index:2!important}
.site-footer,.site-footer *,.site-footer *::before,.site-footer *::after{animation:none!important;transition:none!important}
@media(max-width:800px){
 .hero-film-video,.hero-film-poster{object-position:58% center}
}
@media(prefers-reduced-motion:reduce){
 .hero-film-video{display:none}
 .hero-film-poster{z-index:1;display:block;transform:none!important;transition:none!important}
}
/* Play appears only when autoplay is blocked; it disappears during playback. */
.hero-film-start{position:absolute;right:24px;bottom:24px;z-index:20;min-height:52px;padding:16px 24px;border:1px solid white;border-radius:3px;background:#101820eb;color:white;font:600 16px var(--font);cursor:pointer;white-space:nowrap}
.hero-film-start[hidden]{display:none}
.hero-film-start:focus-visible{outline:3px solid white;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.hero-film-video{display:block}.hero-film-poster{z-index:0}}
/* Living photographs keep their original layout and never move surrounding text. */
.ag-photo-window{overflow:hidden}
.home-capability-media.ag-photo-window{position:relative}
.ag-photo-surface{position:absolute;inset:0;display:block;pointer-events:none}
@media(prefers-reduced-motion:reduce){.ag-photo-surface{transform:none!important}}

/* Topic-matched footage overlays its original photograph without changing layout. */
.scene-video-host{position:relative!important;overflow:hidden}
.scene-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:1;opacity:0;pointer-events:none}
.scene-video.is-playing{opacity:1}
.scene-video-host :is(figcaption,.image-credit){z-index:3}
.scene-video-play{position:absolute;right:18px;bottom:18px;z-index:4;padding:12px 18px;min-height:46px;color:#fff;background:#101820e8;border:1px solid #fff;border-radius:3px;font:600 14px var(--font);cursor:pointer}
.scene-video-play[hidden]{display:none}
.scene-video-play:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.scene-video{display:none}}
