*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
.smp__footer__top, .smp__footer__top h1, .smp__footer__top h2, .smp__footer__top h3, .smp__footer__top h4, .smp__footer__top h5, .smp__footer__top p, .smp__footer__top li, .smp__footer__top span { color: var(--dark-text); }
.rt-sections { padding-top: 60px; }
.rt-sections section { padding-top: 0 !important; margin-top: 0 !important; }

:root {
  --green-dark: #044120;
  --green-mid: #0a6433;
  --green-accent: #02a64d;
  --green-light: #89c641;
  --yellow: #edf219;
  --white: #ffffff;
  --dark-text: #414142;
  --card-gray: #e3e3e1;
}

body {
  font-family: "brandon-grotesque", "Brandon Grotesque", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  color: var(--white);
  background: var(--white);
  overflow-x: hidden;
  margin: 0; padding: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.page-desktop { display: block; position: relative; width: 100%; }
.page-mobile { display: none; }
/* Fullpage height = 1327px (hero through stripes). padding-bottom = 1327/1440 = 92.153% */
.fullpage { position: relative; width: 100%; padding-bottom: 92.153%; overflow: hidden; }
.fullpage__inner { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
.fullpage__bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(180deg, var(--green-mid) 0%, var(--green-dark) 100%); }
.fullpage__white { display: none; }
.fp__flag { position: absolute; top: 2.035%; left: 0; width: 100%; height: 49.887%; pointer-events: none; z-index: 1; }
.fp__title { position: absolute; top: 6.180%; left: 4.931%; width: 87.431%; height: 38.131%; pointer-events: none; z-index: 2; }
.fp__subtitle { position: absolute; top: 31.801%; left: 50.0%; width: 39.931%; z-index: 3; font-weight: 700; font-size: clamp(14px, 2.014vw, 29px); line-height: 1.55; color: var(--white); text-align: center; }
.fp__cta { position: absolute; top: 40.618%; left: 52.083%; width: 35.764%; height: 7.310%; display: flex; align-items: center; justify-content: center; background: var(--green-light); color: var(--white); font-weight: 700; font-size: clamp(16px, 2.292vw, 33px); text-transform: uppercase; text-decoration: none; border-radius: 20px; cursor: pointer; z-index: 5; letter-spacing: 0.5px; transition: transform 0.2s, box-shadow 0.2s; }
.fp__cta, .fp__cta:link, .fp__cta:visited { color: var(--white) !important; text-decoration: none !important; }
.fp__cta:hover, .fp__cta:focus, .fp__cta:active { background: var(--green-accent); color: var(--white) !important; text-decoration: none !important; }
.fp__car { position: absolute; top: 51.921%; left: 53.819%; width: 38.542%; height: 32.026%; pointer-events: none; z-index: 2; }
.fp__date-card { position: absolute; top: 54.408%; left: 16.319%; width: 26.458%; height: 15.373%; background: var(--white); border-radius: 5px; display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 3; }
.fp__date-card .card-title { font-weight: 900; font-size: clamp(18px, 2.222vw, 32px); text-transform: uppercase; color: var(--green-mid); line-height: 1.3; text-align: center; }
.fp__date-card .card-detail { font-weight: 900; font-size: clamp(18px, 2.222vw, 32px); text-transform: uppercase; color: var(--green-accent); line-height: 1.3; text-align: center; }
.fp__date-dot { position: absolute; top: 47.928%; left: 13.958%; width: 5.278%; height: 5.727%; border-radius: 50%; background: var(--green-accent); z-index: 5; }
.fp__date-post { position: absolute; top: 52.148%; left: 15.278%; width: 2.639%; height: 46.420%; background: var(--green-accent); z-index: 5; }
.fp__venue-card { position: absolute; top: 78.749%; left: 22.986%; width: 28.056%; height: 15.373%; background: var(--green-accent); border-radius: 5px; display: flex; flex-direction: column; justify-content: center; padding: 0 3.5%; z-index: 3; overflow: hidden; }
.fp__venue-card .card-title { font-weight: 900; font-size: clamp(20px, 2.708vw, 39px); text-transform: uppercase; color: var(--green-mid); line-height: 1; margin-bottom: 0.4em; }
.fp__venue-card .card-detail { font-weight: 700; font-size: clamp(14px, 1.875vw, 27px); color: var(--white); line-height: 1.3; }
.fp__venue-dot { position: absolute; top: 72.268%; left: 19.236%; width: 5.278%; height: 5.727%; border-radius: 50%; background: var(--white); z-index: 5; }
.fp__venue-post { position: absolute; top: 76.488%; left: 20.486%; width: 2.639%; height: 22.005%; background: var(--white); z-index: 5; }
.fp__stripes { position: absolute; bottom: 0; left: 0; width: 100%; z-index: 6; }
.fp__stripe { width: 100%; height: 10px; }
.fp__stripe--green { background: var(--green-light); }
.fp__stripe--yellow { background: var(--yellow); }
.fp__flag img, .fp__title img, .fp__car img { width: 100%; height: 100%; object-fit: fill; display: block; }

/* ============================================================
   SECTIONS BELOW HERO  (1440px design base)
   All percentage values are fractions of 1440px frame width.
   ============================================================ */
.rt-sections { position: relative; width: 100%; max-width: 1440px; margin: 0 auto; background: var(--white); color: var(--dark-text); }

/* ----- Section 1: Why a Roundtable? / Who Is This For? ----- */
/* Figma positions (1440 frame):
   Left col : heading x=180 y=1449 (w=486 h=94) / body x=180 y=1543 (w=438)
   Right col: heading x=765 y=1488 (w=486 h=94) / card x=765 y=1582 (w=510 h=427)
   Hero stripes end at y=1327. Top padding = 1449-1327 = 122px -> 8.472%.
   Right heading sits 39px below left -> 2.708vw offset.
   Col gap = 765-618 = 147px. Right outer = 1440-1275 = 165px -> 11.458%. */
.rt-why { position: relative; padding: 8.472% 11.458% 7% 12.5%; background: var(--white); }
.rt-why__inner { display: grid; grid-template-columns: 438fr 147fr 510fr; gap: 0; align-items: start; }
.rt-why__col--left { grid-column: 1; }
.rt-why__col--right { grid-column: 3; position: relative; padding-top: clamp(14px, 2.708vw, 39px); }
.rt-why__heading { font-weight: 900; font-size: clamp(20px, 2.5vw, 999px); line-height: 1.15; text-transform: uppercase; color: var(--dark-text); margin: 0 0 1.3em 0; letter-spacing: 0; }
.rt-why__col--left .rt-why__heading { text-align: left; }
.rt-why__col--left .rt-why__heading span { color: var(--green-accent); }
.rt-why__col--right .rt-why__heading { text-align: center; margin-bottom: clamp(8px, 0.833vw, 12px); }
.rt-why__col--right .rt-why__heading span { color: var(--green-accent); }
.rt-why__body { font-weight: 400; font-size: clamp(14px, 1.944vw, 999px); line-height: 1.28; color: var(--dark-text); }
.rt-why__body p { font-size: inherit !important; line-height: inherit !important; font-family: inherit !important; margin: 0 !important; }
.rt-why__body p + p { margin-top: 1em !important; }
/* Card on right - Figma 294:1245 bg #e3e3e1, rounded 44px, w=510 h=427; text 294:1246 Brandon 28/Regular #414142, vertically centered, bullets ms-42px */
.rt-why__card { background: var(--card-gray); border-radius: clamp(20px, 3.055vw, 44px); padding: clamp(22px, 2.5vw, 36px); min-height: clamp(260px, 29.65vw, 427px); display: flex; flex-direction: column; justify-content: center; font-weight: 400; font-size: clamp(14px, 1.944vw, 999px); line-height: 1.2; color: #414142; }
.rt-why__card p { font-size: inherit !important; line-height: inherit !important; font-family: inherit !important; margin: 0 !important; color: inherit !important; }
.rt-why__card p + p { margin-top: 1em !important; }
.rt-why__card strong { font-weight: 700 !important; color: inherit !important; }
.rt-why__card ul { list-style: disc outside !important; padding-left: clamp(24px, 2.917vw, 999px) !important; margin: 1em 0 0 0 !important; font-size: inherit !important; line-height: inherit !important; }
.rt-why__card li { margin: 0 !important; list-style-type: disc !important; list-style-position: outside !important; display: list-item !important; line-height: inherit !important; font-size: inherit !important; font-family: inherit !important; }

/* ----- Section 2: Discussion Focus / People Systems at Scale ----- */
/* Figma positions (1440 frame), section spans y=2179 to y=3245 (h=1066, aspect 1066/1440=74.028%):
   Pin group: x=121 y=2179 w=75.69 h=1066 (dot + post, green-accent)
     - Dot (Ellipse 1): x=121 y=2179 w=75.69 h=75.69
     - Post (Rect 2):   x=139 y=2235 w=38 h=1010
   "Discussion Focus:" eyebrow: x=247 y=2235 (Brandon 36/Bold/dark-text, left aligned)
   Green banner: x=167 y=2298 w=1151 h=128 (bg green-mid, radius 5, text 48/Black/white centered)
     -> "PEOPLE SYSTEMS AT SCALE"
   Italic subhead: x=281 y=2427 w=908 (Brandon italic 32/green-accent, centered)
     -> "WHERE THINGS START TO BREAK AS LOCATIONS GROW"
   Intro line: x=391 y=2550 w=703 (Brandon 24/Regular/dark-text, centered)
     -> "We'll guide the conversation using questions like:"
   Card: x=227 y=2613 w=1048 h=382 (bg card-gray, radius 31)
   Bullet list (inside card): x=267 y=2652 w=952 (Brandon 28/Medium/dark-text, lh=58, indent 42)
   Footnote: x=197 y=3049 w=1108 (Brandon 24/Regular italic/dark-text, centered)
*/
.rt-discussion { position: relative; width: 100%; padding: 0 0 74.028% 0; background: var(--white); overflow: visible; }
.rt-discussion__inner { position: absolute; inset: 0; }

/* Pin on the left */
.rt-discussion__pin-dot { position: absolute; top: 0; left: 8.403%; width: 5.256%; aspect-ratio: 1; border-radius: 50%; background: var(--green-accent); z-index: 4; }
.rt-discussion__pin-post { position: absolute; top: 5.254%; left: 9.653%; width: 2.639%; height: 94.746%; background: var(--green-accent); z-index: 4; }

/* "Discussion Focus:" eyebrow */
.rt-discussion__eyebrow { position: absolute; top: 5.254%; left: 17.153%; font-weight: 700; font-size: clamp(16px, 2.5vw, 999px); line-height: 1; color: var(--dark-text); z-index: 3; white-space: nowrap; }

/* Green banner */
.rt-discussion__banner { position: absolute; top: 11.163%; left: 11.597%; width: 79.931%; height: 12.007%; background: var(--green-mid); border-radius: clamp(3px, 0.347vw, 5px); display: flex; align-items: center; justify-content: center; z-index: 3; padding: 0 clamp(15px, 3.521vw, 51px); }
.rt-discussion__banner-title { font-weight: 900; font-size: clamp(22px, 3.333vw, 999px); line-height: 1; color: var(--white); text-transform: uppercase; text-align: center; margin: 0; }

/* Italic green subhead (Brandon Medium Italic 500i) */
.rt-discussion__subhead { position: absolute; top: 27.000%; left: 19.514%; width: 63.056%; font-weight: 500; font-style: italic; font-size: clamp(16px, 2.222vw, 999px); line-height: 1.2; color: var(--green-accent); text-align: center; z-index: 3; }

/* Intro line */
.rt-discussion__intro { position: absolute; top: 34.803%; left: 27.153%; width: 48.819%; font-weight: 400; font-size: clamp(12px, 1.667vw, 999px); line-height: 1.2; color: var(--dark-text); text-align: center; z-index: 3; }

/* Gray card */
.rt-discussion__card { position: absolute; top: 40.713%; left: 15.764%; width: 72.778%; height: 35.835%; background: var(--card-gray); border-radius: clamp(16px, 2.153vw, 31px); z-index: 3; display: flex; align-items: center; padding: clamp(18px, 2.708vw, 39px) clamp(20px, 2.778vw, 999px); }
.rt-discussion__bullets { list-style: disc outside; margin: 0; padding-left: clamp(18px, 2.917vw, 42px); font-weight: 500; font-size: clamp(14px, 1.944vw, 999px); line-height: clamp(22px, 4.028vw, 999px); color: var(--dark-text); width: 100%; }
.rt-discussion__bullets li { margin: 0; list-style-type: disc; list-style-position: outside; display: list-item; }

/* Footnote (Regular non-italic per Figma) */
.rt-discussion__footnote { position: absolute; top: 81.614%; left: 13.681%; width: 76.944%; font-weight: 400; font-style: normal; font-size: clamp(12px, 1.667vw, 999px); line-height: 1.2; color: var(--dark-text); text-align: center; z-index: 3; }

/* ----- Section 3: Registration Form (Pull Up a Chair) ----- */
/* Figma frame 294:1308 x=0 y=3245 w=1440 h=738 (aspect 738/1440 = 51.250%).
   Positions relative to frame top y=3245:
     Top stripes (rotated 180° = yellow on top, green on bottom): rel top=0 h=20  -> 0 / 2.710%
     Green bg (Rect 6 #02a64d = --green-accent):  rel top=19 h=699 -> 2.575% / 94.715%
     Title "PULL UP A CHAIR..." Brandon Black 40/white centered:
       abs x=288 y=3309 w=864 h=94  -> top 8.672% / left 20% / w 60%
     Subtitle Brandon Bold 32/green-mid centered:
       abs x=274 y=3383 w=892 h=75  -> top 18.699% / left 19.028% / w 61.944%
     Field Row 1 (w=326 h=90 radius 20 bg --card-gray, y=3487 rel=242):
       First    x=215 -> left 14.931% / top 32.791% / w 22.639% / h 12.195%
       Last     x=557 -> left 38.681%
       Company  x=899 -> left 62.431%
     Field Row 2 (y=3593 rel=348):
       Email    x=215 w=326 -> left 14.931% / top 47.154% / w 22.639% / h 12.195%
       Hoping   x=557 w=668 -> left 38.681% / w 46.389%
     Placeholders Brandon Regular 24/dark-text, v-centered in field, left pad 26px
     Button "REQUEST A SEAT" Brandon Bold 33/white bg --green-mid radius 20:
       x=566 y=3725 w=307 h=97 -> left 39.306% / top 65.040% / w 21.319% / h 13.144%
     Consent Brandon Regular 20/white centered:
       x=204 y=3867 w=1032 h=52 -> left 14.167% / top 84.282% / w 71.667%
     Bottom stripes (green on top, yellow on bottom): rel top=718 h=20 -> 97.290% / 2.710%
*/
.rt-form { position: relative; width: 100%; padding: 0 0 51.250% 0; background: var(--white); overflow: hidden; }
.rt-form__inner { position: absolute; inset: 0; }
.rt-form__bg { position: absolute; top: 2.575%; left: 0; width: 100%; height: 94.715%; background: var(--green-accent); z-index: 1; }
.rt-form__stripes { position: absolute; left: 0; width: 100%; height: 2.710%; z-index: 4; display: flex; flex-direction: column; }
.rt-form__stripes--top { top: 0; }
.rt-form__stripes--bottom { top: 97.290%; }
.rt-form__stripe { width: 100%; flex: 1 1 50%; }
.rt-form__stripe--green { background: var(--green-light); }
.rt-form__stripe--yellow { background: var(--yellow); }

.rt-form__title { position: absolute; top: 8.672%; left: 20%; width: 60%; font-weight: 900; font-size: clamp(20px, 2.778vw, 999px); line-height: 1.1; color: var(--white); text-align: center; text-transform: uppercase; margin: 0; z-index: 3; }
.rt-form__subtitle { position: absolute; top: 18.699%; left: 19.028%; width: 61.944%; font-weight: 700; font-size: clamp(14px, 2.222vw, 999px); line-height: 1.2; color: var(--green-mid); text-align: center; margin: 0; z-index: 3; }

.rt-form__form { position: absolute; inset: 0; z-index: 3; margin: 0; padding: 0; }
.rt-form__field { position: absolute; height: 12.195%; background: var(--card-gray); border-radius: clamp(10px, 1.389vw, 20px); overflow: hidden; }
.rt-form__field input { display: block; width: 100%; height: 100%; border: 0; outline: 0; background: transparent; padding: 0 clamp(12px, 1.806vw, 26px); font-family: inherit; font-weight: 400; font-size: clamp(12px, 1.667vw, 999px); line-height: 1.2; color: var(--dark-text); }
.rt-form__field input::placeholder { color: var(--dark-text); opacity: 1; }
.rt-form__field input:-ms-input-placeholder { color: var(--dark-text); }
.rt-form__field input::-ms-input-placeholder { color: var(--dark-text); }
.rt-form__field--first   { top: 32.791%; left: 14.931%; width: 22.639%; }
.rt-form__field--last    { top: 32.791%; left: 38.681%; width: 22.639%; }
.rt-form__field--company { top: 32.791%; left: 62.431%; width: 22.639%; }
.rt-form__field--email   { top: 47.154%; left: 14.931%; width: 22.639%; }
.rt-form__field--hoping  { top: 47.154%; left: 38.681%; width: 46.389%; }

.rt-form__button { position: absolute; top: 65.040%; left: 39.306%; width: 21.319%; height: 13.144%; background: var(--green-mid); color: var(--white); font-family: inherit; font-weight: 700; font-size: clamp(14px, 2.292vw, 999px); line-height: 1; text-transform: uppercase; text-align: center; border: 0; border-radius: clamp(10px, 1.389vw, 20px); cursor: pointer; letter-spacing: 0.3px; z-index: 3; display: inline-flex; align-items: center; justify-content: center; padding: 0; transition: background 0.2s, transform 0.15s; }
.rt-form__button:hover, .rt-form__button:focus, .rt-form__button:active { background: var(--green-light) !important; color: var(--white) !important; }
.rt-form__button:active { transform: translateY(1px); }

.rt-form__consent { position: absolute; top: 84.282%; left: 14.167%; width: 71.667%; font-weight: 400; font-size: clamp(11px, 1.389vw, 999px); line-height: 1.3; color: var(--white); text-align: center; margin: 0; z-index: 3; }

/* ===== Section 4: What This Roundtable Is (And Isn't) — DESKTOP ===== */
/* Design base: 1440 x 915 (from y=3983 to y=4898). aspect = 915/1440 = 63.542% */
.rt-whatis { position: relative; width: 100%; padding-bottom: 63.542%; background: var(--white); overflow: hidden; }
.rt-whatis__inner { position: absolute; inset: 0; }
.rt-whatis__title { position: absolute; top: 11.038%; left: 25.486%; width: 48.958%; margin: 0; font-weight: 900; font-size: clamp(20px, 2.5vw, 999px); line-height: 1.1; color: var(--dark-text); text-align: center; text-transform: uppercase; z-index: 3; }
.rt-whatis__title-accent { color: var(--green-accent); }
.rt-whatis__card { position: absolute; top: 25.574%; height: 52.678%; background: var(--card-gray); border-radius: 20px; z-index: 1; }
.rt-whatis__card--left { left: 13.611%; width: 45.625%; }
.rt-whatis__card--right { left: 60.903%; width: 25.417%; }
.rt-whatis__heading { position: absolute; top: 27.869%; width: 16.667%; margin: 0; font-weight: 900; font-size: clamp(20px, 2.5vw, 999px); line-height: 1.1; text-align: center; text-transform: uppercase; z-index: 2; }
.rt-whatis__heading--is { left: 28.125%; color: var(--green-accent); }
.rt-whatis__heading--isnt { left: 65.417%; color: var(--dark-text); }
.rt-whatis__list { position: absolute; list-style: none; margin: 0; padding: 0; font-weight: 400; font-size: clamp(15px, 2.222vw, 999px); line-height: 1.25; color: var(--dark-text); text-align: center; z-index: 2; }
.rt-whatis__list--left { top: 38.142%; left: 15%; width: 41.181%; height: 35.082%; display: flex; flex-direction: column; justify-content: space-between; }
.rt-whatis__list--right { top: 38.142%; left: 60.556%; width: 23.750%; height: 28.962%; display: flex; flex-direction: column; justify-content: space-between; }
.rt-whatis__list li { display: block; position: relative; padding-left: 1.5em; text-indent: -1.5em; }
.rt-whatis__list li::before { content: "\2022"; display: inline-block; width: 1.5em; text-indent: 0; text-align: right; padding-right: 0.5em; color: var(--dark-text); }
.rt-whatis__transparency { position: absolute; top: 82.514%; left: 22.847%; width: 54.236%; margin: 0; font-weight: 400; font-size: clamp(13px, 1.667vw, 999px); line-height: 1.4; color: var(--dark-text); text-align: center; z-index: 2; }
.rt-whatis__transparency-label { font-weight: 700; color: var(--green-accent); }

/* Section 5: Optional Follow Up — 495px tall at 1440 wide = 34.375% aspect */
.rt-followup { position: relative; width: 100%; padding-bottom: 34.375%; background: var(--white); overflow: visible; }
.rt-followup__inner { position: absolute; inset: 0; }
.rt-followup__pin-dot { position: absolute; top: 0; left: 87.917%; width: 5.256%; aspect-ratio: 1; border-radius: 50%; background: var(--green-mid); z-index: 4; }
.rt-followup__pin-post { position: absolute; top: 5.254%; left: 89.167%; width: 2.639%; height: 220%; background: var(--green-mid); z-index: 4; }
.rt-followup__banner { position: absolute; top: 18%; left: 24.861%; width: 65%; height: 40.909%; background: var(--green-accent); border-radius: 5px; display: flex; align-items: center; justify-content: center; z-index: 3; padding: 0 clamp(15px, 2vw, 30px); }
.rt-followup__banner-title { font-weight: 900; font-size: clamp(22px, 3.333vw, 999px); line-height: 1; color: var(--white); text-transform: uppercase; text-align: center; margin: 0; }
.rt-followup__body { position: absolute; top: 62%; left: 37.153%; width: 42.500%; margin: 0; font-weight: 400; font-size: clamp(14px, 2.222vw, 999px); line-height: 1.2; color: #000; text-align: center; z-index: 3; }

/* Section 6: Road illustration — Figma road asset at (-589, 5237, 1398x812) on a 1440-wide, 5840-tall frame.
   Section 6 is 447px tall (5840 - end-of-Section-5 at 5393) → padding-bottom 31.042%.
   Road img: left -589/1440 = -40.903%, width 1398/1440 = 97.083%,
             top (5237-5393)/447 = -34.899%, height 812/447 = 181.655%. */
.rt-road { position: relative; width: 100%; padding-bottom: 31.042%; background: var(--white); overflow: visible; }
.rt-road__inner { position: absolute; inset: 0; overflow: visible; }
.rt-road__img { position: absolute; top: -34.899%; left: -40.903%; width: 97.083%; height: 181.655%; pointer-events: none; user-select: none; display: block; }

/* ====================== MOBILE ====================== */
@media (max-width: 768px) {
  .page-desktop { display: none; }
  .page-mobile { display: block; overflow-x: hidden; }
  .mobile-page { position: relative; width: 100%; max-width: 440px; margin: 0 auto; padding-bottom: 232.727%; }
  .mobile-page__inner { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
  .m__bg { position: absolute; top: 0; left: 0; width: 100%; height: 82.617%; background: linear-gradient(180deg, var(--green-mid) 0%, var(--green-dark) 100%); }
  .m__white { position: absolute; top: 82.617%; left: 0; width: 100%; bottom: 0; background: var(--white); }
  .m__flag { position: absolute; top: 5.273%; left: 0; width: 100%; height: 19.727%; pointer-events: none; z-index: 1; }
  .m__title { position: absolute; top: 6.934%; left: 2.5%; width: 95%; height: 16.406%; pointer-events: none; z-index: 2; }
  .m__car { position: absolute; top: 19%; left: 60%; width: 36%; pointer-events: none; z-index: 3; }
  .m__cta:hover, .m__cta:focus, .m__cta:active, .m__cta:visited { background: var(--green-accent) !important; color: var(--white) !important; }
  .m__car img { width: 100%; height: auto; display: block; }
  .m__subtitle { position: absolute; top: 24%; left: 14.091%; width: 46.136%; z-index: 3; font-weight: 700; font-size: clamp(11px, 3.55vw, 15.6px); line-height: 1.55; color: var(--white); text-align: left; }
  .m__cta { position: absolute; top: 32.813%; left: 11.591%; width: 58.636%; height: 4.785%; display: flex; align-items: center; justify-content: center; background: var(--green-light); color: var(--white); font-weight: 700; font-size: clamp(11px, 3.75vw, 16.5px); text-transform: uppercase; text-decoration: none; border-radius: 10px; cursor: pointer; z-index: 5; }
  .m__date-card { position: absolute; top: 44.727%; left: 20%; width: 47.500%; height: 10.938%; background: var(--white); border-radius: 3px; display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 3; }
  .m__date-card .card-title { font-weight: 900; font-size: clamp(12px, 3.98vw, 17.5px); text-transform: uppercase; color: var(--green-mid); text-align: center; line-height: 1.3; }
  .m__date-card .card-detail { font-weight: 900; font-size: clamp(12px, 3.98vw, 17.5px); text-transform: uppercase; color: var(--green-accent); text-align: center; line-height: 1.3; }
  .m__date-dot { position: absolute; top: 40.137%; left: 15.682%; width: 9.545%; height: 4.102%; border-radius: 50%; background: var(--green-accent); z-index: 5; }
  .m__date-post { position: absolute; top: 43.164%; left: 17.955%; width: 4.773%; height: 39.453%; background: var(--green-accent); z-index: 5; }
  .m__venue-card { position: absolute; top: 61.523%; left: 37.5%; width: 52.500%; height: 11.426%; background: var(--green-accent); border-radius: 3px; display: flex; flex-direction: column; justify-content: center; padding: 0 5%; z-index: 3; overflow: hidden; }
  .m__venue-card .card-title { font-weight: 900; font-size: clamp(14px, 5.06vw, 22.25px); text-transform: uppercase; color: var(--green-mid); line-height: 1; margin-bottom: 0.3em; }
  .m__venue-card .card-detail { font-weight: 700; font-size: clamp(10px, 3.5vw, 15.4px); color: var(--white); line-height: 1.3; }
  .m__venue-dot { position: absolute; top: 56.738%; left: 30.455%; width: 9.773%; height: 4.199%; border-radius: 50%; background: var(--white); z-index: 5; }
  .m__venue-post { position: absolute; top: 59.863%; left: 32.955%; width: 5.0%; height: 22.754%; background: var(--white); z-index: 5; }
  .m__stripes { position: absolute; top: 82.617%; left: 0; width: 100%; z-index: 6; }
  .m__stripe { width: 100%; height: 6px; }
  .m__stripe--green { background: var(--green-light); }
  .m__stripe--yellow { background: var(--yellow); }
  .m__flag img, .m__title img { width: 100%; height: 100%; object-fit: fill; display: block; }

  /* Stack section 1 on mobile */
  .rt-sections .rt-why { padding: 20px 24px; margin-top: -140px !important; }
  .rt-why__inner { display: block; }
  .rt-why__col--left, .rt-why__col--right { margin-bottom: 32px; }
  .rt-why__heading { font-size: 28px; margin-bottom: 16px; }
  .rt-why__body, .rt-why__card { font-size: 17px; line-height: 1.4; }
  .rt-why__card { padding: 20px; border-radius: 24px; }

  /* Section 2 — mobile: flow content naturally, compact pin decoration */
  .rt-discussion { position: relative; padding: 16px 24px 40px 72px; padding-bottom: 40px; background: var(--white); }
  .rt-discussion__inner { position: static; }
  .rt-discussion__pin-dot { position: absolute; top: 0; left: 24px; width: 28px; height: 28px; aspect-ratio: auto; }
  .rt-discussion__pin-post { position: absolute; top: 12px; left: 31px; width: 14px; height: calc(100% - 12px); }
  .rt-discussion__eyebrow { position: static; font-size: 18px; margin: 28px 0 12px 0; white-space: normal; }
  .rt-discussion__banner { position: static; width: calc(100% + 27px); height: auto; padding: 20px 16px; border-radius: 0 4px 4px 0; margin-left: -27px; margin-bottom: 20px; }
  .rt-discussion__banner-title { font-size: 22px; }
  .rt-discussion__subhead { position: static; width: 100%; font-size: 16px; margin: 0 0 16px 0; }
  .rt-discussion__intro { position: static; width: 100%; font-size: 14px; margin: 0 0 12px 0; }
  .rt-discussion__card { position: static; width: 100%; height: auto; padding: 20px 20px; border-radius: 20px; }
  .rt-discussion__bullets { font-size: 14px; line-height: 1.5; padding-left: 20px; }
  .rt-discussion__footnote { position: static; width: 100%; font-size: 13px; line-height: 1.4; margin: 20px 0 0 0; }

  /* Section 3 — mobile: natural flow, stacked fields */
  .rt-form { position: relative; width: 100%; padding: 0; background: var(--green-accent); overflow: visible; }
  .rt-form__inner { position: static; padding: 0 24px 0 24px; }
  .rt-form__bg { display: none; }
  .rt-form__stripes { position: relative; width: calc(100% + 48px); margin-left: -24px; margin-right: -24px; height: 12px; display: flex; flex-direction: column; top: auto; }
  .rt-form__stripes--top { margin-bottom: 28px; }
  .rt-form__stripes--bottom { margin-top: 20px; margin-bottom: 0; }
  .rt-form__stripe { height: 6px; flex: 0 0 6px; }
  .rt-form__title { position: static; width: 100%; font-size: 24px; margin: 0 0 12px 0; text-align: center; color: var(--white); }
  .rt-form__subtitle { position: static; width: 100%; font-size: 16px; margin: 0 0 24px 0; text-align: center; color: var(--green-mid); }
  .rt-form__form { position: static; display: flex; flex-direction: column; gap: 12px; }
  .rt-form__field { position: static; width: 100% !important; height: 52px; left: auto !important; top: auto !important; border-radius: 10px; }
  .rt-form__field input { font-size: 16px; padding: 0 16px; }
  .rt-form__button { position: static; width: 100%; max-width: 280px; height: 56px; margin: 16px auto 0 auto; font-size: 18px; left: auto; top: auto; border-radius: 10px; display: flex; }
  .rt-form__consent { position: static; width: 100%; font-size: 12px; line-height: 1.4; margin: 36px 0 0 0 !important; text-align: center; color: var(--white); }

  /* Section 4 — mobile: stacked cards */
  .rt-whatis { position: relative; width: 100%; padding: 56px 24px 32px 24px; background: var(--white); }
  .rt-whatis__inner { position: static; padding-top: 56px; }
  .rt-whatis__title { position: static; width: 100%; font-size: 22px; line-height: 1.2; margin: 0 0 24px 0; text-align: center; }
  .rt-whatis__card { position: static; width: 100%; height: auto; padding: 28px 20px; border-radius: 20px; margin-bottom: 20px; }
  .rt-whatis__card--left, .rt-whatis__card--right { left: auto; width: 100%; }
  .rt-whatis__heading { position: static; width: 100%; font-size: 22px; margin: 0 0 16px 0; text-align: center; }
  .rt-whatis__heading--is, .rt-whatis__heading--isnt { left: auto; }
  .rt-whatis__list { position: static; width: 100%; height: auto; display: block; font-size: 16px; line-height: 1.4; text-align: center; }
  .rt-whatis__list li { margin-bottom: 10px; padding-left: 1.2em; text-indent: -1.2em; }
  .rt-whatis__list li::before { width: 1.2em; padding-right: 0.3em; }
  .rt-whatis__transparency { position: static; width: 100%; font-size: 13px; line-height: 1.4; margin: 16px 0 0 0; text-align: center; }

  /* Section 5 — mobile: natural flow with pin on the right */
  .rt-followup { position: relative; padding: 0 35px 50px 27px; background: var(--white); overflow: visible; }
  .rt-followup__inner { position: static; padding-top: 37px; }
  .rt-followup__pin-dot { position: absolute; top: 0; right: 21px; left: auto; width: 24px; height: 24px; aspect-ratio: auto; z-index: 5; background: var(--green-mid); border-radius: 50%; }
  .rt-followup__pin-post { position: absolute; top: 19px; right: 27px; left: auto; width: 13px; height: calc(100% + 46px); z-index: 4; background: var(--green-mid); }
  .rt-followup__banner { position: static; width: 100%; height: auto; padding: 22px 16px; border-radius: 5px 0 0 5px; margin: 0 0 25px 0; z-index: 1; background: var(--green-accent); }
  .rt-followup__body { position: static; width: 250px; max-width: 100%; font-size: 15px; line-height: 1.5; margin: 0 5px 0 auto !important; text-align: center; }

  /* Section 6 — mobile: road fills width at natural aspect */
  .rt-sections .rt-road { position: relative !important; width: 100% !important; height: 165px !important; background: transparent !important; overflow: hidden !important; margin: -100px 0 0 0 !important; padding: 0 !important; padding-bottom: 0 !important; pointer-events: none; z-index: 0; }
  .rt-road::before { display: none !important; }
  .rt-road__inner { position: relative !important; width: 100% !important; left: 0 !important; overflow: visible !important; }
  .rt-road__img { position: relative !important; top: auto !important; left: auto !important; display: block !important; width: 73% !important; height: 173px !important; margin-left: -29% !important; }
}


/* --- v40: exact flush using Figma geometry (padding-bottom = drawing_bottom_W) --- */
.rt-sections { max-width: none !important; width: 100% !important; padding-top: 20px !important; }
.page-desktop { position: relative !important; z-index: 2 !important; }
@media (min-width: 769px) {
.rt-road { padding-bottom: 43.021% !important; overflow: visible !important; background: transparent !important; }
.rt-road__inner { overflow: visible !important; }
.rt-road__img { top: -25.181% !important; left: -40.903% !important; width: 97.083% !important; height: 131.045% !important; pointer-events: none !important; }
}
#map { position: relative !important; z-index: 1 !important; margin-top: 0 !important; }