/* Home composition only. Shared tokens and internal pages are unchanged. */
html { background:var(--color-bg); scroll-padding-top:var(--navigation-height); }
body.home-step3a { margin:0; font-family:var(--font-family); color:var(--color-text); background:var(--color-bg); }
.home-step3a *,.home-step3a *::before,.home-step3a *::after { box-sizing:border-box; }
.home-step3a :is(h1,h2,h3,h4,p,ul,ol,figure) { margin:0; }
.home-step3a :is(a,button,summary) { cursor:pointer; }
.home-step3a a { color:inherit; text-decoration:none; }
.home-step3a button { font:inherit; color:inherit; }
.home-step3a img { display:block; max-width:100%; }
.home-step3a :is(h1,h2,h3,h4) { font-family:var(--font-display); font-weight:var(--font-weight-bold); letter-spacing:var(--tracking-heading); }
.home-step3a h2 { font-size:clamp(1.7rem,2.5vw,2.5rem); line-height:1.04; }
.home-step3a .ds-root { font-size:var(--type-small); }
.home-step3a .section-label,.home-step3a .eyebrow { font:var(--font-weight-light) var(--type-metadata)/1.4 var(--font-metadata); letter-spacing:var(--tracking-label); text-transform:uppercase; color:var(--color-text-secondary); margin-bottom:var(--space-3); }
.home-step3a .eyebrow { display:flex; align-items:center; gap:var(--space-3); }
.eyebrow::before { content:""; display:block; width:var(--space-8); height:var(--border-width); background:var(--color-accent); flex-shrink:0; }
.home-step3a .home-link,.home-step3a .ds-technical-link { display:inline-flex; align-items:center; gap:var(--space-4); font:var(--font-weight-roman) var(--type-small)/1.4 var(--font-body); color:var(--color-accent); text-decoration:underline; text-underline-offset:var(--link-underline-offset); min-height:var(--control-height); }
.home-step3a .ds-button { font-weight:var(--font-weight-medium); min-width:var(--space-32); }
.home-step3a .ds-link { font-size:var(--type-small); text-decoration:underline; text-underline-offset:var(--link-underline-offset); }
.home-step3a .home-link:hover,.home-step3a .ds-link:hover { color:var(--color-text); }
.home-step3a :is(section,footer) { scroll-margin-top:var(--navigation-height); }


/* GECAR / Phase 2. Home-only navigation and hero; global values in tokens.css.
   Shared primitives supply controls, links, focus and reduced-motion handling. */
.home-step3a #nav,
.home-step3a #mnu,
.home-hero {
  --color-bg: var(--brand-black);
  --color-text: var(--brand-white);
  font-family: var(--font-family);
}
.home-step3a #nav {
  position: fixed; inset: 0 0 auto; z-index: 500;
  height: var(--navigation-height);
  display: grid; grid-template-columns: 1fr auto 1fr;
  align-items: center; gap: var(--space-6); border-bottom: 0;
}
.home-step3a #nav .nlogo {
  display: inline-flex; align-items: center; gap: var(--space-2);
  justify-self: start; min-height: var(--control-height);
  font-size: var(--type-body-lg); font-weight: var(--font-weight-bold);
  letter-spacing: var(--tracking-heading); text-transform: uppercase;
}
.home-step3a #nav .gecar-nav-logo { display:block; width:var(--space-32); height:auto; }
.home-step3a #nav .nlinks { display: flex; list-style: none; }
.home-step3a #nav .nlinks a {
  font-weight: var(--navigation-font-weight);
  transition: color var(--motion-fast) var(--motion-ease);
}
.home-step3a #nav .nlinks a.active {
  text-decoration-color: var(--color-accent);
  text-underline-offset: var(--link-underline-offset);
}
.home-step3a #nav .nav-actions { display: flex; align-items: center; justify-self: end; gap: var(--space-3); }
.home-step3a #nav .ncta {
  padding:var(--space-3) var(--space-5); border:0; background:var(--color-accent); color:var(--color-on-accent);
  font-size: var(--button-font-size); font-weight: var(--font-weight-medium);
  transition: color var(--motion-fast) var(--motion-ease);
}
.home-step3a #nav .ncta:hover { color:var(--color-on-accent); background:var(--color-accent-hover); }
.home-step3a #nav .nhb { display: none; flex-direction: column; gap: var(--space-1); }
.home-step3a #nav .nhb span {
  display: block; width: var(--space-5); height: var(--border-width); background: var(--color-text);
  transition: transform var(--motion-fast) var(--motion-ease), opacity var(--motion-fast) var(--motion-ease);
}
/* Bar translation = gap + bar thickness; preserve the existing three-span control. */
.home-step3a #nav .nhb.o span:first-child { transform: translateY(calc(var(--space-1) + var(--border-width))) rotate(45deg); }
.home-step3a #nav .nhb.o span:nth-child(2) { opacity: 0; }
.home-step3a #nav .nhb.o span:last-child { transform: translateY(calc(-1 * (var(--space-1) + var(--border-width)))) rotate(-45deg); }
.home-step3a #mnu {
  position: fixed; inset: 0; z-index: 499;
  display: flex; flex-direction: column; justify-content: center;
  padding: calc(var(--navigation-height) + var(--space-8)) var(--gutter) var(--space-8);
  cursor: auto;
  opacity: 0; transform: translateY(calc(-1 * var(--motion-distance)));
  transition: opacity var(--motion-slow) var(--motion-ease), transform var(--motion-slow) var(--motion-ease);
}
.home-step3a #mnu.o { opacity: 1; transform: none; }
.home-step3a #mnu .mlink {
  font-size: var(--type-heading-lg); font-weight: var(--font-weight-bold);
  line-height: var(--leading-heading); letter-spacing: var(--tracking-heading);
  text-transform: uppercase; color: var(--color-text-secondary); cursor: pointer;
  transition: color var(--motion-fast) var(--motion-ease);
}
.home-step3a #mnu .mlink:hover,
.home-step3a #mnu .mlink[aria-current] { color: var(--color-text); }
.home-step3a #mnu .mlink[aria-current] {
  text-decoration: underline; text-decoration-color: var(--color-accent);
  text-decoration-thickness: var(--link-underline-width); text-underline-offset: var(--link-underline-offset);
}
html:not(.js) .home-step3a #mnu { position: static; opacity: 1; transform: none; }
html:not(.js) .home-step3a .home-intro { padding-top: 0; }
html:not(.js) .home-step3a #nav .nhb { display: none; }


.home-step3a #nav { padding-inline:var(--gutter); background:var(--brand-black); }
.home-step3a #nav .nlinks { padding:0; gap:var(--space-8); }
.home-step3a #nav .nlinks a { padding:0; }
.home-step3a #nav .ncta { white-space:nowrap; }
.home-intro { padding-top:var(--navigation-height); }
.home-hero { position:relative; isolation:isolate; overflow:hidden; background:var(--brand-black); padding-block:var(--space-10) var(--space-8); }
.home-hero__media { position:absolute; inset:0 0 0 34%; z-index:-1; }
.home-hero__media img { width:100%; height:100%; object-fit:cover; object-position:60% center; }
/* A photographic scrim only, to keep the text legible over changing media. */
.home-hero__media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--color-bg) 0%,transparent 48%),linear-gradient(0deg,var(--color-bg),transparent 30%); }
.hero-copy { width:58%; position:relative; }
.home-title { font-size:clamp(2.2rem,4.45vw,4.35rem); line-height:.96; letter-spacing:var(--tracking-heading); margin-block:var(--space-6) var(--space-4) !important; }
.home-title > span { display:block; }
.hero-description { max-width:47ch; color:var(--color-text-secondary); line-height:1.45; margin-bottom:var(--space-5) !important; }
.home-formats { font:var(--font-weight-light) var(--type-metadata)/1.4 var(--font-metadata); letter-spacing:var(--tracking-label); color:var(--color-text-secondary); margin-top:var(--space-5) !important; }
.home-proof { border-block:var(--border-width) solid var(--color-border); padding-block:var(--space-6); }
.proof-layout { display:grid; grid-template-columns:minmax(0,3fr) minmax(0,1fr); gap:var(--space-8); }
.home-proof__logos { list-style:none; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.home-proof__logos li { padding-inline:var(--space-7); border-right:var(--border-width) solid var(--color-border); min-width:0; }
.home-proof__logos li:first-child { padding-left:0; }
.proof-client { display:grid; gap:var(--space-2); }
.proof-index { font-size:var(--type-heading-sm); line-height:1; }
.home-proof__logos img { width:100%; height:var(--space-16); object-fit:contain; object-position:left center; filter:brightness(0) invert(1); }
.home-proof__logos img:not([src*="innovatech"]) { object-fit:cover; object-position:center; }
.proof-category { color:var(--color-text-secondary); font-size:var(--type-small); }
.proof-statement { display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; }
.proof-statement p { text-transform:uppercase; color:var(--color-text-secondary); max-width:24ch; line-height:1.3; }
.home-featured { padding-block:var(--space-5); border-bottom:var(--border-width) solid var(--color-border); }
.home-project { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2.15fr) minmax(0,.6fr); gap:var(--space-8); align-items:stretch; }
.project-copy { display:flex; flex-direction:column; align-items:flex-start; }
.project-copy h2 { text-transform:uppercase; font-size:clamp(1.5rem,2.2vw,2.25rem); }
.project-copy > p:not(.eyebrow) { margin-block:var(--space-4); color:var(--color-text-secondary); }
.project-copy .home-link { margin-top:auto; }
.home-project__media { position:relative; min-width:0; min-height:260px; }
.home-project__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.project-signature { display:flex; flex-direction:column; justify-content:center; gap:var(--space-4); }
.project-signature img { width:100%; height:auto; filter:brightness(0) invert(1); }
.project-signature p { text-transform:uppercase; line-height:1.3; border-left:var(--space-1) solid var(--color-accent); padding-left:var(--space-4); }
@media(max-width:1100px) {
 .home-step3a #nav .nlinks { gap:var(--space-5); }
 .home-project { grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:var(--space-6); }
 .project-signature { grid-column:2; flex-direction:row; align-items:center; justify-content:space-between; }
 .project-signature img { width:var(--space-32); }
 .project-signature p { font-size:var(--type-metadata); }
 .proof-layout { gap:var(--space-6); }
 .home-proof__logos li { padding-inline:var(--space-4); }
}
@media(max-width:768px) {
 .home-step3a #nav { grid-template-columns:1fr auto; }
 .home-step3a #nav .nlinks { display:none; }
 .home-step3a #nav .nhb { display:flex; padding:var(--space-3); border:0; background:transparent; min-height:var(--control-height); justify-content:center; }
 .home-step3a #nav .ncta { font-size:var(--type-metadata); padding:var(--space-3); }
 .home-hero { padding-block:var(--space-8) 0; display:flex; flex-direction:column; }
 .hero-copy { width:100%; }
 .home-title { font-size:clamp(2.1rem,6.4vw,3.6rem); }
 .hero-description { max-width:50ch; }
 .home-hero__media { position:relative; inset:auto; order:2; z-index:0; aspect-ratio:16/9; margin-top:var(--space-6); }
 .home-hero__media::after { display:none; }
 .proof-layout { grid-template-columns:1fr; }
 .home-proof__logos li:last-child { border:0; }
 .proof-statement { flex-direction:row; gap:var(--space-6); align-items:center; border-top:var(--border-width) solid var(--color-border); padding-top:var(--space-4); }
 .home-project { grid-template-columns:1fr; }
 .home-project__media { min-height:0; aspect-ratio:16/9; }
 .project-signature { grid-column:1; }
 .home-featured { padding-block:var(--space-8); }
 .project-copy > p:not(.eyebrow) { max-width:50ch; }
}
@media(max-width:480px) {
 .home-step3a #nav .gecar-nav-logo { width:110px; }
 .home-step3a #nav .nav-actions { gap:var(--space-1); }
 .home-step3a #nav { gap:var(--space-2); }
 .home-proof__logos { grid-template-columns:1fr; gap:var(--space-5); }
 .home-proof__logos li { padding:0; border:0; }
 .proof-client { grid-template-columns:var(--space-8) minmax(0,1fr); align-items:center; column-gap:var(--space-4); }
 .proof-index { grid-row:span 2; align-self:start; padding-top:var(--space-3); }
 .home-proof__logos img { height:var(--space-12); width:220px; }
 .proof-category { grid-column:2; }
 .proof-statement p { font-size:var(--type-metadata); }
}
