/* Mwabi — home v4. Minimal editorial design, warm orange accent. */
.page-home { height:auto; min-height:100vh; min-height:100dvh; overflow:visible; }
.page-home .site-header { z-index:60; position:relative; }
.page-home main { display:block; }

.home-hero { min-height:calc(100svh - var(--header-h)); display:flex; align-items:center; justify-content:center; padding:64px var(--gutter) 76px; text-align:center; }
.home-hero-inner { width:100%; max-width:770px; margin:auto; display:flex; flex-direction:column; align-items:center; }
.logo-assembly { width:clamp(118px, 13vw, 157px); aspect-ratio:500/475; margin-bottom:21px; position:relative; isolation:isolate; }
.logo-assembly img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; pointer-events:none; user-select:none; opacity:0; animation:logo-in 1350ms var(--ease) forwards; will-change:transform,opacity; }
.logo-assembly .p-m { --dx:-13px; --dy:-15px; --rot:-2deg; animation-delay:90ms; }
.logo-assembly .p-w { --dx:15px; --dy:-14px; --rot:1.5deg; animation-delay:165ms; }
.logo-assembly .p-a { --dx:-13px; --dy:15px; --rot:-1deg; animation-delay:230ms; }
.logo-assembly .p-b { --dx:0px; --dy:20px; --rot:0.5deg; animation-delay:305ms; }
.logo-assembly .p-i { --dx:13px; --dy:16px; --rot:1deg; animation-delay:355ms; }
.logo-assembly .p-type { --dx:0px; --dy:6px; --rot:0deg; animation-delay:845ms; animation-duration:750ms; }
@keyframes logo-in { from { opacity:0; transform:translate(var(--dx),var(--dy)) rotate(var(--rot)); } to { opacity:1; transform:translate(0,0) rotate(0); } }
.hero-kicker, .section-kicker { color:var(--text-muted); text-transform:uppercase; letter-spacing:.15em; font-weight:600; font-size:.68rem; line-height:1.5; }
.home-hero h1 { max-width:720px; margin-top:0; font-size:clamp(2.75rem, 6vw, 4.65rem); line-height:1.08; letter-spacing:-.055em; font-weight:600; text-wrap:balance; }
.hero-copy { max-width:625px; margin-top:23px; display:flex; flex-direction:column; align-items:center; gap:17px; }
.hero-copy p { color:var(--text-secondary); font-size:clamp(.96rem,1.35vw,1.045rem); line-height:1.68; text-wrap:pretty; }
.hero-copy .hero-lead { max-width:560px; color:var(--text); font-size:clamp(1.08rem,1.65vw,1.2rem); line-height:1.55; font-weight:500; }
.hero-copy .hero-aside { color:var(--text-muted); font-size:.96rem; }
.hero-copy .hero-signoff { margin-top:5px; color:var(--text-secondary); font-weight:400; }
.hero-actions { display:flex; gap:11px; justify-content:center; flex-wrap:wrap; margin-top:29px; }
.hero-actions .btn { gap:10px; }
.hero-actions .btn-quiet { border-color:var(--border); background:var(--surface); }
.hero-actions .btn-quiet:hover { border-color:#bdb7b1; background:#fbfaf8; }
.local-presence { display:flex; align-items:center; justify-content:center; gap:9px; margin-top:26px; color:var(--text-muted); font-size:.84rem; }
.presence-dot { width:6px; height:6px; background:var(--accent); border-radius:50%; display:inline-block; flex:none; }
.local-presence time { font-variant-numeric:tabular-nums; }

.home-content { border-top:1px solid var(--border); padding-block:clamp(75px,10vw,122px); }
.home-content-heading { max-width:650px; margin-bottom:40px; }
.home-content-heading h2 { font-size:clamp(2rem,4.5vw,3.2rem); letter-spacing:-.045em; margin-top:14px; }
.home-content-heading p { max-width:530px; margin-top:13px; color:var(--text-secondary); font-size:1.04rem; }
.home-index { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.pathway { display:flex; flex-direction:column; position:relative; min-height:212px; background:#fff; border:1px solid var(--border); border-radius:18px; padding:29px 30px 27px; text-decoration:none; transition:border-color .2s,transform .2s,background-color .2s; }
.pathway:hover { transform:translateY(-3px); border-color:#d3c4b8; background:#fefcfb; }
.pathway:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.pathway-meta { max-width:calc(100% - 80px); font-size:.76rem; letter-spacing:.06em; color:var(--text-muted); }
.pathway h3 { margin-top:19px; font-size:clamp(1.4rem,2.2vw,1.8rem); letter-spacing:-.035em; }
.pathway p { max-width:330px; margin-top:9px; color:var(--text-secondary); font-size:.98rem; line-height:1.55; }
/* Each category gets a bespoke monochrome glyph rather than a generic corner arrow. */
.pathway-icon { position:absolute; top:21px; right:23px; width:52px; height:52px; display:grid; place-items:center; border:1px solid #ece8e4; border-radius:15px; background:#faf9f7; color:var(--text); transition:transform .4s var(--ease), border-color .25s, color .25s; }
.pathway-icon svg { display:block; width:33px; height:33px; }
.pathway:hover .pathway-icon { transform:translateY(-3px) rotate(-4deg); color:var(--accent); border-color:#ead7c8; }
#explore { scroll-margin-top:20px; }
.pathway .tag { margin-top:auto; padding-top:22px; color:var(--text-muted); font-size:.78rem; }

.home-cta { padding-block:0 clamp(76px,9vw,118px); }
.home-cta-inner { border:1px solid #efded2; background:#fff8f4; border-radius:22px; padding:clamp(29px,6vw,64px); display:flex; align-items:center; justify-content:space-between; gap:30px; }
.home-cta-inner h2 { max-width:575px; margin-top:11px; font-size:clamp(1.9rem,3.5vw,2.8rem); letter-spacing:-.04em; }
.home-cta-inner p { max-width:580px; margin-top:11px; color:var(--text-secondary); }
.home-cta-inner .btn { flex:none; gap:10px; }
.page-home .site-footer { background:#fff; }

@media (max-width: 700px) {
  .home-hero { min-height:calc(100svh - var(--header-h)); padding-block:45px 57px; }
  .logo-assembly { width:116px; margin-bottom:19px; }
  .home-hero h1 { font-size:clamp(2.4rem, 10vw, 3.4rem); }
  .hero-copy { margin-top:17px; gap:13px; max-width:570px; }
  .hero-copy p { font-size:.98rem; line-height:1.6; }
  .hero-copy .hero-lead { font-size:1.08rem; line-height:1.52; }
  .hero-copy .hero-aside { font-size:.91rem; }
  .hero-actions { margin-top:24px; }
  .home-content { padding-block:76px; }
  .home-index { grid-template-columns:1fr; gap:12px; }
  .pathway { min-height:182px; padding:24px; }
  .pathway h3 { margin-top:12px; }
  .home-cta-inner { flex-direction:column; align-items:stretch; gap:22px; }
  .home-cta-inner .btn { align-self:flex-start; }
}
@media (max-width: 390px) {
  .hero-actions { flex-direction:column; width:100%; max-width:280px; }
  .hero-actions .btn { width:100%; }
  .local-presence { flex-wrap:wrap; }
}
@media (prefers-reduced-motion: reduce) {
  .logo-assembly img { animation:none!important; opacity:1!important; transform:none!important; will-change:auto; }
  .pathway,.pathway-icon { transition:none!important; }
}
