/* One page width, gutter and header alignment for home and all interior routes. */
html{scrollbar-gutter:stable}body{width:100%;max-width:1920px;margin-inline:auto;position:relative}main,section,header,footer{min-width:0}.header{padding-left:var(--gutter);padding-right:var(--gutter)}.hero-content{margin-left:var(--gutter)}.hero-values{right:var(--gutter)}.section,.page-section,.page-hero,.site-footer{width:100%}.service-band{grid-template-columns:repeat(6,minmax(0,1fr));gap:0}.service-tile{min-width:0;padding:0 14px}.service-tile h2{font-size:1rem;min-height:46px}.service-tile p{font-size:.875rem}.service-band .number{display:block;font-size:1.2rem;margin-bottom:15px;color:var(--burgundy)}.service-note{display:none}
.case-section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}.case-section-heading h2{margin:15px 0 0}.case-section-heading>a{flex-shrink:0}.engagement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.engagement-card{background:white;border:1px solid var(--line);min-width:0;display:flex;flex-direction:column}.engagement-card[hidden]{display:none}.engagement-image{display:block;overflow:hidden}.engagement-image img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.engagement-copy{padding:24px;flex:1;display:flex;flex-direction:column;align-items:flex-start}.case-category{font-size:.75rem;line-height:1.6;color:var(--burgundy);margin-bottom:14px}.engagement-card h3{font-size:1.3rem;line-height:1.25;margin:0 0 10px}.engagement-card h3 a:hover{text-decoration:underline}.case-client{color:var(--slate);font-size:.95rem;line-height:1.5}.case-highlight{border-top:1px solid var(--line);padding-top:22px;margin-top:24px;width:100%}.case-highlight strong{display:block;font-size:clamp(1.8rem,2.5vw,2.7rem);line-height:1.15;font-weight:400;letter-spacing:-.04em;color:var(--navy);overflow-wrap:anywhere}.case-highlight span{display:block;font-size:.875rem;color:var(--slate);margin-top:8px}.engagement-copy .text-link{margin-top:auto;padding-top:25px}.case-filters{display:flex;gap:24px;align-items:end;flex-wrap:wrap}.case-filters label{display:grid;gap:8px;flex:1;min-width:220px;font-size:.875rem}.case-filters select{width:100%;min-height:48px;border:1px solid var(--line);border-radius:0;background:white;padding:10px 12px;font:inherit;color:var(--navy)}.case-reset{min-height:48px;background:var(--navy);color:white;padding:10px 22px;border:0;cursor:pointer}.case-count{margin:23px 0;color:var(--slate);font-size:.875rem}.case-empty{padding:35px;border:1px solid var(--line);background:white}.case-detail{display:grid;grid-template-columns:1.5fr 1fr;gap:8%;align-items:start}.case-reading article{padding:30px 0;border-bottom:1px solid var(--line)}.case-reading article p:last-child{font-size:1.1rem;line-height:1.8;max-width:780px}.case-reading h2{font-size:2rem;margin:12px 0 20px}.case-taxonomy{display:flex;gap:16px;flex-wrap:wrap;font-size:.875rem;color:var(--burgundy)}.case-aside{position:sticky;top:25px;background:white;padding-bottom:28px}.case-aside img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.case-aside .case-highlight,.case-aside>.case-client{margin:24px 28px 0;width:auto}.case-result{border-left:3px solid var(--burgundy);padding-left:25px!important;margin-top:22px}.case-footnote{color:var(--slate);font-size:.875rem;margin:25px 0}.case-reading>.text-link{margin-top:10px}
@media(max-width:1150px){.service-band{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:30px}.service-tile:nth-child(3n){border-right:0}.engagement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.case-detail{grid-template-columns:1fr;gap:30px}.case-aside{position:static;grid-row:1}.case-aside img{aspect-ratio:16/7}.case-section-heading{display:block}.case-section-heading>a{margin-top:20px}.engagement-copy{padding:20px}.case-filters{gap:15px}}
@media(max-width:550px){.service-band{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:var(--gutter)}.service-tile:nth-child(n){border:0;grid-column:auto}.service-tile:nth-child(odd){border-right:1px solid var(--line)}.engagement-grid{grid-template-columns:1fr}.case-filters label{min-width:100%}.hero-content{width:calc(100% - 2 * var(--gutter));max-width:320px}.case-highlight strong{font-size:2.2rem}}

.case-image-note{font-size:.8125rem;line-height:1.5;color:var(--slate);margin:12px 28px 0}

/* Native mobile swipe rows; desktop grids retain their existing layout. */
.swipe-controls{display:none}
@media(max-width:760px){
 .mobile-rail{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(84%,340px);gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:2px;scrollbar-width:thin;scrollbar-color:#9caab4 transparent;padding-bottom:12px;max-width:100%;align-items:stretch}
 .mobile-rail>*{scroll-snap-align:start;min-width:0;grid-column:auto}
 .mobile-rail:focus-visible{outline:2px solid var(--burgundy);outline-offset:4px}
 .service-band.mobile-rail{grid-auto-columns:min(72vw,280px);scroll-padding-inline:var(--gutter);padding:28px var(--gutter) 14px;gap:16px}
 .service-band.mobile-rail .service-tile{border:1px solid var(--line);padding:22px 18px;background:white}
 .service-band.mobile-rail .service-tile h2{min-height:0}
 .industry-photo-grid.mobile-rail,.page-cards.mobile-rail,.related-links.mobile-rail,.portrait-grid.mobile-rail{grid-template-columns:none}
 .mobile-rail>.engagement-card[hidden]{display:none}
 .portrait-grid.mobile-rail{grid-auto-columns:min(76%,300px);gap:20px}
 .swipe-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 25px;color:var(--slate)}
 .swipe-controls[hidden]{display:none}
 .service-band+.swipe-controls{padding-inline:var(--gutter);margin:0;padding-block:10px 20px}
 .swipe-controls p{font-size:.875rem}
 .swipe-buttons{display:flex;gap:8px}
 .swipe-buttons button{width:44px;height:44px;border:1px solid var(--line);background:white;color:var(--navy);cursor:pointer;font-size:1.25rem}
 .swipe-buttons button:disabled{opacity:.3;cursor:default}
}

.hero-desktop-break{display:none}
@media(min-width:1100px){
 body{max-width:none}
 :root{--gutter:clamp(40px,4vw,120px)}
 .hero{height:auto;min-height:clamp(520px,68svh,660px);max-height:none}
 .hero-content{width:min(64vw,950px);max-width:none;padding:116px 0 42px}
 .hero-content>.eyebrow br,.hero-mobile-break{display:none}
 .hero-desktop-break{display:inline}
 .hero h1{font-size:clamp(64px,5.2vw,96px);line-height:1.02;margin:26px 0 18px;letter-spacing:-.055em}
 .hero-content>.rule{margin:20px 0}
 .hero-intro{max-width:510px;font-size:1.125rem;line-height:1.55;margin:0 0 24px}
 .hero-values{top:34%}
 .hero-image{object-position:50% 62%}
 .service-band{padding-block:26px}
 .service-tile h2{min-height:40px}
 .service-tile p{max-width:230px;margin-inline:auto}
 .page-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px}
 .page-hero{padding-bottom:40px}
 .page-hero-grid{grid-template-columns:1.35fr 1fr;gap:5%}
 .page-intro{max-width:650px}
 .case-detail{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:5%}
}
@media(min-width:1500px){
 .case-library .engagement-grid,.engagement-section .engagement-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
 .industry-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .section-top,.financial-heading{gap:5%}
}

.belief>img{object-position:50% 48%}
@media(min-width:821px){.belief-inner{min-height:clamp(280px,24vw,420px)}}

/* Stronger editorial headings, following the supplied reference. */
.hero h1,.page-hero h1{font-weight:800;letter-spacing:-.045em}
h2,.approach h2,.belief h2{font-weight:700}

/* A quieter hierarchy: compact, substantial headings and fewer competing accents. */
.header .brand{width:clamp(166px,16vw,220px)}
footer .brand{width:145px}
.hero h1,.page-hero h1{font-weight:800;-webkit-text-stroke:.18px currentColor;letter-spacing:-.04em}
.hero h1{font-size:clamp(3.4rem,4.7vw,5.4rem)}
.page-hero h1{font-size:clamp(2.55rem,4.15vw,4.5rem)}
h2,.approach h2,.belief h2{font-weight:800;letter-spacing:-.035em}
h2{font-size:clamp(2rem,3.1vw,3.15rem);line-height:1.13}
.section-top .rule,.case-section-heading .rule,.approach-copy>.rule,.page-hero .rule,.belief .rule,.contact .rule{display:none}
.page-card>.number{display:none}
.page-card h3{margin-top:18px;font-size:1.5rem}
.ai-home h2{margin-top:0}
.approach-copy h2{margin-top:0}
.case-section-heading h2{margin-top:0}
.section-top h2{margin-top:0}
.ai-signal{border:0;background:transparent;padding-left:0;padding-right:0;gap:10px}
.page-contact::before,.contact::before{opacity:.035}
@media(min-width:1100px){
 .hero h1{font-size:clamp(58px,4.7vw,86px)}
 .hero-content{padding-top:112px;padding-bottom:36px}
}
@media(max-width:820px){.header .brand{width:166px}}
@media(max-width:550px){
 .hero h1{font-size:3.5rem}
 .page-hero h1{font-size:2.55rem}
 .approach h2{font-size:2.35rem}
 .belief h2{font-size:2.15rem}
}
