/* Shared mobile chrome — header, drawer, footer primitives. Not used by desktop proofs. */
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#E8E8E0;color:#12130F}
body{font-family:"Plus Jakarta Sans",sans-serif;-webkit-font-smoothing:antialiased}
.mobile-stage{
  width:100%;max-width:430px;margin:0 auto;
  background:#FAFAF6;overflow-x:clip;position:relative;min-height:100vh;
}

.m-header{
  position:sticky;top:0;z-index:40;height:92px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:0 24px;background:#FAFAF6;border-bottom:1px solid #E6E6D9;
}
.m-brand{display:block;line-height:0;flex:0 1 auto;max-width:min(240px,68vw)}
.m-brand img{
  display:block;width:100%;max-width:240px;height:auto;max-height:40px;
  object-fit:contain;object-position:left center;
}
.m-menu-btn{
  width:44px;height:44px;border:0;background:transparent;cursor:pointer;
  display:grid;place-content:center;gap:5px;padding:0;flex:0 0 auto;margin-left:auto;
}
.m-menu-btn span{display:block;width:20px;height:2px;background:#12130F;border-radius:1px}

.m-drawer-backdrop{position:fixed;inset:0;z-index:50;background:rgba(18,19,15,.45)}
.m-drawer{
  position:fixed;top:0;right:0;z-index:60;width:min(320px,86vw);height:100%;
  background:#FAFAF6;padding:72px 24px 32px;display:flex;flex-direction:column;gap:8px;
  box-shadow:-12px 0 40px rgba(18,19,15,.18);
}
.m-drawer[hidden],.m-drawer-backdrop[hidden]{display:none !important}
.m-drawer-close{
  position:absolute;top:12px;right:12px;width:44px;height:44px;border:0;background:transparent;
  font-size:28px;line-height:1;color:#12130F;cursor:pointer;
}
.m-drawer a{
  display:block;padding:12px 0;text-decoration:none;color:#12130F;
  font-size:18px;font-weight:500;letter-spacing:-.03em;border-bottom:1px solid #E6E6D9;
}
.m-drawer a[aria-current="page"]{color:#12B58D;font-weight:600}
.m-drawer-cta{
  margin-top:16px;border:0 !important;border-radius:10px;background:#12B58D;color:#fff !important;
  text-align:center;padding:14px 16px !important;font-weight:600 !important;
}
.m-drawer-desktop{border:0 !important;font-size:14px !important;color:#5B5D54 !important;margin-top:8px}
body.m-nav-open{overflow:hidden}

.m-btn-primary{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:52px;padding:0 18px;border:0;border-radius:10px;cursor:pointer;
  background:#12B58D;color:#fff;text-decoration:none;
  font-family:"Plus Jakarta Sans",sans-serif;font-size:15px;font-weight:600;letter-spacing:-.03em;
}
.m-link-quiet{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:4px 0;color:#12B58D;text-decoration:none;
  font-size:15px;font-weight:600;letter-spacing:-.02em;
}

.m-final-cta{background:#F2FBF7;padding:40px 24px}
.m-final-panel{width:100%;padding:24px;background:#052E27;border-radius:16px;color:#fff}
.m-final-panel h2{
  margin:0;font-family:"Bricolage Grotesque",sans-serif;font-size:28px;font-weight:700;
  letter-spacing:-.04em;line-height:110%;
}
.m-final-panel > p{margin:12px 0 0;font-size:15px;line-height:140%;color:rgba(255,255,255,.82)}
.m-final-primary{
  display:flex;align-items:center;justify-content:center;margin-top:20px;min-height:48px;
  border-radius:10px;background:#D8F76B;color:#052E27;text-decoration:none;font-size:15px;font-weight:700;
}
.m-final-secondary{
  display:flex;align-items:center;justify-content:center;margin-top:12px;min-height:48px;
  border-radius:10px;border:1.5px solid rgba(255,255,255,.45);color:#fff;text-decoration:none;
  font-size:15px;font-weight:600;
}

.m-footer{background:#052E27;color:#E6E6D9;padding:48px 24px 40px}
.m-footer-brand{display:inline-block;line-height:0;max-width:280px}
.m-footer-brand img{
  display:block;width:100%;max-width:280px;height:auto;max-height:48px;
  object-fit:contain;object-position:left center;
}
.m-footer-blurb{margin:16px 0 0;font-size:17px;line-height:150%;color:rgba(230,230,217,.85);max-width:340px}
.m-footer nav{margin-top:40px}
.m-footer nav h2{
  margin:0 0 12px;font-family:"Space Grotesk",sans-serif;font-size:12px;font-weight:700;
  letter-spacing:.08em;color:rgba(230,230,217,.55);
}
.m-footer nav a{display:block;padding:9px 0;color:#E6E6D9;text-decoration:none;font-size:17px}
.m-footer-legal{margin-top:40px;padding-top:20px;border-top:1px solid rgba(230,230,217,.18)}
.m-footer-legal p{margin:0 0 8px;font-size:12px;line-height:140%;color:rgba(230,230,217,.7)}
.m-footer-trust{margin:16px 0 0;font-size:12px;color:rgba(230,230,217,.55)}

@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto !important}
}
