.hero { background:var(--cream); padding:9rem 2.5rem 4rem; }
.hero-inner { max-width:1400px; margin:0 auto; }
.breadcrumb { font-family:var(--f-m); font-size:.65rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gray); margin-bottom:2.5rem; }
.breadcrumb a { color:var(--gray); text-decoration:none; }
.breadcrumb a:hover { color:var(--red); }
.breadcrumb .sep { margin:0 .5rem; opacity:.5; }
.breadcrumb .current { color:var(--ink); }
.hero-eyebrow { font-family:var(--f-m); font-size:.7rem; letter-spacing:.25em; text-transform:uppercase; color:var(--red); margin-bottom:1.75rem; display:flex; align-items:center; gap:.75rem; }
.hero-eyebrow::before { content:''; width:28px; height:1px; background:var(--red); flex-shrink:0; }
.hero-headline { font-family:var(--f-r); font-weight:900; font-size:clamp(2.4rem,7vw,7rem); line-height:1.04; letter-spacing:-.035em; color:var(--ink); max-width:1200px; margin-bottom:2.5rem; }
.hero-headline em { font-style:italic; color:var(--red); }
.hero-sub { font-family:var(--f-r); font-weight:400; font-size:clamp(1rem,1.5vw,1.25rem); line-height:1.7; color:var(--gray); max-width:740px; margin-bottom:3rem; }
.hero-sub strong { color:var(--ink); font-weight:700; }
.hero-cta-row { display:flex; gap:1.25rem; flex-wrap:wrap; align-items:center; }
.btn-solid { font-family:var(--f-r); font-weight:700; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; background:var(--red); color:var(--cream); padding:1rem 2rem; text-decoration:none; transition:background .2s,transform .15s; }
.btn-solid:hover { background:var(--ink); transform:translateY(-2px); }
.btn-text { font-family:var(--f-r); font-weight:600; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink); text-decoration:none; border-bottom:2px solid var(--ink); padding-bottom:3px; transition:color .2s,border-color .2s; }
.btn-text:hover { color:var(--red); border-color:var(--red); }

/* Philosophy bar */
.philo { background:var(--dark-teal); color:var(--cream); padding:6rem 2.5rem; }
.philo-inner { max-width:1100px; margin:0 auto; }
.philo-eyebrow { font-family:var(--f-m); font-size:.65rem; letter-spacing:.25em; text-transform:uppercase; color:var(--teal); margin-bottom:2rem; display:flex; align-items:center; gap:.75rem; }
.philo-eyebrow::before { content:''; width:28px; height:1px; background:var(--teal); flex-shrink:0; }
.philo-text { font-family:var(--f-r); font-weight:800; font-size:clamp(1.6rem,3.5vw,3rem); line-height:1.25; letter-spacing:-.025em; }
.philo-text em { font-style:italic; color:var(--teal); }

/* Phase sections */
.phase { padding:7rem 2.5rem; }
.phase-inner { max-width:1400px; margin:0 auto; }
.phase-head { display:grid; grid-template-columns:auto 1fr; gap:3rem; align-items:start; margin-bottom:3.5rem; }
.phase-num { font-family:var(--f-r); font-weight:900; font-size:clamp(4rem,9vw,9rem); line-height:.8; letter-spacing:-.05em; }
.phase-headtext {}
.phase-eyebrow { font-family:var(--f-m); font-size:.65rem; letter-spacing:.25em; text-transform:uppercase; color:var(--red); margin-bottom:1rem; }
.phase-title { font-family:var(--f-r); font-weight:900; font-size:clamp(2rem,4.5vw,4rem); line-height:1.05; letter-spacing:-.03em; margin-bottom:1.25rem; }
.phase-desc { font-family:var(--f-r); font-weight:400; font-size:1.05rem; line-height:1.7; max-width:640px; }

.phase-services { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.psvc { padding:2.5rem; display:flex; flex-direction:column; transition:transform .25s cubic-bezier(.16,1,.3,1); }
.psvc:hover { transform:translateY(-3px); }
.psvc-name { font-family:var(--f-r); font-weight:800; font-size:1.2rem; line-height:1.2; letter-spacing:-.015em; margin-bottom:.75rem; }
.psvc-desc { font-family:var(--f-r); font-weight:400; font-size:.88rem; line-height:1.65; }

/* Phase A — Strategy — cream */
.phase-strategy { background:var(--cream); }
.phase-strategy .phase-num { color:var(--teal); }
.phase-strategy .phase-title { color:var(--ink); }
.phase-strategy .phase-desc { color:var(--gray); }
.phase-strategy .psvc { background:var(--white); border:1px solid rgba(0,0,0,.08); }
.phase-strategy .psvc:hover { border-color:var(--teal); }
.phase-strategy .psvc-name { color:var(--ink); }
.phase-strategy .psvc-desc { color:var(--gray); }

/* Phase B — Creative — ink */
.phase-creative { background:var(--ink); color:var(--cream); }
.phase-creative .phase-num { color:var(--red); }
.phase-creative .phase-title { color:var(--cream); }
.phase-creative .phase-desc { color:rgba(242,236,224,.7); }
.phase-creative .psvc { background:rgba(242,236,224,.04); border:1px solid rgba(242,236,224,.12); }
.phase-creative .psvc:hover { border-color:var(--teal); }
.phase-creative .psvc-name { color:var(--cream); }
.phase-creative .psvc-desc { color:rgba(242,236,224,.6); }

/* Phase C — Activation — bone */
.phase-activation { background:var(--bone); }
.phase-activation .phase-num { color:var(--red); }
.phase-activation .phase-title { color:var(--ink); }
.phase-activation .phase-desc { color:var(--gray); }
.phase-activation .psvc { background:var(--white); border:1px solid rgba(0,0,0,.08); }
.phase-activation .psvc:hover { border-color:var(--teal); }
.phase-activation .psvc-name { color:var(--ink); }
.phase-activation .psvc-desc { color:var(--gray); }

/* Phase D — Measurement — dark teal */
.phase-measurement { background:var(--dark-teal); color:var(--cream); }
.phase-measurement .phase-num { color:var(--teal); }
.phase-measurement .phase-title { color:var(--cream); }
.phase-measurement .phase-desc { color:rgba(242,236,224,.7); }
.phase-measurement .psvc { background:rgba(242,236,224,.05); border:1px solid rgba(242,236,224,.12); }
.phase-measurement .psvc:hover { border-color:var(--teal); }
.phase-measurement .psvc-name { color:var(--cream); }
.phase-measurement .psvc-desc { color:rgba(242,236,224,.6); }

/* Creative callout */
.creative-call { background:var(--teal); color:var(--ink); padding:7rem 2.5rem; }
.creative-inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:auto 1fr; gap:3rem; align-items:center; }
.creative-mark { font-family:var(--f-r); font-weight:900; font-size:clamp(4rem,9vw,8rem); line-height:.85; letter-spacing:-.05em; color:var(--white); }
.creative-title { font-family:var(--f-r); font-weight:800; font-size:clamp(1.5rem,3vw,2.4rem); line-height:1.15; letter-spacing:-.02em; color:var(--ink); margin-bottom:1rem; }
.creative-body { font-family:var(--f-r); font-weight:400; font-size:1rem; line-height:1.7; color:var(--dark-teal); }

/* Industries strip */
.ind-strip { background:var(--cream); padding:7rem 2.5rem; }
.ind-inner { max-width:1400px; margin:0 auto; }
.ind-eyebrow { font-family:var(--f-m); font-size:.65rem; letter-spacing:.25em; text-transform:uppercase; color:var(--red); margin-bottom:1.5rem; display:flex; align-items:center; gap:.75rem; }
.ind-eyebrow::before { content:''; width:28px; height:1px; background:var(--red); flex-shrink:0; }
.ind-title { font-family:var(--f-r); font-weight:900; font-size:clamp(2rem,4.5vw,4rem); line-height:1.05; letter-spacing:-.03em; color:var(--ink); margin-bottom:3rem; }
.ind-title em { font-style:italic; color:var(--teal); }
.ind-list { }
.ind-row { display:grid; grid-template-columns:80px 1fr auto; align-items:center; gap:2rem; padding:1.75rem 0; border-top:1px solid rgba(0,0,0,.15); text-decoration:none; color:var(--ink); transition:padding-left .3s ease; }
.ind-row:last-child { border-bottom:1px solid rgba(0,0,0,.15); }
.ind-row:hover { padding-left:1.5rem; }
.ind-row:hover .ind-name { color:var(--red); }
.ind-row:hover .ind-arrow { color:var(--red); transform:translateX(6px); }
.ind-num { font-family:var(--f-m); font-size:.7rem; letter-spacing:.2em; color:var(--gray); }
.ind-name { font-family:var(--f-r); font-weight:900; font-size:clamp(1.4rem,3vw,2.4rem); letter-spacing:-.025em; transition:color .2s; }
.ind-arrow { font-size:1.5rem; color:var(--gray); transition:color .2s,transform .2s; }

/* CTA */
.cta-section { background:var(--red); color:var(--cream); padding:8rem 2.5rem; position:relative; overflow:hidden; }
.cta-section::before { content:''; position:absolute; top:-40%; right:-10%; width:600px; height:600px; border-radius:50%; background:rgba(0,0,0,.12); pointer-events:none; }
.cta-inner { max-width:1100px; margin:0 auto; position:relative; z-index:1; }
.cta-eyebrow { font-family:var(--f-m); font-size:.7rem; letter-spacing:.25em; text-transform:uppercase; color:rgba(242,236,224,.6); margin-bottom:2rem; display:flex; align-items:center; gap:.75rem; }
.cta-eyebrow::before { content:''; width:28px; height:1px; background:rgba(242,236,224,.6); flex-shrink:0; }
.cta-title { font-family:var(--f-r); font-weight:900; font-size:clamp(2.8rem,8vw,8rem); line-height:.95; letter-spacing:-.035em; margin-bottom:2rem; }
.cta-title em { font-style:italic; }
.cta-body { font-family:var(--f-r); font-weight:400; font-size:1.05rem; line-height:1.7; color:rgba(242,236,224,.85); max-width:580px; margin-bottom:3rem; }
.cta-contact { display:flex; gap:3rem; padding-top:2rem; border-top:1px solid rgba(242,236,224,.25); flex-wrap:wrap; }
.cci { display:flex; flex-direction:column; gap:.25rem; }
.cci-label { font-family:var(--f-m); font-size:.55rem; letter-spacing:.22em; text-transform:uppercase; color:rgba(242,236,224,.55); }
.cci-val { font-family:var(--f-r); font-weight:700; font-size:1rem; color:var(--cream); text-decoration:none; }
.cci-val:hover { text-decoration:underline; }

footer { background:var(--ink); color:var(--cream); padding:2rem 2.5rem; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; }
.footer-logo { display:flex; align-items:center; gap:.55rem; text-decoration:none; }
.footer-logo img { width:22px; opacity:.55; }
.footer-logo-text { font-family:var(--f-r); font-weight:700; font-size:.8rem; color:rgba(242,236,224,.45); }
.footer-links { display:flex; gap:1.5rem; flex-wrap:wrap; }
.footer-link { font-family:var(--f-r); font-weight:500; font-size:.6rem; letter-spacing:.15em; text-transform:uppercase; color:rgba(242,236,224,.4); text-decoration:none; }
.footer-link:hover { color:var(--cream); }
.footer-copy { font-family:var(--f-m); font-size:.58rem; letter-spacing:.1em; color:rgba(242,236,224,.3); }

@media (max-width:1024px) {
  .phase-services { grid-template-columns:1fr 1fr; }
}
@media (max-width:768px) {
  nav { padding:1rem 1.5rem; }
  .nav-right { display:none; }
  .hamburger { display:block; }
  .hero { padding:7rem 1.5rem 3.5rem; }
  .hero-headline { font-size:clamp(2rem,9vw,3.4rem); line-height:1.1; }
  .philo { padding:4.5rem 1.5rem; }
  .phase { padding:4.5rem 1.5rem; }
  .phase-head { grid-template-columns:1fr; gap:1rem; margin-bottom:2.5rem; }
  .phase-num { font-size:4rem; }
  .phase-services { grid-template-columns:1fr; }
  .creative-call { padding:4.5rem 1.5rem; }
  .creative-inner { grid-template-columns:1fr; gap:1.5rem; }
  .ind-strip { padding:4.5rem 1.5rem; }
  .ind-row { grid-template-columns:60px 1fr 30px; gap:1rem; }
  .cta-section { padding:6rem 1.5rem; }
  .cta-contact { gap:1.75rem; }
  footer { padding:1.5rem; flex-direction:column; align-items:flex-start; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}
body.menu-open { overflow:hidden; }
