:root {
    --rp-navy: #061d3a;
    --rp-navy-2: #001126;
    --rp-navy-3: #0b2e57;
    --rp-gold: #b8862f;
    --rp-gold-2: #d7ae5f;
    --rp-cream: #fbf8ef;
    --rp-ink: #0d1b2e;
    --rp-muted: #5d6880;
    --rp-line: rgba(184, 134, 47, 0.32);
    --rp-white: #ffffff;
    --rp-shadow: 0 24px 70px rgba(6, 29, 58, 0.18);
    --rp-radius: 28px;
    --rp-radius-sm: 18px;
    --rp-container: 1460px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--rp-ink);
    background: var(--rp-white);
    line-height: 1.65;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--rp-gold); }
img { max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
.screen-reader-text,
.rp-honeypot {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}
.screen-reader-text:focus {
    clip: auto !important;
    clip-path: none;
    display: block;
    height: auto;
    width: auto;
    z-index: 100000;
    padding: .8rem 1rem;
    background: var(--rp-white);
    color: var(--rp-navy);
}
.rp-container {
    width: min(100% - 32px, var(--rp-container));
    margin-inline: auto;
}
.rp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-height: 48px;
    border-radius: 999px;
    padding: .85rem 1.35rem;
    font-weight: 800;
    letter-spacing: .01em;
    border: 1px solid transparent;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
    cursor: pointer;
}
.rp-btn:hover { transform: translateY(-2px); }
.rp-btn-small { min-height: 42px; padding: .68rem 1rem; font-size: .88rem; }
.rp-btn-primary {
    background: linear-gradient(135deg, var(--rp-gold), var(--rp-gold-2));
    color: var(--rp-navy-2);
    box-shadow: 0 16px 34px rgba(184, 134, 47, .26);
}
.rp-btn-primary:hover { color: var(--rp-navy-2); box-shadow: 0 20px 42px rgba(184, 134, 47, .34); }
.rp-btn-outline,
.rp-btn-outline-light {
    border-color: var(--rp-line);
    color: var(--rp-navy);
    background: rgba(255,255,255,.7);
}
.rp-btn-outline-light {
    color: var(--rp-white);
    border-color: rgba(255,255,255,.35);
    background: rgba(255,255,255,.08);
}
.rp-btn-outline:hover { color: var(--rp-gold); border-color: var(--rp-gold); }
.rp-btn-outline-light:hover { color: var(--rp-white); border-color: var(--rp-gold-2); background: rgba(255,255,255,.13); }
.rp-icon { width: 22px; height: 22px; flex: 0 0 22px; display: inline-block; vertical-align: middle; overflow: visible; }
.rp-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    color: var(--rp-gold-2);
    text-transform: uppercase;
    letter-spacing: .16em;
    font-size: .76rem;
    font-weight: 800;
}
.rp-eyebrow::before {
    content: "";
    display: inline-block;
    width: 34px;
    height: 2px;
    background: currentColor;
}
.rp-eyebrow-dark { color: var(--rp-gold); }

/* Header */
.rp-site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(255, 255, 255, .94);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(6, 29, 58, .08);
    box-shadow: 0 10px 30px rgba(6, 29, 58, .06);
}
.rp-topbar {
    background: linear-gradient(90deg, var(--rp-navy-2), var(--rp-navy));
    color: rgba(255,255,255,.86);
    font-size: .86rem;
}
.rp-topbar-inner {
    min-height: 38px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: .9rem 1.1rem;
    line-height: 1;
}
.rp-topbar-inner span:first-child { margin-right: auto; color: var(--rp-gold-2); font-weight: 800; }
.rp-topbar a {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    white-space: nowrap;
    line-height: 1;
    flex: 0 0 auto;
}
.rp-topbar .rp-icon {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    color: var(--rp-gold-2);
    stroke-width: 2.25;
}
.rp-nav-wrap {
    min-height: 78px;
    display: flex;
    align-items: center;
    gap: .7rem;
    flex-wrap: nowrap;
}
.rp-brand { flex: 0 0 auto; min-width: 0; }
.rp-logo-link,
.rp-wordmark {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .18rem;
    line-height: 1;
    color: var(--rp-navy);
}
.rp-logo-img {
    display: block;
    width: auto;
    max-width: min(100%, 380px);
    max-height: 72px;
}
.rp-logo-branch,
.rp-wordmark-branch {
    margin-left: .18rem;
    color: var(--rp-navy);
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    font-size: .72rem;
}
.rp-wordmark-title {
    font-family: Cinzel, Georgia, serif;
    font-size: clamp(1.4rem, 2vw, 2.12rem);
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.rp-wordmark-subtitle {
    margin-top: .25rem;
    font-family: Cinzel, Georgia, serif;
    font-weight: 700;
    font-size: .62rem;
    color: var(--rp-gold);
    letter-spacing: .14em;
    text-transform: uppercase;
}
.custom-logo-link img { max-height: 72px; width: auto; }
.rp-primary-nav {
    margin-left: auto;
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    justify-content: flex-end;
}
.rp-primary-nav ul {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: .12rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.rp-primary-nav a {
    display: inline-flex;
    align-items: center;
    padding: .55rem .64rem;
    color: var(--rp-navy);
    font-weight: 700;
    font-size: .88rem;
    line-height: 1.15;
    white-space: nowrap;
    border-radius: 999px;
}
.rp-primary-nav a:hover,
.rp-primary-nav .current-menu-item > a {
    background: rgba(184, 134, 47, .12);
    color: var(--rp-gold);
}
.rp-header-cta { flex: 0 0 auto; white-space: nowrap; }
.rp-menu-toggle { display: none; }

/* Hero */
.rp-main { overflow: hidden; }
.rp-hero {
    position: relative;
    isolation: isolate;
    background:
        radial-gradient(circle at 82% 20%, rgba(215, 174, 95, .24), transparent 34%),
        linear-gradient(135deg, var(--rp-navy-2), var(--rp-navy) 58%, var(--rp-navy-3));
    color: var(--rp-white);
    min-height: 720px;
    display: flex;
    align-items: center;
    padding: 6.5rem 0 5rem;
}
.rp-hero::after {
    content: "";
    position: absolute;
    inset: 24px;
    border: 1px solid rgba(215,174,95,.55);
    border-radius: 32px;
    pointer-events: none;
    z-index: -1;
}
.rp-hero-art {
    position: absolute;
    left: -22vw;
    top: -10%;
    width: 62vw;
    height: 120%;
    pointer-events: none;
    opacity: .95;
    z-index: -1;
}
.rp-hero-art span {
    position: absolute;
    border-radius: 50%;
    border: 24px solid rgba(215,174,95,.84);
    filter: drop-shadow(0 30px 60px rgba(0,0,0,.32));
}
.rp-hero-art span:nth-child(1) { inset: -8% 10% 4% 8%; }
.rp-hero-art span:nth-child(2) { inset: 16% 0 0 24%; border-color: rgba(255,255,255,.06); }
.rp-hero-art span:nth-child(3) { inset: 28% 18% -20% 34%; border-color: rgba(215,174,95,.38); }
.rp-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) 430px;
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
}
.rp-hero-copy h1 {
    margin: 1.1rem 0 1rem;
    font-family: Cinzel, Georgia, serif;
    font-size: clamp(2.4rem, 5.8vw, 5.65rem);
    line-height: .98;
    letter-spacing: -.04em;
    max-width: 900px;
}
.rp-hero-copy p {
    max-width: 720px;
    color: rgba(255,255,255,.82);
    font-size: clamp(1.04rem, 1.4vw, 1.24rem);
    margin: 0 0 1.8rem;
}
.rp-hero-actions { display: flex; flex-wrap: wrap; gap: .9rem; margin-bottom: 2rem; }
.rp-hero-tags { display: flex; flex-wrap: wrap; gap: .7rem; }
.rp-hero-tags span {
    padding: .48rem .75rem;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    color: rgba(255,255,255,.85);
    font-weight: 700;
    font-size: .86rem;
}
.rp-branch-card {
    position: relative;
    background: rgba(255,255,255,.96);
    color: var(--rp-navy);
    border: 1px solid rgba(215,174,95,.58);
    border-radius: var(--rp-radius);
    padding: 2rem;
    box-shadow: var(--rp-shadow);
    overflow: hidden;
}
.rp-branch-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 8px;
    background: linear-gradient(90deg, var(--rp-gold), var(--rp-gold-2), var(--rp-gold));
}
.rp-branch-card-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    margin-bottom: 1.4rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--rp-line);
}
.rp-branch-card-header span { color: var(--rp-muted); font-weight: 800; font-size: .78rem; text-transform: uppercase; letter-spacing: .12em; }
.rp-branch-card-header strong { color: var(--rp-gold); font-size: .9rem; }
.rp-branch-card h2 {
    font-family: Cinzel, Georgia, serif;
    font-size: 2.1rem;
    margin: 0;
}
.rp-branch-card > p { margin-top: .15rem; color: var(--rp-gold); font-weight: 800; }
.rp-contact-list { list-style: none; padding: 0; margin: 1.5rem 0; display: grid; gap: 1rem; }
.rp-contact-list li,
.rp-contact-list a { display: flex; gap: .9rem; align-items: flex-start; }
.rp-contact-list .rp-icon {
    color: var(--rp-gold);
    background: var(--rp-navy);
    padding: .42rem;
    width: 42px;
    height: 42px;
    border-radius: 999px;
}
.rp-divider { position: relative; height: 24px; margin: 1rem 0; display: flex; align-items: center; }
.rp-divider::before,
.rp-divider::after { content: ""; flex: 1; height: 1px; background: var(--rp-line); }
.rp-divider span { width: 10px; height: 10px; rotate: 45deg; border: 2px solid var(--rp-gold); margin: 0 .8rem; }
.rp-card-tagline {
    text-align: center;
    color: var(--rp-gold) !important;
    text-transform: uppercase;
    font-size: .82rem;
    letter-spacing: .14em;
}

/* Sections */
.rp-section { padding: clamp(4.5rem, 8vw, 7rem) 0; }
.rp-section-muted { background: linear-gradient(180deg, var(--rp-cream), #fff); }
.rp-split {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: clamp(2rem, 6vw, 5.8rem);
    align-items: start;
}
.rp-split h2,
.rp-section-heading h2,
.rp-market-panel h2,
.rp-page-hero h1 {
    font-family: Cinzel, Georgia, serif;
    line-height: 1.05;
    letter-spacing: -.035em;
}
.rp-split h2 { font-size: clamp(2rem, 4vw, 4rem); margin: .8rem 0 0; }
.rp-copy-stack { display: grid; gap: 1rem; color: var(--rp-muted); font-size: 1.07rem; }
.rp-section-heading { max-width: 760px; text-align: center; margin: 0 auto 3rem; }
.rp-section-heading-left { margin-inline: 0; text-align: left; }
.rp-section-heading h2 { font-size: clamp(2rem, 4vw, 3.65rem); margin: .8rem 0 1rem; }
.rp-section-heading p { color: var(--rp-muted); font-size: 1.08rem; }
.rp-card-grid { display: grid; gap: 1.25rem; }
.rp-course-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rp-course-card {
    position: relative;
    background: var(--rp-white);
    border: 1px solid rgba(6,29,58,.08);
    border-radius: var(--rp-radius-sm);
    padding: 1.45rem;
    box-shadow: 0 16px 40px rgba(6,29,58,.07);
    min-height: 282px;
    display: flex;
    flex-direction: column;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.rp-course-card:hover { transform: translateY(-6px); box-shadow: var(--rp-shadow); border-color: rgba(184,134,47,.34); }
.rp-course-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    color: var(--rp-gold);
    background: linear-gradient(135deg, var(--rp-navy), var(--rp-navy-3));
    margin-bottom: 1rem;
}
.rp-course-card h3 { margin: 0 0 .55rem; color: var(--rp-navy); font-size: 1.18rem; }
.rp-course-card p { margin: 0; color: var(--rp-muted); }
.rp-course-card a { margin-top: auto; padding-top: 1rem; color: var(--rp-gold); font-weight: 800; }
.rp-market-section {
    color: var(--rp-white);
    background:
        linear-gradient(135deg, rgba(0,17,38,.95), rgba(6,29,58,.98)),
        radial-gradient(circle at 80% 10%, rgba(215,174,95,.4), transparent 36%);
}
.rp-market-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: clamp(2rem, 6vw, 5rem);
    align-items: center;
}
.rp-market-panel h2 { font-size: clamp(2rem, 4.5vw, 4.3rem); margin: 1rem 0; }
.rp-market-panel p { color: rgba(255,255,255,.78); font-size: 1.08rem; max-width: 720px; margin-bottom: 1.8rem; }
.rp-metrics { display: grid; gap: 1rem; }
.rp-metrics div {
    padding: 1.3rem;
    border: 1px solid rgba(215,174,95,.35);
    border-radius: var(--rp-radius-sm);
    background: rgba(255,255,255,.07);
}
.rp-metrics strong {
    display: block;
    font-family: Cinzel, Georgia, serif;
    color: var(--rp-gold-2);
    font-size: 2.3rem;
    line-height: 1;
    margin-bottom: .45rem;
}
.rp-metrics span { color: rgba(255,255,255,.78); }
.rp-feature-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
}
.rp-feature-row article {
    padding: 1.7rem;
    border-left: 4px solid var(--rp-gold);
    background: var(--rp-cream);
    border-radius: var(--rp-radius-sm);
}
.rp-feature-row span {
    color: var(--rp-gold);
    font-weight: 900;
    letter-spacing: .16em;
}
.rp-feature-row h3 { margin: .7rem 0 .55rem; font-size: 1.22rem; }
.rp-feature-row p { margin: 0; color: var(--rp-muted); }

/* Forms */
.rp-contact-section { background: #fff; padding-top: 0; }
.rp-form-panel {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: 2rem;
    background: linear-gradient(135deg, var(--rp-cream), #fff);
    border: 1px solid var(--rp-line);
    border-radius: var(--rp-radius);
    padding: clamp(1.3rem, 4vw, 3rem);
    box-shadow: var(--rp-shadow);
}
.rp-form-copy h2 {
    font-family: Cinzel, Georgia, serif;
    font-size: clamp(1.8rem, 3vw, 3.1rem);
    line-height: 1.05;
    margin: 1rem 0;
}
.rp-form-copy p { color: var(--rp-muted); }
.rp-manager-strip {
    margin-top: 1.3rem;
    padding: 1rem;
    background: var(--rp-white);
    border: 1px solid rgba(6,29,58,.08);
    border-radius: 16px;
    display: grid;
    gap: .25rem;
}
.rp-manager-strip strong { color: var(--rp-navy); }
.rp-manager-strip span { color: var(--rp-muted); }
.rp-manager-strip a { color: var(--rp-gold); font-weight: 800; word-break: break-word; }
.rp-lead-form {
    background: var(--rp-white);
    border: 1px solid rgba(6,29,58,.08);
    border-radius: var(--rp-radius-sm);
    padding: 1.25rem;
    display: grid;
    gap: 1rem;
}
.rp-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.rp-lead-form label { display: grid; gap: .35rem; color: var(--rp-navy); font-weight: 800; }
.rp-lead-form input,
.rp-lead-form textarea,
.rp-lead-form select {
    width: 100%;
    border: 1px solid rgba(6,29,58,.16);
    border-radius: 14px;
    padding: .85rem .95rem;
    background: #fff;
    color: var(--rp-ink);
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.rp-lead-form input:focus,
.rp-lead-form textarea:focus,
.rp-lead-form select:focus {
    border-color: var(--rp-gold);
    box-shadow: 0 0 0 4px rgba(184,134,47,.12);
}
.rp-privacy-note { margin: 0; color: var(--rp-muted); font-size: .85rem; }
.rp-alert { border-radius: 14px; padding: .8rem .9rem; font-weight: 800; }
.rp-alert-success { background: #effaf1; color: #145522; }
.rp-alert-error { background: #fff2f0; color: #8a1f11; }

/* Pages and posts */
.rp-page-hero {
    background: linear-gradient(135deg, var(--rp-navy-2), var(--rp-navy));
    color: var(--rp-white);
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    position: relative;
}
.rp-page-hero::after {
    content: "";
    position: absolute;
    inset: 24px;
    border: 1px solid rgba(215,174,95,.45);
    border-radius: 30px;
    pointer-events: none;
}
.rp-page-hero h1 { font-size: clamp(2.4rem, 6vw, 5rem); margin: 1rem 0 .8rem; max-width: 950px; }
.rp-page-hero p { color: rgba(255,255,255,.78); max-width: 760px; font-size: 1.1rem; }
.rp-page-content {
    padding: clamp(3.5rem, 7vw, 6rem) 0;
    max-width: 900px;
}
.rp-page-content h2,
.rp-page-content h3 { color: var(--rp-navy); line-height: 1.15; }
.rp-page-content h2 { font-family: Cinzel, Georgia, serif; font-size: clamp(1.8rem, 3vw, 3rem); }
.rp-page-content a { color: var(--rp-gold); font-weight: 800; }
.rp-page-content .rp-form-panel { max-width: none; margin-top: 2rem; }
.rp-post-list { padding: clamp(3.5rem, 7vw, 6rem) 0; display: grid; gap: 1.2rem; }
.rp-post-card {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 1.4rem;
    padding: 1.2rem;
    border: 1px solid rgba(6,29,58,.08);
    border-radius: var(--rp-radius-sm);
    box-shadow: 0 12px 35px rgba(6,29,58,.06);
}
.rp-post-card h2 { margin: .25rem 0 .5rem; }
.rp-post-card time { color: var(--rp-gold); font-weight: 800; font-size: .84rem; }
.rp-post-image img { width: 100%; height: 180px; object-fit: cover; border-radius: 14px; }
.rp-featured-image img { border-radius: var(--rp-radius-sm); box-shadow: var(--rp-shadow); }

/* Footer */
.rp-site-footer {
    position: relative;
    overflow: hidden;
    color: rgba(255,255,255,.84);
    background: linear-gradient(135deg, var(--rp-navy-2), var(--rp-navy));
    padding-top: 4.5rem;
}
.rp-footer-wave {
    position: absolute;
    left: -18vw;
    bottom: -55%;
    width: 48vw;
    height: 120%;
    border: 22px solid rgba(215,174,95,.7);
    border-radius: 50%;
    opacity: .44;
}
.rp-footer-grid {
    position: relative;
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 2rem;
    padding-bottom: 3rem;
}
.rp-footer-brand {
    color: var(--rp-navy);
    background: rgba(255,255,255,.98);
    padding: .75rem .9rem .55rem;
    border-radius: 18px;
    box-shadow: 0 14px 32px rgba(0,0,0,.12);
}
.rp-footer-logo { max-height: 58px; max-width: min(100%, 320px); }
.rp-footer-brand .rp-logo-branch,
.rp-footer-brand .rp-wordmark-subtitle,
.rp-footer-brand .rp-wordmark-branch { color: var(--rp-navy); }
.rp-footer-grid h2 { color: #fff; font-size: 1rem; text-transform: uppercase; letter-spacing: .12em; margin: 0 0 1rem; }
.rp-footer-grid p { margin: .35rem 0; }
.rp-footer-grid a { color: rgba(255,255,255,.9); }
.rp-footer-grid a:hover { color: var(--rp-gold-2); }
.rp-footer-bottom {
    position: relative;
    border-top: 1px solid rgba(255,255,255,.12);
    padding: 1.1rem 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    font-size: .86rem;
}
.rp-footer-bottom ul { display: flex; gap: .9rem; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }

@media (max-width: 1180px) {
    .rp-header-cta { display: none; }
    .rp-primary-nav a { padding-inline: .56rem; font-size: .86rem; }
    .rp-hero-grid,
    .rp-market-grid,
    .rp-form-panel { grid-template-columns: 1fr; }
    .rp-hero { padding-top: 5rem; }
    .rp-branch-card { max-width: 560px; }
}

@media (max-width: 920px) {
    .rp-container { width: min(100% - 28px, var(--rp-container)); }
    .rp-topbar-inner { justify-content: center; flex-wrap: wrap; padding: .5rem 0; gap: .65rem 1rem; }
    .rp-topbar-inner span:first-child { width: 100%; text-align: center; margin: 0; }
    .rp-nav-wrap { min-height: 74px; }
    .rp-logo-img,
    .custom-logo-link img { max-height: 58px; }
    .rp-logo-branch,
    .rp-wordmark-branch { font-size: .64rem; }
    .rp-menu-toggle {
        margin-left: auto;
        display: inline-grid;
        gap: 5px;
        border: 1px solid rgba(6,29,58,.12);
        background: #fff;
        border-radius: 12px;
        padding: .65rem;
    }
    .rp-menu-toggle span:not(.screen-reader-text) { width: 24px; height: 2px; background: var(--rp-navy); display: block; }
    .rp-primary-nav {
        position: absolute;
        left: 14px;
        right: 14px;
        top: calc(100% + 8px);
        background: #fff;
        border: 1px solid rgba(6,29,58,.1);
        border-radius: 18px;
        box-shadow: var(--rp-shadow);
        padding: .8rem;
        opacity: 0;
        pointer-events: none;
        transform: translateY(-8px);
        transition: all .2s ease;
    }
    .rp-primary-nav.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }
    .rp-primary-nav ul { display: grid; gap: .2rem; }
    .rp-primary-nav a { width: 100%; white-space: normal; }
    .rp-hero::after,
    .rp-page-hero::after { inset: 12px; border-radius: 22px; }
    .rp-hero-art { left: -48vw; width: 100vw; opacity: .48; }
    .rp-split,
    .rp-course-grid,
    .rp-feature-row,
    .rp-footer-grid,
    .rp-grid-2,
    .rp-post-card { grid-template-columns: 1fr; }
    .rp-section { padding: 4rem 0; }
    .rp-footer-bottom { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 520px) {
    .rp-hero { min-height: auto; padding: 4.2rem 0; }
    .rp-hero-copy h1 { font-size: 2.35rem; }
    .rp-hero-actions .rp-btn { width: 100%; }
    .rp-branch-card { padding: 1.35rem; }
    .rp-contact-list li, .rp-contact-list a { align-items: flex-start; }
    .rp-form-panel { padding: 1rem; }
    .rp-lead-form { padding: .9rem; }
}
.rp-search-form { display: flex; gap: .75rem; align-items: stretch; max-width: 720px; }
.rp-search-form label { flex: 1; }
.rp-search-form input { width: 100%; min-height: 50px; border: 1px solid rgba(6,29,58,.16); border-radius: 999px; padding: .8rem 1rem; }
@media (max-width: 520px) { .rp-search-form { flex-direction: column; } }
