/* November 2026 refresh (Monae). One shared layer for panels, cards, borders and motion, loaded last.
   Tokens first; page rules below use them. Motion only runs when the visitor has not asked for less. */
html.m2-modern {
  --m2-gold:#d8ac55; --m2-gold-soft:#e7c982; --m2-gold-line:rgb(216 172 85/.42); --m2-gold-faint:rgb(216 172 85/.16);
  --m2-ink:#0b0b0c; --m2-panel:linear-gradient(160deg,#17171a 0%,#0b0b0c 60%);
  --m2-lift:0 1px 0 rgb(255 255 255/.06) inset,0 28px 60px -28px rgb(0 0 0/.85),0 0 0 1px rgb(0 0 0/.4);
  --m2-lift-light:0 22px 48px -30px rgb(20 16 8/.35);
  --m2-ease:cubic-bezier(.2,.75,.25,1);
}

/* ---------- Motion ---------- */
@keyframes m2-float {0%,100%{transform:translate3d(0,0,0)} 50%{transform:translate3d(0,-7px,0)}}
@keyframes m2-float-photo {0%,100%{transform:translate3d(0,-18px,0) rotate(-.4deg)} 50%{transform:translate3d(0,-28px,0) rotate(.2deg)}}
@keyframes m2-sheen {from{transform:translateX(-130%)} to{transform:translateX(130%)}}
@keyframes m2-draw {from{transform:scaleX(0)} to{transform:scaleX(1)}}

/* ---------- Supporting notes (formerly floating black boxes) ----------
   Plain paragraphs with a thin gold rule: no box, no float, no corner marker. */
html.m2-modern :is(.m2-space-card,[data-space-float],.ms-orbit-note,.ma-space-note) {
  animation:none!important;transform:none!important;will-change:auto!important;
  background:none!important;box-shadow:none!important;border:0!important;border-left:2px solid var(--m2-gold)!important;border-radius:0!important;
  padding:2px 0 2px 20px!important;max-width:46ch;color:inherit;line-height:1.75;backdrop-filter:none!important;
}
html.m2-modern :is(.m2-space-card,[data-space-float],.ms-orbit-note,.ma-space-note)::before,
html.m2-modern :is(.m2-space-card,[data-space-float],.ms-orbit-note,.ma-space-note)::after {content:none!important;display:none!important}
html.m2-modern :is(.m2-space-card,[data-space-float]) a {color:inherit;text-decoration:underline;text-decoration-color:var(--m2-gold);text-underline-offset:3px}
html.m2-modern [data-page="safety"] .ms-orbit-note p {font-size:clamp(17px,1.5vw,20px)!important;line-height:1.55!important}
html.m2-modern [data-page="safety"] .ms-orbit-note .ms-note-index {font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--m2-gold)}
html.m2-modern [data-page="safety"] .ms-note-orbit {display:none}

/* ---------- Eyebrows: at most one per page (the homepage slogan) ---------- */
html.m2-modern :is(.ma-micro,.ms-eyebrow,.v2-overline,.v2-kicker,.mj-eyebrow,.me-eyebrow,.m2x-kicker,.v3-brain-caption) {display:none!important}

/* ---------- Homepage hero photo: bordered, lifted over the divider, gently floating ---------- */
html.m2-modern [data-page="home"].mh-home .mh-hero {overflow:visible;padding-bottom:0;border-bottom:1px solid rgb(255 255 255/.1);z-index:3}
html.m2-modern .mh-hero .mh-hero-composition {grid-template-columns:minmax(0,1.15fr) minmax(320px,1fr);gap:56px;padding-bottom:0}
html.m2-modern .mh-hero .mh-hero-copy {padding-bottom:72px}
html.m2-modern .mh-hero .mh-fleet-photo {max-width:640px;justify-self:end;align-self:end;margin-bottom:-56px;z-index:4;transform:translate3d(0,-18px,0)}
html.m2-modern .mh-hero .mh-fleet-photo img {
  position:static!important;inset:auto!important;width:100%!important;height:auto!important;
  aspect-ratio:1.5;object-position:50% 58%;filter:none;border-radius:2px;
  border:1px solid var(--m2-gold-line);padding:6px;background:linear-gradient(150deg,#232325,#0d0d0e);
  box-shadow:0 0 0 1px rgb(0 0 0/.6),0 40px 80px -30px rgb(0 0 0/.95),0 0 60px -20px rgb(216 172 85/.25);
}
html.m2-modern .mh-hero .mh-fleet-photo figcaption {justify-content:flex-start;color:#9c9ca2;font-size:11px;padding-left:6px}
@media (prefers-reduced-motion:no-preference) {
  html.m2-modern:not(.still) .mh-hero .mh-fleet-photo {animation:m2-float-photo 9s ease-in-out infinite}
}
html.m2-modern .mh-home .ln-proof {position:relative;z-index:1;padding-top:128px!important}
@media (max-width:900px) {
  html.m2-modern .mh-hero .mh-hero-composition {grid-template-columns:1fr;gap:30px}
  html.m2-modern .mh-hero .mh-hero-copy {padding-bottom:0}
  html.m2-modern .mh-hero .mh-fleet-photo {max-width:none;justify-self:stretch;margin-bottom:-40px}
  html.m2-modern .mh-hero .mh-fleet-photo img {aspect-ratio:1.45;padding:4px;position:static}
  html.m2-modern .mh-home .ln-proof {padding-top:96px!important}
}

/* ---------- Journey section (moved below divisions) ---------- */
html.m2-modern .mh-journey-section {background:#000;color:#f2f2ee;padding:72px 0 64px;position:relative;overflow:hidden}
html.m2-modern .mh-journey-section .mj {margin:0}
html.m2-modern .mh-journey-section .mj-top strong {font-size:clamp(22px,2.4vw,30px);letter-spacing:-.03em;font-weight:600}
html.m2-modern :is(.mj-vision,.me-vision) {border:1px solid var(--m2-gold-line);border-radius:999px;padding:5px 11px;font-size:11px;color:var(--m2-gold-soft);letter-spacing:.02em;white-space:nowrap}

/* ---------- Cards with refined gold borders ---------- */
html.m2-modern .m2-card,
html.m2-modern .mh-home .ln-more-list a {
  position:relative;border:1px solid var(--m2-gold-line)!important;border-radius:2px!important;overflow:hidden;
  box-shadow:var(--m2-lift-light);transition:transform .45s var(--m2-ease),box-shadow .45s var(--m2-ease),border-color .3s;
}
html.m2-modern .m2-card::after,
html.m2-modern .mh-home .ln-more-list a::after {
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 35%,rgb(255 236 190/.22) 50%,transparent 65%);transform:translateX(-130%);
}
html.m2-modern :is(.m2-card,.mh-home .ln-more-list a):is(:hover,:focus-visible) {border-color:var(--m2-gold)!important;transform:translateY(-6px);box-shadow:0 30px 60px -32px rgb(20 16 8/.5)}
@media (prefers-reduced-motion:no-preference) {
  html.m2-modern:not(.still) :is(.m2-card,.mh-home .ln-more-list a):hover::after {animation:m2-sheen .9s var(--m2-ease)}
}
html.m2-modern .mh-home .ln-more-list {grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important}
html.m2-modern .mh-home .ln-more-list .v2-offer-image {height:190px;background:#f3f2ee}
html.m2-modern .mh-home .ln-more-list .v2-offer-image img {width:100%;height:100%;object-fit:cover}
html.m2-modern .mh-home .ln-more-list li:first-child .v2-offer-image img {object-fit:contain;padding:10px 0 0;background:#f1efea}
html.m2-modern .mh-home .ln-more-list .v2-offer-copy {grid-template-columns:1fr!important;gap:10px!important;padding:20px!important}
html.m2-modern .mh-home .ln-more-list strong {font-size:19px!important}
html.m2-modern :is(.v2-offer-mart,.v2-product-mart,.dv-mart-visual) {display:grid;place-items:center;background:radial-gradient(ellipse at 50% 30%,#2a2620,#0b0b0c 70%)!important;color:var(--m2-gold-soft)}
html.m2-modern :is(.v2-mart-mark,.dv-mart-mark) {display:grid;justify-items:center;gap:8px;text-align:center}
html.m2-modern :is(.v2-mart-mark,.dv-mart-mark) svg {width:54px;height:54px}
html.m2-modern :is(.v2-mart-mark b,.dv-mart-mark strong) {font-size:18px;letter-spacing:.02em;color:#f2ede1}
html.m2-modern .dv-mart-mark span {font-size:12px;color:#a7a39a}
html.m2-modern .dv-mart-visual {min-height:340px;border-radius:2px;border:1px solid var(--m2-gold-line);margin:0}
@media (max-width:1100px) {html.m2-modern .mh-home .ln-more-list {grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:560px) {html.m2-modern .mh-home .ln-more-list {grid-template-columns:1fr!important}}

/* ---------- Founders: identical crops ---------- */
html.m2-modern .ln-founder-photo {margin:0 0 14px;aspect-ratio:4/5;overflow:hidden;border-radius:2px;border:1px solid var(--m2-gold-faint);background:#111}
html.m2-modern .ln-founder-photo img {width:100%;height:100%!important;object-fit:cover;object-position:50% 18%;display:block}
html.m2-modern .ln-proof .actions {display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:26px}

/* ---------- Class-to-shift timeline (homepage story) ---------- */
html.m2-modern .m2-trip {margin:30px 0 26px;padding:20px 22px;border:1px solid var(--m2-gold-line);border-radius:2px;background:#fff;box-shadow:var(--m2-lift-light);max-width:560px}
html.m2-modern .m2-trip-ends {display:flex;justify-content:space-between;font-size:12px;color:#55564f;font-variant-numeric:tabular-nums}
html.m2-modern .m2-trip-ends strong {display:block;font-size:20px;color:#141414;letter-spacing:-.02em}
html.m2-modern .m2-trip-bar {position:relative;height:10px;margin:14px 0 10px;border-radius:99px;background:repeating-linear-gradient(90deg,#e7e4dc 0 6px,#f3f1ec 6px 10px)}
html.m2-modern .m2-trip-ride {position:absolute;left:0;top:0;bottom:0;width:32%;border-radius:99px;background:linear-gradient(90deg,#b8862b,var(--m2-gold),var(--m2-gold-soft));transform-origin:left}
html.m2-modern .m2-trip-ride::after {content:'';position:absolute;right:-6px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:#141414;border:3px solid var(--m2-gold-soft)}
html.m2-modern .m2-trip-note {display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#3d3e39}
html.m2-modern .m2-trip-note b {color:#8a5f0c}
html.m2-modern .m2-trip.is-armed .m2-trip-ride {transform:scaleX(0)}
html.m2-modern .m2-trip.is-armed .m2-trip-note {opacity:0}
html.m2-modern .m2-trip.is-in .m2-trip-ride {transform:scaleX(1);transition:transform 1.6s var(--m2-ease)}
html.m2-modern .m2-trip.is-in .m2-trip-note {opacity:1;transition:opacity .6s 1.3s}

/* ---------- Sticky mobile "Book a call" ---------- */
html.m2-modern .m2-sticky-cta {display:none}
@media (max-width:760px) {
  html.m2-modern .m2-sticky-cta {
    display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:60;
    padding:8px 8px 8px 16px;border-radius:2px;border:1px solid var(--m2-gold-line);background:rgb(10 10 11/.92);color:#eceae4;
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 18px 40px -12px rgb(0 0 0/.7);
    font-size:13px;transform:translateY(140%);transition:transform .45s var(--m2-ease);
  }
  html.m2-modern .m2-sticky-cta.is-shown {transform:none}
  html.m2-modern .m2-sticky-cta .button {min-height:44px;padding:12px 18px;font-size:13px;width:auto}
}

/* ---------- Placeholders and status labels ---------- */
html.m2-modern .tbc {display:inline-block;border:1px dashed #c2953d;border-radius:6px;padding:2px 8px;font-style:italic;font-size:.92em;color:#8a5f0c;background:#fbf4e3}
html.m2-modern .ms-status {display:inline-block;margin-right:6px;border:1px solid var(--m2-gold-line);border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--m2-gold-soft);background:rgb(216 172 85/.08);vertical-align:2px}
html.m2-modern .ms-subhead {margin:8px 0 0;font-size:clamp(17px,1.6vw,21px);color:var(--m2-gold-soft);letter-spacing:-.01em}
html.m2-modern [data-page="safety"] h1#sf-title span {display:block;color:var(--m2-gold)}

/* ---------- Partnerships ---------- */
html.m2-modern .pt-fit-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:34px}
html.m2-modern .pt-fit-grid .m2-card {padding:26px;background:#fff}
html.m2-modern .pt-fit-grid h3 {font-size:20px;letter-spacing:-.02em;margin:0 0 10px}
html.m2-modern .pt-fit-grid p {margin:0;color:#55564f;line-height:1.7}
html.m2-modern .pt-handles {background:#0b0b0c;color:#ecebe6}
html.m2-modern .pt-handles .section-head p {color:#b8b7b0}
html.m2-modern .pt-table {margin-top:34px;border:1px solid var(--m2-gold-line);border-radius:2px;overflow:hidden;box-shadow:var(--m2-lift)}
html.m2-modern .pt-row {display:grid;grid-template-columns:1fr 1.4fr 1.4fr;gap:0;border-top:1px solid rgb(255 255 255/.08)}
html.m2-modern .pt-row>* {padding:16px 20px;line-height:1.6;font-size:14px}
html.m2-modern .pt-row>*+* {border-left:1px solid rgb(255 255 255/.08)}
html.m2-modern .pt-row-head {border-top:0;background:rgb(216 172 85/.1)}
html.m2-modern .pt-row-head span {font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--m2-gold-soft)}
html.m2-modern .pt-row strong {color:#fff;font-weight:600}
html.m2-modern .pt-row:not(.pt-row-head):hover {background:rgb(255 255 255/.03)}
html.m2-modern .pt-handles .tbc {background:transparent;color:var(--m2-gold-soft);border-color:var(--m2-gold-line)}
html.m2-modern .pt-steps li {border-top:1px solid var(--m2-gold-line)!important}
@media (max-width:860px) {
  html.m2-modern .pt-fit-grid {grid-template-columns:1fr}
  html.m2-modern .pt-row-head {display:none}
  html.m2-modern .pt-row {grid-template-columns:1fr;padding:6px 0}
  html.m2-modern .pt-row>*+* {border-left:0}
  html.m2-modern .pt-row>* {padding:6px 18px}
  html.m2-modern .pt-row [data-label]::before {content:attr(data-label);display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--m2-gold)}
  html.m2-modern .pt-row strong {padding-top:14px;font-size:16px}
}

/* ---------- Notify signup, contact emails, footer ---------- */
html.m2-modern .m2-notify {background:#f4f2ed;padding:64px 0;border-top:1px solid #e3dfd5}
html.m2-modern .m2-notify-grid {display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center}
html.m2-modern .m2-notify h2 {font-size:clamp(28px,3vw,40px);letter-spacing:-.035em;margin:0 0 10px}
html.m2-modern .m2-notify p {color:#55564f;max-width:44ch}
html.m2-modern .m2-notify-form {border:1px solid var(--m2-gold-line);border-radius:2px}
@media (max-width:760px) {html.m2-modern .m2-notify-grid {grid-template-columns:1fr;gap:20px}}
html.m2-modern .ct-emails {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0 26px;max-width:560px}
html.m2-modern .ct-emails>div {border:1px solid var(--m2-gold-line);border-radius:2px;padding:14px 16px;background:rgb(255 255 255/.03)}
html.m2-modern .ct-emails dt {font-size:12px;color:#a7a6a0;margin-bottom:4px}
html.m2-modern .ct-emails dd {margin:0;font-weight:600}
html.m2-modern .ct-emails a {color:var(--m2-gold-soft);word-break:break-all}
@media (max-width:560px) {html.m2-modern .ct-emails {grid-template-columns:1fr}}
html.m2-modern .ln-footer-talk a small {display:block;font-size:11px;color:#8d8c86;letter-spacing:.02em}
html.m2-modern .ln-footer-talk a {line-height:1.4}


/* ---------- Divisions: four nodes, real locker photo ---------- */
html.m2-modern .v3-brain-node-0 {left:18%!important;top:30.4%!important}
html.m2-modern .v3-brain-node-1 {left:82%!important;top:30.4%!important}
html.m2-modern .v3-brain-node-2 {left:18%!important;top:73.2%!important}
html.m2-modern .v3-brain-node-3 {left:82%!important;top:73.2%!important}
html.m2-modern .v3-brain-node {border-color:var(--m2-gold-line)!important}
html.m2-modern .v2-product-visual img {object-fit:cover}
html.m2-modern .v2-product-mart {min-height:360px;border-radius:2px}
html.m2-modern .dv-locker-photo img {border-radius:2px;border:1px solid var(--m2-gold-line);box-shadow:var(--m2-lift-light)}
@media (max-width:550px) {html.m2-modern .v3-brain-node {width:118px!important;min-height:96px!important}}

/* ---------- Services: audience controls ---------- */
html.m2-modern .m2-audiences button {position:relative;transition:color .25s,background-color .25s,border-color .25s}
html.m2-modern .m2-audiences button[aria-selected=true] {border-color:var(--m2-gold)!important}
html.m2-modern .m2-audiences button::after {content:'';position:absolute;left:12px;right:12px;bottom:-1px;height:2px;background:var(--m2-gold);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--m2-ease)}
html.m2-modern .m2-audiences button[aria-selected=true]::after {transform:scaleX(1)}
html.m2-modern .m2-audience-panel {transition:opacity .3s}
html.m2-modern .v2-program-model {border:1px solid var(--m2-gold-line)!important;border-radius:2px!important;box-shadow:var(--m2-lift)}

/* ---------- About: Georgia map and What M2 runs ---------- */

/* ---------- Safety: one consistent icon treatment ---------- */
html.m2-modern .ms-rule-symbol,html.m2-modern .ms-rule-large-icon {display:grid;place-items:center;border:1px solid var(--m2-gold-line);border-radius:50%;color:var(--m2-gold-soft);background:radial-gradient(circle at 35% 30%,#2a261d,#0d0d0e 70%)}
html.m2-modern .ms-rule-symbol {width:40px;height:40px}
html.m2-modern .ms-rule-symbol svg {width:20px;height:20px;stroke-width:1.5}
html.m2-modern .ms-rule-large-icon {width:88px;height:88px}
html.m2-modern .ms-rule-large-icon svg {width:42px;height:42px;stroke-width:1.3}
html.m2-modern .ms-rules button {transition:background-color .25s,color .25s}
html.m2-modern .ms-rules button[aria-pressed=true] .ms-rule-symbol {border-color:var(--m2-gold);box-shadow:0 0 0 4px rgb(216 172 85/.12)}
html.m2-modern .ms-final h2 {font-size:clamp(34px,4.6vw,64px)!important;line-height:1.1!important;max-width:20ch}
html.m2-modern .ms-final-bottom a:not(.ms-final-contact) {color:var(--m2-gold-soft)}

html.m2-modern .mh-home .ln-more-list li:nth-child(3) .v2-offer-image img {object-position:72% 50%}
/* Status labels and subheads on light Safety sections need the darker gold for contrast. */
html.m2-modern .ms-status {color:#7a5410;background:#fbf4e3;border-color:#d9b26a}
html.m2-modern .ms-subhead {color:#8a5f0c}
html.m2-modern :is(.ms-hero,.ms-parking,.ms-report,.ms-final,.pt-handles) .ms-status {color:var(--m2-gold-soft);background:rgb(216 172 85/.08);border-color:var(--m2-gold-line)}
html.m2-modern :is(.ms-hero,.ms-parking,.ms-report,.ms-final) .ms-subhead {color:var(--m2-gold-soft)}
/* The hero photo overlaps the divider, so its caption sits on the image instead of straddling two backgrounds. */
html.m2-modern .mh-hero .mh-fleet-photo figcaption {position:absolute;left:14px;bottom:14px;margin:0;padding:5px 10px;border-radius:999px;background:rgb(0 0 0/.62);color:#ecebe6;font-size:11px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
/* Showroom: keep the photo render visible until the 3D model has actually loaded, so the panel is never empty. */
html.m2-modern .m2x .m2x-has3d:not([data-webgl="ready"]) .m2x-stage {visibility:visible!important}

/* ---------- November 3: M2 Mart and Smart Lockers additions ---------- */
html.m2-modern .status-in-planning {color:#595959}
html.m2-modern .m2-card-grid {list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
html.m2-modern .m2-card-grid .m2-card {background:#fff;padding:26px 24px 24px;color:#141414}
html.m2-modern .m2-card-grid h3 {font-size:19px;letter-spacing:-.02em;margin:14px 0 10px;line-height:1.3}
html.m2-modern .m2-card-grid p {margin:0;color:#55564f;font-size:14px;line-height:1.7}
html.m2-modern .dv-card-num {font-size:12px;font-weight:700;letter-spacing:.08em;color:#8a5f0c;font-variant-numeric:tabular-nums}
@media (max-width:1000px) {html.m2-modern .m2-card-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px) {html.m2-modern .m2-card-grid {grid-template-columns:1fr}}

/* At-door locker */
html.m2-modern .dv-door {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:0;margin-top:22px;background:#0b0b0c;color:#ecebe6;align-items:stretch}
html.m2-modern .dv-door-photo {margin:0;min-height:100%}
html.m2-modern .dv-door-photo img {width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/5}
html.m2-modern .dv-door-copy {padding:clamp(28px,4vw,56px);align-self:center}
html.m2-modern .dv-door-copy h3 {font-size:clamp(26px,3vw,40px);letter-spacing:-.035em;line-height:1.12;margin:16px 0 14px;color:#fff}
html.m2-modern .dv-door-copy p {color:#c7c6bf;line-height:1.75;max-width:52ch}
html.m2-modern .dv-door .status {color:var(--m2-gold-soft)}
html.m2-modern .dv-door-steps {list-style:none;padding:0;margin:26px 0 0;display:grid;gap:12px}
html.m2-modern .dv-door-steps li {display:flex;gap:14px;align-items:center;color:#e6e4dc;font-size:15px}
html.m2-modern .dv-door-steps span {flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--m2-gold-line);color:var(--m2-gold-soft);font-size:13px;font-weight:700}
@media (max-width:800px) {html.m2-modern .dv-door {grid-template-columns:1fr} html.m2-modern .dv-door-photo img {aspect-ratio:4/4.4}}

/* M2 Mart hero (dark) */
html.m2-modern .dv-mart-hero {background:#000;color:#f2f1ec;padding:96px 0 0;position:relative;overflow:hidden}
html.m2-modern .dv-mart-hero::before {content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 40% at 70% 85%,rgb(216 172 85/.16),transparent 70%)}
html.m2-modern .dv-mart-head {display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:end;position:relative}
html.m2-modern .dv-mart-kicker {display:flex;align-items:center;gap:14px;font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--m2-gold);margin:0 0 18px}
html.m2-modern .dv-mart-kicker .status {letter-spacing:.02em;font-weight:600;color:#d9d7cf;border:1px solid var(--m2-gold-line);border-radius:999px;padding:3px 10px;text-transform:none}
html.m2-modern .dv-mart-hero h2 {font-size:clamp(38px,5vw,72px);line-height:1.04;letter-spacing:-.05em;margin:0;color:#fff;font-weight:600}
html.m2-modern .dv-mart-sub {font-size:clamp(17px,1.5vw,20px);color:var(--m2-gold-soft);line-height:1.5;margin:20px 0 0;max-width:40ch}
html.m2-modern .dv-mart-intro {color:#c3c2bb;font-size:16px;line-height:1.8;margin:0;max-width:52ch}
html.m2-modern .dv-mart-figure {margin-top:56px;position:relative;z-index:1}
html.m2-modern .dv-mart-frame {overflow:hidden;border-radius:2px;border:1px solid var(--m2-gold-line);border-bottom:0;box-shadow:0 -20px 80px -40px rgb(216 172 85/.45)}
html.m2-modern .dv-mart-frame img {display:block;width:100%;height:auto;transform-origin:50% 60%}
@media (prefers-reduced-motion:no-preference) {
  html.m2-modern:not(.still) [data-mart-hero].is-in .dv-mart-frame img {animation:m2-push 22s ease-out forwards}
  html.m2-modern:not(.still) [data-mart-hero] .dv-mart-frame {clip-path:inset(0 0 0 0 round 0)}
}
@keyframes m2-push {from{transform:scale(1.06)} to{transform:scale(1)}}
@media (max-width:860px) {html.m2-modern .dv-mart-head {grid-template-columns:1fr;gap:22px} html.m2-modern .dv-mart-hero {padding-top:72px}}

/* M2 Mart body (white) */
html.m2-modern .dv-mart-body {background:#f4f2ed;padding:24px 0 96px;color:#141414}
html.m2-modern .dv-mart-features {margin-top:48px}
html.m2-modern .dv-mart-shelves {margin:26px 0 0;padding:18px 22px;border-left:2px solid var(--m2-gold);background:#fff;border-radius:2px;color:#3d3e39;line-height:1.7;max-width:900px}
html.m2-modern .dv-mart-plan {margin-top:72px;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:22px 28px;align-items:start}
html.m2-modern .dv-mart-plan-head {grid-column:1/-1}
html.m2-modern .dv-mart-plan-head h3 {font-size:clamp(26px,2.6vw,36px);letter-spacing:-.035em;margin:0 0 8px}
html.m2-modern .dv-mart-plan-head p {margin:0;color:#55564f}
html.m2-modern .dv-mart-plan-stage {position:relative;border-radius:2px;overflow:hidden;border:1px solid var(--m2-gold-line);box-shadow:var(--m2-lift-light);grid-row:2 / span 2}
html.m2-modern .dv-mart-plan-stage img {display:block;width:100%;height:auto}
html.m2-modern .dv-plan-pin {position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;border:1.5px solid #fff;background:rgb(10 10 11/.72);color:#fff;font:700 13px/1 inherit;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(4px);transition:background .25s,transform .25s,border-color .25s}
html.m2-modern .dv-plan-pin::after {content:'';position:absolute;inset:-6px;border-radius:50%;border:1px solid rgb(231 201 130/.7);opacity:0}
html.m2-modern .dv-plan-pin:hover {transform:translate(-50%,-50%) scale(1.1)}
html.m2-modern .dv-plan-pin[aria-pressed=true] {background:var(--m2-gold);border-color:var(--m2-gold-soft);color:#141414}
html.m2-modern .dv-plan-pin:focus-visible {outline:2px solid #fff;outline-offset:4px}
@media (prefers-reduced-motion:no-preference) {html.m2-modern:not(.still) .dv-plan-pin[aria-pressed=true]::after {animation:m2-ping 2.2s ease-out infinite}}
@keyframes m2-ping {0%{transform:scale(.8);opacity:.9} 100%{transform:scale(1.7);opacity:0}}
html.m2-modern .dv-plan-detail {background:#0b0b0c;color:#ecebe6;border:1px solid var(--m2-gold-line);border-radius:2px;padding:24px;box-shadow:var(--m2-lift);min-height:170px}
html.m2-modern .dv-plan-count {display:block;font-size:12px;color:var(--m2-gold);font-weight:700;letter-spacing:.06em;margin-bottom:10px}
html.m2-modern .dv-plan-detail strong {display:block;font-size:22px;letter-spacing:-.02em;margin-bottom:8px;color:#fff}
html.m2-modern .dv-plan-detail p {margin:0;color:#c7c6bf;line-height:1.7}
html.m2-modern .dv-plan-list {list-style:none;margin:0;padding:0;display:grid;gap:6px}
html.m2-modern .dv-plan-list button {width:100%;display:flex;gap:12px;align-items:center;min-height:44px;padding:8px 12px;border:1px solid #e1ddd3;border-radius:2px;background:#fff;font:inherit;font-size:14px;color:#2b2b28;text-align:left;cursor:pointer;transition:border-color .2s,background .2s}
html.m2-modern .dv-plan-list button span {display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#f1ece0;color:#8a5f0c;font-size:12px;font-weight:700;flex:none}
html.m2-modern .dv-plan-list button[aria-pressed=true] {border-color:var(--m2-gold);background:#fbf6ea}
@media (max-width:900px) {
  html.m2-modern .dv-mart-plan {grid-template-columns:1fr}
  html.m2-modern .dv-mart-plan-stage {grid-row:auto}
  html.m2-modern .dv-plan-pin {width:28px;height:28px;font-size:12px}
}
html.m2-modern .dv-mart-dock {margin:72px 0 0;position:relative;border-radius:2px;overflow:hidden;border:1px solid var(--m2-gold-line)}
html.m2-modern .dv-mart-dock img {display:block;width:100%;height:auto}
html.m2-modern .dv-mart-dock figcaption {position:absolute;left:22px;bottom:22px;max-width:46ch;padding:14px 18px;border-radius:2px;background:rgb(10 10 11/.72);color:#e6e4dc;font-size:14px;line-height:1.6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
html.m2-modern .dv-mart-dock figcaption strong {color:#fff}
@media (max-width:700px) {html.m2-modern .dv-mart-dock figcaption {position:static;border-radius:0;background:#0b0b0c}}
html.m2-modern .dv-mart-audiences {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:72px;border-top:1px solid #d9d4c7}
html.m2-modern .dv-mart-audiences>div {padding:28px 28px 0 0}
html.m2-modern .dv-mart-audiences>div+div {padding-left:28px;border-left:1px solid #d9d4c7}
html.m2-modern .dv-mart-audiences h3 {font-size:18px;margin:0 0 10px;letter-spacing:-.015em}
html.m2-modern .dv-mart-audiences p {margin:0;color:#55564f;line-height:1.75;font-size:15px}
@media (max-width:860px) {html.m2-modern .dv-mart-audiences {grid-template-columns:1fr} html.m2-modern .dv-mart-audiences>div+div {padding-left:0;border-left:0;border-top:1px solid #d9d4c7}}
html.m2-modern .dv-mart-cta {display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:56px;padding:26px 30px;background:#0b0b0c;color:#ecebe6}
html.m2-modern .dv-mart-cta p {margin:0;font-size:18px;line-height:1.5;max-width:50ch}
@media (max-width:640px) {html.m2-modern .dv-mart-cta {flex-direction:column;align-items:flex-start}}
html.m2-modern .dv-locker-cards {margin-top:48px}
/* Concept renderings carry their caption in the image; keep the whole frame visible on the division cards. */
html.m2-modern .mh-home .ln-more-list li:nth-child(4) .v2-offer-image img {object-position:30% 50%}

/* About: Georgia map without the ZIP explorer */
html.m2-modern .ma-georgia-layout {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center;margin-top:40px}
html.m2-modern .ma-geography-simple {margin:0;border:1px solid var(--m2-gold-line);background:#03060b;padding:20px}
html.m2-modern .ma-geography-simple svg {display:block;width:100%;height:auto;max-height:560px}
html.m2-modern .ma-geography-simple figcaption {margin-top:12px;font-size:12px;color:#8f8e88;line-height:1.6}
html.m2-modern .ma-georgia-points {list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid rgb(255 255 255/.12)}
html.m2-modern .ma-georgia-points li {padding:22px 0;border-bottom:1px solid rgb(255 255 255/.12)}
html.m2-modern .ma-georgia-points strong {display:block;color:#fff;font-size:19px;letter-spacing:-.015em;margin-bottom:6px}
html.m2-modern .ma-georgia-points span {color:#b9b8b1;line-height:1.7}
@media (max-width:860px) {html.m2-modern .ma-georgia-layout {grid-template-columns:1fr;gap:28px}}
/* About: What M2 runs, a little smaller */
html.m2-modern .ma-future .ma-section-heading h2 {font-size:clamp(32px,3.8vw,54px)!important}
/* About: What M2 runs. A menu on the left with real padding, one feature panel on the right: image beside its copy. */
html.m2-modern .ma-future .ma-section-heading {margin-bottom:44px}
html.m2-modern .ma-service-studio {display:grid!important;grid-template-columns:280px minmax(0,1fr)!important;gap:40px!important;align-items:stretch!important;border:0!important;box-shadow:none!important}
html.m2-modern .ma-service-selector {display:flex!important;flex-direction:column;padding:0!important;border-top:1px solid #dcd9d0;align-self:start}
html.m2-modern .ma-service-selector button {
  position:relative;display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;
  padding:20px 20px 20px 22px!important;border:0!important;border-bottom:1px solid #dcd9d0!important;border-radius:0!important;
  font-size:17px!important;font-weight:500;letter-spacing:-.01em;line-height:1.35;color:#6d6e69;background:transparent;transform:none!important;
  transition:color .2s,background-color .2s;
}
html.m2-modern .ma-service-selector button::before {content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--m2-gold);transform:scaleY(0);transform-origin:top;transition:transform .35s var(--m2-ease)}
html.m2-modern .ma-service-selector button:hover {color:#161719;background:#f1efea}
html.m2-modern .ma-service-selector button[aria-expanded=true] {color:#161719!important;font-weight:600;background:#fff}
html.m2-modern .ma-service-selector button[aria-expanded=true]::before {transform:scaleY(1)}
html.m2-modern .ma-service-selector svg {width:18px;height:18px;flex:0 0 18px;opacity:.35}
html.m2-modern .ma-service-selector [aria-expanded=true] svg {opacity:1;color:#8a5f0c}
html.m2-modern .ma-service-selector button:focus-visible {outline:2px solid var(--m2-gold);outline-offset:-2px}
html.m2-modern .ma-service-feature {display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);background:#fff!important;border:1px solid #dcd9d0;min-height:380px}
html.m2-modern .ma-service-feature figure {aspect-ratio:auto!important;height:100%;min-height:320px}
html.m2-modern .ma-service-feature figcaption {left:16px!important;bottom:16px!important}
html.m2-modern .ma-service-copy {padding:40px 40px 36px!important;display:flex;flex-direction:column;justify-content:center}
html.m2-modern .ma-service-copy>span {font-size:11px!important;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8a5f0c!important;margin-bottom:14px!important}
html.m2-modern .ma-service-copy h3 {font-size:clamp(22px,2vw,28px)!important;letter-spacing:-.03em;line-height:1.2;margin:0 0 14px}
html.m2-modern .ma-service-copy p {min-height:0!important;font-size:15px!important;line-height:1.75;margin:0 0 24px!important}
html.m2-modern .ma-service-copy a {align-self:flex-start}
@media (max-width:1000px) {
  html.m2-modern .ma-service-studio {grid-template-columns:1fr!important;gap:24px!important}
  html.m2-modern .ma-service-selector {display:grid!important;grid-template-columns:1fr 1fr;border-top:0;gap:0 16px}
  html.m2-modern .ma-service-selector button {border-top:1px solid #dcd9d0!important}
}
@media (max-width:700px) {
  html.m2-modern .ma-service-selector {grid-template-columns:1fr}
  html.m2-modern .ma-service-selector button {padding:16px 16px 16px 18px!important;font-size:16px!important}
  html.m2-modern .ma-service-feature {grid-template-columns:1fr}
  html.m2-modern .ma-service-feature figure {min-height:0;aspect-ratio:1.6!important}
  html.m2-modern .ma-service-copy {padding:26px 22px 28px!important}
}
html.m2-modern .ma-geography-simple .ma-georgia-map {position:static;inset:auto;width:100%;height:auto;opacity:1}
html.m2-modern .ma-georgia .ma-section-heading {align-items:end}
/* Contact: the route note becomes a ruled paragraph; founder cards get square corners. */
html.m2-modern .ct-routes-head p {animation:none!important;transform:none!important;background:none!important;box-shadow:none!important;border:0!important;border-left:2px solid var(--m2-gold)!important;border-radius:0!important;padding:2px 0 2px 20px!important}
html.m2-modern .ct-routes-head p::before,html.m2-modern .ct-routes-head p::after {content:none!important}
html.m2-modern :is(.ct-founder,.ct-founder img,.surface-form,.meeting-shell,.ln-founder-photo,.v2-product-detail,.v3-brain-node,.m2-audience-panel figure,.m2-audience-panel img,.au-panel,.v2-program-model,.ma-service-studio,.ma-service-feature) {border-radius:2px!important}

/* ---------- Round 2 (Nov 2026) ---------- */
html.m2-modern .m2-gold {color:var(--m2-gold)}
/* Hero: the fleet photo sits fully inside the black hero, centered with the headline. */
html.m2-modern [data-page="home"].mh-home .mh-hero {padding-bottom:72px!important;border-bottom:0}
html.m2-modern .mh-hero .mh-hero-copy {padding-bottom:0!important}
html.m2-modern .mh-hero .mh-fleet-photo {align-self:center!important;margin-bottom:0!important;transform:none}
@media (prefers-reduced-motion:no-preference) {
  html.m2-modern:not(.still) .mh-hero .mh-fleet-photo {animation:m2-float 9s ease-in-out infinite}
}
@media (max-width:900px) {html.m2-modern .mh-hero .mh-fleet-photo {margin-bottom:0!important}}
html.m2-modern .mh-home .ln-story {padding-top:96px}
/* Journey: edge to edge on both sides. */
html.m2-modern main .mh-journey-section {padding:0}
html.m2-modern main .mh-journey-section .mh-journey {max-width:none!important;width:100%!important;padding:0!important;margin:0!important}
html.m2-modern main .mh-journey-section .mj {width:100%!important;margin:0!important;border-left:0!important;border-right:0!important;border-radius:0!important}
/* iPhone: keep the glass behind the header contents (WebKit can paint backdrop-filter layers above siblings). */
html.m2-modern.m2-glass .site-header {isolation:isolate}
html.m2-modern.m2-glass .site-header>.m2-glass-shell {z-index:0}
html.m2-modern.m2-glass .site-header>:not(.m2-glass-shell):not(.m2-glass-filters) {position:relative;z-index:1}
@supports (-webkit-touch-callout:none) {
  html.m2-modern.m2-glass .m2-glass-body {-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);background:rgb(255 255 255/.82)}
  html.m2-modern.m2-glass .site-header[data-tone=dark] .m2-glass-body {background:rgb(28 28 31/.86)}
  html.m2-modern.m2-glass .site-header {padding-top:env(safe-area-inset-top)}
}
/* Contact founders */
html.m2-modern .ct-founders-block {display:grid;gap:18px;align-content:start}
html.m2-modern .ct-founders-title {margin:0;color:#fff;font-size:clamp(22px,2.2vw,30px);letter-spacing:-.03em;line-height:1.2;font-weight:600}
html.m2-modern .ct-founder small {white-space:normal}

/* ---------- Accordion (site-wide +/−) ---------- */
html.m2-modern .m2-acc {border-top:1px solid var(--acc-line,#d9d6cd)}
html.m2-modern .m2-acc-item {border-bottom:1px solid var(--acc-line,#d9d6cd)}
html.m2-modern .m2-acc-head {margin:0;font:inherit}
html.m2-modern .m2-acc-btn {display:flex;width:100%;align-items:center;justify-content:space-between;gap:20px;min-height:56px;padding:16px 2px;border:0;background:none;color:inherit;font:inherit;font-size:clamp(17px,1.5vw,20px);font-weight:600;letter-spacing:-.015em;text-align:left;cursor:pointer;opacity:.62;transition:opacity .3s var(--m2-ease)}
html.m2-modern .m2-acc-item.is-open .m2-acc-btn,html.m2-modern .m2-acc-btn:hover {opacity:1}
html.m2-modern .m2-acc-btn:focus-visible {outline:2px solid var(--m2-gold);outline-offset:3px}
html.m2-modern .m2-acc-icon {position:relative;flex:none;width:16px;height:16px}
html.m2-modern .m2-acc-icon::before,html.m2-modern .m2-acc-icon::after {content:'';position:absolute;left:0;top:7px;width:16px;height:2px;background:currentColor;border-radius:1px;transition:transform .45s var(--m2-ease)}
html.m2-modern .m2-acc-icon::after {transform:rotate(90deg)}
html.m2-modern .m2-acc-item.is-open .m2-acc-icon::after {transform:rotate(0deg)}
html.m2-modern .m2-acc-item.is-open .m2-acc-icon::before {transform:rotate(180deg)}
html.m2-modern .m2-acc-panel {display:grid;grid-template-rows:1fr}
html.m2-modern .m2-acc-inner {min-height:0;overflow:hidden}
html.m2-modern .m2-acc-inner>:last-child {margin-bottom:0}
html.m2-modern .m2-acc-inner p {margin:0 0 18px;max-width:46ch;line-height:1.7;opacity:.82}
/* Collapsing only once scripts are running, so content is never hidden without them. */
html.m2-modern.m2-js .m2-acc-panel {grid-template-rows:0fr;transition:grid-template-rows .5s var(--m2-ease)}
html.m2-modern.m2-js .m2-acc-item.is-open .m2-acc-panel {grid-template-rows:1fr}
html.m2-modern.m2-js .m2-acc-inner {opacity:0;transform:translateY(-4px);transition:opacity .35s ease,transform .45s var(--m2-ease)}
html.m2-modern.m2-js .m2-acc-item.is-open .m2-acc-inner {opacity:1;transform:none;transition-delay:.08s}
@media (prefers-reduced-motion:reduce) {html.m2-modern .m2-acc * {transition:none!important}}

/* ---------- How M2GO works: two phones on a studio surface ---------- */
html.m2-modern .hw {background:#e7e6e2;color:#141414;padding:104px 0 96px;overflow:hidden}
html.m2-modern .hw-grid {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}
html.m2-modern .hw h2 {font-size:clamp(36px,4.4vw,60px);letter-spacing:-.045em;line-height:1.05;margin:0 0 14px;font-weight:600}
html.m2-modern .hw-lead {color:#55564f;margin:0 0 30px;font-size:16px}
html.m2-modern .hw-acc {--acc-line:#cfccc3;max-width:460px}
html.m2-modern .hw-stage {position:relative;display:flex;justify-content:center;align-items:center;gap:0;min-height:640px;--pw:276px}
html.m2-modern .hw-floor {position:absolute;left:12%;right:12%;bottom:32px;height:44px;border-radius:50%;background:rgb(0 0 0/.28);filter:blur(26px)}
html.m2-modern .hw-stage {flex-wrap:nowrap}
html.m2-modern .hw-note {position:absolute;left:0;right:0;bottom:-6px;margin:0;text-align:center;font-size:11px;color:#77776f}
html.m2-modern .hw-stage {padding-bottom:34px}
html.m2-modern .pg-phone {position:relative;width:var(--pw);aspect-ratio:9/19.5;padding:3px;border-radius:calc(var(--pw)*.165);background:linear-gradient(135deg,#55565a 0%,#1b1b1d 18%,#0e0e0f 50%,#2a2a2d 82%,#6a6b70 100%);box-shadow:0 2px 2px rgb(0 0 0/.18),0 26px 40px -18px rgb(0 0 0/.45),0 60px 90px -40px rgb(0 0 0/.35)}
html.m2-modern .pg-btn-side {position:absolute;width:3px;border-radius:2px;background:linear-gradient(90deg,#3c3d40,#141415)}
html.m2-modern .pg-btn-a {left:-2px;top:18%;height:5%}
html.m2-modern .pg-btn-b {left:-2px;top:26%;height:9%}
html.m2-modern .pg-btn-c {right:-2px;top:28%;height:13%}
html.m2-modern .pg-glass {position:relative;height:100%;border-radius:calc(var(--pw)*.15);padding:calc(var(--pw)*.032);background:#050505;overflow:hidden;font-size:calc(var(--pw)/28)}
html.m2-modern .pg-slot {position:absolute;inset:calc(var(--pw)*.032);opacity:0;transform:translateY(14px) scale(.985);transition:opacity .6s var(--m2-ease),transform .7s var(--m2-ease);pointer-events:none}
html.m2-modern .pg-slot.is-active {opacity:1;transform:none}
@media (prefers-reduced-motion:reduce) {html.m2-modern .pg-slot {transition:none}}
html.m2-modern .pg-screen {position:relative;height:100%;border-radius:calc(var(--pw)*.12);overflow:hidden;background:#111214;color:#f2f1ec;font-family:inherit;line-height:1.35}
html.m2-modern .pg-status {position:absolute;z-index:4;left:0;right:0;top:0;display:flex;justify-content:space-between;align-items:center;padding:1.15em 2.2em 0;font-size:1.1em;font-weight:700;color:#fff}
html.m2-modern .pg-island {position:absolute;left:50%;top:.9em;width:9em;height:2.6em;margin-left:-4.5em;border-radius:2em;background:#000}
html.m2-modern .pg-sys {display:flex;gap:.18em;align-items:flex-end}
html.m2-modern .pg-sys b {display:block;width:.28em;background:#fff;border-radius:.1em}
html.m2-modern .pg-sys b:nth-child(1){height:.45em}html.m2-modern .pg-sys b:nth-child(2){height:.65em}html.m2-modern .pg-sys b:nth-child(3){height:.85em}html.m2-modern .pg-sys b:nth-child(4){height:1.05em}
html.m2-modern .pg-btn {display:flex;align-items:center;justify-content:center;height:3.6em;border-radius:1.8em;font-weight:700;font-size:1.15em}
html.m2-modern .pg-btn-light {background:#f4f3ef;color:#111}
html.m2-modern .pg-btn-gold {background:linear-gradient(180deg,#e2bd6c,#c99a3f);color:#141109}
html.m2-modern .pg-bottom {position:absolute;left:1.6em;right:1.6em;bottom:2.2em}
html.m2-modern .pg-row {display:flex;justify-content:space-between;gap:1em;font-size:1em;color:#b9b7af;margin:.5em 0 1.2em}
/* welcome */
html.m2-modern .pg-welcome {background:linear-gradient(170deg,#1a1a1c 0%,#0d0d0e 55%,#16130d 100%)}
html.m2-modern .pg-welcome-mark {position:absolute;top:22%;left:0;right:0;display:grid;justify-items:center;gap:.3em}
html.m2-modern .pg-welcome-mark img {width:7.4em;height:7.4em;object-fit:contain}
html.m2-modern .pg-welcome-mark strong {font-size:2.6em;letter-spacing:.06em;margin-top:.2em}
html.m2-modern .pg-welcome-mark span {font-size:1em;color:#a9a79f;letter-spacing:.04em}
html.m2-modern .pg-welcome-copy {position:absolute;left:2em;right:2em;bottom:11em;text-align:center}
html.m2-modern .pg-welcome-copy h4 {margin:0 0 .5em;font-size:1.75em;line-height:1.2;letter-spacing:-.02em;color:#fff;font-weight:600}
html.m2-modern .pg-welcome-copy p {margin:0;font-size:1.05em;color:#a9a79f;line-height:1.5}
html.m2-modern .pg-welcome-actions {position:absolute;left:1.6em;right:1.6em;bottom:2.4em;display:grid;gap:1.1em;justify-items:center}
html.m2-modern .pg-welcome-actions .pg-btn {width:100%}
html.m2-modern .pg-link {font-size:1em;color:#a9a79f}
html.m2-modern .pg-link b {color:#fff}
/* map screens */
html.m2-modern .pg-map {position:absolute;inset:0;width:100%;height:100%}
html.m2-modern .pg-chip {position:absolute;z-index:3;top:5em;left:50%;transform:translateX(-50%);padding:.7em 1.3em;border-radius:2em;background:rgb(17 18 20/.92);border:1px solid #2c2f33;font-size:1.05em;white-space:nowrap}
html.m2-modern .pg-sheet {position:absolute;left:0;right:0;bottom:0;padding:1em 1.6em 2.2em;border-radius:2.2em 2.2em 0 0;background:#f4f3ef;color:#141414}
html.m2-modern .pg-sheet-grab {display:block;width:3.6em;height:.4em;border-radius:.2em;background:#cdcac1;margin:0 auto 1.2em}
html.m2-modern .pg-sheet small,html.m2-modern .pg-ride-card small {display:block;font-size:.85em;letter-spacing:.12em;font-weight:700;color:#8a5f0c}
html.m2-modern .pg-sheet strong {display:block;font-size:2em;letter-spacing:-.02em;margin-top:.15em}
html.m2-modern .pg-sheet .pg-row {color:#5d5e57}
html.m2-modern .pg-ride-card {position:absolute;z-index:3;top:5em;left:1.4em;right:1.4em;padding:1.2em 1.4em .2em;border-radius:1.6em;background:rgb(17 18 20/.94);border:1px solid #2c2f33}
html.m2-modern .pg-ride-card small {color:#e7c982}
html.m2-modern .pg-ride-card strong {display:block;font-size:2.6em;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
/* camera screens */
html.m2-modern .pg-photo {position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
html.m2-modern .pg-scan .pg-photo {object-position:50% 47%;filter:none}
/* The scan square is centred on the photo's QR code (the photo is cropped so the code sits at 50% / 47%). */
html.m2-modern .pg-scan .pg-scan-frame {top:auto;left:50%;right:auto;width:58%;transform:translate(-50%,-50%);margin-top:0;position:absolute}
html.m2-modern .pg-scan .pg-scan-frame {top:47%}
html.m2-modern .pg-scan::after,html.m2-modern .pg-park::after {content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgb(0 0 0/.55),transparent 28%,transparent 62%,rgb(0 0 0/.7))}
html.m2-modern .pg-scan-frame {position:absolute;z-index:2;left:22%;right:22%;top:34%;aspect-ratio:1}
html.m2-modern .pg-scan-frame i {position:absolute;width:22%;height:22%;border:.3em solid #fff}
html.m2-modern .pg-scan-frame i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0;border-radius:.8em 0 0 0}
html.m2-modern .pg-scan-frame i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0;border-radius:0 .8em 0 0}
html.m2-modern .pg-scan-frame i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0;border-radius:0 0 0 .8em}
html.m2-modern .pg-scan-frame i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0;border-radius:0 0 .8em 0}
html.m2-modern :is(.pg-scan-copy,.pg-park-top) {position:absolute;z-index:3;top:5.2em;left:1.6em;right:1.6em;text-align:center;display:grid;gap:.35em}
html.m2-modern :is(.pg-scan-copy,.pg-park-top) strong {font-size:1.45em;color:#fff}
html.m2-modern :is(.pg-scan-copy,.pg-park-top) span {font-size:1em;color:#dedcd5}
html.m2-modern .pg-park .pg-photo {object-position:30% 60%}
html.m2-modern .pg-park-zone {position:absolute;z-index:3;left:50%;bottom:7.6em;transform:translateX(-50%);padding:.6em 1.2em;border-radius:2em;background:rgb(17 18 20/.85);border:1px solid #d8ac55;color:#e7c982;font-size:1em;font-weight:700;white-space:nowrap}
html.m2-modern .pg-screen .pg-bottom,html.m2-modern .pg-screen .pg-btn {z-index:3;position:absolute}
html.m2-modern .pg-welcome-actions .pg-btn {position:static}
html.m2-modern .pg-sheet .pg-btn {position:static}
@media (max-width:1000px) {
  html.m2-modern .hw-grid {grid-template-columns:1fr;gap:40px}
  html.m2-modern .hw-acc {max-width:none}
  html.m2-modern .hw-stage {--pw:230px;min-height:540px}
}
@media (max-width:560px) {
  html.m2-modern .hw {padding:72px 0 64px}
  html.m2-modern .hw-stage {--pw:min(46vw,190px);min-height:450px}
}

/* ---------- Rider guide pieces (Safety page and /riders/) ---------- */
html.m2-modern .rg-title {font-size:clamp(36px,4.6vw,64px);letter-spacing:-.045em;line-height:1.04;margin:0 0 40px;font-weight:600}
html.m2-modern :is(.rg-ride,.rg-parking,.mb) {background:#fff;color:#141414;padding:96px 0}
html.m2-modern .rg-steps {list-style:none;margin:0;padding:0;display:grid;gap:28px}
html.m2-modern .rg-step {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:center}
html.m2-modern .rg-step-photo,html.m2-modern .rg-block-photo {margin:0;overflow:hidden;border-radius:2px;background:#eceae5;aspect-ratio:4/3}
html.m2-modern :is(.rg-step-photo,.rg-block-photo) img {width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--m2-ease)}
html.m2-modern .rg-step:hover .rg-step-photo img {transform:scale(1.03)}
html.m2-modern .rg-step-copy h3 {font-size:clamp(24px,2.4vw,32px);letter-spacing:-.03em;margin:0 0 12px;font-weight:600}
html.m2-modern .rg-step-copy h3 span {color:#8a5f0c}
html.m2-modern .rg-step-copy p {margin:0;color:#4b4c46;line-height:1.75;max-width:52ch}
html.m2-modern .rg-step-copy a {color:#8a5f0c}
html.m2-modern .rg-app-bar {display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:48px;padding:26px 30px;background:#0b0b0c;color:#ecebe6;border-left:2px solid var(--m2-gold)}
html.m2-modern .rg-app-bar strong {font-size:clamp(18px,1.8vw,24px);font-weight:600;letter-spacing:-.02em}
html.m2-modern .rg-app-bar span {color:var(--m2-gold-soft);font-size:14px}
html.m2-modern .rg-safety {background:#f4f2ed;color:#141414;padding:96px 0}
html.m2-modern .rg-block {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;margin-top:24px}
html.m2-modern .rg-block+.rg-block {margin-top:64px}
html.m2-modern .rg-block-flip .rg-block-photo {order:2}
html.m2-modern .rg-block-copy h3 {font-size:clamp(24px,2.4vw,32px);letter-spacing:-.03em;margin:0 0 18px;font-weight:600}
html.m2-modern .rg-block-copy .m2-acc {--acc-line:#d6d2c7}
html.m2-modern .rg-block-copy a,html.m2-modern .m2-acc-inner a {color:#8a5f0c}
@media (max-width:860px) {
  html.m2-modern .rg-step,html.m2-modern .rg-block {grid-template-columns:1fr;gap:20px}
  html.m2-modern .rg-block-flip .rg-block-photo {order:0}
  html.m2-modern .rg-app-bar {flex-direction:column;align-items:flex-start}
  html.m2-modern :is(.rg-ride,.rg-parking,.mb,.rg-safety) {padding:64px 0}
}
/* Rider guide page header and sticky sub-menu */
html.m2-modern .rg-hero {background:#000;color:#f2f1ec;padding:120px 0 56px}
html.m2-modern .rg-hero h1 {font-size:clamp(44px,6vw,84px);letter-spacing:-.05em;line-height:1;margin:0 0 16px;font-weight:600}
html.m2-modern .rg-hero p {margin:0;color:#b9b8b1;max-width:52ch;line-height:1.7}
html.m2-modern .rg-subnav {position:sticky;top:84px;z-index:20;background:rgb(255 255 255/.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #e3e0d8}
html.m2-modern .rg-subnav .wrap {display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:56px}
html.m2-modern .rg-subnav strong {font-size:15px;color:#141414}
html.m2-modern .rg-subnav-links {display:flex;gap:28px;overflow-x:auto;scrollbar-width:none}
html.m2-modern .rg-subnav-links a {position:relative;padding:18px 0;color:#6d6e69;text-decoration:none;font-size:14px;white-space:nowrap;transition:color .25s}
html.m2-modern .rg-subnav-links a::after {content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--m2-gold);transform:scaleX(0);transition:transform .4s var(--m2-ease)}
html.m2-modern .rg-subnav-links a[aria-current] {color:#141414;font-weight:600}
html.m2-modern .rg-subnav-links a[aria-current]::after {transform:scaleX(1)}
html.m2-modern [data-page="guide"] :is(#how-to-ride,#safety-101,#parking,#memberships,#help) {scroll-margin-top:150px}
@media (max-width:700px) {html.m2-modern .rg-subnav strong {display:none} html.m2-modern .rg-subnav-links {gap:20px;width:100%}}
/* Parking and docking */
html.m2-modern .rg-intro {margin:-20px 0 40px;color:#55564f;max-width:60ch;line-height:1.7}
html.m2-modern .rg-style {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;padding:36px 0;border-top:1px solid #e6e3db}
html.m2-modern .rg-style-flip .rg-style-art {order:2}
html.m2-modern .rg-style-art {margin:0;background:#0b0b0c;border-radius:2px;padding:12px}
html.m2-modern .rg-style-copy h3 {font-size:clamp(24px,2.4vw,32px);letter-spacing:-.03em;margin:0 0 12px;font-weight:600}
html.m2-modern .rg-style-copy>p {color:#4b4c46;line-height:1.75;margin:0 0 18px}
html.m2-modern :is(.rg-style-copy,.mb-card) ul {list-style:none;margin:0;padding:0;display:grid;gap:12px}
html.m2-modern :is(.rg-style-copy,.mb-card) li {display:flex;gap:12px;align-items:flex-start;line-height:1.6}
html.m2-modern :is(.rg-style-copy,.mb-card) li svg {flex:none;width:22px;height:22px;margin-top:1px;fill:none;stroke:#8a5f0c;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:860px) {html.m2-modern .rg-style {grid-template-columns:1fr;gap:20px} html.m2-modern .rg-style-flip .rg-style-art {order:0}}
html.m2-modern .iso-scene {display:block;width:100%;height:auto}
html.m2-modern .iso-ground {fill:#26272a;stroke:#3a3b3f;stroke-width:1}
html.m2-modern .iso-ground-side {fill:#151517}
html.m2-modern .iso-ground-side2 {fill:#1c1c1e}
html.m2-modern .iso-road {fill:#1b1b1d}
html.m2-modern .iso-curb {stroke:#d9d7cf;stroke-width:2}
html.m2-modern .iso-clear {fill:#d8ac55;fill-opacity:.1}
html.m2-modern .iso-zone {fill:#d8ac55;fill-opacity:.16;stroke:#d8ac55;stroke-width:1.6;stroke-dasharray:6 4}
html.m2-modern .iso-p {font:700 18px Manrope,Arial,sans-serif;fill:#e7c982}
html.m2-modern .iso-scooter line {stroke-linecap:round}
html.m2-modern .iso-deck {stroke:#f2f1ec;stroke-width:4}
html.m2-modern .iso-stem {stroke:#f2f1ec;stroke-width:3}
html.m2-modern .iso-bar {stroke:#d8ac55;stroke-width:3}
html.m2-modern .iso-wheel {fill:#0b0b0c;stroke:#f2f1ec;stroke-width:2}
html.m2-modern .iso-check circle {fill:#d8ac55}
html.m2-modern .iso-check path {fill:none;stroke:#141109;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
html.m2-modern .iso-rail {stroke:#8d8b84;stroke-width:5;stroke-linecap:round}
html.m2-modern .iso-post {stroke:#8d8b84;stroke-width:3;stroke-linecap:round}
html.m2-modern .iso-cap {fill:#d8ac55}
/* Memberships */
html.m2-modern .mb {background:#f4f2ed}
html.m2-modern .mb-title {text-align:center;margin-bottom:14px}
html.m2-modern .mb-lead {text-align:center;margin:0 auto 48px;color:#55564f;max-width:60ch;line-height:1.7}
html.m2-modern .mb-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
html.m2-modern .mb-card {position:relative;overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid #e1ddd3;border-radius:2px;padding:52px 32px 32px;text-align:center;transition:transform .45s var(--m2-ease),box-shadow .45s var(--m2-ease),border-color .3s}
html.m2-modern .mb-card:hover {transform:translateY(-6px);box-shadow:0 30px 60px -32px rgb(20 16 8/.45);border-color:var(--m2-gold)}
html.m2-modern .mb-featured {background:#0b0b0c;color:#f2f1ec;border-color:var(--m2-gold)}
html.m2-modern .mb-ribbon {position:absolute;top:26px;right:-46px;width:180px;padding:7px 0;transform:rotate(45deg);background:var(--m2-gold);color:#141109;font-size:12px;font-weight:700;letter-spacing:.02em}
html.m2-modern .mb-card h3 {font-size:clamp(26px,2.4vw,34px);letter-spacing:-.03em;margin:0 0 8px;font-weight:700}
html.m2-modern .mb-line {margin:0 0 26px;color:#6d6e69}
html.m2-modern .mb-featured .mb-line {color:#b9b8b1}
html.m2-modern .mb-card ul {text-align:left;margin:0 auto 30px;gap:0;max-width:300px;width:100%}
html.m2-modern .mb-card li {padding:14px 0;border-bottom:1px solid #e6e3db}
html.m2-modern .mb-featured li {border-bottom-color:#2a2a2d}
html.m2-modern .mb-featured li svg {stroke:var(--m2-gold-soft)}
html.m2-modern .mb-card .button {margin-top:auto;width:100%}
html.m2-modern .mb-campus {text-align:center;margin:32px 0 0;color:#3d3e39}
html.m2-modern .mb-campus a {color:#8a5f0c;margin-left:6px}
html.m2-modern .mb-waitlist {max-width:640px;margin:48px auto 0;background:#fff;border:1px solid #e1ddd3;padding:28px}
html.m2-modern .mb-waitlist h3 {margin:0 0 16px;font-size:20px}
@media (max-width:900px) {html.m2-modern .mb-grid {grid-template-columns:1fr;max-width:460px;margin:0 auto}}
/* 24/7 support block */
html.m2-modern .m2-support {border-left:2px solid var(--m2-gold);padding:4px 0 4px 20px;margin-top:22px}
html.m2-modern .m2-support h3 {margin:0 0 8px;font-size:18px;letter-spacing:-.01em}
html.m2-modern .m2-support p {margin:0;line-height:1.7;opacity:.85;max-width:52ch}
html.m2-modern .m2-support a {color:inherit;text-decoration:underline;text-decoration-color:var(--m2-gold)}
/* Safety commitments accordion on its existing background */
html.m2-modern .ms-commit-acc {--acc-line:rgb(255 255 255/.14)}
html.m2-modern .ms-commitments .ms-commit-acc {--acc-line:#d9d6cd}
html.m2-modern .pt-faq-list {--acc-line:#d9d6cd}
@media (max-width:650px){html.m2-modern .rg-subnav {top:70px}}
/* Earn With M2: campus leadership and FAQ */
html.m2-modern .cl {background:#f4f2ed;color:#141414;padding:96px 0}
html.m2-modern .cl h2 {font-size:clamp(32px,3.8vw,52px);letter-spacing:-.04em;margin:0}
html.m2-modern .cl-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:40px 0 28px}
html.m2-modern .cl-card {background:#fff;padding:26px}
html.m2-modern .cl-card h3 {font-size:20px;letter-spacing:-.02em;margin:14px 0 10px}
html.m2-modern .cl-card p {margin:0;color:#55564f;line-height:1.7}
@media (max-width:860px){html.m2-modern .cl-grid {grid-template-columns:1fr}}
html.m2-modern .earn-acc {--acc-line:#d9d6cd}
html.m2-modern .dv-mart-cta, html.m2-modern .dv-mart-cta p {color:#ecebe6}
/* Contrast fixes (round 2 audit) */
html.m2-modern .ln-more .m2-gold {color:#a3741c}
html.m2-modern .hw-note {color:#5f5f58}
html.m2-modern .ms-report .m2-support p,html.m2-modern .ms-report .m2-support a {color:#e4e2da;opacity:1}
html.m2-modern .cl .section-head p {color:#4b4c46}
html.m2-modern .ma-closing p {color:#1e1a10}
html.m2-modern .partner-photo figcaption {color:#4b4c46}
html.m2-modern .m2x-edition-text small {color:#55564f}
html.m2-modern .locked-teaser {color:#4b4c46}
/* Round 2b: two identical phones side by side; founders' titles stacked */
html.m2-modern .hw-stage {gap:clamp(14px,2.4vw,32px)}
html.m2-modern .pg-phone {flex:none;transform:none}
@media (max-width:560px){html.m2-modern .hw-stage {--pw:min(43vw,176px)}}
html.m2-modern .ct-founder small {display:block;font-size:14px;line-height:1.45;color:#d6d4cc;font-weight:500;margin:0}
html.m2-modern .ct-founder strong {margin-bottom:6px}
html.m2-modern .ct-founder em {display:block;margin-top:8px;font-style:normal}

/* ---------- Round 2b: rounded photos in photo-heavy sections (Veo-style) ---------- */
html.m2-modern :is(.rg-step-photo,.rg-block-photo,.rg-style-art) {border-radius:20px!important;overflow:hidden}
html.m2-modern .mh-home .ln-more-list a {border-radius:20px!important}
html.m2-modern .mh-home .ln-more-list .v2-offer-image {border-radius:20px 20px 0 0;overflow:hidden}
html.m2-modern .ma-three-slots .ma-scooter-slot,html.m2-modern .ma-ecosystem-photo>img {border-radius:16px!important;overflow:hidden}
html.m2-modern .mb-card {border-radius:20px!important}

/* ---------- Round 2b: smooth, clean motion (Veo-style) ---------- */
@media (prefers-reduced-motion:no-preference) {html.m2-modern:not(.still) {scroll-behavior:smooth}}
/* Blocks fade up as they enter; images ease out of a slight zoom. Hidden states are added by script only. */
html.m2-modern .m2-rv {opacity:0;transform:translate3d(0,32px,0);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1);transition-delay:var(--rv-d,0ms);will-change:opacity,transform}
html.m2-modern .m2-rv.m2-in {opacity:1;transform:none}
html.m2-modern figure.m2-rv {overflow:hidden}
html.m2-modern :is(figure.m2-rv,.m2-rv figure) img:not(.pg-photo) {transform:scale(1.06);transition:transform 1.6s cubic-bezier(.16,1,.3,1) var(--rv-d,0ms)}
html.m2-modern :is(figure.m2-rv.m2-in,.m2-rv.m2-in figure) img:not(.pg-photo) {transform:none}
/* Headlines rise word by word from behind a mask. */
html.m2-modern .m2-words .m2-w {display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
html.m2-modern .m2-words .m2-w>span {display:inline-block;transform:translate3d(0,105%,0);transition:transform 1s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--wi,0) * 45ms)}
html.m2-modern .m2-words.m2-in .m2-w>span {transform:none}
/* Word wrappers must never pick up a page's own "h2 > span" styles. */
html.m2-modern main h2>.m2-w {display:inline-block!important;font-size:inherit!important;margin:0!important;line-height:inherit!important;letter-spacing:inherit!important;color:inherit!important}
html.m2-modern [data-page="safety"] .ms-final h2 em {display:inline!important;font-size:inherit!important;line-height:inherit!important;margin:0!important;letter-spacing:inherit!important}

/* ---------- Rider guide tabs on the Safety page ---------- */
html.m2-modern .rgt {background:#fff;color:#141414;padding:80px 0 0;scroll-margin-top:84px}
html.m2-modern .rgt-head {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;padding-bottom:28px;border-bottom:1px solid #e6e3db}
html.m2-modern .rgt-head h2 {font-size:clamp(36px,4.6vw,64px);letter-spacing:-.045em;line-height:1.02;margin:0 0 10px;font-weight:600}
html.m2-modern .rgt-head p {margin:0;color:#55564f}
html.m2-modern .rgt-tabs {display:flex;gap:6px;padding:6px;background:#0b0b0c;border-radius:999px;overflow-x:auto;scrollbar-width:none}
html.m2-modern .rgt-tabs button {flex:none;border:0;border-radius:999px;padding:12px 20px;min-height:44px;background:transparent;color:#d6d4cc;font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .35s var(--m2-ease),color .35s var(--m2-ease)}
html.m2-modern .rgt-tabs button:hover {color:#fff}
html.m2-modern .rgt-tabs button[aria-selected=true] {background:var(--m2-gold);color:#141109}
html.m2-modern .rgt-tabs button:focus-visible {outline:2px solid var(--m2-gold-soft);outline-offset:2px}
html.m2-modern .rgt-panel.is-active {animation:m2-panel-in .6s cubic-bezier(.16,1,.3,1)}
@keyframes m2-panel-in {from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){html.m2-modern .rgt-panel.is-active {animation:none}}
html.m2-modern .rgt-panel>section {padding-top:56px}
html.m2-modern .rgt-panel .rg-title {font-size:clamp(28px,3vw,40px);margin-bottom:28px}
html.m2-modern .rg-style-photo {margin:0;aspect-ratio:4/3;border-radius:20px;overflow:hidden;background:#eceae5}
html.m2-modern .rg-style-photo img {width:100%;height:100%;object-fit:cover;display:block}
html.m2-modern .rg-style-flip .rg-style-photo {order:2}
@media (max-width:860px) {
  html.m2-modern .rgt-head {grid-template-columns:1fr}
  html.m2-modern .rgt-tabs {justify-self:stretch}
  html.m2-modern .rg-style-flip .rg-style-photo {order:0}
}

/* ---------- Docking Guide: photo becomes a gold line guide ---------- */
html.m2-modern .dock-anim {position:relative;isolation:isolate}
html.m2-modern .dock-anim img {transition:filter 1.2s cubic-bezier(.16,1,.3,1),transform 1.6s cubic-bezier(.16,1,.3,1)}
html.m2-modern .dk-svg {position:absolute;inset:0;width:100%;height:100%;pointer-events:none;fill:none;stroke-linecap:round;stroke-linejoin:round}
html.m2-modern .dk-rack path {stroke:#e7c982;stroke-width:3.2;stroke-dasharray:1;stroke-dashoffset:1;opacity:0}
html.m2-modern .dk-ghost .dk-scooter-shape :is(path,ellipse) {stroke:rgb(231 201 130/.55);stroke-width:2.2;stroke-dasharray:6 7}
html.m2-modern .dk-ghost {opacity:0}
html.m2-modern .dk-move {opacity:0;transform:translate(-190px,-80px)}
html.m2-modern .dk-move .dk-scooter-shape :is(path,ellipse) {stroke:#fff;stroke-width:3.6}
html.m2-modern .dk-bay {fill:rgb(216 172 85/.18);stroke:#e7c982;stroke-width:2.4;stroke-dasharray:10 8;opacity:0}
html.m2-modern .dk-bay-glow {opacity:0}
html.m2-modern .dk-arrow path {stroke:#e7c982;stroke-width:3;stroke-dasharray:14 10;opacity:0}
html.m2-modern .dk-check {opacity:0;transform-box:fill-box;transform-origin:center}
html.m2-modern .dk-check circle {fill:#d8ac55;stroke:none}
html.m2-modern .dk-check path {stroke:#141109;stroke-width:6}
html.m2-modern .dk-steps {position:absolute;left:16px;right:16px;bottom:16px;display:flex;flex-wrap:wrap;gap:8px;pointer-events:none}
html.m2-modern .dk-step {display:inline-flex;align-items:center;gap:8px;padding:7px 12px 7px 7px;border-radius:999px;background:rgb(10 10 11/.78);color:#f2f1ec;font-size:12.5px;line-height:1.2;opacity:0;transform:translateY(8px);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
html.m2-modern .dk-step b {display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--m2-gold);color:#141109;font-size:12px}
html.m2-modern .dk-replay {position:absolute;top:14px;right:14px;min-height:36px;padding:7px 14px;border-radius:999px;border:1px solid rgb(255 255 255/.4);background:rgb(10 10 11/.6);color:#fff;font:inherit;font-size:12px;cursor:pointer;opacity:0;transition:opacity .4s}
html.m2-modern .dock-anim.is-done .dk-replay {opacity:1}
/* Playing */
html.m2-modern .dock-anim.is-playing img {filter:brightness(.34) saturate(.35) contrast(1.05);transform:scale(1.015)}
html.m2-modern .dock-anim.is-playing .dk-rack path {opacity:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.6s cubic-bezier(.65,0,.35,1) .5s,opacity .3s .5s}
html.m2-modern .dock-anim.is-playing .dk-rack path:nth-child(2),html.m2-modern .dock-anim.is-playing .dk-rack path:nth-child(3) {transition-delay:.75s,.75s}
html.m2-modern .dock-anim.is-playing .dk-rack path:nth-child(n+4) {transition-delay:1s,1s}
html.m2-modern .dock-anim.is-playing .dk-ghost {opacity:1;transition:opacity .8s 1.6s}
html.m2-modern .dock-anim.is-playing .dk-bay {opacity:1;transition:opacity .6s 2s}
html.m2-modern .dock-anim.is-playing .dk-arrow path {opacity:1;transition:opacity .5s 2.2s}
html.m2-modern .dock-anim.is-playing .dk-move {opacity:1;transform:none;transition:opacity .5s 2.4s,transform 1.8s cubic-bezier(.33,.8,.3,1) 2.4s}
html.m2-modern .dock-anim.is-playing .dk-bay-glow {animation:dk-pulse 1.4s ease-out 4.2s 1 both}
html.m2-modern .dock-anim.is-playing .dk-check {animation:dk-pop .6s cubic-bezier(.34,1.56,.64,1) 4.3s both}
html.m2-modern .dock-anim.is-playing .dk-arrow path {animation:dk-fade .6s ease 4.2s forwards}
html.m2-modern .dock-anim.is-playing .dk-step {opacity:1;transform:none;transition:opacity .5s,transform .6s cubic-bezier(.16,1,.3,1)}
html.m2-modern .dock-anim.is-playing .dk-s1 {transition-delay:2.3s}
html.m2-modern .dock-anim.is-playing .dk-s2 {transition-delay:3.6s}
html.m2-modern .dock-anim.is-playing .dk-s3 {transition-delay:4.6s}
@keyframes dk-pulse {0%{opacity:0} 30%{opacity:1} 100%{opacity:.45}}
@keyframes dk-pop {from{opacity:0;transform:scale(.4)} to{opacity:1;transform:scale(1)}}
@keyframes dk-fade {to{opacity:0}}
/* Reduced motion: show the finished guide over the photo, no movement. */
@media (prefers-reduced-motion:reduce) {html.m2-modern .dock-anim * {transition:none!important;animation:none!important}}
html.m2-modern .dock-anim.is-static img {filter:brightness(.34) saturate(.35)}
html.m2-modern .dock-anim.is-static :is(.dk-rack path) {opacity:1;stroke-dashoffset:0}
html.m2-modern .dock-anim.is-static :is(.dk-ghost,.dk-bay,.dk-move,.dk-check,.dk-step) {opacity:1;transform:none}
@media (max-width:560px){html.m2-modern .dk-step {font-size:11px;padding:5px 10px 5px 5px} html.m2-modern .dk-steps {left:10px;right:10px;bottom:10px;gap:6px}}
/* Docking Guide gets the full width so the animation reads clearly; steps sit top-left, clear of the rack. */
html.m2-modern #parking-dock {grid-template-columns:1fr;gap:28px}
html.m2-modern #parking-dock .rg-style-photo {order:0;aspect-ratio:16/9}
html.m2-modern #parking-dock .rg-style-photo img {object-position:50% 100%}
html.m2-modern #parking-dock .rg-style-copy {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px 48px;align-items:start}
html.m2-modern #parking-dock .rg-style-copy ul {grid-column:2;grid-row:1 / span 2}
html.m2-modern .dk-steps {top:18px;bottom:auto;left:18px;right:auto;flex-direction:column;align-items:flex-start}
@media (max-width:860px){html.m2-modern #parking-dock .rg-style-copy {grid-template-columns:1fr} html.m2-modern #parking-dock .rg-style-copy ul {grid-column:auto;grid-row:auto} html.m2-modern #parking-dock .rg-style-photo {aspect-ratio:4/3}}
html.m2-modern .dk-move .dk-scooter-shape .dk-tire {stroke-width:5}
html.m2-modern .dk-move .dk-scooter-shape .dk-stem,html.m2-modern .dk-move .dk-scooter-shape .dk-deck {fill:rgb(231 201 130/.12)}
html.m2-modern .dk-move .dk-scooter-shape .dk-grip {stroke-width:9;stroke:#e7c982}
html.m2-modern .dk-move .dk-scooter-shape .dk-bar {stroke-width:4.5}
html.m2-modern .dk-move {filter:drop-shadow(0 0 1px rgb(0 0 0/.6))}
/* M2GO welcome screen, Marvin's design: gold screen, black-and-white mark, dark button. */
html.m2-modern .pg-welcome-gold {background:linear-gradient(180deg,#d3bc80 0%,#cbb274 100%);color:#1c1c1d}
html.m2-modern .pg-welcome-gold .pg-status {color:#1c1c1d}
html.m2-modern .pg-welcome-gold .pg-sys b {background:#1c1c1d}
html.m2-modern .pg-welcome-gold .pg-welcome-mark {top:21%}
html.m2-modern .pg-welcome-gold .pg-welcome-mark img {width:8.2em;height:8.2em}
html.m2-modern .pg-welcome-gold .pg-welcome-mark strong {font-size:3em;font-weight:700;letter-spacing:.01em;color:#1c1c1d;margin-top:.15em}
html.m2-modern .pg-welcome-gold .pg-welcome-mark span {color:#2e2c26;font-size:1.05em;letter-spacing:.01em}
html.m2-modern .pg-welcome-gold .pg-welcome-copy {bottom:12.4em}
html.m2-modern .pg-welcome-gold .pg-welcome-copy h4 {color:#1c1c1d;font-size:2.05em;font-weight:700;letter-spacing:-.015em;line-height:1.18}
html.m2-modern .pg-btn-dark {background:#232325;color:#fff;border-radius:1.1em;height:3.9em}
html.m2-modern .pg-welcome-gold .pg-link {color:#2e2c26}
html.m2-modern .pg-welcome-gold .pg-link b {color:#1c1c1d}
@media (min-width:1001px) and (max-width:1240px){html.m2-modern .hw-stage {--pw:min(21vw,250px)}}

/* ---------- M2 Campus Council page ---------- */
html.m2-modern .cc-hero {background:#000;color:#f2f1ec;padding:132px 0 88px}
html.m2-modern .cc-hero-grid {display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}
html.m2-modern .cc-eyebrow {margin:0 0 18px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--m2-gold)}
html.m2-modern .cc-hero h1 {font-size:clamp(40px,5.2vw,74px);line-height:1.02;letter-spacing:-.05em;margin:0;font-weight:600}
html.m2-modern .cc-sub {margin:22px 0 30px;color:#c3c2bb;font-size:clamp(17px,1.5vw,20px);line-height:1.6;max-width:44ch}
html.m2-modern .cc-hero .actions {display:flex;gap:24px;align-items:center;flex-wrap:wrap}
html.m2-modern .cc-status {display:flex;align-items:center;gap:10px;margin:26px 0 0;font-size:14px;color:#d6d4cc}
html.m2-modern .cc-status span {width:8px;height:8px;border-radius:50%;background:var(--m2-gold);box-shadow:0 0 0 4px rgb(216 172 85/.18)}
html.m2-modern .cc-hero-photo {margin:0;border-radius:20px;overflow:hidden;aspect-ratio:4/3}
html.m2-modern .cc-hero-photo img {width:100%;height:100%;object-fit:cover;display:block}
html.m2-modern :is(.cc-about,.cc-how,.cc-faq) {background:#fff;color:#141414;padding:88px 0}
html.m2-modern :is(.cc-seats,.cc-get,.cc-apply) {background:#f4f2ed;color:#141414;padding:88px 0}
html.m2-modern :is(.cc-about,.cc-seats,.cc-how,.cc-get,.cc-limits,.cc-faq,.cc-apply) h2 {font-size:clamp(30px,3.6vw,48px);letter-spacing:-.04em;line-height:1.08;margin:0 0 24px;font-weight:600}
html.m2-modern .cc-about-grid,html.m2-modern .cc-limits-grid {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:start}
html.m2-modern .cc-about p {margin:0;font-size:clamp(17px,1.4vw,20px);line-height:1.7;color:#3d3e39}
html.m2-modern .cc-seat-grid {list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
html.m2-modern .cc-seat {display:flex;flex-direction:column;background:#fff;border:1px solid #e1ddd3;border-radius:20px;padding:24px;transition:transform .45s var(--m2-ease),box-shadow .45s var(--m2-ease),border-color .3s}
html.m2-modern .cc-seat:hover {transform:translateY(-5px);border-color:var(--m2-gold);box-shadow:0 26px 50px -30px rgb(20 16 8/.45)}
html.m2-modern .cc-seat-icon {display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#0b0b0c;color:var(--m2-gold-soft)}
html.m2-modern .cc-seat-icon svg {width:22px;height:22px}
html.m2-modern .cc-seat h3 {margin:18px 0 6px;font-size:19px;letter-spacing:-.02em}
html.m2-modern .cc-owns {margin:0 0 12px;font-size:14px;color:#8a5f0c}
html.m2-modern .cc-owns b {color:#141414}
html.m2-modern .cc-seat ul {margin:0;padding:0 0 0 18px;display:grid;gap:7px;color:#4b4c46;font-size:14px;line-height:1.55}
html.m2-modern .cc-note {margin:22px 0 0;color:#55564f;font-size:14px}
html.m2-modern .cc-how-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
html.m2-modern .cc-how-item svg {width:28px;height:28px;color:#8a5f0c}
html.m2-modern .cc-how-item h3 {margin:14px 0 6px;font-size:18px}
html.m2-modern .cc-how-item p {margin:0;color:#55564f;line-height:1.65}
html.m2-modern .cc-get-grid {display:grid;grid-template-columns:1fr 1fr;gap:56px}
html.m2-modern .cc-get p {color:#3d3e39;line-height:1.75;font-size:17px}
html.m2-modern .cc-perks {list-style:none;margin:0;padding:0;display:grid;gap:12px}
html.m2-modern .cc-perks li {display:flex;gap:12px;align-items:flex-start;line-height:1.55}
html.m2-modern .cc-perks svg {flex:none;width:22px;height:22px;fill:none;stroke:#8a5f0c;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
html.m2-modern .cc-limits {background:#0b0b0c;color:#ecebe6;padding:80px 0}
html.m2-modern .cc-limits p {margin:0;color:#c7c6bf;line-height:1.8;font-size:17px;border-left:2px solid var(--m2-gold);padding-left:22px}
html.m2-modern .cc-acc {--acc-line:#d9d6cd}
html.m2-modern .cc-acc a,html.m2-modern .cc-apply a {color:#8a5f0c}
html.m2-modern .cc-form {border-radius:20px}
html.m2-modern .cc-radio {border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}
html.m2-modern .cc-radio legend {width:100%;margin-bottom:6px}
html.m2-modern .cc-radio label {display:flex;gap:6px;align-items:center;font-weight:500}
@media (max-width:1000px){html.m2-modern .cc-seat-grid {grid-template-columns:repeat(2,minmax(0,1fr))} html.m2-modern .cc-how-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){html.m2-modern .cc-hero-grid,html.m2-modern .cc-about-grid,html.m2-modern .cc-limits-grid,html.m2-modern .cc-get-grid {grid-template-columns:1fr;gap:28px} html.m2-modern .cc-hero {padding:110px 0 64px} html.m2-modern :is(.cc-about,.cc-how,.cc-faq,.cc-seats,.cc-get,.cc-apply,.cc-limits) {padding:64px 0}}
@media (max-width:560px){html.m2-modern .cc-seat-grid,html.m2-modern .cc-how-grid {grid-template-columns:1fr}}
/* Earn With M2: council link on cards and the two expandable squares */
html.m2-modern .cl-card {display:flex;flex-direction:column}
html.m2-modern .cl-card p {flex:1}
html.m2-modern .cl-card-link {display:inline-flex;align-items:center;gap:6px;margin-top:18px;color:#8a5f0c;font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;align-self:flex-start;padding-bottom:2px}
html.m2-modern .cl-card-link::after {content:'→';transition:transform .3s var(--m2-ease)}
html.m2-modern .cl-card-link:hover::after {transform:translateX(4px)}
html.m2-modern .cl-more {display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 28px;align-items:start}
html.m2-modern .cl-box {--acc-line:transparent;background:#0b0b0c;color:#ecebe6;border:1px solid var(--m2-gold-line);border-radius:20px;overflow:hidden;transition:border-color .3s}
html.m2-modern .cl-box:hover {border-color:var(--m2-gold)}
html.m2-modern .cl-box .m2-acc-btn {opacity:1;padding:26px 26px;min-height:96px;align-items:center}
html.m2-modern .cl-box .m2-acc-btn>span {display:grid;gap:4px}
html.m2-modern .cl-box-title {font-size:clamp(20px,1.8vw,24px);letter-spacing:-.02em;color:#fff}
html.m2-modern .cl-box-sub {font-size:14px;font-weight:500;color:var(--m2-gold-soft);letter-spacing:0}
html.m2-modern .cl-box .m2-acc-icon {width:20px;height:20px;color:var(--m2-gold)}
html.m2-modern .cl-box .m2-acc-icon::before,html.m2-modern .cl-box .m2-acc-icon::after {width:20px;top:9px}
html.m2-modern .cl-box .m2-acc-inner {padding:0 26px}
html.m2-modern .cl-box .m2-acc-item.is-open .m2-acc-inner {padding-bottom:26px}
html.m2-modern .cl-box .m2-acc-inner p {opacity:1;max-width:none}
html.m2-modern .cl-roles {margin:0;display:grid;gap:0;border-top:1px solid rgb(255 255 255/.12)}
html.m2-modern .cl-roles>div {display:grid;grid-template-columns:130px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid rgb(255 255 255/.12)}
html.m2-modern .cl-roles dt {font-weight:700;color:#fff}
html.m2-modern .cl-roles dd {margin:0;color:#c7c6bf;line-height:1.55;font-size:14px}
html.m2-modern .cl-serve h4 {margin:20px 0 6px;color:var(--m2-gold-soft);font-size:16px}
html.m2-modern .cl-serve p,html.m2-modern .cl-lead {color:#d6d4cc;font-size:14px;line-height:1.65;margin:0 0 14px}
html.m2-modern .cl-fine {color:#9a998f!important;font-size:13px;margin:10px 0 0!important}
html.m2-modern .cl-box .cl-card-link {color:var(--m2-gold-soft)}
@media (max-width:860px){html.m2-modern .cl-more {grid-template-columns:1fr} html.m2-modern .cl-roles>div {grid-template-columns:1fr;gap:4px}}
/* Glass header: the capsule always wraps the logo and "Book a call". It used to stop at 1,320px wide,
   so on large monitors the logo and button sat outside it. */
html.m2-modern.m2-glass .site-header {--glass-x:clamp(10px,1.4vw,26px)}
html.m2-modern .rg-council-line {margin:18px 0 0;color:#55564f}
html.m2-modern .rg-council-line a,html.m2-modern .earn-intro-secondary a {color:var(--m2-gold-soft)}
html.m2-modern .rg-council-line a {color:#8a5f0c}
