@font-face {
font-family: 'Figtree';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(../fonts/figtree-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Figtree';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(../fonts/figtree-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Figtree';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(../fonts/figtree-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Figtree';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(../fonts/figtree-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Figtree';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(../fonts/figtree-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Figtree';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(../fonts/figtree-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(../fonts/montserrat-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(../fonts/montserrat-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(../fonts/montserrat-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(../fonts/montserrat-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(../fonts/montserrat-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(../fonts/montserrat-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(../fonts/montserrat-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(../fonts/montserrat-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
*{box-sizing:border-box;margin:0}
ul,ol,dl{padding:0}
:root{
  --blue:#E9E2D5;
  --blue-hover:#DCD3C1;
  --accent-deep:#7A6A52;
  --ink:#0C0E13;
  --grey-900:#16181C;
  --grey-600:#545B66;
  --grey-500:#6E7681;
  --grey-200:#E2E5E9;
  --grey-100:#EFF1F3;
  --grey-50:#F7F8F9;
  --font-display:"Montserrat",Helvetica,Arial,sans-serif;
  --font-sans:"Google Sans","Google Sans Text","Figtree",system-ui,Helvetica,Arial,sans-serif;
  --font-num:"Montserrat",Helvetica,Arial,sans-serif;
  --radius:0;
  --space-section:76px;
  --space-head:28px;
  --space-para:18px;
  --space-cta:40px;
}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-sans);
  font-size:15.5px;
  line-height:1.62;
  color:var(--grey-900);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-display);
  font-weight:600;
  color:#0B0C0E;
  letter-spacing:-0.025em;
  line-height:1.12;
  text-wrap:pretty;
}
h1{font-size:34px;max-width:22ch}
h2{font-size:28px;max-width:20ch}
h3{font-size:18px;margin-bottom:14px}
p{color:var(--grey-600);text-wrap:pretty}
a{color:var(--accent-deep);text-decoration:none}
a:hover{color:var(--grey-900)}
.wrap{width:100%;max-width:1440px;margin:0 auto;padding:0 20px}
.eyebrow{
  font-family:var(--font-display);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.14em;
  font-weight:600;
  color:var(--grey-500);
  margin-bottom:20px;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:var(--radius);
  font-family:var(--font-display);
  font-weight:600;
  font-size:13.5px;
  letter-spacing:0.01em;
  padding:0 22px;
  height:44px;
  border:1px solid transparent;
  white-space:nowrap;
  cursor:pointer;
}
.btn-sm{height:36px;padding:0 16px;font-size:13px}
.btn-lg{height:52px;padding:0 24px;font-size:15px}
.btn-primary{background:var(--blue);color:#16181C}
.btn-primary:hover{background:var(--blue-hover);color:#16181C}
.btn-outline{border-color:#8B929D;color:var(--grey-900)}
.btn-outline:hover{background:var(--grey-50);color:var(--grey-900)}
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:200;
  background:transparent;
  border-bottom:1px solid transparent;
  transition:background 0.3s ease, border-color 0.3s ease, backdrop-filter 0.3s ease;
}
.site-header .brand,
.site-header .main-nav a,
.site-header .menu-toggle{color:#fff;text-shadow:0 1px 2px rgba(6,10,26,0.35)}
.site-header .main-nav a{color:rgba(255,255,255,0.82)}
.site-header .main-nav.is-open a{color:var(--grey-900);text-shadow:none}
.site-header .main-nav.is-open a[aria-current="page"]{color:var(--accent-deep)}
.site-header .main-nav a:hover,
.site-header .main-nav a[aria-current="page"]{color:#fff}
.site-header.is-scrolled{
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(10px);
  border-bottom-color:var(--grey-100);
}
.site-header.is-scrolled .brand,
.site-header.is-scrolled .menu-toggle{color:#0B0C0E;text-shadow:none}
.site-header.is-scrolled .main-nav a{color:var(--grey-900);text-shadow:none}
.site-header.is-scrolled .main-nav a[aria-current="page"]{color:var(--accent-deep)}
.header-inner{
  height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand{
  font-family:var(--font-display);
  font-weight:700;
  font-size:15px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:#0B0C0E;
}
.header-inner > .btn{margin-left:auto}
.main-nav{display:none;gap:20px;white-space:nowrap;font-family:var(--font-display);font-size:13px;font-weight:500;letter-spacing:0.005em}
.main-nav a{color:var(--grey-900)}
.main-nav a[aria-current="page"]{color:var(--accent-deep)}
.main-nav.is-open{
  display:grid;
  position:absolute;
  left:0;
  right:0;
  top:68px;
  background:#fff;
  border-bottom:1px solid var(--grey-200);
  padding:16px 20px 22px;
  gap:14px;
  font-size:15px;
}
.menu-toggle{
  display:inline-block;
  background:none;
  border:none;
  font-size:13px;
  font-weight:500;
  cursor:pointer;
}
.hero{
  position:relative;
  min-height:100svh;
  display:flex;
  align-items:flex-end;
  background:#080C24;
  color:#fff;
  padding:150px 0 76px;
  overflow:hidden;
  isolation:isolate;
}
.hero-visual{
  position:absolute;
  z-index:0;
  inset:0;
  overflow:hidden;
}
.hero-visual img{
  width:100%;
  height:118%;
  object-fit:cover;
  object-position:center 42%;
  will-change:transform;
}
.hero-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(160deg, rgba(8,12,36,0.9) 0%, rgba(8,12,36,0.62) 46%, rgba(8,12,36,0.86) 100%);
}
.hero-grid{position:relative;z-index:1;display:grid;gap:44px}
.hero-rail{
  display:flex;
  align-items:center;
  gap:14px;
  font-family:var(--font-display);
  font-size:10.5px;
  font-weight:600;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.6);
}
.hero-rail-line{display:block;width:36px;height:1px;background:rgba(255,255,255,0.4)}
.hero .eyebrow{color:#9AA8D8}
.hero h1{
  color:#fff;
  font-size:clamp(38px,10.4vw,64px);
  line-height:1.02;
  letter-spacing:-0.035em;
  max-width:none;
}
.hero-foot{display:grid;gap:34px;justify-items:start}
.hero .lead{color:rgba(226,231,245,0.86);font-size:16.5px;max-width:44ch;margin:0}
.hero-scroll{
  position:absolute;
  z-index:1;
  right:20px;
  bottom:76px;
  display:none;
  align-items:center;
  gap:14px;
  font-family:var(--font-display);
  font-size:10.5px;
  font-weight:600;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.62);
  writing-mode:vertical-rl;
}
.hero-scroll:hover{color:#fff}
.hero-scroll-line{display:block;width:1px;height:64px;background:linear-gradient(180deg,rgba(255,255,255,0.55),rgba(255,255,255,0))}
.hero-reveal{opacity:0;transform:translateY(22px)}
.hero-ready .hero-reveal{opacity:1;transform:none;transition:opacity 0.9s ease,transform 0.9s cubic-bezier(0.2,0.7,0.2,1)}
.hero-ready .hero-type{transition-delay:0.1s}
.hero-ready .hero-foot{transition-delay:0.24s}
@media (prefers-reduced-motion:reduce){
  .hero-reveal{opacity:1;transform:none}
  .hero-visual img{height:100%}
}
@media (min-width:900px){
  .hero{padding:0;align-items:stretch}
  .hero-visual{left:38%;right:0;inset-block:0}
  .hero-visual::after{background:linear-gradient(90deg, rgba(8,12,36,0.98) 0%, rgba(8,12,36,0.5) 34%, rgba(8,12,36,0.28) 100%)}
  .hero::before{
    content:"";
    position:absolute;
    z-index:0;
    inset:0 62% 0 0;
    background:#080C24;
  }
  .hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,26rem);
    grid-template-rows:auto 1fr auto;
    align-content:stretch;
    align-items:start;
    gap:0 64px;
    padding-block:150px 76px;
  }
  .hero-rail{grid-column:1;grid-row:1;align-self:start}
  .hero-type{grid-column:1/-1;grid-row:2;align-self:center;padding-right:6%}
  .hero h1{font-size:clamp(56px,6.4vw,92px)}
  .hero-foot{grid-column:1;grid-row:3;align-self:end;gap:32px}
  .hero-scroll{display:flex;right:40px;bottom:76px}
}
@media (min-width:1200px){
  .hero-type{padding-right:12%}
  .hero h1{letter-spacing:-0.04em}
  .hero-foot{grid-template-columns:minmax(0,44ch) auto;align-items:end;gap:56px}
}
.page-hero{position:relative;background:linear-gradient(180deg,#0A1030,#0C0E13);color:#fff;padding:132px 0 56px}
.page-hero .eyebrow{color:#9AA8D8}
.page-hero h1{color:#fff;font-size:32px;max-width:28ch}
.page-hero .lead{color:#A8AEBA;font-size:16px;max-width:56ch;margin-top:32px}
.page-hero .lead + .lead{margin-top:16px}
.section{padding:var(--space-section) 0}
.content-block{padding:var(--space-section) 0;border-top:1px solid var(--grey-200)}
.content-block h2{margin-bottom:var(--space-head)}
.content-block p{max-width:66ch;margin-bottom:var(--space-para)}
.content-block p:last-of-type{margin-bottom:0}
.plain-list{list-style:none;display:grid;gap:12px;margin-top:24px}
.plain-list li{padding-left:20px;position:relative;color:var(--grey-600);max-width:62ch}
.plain-list li::before{content:"";position:absolute;left:0;top:0.55em;width:5px;height:5px;background:var(--accent-deep)}
.service-block{display:grid;gap:12px;padding:56px 0;border-top:1px solid var(--grey-200)}
.service-figure{margin:0 0 36px}
.service-figure img{display:block;width:100%;height:280px;object-fit:cover}
@media (min-width:900px){
  .service-block{grid-template-columns:minmax(0,1fr) minmax(0,0.72fr);gap:56px;align-items:start}
  .service-figure{margin:0;position:sticky;top:120px}
  .service-figure img{height:360px}
}
.service-block:first-child{border-top:none;padding-top:8px}
.service-block h2{font-size:22px;max-width:26ch;margin-bottom:var(--space-head)}
.service-block p{max-width:66ch;margin-bottom:var(--space-para)}
.service-block h4{font-size:13px;text-transform:uppercase;letter-spacing:0.08em;color:var(--grey-500);margin:32px 0 12px;font-weight:500}
.sector-list{display:grid;gap:1px;background:var(--grey-200)}
.sector-item{display:grid;gap:20px;background:#fff;padding:36px 32px;transition:background 160ms ease}
.sector-icon{width:28px;height:28px;color:var(--accent-deep)}
.sector-item:hover{background:var(--grey-50)}
.sector-item h2{font-size:19px;max-width:26ch;margin-bottom:var(--space-head)}
.sector-item p{max-width:60ch;font-size:15px}
@media (min-width:820px){
  .sector-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sector-item{padding:44px 40px}
}
@media (min-width:1200px){
  .sector-item{padding:48px 44px}
}
.btn-light{background:#fff;color:#0B0C0E}
.btn-light:hover{background:var(--grey-100);color:#0B0C0E}
.section-blue .btn-light{background:#16181C;color:#fff}
.section-blue .btn-light:hover{background:#000;color:#fff}
.band{padding:var(--space-section) 0;border-top:1px solid var(--grey-200)}
.band-grid{display:grid;gap:20px}
.band-head h2{margin-bottom:0}
.band-body p{max-width:66ch;margin-bottom:var(--space-para)}
.band-body p:last-child{margin-bottom:0}
.band-body .btn{margin-top:var(--space-cta)}
.row-list{list-style:none;margin-top:36px}
.row-list li{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:16px;
  padding:15px 0;
  border-top:1px solid var(--grey-200);
  font-family:var(--font-display);
  font-size:17px;
  letter-spacing:-0.01em;
  color:#0B0C0E;
}
.row-list li:last-child{border-bottom:1px solid var(--grey-200)}
.row-list li::after{content:"";width:7px;height:7px;background:var(--accent-deep)}
.section-blue{background:var(--blue);color:var(--grey-900);padding:var(--space-section) 0}
.section-blue h2{color:var(--grey-900)}
.section-blue p{color:#5A5347}
.table-list{list-style:none;margin-top:36px}
.table-list li{
  display:block;
  padding:14px 0;
  border-top:1px solid rgba(22,24,28,0.16);
  font-family:var(--font-display);
  font-size:17px;
  letter-spacing:-0.01em;
  color:var(--grey-900);
}
.table-list li:last-child{border-bottom:1px solid rgba(22,24,28,0.16)}
.work-grid{display:grid;gap:52px;margin-top:8px}
.work-item{display:flex;flex-direction:column}
.work-item figure{aspect-ratio:16/10;border-radius:var(--radius);overflow:hidden;background:var(--grey-100);margin-bottom:18px}
.work-item h3{font-size:19px}
.work-item p{max-width:52ch;margin-bottom:10px}
.work-item a.btn{align-self:start;margin-top:auto}
.cta{
  position:relative;
  background:var(--ink) url(../img/cta-aerial-night.jpg) center / cover no-repeat;
  color:#fff;
  padding:88px 0;
  overflow:hidden;
}
.cta::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(8,12,34,0.8), rgba(8,12,34,0.9))}
.cta-inner{position:relative;z-index:1;display:grid;gap:32px;justify-items:start}
.cta h2{color:#fff;max-width:26ch}
.cta p{color:#C3CBE4;max-width:64ch}
figure{margin:0}
figure img{display:block;width:100%;height:100%;object-fit:cover}
.media-band{border-top:none}
.media-band img{display:block;width:100%;height:220px;object-fit:cover}
.media-band.tall img{height:300px}
.about-split{display:grid;gap:32px}
.about-split figure{aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;background:var(--grey-100)}
.case-study{display:grid;gap:24px;padding:48px 0;border-top:1px solid var(--grey-200)}
.case-study figure{aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;background:var(--grey-100)}
.case-study:first-of-type{border-top:none;padding-top:8px}
.case-study h3{font-size:19px;margin-bottom:10px}
.case-study p{max-width:72ch;margin-bottom:10px}
.belief-grid{display:grid;gap:44px;margin-top:32px}
.belief-grid h3{font-size:16px;margin-bottom:8px}
.belief-grid p{max-width:50ch}
.def-list{display:grid;gap:28px;margin-top:32px}
.def-list dt{font-family:var(--font-display);font-weight:500;font-size:16px;color:#0B0C0E;margin-bottom:4px}
.def-list dd{color:var(--grey-600);max-width:64ch;margin:0}
.office-grid{display:grid;gap:40px;margin-top:32px}
.office-grid h3{font-size:16px;margin-bottom:8px}
.office-grid p{max-width:48ch}
.network-links{list-style:none;display:flex;flex-wrap:wrap;gap:20px;margin-top:20px}
.network-links a{font-size:14px}
.contact-layout,.join-layout{display:grid;gap:44px}
.join-intro h2{margin-bottom:var(--space-head)}
.join-intro p + p{margin-top:var(--space-para)}
.form{display:grid;gap:24px;max-width:560px}
.field{display:grid;gap:6px}
.field-pair{display:grid;gap:18px}
.form label{font-size:13px;font-weight:500;color:var(--grey-900)}
.form .opt{color:var(--grey-500);font-weight:400}
.form input,.form select,.form textarea{
  font-family:var(--font-sans);
  font-size:15px;
  color:var(--grey-900);
  background:#fff;
  border:1px solid var(--grey-200);
  border-radius:var(--radius);
  padding:10px 12px;
  width:100%;
}
.form textarea{resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--accent-deep);box-shadow:0 0 0 3px rgba(122,106,82,0.16)}
.consent{font-size:13px;color:var(--grey-500);max-width:58ch}
.form-status{font-size:13px;color:var(--grey-900)}
.contact-offices h2{font-size:22px;margin-bottom:20px}
.office-stack{display:grid;gap:26px}
.office-stack h3{font-size:15px}
.office-email{margin:26px 0 0;font-size:15px}
.office-stack address{margin-top:10px;font-size:14px}
.office-figure{margin:14px 0 0}
.office-figure img{display:block;width:100%;height:180px;object-fit:cover}
address{font-style:normal;color:var(--grey-600);line-height:1.7}
.site-footer{border-top:1px solid var(--grey-200);padding:72px 0 0;overflow:hidden}
.footer-inner{
  display:flex;
  flex-wrap:wrap;
  gap:28px 48px;
  justify-content:space-between;
  align-items:flex-start;
  padding-bottom:64px;
}
.footer-nav{display:flex;flex-wrap:wrap;gap:16px 28px;font-size:13px}
.footer-nav a{color:var(--grey-600)}
.footer-nav a:hover{color:var(--accent-deep)}
.footer-note{font-size:13px;color:var(--grey-500)}
.office-grid figure{aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;margin-bottom:18px;background:var(--grey-100)}
.office-note{margin-top:40px}
.footer-wordmark{
  display:block;
  text-align:center;
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:-0.03em;
  color:var(--grey-900);
  opacity:0.1;
  font-size:13.5vw;
  line-height:0.78;
  white-space:nowrap;
  pointer-events:none;
}
@media (min-width:1080px){
  .main-nav{display:flex}
  .menu-toggle{display:none}
  .header-inner > .btn{margin-left:0}
}
@media (min-width:800px){
  h1{font-size:52px}
  h2{font-size:36px}
  .hero{padding:104px 0 120px}
  .hero h1{font-size:52px}
  .page-hero{padding:164px 0 72px}
  .page-hero h1{font-size:40px}
  .belief-grid{grid-template-columns:repeat(2,1fr);gap:36px 48px}
  .office-grid{grid-template-columns:repeat(2,1fr);gap:48px}
  #offices .office-grid{grid-template-columns:1fr}
  :root{--space-section:120px;--space-head:36px;--space-para:20px;--space-cta:48px}
  .hero{padding:132px 0 168px}
  .band-grid{grid-template-columns:minmax(0,16rem) minmax(0,1fr);gap:40px;align-items:start}
  .hero-wordmark{font-size:12.5vw}
  .work-grid{gap:36px}
  #work .band-head,
  #work .band-body,
  #offices .band-head,
  #offices .band-body{grid-column:1/-1}
  .cta{padding:132px 0}
  .media-band img{height:340px}
  .media-band.tall img{height:520px}
  .case-study{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:44px;align-items:start}
  .case-study:nth-of-type(even){grid-template-columns:minmax(0,1fr) minmax(0,1.7fr)}
  .case-study:nth-of-type(even) figure{order:-1}
  .about-split{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:52px;align-items:start}
  .about-split figure{aspect-ratio:4/5}
  .content-block > .wrap:not(.contact-layout):not(.join-layout):not(.about-split):not(.editorial-wrap){display:grid;grid-template-columns:minmax(0,16rem) minmax(0,1fr);gap:40px;align-items:start}
  .content-block > .wrap:not(.contact-layout):not(.join-layout):not(.about-split):not(.editorial-wrap) > h2{grid-column:1;grid-row:1;margin-bottom:0}
  .content-block > .wrap:not(.contact-layout):not(.join-layout):not(.about-split):not(.editorial-wrap) > :not(h2){grid-column:2}
  .contact-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:72px;align-items:start}
  .join-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:start}
  .field-pair{grid-template-columns:1fr 1fr}
}
@media (min-width:1100px){
  #offices .office-grid{grid-template-columns:repeat(2,1fr);gap:40px}
  #work .band-head,
  #offices .band-head{grid-column:1}
  #work .band-body,
  #offices .band-body{grid-column:2}
  .work-grid{grid-template-columns:repeat(2,1fr);gap:40px}
}
@media (min-width:1240px){
  .main-nav{gap:26px}
  .wrap{padding:0 40px}
}
@media (min-width:1440px){
  .wrap{padding:0 56px}
}
@media (min-width:1440px){
  .hero-wordmark,.footer-wordmark{font-size:194px}
}
@media (min-width:1200px){
  :root{--space-section:148px}
}
.close-band{position:relative;background:var(--ink) url(../img/cta-aerial-night.jpg) center / cover no-repeat;border-top:none;overflow:hidden}
.close-band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(8,12,34,0.8), rgba(8,12,34,0.9))}
.close-band > .wrap{position:relative;z-index:1}
.close-band h2,.close-band h3,.close-band .def-list dt,.close-band strong{color:#fff}
.close-band p,.close-band .def-list dd,.close-band li,.close-band .lead{color:#C3CBE4}
.close-band a:not(.btn){color:#fff}
strong{font-weight:700}
.close-band .form label{color:#fff}
.close-band .consent{color:#C3CBE4}
.close-band .btn-outline{border-color:rgba(255,255,255,0.5);color:#fff}
.close-band .btn-outline:hover{background:rgba(255,255,255,0.12);color:#fff}
.content-block.tinted{background:var(--blue);border-top:none}
.content-block.tinted h2{color:var(--grey-900)}
.content-block.tinted p{color:#5A5347}
.editorial-split{padding:calc(var(--space-section) * 1.35) 0}
.editorial-grid{display:grid;gap:44px;align-items:center}
.editorial-media{margin:0;order:-1}
.editorial-media img{display:block;width:100%;height:320px;object-fit:cover}
.editorial-body p{max-width:46ch}
.editorial-body .plain-list{margin-top:var(--space-head)}
.editorial-body .editorial-close{margin-top:var(--space-head);margin-bottom:0}
@media (min-width:760px){
  .editorial-media img{height:440px}
}
.editorial-body p + p{margin-top:var(--space-para)}
@media (min-width:1000px){
  .editorial-grid{grid-template-columns:minmax(0,57fr) minmax(0,43fr);gap:clamp(64px,7vw,112px)}
  .editorial-media img{height:min(72vh,660px)}
  .editorial-grid.media-right{grid-template-columns:minmax(0,62fr) minmax(0,38fr);align-items:stretch}
  .editorial-grid.media-right .editorial-media{order:0;display:grid}
  .editorial-grid.media-right .editorial-media img{height:100%;min-height:100%}
}
.network-logos{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--grey-200);margin-top:32px;border:1px solid var(--grey-200)}
.network-logos a{display:grid;place-content:center;justify-items:center;background:#fff;padding:28px 22px;min-height:150px;text-decoration:none;transition:background 160ms ease}
.network-logos a:hover{background:var(--grey-50)}
.network-logos li{display:grid}
.network-logos img{display:block;width:auto;max-width:100%;object-fit:contain}
.network-logos .logo-cpi{height:40px}
.network-logos .logo-hawksford{height:50px}
.network-logos .logo-sullcrom{height:14px}
.network-logos .logo-wordmark{font-family:var(--font-display);font-size:17px;letter-spacing:0.01em;color:var(--grey-900);max-width:12ch;line-height:1.25;text-align:center}
@media (min-width:1100px){
  .network-logos{grid-template-columns:repeat(4,minmax(0,1fr))}
  .network-logos a{min-height:190px;padding:34px 30px}
}
.policy-sub{font-size:17px;margin:32px 0 var(--space-para);letter-spacing:0.01em}
.policy-sub:first-of-type{margin-top:0}
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:200;padding:0 20px 20px;transform:translateY(120%);transition:transform 380ms cubic-bezier(0.2,0.7,0.2,1)}
.cookie-banner.is-visible{transform:translateY(0)}
.cookie-inner{width:100%;max-width:420px;padding:26px 26px 22px;background:#fff;border:1px solid var(--grey-200);box-shadow:0 18px 48px rgba(11,12,14,0.14);display:grid;gap:22px;margin:0}
.cookie-label{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--grey-500);margin:0}
.cookie-text{color:var(--grey-600);font-size:14.5px;line-height:1.6;margin:0}
.cookie-actions{display:flex;flex-wrap:wrap;gap:10px}
.cookie-actions .btn{min-height:44px;flex:1 1 auto;justify-content:center}
@media (prefers-reduced-motion:reduce){.cookie-banner{transition:none}}
@media (min-width:760px){
  .cookie-banner{left:auto;right:auto;padding:0 0 32px 32px;max-width:none}
  .cookie-inner{max-width:400px}
}
.form-status.is-error{color:#B3261E}
.form .has-error{border-color:#B3261E}
@media (prefers-reduced-motion:no-preference){
  [data-rv]{--rv-e:cubic-bezier(0.22,0.68,0.22,1);will-change:opacity,transform}
  [data-rv="up"]{opacity:0;transform:translate3d(0,24px,0);transition:opacity 620ms var(--rv-e),transform 720ms var(--rv-e)}
  [data-rv="up"].rv-in{opacity:1;transform:none}
  [data-rv="pop"]{opacity:0;transform:translate3d(0,18px,0) scale(0.985);transition:opacity 540ms var(--rv-e),transform 640ms var(--rv-e)}
  [data-rv="pop"].rv-in{opacity:1;transform:none}
  [data-rv="fade"]{opacity:0;transition:opacity 760ms ease}
  [data-rv="fade"].rv-in{opacity:1}
  [data-rv="mask"]{overflow:hidden;padding-bottom:0.12em}
  [data-rv="mask"] > .rv-line{display:block;transform:translate3d(0,105%,0);transition:transform 860ms cubic-bezier(0.16,0.86,0.22,1)}
  [data-rv="mask"].rv-in > .rv-line{transform:none}
  [data-rv^="clip"]{overflow:hidden}
  [data-rv^="clip"] > img{transition:clip-path 1000ms var(--rv-e),scale 1200ms var(--rv-e),opacity 700ms ease}
  [data-rv="clip-up"] > img{clip-path:inset(100% 0 0 0);scale:1.06}
  [data-rv="clip-left"] > img{clip-path:inset(0 100% 0 0);scale:1.05}
  [data-rv="clip-right"] > img{clip-path:inset(0 0 0 100%);scale:1.05}
  [data-rv^="clip"].rv-in > img{clip-path:inset(0 0 0 0);scale:1}
  [data-rv-delay]{transition-delay:calc(var(--rv-i, 0) * 78ms)}
  [data-rv="mask"][data-rv-delay] > .rv-line{transition-delay:calc(var(--rv-i, 0) * 78ms)}
  .rv-shift{will-change:transform;transform:scale(1.08);transition:none}
}
.network-logos a{transition:background 160ms ease,transform 320ms cubic-bezier(0.22,0.68,0.22,1)}
.network-logos a:hover{transform:translateY(-3px)}
.work-item figure img{transition:transform 900ms cubic-bezier(0.22,0.68,0.22,1)}
.work-item:hover figure img{transform:scale(1.035)}
.sector-item .sector-icon{transition:transform 420ms cubic-bezier(0.22,0.68,0.22,1)}
.sector-item:hover .sector-icon{transform:translateY(-3px)}
.brand{display:inline-flex;align-items:center;gap:11px}
.brand-mark{flex:0 0 auto;width:24px;height:24px;background:currentColor;-webkit-mask:url(../img/logo-mark.png) center / contain no-repeat;mask:url(../img/logo-mark.png) center / contain no-repeat}
@media (min-width:900px){.brand-mark{width:27px;height:27px}}
.u-flush{border-top:none}
.u-mt-sm{margin-top:24px}
.u-mt{margin-top:28px}
.u-mt-lg{margin-top:40px}
.u-mt-md{margin-top:32px}