/* HOME 2.5.5 — mockup-proportion territories refinement — 2026-10-02
   Goal: one integrated composition, not stacked hero blocks.
   Lower homepage sections intentionally inherit the current Home styles unchanged.
*/

body.home-final .concept24-hero{
  position:relative;
  overflow:hidden;
  background:#34312B;
  color:#F4F0E7;
  border-bottom:1px solid rgba(244,240,231,.13);
}

body.home-final .concept24-frame{
  position:relative;
  z-index:2;
  width:min(1460px,88%);
  max-width:none;
  margin:0 auto;
  display:block;
  border-left:1px solid rgba(244,240,231,.10);
  border-right:1px solid rgba(244,240,231,.10);
}

body.home-final .concept24-core{
  width:100%;
}

body.home-final .concept24-kicker-row{
  padding:28px 28px 22px;
  border-bottom:0;
  font-size:11px;
  letter-spacing:.055em;
  text-transform:uppercase;
}

body.home-final .concept24-main-grid{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(520px,.97fr);
  gap:38px;
  align-items:center;
  min-height:610px;
  padding:14px 30px 26px;
}

body.home-final .concept24-copy{
  position:relative;
  z-index:3;
  align-self:center;
  padding:8px 0 16px;
}

body.home-final .concept24-statement{
  display:block;
  max-width:790px;
  margin:0;
  padding:0;
  border:0;
  font-size:clamp(54px,5.7vw,82px);
  line-height:.95;
  letter-spacing:-.058em;
}

body.home-final .concept24-statement > span{
  display:block;
}

body.home-final .concept24-statement .hero-statement-muted{
  color:#979289;
}

body.home-final .concept24-summary{
  max-width:560px;
  margin:38px 0 0;
  color:#DDD7CD;
  font-size:16.5px;
  line-height:1.58;
  font-weight:400;
}

body.home-final .concept24-cta{
  width:max-content;
  min-width:220px;
  min-height:48px;
  margin-top:28px;
  padding:0 16px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  border:1px solid rgba(217,122,99,.72);
  color:#F4F0E7;
  text-decoration:none;
  font-size:12px;
  font-weight:600;
  letter-spacing:.025em;
  transition:background .22s ease,border-color .22s ease,color .22s ease;
}

body.home-final .concept24-cta span:last-child{
  color:#D97A63;
  font-size:20px;
  line-height:1;
}

body.home-final .concept24-cta:hover,
body.home-final .concept24-cta:focus-visible{
  background:rgba(217,122,99,.07);
  border-color:#D97A63;
}

/* Full-hero construction drawing */
body.home-final .concept24-construction{
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  opacity:.7;
  background:
    linear-gradient(rgba(244,240,231,.032) 1px,transparent 1px),
    linear-gradient(90deg,rgba(244,240,231,.032) 1px,transparent 1px);
  background-size:180px 180px;
}

body.home-final .c24-line{
  position:absolute;
  display:block;
  background:rgba(244,240,231,.065);
}

body.home-final .c24-line-v1{
  top:0; bottom:0; left:6%; width:1px;
}

body.home-final .c24-line-v2{
  top:0; bottom:0; right:6%; width:1px;
}

body.home-final .c24-line-h1{
  left:0; right:0; top:55%; height:1px;
}

body.home-final .c24-diagonal{
  width:1px;
  height:290px;
  transform-origin:center;
  opacity:.5;
}

body.home-final .c24-diagonal-a{
  left:5.6%;
  top:20%;
  transform:rotate(-34deg);
}

body.home-final .c24-diagonal-b{
  right:7%;
  top:23%;
  transform:rotate(28deg);
}

/* Globe stage — open, not boxed */
body.home-final .concept24-orbit-stage{
  position:relative;
  z-index:2;
  min-height:560px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
  background:transparent;
}

body.home-final .concept24-globe-wrap{
  position:relative;
  z-index:3;
  width:min(84%,500px);
  aspect-ratio:1;
  border-radius:50%;
  overflow:hidden;
  background:transparent;
  box-shadow:0 28px 72px rgba(0,0,0,.22);
}

/* Scale the NASA frame enough that the planet edge, not the black frame, defines the circle. */
body.home-final .concept24-globe-wrap .earth-static-fallback,
body.home-final .concept24-globe-wrap .earth-motion-video{
  position:absolute;
  inset:-10%;
  width:120%;
  height:120%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.82) contrast(.99) brightness(.90);
}

body.home-final .concept24-globe-wrap .earth-static-fallback{
  z-index:0;
}

body.home-final .concept24-globe-wrap .earth-motion-video{
  z-index:1;
}

body.home-final .concept24-orbit{
  position:absolute;
  left:50%;
  top:50%;
  border-radius:50%;
  border:1px solid rgba(217,122,99,.28);
  pointer-events:none;
}

body.home-final .orbit-a{
  z-index:4;
  width:108%;
  height:58%;
  transform:translate(-50%,-50%) rotate(12deg);
}

body.home-final .orbit-b{
  z-index:2;
  width:118%;
  height:70%;
  border-color:rgba(217,122,99,.18);
  transform:translate(-50%,-50%) rotate(-17deg);
}

body.home-final .orbit-c{
  z-index:2;
  width:94%;
  height:94%;
  border-color:rgba(244,240,231,.12);
  transform:translate(-50%,-50%) rotate(31deg);
}

body.home-final .concept24-marker{
  position:absolute;
  z-index:5;
  color:rgba(244,240,231,.35);
  font-size:17px;
  font-weight:300;
}

body.home-final .marker-a{left:8%;top:27%;}
body.home-final .marker-b{right:5%;top:26%;}
body.home-final .marker-c{right:11%;bottom:24%;}

body.home-final .concept24-annotation{
  position:absolute;
  z-index:5;
  color:#918D84;
  font-size:9px;
  font-weight:600;
  line-height:1.35;
  letter-spacing:.10em;
  text-transform:uppercase;
}

body.home-final .annotation-a{
  left:2%;
  top:25%;
}

body.home-final .annotation-b{
  left:-2%;
  bottom:20%;
  padding-left:16px;
  border-left:2px solid rgba(217,122,99,.50);
}

body.home-final .annotation-c{
  right:-2%;
  top:54%;
}

body.home-final .concept24-motion-toggle{
  position:absolute;
  z-index:6;
  left:4%;
  bottom:4%;
  min-height:28px;
  padding:0 8px;
  border:1px solid rgba(244,240,231,.20);
  background:rgba(38,35,31,.36);
  backdrop-filter:blur(6px);
  color:#CFC9BE;
  font:inherit;
  font-size:8px;
  font-weight:600;
  letter-spacing:.07em;
  text-transform:uppercase;
  cursor:pointer;
}

body.home-final .concept24-credit{
  position:absolute;
  z-index:6;
  right:2%;
  bottom:4%;
  color:rgba(244,240,231,.48);
  font-size:8px;
  text-decoration:none;
}

/* Bottom navigation strip */
body.home-final .concept24-domain-strip{
  margin:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(244,240,231,.13);
  background:rgba(52,49,43,.97);
}

body.home-final .concept24-domain-strip a{
  min-height:66px;
  padding:12px 18px;
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  gap:10px;
  align-items:center;
  border-right:1px solid rgba(244,240,231,.11);
  color:#D8D2C8;
  text-decoration:none;
}

body.home-final .concept24-domain-strip a:last-child{
  border-right:0;
}

body.home-final .concept24-domain-strip small{
  margin:0;
  color:#D97A63;
  font-size:9px;
  font-weight:650;
  letter-spacing:.08em;
}

body.home-final .concept24-domain-strip span{
  font-size:14px;
  font-weight:500;
  line-height:1.25;
  letter-spacing:-.012em;
}

body.home-final .concept24-domain-strip a:hover,
body.home-final .concept24-domain-strip a:focus-visible{
  background:rgba(217,122,99,.055);
  color:#F4F0E7;
}

/* Preview-only control */
.home-final-preview-switch{
  position:fixed;
  z-index:80;
  right:18px;
  bottom:18px;
  display:flex;
  align-items:center;
  gap:6px;
  padding:7px 8px 7px 12px;
  border:1px solid rgba(244,240,231,.22);
  background:rgba(29,28,25,.92);
  backdrop-filter:blur(14px);
  color:#D8D2C8;
  box-shadow:0 10px 30px rgba(0,0,0,.22);
  font-size:9px;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.home-final-preview-switch a{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  padding:0 9px;
  background:#F4F0E7;
  color:#34312B;
  text-decoration:none;
  font-weight:700;
}

/* Motion accessibility */
@media(prefers-reduced-motion:reduce){
  body.home-final .earth-motion-video{
    display:none !important;
  }

  body.home-final .concept24-motion-toggle{
    display:none;
  }
}

@media(max-width:1200px){
  body.home-final .concept24-frame{
    width:90%;
  }

  body.home-final .concept24-main-grid{
    grid-template-columns:minmax(0,1fr) minmax(440px,.9fr);
    gap:22px;
  }

  body.home-final .concept24-statement{
    font-size:clamp(50px,5.7vw,72px);
  }

  body.home-final .concept24-globe-wrap{
    width:min(82%,440px);
  }
}

@media(max-width:980px){
  body.home-final .concept24-frame{
    width:88%;
    border-left:0;
    border-right:0;
  }

  body.home-final .concept24-kicker-row{
    padding-left:0;
    padding-right:0;
  }

  body.home-final .concept24-main-grid{
    grid-template-columns:1fr;
    gap:12px;
    min-height:auto;
    padding:18px 0 24px;
  }

  body.home-final .concept24-copy{
    padding-bottom:8px;
  }

  body.home-final .concept24-statement{
    max-width:760px;
    font-size:clamp(46px,8.4vw,66px);
  }

  body.home-final .concept24-summary{
    max-width:620px;
  }

  body.home-final .concept24-orbit-stage{
    min-height:520px;
  }

  body.home-final .concept24-globe-wrap{
    width:min(68%,430px);
  }

  body.home-final .annotation-b{
    left:7%;
  }

  body.home-final .annotation-c{
    right:5%;
  }
}

@media(max-width:720px){
  body.home-final .concept24-frame{
    width:88%;
  }

  body.home-final .concept24-kicker-row{
    padding-top:22px;
    padding-bottom:16px;
    gap:6px;
    flex-direction:column;
  }

  body.home-final .concept24-kicker-row span:last-child{
    text-align:left;
  }

  body.home-final .concept24-statement{
    font-size:clamp(40px,11vw,54px);
    line-height:.98;
  }

  body.home-final .concept24-summary{
    margin-top:28px;
    font-size:16px;
  }

  body.home-final .concept24-cta{
    min-width:200px;
    margin-top:24px;
  }

  body.home-final .concept24-orbit-stage{
    min-height:420px;
    overflow:hidden;
  }

  body.home-final .concept24-globe-wrap{
    width:min(72%,320px);
  }

  body.home-final .concept24-annotation{
    display:none;
  }

  body.home-final .concept24-domain-strip{
    grid-template-columns:1fr 1fr;
  }

  body.home-final .concept24-domain-strip a{
    border-bottom:1px solid rgba(244,240,231,.11);
  }

  .home-final-preview-switch{
    left:10px;
    right:10px;
    bottom:10px;
    justify-content:space-between;
  }
}

@media(max-width:480px){
  body.home-final .concept24-frame{
    width:90%;
  }

  body.home-final .concept24-domain-strip{
    grid-template-columns:1fr;
  }

  body.home-final .concept24-domain-strip a{
    border-right:0;
  }

  body.home-final .concept24-orbit-stage{
    min-height:350px;
  }

  body.home-final .concept24-globe-wrap{
    width:min(76%,270px);
  }
}


/* =========================================================
   HOME 2.4.1 — polish pass
   Five targeted changes only:
   1) wider copy column, 2) larger globe,
   3) broader orbits, 4) clearer annotations,
   5) stronger CTA.
   ========================================================= */

body.home-final .concept24-frame{
  width:min(1500px,90%);
}

body.home-final .concept24-main-grid{
  grid-template-columns:minmax(0,1.12fr) minmax(500px,.88fr);
  gap:20px;
  min-height:620px;
  padding-left:26px;
  padding-right:26px;
}

body.home-final .concept24-statement{
  max-width:850px;
}

/* Slightly more room for the muted first statement without reducing type size */
body.home-final .concept24-copy{
  padding-right:8px;
}

/* The globe gains presence and moves closer to the title composition */
body.home-final .concept24-orbit-stage{
  min-height:575px;
  transform:translateX(-1.5%);
}

body.home-final .concept24-globe-wrap{
  width:min(92%,540px);
  box-shadow:0 30px 76px rgba(0,0,0,.24);
}

/* Wider, less concentric trajectories */
body.home-final .orbit-a{
  width:120%;
  height:61%;
  transform:translate(-50%,-50%) rotate(10deg);
}

body.home-final .orbit-b{
  width:132%;
  height:75%;
  transform:translate(-50%,-50%) rotate(-19deg);
}

body.home-final .orbit-c{
  width:104%;
  height:101%;
  transform:translate(-50%,-50%) rotate(34deg);
}

/* Annotations remain secondary but become readable at normal desktop scale */
body.home-final .concept24-annotation{
  color:#AAA49A;
  font-size:10px;
  line-height:1.38;
  letter-spacing:.085em;
}

body.home-final .annotation-a{
  left:-1%;
  top:23%;
}

body.home-final .annotation-b{
  left:-4%;
  bottom:18%;
}

body.home-final .annotation-c{
  right:-4%;
  top:53%;
}

/* CTA becomes a firmer anchor without turning into a conventional button */
body.home-final .concept24-cta{
  min-width:244px;
  min-height:52px;
  margin-top:30px;
  padding:0 18px;
  font-size:12.5px;
}

body.home-final .concept24-cta span:last-child{
  font-size:21px;
}

/* Preserve the 2.4 mobile/tablet behaviour while preventing the enlarged desktop globe from crowding. */
@media(max-width:1200px){
  body.home-final .concept24-frame{
    width:90%;
  }

  body.home-final .concept24-main-grid{
    grid-template-columns:minmax(0,1.06fr) minmax(430px,.94fr);
    gap:18px;
  }

  body.home-final .concept24-statement{
    max-width:790px;
  }

  body.home-final .concept24-orbit-stage{
    transform:none;
  }

  body.home-final .concept24-globe-wrap{
    width:min(88%,465px);
  }

  body.home-final .orbit-a{width:112%;}
  body.home-final .orbit-b{width:122%;}
  body.home-final .orbit-c{width:98%;}
}

@media(max-width:980px){
  body.home-final .concept24-main-grid{
    grid-template-columns:1fr;
  }

  body.home-final .concept24-copy{
    padding-right:0;
  }

  body.home-final .concept24-globe-wrap{
    width:min(70%,440px);
  }

  body.home-final .concept24-annotation{
    font-size:9.5px;
  }
}

@media(max-width:720px){
  body.home-final .concept24-cta{
    min-width:210px;
    min-height:48px;
    font-size:12px;
  }

  body.home-final .concept24-globe-wrap{
    width:min(72%,320px);
  }
}


/* =========================================================
   HOME 2.4.2 — shared structural grid
   Align the hero to the exact same 1200px / 80% axis used
   by the five sections below. Visual elements may overflow.
   ========================================================= */

/* The outer hero is no longer its own wider container. */
body.home-final .concept24-frame{
  width:100%;
  max-width:none;
  margin:0;
  border-left:0;
  border-right:0;
}

/* Kicker uses the same page axis as .wrap. */
body.home-final .concept24-kicker-row{
  width:min(1200px,80%);
  margin:0 auto;
  padding-left:0;
  padding-right:0;
}

/* Main content sits on the same 1200px / 80% grid.
   The globe/orbits remain overflow-visible so the composition
   still feels open rather than boxed. */
body.home-final .concept24-main-grid{
  width:min(1200px,80%);
  margin:0 auto;
  grid-template-columns:minmax(0,1.16fr) minmax(455px,.84fr);
  gap:18px;
  padding-left:0;
  padding-right:0;
  overflow:visible;
}

body.home-final .concept24-copy{
  padding-right:0;
}

body.home-final .concept24-statement{
  max-width:760px;
}

/* Keep the 2.4.1 globe scale, but let it visually exceed
   the structural column rather than expanding the page grid. */
body.home-final .concept24-orbit-stage{
  overflow:visible;
  transform:translateX(2.5%);
}

body.home-final .concept24-globe-wrap{
  width:min(108%,540px);
}

/* Bottom research index uses the same axis too. */
body.home-final .concept24-domain-strip{
  width:min(1200px,80%);
  margin-left:auto;
  margin-right:auto;
}

/* Construction lines reference the same vertical margins,
   reinforcing one invisible grid across the page. */
body.home-final .c24-line-v1{
  left:10%;
}

body.home-final .c24-line-v2{
  right:10%;
}

/* Responsive values mirror the shared .wrap system. */
@media(max-width:1050px){
  body.home-final .concept24-kicker-row,
  body.home-final .concept24-main-grid,
  body.home-final .concept24-domain-strip{
    width:88%;
  }

  body.home-final .concept24-main-grid{
    grid-template-columns:minmax(0,1.06fr) minmax(410px,.94fr);
  }

  body.home-final .concept24-orbit-stage{
    transform:none;
  }

  body.home-final .c24-line-v1{
    left:6%;
  }

  body.home-final .c24-line-v2{
    right:6%;
  }
}

@media(max-width:980px){
  body.home-final .concept24-main-grid{
    grid-template-columns:1fr;
  }

  body.home-final .concept24-statement{
    max-width:760px;
  }

  body.home-final .concept24-globe-wrap{
    width:min(70%,440px);
  }
}

@media(max-width:480px){
  body.home-final .concept24-kicker-row,
  body.home-final .concept24-main-grid,
  body.home-final .concept24-domain-strip{
    width:90%;
  }
}


/* =========================================================
   HOME 2.4.2 — definitive 01–04 grid correction
   The shell, not the nav itself, owns the shared page width.
   ========================================================= */
body.home-final .concept24-domain-shell{
  width:min(1200px,80%) !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box;
}

body.home-final .concept24-domain-shell .concept24-domain-strip{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  box-sizing:border-box;
}

body.home-final .concept24-domain-shell .concept24-domain-strip > a{
  min-width:0;
  box-sizing:border-box;
}

@media(max-width:1050px){
  body.home-final .concept24-domain-shell{
    width:88% !important;
  }

  body.home-final .concept24-domain-strip{
    width:100% !important;
  }
}

@media(max-width:480px){
  body.home-final .concept24-domain-shell{
    width:90% !important;
  }
}


/* HOME 2.4.2 — restore research territory numbers in aligned strip */
body.home-final .concept24-domain-strip small{
  display:block !important;
  margin:0 !important;
  color:#D97A63;
  font-size:9px;
  font-weight:650;
  line-height:1;
  letter-spacing:.08em;
}


/* =========================================================
   HOME 2.5 — Connected research territories
   Mockup-led editorial card system.
   ========================================================= */

body.home-final .home-territories-section{
  padding-top:82px;
  padding-bottom:88px;
}

body.home-final .home-territories-section .premium-heading{
  margin-bottom:42px;
  grid-template-columns:minmax(235px,.46fr) minmax(0,1fr);
  gap:58px;
  align-items:start;
}

body.home-final .home-territories-section .premium-heading .title{
  max-width:360px;
  font-size:clamp(42px,4.25vw,58px);
  line-height:1.01;
}

body.home-final .home-territories-section .premium-heading .section-note{
  max-width:560px;
  padding-top:6px;
}

/* Four-card editorial grid on wide screens */
body.home-final .concept25-territories{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid rgba(52,49,43,.15);
  background:rgba(255,255,255,.08);
}

body.home-final .concept25-territory{
  position:relative;
  min-height:400px;
  padding:24px 22px 22px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  border:0;
  border-right:1px solid rgba(52,49,43,.15);
  background:transparent;
  transition:background .28s ease;
}

body.home-final .concept25-territory:last-child{
  border-right:0;
}

body.home-final .concept25-territory::before,
body.home-final .concept25-territory::after{
  display:none !important;
}

body.home-final .concept25-territory:hover{
  padding-left:22px;
  padding-right:22px;
  background:rgba(217,122,99,.035);
}

body.home-final .territory-index{
  position:absolute;
  z-index:3;
  top:20px;
  left:22px;
  color:#B95F4B;
  font-size:10px;
  font-weight:650;
  line-height:1;
  letter-spacing:.10em;
}

body.home-final .territory-art{
  position:absolute;
  z-index:0;
  top:14px;
  right:0;
  width:92%;
  height:155px;
  color:rgba(185,95,75,.34);
  pointer-events:none;
  transition:transform .38s cubic-bezier(.22,1,.36,1),color .28s ease;
}

body.home-final .territory-art svg{
  width:100%;
  height:100%;
  display:block;
}

body.home-final .concept25-territory:hover .territory-art{
  transform:translateY(-3px) scale(1.025);
  color:rgba(185,95,75,.47);
}

body.home-final .territory-art-wave{
  width:104%;
  right:-11%;
  top:16px;
}

body.home-final .territory-art-radar{
  width:92%;
  right:-4%;
  top:8px;
}

body.home-final .territory-art-topography{
  width:108%;
  right:-12%;
  top:8px;
}

body.home-final .territory-art-dots{
  width:90%;
  right:-1%;
  top:6px;
}

body.home-final .territory-copy{
  position:relative;
  z-index:2;
  min-height:174px;
}

body.home-final .concept25-territory h3{
  max-width:240px;
  margin:0 0 14px;
  font-size:clamp(24px,1.85vw,30px);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.045em;
}

body.home-final .concept25-territory p{
  max-width:260px;
  margin:0;
  color:#6A655D;
  font-size:13.5px;
  line-height:1.54;
}

body.home-final .concept25-territory .territory-tags{
  position:relative;
  z-index:2;
  width:100%;
  margin-top:22px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  color:#8A4336 !important;
  font-size:10px !important;
  font-weight:600;
  line-height:1.3;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.home-final .concept25-territory .territory-tags b{
  flex:0 0 auto;
  color:#B95F4B;
  font-size:16px;
  font-weight:400;
  line-height:1;
  transition:transform .25s ease;
}

body.home-final .concept25-territory:hover .territory-tags b{
  transform:translateX(4px);
}

@media(max-width:1120px){
  body.home-final .concept25-territories{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  body.home-final .concept25-territory{
    min-height:360px;
    border-bottom:1px solid rgba(52,49,43,.15);
  }

  body.home-final .concept25-territory:nth-child(2){
    border-right:0;
  }

  body.home-final .concept25-territory:nth-child(n+3){
    border-bottom:0;
  }

  body.home-final .concept25-territory h3,
  body.home-final .concept25-territory p{
    max-width:330px;
  }
}

@media(max-width:720px){
  body.home-final .home-territories-section{
    padding-top:68px;
    padding-bottom:74px;
  }

  body.home-final .home-territories-section .premium-heading{
    grid-template-columns:1fr;
    gap:18px;
    margin-bottom:34px;
  }

  body.home-final .home-territories-section .premium-heading .title{
    max-width:520px;
  }

  body.home-final .concept25-territories{
    grid-template-columns:1fr;
  }

  body.home-final .concept25-territory,
  body.home-final .concept25-territory:nth-child(2),
  body.home-final .concept25-territory:nth-child(n+3){
    min-height:330px;
    padding:24px 24px 22px;
    border-right:0;
    border-bottom:1px solid rgba(52,49,43,.15);
  }

  body.home-final .concept25-territory:last-child{
    border-bottom:0;
  }

  body.home-final .concept25-territory:hover{
    padding-left:24px;
    padding-right:24px;
  }

  body.home-final .territory-index{
    left:24px;
  }

  body.home-final .territory-art{
    width:70%;
    right:0;
    opacity:.86;
  }

  body.home-final .territory-copy{
    min-height:150px;
  }

  body.home-final .concept25-territory h3{
    max-width:300px;
  }

  body.home-final .concept25-territory p{
    max-width:420px;
  }
}

@media(prefers-reduced-motion:reduce){
  body.home-final .territory-art,
  body.home-final .concept25-territory .territory-tags b{
    transition:none;
  }
}


/* =========================================================
   HOME 2.5.1 — closer to the approved mockup
   ========================================================= */

body.home-final .home-territories-section{
  padding-top:62px;
  padding-bottom:72px;
}

body.home-final .home-territories-section .premium-heading{
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.08fr) minmax(170px,.42fr);
  gap:44px;
  margin-bottom:28px;
  align-items:start;
}

body.home-final .home-territories-section .premium-heading .title{
  max-width:310px;
  font-size:clamp(40px,3.8vw,54px);
  line-height:1.01;
}

body.home-final .home-territories-section .premium-heading .section-note{
  max-width:520px;
  padding-top:9px;
  font-size:14px;
  line-height:1.62;
}

body.home-final .territories-method-note{
  min-height:116px;
  padding-top:8px;
  display:grid;
  grid-template-columns:92px 1fr;
  gap:18px;
  align-items:center;
}

body.home-final .territories-method-graphic{
  position:relative;
  display:block;
  width:92px;
  height:86px;
}

body.home-final .territories-method-graphic i{
  position:absolute;
  display:block;
}

body.home-final .territories-method-graphic i:nth-child(1){
  left:10px;
  top:43px;
  width:64px;
  height:1px;
  background:rgba(185,95,75,.22);
}

body.home-final .territories-method-graphic i:nth-child(2){
  left:38px;
  top:19px;
  width:1px;
  height:48px;
  background:rgba(185,95,75,.30);
}

body.home-final .territories-method-graphic i:nth-child(3){
  left:31px;
  top:4px;
  width:1px;
  height:90px;
  background:rgba(52,49,43,.16);
  transform:rotate(39deg);
  transform-origin:center;
}

body.home-final .territories-method-copy{
  padding-left:15px;
  border-left:1px solid rgba(185,95,75,.36);
  color:#A26150;
  font-size:9.5px;
  font-weight:650;
  line-height:1.65;
  letter-spacing:.10em;
  text-transform:uppercase;
}

/* Denser, lower cards like the mockup */
body.home-final .concept25-territories{
  margin-top:0;
}

body.home-final .concept25-territory{
  min-height:345px;
  padding:22px 24px 22px;
}

body.home-final .concept25-territory:hover{
  padding-left:24px;
  padding-right:24px;
}

body.home-final .territory-index{
  top:22px;
  left:24px;
  font-size:9.5px;
}

body.home-final .territory-art{
  top:14px;
  right:-2%;
  width:100%;
  height:142px;
  color:rgba(185,95,75,.27);
  opacity:.86;
}

body.home-final .territory-art-wave{
  width:112%;
  right:-14%;
  top:9px;
}

body.home-final .territory-art-radar{
  width:100%;
  right:-3%;
  top:5px;
}

body.home-final .territory-art-topography{
  width:116%;
  right:-15%;
  top:2px;
}

body.home-final .territory-art-dots{
  width:97%;
  right:-2%;
  top:3px;
}

body.home-final .territory-copy{
  min-height:auto;
  margin-top:112px;
}

body.home-final .concept25-territory h3{
  max-width:245px;
  margin-bottom:14px;
  font-size:clamp(23px,1.75vw,29px);
  line-height:1.02;
}

body.home-final .concept25-territory p{
  max-width:255px;
  font-size:13px;
  line-height:1.48;
}

body.home-final .concept25-territory .territory-tags{
  margin-top:auto;
  padding-top:18px;
  font-size:9.5px !important;
}

/* Card graphics should feel printed into the page, not like UI icons. */
body.home-final .concept25-territory:hover .territory-art{
  transform:translateY(-2px) scale(1.012);
  color:rgba(185,95,75,.38);
}

@media(max-width:1120px){
  body.home-final .home-territories-section .premium-heading{
    grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);
  }

  body.home-final .territories-method-note{
    display:none;
  }

  body.home-final .concept25-territory{
    min-height:335px;
  }
}

@media(max-width:720px){
  body.home-final .home-territories-section{
    padding-top:58px;
  }

  body.home-final .home-territories-section .premium-heading{
    grid-template-columns:1fr;
    margin-bottom:26px;
  }

  body.home-final .concept25-territory{
    min-height:315px;
  }

  body.home-final .territory-copy{
    margin-top:105px;
  }
}


/* =========================================================
   HOME 2.5.2 — mockup-driven reconstruction
   ========================================================= */

/* Compact editorial heading: less vertical air, clearer 3-part composition */
body.home-final .home-territories-section{
  padding-top:50px;
  padding-bottom:62px;
}

body.home-final .home-territories-section .premium-heading{
  grid-template-columns:minmax(225px,.68fr) minmax(0,1.08fr) minmax(160px,.34fr);
  gap:32px;
  margin-bottom:18px;
  align-items:start;
}

body.home-final .home-territories-section .premium-heading .title{
  max-width:285px;
  font-size:clamp(38px,3.35vw,48px);
  line-height:.99;
  letter-spacing:-.048em;
}

body.home-final .home-territories-section .premium-heading .section-note{
  max-width:470px;
  padding-top:8px;
  font-size:13.5px;
  line-height:1.55;
  color:#6E6961;
}

body.home-final .territories-method-note{
  min-height:92px;
  padding-top:4px;
  grid-template-columns:78px 1fr;
  gap:12px;
}

body.home-final .territories-method-graphic{
  width:78px;
  height:70px;
}

body.home-final .territories-method-graphic i:nth-child(1){
  left:6px;
  top:34px;
  width:54px;
  background:rgba(185,95,75,.18);
}

body.home-final .territories-method-graphic i:nth-child(2){
  left:31px;
  top:14px;
  height:42px;
  background:rgba(185,95,75,.26);
}

body.home-final .territories-method-graphic i:nth-child(3){
  left:27px;
  top:2px;
  height:72px;
  background:rgba(52,49,43,.13);
  transform:rotate(39deg);
}

body.home-final .territories-method-copy{
  padding-left:12px;
  border-left-color:rgba(185,95,75,.28);
  color:#9D6657;
  font-size:8.8px;
  line-height:1.55;
  letter-spacing:.095em;
}

/* Cards: lower, denser, quieter */
body.home-final .concept25-territories{
  border-color:rgba(52,49,43,.10);
  background:transparent;
}

body.home-final .concept25-territory{
  min-height:300px;
  padding:17px 18px 18px;
  border-right-color:rgba(52,49,43,.10);
  justify-content:flex-start;
  background:rgba(255,255,255,.025);
}

body.home-final .concept25-territory:hover{
  padding-left:18px;
  padding-right:18px;
  background:rgba(217,122,99,.025);
}

body.home-final .territory-index{
  top:17px;
  left:18px;
  font-size:8.8px;
  color:#AA5C49;
}

/* Artwork should read as printed structure, not iconography */
body.home-final .territory-art{
  top:8px;
  right:-5%;
  width:108%;
  height:122px;
  color:rgba(190,108,88,.19);
  opacity:1;
}

body.home-final .territory-art-wave{
  width:116%;
  right:-16%;
  top:5px;
}

body.home-final .territory-art-radar{
  width:104%;
  right:-4%;
  top:2px;
}

body.home-final .territory-art-topography{
  width:118%;
  right:-16%;
  top:0;
}

body.home-final .territory-art-dots{
  width:101%;
  right:-3%;
  top:0;
}

body.home-final .concept25-territory:hover .territory-art{
  transform:translateY(-1px) scale(1.008);
  color:rgba(190,108,88,.27);
}

/* Content begins earlier and occupies less vertical space */
body.home-final .territory-copy{
  margin-top:104px;
  min-height:0;
}

body.home-final .concept25-territory h3{
  max-width:220px;
  margin:0 0 10px;
  font-size:clamp(21px,1.5vw,25px);
  line-height:1.01;
  letter-spacing:-.04em;
}

body.home-final .concept25-territory p{
  max-width:235px;
  margin:0;
  color:#6B665E;
  font-size:12.25px;
  line-height:1.42;
}

body.home-final .concept25-territory .territory-tags{
  margin-top:auto;
  padding-top:12px;
  font-size:8.7px !important;
  line-height:1.2;
  letter-spacing:.078em;
}

body.home-final .concept25-territory .territory-tags b{
  font-size:14px;
  color:#AA5C49;
}

/* Subtler paper/grid feeling */
body.home-final .concept25-territory + .concept25-territory{
  box-shadow:inset 1px 0 0 rgba(52,49,43,.015);
}

@media(max-width:1120px){
  body.home-final .home-territories-section .premium-heading{
    grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);
    gap:28px;
  }

  body.home-final .concept25-territories{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  body.home-final .concept25-territory{
    min-height:290px;
  }

  body.home-final .concept25-territory:nth-child(2){
    border-right:0;
  }

  body.home-final .concept25-territory:nth-child(-n+2){
    border-bottom:1px solid rgba(52,49,43,.10);
  }

  body.home-final .concept25-territory:nth-child(n+3){
    border-bottom:0;
  }
}

@media(max-width:720px){
  body.home-final .home-territories-section{
    padding-top:54px;
    padding-bottom:60px;
  }

  body.home-final .home-territories-section .premium-heading{
    grid-template-columns:1fr;
    gap:16px;
    margin-bottom:22px;
  }

  body.home-final .home-territories-section .premium-heading .title{
    max-width:420px;
  }

  body.home-final .concept25-territories{
    grid-template-columns:1fr;
  }

  body.home-final .concept25-territory,
  body.home-final .concept25-territory:nth-child(2),
  body.home-final .concept25-territory:nth-child(n+3){
    min-height:280px;
    padding:18px 20px;
    border-right:0;
    border-bottom:1px solid rgba(52,49,43,.10);
  }

  body.home-final .concept25-territory:last-child{
    border-bottom:0;
  }

  body.home-final .concept25-territory:hover{
    padding-left:20px;
    padding-right:20px;
  }

  body.home-final .territory-index{
    left:20px;
  }

  body.home-final .territory-art{
    width:78%;
    right:-2%;
  }

  body.home-final .territory-copy{
    margin-top:96px;
  }

  body.home-final .concept25-territory h3{
    max-width:300px;
    font-size:24px;
  }

  body.home-final .concept25-territory p{
    max-width:420px;
    font-size:12.5px;
  }
}


/* =========================================================
   HOME 2.5.4 — user-approved premium artwork
   Only the four territory graphics are replaced.
   ========================================================= */
body.home-final .territory-art svg{
  display:none !important;
}

body.home-final .territory-art img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
  opacity:.94;
}

body.home-final .concept25-territory:hover .territory-art img{
  opacity:1;
}


/* HOME 2.5.4 — mockup-proportion artwork sizing only
   No card, typography, grid or spacing changes. */
body.home-final .territory-art-wave img{
  transform:scale(1.38);
  transform-origin:54% 43%;
}

body.home-final .territory-art-radar img{
  transform:scale(1.28);
  transform-origin:52% 44%;
}

body.home-final .territory-art-topography img{
  transform:scale(1.52);
  transform-origin:58% 42%;
}

body.home-final .territory-art-dots img{
  transform:scale(1.38);
  transform-origin:66% 40%;
}


/* HOME 2.5.4 — artwork size calibration against approved mockup
   Size only: no layout, position, typography or spacing changes. */
body.home-final .territory-art-wave img{
  transform:scale(1.14);
}

body.home-final .territory-art-radar img{
  transform:scale(1.68);
}

body.home-final .territory-art-topography img{
  transform:scale(2.12);
}

body.home-final .territory-art-dots img{
  transform:scale(1.88);
}


/* HOME 2.5.4 — final artwork scale correction from screenshot
   Size only: match the mockup without overlapping card titles. */
body.home-final .territory-art-wave img{
  transform:scale(1.04);
}

body.home-final .territory-art-radar img{
  transform:scale(1.18);
}

body.home-final .territory-art-topography img{
  transform:scale(1.34);
}

body.home-final .territory-art-dots img{
  transform:scale(1.52);
}


/* =========================================================
   HOME 2.5.5 — section proportions matched to approved mockup
   Assets remain unchanged; only section/card proportions,
   typography scale and vertical density are refined.
   ========================================================= */

body.home-final .home-territories-section{
  padding-top:38px;
  padding-bottom:42px;
}

body.home-final .home-territories-section .premium-heading{
  grid-template-columns:minmax(235px,.66fr) minmax(0,1.12fr) minmax(150px,.32fr);
  gap:36px;
  margin-bottom:12px;
  align-items:start;
}

body.home-final .home-territories-section .premium-heading .label{
  margin-bottom:6px;
  font-size:9px;
  letter-spacing:.105em;
}

body.home-final .home-territories-section .premium-heading .title{
  max-width:270px;
  font-size:clamp(34px,2.75vw,43px);
  line-height:.98;
  letter-spacing:-.047em;
}

body.home-final .home-territories-section .premium-heading .section-note{
  max-width:455px;
  padding-top:6px;
  font-size:12px;
  line-height:1.48;
}

body.home-final .territories-method-note{
  min-height:76px;
  padding-top:1px;
  grid-template-columns:66px 1fr;
  gap:10px;
}

body.home-final .territories-method-graphic{
  width:66px;
  height:60px;
}

body.home-final .territories-method-graphic i:nth-child(1){
  left:5px;
  top:29px;
  width:46px;
}

body.home-final .territories-method-graphic i:nth-child(2){
  left:27px;
  top:12px;
  height:36px;
}

body.home-final .territories-method-graphic i:nth-child(3){
  left:24px;
  top:1px;
  height:62px;
}

body.home-final .territories-method-copy{
  padding-left:10px;
  font-size:8px;
  line-height:1.48;
}

/* Compact card geometry */
body.home-final .concept25-territory{
  min-height:286px;
  padding:14px 16px 14px;
}

body.home-final .concept25-territory:hover{
  padding-left:16px;
  padding-right:16px;
}

body.home-final .territory-index{
  top:14px;
  left:16px;
  font-size:8.2px;
}

/* Same approved images, fitted into the tighter card architecture */
body.home-final .territory-art{
  top:2px;
  height:106px;
}

body.home-final .territory-copy{
  margin-top:86px;
}

body.home-final .concept25-territory h3{
  max-width:205px;
  margin-bottom:8px;
  font-size:clamp(19.5px,1.32vw,22px);
  line-height:1.01;
  letter-spacing:-.038em;
}

body.home-final .concept25-territory p{
  max-width:225px;
  font-size:11.15px;
  line-height:1.38;
}

body.home-final .concept25-territory .territory-tags{
  padding-top:9px;
  font-size:8px !important;
  letter-spacing:.07em;
}

body.home-final .concept25-territory .territory-tags b{
  font-size:13px;
}

/* Keep the final 2.5.4 image calibration: no artwork redesign. */
body.home-final .territory-art-wave img{
  transform:scale(1.04);
}

body.home-final .territory-art-radar img{
  transform:scale(1.18);
}

body.home-final .territory-art-topography img{
  transform:scale(1.34);
}

body.home-final .territory-art-dots img{
  transform:scale(1.52);
}

@media(max-width:1120px){
  body.home-final .home-territories-section{
    padding-top:44px;
    padding-bottom:48px;
  }

  body.home-final .home-territories-section .premium-heading{
    grid-template-columns:minmax(210px,.72fr) minmax(0,1.28fr);
    gap:26px;
    margin-bottom:16px;
  }

  body.home-final .concept25-territory{
    min-height:280px;
  }
}

@media(max-width:720px){
  body.home-final .home-territories-section{
    padding-top:50px;
    padding-bottom:54px;
  }

  body.home-final .home-territories-section .premium-heading{
    grid-template-columns:1fr;
    gap:14px;
    margin-bottom:20px;
  }

  body.home-final .home-territories-section .premium-heading .title{
    max-width:400px;
    font-size:clamp(36px,10vw,46px);
  }

  body.home-final .home-territories-section .premium-heading .section-note{
    font-size:12.5px;
  }

  body.home-final .concept25-territory,
  body.home-final .concept25-territory:nth-child(2),
  body.home-final .concept25-territory:nth-child(n+3){
    min-height:274px;
    padding:16px 18px;
  }

  body.home-final .concept25-territory:hover{
    padding-left:18px;
    padding-right:18px;
  }

  body.home-final .territory-index{
    left:18px;
  }

  body.home-final .territory-art{
    height:104px;
  }

  body.home-final .territory-copy{
    margin-top:86px;
  }

  body.home-final .concept25-territory h3{
    max-width:290px;
    font-size:22px;
  }

  body.home-final .concept25-territory p{
    max-width:420px;
    font-size:11.75px;
  }
}


/* =========================================================
   HOME 2.5.6 — artwork right anchoring + left fade
   Only artwork integration changes from 2.5.5.
   ========================================================= */

body.home-final .territory-art{
  overflow:hidden;
  pointer-events:none;
}

body.home-final .territory-art img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:right top;
  -webkit-mask-image:linear-gradient(
    to right,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,.16) 10%,
    rgba(0,0,0,.46) 21%,
    rgba(0,0,0,.76) 32%,
    rgba(0,0,0,1) 45%,
    rgba(0,0,0,1) 100%
  );
  mask-image:linear-gradient(
    to right,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,.16) 10%,
    rgba(0,0,0,.46) 21%,
    rgba(0,0,0,.76) 32%,
    rgba(0,0,0,1) 45%,
    rgba(0,0,0,1) 100%
  );
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
}

/* 01 — broad field, anchored to the upper-right */
body.home-final .territory-art-wave{
  left:auto;
  right:4px;
  top:3px;
  width:77%;
  height:108px;
}

body.home-final .territory-art-wave img{
  transform:scale(1.04);
  transform-origin:right top;
}

/* 02 — orbital diagram very close to the right edge */
body.home-final .territory-art-radar{
  left:auto;
  right:-2px;
  top:1px;
  width:72%;
  height:110px;
}

body.home-final .territory-art-radar img{
  transform:scale(1.18);
  transform-origin:right top;
}

/* 03 — panoramic topography anchored to the upper-right */
body.home-final .territory-art-topography{
  left:auto;
  right:3px;
  top:0;
  width:80%;
  height:110px;
}

body.home-final .territory-art-topography img{
  transform:scale(1.34);
  transform-origin:right top;
}

/* 04 — computational hemisphere nearly touching the right edge */
body.home-final .territory-art-dots{
  left:auto;
  right:-4px;
  top:0;
  width:70%;
  height:110px;
}

body.home-final .territory-art-dots img{
  transform:scale(1.52);
  transform-origin:right top;
}

/* Keep the fade lighter on 01/03, where the image is a landscape field. */
body.home-final .territory-art-wave img,
body.home-final .territory-art-topography img{
  -webkit-mask-image:linear-gradient(
    to right,
    rgba(0,0,0,.10) 0%,
    rgba(0,0,0,.34) 15%,
    rgba(0,0,0,.68) 30%,
    rgba(0,0,0,1) 46%,
    rgba(0,0,0,1) 100%
  );
  mask-image:linear-gradient(
    to right,
    rgba(0,0,0,.10) 0%,
    rgba(0,0,0,.34) 15%,
    rgba(0,0,0,.68) 30%,
    rgba(0,0,0,1) 46%,
    rgba(0,0,0,1) 100%
  );
}

@media(max-width:720px){
  body.home-final .territory-art-wave,
  body.home-final .territory-art-radar,
  body.home-final .territory-art-topography,
  body.home-final .territory-art-dots{
    right:0;
    width:74%;
  }
}


/* =========================================================
   HOME 2.5.7 — final vertical compaction
   Keeps 2.5.6 artwork, right anchoring and left fade intact.
   Only vertical density is adjusted toward the mockup.
   ========================================================= */

body.home-final .home-territories-section{
  padding-top:30px;
  padding-bottom:34px;
}

body.home-final .home-territories-section .premium-heading{
  margin-bottom:8px;
  gap:30px;
}

body.home-final .home-territories-section .premium-heading .label{
  margin-bottom:4px;
}

body.home-final .home-territories-section .premium-heading .title{
  font-size:clamp(32px,2.55vw,40px);
  line-height:.975;
}

body.home-final .home-territories-section .premium-heading .section-note{
  padding-top:4px;
  font-size:11.7px;
  line-height:1.44;
}

body.home-final .territories-method-note{
  min-height:68px;
  padding-top:0;
}

/* Cards: reduce height and tighten vertical rhythm */
body.home-final .concept25-territory{
  min-height:252px;
  padding-top:12px;
  padding-bottom:12px;
}

body.home-final .concept25-territory:hover{
  padding-top:12px;
  padding-bottom:12px;
}

body.home-final .territory-index{
  top:12px;
}

/* Pull copy upward slightly without changing artwork placement */
body.home-final .territory-copy{
  margin-top:78px;
}

body.home-final .concept25-territory h3{
  margin-bottom:7px;
  font-size:clamp(18.5px,1.22vw,21px);
  line-height:1.0;
}

body.home-final .concept25-territory p{
  font-size:10.8px;
  line-height:1.34;
}

/* Remove the oversized empty zone before tags */
body.home-final .concept25-territory .territory-tags{
  margin-top:10px;
  padding-top:7px;
  font-size:7.8px !important;
}

body.home-final .concept25-territory .territory-tags b{
  font-size:12px;
}

/* Keep text block compact and top-led instead of stretched */
body.home-final .concept25-territory{
  justify-content:flex-start;
}

body.home-final .concept25-territory .territory-tags{
  margin-bottom:0;
}

@media(max-width:1120px){
  body.home-final .home-territories-section{
    padding-top:38px;
    padding-bottom:42px;
  }

  body.home-final .concept25-territory{
    min-height:258px;
  }

  body.home-final .territory-copy{
    margin-top:80px;
  }
}

@media(max-width:720px){
  body.home-final .home-territories-section{
    padding-top:44px;
    padding-bottom:48px;
  }

  body.home-final .home-territories-section .premium-heading{
    margin-bottom:16px;
  }

  body.home-final .concept25-territory,
  body.home-final .concept25-territory:nth-child(2),
  body.home-final .concept25-territory:nth-child(n+3){
    min-height:260px;
  }

  body.home-final .territory-copy{
    margin-top:82px;
  }

  body.home-final .concept25-territory h3{
    font-size:21px;
  }

  body.home-final .concept25-territory p{
    font-size:11.4px;
  }
}


/* =========================================================
   HOME 2.6 — Research in motion editorial reconstruction
   2.5.7 territories remain untouched.
   Only the Featured Work / Research in motion section changes.
   ========================================================= */

body.home-final .home-projects-section{
  padding-top:58px;
  padding-bottom:62px;
}

body.home-final .home-projects-section > .wrap{
  display:grid;
  grid-template-columns:minmax(210px,.30fr) minmax(0,1fr);
  column-gap:42px;
  align-items:start;
}

/* Left editorial rail */
body.home-final .home-projects-section .premium-heading{
  grid-column:1;
  display:block;
  margin:0;
  padding:2px 0 0;
}

body.home-final .home-projects-section .premium-heading .label{
  margin:0 0 8px;
  font-size:9px !important;
  line-height:1.25;
  letter-spacing:.13em;
}

body.home-final .home-projects-section .premium-heading .title{
  max-width:210px;
  margin:0;
  font-size:clamp(36px,3.25vw,46px);
  line-height:.98;
  letter-spacing:-.048em;
}

body.home-final .home-projects-section .premium-heading .section-note{
  max-width:205px;
  margin:22px 0 0;
  font-size:11.5px;
  line-height:1.52;
  color:#D1CCC3 !important;
}

/* Main carousel occupies the editorial field */
body.home-final .home-projects-section .project-carousel{
  grid-column:2;
  min-width:0;
}

body.home-final .home-projects-section .project-carousel-frame{
  border-color:rgba(244,240,231,.16);
  background:#2D2A25;
}

body.home-final .home-projects-section .project-slide{
  grid-template-columns:minmax(0,1.42fr) minmax(300px,.92fr);
  min-height:382px;
}

body.home-final .home-projects-section .project-slide-visual{
  min-height:382px;
}

body.home-final .home-projects-section .project-slide-copy{
  justify-content:center;
  padding:34px 32px 32px;
}

body.home-final .home-projects-section .project-kicker{
  font-size:8.5px !important;
  line-height:1.45;
  letter-spacing:.075em;
}

body.home-final .home-projects-section .project-slide-copy h3{
  margin:10px 0 14px;
  font-size:clamp(34px,3vw,44px);
  line-height:.97;
  letter-spacing:-.048em;
}

body.home-final .home-projects-section .project-slide-copy p:not(.project-kicker){
  max-width:360px;
  font-size:11.5px;
  line-height:1.52;
}

body.home-final .home-projects-section .project-slide-copy .text-link{
  margin-top:16px;
  font-size:10px;
}

body.home-final .home-projects-section .project-visual-label{
  left:18px;
  bottom:16px;
  padding:7px 9px;
  font-size:8.5px !important;
  letter-spacing:.07em;
}

/* Compact carousel controls, closer to the mockup */
body.home-final .home-projects-section .project-carousel-nav{
  grid-template-columns:34px minmax(0,1fr) 34px;
  gap:12px;
  margin-top:10px;
}

body.home-final .home-projects-section .carousel-arrow{
  width:34px;
  height:34px;
  min-width:34px;
  min-height:34px;
  font-size:15px;
}

body.home-final .home-projects-section .project-tabs{
  gap:4px 14px;
}

body.home-final .home-projects-section .project-tab{
  padding:7px 0;
  font-size:9px;
  line-height:1.2;
  letter-spacing:.045em;
}

body.home-final .home-projects-section .project-carousel-status{
  min-height:30px;
  margin-top:6px;
  gap:12px;
  font-size:8px;
  line-height:1.2;
  letter-spacing:.085em;
}

body.home-final .home-projects-section .carousel-toggle{
  min-height:30px;
  padding:5px 8px;
  font-size:9px;
}

/* View-all remains part of the left editorial rail */
body.home-final .home-projects-section > .wrap > .text-link{
  grid-column:1;
  margin-top:-30px;
  width:max-content;
  font-size:10px;
}

/* Subtle project-side hierarchy on the light copy panel */
body.home-final .home-projects-section .project-slide-copy{
  border-left:1px solid rgba(52,49,43,.10);
}

@media(max-width:1100px){
  body.home-final .home-projects-section{
    padding-top:54px;
    padding-bottom:58px;
  }

  body.home-final .home-projects-section > .wrap{
    grid-template-columns:1fr;
    row-gap:24px;
  }

  body.home-final .home-projects-section .premium-heading,
  body.home-final .home-projects-section .project-carousel,
  body.home-final .home-projects-section > .wrap > .text-link{
    grid-column:1;
  }

  body.home-final .home-projects-section .premium-heading{
    display:grid;
    grid-template-columns:minmax(200px,.65fr) minmax(0,1fr);
    gap:26px;
    align-items:start;
  }

  body.home-final .home-projects-section .premium-heading .title{
    max-width:260px;
  }

  body.home-final .home-projects-section .premium-heading .section-note{
    max-width:440px;
    margin:4px 0 0;
  }

  body.home-final .home-projects-section > .wrap > .text-link{
    margin-top:0;
  }
}

@media(max-width:820px){
  body.home-final .home-projects-section .project-slide{
    grid-template-columns:1fr;
    min-height:0;
  }

  body.home-final .home-projects-section .project-slide-visual{
    min-height:300px;
  }

  body.home-final .home-projects-section .project-slide-copy{
    min-height:245px;
    padding:28px 26px 30px;
    border-left:0;
    border-top:1px solid rgba(52,49,43,.10);
  }

  body.home-final .home-projects-section .project-slide-copy h3{
    font-size:clamp(32px,7vw,42px);
  }
}

@media(max-width:620px){
  body.home-final .home-projects-section{
    padding-top:46px;
    padding-bottom:52px;
  }

  body.home-final .home-projects-section .premium-heading{
    display:block;
  }

  body.home-final .home-projects-section .premium-heading .title{
    max-width:320px;
  }

  body.home-final .home-projects-section .premium-heading .section-note{
    max-width:460px;
    margin-top:14px;
  }

  body.home-final .home-projects-section .project-slide-visual{
    min-height:245px;
  }

  body.home-final .home-projects-section .project-slide-copy{
    min-height:230px;
    padding:24px 22px 26px;
  }

  body.home-final .home-projects-section .project-carousel-nav{
    grid-template-columns:38px minmax(0,1fr) 38px;
  }

  body.home-final .home-projects-section .carousel-arrow{
    width:38px;
    height:38px;
    min-width:38px;
    min-height:38px;
  }

  body.home-final .home-projects-section .project-tabs{
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap;
  }
}


/* =========================================================
   HOME 2.7 — Research in focus editorial reconstruction
   2.6 Research in motion remains unchanged.
   Only the publications section changes.
   ========================================================= */

body.home-final .home-publications-section{
  padding-top:52px;
  padding-bottom:56px;
}

body.home-final .home-publications-section > .wrap{
  display:grid;
  grid-template-columns:minmax(230px,.29fr) minmax(0,.71fr);
  grid-template-rows:auto auto;
  column-gap:38px;
  align-items:start;
}

/* Left editorial rail */
body.home-final .home-publications-section .premium-heading{
  grid-column:1;
  grid-row:1;
  display:block;
  margin:0;
  padding:0 30px 0 0;
}

body.home-final .home-publications-section .premium-heading .label{
  margin:0 0 8px;
  font-size:9px !important;
  line-height:1.25;
  letter-spacing:.13em;
}

body.home-final .home-publications-section .premium-heading .title{
  max-width:210px;
  margin:0;
  font-size:clamp(35px,3vw,44px);
  line-height:.98;
  letter-spacing:-.048em;
}

body.home-final .home-publications-section .premium-heading .section-note{
  max-width:210px;
  margin:22px 0 0;
  padding:0;
  font-size:11.5px;
  line-height:1.52;
  color:#6B665D !important;
}

/* View-all sits with the left editorial rail */
body.home-final .home-publications-section > .wrap > .text-link{
  grid-column:1;
  grid-row:2;
  width:max-content;
  margin-top:24px;
  font-size:10px;
}

/* Publication list becomes the main right-hand field */
body.home-final .home-publications-section .premium-publications{
  grid-column:2;
  grid-row:1 / span 2;
  border-top:1px solid rgba(52,49,43,.12);
  border-left:1px solid rgba(52,49,43,.12);
  padding-left:28px;
}

/* Remove old decorative ornaments — the grid/typography now does the work */
body.home-final .home-publications-section .premium-publication-row::before{
  display:none !important;
}

/* Compact editorial rows */
body.home-final .home-publications-section .premium-publication-row{
  grid-template-columns:110px minmax(0,1fr) 28px;
  gap:24px;
  min-height:92px;
  padding:20px 0;
  border-bottom:1px solid rgba(52,49,43,.11);
  transition:background .22s ease,padding-left .22s ease;
}

body.home-final .home-publications-section .premium-publication-row:hover,
body.home-final .home-publications-section .premium-publication-row:focus-visible{
  padding-left:8px;
  background:rgba(217,122,99,.022);
}

body.home-final .home-publications-section .pub-meta{
  align-self:start;
  padding-top:2px;
  font-size:11.5px !important;
  line-height:1.38;
  letter-spacing:.055em;
  text-transform:uppercase;
  color:#5F5A52 !important;
}

body.home-final .home-publications-section .premium-publication-row h3{
  max-width:none;
  margin:0;
  align-self:center;
  font-size:clamp(16px,1.28vw,20px);
  font-weight:400;
  line-height:1.22;
  letter-spacing:-.03em;
}

body.home-final .home-publications-section .premium-publication-row .arrow{
  align-self:center;
  justify-self:end;
  font-size:16px;
  line-height:1;
  color:#8A4336 !important;
}

/* Keep the list visually calm and aligned */
body.home-final .home-publications-section .premium-publication-row:first-child{
  border-top:0;
}

@media(max-width:1050px){
  body.home-final .home-publications-section{
    padding-top:50px;
    padding-bottom:54px;
  }

  body.home-final .home-publications-section > .wrap{
    grid-template-columns:minmax(205px,.34fr) minmax(0,.66fr);
    column-gap:30px;
  }

  body.home-final .home-publications-section .premium-heading{
    padding-right:22px;
  }

  body.home-final .home-publications-section .premium-publications{
    padding-left:24px;
  }

  body.home-final .home-publications-section .premium-publication-row{
    grid-template-columns:90px minmax(0,1fr) 26px;
    gap:18px;
  }
}

@media(max-width:780px){
  body.home-final .home-publications-section{
    padding-top:46px;
    padding-bottom:50px;
  }

  body.home-final .home-publications-section > .wrap{
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto;
    row-gap:0;
  }

  body.home-final .home-publications-section .premium-heading{
    grid-column:1;
    grid-row:1;
    padding:0;
    margin-bottom:22px;
  }

  body.home-final .home-publications-section .premium-heading .title{
    max-width:320px;
  }

  body.home-final .home-publications-section .premium-heading .section-note{
    max-width:470px;
    margin-top:14px;
  }

  body.home-final .home-publications-section .premium-publications{
    grid-column:1;
    grid-row:2;
    padding-left:0;
    border-left:0;
  }

  body.home-final .home-publications-section > .wrap > .text-link{
    grid-column:1;
    grid-row:3;
    margin-top:20px;
  }
}

@media(max-width:560px){
  body.home-final .home-publications-section .premium-publication-row{
    grid-template-columns:1fr 26px;
    gap:10px 14px;
    min-height:0;
    padding:18px 0;
  }

  body.home-final .home-publications-section .pub-meta{
    grid-column:1 / -1;
    padding-top:0;
    font-size:11px !important;
  }

  body.home-final .home-publications-section .premium-publication-row h3{
    font-size:17px;
  }
}


/* =========================================================
   HOME 2.8 — Research in practice editorial split
   2.7 publications remain unchanged.
   Only the Research in practice section changes.
   ========================================================= */

body.home-final .home-practice-section{
  padding-top:58px;
  padding-bottom:60px;
}

body.home-final .home-practice-section .practice-feature{
  position:relative;
  display:grid;
  grid-template-columns:minmax(280px,.34fr) minmax(0,.66fr);
  min-height:430px;
  overflow:hidden;
  border:1px solid rgba(244,240,231,.16);
  background:#2D2A25;
}

/* Text becomes a dedicated editorial rail rather than an overlay */
body.home-final .home-practice-section .practice-copy{
  position:relative;
  z-index:3;
  grid-column:1;
  grid-row:1;
  width:auto;
  min-height:430px;
  padding:42px 38px 40px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#2D2A25;
  border-right:1px solid rgba(244,240,231,.14);
  color:var(--home-paper);
}

body.home-final .home-practice-section .practice-copy .label{
  margin:0 0 10px;
  font-size:9px !important;
  line-height:1.25;
  letter-spacing:.13em;
}

body.home-final .home-practice-section .practice-copy h2{
  max-width:300px;
  margin:0 0 16px;
  font-size:clamp(34px,3.2vw,44px);
  line-height:.98;
  letter-spacing:-.048em;
}

body.home-final .home-practice-section .practice-copy p{
  max-width:310px;
  margin:0 0 20px;
  font-size:11.5px;
  line-height:1.52;
  color:#C9C3B8;
}

body.home-final .home-practice-section .practice-copy .text-link{
  width:max-content;
  font-size:10px;
}

/* Carousel image becomes its own right-hand panel */
body.home-final .home-practice-section .practice-visual-stack{
  position:relative;
  inset:auto;
  z-index:1;
  grid-column:2;
  grid-row:1;
  min-height:430px;
  overflow:hidden;
}

body.home-final .home-practice-section .practice-visual{
  position:absolute;
  inset:0;
  min-height:0;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}

/* Remove the old heavy left-side readability gradient because text is no longer on the image */
body.home-final .home-practice-section .practice-visual-people{
  background:
    linear-gradient(180deg,rgba(27,25,22,.03),rgba(27,25,22,.22)),
    url('/assets/impact-people.png') 70% 50%/cover no-repeat !important;
}

body.home-final .home-practice-section .practice-visual-uptake{
  background:
    linear-gradient(180deg,rgba(27,25,22,.03),rgba(27,25,22,.20)),
    url('/assets/impact-uptake.jpg') 76% 50%/cover no-repeat !important;
}

body.home-final .home-practice-section .practice-visual-evaluation{
  background:
    linear-gradient(180deg,rgba(27,25,22,.03),rgba(27,25,22,.20)),
    url('/assets/impact-photo-a.jpg') 70% 44%/cover no-repeat !important;
}

body.home-final .home-practice-section .practice-visual-connections{
  background:
    linear-gradient(180deg,rgba(27,25,22,.03),rgba(27,25,22,.20)),
    url('/assets/impact-connections.jpg') 74% 50%/cover no-repeat !important;
}

/* Controls stay on the photographic panel */
body.home-final .home-practice-section .practice-carousel-nav{
  z-index:5;
  right:14px;
  bottom:14px;
  gap:6px;
}

body.home-final .home-practice-section .practice-carousel-count{
  margin-right:4px;
  font-size:8px;
  letter-spacing:.10em;
}

body.home-final .home-practice-section .practice-carousel-nav button{
  width:34px;
  height:34px;
  min-width:34px;
  min-height:34px;
  font-size:13px;
  background:rgba(45,42,37,.58);
  backdrop-filter:blur(4px);
}

body.home-final .home-practice-section .practice-carousel-toggle{
  width:auto !important;
  min-width:54px !important;
  padding-inline:8px;
  font-size:9px;
}

/* Slightly quieter frame to match the site's editorial grid */
body.home-final .home-practice-section .practice-feature::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(244,240,231,.025);
}

@media(max-width:960px){
  body.home-final .home-practice-section .practice-feature{
    grid-template-columns:minmax(245px,.38fr) minmax(0,.62fr);
    min-height:400px;
  }

  body.home-final .home-practice-section .practice-copy,
  body.home-final .home-practice-section .practice-visual-stack{
    min-height:400px;
  }

  body.home-final .home-practice-section .practice-copy{
    padding:36px 30px;
  }

  body.home-final .home-practice-section .practice-copy h2{
    font-size:clamp(31px,4vw,39px);
  }
}

@media(max-width:760px){
  body.home-final .home-practice-section{
    padding-top:46px;
    padding-bottom:50px;
  }

  body.home-final .home-practice-section .practice-feature{
    grid-template-columns:1fr;
    grid-template-rows:auto 300px;
    min-height:0;
  }

  body.home-final .home-practice-section .practice-copy{
    grid-column:1;
    grid-row:1;
    min-height:0;
    padding:32px 28px 34px;
    border-right:0;
    border-bottom:1px solid rgba(244,240,231,.14);
  }

  body.home-final .home-practice-section .practice-visual-stack{
    grid-column:1;
    grid-row:2;
    min-height:300px;
  }

  body.home-final .home-practice-section .practice-copy h2{
    max-width:430px;
    font-size:clamp(34px,8vw,44px);
  }

  body.home-final .home-practice-section .practice-copy p{
    max-width:500px;
  }
}

@media(max-width:520px){
  body.home-final .home-practice-section .practice-feature{
    grid-template-rows:auto 250px;
  }

  body.home-final .home-practice-section .practice-visual-stack{
    min-height:250px;
  }

  body.home-final .home-practice-section .practice-copy{
    padding:28px 22px 30px;
  }
}


/* =========================================================
   HOME 2.8.1 — Research in practice polish
   Only title scale and carousel-control prominence change.
   ========================================================= */

body.home-final .home-practice-section .practice-copy h2{
  font-size:clamp(31px,2.95vw,40px);
  line-height:.99;
  max-width:310px;
}

body.home-final .home-practice-section .practice-carousel-nav{
  gap:5px;
  right:12px;
  bottom:12px;
}

body.home-final .home-practice-section .practice-carousel-count{
  margin-right:3px;
  font-size:7.5px;
  letter-spacing:.09em;
}

body.home-final .home-practice-section .practice-carousel-nav button{
  width:30px;
  height:30px;
  min-width:30px;
  min-height:30px;
  font-size:12px;
  border-color:rgba(244,240,231,.34);
  background:rgba(45,42,37,.42);
}

body.home-final .home-practice-section .practice-carousel-toggle{
  width:auto !important;
  min-width:48px !important;
  height:30px !important;
  min-height:30px !important;
  padding:4px 7px !important;
  font-size:8.5px !important;
  font-weight:600;
}

@media(max-width:960px){
  body.home-final .home-practice-section .practice-copy h2{
    font-size:clamp(30px,3.8vw,37px);
    max-width:300px;
  }
}

@media(max-width:760px){
  body.home-final .home-practice-section .practice-copy h2{
    max-width:430px;
    font-size:clamp(32px,7.4vw,40px);
  }

  body.home-final .home-practice-section .practice-carousel-nav button{
    width:34px;
    height:34px;
    min-width:34px;
    min-height:34px;
  }

  body.home-final .home-practice-section .practice-carousel-toggle{
    min-width:52px !important;
    height:34px !important;
    min-height:34px !important;
  }
}


/* =========================================================
   HOME 2.9 — Research ecosystem editorial refinement
   2.8.1 Research in practice remains unchanged.
   Only the ecosystem section changes.
   ========================================================= */

body.home-final .home-ecosystem-section{
  padding-top:54px;
  padding-bottom:58px;
}

/* Heading: compact left title + restrained explanatory copy */
body.home-final .home-ecosystem-section .premium-heading{
  display:grid;
  grid-template-columns:minmax(250px,.40fr) minmax(0,.60fr);
  gap:42px;
  margin-bottom:30px;
  align-items:start;
}

body.home-final .home-ecosystem-section .premium-heading .label{
  margin:0 0 8px;
  font-size:9px !important;
  line-height:1.25;
  letter-spacing:.13em;
}

body.home-final .home-ecosystem-section .premium-heading .title{
  max-width:300px;
  margin:0;
  font-size:clamp(34px,3vw,43px);
  line-height:.98;
  letter-spacing:-.047em;
}

body.home-final .home-ecosystem-section .premium-heading .section-note{
  max-width:430px;
  margin:5px 0 0;
  font-size:11.5px;
  line-height:1.5;
}

/* Grid: compact, architectural, and closer to the approved mockup */
body.home-final .home-ecosystem-grid{
  display:grid;
  grid-template-columns:1.05fr 1.05fr .90fr;
  gap:0;
  border-top:1px solid rgba(52,49,43,.13);
  border-bottom:1px solid rgba(52,49,43,.13);
}

body.home-final .home-ecosystem-column{
  min-height:214px;
  padding:20px 24px 22px 0;
  border-right:1px solid rgba(52,49,43,.11);
}

body.home-final .home-ecosystem-column + .home-ecosystem-column{
  padding-left:24px;
}

body.home-final .home-ecosystem-column:last-child{
  border-right:0;
  padding-right:0;
}

body.home-final .home-ecosystem-type{
  margin:0 0 16px;
  font-size:9px !important;
  line-height:1.3;
  letter-spacing:.12em;
}

body.home-final .home-ecosystem-entry{
  padding:11px 0;
  border-top:1px solid rgba(52,49,43,.075);
}

body.home-final .home-ecosystem-entry:first-of-type{
  padding-top:0;
  border-top:0;
}

body.home-final .home-ecosystem-entry h3{
  margin:0 0 4px;
  font-size:15px;
  line-height:1.2;
  letter-spacing:-.025em;
}

body.home-final .home-ecosystem-entry p{
  max-width:330px;
  margin:0;
  font-size:10.5px;
  line-height:1.45;
  color:#625D55 !important;
}

/* Keep the final link understated and aligned to the grid */
body.home-final .home-ecosystem-section > .wrap > .text-link{
  margin-top:18px;
  font-size:10px;
}

/* Make the architectural background quieter so the information grid leads */
body.home-final .home-ecosystem-section::before{
  opacity:.11;
}

@media(max-width:1000px){
  body.home-final .home-ecosystem-section{
    padding-top:50px;
    padding-bottom:54px;
  }

  body.home-final .home-ecosystem-section .premium-heading{
    grid-template-columns:minmax(220px,.42fr) minmax(0,.58fr);
    gap:30px;
    margin-bottom:26px;
  }

  body.home-final .home-ecosystem-grid{
    grid-template-columns:1fr 1fr;
  }

  body.home-final .home-ecosystem-column:nth-child(2){
    border-right:0;
  }

  body.home-final .home-ecosystem-column:last-child{
    grid-column:1 / -1;
    min-height:0;
    padding-left:0;
    border-top:1px solid rgba(52,49,43,.11);
  }
}

@media(max-width:720px){
  body.home-final .home-ecosystem-section{
    padding-top:46px;
    padding-bottom:50px;
  }

  body.home-final .home-ecosystem-section .premium-heading{
    grid-template-columns:1fr;
    gap:14px;
    margin-bottom:22px;
  }

  body.home-final .home-ecosystem-section .premium-heading .title{
    max-width:430px;
    font-size:clamp(34px,9vw,43px);
  }

  body.home-final .home-ecosystem-section .premium-heading .section-note{
    max-width:500px;
    margin-top:0;
  }

  body.home-final .home-ecosystem-grid{
    grid-template-columns:1fr;
  }

  body.home-final .home-ecosystem-column,
  body.home-final .home-ecosystem-column + .home-ecosystem-column,
  body.home-final .home-ecosystem-column:last-child{
    min-height:0;
    grid-column:auto;
    padding:20px 0;
    border-right:0;
    border-top:1px solid rgba(52,49,43,.11);
  }

  body.home-final .home-ecosystem-column:first-child{
    border-top:0;
  }

  body.home-final .home-ecosystem-entry h3{
    font-size:16px;
  }

  body.home-final .home-ecosystem-entry p{
    font-size:11px;
  }
}


/* =========================================================
   HOME 2.10 — footer editorial refinement
   2.9 ecosystem remains unchanged.
   Only the footer changes.
   ========================================================= */

body.home-final .site-footer{
  padding:0;
  background:#171815;
  border-top:1px solid rgba(244,240,231,.13);
  color:#F4F0E7;
}

body.home-final .site-footer .footer-grid{
  min-height:112px;
  display:grid;
  grid-template-columns:minmax(270px,.90fr) minmax(0,1.55fr) 40px;
  gap:30px;
  align-items:center;
  padding-top:22px;
  padding-bottom:22px;
}

body.home-final .site-footer .footer-identity{
  gap:5px;
}

body.home-final .site-footer .footer-name{
  margin:0;
  font-size:15px;
  line-height:1.25;
  font-weight:400;
  letter-spacing:-.025em;
  color:#F4F0E7;
}

body.home-final .site-footer .footer-meta{
  max-width:500px;
  margin:0;
  font-size:12px !important;
  line-height:1.45;
  color:#BEB8AE;
}

body.home-final .site-footer .footer-links{
  justify-self:end;
  width:100%;
}

body.home-final .site-footer .footer-list{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:wrap;
  gap:0 24px;
}

body.home-final .site-footer .footer-links a{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  padding:0;
  border-bottom:1px solid rgba(244,240,231,.28);
  color:#DDD7CC;
  font-size:11px;
  line-height:1.2;
  text-decoration:none;
  transition:color .2s ease,border-color .2s ease;
}

body.home-final .site-footer .footer-links a:hover,
body.home-final .site-footer .footer-links a:focus-visible{
  color:#F4F0E7;
  border-bottom-color:#D97A63;
}

body.home-final .site-footer .footer-top{
  width:38px;
  height:38px;
  min-width:38px;
  min-height:38px;
  display:grid;
  place-items:center;
  justify-self:end;
  border:1px solid rgba(244,240,231,.34);
  color:#F4F0E7;
  font-size:15px;
  line-height:1;
  text-decoration:none;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}

body.home-final .site-footer .footer-top:hover,
body.home-final .site-footer .footer-top:focus-visible{
  background:#D97A63;
  border-color:#D97A63;
  color:#171815;
}

@media(max-width:980px){
  body.home-final .site-footer .footer-grid{
    grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr) 40px;
    gap:22px;
  }

  body.home-final .site-footer .footer-list{
    gap:0 18px;
  }
}

@media(max-width:760px){
  body.home-final .site-footer .footer-grid{
    grid-template-columns:1fr 40px;
    grid-template-rows:auto auto;
    gap:10px 20px;
    align-items:start;
    padding-top:24px;
    padding-bottom:24px;
  }

  body.home-final .site-footer .footer-identity{
    grid-column:1;
    grid-row:1;
  }

  body.home-final .site-footer .footer-links{
    grid-column:1;
    grid-row:2;
    justify-self:start;
  }

  body.home-final .site-footer .footer-list{
    justify-content:flex-start;
    gap:0 18px;
  }

  body.home-final .site-footer .footer-top{
    grid-column:2;
    grid-row:1;
  }
}

@media(max-width:480px){
  body.home-final .site-footer .footer-list{
    gap:0 14px;
  }

  body.home-final .site-footer .footer-links a{
    font-size:10.5px;
  }

  body.home-final .site-footer .footer-meta{
    font-size:11.5px !important;
  }
}


/* =========================================================
   HOME 2.11 — final readability + micro-layout polish
   No redesign. Preserves Home 2.10 composition.
   ========================================================= */

/* Research in motion: keep the supporting link with the editorial rail. */
body.home-final .home-projects-section .premium-heading .projects-all-link{
  display:inline-flex;
  width:max-content;
  margin-top:20px;
  font-size:11.5px;
}

body.home-final .home-projects-section > .wrap > .text-link{
  display:none;
}

/* Slight readability lift for the smallest secondary typography.
   Titles and overall section geometry remain unchanged. */
body.home-final .home-territories-section .premium-heading .label,
body.home-final .home-publications-section .premium-heading .label,
body.home-final .home-ecosystem-section .premium-heading .label,
body.home-final .home-projects-section .premium-heading .label,
body.home-final .home-practice-section .practice-copy .label{
  font-size:10.5px !important;
}

body.home-final .home-territories-section .premium-heading .section-note,
body.home-final .home-publications-section .premium-heading .section-note,
body.home-final .home-ecosystem-section .premium-heading .section-note,
body.home-final .home-projects-section .premium-heading .section-note{
  font-size:12px;
  line-height:1.5;
}

body.home-final .concept25-territory p{
  font-size:11.6px;
  line-height:1.4;
}

body.home-final .concept25-territory .territory-tags{
  font-size:9.6px !important;
  line-height:1.3;
}

body.home-final .territory-index{
  font-size:9.5px;
}

body.home-final .home-projects-section .project-kicker{
  font-size:10px !important;
}

body.home-final .home-projects-section .project-slide-copy p:not(.project-kicker){
  font-size:12px;
  line-height:1.5;
}

body.home-final .home-projects-section .project-slide-copy .text-link{
  font-size:11px;
}

body.home-final .home-projects-section .project-visual-label{
  font-size:9.8px !important;
}

body.home-final .home-projects-section .project-tab{
  font-size:10.2px;
}

body.home-final .home-projects-section .project-carousel-status{
  font-size:9.5px;
}

body.home-final .home-projects-section .carousel-toggle{
  font-size:10px;
}

body.home-final .home-publications-section .pub-meta{
  font-size:12px !important;
}

body.home-final .home-publications-section > .wrap > .text-link{
  font-size:11.5px;
}

body.home-final .home-practice-section .practice-copy p{
  font-size:12px;
  line-height:1.52;
}

body.home-final .home-practice-section .practice-copy .text-link{
  font-size:11px;
}

body.home-final .home-practice-section .practice-carousel-count{
  font-size:9px;
}

body.home-final .home-practice-section .practice-carousel-toggle{
  font-size:10px !important;
}

body.home-final .home-ecosystem-type{
  font-size:10.5px !important;
}

body.home-final .home-ecosystem-entry p{
  font-size:11.5px;
  line-height:1.48;
}

body.home-final .home-ecosystem-section > .wrap > .text-link{
  font-size:11px;
}

body.home-final .site-footer .footer-links a{
  font-size:11.5px;
}

body.home-final .site-footer .footer-meta{
  font-size:12px !important;
}

/* Keep the polish resilient on smaller screens. */
@media(max-width:760px){
  body.home-final .home-projects-section .premium-heading .projects-all-link{
    margin-top:14px;
  }

  body.home-final .concept25-territory p{
    font-size:11.8px;
  }

  body.home-final .home-ecosystem-entry p{
    font-size:11.8px;
  }

  body.home-final .site-footer .footer-links a{
    font-size:11px;
  }
}


/* =========================================================
   HOME 2.11.1 — mobile/responsive refinement only
   Desktop 2.11 remains visually unchanged.
   ========================================================= */

@media(max-width:720px){

  /* Header / navigation: improve readability and touch comfort */
  body.home-final .site-header .wrap{
    width:90%;
  }

  body.home-final .site-header .nav{
    gap:12px;
  }

  body.home-final .site-header .brand{
    font-size:16px;
    line-height:1.25;
  }

  body.home-final .site-header .nav-links{
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    padding-bottom:4px;
  }

  body.home-final .site-header .nav-links::-webkit-scrollbar{
    display:none;
  }

  body.home-final .site-header .nav-list{
    gap:14px;
    width:max-content;
  }

  body.home-final .site-header .nav-links a{
    min-height:38px;
    font-size:12px;
    white-space:nowrap;
  }

  /* Territories: keep approved graphics but reduce vertical bulk */
  body.home-final .home-territories-section{
    padding-top:40px;
    padding-bottom:42px;
  }

  body.home-final .home-territories-section .premium-heading{
    margin-bottom:16px;
  }

  body.home-final .concept25-territory,
  body.home-final .concept25-territory:nth-child(2),
  body.home-final .concept25-territory:nth-child(n+3){
    min-height:244px;
    padding-top:14px;
    padding-bottom:14px;
  }

  body.home-final .territory-art{
    height:96px;
  }

  body.home-final .territory-copy{
    margin-top:76px;
  }

  body.home-final .concept25-territory h3{
    margin-bottom:6px;
    font-size:20px;
  }

  body.home-final .concept25-territory p{
    font-size:11.8px;
    line-height:1.38;
  }

  body.home-final .concept25-territory .territory-tags{
    margin-top:8px;
    padding-top:6px;
    font-size:9.8px !important;
  }

  /* Research in motion: improve mobile image framing and reduce dead space */
  body.home-final .home-projects-section{
    padding-top:44px;
    padding-bottom:48px;
  }

  body.home-final .home-projects-section .premium-heading{
    row-gap:10px;
    margin-bottom:18px;
  }

  body.home-final .home-projects-section .premium-heading .section-note{
    margin-top:10px;
    max-width:100%;
  }

  body.home-final .home-projects-section .premium-heading .projects-all-link{
    margin-top:12px;
  }

  body.home-final .home-projects-section .project-slide-visual{
    min-height:220px;
    background-position:center center;
  }

  body.home-final .home-projects-section .project-slide-copy{
    min-height:0;
    padding:24px 22px 26px;
  }

  body.home-final .home-projects-section .project-slide-copy h3{
    margin:8px 0 10px;
    font-size:32px;
  }

  body.home-final .home-projects-section .project-slide-copy p:not(.project-kicker){
    font-size:12px;
    line-height:1.48;
  }

  body.home-final .home-projects-section .project-carousel-nav{
    margin-top:8px;
    gap:8px;
  }

  body.home-final .home-projects-section .project-tabs{
    gap:0 12px;
  }

  body.home-final .home-projects-section .project-tab{
    font-size:10px;
  }

  /* Research in focus: a little more breathing room between meta and title */
  body.home-final .home-publications-section .premium-publication-row{
    row-gap:12px;
  }

  /* Research in practice: keep image strong but avoid excessive height */
  body.home-final .home-practice-section .practice-feature{
    grid-template-rows:auto 270px;
  }

  body.home-final .home-practice-section .practice-visual-stack{
    min-height:270px;
  }

  /* Ecosystem: preserve structure, improve readability */
  body.home-final .home-ecosystem-entry p{
    font-size:12px;
  }

  /* Footer: slightly larger and calmer on narrow screens */
  body.home-final .site-footer .footer-grid{
    gap:12px 18px;
  }

  body.home-final .site-footer .footer-name{
    font-size:15.5px;
  }

  body.home-final .site-footer .footer-meta{
    font-size:12px !important;
    line-height:1.5;
  }

  body.home-final .site-footer .footer-list{
    gap:0 16px;
  }

  body.home-final .site-footer .footer-links a{
    min-height:40px;
    font-size:11.5px;
  }
}

@media(max-width:420px){

  body.home-final .site-header .brand{
    font-size:15px;
  }

  body.home-final .concept25-territory,
  body.home-final .concept25-territory:nth-child(2),
  body.home-final .concept25-territory:nth-child(n+3){
    min-height:236px;
  }

  body.home-final .home-projects-section .project-slide-visual{
    min-height:205px;
  }

  body.home-final .home-practice-section .practice-feature{
    grid-template-rows:auto 245px;
  }

  body.home-final .home-practice-section .practice-visual-stack{
    min-height:245px;
  }

  body.home-final .site-footer .footer-list{
    gap:0 12px;
  }
}


/* =========================================================
   HOME 2.11.2 — final mobile micro-adjustments
   Desktop remains identical to 2.11.1.
   ========================================================= */

@media(max-width:720px){

  /* Slightly more legible mobile navigation */
  body.home-final .site-header .nav-list{
    gap:16px;
  }

  body.home-final .site-header .nav-links a{
    font-size:12.8px;
  }

  /* Territories: a touch more breathing room between title and copy */
  body.home-final .concept25-territory h3{
    margin-bottom:11px;
  }
}

@media(max-width:420px){
  body.home-final .site-header .nav-list{
    gap:15px;
  }

  body.home-final .site-header .nav-links a{
    font-size:12.5px;
  }

  body.home-final .concept25-territory h3{
    margin-bottom:10px;
  }
}


/* =========================================================
   HOME HEADER ALIGNMENT — 4 October 2026
   Match the exact header grid and touch-target sizing used
   by the rest of the site.
   ========================================================= */

body.home-final .site-header .wrap{
  width:min(1200px,80%) !important;
  max-width:none !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

@media(max-width:1050px){
  body.home-final .site-header .wrap{
    width:88% !important;
  }

  body.home-final .site-header .nav{
    min-height:0 !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:12px !important;
    padding:15px 0 13px !important;
  }

  body.home-final .site-header .brand{
    align-self:flex-start !important;
  }

  body.home-final .site-header .nav-links{
    width:100% !important;
    overflow:visible !important;
    padding-bottom:2px !important;
    white-space:normal !important;
  }

  body.home-final .site-header .nav-list{
    width:100% !important;
    max-width:100% !important;
    flex-wrap:wrap !important;
    gap:10px 18px !important;
  }

  body.home-final .site-header .nav-links a{
    min-height:44px !important;
    white-space:nowrap !important;
  }
}

@media(max-width:800px){
  body.home-final .site-header .wrap{
    width:88% !important;
  }

  body.home-final .site-header .nav{
    gap:10px !important;
    padding:13px 0 11px !important;
  }

  body.home-final .site-header .brand{
    font-size:19px !important;
    line-height:1.2 !important;
  }

  body.home-final .site-header .nav-list{
    gap:10px 18px !important;
  }

  body.home-final .site-header .nav-links a{
    min-height:44px !important;
    font-size:12.5px !important;
    line-height:1.35 !important;
  }
}

@media(max-width:650px){
  body.home-final .site-header .nav-list{
    gap:9px 15px !important;
  }
}

@media(max-width:480px){
  body.home-final .site-header .wrap{
    width:90% !important;
  }
}


/* =========================================================
   HOME HEADER — CANONICAL SITEWIDE MATCH
   Force Home to use the exact same desktop/mobile header
   geometry and active-state treatment as inner pages.
   ========================================================= */

body.home-final .site-header{
  background:rgba(52,49,43,.96) !important;
  border-bottom:1px solid rgba(244,240,231,.13) !important;
  color:#F4F0E7 !important;
  backdrop-filter:blur(14px) !important;
}

body.home-final .site-header .wrap{
  width:min(1200px,80%) !important;
  margin:0 auto !important;
  max-width:none !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

body.home-final .site-header .nav{
  min-height:70px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  flex-direction:row !important;
  gap:30px !important;
  padding:0 !important;
}

body.home-final .site-header .brand{
  align-self:auto !important;
  font-family:"Manrope",Arial,sans-serif !important;
  font-size:21px !important;
  font-weight:400 !important;
  line-height:normal !important;
  letter-spacing:normal !important;
  color:#F4F0E7 !important;
}

body.home-final .site-header .nav-links{
  display:block !important;
  width:auto !important;
  overflow:visible !important;
  padding:0 !important;
  white-space:normal !important;
}

body.home-final .site-header .nav-list{
  width:auto !important;
  max-width:none !important;
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:20px !important;
}

body.home-final .site-header .nav-links a{
  display:inline-flex !important;
  align-items:center !important;
  min-height:44px !important;
  padding:0 !important;
  font-size:14px !important;
  font-weight:400 !important;
  line-height:normal !important;
  letter-spacing:normal !important;
  text-transform:none !important;
  white-space:nowrap !important;
  color:#F4F0E7 !important;
  opacity:.72 !important;
}

body.home-final .site-header .nav-links a:hover,
body.home-final .site-header .nav-links a:focus-visible{
  opacity:1 !important;
}

body.home-final .site-header .nav-links a[aria-current="page"]{
  opacity:1 !important;
}

body.home-final .site-header .nav-links a[aria-current="page"]::after{
  left:0 !important;
  bottom:-7px !important;
  width:100% !important;
  height:1px !important;
  background:#D97A63 !important;
  opacity:1 !important;
}

@media(max-width:1050px){
  body.home-final .site-header .wrap{
    width:88% !important;
  }

  body.home-final .site-header .nav{
    min-height:0 !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:12px !important;
    padding:15px 0 13px !important;
  }

  body.home-final .site-header .brand{
    align-self:flex-start !important;
  }

  body.home-final .site-header .nav-links{
    width:100% !important;
    padding-bottom:2px !important;
  }

  body.home-final .site-header .nav-list{
    width:100% !important;
    max-width:100% !important;
    flex-wrap:wrap !important;
    gap:10px 18px !important;
  }
}

@media(max-width:800px){
  body.home-final .site-header .wrap{
    width:88% !important;
  }

  body.home-final .site-header .nav{
    gap:10px !important;
    padding:13px 0 11px !important;
  }

  body.home-final .site-header .brand{
    font-size:19px !important;
    line-height:1.2 !important;
  }

  body.home-final .site-header .nav-links a{
    font-size:12.5px !important;
    line-height:1.35 !important;
  }

  body.home-final .site-header .nav-links a[aria-current="page"]::after{
    bottom:-5px !important;
  }
}

@media(max-width:650px){
  body.home-final .site-header .nav-list{
    gap:9px 15px !important;
  }
}

@media(max-width:480px){
  body.home-final .site-header .wrap{
    width:90% !important;
  }
}




/* =========================================================
   HOME HEADER — EXACT INNER-PAGE COPY
   Uses the same geometry and link treatment as inner pages.
   ========================================================= */

body.home-final .site-header{
  position:sticky !important;
  top:0 !important;
  z-index:20 !important;
  background:rgba(52,49,43,.96) !important;
  border-bottom:1px solid rgba(244,240,231,.13) !important;
  color:#F4F0E7 !important;
  backdrop-filter:blur(14px) !important;
}

body.home-final .site-header .wrap{
  width:min(1200px,80%) !important;
  margin:0 auto !important;
  max-width:none !important;
  padding:0 !important;
}

body.home-final .site-header .nav{
  min-height:70px !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:30px !important;
  padding:0 !important;
}

body.home-final .site-header .brand{
  align-self:auto !important;
  display:inline-flex !important;
  align-items:center !important;
  min-height:44px !important;
  margin:0 !important;
  padding:0 !important;
  font-family:"Manrope",Arial,sans-serif !important;
  font-size:21px !important;
  font-weight:400 !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
  color:#F4F0E7 !important;
  text-decoration:none !important;
}

body.home-final .site-header .nav-links{
  display:block !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  white-space:normal !important;
}

body.home-final .site-header .nav-list{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  width:auto !important;
  max-width:none !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:20px !important;
}

body.home-final .site-header .nav-list li{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

body.home-final .site-header .nav-links a{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  min-height:44px !important;
  margin:0 !important;
  padding:0 !important;
  font-family:"Manrope",Arial,sans-serif !important;
  font-size:14px !important;
  font-weight:400 !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  white-space:nowrap !important;
  color:#F4F0E7 !important;
  text-decoration:none !important;
  opacity:.72 !important;
}

body.home-final .site-header .nav-links a:hover,
body.home-final .site-header .nav-links a:focus-visible{
  opacity:1 !important;
}

body.home-final .site-header .nav-links a::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  bottom:-7px !important;
  width:0 !important;
  height:1px !important;
  background:#D97A63 !important;
  opacity:1 !important;
  transition:width .2s ease !important;
}

body.home-final .site-header .nav-links a:hover::after{
  width:100% !important;
}

body.home-final .site-header .nav-links a[aria-current="page"]{
  opacity:1 !important;
}

body.home-final .site-header .nav-links a[aria-current="page"]::after{
  width:100% !important;
}

@media(max-width:1050px){
  body.home-final .site-header .wrap{
    width:88% !important;
  }

  body.home-final .site-header .nav{
    min-height:0 !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:12px !important;
    padding:15px 0 13px !important;
  }

  body.home-final .site-header .brand{
    align-self:flex-start !important;
  }

  body.home-final .site-header .nav-links{
    width:100% !important;
    padding-bottom:2px !important;
  }

  body.home-final .site-header .nav-list{
    width:100% !important;
    max-width:100% !important;
    flex-wrap:wrap !important;
    gap:10px 18px !important;
  }
}

@media(max-width:800px){
  body.home-final .site-header .wrap{
    width:88% !important;
  }

  body.home-final .site-header .nav{
    gap:10px !important;
    padding:13px 0 11px !important;
  }

  body.home-final .site-header .brand{
    font-size:19px !important;
  }

  body.home-final .site-header .nav-links a{
    font-size:12.5px !important;
    line-height:1.35 !important;
  }

  body.home-final .site-header .nav-links a[aria-current="page"]::after{
    bottom:-5px !important;
  }
}

@media(max-width:650px){
  body.home-final .site-header .nav-list{
    gap:9px 15px !important;
  }
}

@media(max-width:480px){
  body.home-final .site-header .wrap{
    width:90% !important;
  }
}


/* =========================================================
   HOME FOOTER — EXACT INNER-PAGE DIMENSIONS
   Match the standard footer used by About, Research,
   Projects, Publications, Impact and Contact.
   ========================================================= */

body.home-final .site-footer{
  padding:48px 0 !important;
  background:#2D2A25 !important;
  color:#F4F0E7 !important;
  border-top:1px solid rgba(244,240,231,.12) !important;
}

body.home-final .site-footer .footer-grid{
  min-height:0 !important;
  display:grid !important;
  grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr) 40px !important;
  gap:32px !important;
  align-items:center !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}

body.home-final .site-footer .footer-identity{
  gap:8px !important;
}

body.home-final .site-footer .footer-name{
  margin:0 !important;
  font-family:"Manrope",Arial,sans-serif !important;
  font-size:26px !important;
  font-weight:400 !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
  color:#F4F0E7 !important;
}

body.home-final .site-footer .footer-meta{
  margin:0 !important;
  max-width:520px !important;
  font-size:14px !important;
  line-height:1.55 !important;
  color:#D8D2C8 !important;
}

body.home-final .site-footer .footer-links{
  justify-self:end !important;
  width:auto !important;
}

body.home-final .site-footer .footer-list{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:18px 28px !important;
}

body.home-final .site-footer .footer-links a{
  min-height:44px !important;
  display:inline-flex !important;
  align-items:center !important;
  padding:0 !important;
  font-size:14px !important;
  line-height:1.2 !important;
  color:#F4F0E7 !important;
  text-decoration:none !important;
  border-bottom:1px solid rgba(247,246,242,.45) !important;
}

body.home-final .site-footer .footer-top{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
  display:grid !important;
  place-items:center !important;
  justify-self:end !important;
  border:1px solid rgba(244,240,231,.34) !important;
  color:#F4F0E7 !important;
  font-size:15px !important;
  line-height:1 !important;
  text-decoration:none !important;
}

body.home-final .site-footer .footer-top:hover,
body.home-final .site-footer .footer-top:focus-visible{
  background:#D97A63 !important;
  border-color:#D97A63 !important;
  color:#171815 !important;
}

@media(max-width:980px){
  body.home-final .site-footer .footer-grid{
    grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr) 40px !important;
    gap:22px !important;
  }
}

@media(max-width:800px){
  body.home-final .site-footer{
    padding:48px 0 !important;
  }

  body.home-final .site-footer .footer-grid{
    grid-template-columns:1fr 40px !important;
    grid-template-rows:auto auto !important;
    gap:12px 20px !important;
    align-items:start !important;
  }

  body.home-final .site-footer .footer-identity{
    grid-column:1 !important;
    grid-row:1 !important;
  }

  body.home-final .site-footer .footer-links{
    grid-column:1 !important;
    grid-row:2 !important;
    justify-self:start !important;
  }

  body.home-final .site-footer .footer-list{
    justify-content:flex-start !important;
    gap:12px 16px !important;
  }

  body.home-final .site-footer .footer-top{
    grid-column:2 !important;
    grid-row:1 !important;
  }

  body.home-final .site-footer .footer-name{
    font-size:22px !important;
  }

  body.home-final .site-footer .footer-links a{
    min-height:44px !important;
    font-size:14px !important;
  }

  body.home-final .site-footer .footer-meta{
    font-size:14px !important;
  }
}
