:root{
  --brand-base:#0d2b24;
  --brand-deep:#071b17;
  --brand-panel:#123b32;
  --brand-panel-2:#17483d;
  --brand-action:#1e5a4b;
  --brand-action-bright:#2d7966;
  --wine-night:var(--brand-deep);
  --wine-deep:var(--brand-base);
  --wine-panel:var(--brand-panel);
  --wine-panel-2:var(--brand-panel-2);
  --wine:var(--brand-action);
  --wine-dark:var(--brand-base);
  --wine-bright:var(--brand-action-bright);
  --wine-soft:#76a797;
  --teal:var(--brand-action);
  --teal-dark:var(--brand-base);
  --teal-soft:#a8c8bd;
  --charcoal:#091d18;
  --graphite:var(--brand-base);
  --ink:#18332c;
  --muted:#64756f;
  --ivory:#f4efe4;
  --limestone:#f4efe4;
  --paper:#fbf8f0;
  --stone:#e5ded0;
  --champagne:#c7a75b;
  --champagne-dark:#a9873e;
  --champagne-pale:#e4cf93;
  --copper:var(--champagne);
  --copper-dark:var(--champagne-dark);
  --light-muted:#bdcbc6;
  --light-line:rgba(242,239,228,.16);
  --line:rgba(13,43,36,.15);
  --shadow:0 22px 65px rgba(5,26,21,.14);
  --dark-shadow:0 24px 70px rgba(2,15,12,.35);
  --container:min(1380px,calc(100% - 48px));
}

html{max-width:100%;background:var(--brand-deep);overflow-x:hidden}
body{max-width:100%;background:var(--brand-base);overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
main{max-width:100%;background:var(--brand-base);overflow:hidden}
.container,.container>*{min-width:0}
h1,h2,h3{max-width:100%}
.page-loader{background:var(--brand-base)}
.page-loader span{border-color:rgba(255,255,255,.22);border-top-color:var(--champagne)}
.scroll-progress{background:linear-gradient(90deg,var(--champagne),var(--champagne-pale));box-shadow:0 0 15px rgba(199,167,91,.48)}
::selection{background:var(--champagne);color:var(--brand-deep)}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid var(--champagne-pale);outline-offset:4px}
.footer-contact a,.contact-details a{overflow-wrap:anywhere}

/* Header and compact full logo */
.site-header,.site-header.is-sticky{width:100%;background:rgba(7,27,23,.97);border-bottom-color:rgba(199,167,91,.22)}
.header-inner{width:var(--container);gap:28px;min-width:0}
.brand{flex:0 1 300px;min-width:0;max-width:300px;overflow:hidden}
.brand .brand-logo{width:292px;max-width:100%;max-height:72px;object-fit:contain}
.primary-nav{gap:25px}
.primary-nav>a,.nav-parent>button{color:var(--ivory)}
.nav-parent>button.is-active{color:var(--champagne-pale)}
.nav-dropdown{background:var(--paper);border-color:rgba(13,43,36,.16);box-shadow:0 24px 70px rgba(3,24,19,.22)}
.nav-dropdown a{color:var(--brand-base)}
.nav-dropdown a:hover,.nav-dropdown a.is-active{background:#e9eee8;color:var(--brand-action)}
.portal-actions{margin-left:auto;flex:0 0 auto}
.portal-actions a{padding:13px 18px;border-color:rgba(199,167,91,.35);color:var(--ivory)}
.portal-actions a:hover,.portal-actions a.is-active{background:var(--brand-action);border-color:var(--brand-action-bright)}
.primary-nav>a.mobile-menu-portal{display:none}
.nav-toggle{background:var(--brand-action);border-color:rgba(199,167,91,.32)}

/* Home: tighter visual rhythm and smaller media */
.corporate-hero{padding-top:18px;background:var(--brand-deep)}
.corporate-hero::before{width:600px;height:600px;left:-430px;top:-120px;border-color:rgba(199,167,91,.12)}
.corporate-hero-shell{min-height:560px;grid-template-columns:.86fr 1.14fr;gap:24px}
.corporate-hero-copy{padding:52px 28px 48px 32px}
.corporate-hero-copy h1{font-size:clamp(3.55rem,5vw,5.9rem)}
.corporate-hero-copy>p{font-size:1rem}
.hero-positioning{margin-top:42px}
.corporate-hero-media{min-height:520px;max-height:560px;border-radius:28px 28px 52px 28px}
.corporate-hero-media::after{background:linear-gradient(180deg,transparent 40%,rgba(7,27,23,.76))}
.hero-image-caption{background:rgba(7,27,23,.76);border-color:rgba(255,255,255,.19)}
.corporate-industry-rail{background:var(--brand-panel)}
.corporate-industry-rail .rail-links a{min-height:92px;padding:20px 24px}
.corporate-industry-rail .rail-links a:hover{background:var(--brand-action)}
.corporate-feature-ribbon{min-height:265px;background:var(--brand-deep)}
.feature-ribbon-copy{padding:38px 46px}
.feature-ribbon-image::after{background:linear-gradient(0deg,rgba(7,27,23,.78),transparent 62%)}
.feature-ribbon-image span{background:rgba(7,27,23,.83)}
.company-thesis-section,.corporate-projects,.corporate-responsibility{background:var(--brand-base)}
.corporate-sectors-section,.corporate-final-statement{background:var(--ivory);color:var(--brand-base)}
.corporate-sector-card{min-height:430px;border-radius:25px;box-shadow:0 16px 45px rgba(6,35,28,.1)}
.corporate-sector-card:hover{box-shadow:0 25px 60px rgba(6,35,28,.17)}
.corporate-sector-image{height:210px;border-radius:0 0 25px 25px}
.corporate-sector-card:nth-child(1) .corporate-sector-image,.corporate-sector-card:nth-child(2) .corporate-sector-image{height:248px}
.corporate-sector-content{padding:22px 24px 25px;grid-template-columns:40px 1fr}
.corporate-sector-content h3{font-size:1.72rem}
.group-platform-section{background:var(--brand-deep)}
.group-platform-shell{padding:58px;border-radius:38px;background:linear-gradient(145deg,var(--brand-panel),#091f1a)}
.platform-heading{margin-bottom:48px}
.platform-card{min-height:245px;padding:26px 24px}
.platform-card h3{margin:55px 0 15px}
.corporate-projects .project-card::after{background:linear-gradient(0deg,rgba(7,27,23,.96),transparent 72%)}
.project-feature-grid{grid-template-rows:repeat(2,220px)}
.responsibility-editorial{min-height:430px;border-radius:34px;background:var(--brand-panel)}
.responsibility-photo{min-height:430px}
.responsibility-copy-card{padding:50px}
.responsibility-copy-card h2{font-size:clamp(2.55rem,3.5vw,4rem)}
.final-statement-grid h2,.final-statement-grid p{color:var(--brand-base)}

/* Industry pages */
.industry-hero-dark{padding:28px 0 62px;background:var(--brand-deep)}
.industry-hero-dark-grid{min-height:520px;grid-template-columns:.9fr 1.1fr;gap:48px}
.industry-hero-dark-copy h1{font-size:clamp(3.7rem,5.5vw,6.2rem)}
.industry-hero-dark-media{height:450px;border-radius:30px 30px 54px 30px}
.industry-hero-dark-media::after{background:linear-gradient(0deg,rgba(7,27,23,.72),transparent 58%)}
.industry-hero-dark-media>span,.sector-focus-image span{background:rgba(7,27,23,.84)}
.industry-outcome-bar{background:var(--champagne);color:var(--brand-base)}
.industry-outcome-bar>.container{min-height:92px}
.industry-outcome-bar strong{border-left-color:rgba(13,43,36,.25)}
.industry-thesis-section,.sector-focus-editorial{background:var(--brand-base)}
.industry-thesis-grid{grid-template-columns:1fr 1fr;gap:62px}
.industry-thesis-image{height:445px;border-radius:30px 30px 54px 30px}
.corporate-capabilities,.corporate-process,.cross-sector-callout{background:var(--ivory);color:var(--brand-base)}
.corporate-capabilities .capability-card{min-height:300px}
.corporate-capabilities .capability-card h3{margin-top:55px}
.corporate-capabilities .capability-card:hover{background:var(--brand-action)}
.industry-lens-section,.other-industries{background:var(--brand-deep)}
.industry-lens-card{min-height:190px;background:var(--brand-panel)}
.industry-lens-card:hover{background:var(--brand-action)}
.corporate-process .process-list li:hover{background:rgba(30,90,75,.065)}
.corporate-process .process-list span{color:var(--brand-action)}
.sector-focus-editorial-grid{grid-template-columns:1fr 1fr;gap:62px}
.sector-focus-image{height:440px;border-radius:30px 30px 54px 30px}
.other-industry-links a:hover{background:var(--brand-action)}

/* Work in practice: one focused team image per sector */
.industry-work-section{background:var(--brand-panel);overflow:hidden}
.industry-work-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 15%,rgba(199,167,91,.13),transparent 28%),linear-gradient(120deg,transparent 55%,rgba(255,255,255,.025));pointer-events:none}
.industry-work-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:68px;align-items:center}
.industry-work-image{height:390px;position:relative;overflow:hidden;border-radius:30px 30px 54px 30px;box-shadow:var(--dark-shadow)}
.industry-work-image img{position:relative;z-index:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1),filter .5s}
.industry-work-image::after{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(0deg,rgba(7,27,23,.7),transparent 52%);pointer-events:none}
.industry-work-image:hover img{transform:scale(1.045);filter:saturate(1.06)}
.industry-work-image figcaption{position:absolute;z-index:3;left:22px;bottom:20px;padding:10px 14px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(7,27,23,.78);color:#fff;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.industry-work-copy h2{margin:0 0 24px;color:#fff;font-size:clamp(2.65rem,4vw,4.6rem)}
.industry-work-copy>p{max-width:620px;color:var(--light-muted);font-size:1rem}
.industry-work-points{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid var(--light-line)}
.industry-work-points li{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid var(--light-line);color:#fff;font-weight:700}
.industry-work-points span{color:var(--champagne);font-size:.58rem;letter-spacing:.12em}

/* Other pages and portals */
.inner-hero,.page-title-section,.story-section,.working-culture,.group-map-section,.responsibility-copy,.faq-section,.service-groups,.projects-list-section,.contact-page-section,.legal-page .section{background:var(--brand-base)}
.inner-hero-media{height:420px}
.culture-image{height:405px}
.focus-image{height:370px}
.service-group-image{height:370px}
.service-group-list{gap:74px}
.collaboration-card{min-height:430px;background:var(--brand-deep)}
.collaboration-image{min-height:430px}
.contact-photo{height:235px}
.projects-page .portfolio-card{background:var(--brand-panel)}
.portfolio-image{height:235px}
.portfolio-wide .portfolio-image{height:305px}
.project-conversation{background:var(--brand-base)}
.portal-shell,.login-shell,.access-help-shell{background:var(--brand-base)}
.portal-backdrop{background:radial-gradient(circle at 15% 15%,rgba(199,167,91,.18),transparent 32%),linear-gradient(120deg,rgba(13,43,36,.99),rgba(7,27,23,.95))}
.portal-choice:hover{background:var(--brand-action)}
.portal-choice.copper-choice:hover{background:var(--champagne);color:var(--brand-deep)}
.portal-choice{position:relative;overflow:hidden}
.portal-choice>*{position:relative;z-index:1}
.portal-choice::after,.industry-work-image::before{content:"";position:absolute;z-index:0;width:280px;height:280px;left:calc(var(--mx,50%) - 140px);top:calc(var(--my,50%) - 140px);border-radius:50%;background:radial-gradient(circle,rgba(228,207,147,.19),transparent 68%);opacity:0;pointer-events:none;transition:opacity .3s}
.industry-work-image::before{z-index:1}
.portal-choice:hover::after,.industry-work-image:hover::before{opacity:1}
.portal-choice.copper-choice:hover p,.portal-choice.copper-choice:hover small,.portal-choice.copper-choice:hover strong{color:var(--brand-deep)}
.portal-choice.copper-choice small{color:var(--champagne-pale)}
.login-card,.access-help-card,.contact-form-card{background:var(--paper)}
.contact-band{background:var(--brand-action)}
.site-footer{background:var(--brand-deep)}
.mobile-bottom-nav{background:rgba(7,27,23,.98)!important;border-color:rgba(199,167,91,.28)!important}
.mobile-bottom-nav a{color:#b8c8c2!important}
.mobile-bottom-nav a.is-active,.mobile-bottom-nav a:hover{background:var(--brand-action)!important}
.back-to-top{background:var(--champagne);color:var(--brand-deep)}

/* More tactile hover and image motion */
.corporate-sector-card,.platform-card,.industry-lens-card,.portfolio-card,.capability-card,.portal-choice,.industry-work-image{isolation:isolate}
.corporate-sector-card::before,.platform-card::before,.industry-lens-card::before,.portfolio-card::before,.capability-card::before{content:"";position:absolute;z-index:3;width:210px;height:210px;left:calc(var(--mx,50%) - 105px);top:calc(var(--my,50%) - 105px);border-radius:50%;background:radial-gradient(circle,rgba(199,167,91,.13),transparent 67%);opacity:0;pointer-events:none;transition:opacity .3s}
.corporate-sector-card:hover::before,.platform-card:hover::before,.industry-lens-card:hover::before,.portfolio-card:hover::before,.capability-card:hover::before{opacity:1}
.hero-image-caption{animation:captionFloat 6s ease-in-out infinite}
@keyframes captionFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

@media(max-width:1240px){
  .brand{flex-basis:260px;max-width:260px}.brand .brand-logo{width:255px}
  .primary-nav{gap:18px}.portal-actions a{padding-inline:14px}
  .corporate-hero-copy h1{font-size:4.65rem}
}

@media(min-width:901px) and (max-width:1280px){.portal-actions{display:flex}}

@media(max-width:900px){
  :root{--container:calc(100% - 32px)}
  .section{padding:82px 0}
  .site-header,.site-header.is-sticky{height:82px;position:sticky;top:0}
  .header-inner{width:100%;max-width:none;padding:0 14px;gap:12px;overflow:visible}
  .brand{flex:1 1 auto;max-width:none;min-width:0;overflow:hidden}
  .brand .brand-logo{width:min(210px,calc(100vw - 86px));max-width:100%;max-height:58px}
  .nav-toggle{width:46px;height:46px;flex:0 0 46px;margin-left:auto;right:auto}
  .primary-nav{left:12px;right:12px;top:90px;width:auto;max-width:calc(100vw - 24px);padding:13px;border-radius:22px}
  .primary-nav>a,.nav-parent>button{color:var(--brand-base)}
  .primary-nav>a.mobile-menu-portal{display:block;color:var(--brand-action);font-weight:900}
  .portal-actions{display:none}
  .corporate-hero-shell,.industry-hero-dark-grid,.company-thesis-grid,.industry-thesis-grid,.sector-focus-editorial-grid,.industry-work-grid,.responsibility-editorial,.final-statement-grid,.cross-sector-callout-grid{grid-template-columns:1fr;gap:36px}
  .corporate-hero-copy{padding:52px 8px 16px}
  .corporate-hero-copy h1{font-size:clamp(3rem,8.6vw,4.4rem)}
  .corporate-hero-media{min-height:390px;max-height:420px}
  .corporate-feature-ribbon{grid-template-columns:1fr 1fr}.feature-ribbon-copy{padding:42px;grid-column:1/-1;grid-row:1}.feature-ribbon-image{min-height:235px}
  .corporate-sector-card{min-height:410px}.corporate-sector-image,.corporate-sector-card:nth-child(1) .corporate-sector-image,.corporate-sector-card:nth-child(2) .corporate-sector-image{height:220px}
  .responsibility-photo{min-height:350px}.responsibility-editorial{min-height:0}
  .industry-hero-dark-media,.industry-thesis-image,.sector-focus-image{height:360px}
  .industry-work-image{height:330px}
}

@media(max-width:640px){
  :root{--container:calc(100% - 26px);--radius:18px;--radius-lg:25px;--radius-xl:36px}
  body{width:100%;padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
  .section{padding:62px 0}
  h1{font-size:2.8rem}h2{font-size:2.35rem}
  .site-header,.site-header.is-sticky{width:100%;height:78px}
  .header-inner{padding:0 12px;gap:10px}
  .brand .brand-logo{width:min(198px,calc(100vw - 82px));max-height:54px}
  .nav-toggle{width:44px;height:44px;flex-basis:44px;border-radius:14px}
  .primary-nav{top:86px;max-height:calc(100dvh - 104px)}
  .page-title-section{padding:48px 0 24px}
  .page-title-grid{gap:22px}
  .page-title-grid h1,.projects-page .page-title-grid h1,.contact-page .page-title-grid h1{font-size:clamp(2.35rem,11vw,3rem);line-height:1.02;overflow-wrap:break-word}
  .page-title-grid>p{font-size:.93rem;line-height:1.7}
  .corporate-hero-copy{padding:42px 1px 12px}
  .corporate-hero-copy h1{font-size:2.8rem;line-height:1.01}
  .corporate-hero-copy>p{font-size:.9rem}
  .hero-positioning{margin-top:32px}
  .corporate-hero-media{min-height:310px;max-height:330px;border-radius:22px 22px 38px 22px}
  .hero-image-caption{left:13px;right:13px;bottom:13px;padding:15px 17px;animation:none}
  .hero-image-caption strong{font-size:.94rem}
  .corporate-industry-rail .rail-links a{min-height:70px;padding:14px 11px}
  .corporate-feature-ribbon{display:block}.feature-ribbon-copy{padding:36px 18px}.feature-ribbon-image{height:190px;min-height:0}
  .company-thesis-grid h2{font-size:2.65rem}
  .corporate-sector-grid{gap:15px}
  .corporate-sector-card{min-height:0;border-radius:22px}
  .corporate-sector-image,.corporate-sector-card:nth-child(1) .corporate-sector-image,.corporate-sector-card:nth-child(2) .corporate-sector-image{height:185px}
  .corporate-sector-content{min-height:215px;padding:20px 18px;grid-template-columns:32px 1fr}
  .corporate-sector-content h3{font-size:1.55rem}
  .group-platform-shell{padding:30px 17px;border-radius:26px}.platform-heading{margin-bottom:34px}.platform-card,.platform-card:nth-child(n){min-height:215px;padding:24px 18px}.platform-card h3{margin-top:38px}
  .project-feature-grid{display:block}.project-card,.project-card:not(.project-card-wide){height:220px;margin-bottom:13px}
  .responsibility-photo{min-height:255px}.responsibility-copy-card{padding:32px 20px}.responsibility-copy-card h2{font-size:2.35rem}
  .final-statement-grid h2{font-size:2.55rem}
  .industry-hero-dark{padding:24px 0 48px}.industry-hero-dark-grid{gap:28px}
  .industry-hero-dark-copy h1{font-size:2.8rem}.industry-statement{font-size:1.08rem!important}
  .industry-hero-dark-media,.industry-thesis-image,.sector-focus-image{height:285px;border-radius:23px 23px 40px 23px}
  .industry-outcome-bar>.container{padding-block:18px}.industry-outcome-bar strong{font-size:1.06rem}
  .industry-thesis-copy h2,.sector-focus-copy h2{font-size:2.45rem}
  .corporate-capabilities .capability-card{min-height:250px}
  .industry-lens-card{min-height:175px;padding:24px 18px}
  .industry-work-grid{gap:30px}.industry-work-image{height:260px;border-radius:23px 23px 40px 23px}.industry-work-copy h2{font-size:2.45rem}
  .inner-hero-copy h1,.about-hero .inner-hero-copy h1{font-size:2.7rem}
  .inner-hero-media,.culture-image,.focus-image{height:275px}
  .service-group-image{height:245px}.service-group-list{gap:60px}.service-group-copy h2{font-size:2.35rem}
  .collaboration-card{min-height:0}.collaboration-image{min-height:260px}
  .portfolio-image,.portfolio-wide .portfolio-image{height:205px}.portfolio-body{min-height:210px}
  .contact-photo{height:210px}
  .portal-shell{padding:54px 0 78px}.portal-intro h1{font-size:2.8rem}.portal-choice{min-height:265px;padding:25px}.portal-choice h2{font-size:2rem}
  .login-story h1{font-size:2.8rem}.login-story-image{height:210px}.login-card-brand img{width:260px}
  .mobile-bottom-nav{left:10px;right:10px;width:auto;max-width:calc(100vw - 20px);height:70px;padding:5px;border-radius:21px;overflow:hidden}
  .mobile-bottom-nav a{border-radius:16px}.mobile-bottom-nav a small{font-size:.48rem}
  .back-to-top{right:14px;bottom:calc(91px + env(safe-area-inset-bottom,0px))}
}

@media(max-width:370px){
  .brand .brand-logo{width:min(178px,calc(100vw - 78px))}
  .page-title-grid h1{font-size:2.25rem}
  .mobile-bottom-nav a small{font-size:.43rem}
}

@media(prefers-reduced-motion:reduce){.hero-image-caption{animation:none}}
