
/* ============ Landing page ============ */
.rt-landing {
    font-size: 17px;
    color: #384048;
}
.rt-wrap {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 24px;
}
.rt-center {
    text-align: center;
}
.rt-section-heading {
    font-size: 30px;
    line-height: 1.2;
    color: #00070e;
    margin: 0 0 10px;
    text-align: center;
}
.rt-section-sub {
    font-size: 17px;
    color: #505c66;
    text-align: center;
    max-width: 640px;
    margin: 0 auto 40px;
}
.rt-eyebrow {
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #1578cc;
    text-align: center;
    margin: 0 0 10px;
}
.rt-eyebrow--light {
    color: #9ecbf0;
}

/* Buttons */
.rt-btn {
    display: inline-block;
    border: 0;
    border-radius: 6px;
    padding: 16px 34px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    text-decoration: none;
    transition: background .2s ease, transform .1s ease;
}
.rt-btn--primary {
    background: #0d7d3f !important;
    color: #fff !important;
}
.rt-btn--primary:hover {
    background: #109e50 !important;
    transform: translateY(-1px);
}
.rt-btn--white {
    background: #fff !important;
    color: #1578cc !important;
}
.rt-btn--white:hover {
    background: #e3eff9 !important;
}
.rt-btn--large {
    padding: 19px 44px;
    font-size: 18px;
}
/* Meet our members */
.rt-meet {
    padding: 70px 0 90px;
    background: #fff;
    border-top: 1px solid #e8ebef;
}
.rt-meet__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
.rt-meet__card {
    position: relative;
    display: block;
    aspect-ratio: 4 / 5;
    border-radius: 16px;
    overflow: hidden;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(4, 26, 46, 0.10);
    transition: transform .25s ease, box-shadow .25s ease;
}
.rt-meet__card:nth-child(3n+2) {
    margin-top: 32px;
}
.rt-meet__card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 32px rgba(4, 26, 46, 0.20);
}
.rt-meet__photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: #fff;
    transition: transform .5s ease;
}
.rt-meet__card:hover .rt-meet__photo {
    transform: scale(1.06);
}
.rt-meet__badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: rgba(255, 255, 255, 0.93);
    color: #12507f;
    font-family: 'Heebo', sans-serif;
    font-size: 12.5px;
    font-weight: 700;
    padding: 6px 13px;
    border-radius: 20px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
}
.rt-meet__overlay {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: block;
    padding: 80px 22px 20px;
    background: linear-gradient(180deg, rgba(4, 26, 46, 0) 0%, rgba(4, 26, 46, 0.5) 42%, rgba(4, 26, 46, 0.88) 100%);
}
.rt-meet__name {
    display: block;
    font-family: 'Heebo', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    line-height: 1.25;
    margin-bottom: 3px;
}
.rt-meet__meta {
    display: block;
    font-size: 13.5px;
    color: #cfe4f6;
    margin-bottom: 14px;
}
.rt-meet__cta {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13.5px;
    font-weight: 700;
    color: #fff;
    padding: 8px 17px;
    border: 1.5px solid rgba(255, 255, 255, 0.55);
    border-radius: 20px;
    transition: background .2s ease, border-color .2s ease;
}
.rt-meet__card:hover .rt-meet__cta {
    background: #0d7d3f;
    border-color: #0d7d3f;
}
.rt-meet__arrow {
    transition: transform .2s ease;
}
.rt-meet__card:hover .rt-meet__arrow {
    transform: translateX(3px);
}

/* Hero */
.rt-hero {
    background: linear-gradient(135deg, #051f38 0%, #0a3560 48%, #1266a8 100%);
    padding: 80px 0 70px;
    position: relative;
    overflow: hidden;
}
.rt-hero::before {
    content: "";
    position: absolute;
    top: -140px;
    right: -100px;
    width: 480px;
    height: 480px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(53, 149, 224, 0.30), transparent 65%);
    pointer-events: none;
}
.rt-hero::after {
    content: "";
    position: absolute;
    bottom: -180px;
    left: -140px;
    width: 460px;
    height: 460px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(26, 205, 106, 0.14), transparent 65%);
    pointer-events: none;
}
.rt-hero .rt-btn--primary {
    background: #1acd6a !important;
    color: #04331a !important;
    margin-bottom: 5px;
}
.rt-hero .rt-btn--primary:hover {
    background: #3edd83 !important;
}
.rt-hero__grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 50px;
    align-items: center;
    position: relative;
    z-index: 1;
}
.rt-hl {
    position: relative;
    white-space: nowrap;
}
.rt-hl::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 6px;
    height: 9px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 12' preserveAspectRatio='none'%3E%3Cpath d='M2 8 Q 15 2 30 7 T 60 7 T 98 6' fill='none' stroke='%231acd6a' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
}
.rt-hl-blue {
    color: #6db8f5;
}
.rt-hero__media {
    min-width: 0;
    position: relative;
}
.rt-hero__media::before {
    content: "";
    position: absolute;
    inset: 0;
    transform: translate(16px, -16px);
    border: 2px dashed rgba(255, 255, 255, 0.35);
    border-radius: 300px 300px 24px 24px;
    z-index: 0;
    pointer-events: none;
}
.rt-hero__bubble {
    position: absolute;
    z-index: 2;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(4, 26, 46, 0.16);
}
.rt-hero__bubble::after {
    content: "";
    position: absolute;
    bottom: -7px;
    left: 16px;
    border-width: 8px 9px 0 0;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
}
.rt-hero__bubble--hello {
    top: -18px;
    right: 24px;
    padding: 10px 18px;
    font-family: 'Heebo', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #1578cc;
    animation: rt-float 5s ease-in-out infinite;
}
.rt-hero__bubble--dots {
    bottom: 42px;
    right: -16px;
    padding: 15px 15px 13px;
    display: flex;
    gap: 5px;
    animation: rt-float 6.5s .8s ease-in-out infinite;
}
.rt-hero__bubble--dots span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #1578cc;
    animation: rt-dot 1.4s ease-in-out infinite;
}
.rt-hero__bubble--dots span:nth-child(2) {
    animation-delay: .18s;
}
.rt-hero__bubble--dots span:nth-child(3) {
    animation-delay: .36s;
}
@keyframes rt-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}
@keyframes rt-dot {
    0%, 60%, 100% { transform: translateY(0); }
    30% { transform: translateY(-5px); }
}
@keyframes rt-rise {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}
.rt-hero__eyebrow { animation: rt-rise .55s ease both; }
.rt-hero__heading { animation: rt-rise .55s .08s ease both; }
.rt-hero__sub { animation: rt-rise .55s .16s ease both; }
.rt-hero__cta { animation: rt-rise .55s .24s ease both; }
.rt-hero__trust { animation: rt-rise .55s .32s ease both; }
.rt-hero__media { animation: rt-rise .65s .2s ease both; }
@media (prefers-reduced-motion: reduce) {
    .rt-hero__eyebrow,
    .rt-hero__heading,
    .rt-hero__sub,
    .rt-hero__cta,
    .rt-hero__trust,
    .rt-hero__media,
    .rt-hero__card,
    .rt-hero__bubble,
    .rt-hero__bubble--dots span,
    .rt-stats__live-dot,
    .rt-map__dot--pulse {
        animation: none !important;
    }
}
.rt-hero__card {
    position: absolute;
    bottom: -18px;
    left: -22px;
    z-index: 2;
    background: #fff;
    border-radius: 12px;
    padding: 14px 20px;
    box-shadow: 0 8px 24px rgba(4, 26, 46, 0.18);
    animation: rt-float 7.5s .4s ease-in-out infinite;
}
.rt-hero__card-value {
    display: block;
    font-family: 'Heebo', sans-serif;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.1;
    color: #00070e;
}
.rt-hero__card-label {
    display: block;
    font-size: 12.5px;
    color: #5f6e7a;
    max-width: 170px;
}
.rt-hero__img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 300px 300px 24px 24px;
    border: 5px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 18px 50px rgba(2, 12, 22, 0.45);
    position: relative;
    z-index: 1;
}
.rt-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #9ecbf0;
    margin-bottom: 20px;
}
.rt-hero__eyebrow::before {
    content: "";
    width: 26px;
    height: 3px;
    border-radius: 2px;
    background: #1acd6a;
    flex-shrink: 0;
}
.rt-hero__heading {
    font-size: 52px;
    line-height: 1.08;
    letter-spacing: -0.5px;
    color: #fff;
    margin: 0 0 20px;
}
.rt-hero__sub {
    font-size: 19px;
    line-height: 1.55;
    color: #c9ddf0;
    margin: 0 0 30px;
}
.rt-hero__cta {
    margin-bottom: 26px;
}
.rt-hero__reassure {
    display: block;
    margin-top: 12px;
    font-size: 14px;
    color: #9ecbf0;
}
.rt-hero__trust {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Postcode quick-start */
.rt-quickstart {
    display: inline-flex;
    align-items: stretch;
    gap: 10px;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 10px;
    padding: 8px;
}
.rt-quickstart__input {
    background: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 0 16px !important;
    font-size: 16px !important;
    color: #00070e !important;
    min-width: 200px;
    height: auto !important;
}
.rt-quickstart__input::placeholder {
    color: #76828b;
}
.rt-quickstart__btn {
    margin-bottom: 0 !important;
    white-space: nowrap;
}

/* Live activity line */
.rt-stats__live {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin: 32px 0 0;
    font-size: 15px;
    font-weight: 500;
    color: #404b56;
}
.rt-stats__live-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #1acd6a;
    animation: rt-live-pulse 2s ease-in-out infinite;
}
@keyframes rt-live-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(26, 205, 106, 0.5); }
    50% { box-shadow: 0 0 0 6px rgba(26, 205, 106, 0); }
}

/* Speciality chips */
.rt-spec {
    padding: 20px 0 70px;
    background: #fff;
    border-bottom: 1px solid #e8ebef;
}
.rt-spec__chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    max-width: 100%;
    margin: 0 auto;
}
.rt-spec__chip {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: #f7fafd !important;
    border: 1.5px solid #cbdeef;
    border-radius: 22px;
    padding: 10px 18px !important;
    font-size: 15px;
    font-weight: 500;
    color: #384048 !important;
    cursor: pointer;
    min-width: 0 !important;
    line-height: 1.3;
    transition: border-color .2s ease, background .2s ease, transform .15s ease;
}
.rt-spec__chip:hover {
    border-color: #1578cc;
    background: #e3eff9 !important;
    transform: translateY(-2px);
}
.rt-spec__chip-count {
    background: #e3eff9;
    color: #12507f;
    font-family: 'Heebo', sans-serif;
    font-size: 12.5px;
    font-weight: 700;
    border-radius: 12px;
    padding: 2px 9px;
}
.rt-spec__note {
    text-align: center;
    font-size: 14px;
    color: #5f6e7a;
    margin: 25px 0 0;
}

/* UK coverage map */
.rt-map {
    padding: 20px 0 80px;
}
.rt-map__inner {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 60px;
    align-items: center;
}
.rt-map__eyebrow {
    text-align: left;
}
.rt-map .rt-map__heading {
    text-align: left;
    margin-bottom: 15px;
}
.rt-map__sub {
    font-size: 17px;
    line-height: 1.6;
    color: #505c66;
    margin: 0 0 28px;
}
.rt-map__alt {
    margin: 18px 0 0;
    font-size: 15px;
    color: #505c66;
}
.rt-map__alt a {
    color: #1578cc;
    font-weight: 500;
}
.rt-map__viz svg {
    display: block;
    width: 100%;
    max-width: 400px;
    height: auto;
    margin: 0 auto;
}
.rt-map__outline {
    fill: #cfe4f6;
    stroke: #a5cbe9;
    stroke-width: 0.75;
    stroke-linejoin: round;
}
.rt-map__dot {
    fill: #1578cc;
    opacity: 0.6;
}
.rt-map__dot--pulse {
    fill: #0d7d3f;
    opacity: 0.9;
    animation: rt-map-pulse 3s ease-in-out infinite;
}
@keyframes rt-map-pulse {
    0%, 100% { opacity: 0.9; }
    50% { opacity: 0.25; }
}

/* Chat FAQ */
.rt-chat {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.rt-chat__q,
.rt-chat__a {
    width: fit-content;
    max-width: 82%;
    padding: 14px 20px;
    font-size: 15.5px;
    line-height: 1.55;
}
.rt-chat__q {
    background: #eef2f6;
    color: #00070e;
    font-weight: 600;
    border-radius: 18px 18px 18px 4px;
    cursor: pointer;
    list-style: none;
    transition: background .2s ease;
}
.rt-chat__q::-webkit-details-marker {
    display: none;
}
.rt-chat__q::after {
    content: "+";
    margin-left: 10px;
    color: #1578cc;
    font-weight: 700;
}
.rt-chat__item[open] .rt-chat__q::after {
    content: "\2212";
}
.rt-chat__q:hover {
    background: #e3eff9;
}
.rt-chat__a {
    background: #1578cc;
    color: #fff;
    border-radius: 18px 18px 4px 18px;
    margin: 14px 0 6px auto;
}
.rt-chat__item[open] .rt-chat__a {
    animation: rt-chat-in .25s ease;
}
@keyframes rt-chat-in {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}
.rt-chat__a a {
    color: #fff;
    text-decoration: underline;
}

/* Real therapists proof strip */
.rt-proof {
    padding: 26px 0;
    border-bottom: 1px solid #e8ebef;
}
.rt-proof__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}
.rt-proof__text {
    text-align: center;
}
.rt-proof__faces {
    display: flex;
    align-items: center;
}
.rt-proof__item {
    position: relative;
    display: inline-flex;
    align-items: center;
    height: 48px;
    border-radius: 24px;
    margin-left: -12px;
    text-decoration: none;
    transition: background .25s ease, box-shadow .25s ease;
}
.rt-proof__item:first-child {
    margin-left: 0;
}
.rt-proof__face {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    border: 2.5px solid #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.15);
    background: #fff;
}
.rt-proof__name {
    max-width: 0;
    opacity: 0;
    overflow: hidden;
    white-space: nowrap;
    font-size: 14px;
    font-weight: 600;
    color: #00070e;
    padding: 0;
    transition: max-width .3s ease, opacity .25s ease, padding .3s ease;
}
.rt-proof__item:hover,
.rt-proof__item:focus-visible {
    z-index: 5;
    background: #fff;
    box-shadow: 0 3px 14px rgba(0,0,0,0.18);
}
.rt-proof__item:hover .rt-proof__name,
.rt-proof__item:focus-visible .rt-proof__name {
    max-width: 230px;
    opacity: 1;
    padding: 0 15px 0 10px;
}
.rt-proof__more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    padding: 0 14px;
    border-radius: 24px;
    background: #1578cc;
    color: #fff;
    font-family: 'Heebo', sans-serif;
    font-size: 15px;
    font-weight: 700;
    border: 2.5px solid #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.15);
    margin-left: -12px;
    text-decoration: none;
    transition: background .2s ease, transform .2s ease;
}
.rt-proof__more:hover,
.rt-proof__more:focus-visible {
    background: #1266a8;
    color: #fff;
    transform: translateY(-2px);
    z-index: 5;
}
.rt-proof__text {
    font-size: 15px;
    color: #404b56;
    margin: 0;
}
.rt-hero__trust li {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 20px;
    padding: 7px 16px;
    font-size: 14px;
    font-weight: 500;
    color: #e3eff9;
}
.rt-hero__trust li::before {
    content: "\2713";
    color: #1acd6a;
    font-weight: 700;
    margin-right: 7px;
}

/* Stats */
.rt-stats {
    padding: 50px 0;
    border-bottom: 1px solid #e8ebef;
}
.rt-stats__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
}
.rt-stat {
    text-align: center;
}
.rt-stat__value {
    display: block;
    font-family: 'Heebo', sans-serif;
    font-size: 42px;
    font-weight: 700;
    line-height: 1.1;
    color: #00070e;
}
.rt-stat__label {
    display: block;
    margin-top: 6px;
    font-size: 14px;
    line-height: 1.4;
    color: #505c66;
    max-width: 220px;
    margin-left: auto;
    margin-right: auto;
}
@media (min-width: 900px) {
    .rt-stat + .rt-stat {
        border-left: 1px solid #e8ebef;
    }
}

/* How it works */
.rt-how {
    padding: 70px 0;
}
.rt-how__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 30px;
    margin-bottom: 40px;
}
.rt-how__step {
    background: #f7fafd;
    border-radius: 10px;
    padding: 30px 28px;
    position: relative;
}
.rt-how__step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 49px;
    right: -30px;
    width: 30px;
    border-top: 2px dashed #9cc5e8;
}
.rt-how__ghost {
    position: absolute;
    top: 6px;
    right: 16px;
    font-family: 'Heebo', sans-serif;
    font-size: 96px;
    font-weight: 800;
    line-height: 1;
    color: rgba(21, 120, 204, 0.07);
    pointer-events: none;
}
.rt-how__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #1578cc;
    color: #fff;
    font-family: 'Heebo', sans-serif;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 16px;
}
.rt-how__step h3 {
    font-size: 20px;
    color: #00070e;
    margin: 0 0 10px;
}
.rt-how__step p {
    font-size: 15px;
    line-height: 1.55;
    color: #505c66;
    margin: 0;
}

/* Why ASLTIP */
.rt-why {
    padding: 70px 0;
    background: #f7fafd;
}
.rt-why__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 24px;
}
.rt-why__card {
    background: #fff;
    border: 1px solid #e8ebef;
    border-radius: 10px;
    padding: 28px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.rt-why__card h3 {
    font-size: 19px;
    color: #00070e;
    margin: 0 0 10px;
}
.rt-why__card h3::before {
    content: "\2713\0020";
    color: #0d7d3f;
}
.rt-why__card p {
    font-size: 15px;
    line-height: 1.55;
    color: #505c66;
    margin: 0;
}
.rt-why__card--featured {
    background: #1578cc;
    border-color: #1578cc;
    box-shadow: 0 8px 24px rgba(21, 120, 204, 0.28);
}
.rt-why__card--featured h3 {
    color: #fff;
}
.rt-why__card--featured h3::before {
    color: #fff;
}
.rt-why__card--featured p {
    color: #e3eff9;
}

/* Quote band */
.rt-band {
    background: #1578cc;
    padding: 55px 0;
}
.rt-band__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 25px;
}
.rt-band__quote-wrap {
    position: relative;
    max-width: 640px;
    padding-left: 12px;
}
.rt-band__mark {
    position: absolute;
    top: -46px;
    left: -18px;
    font-family: 'Heebo', sans-serif;
    font-size: 150px;
    font-weight: 800;
    line-height: 1;
    color: rgba(255, 255, 255, 0.14);
    pointer-events: none;
}
.rt-band__quote {
    position: relative;
    font-family: 'Heebo', sans-serif;
    font-size: 27px;
    font-weight: 700;
    line-height: 1.3;
    color: #fff;
    margin: 0;
}
.rt-band__attr {
    position: relative;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.75);
    margin: 8px 0 0;
}

/* FAQ */
.rt-faq {
    padding: 70px 0;
}
.rt-faq__inner {
    max-width: 760px;
}
.rt-faq .rt-section-heading {
    margin-bottom: 30px;
}
.rt-faq__item {
    border-bottom: 1px solid #e8ebef;
}
.rt-faq__item summary {
    cursor: pointer;
    padding: 18px 30px 18px 0;
    font-size: 17px;
    font-weight: 500;
    color: #00070e;
    list-style: none;
    position: relative;
}
.rt-faq__item summary::-webkit-details-marker {
    display: none;
}
.rt-faq__item summary::after {
    content: "+";
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 22px;
    color: #1578cc;
}
.rt-faq__item[open] summary::after {
    content: "\2212";
}
.rt-faq__item p {
    font-size: 15px;
    line-height: 1.6;
    color: #505c66;
    margin: 0 0 20px;
}
.rt-faq__item a {
    color: #1578cc;
}
.rt-faq__more {
    margin-top: 28px;
    font-size: 15px;
    color: #505c66;
    text-align: center;
}
.rt-faq__more a {
    color: #1578cc;
    font-weight: 500;
}

/* Final CTA */
.rt-final {
    padding: 95px 0 105px;
    background:
        linear-gradient(180deg, rgba(6, 32, 56, 0.78) 0%, rgba(6, 32, 56, 0.62) 100%),
        url('https://asltip.com/wp-content/uploads/01-0-16-1536x1024.jpg') center / cover no-repeat;
}
.rt-final .rt-section-heading {
    color: #fff;
}
.rt-final .rt-section-sub {
    color: #dbe9f6;
}
.rt-final__alt {
    margin-top: 22px;
    font-size: 15px;
    color: #c7dcf0;
}
.rt-final__alt a {
    color: #fff;
    font-weight: 500;
    text-decoration: underline;
}

/* Sticky CTA */
.rt-sticky-cta {
    position: fixed;
    bottom: 22px;
    right: 22px;
    z-index: 9990;
    box-shadow: 0 8px 24px rgba(4, 26, 46, 0.3);
    animation: rt-sticky-in .3s ease;
}
@keyframes rt-sticky-in {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Modal */
.rt-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.rt-modal__overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 7, 14, 0.65);
}
.rt-modal__panel {
    position: relative;
    background: #fff;
    border-radius: 10px;
    max-width: 980px;
    width: 100%;
    max-height: 92vh;
    overflow-y: auto;
    padding: 50px 38px 40px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.3);
    outline: none;
}
.rt-modal__close {
    position: absolute;
    top: 10px;
    right: 12px;
    z-index: 5;
    background: none !important;
    border: none;
    font-size: 46px;
    line-height: 1;
    color: #5f6e7a !important;
    cursor: pointer;
    padding: 6px 12px !important;
    min-width: 0 !important;
    width: auto !important;
    height: auto !important;
}
.rt-modal__close:hover {
    color: #00070e !important;
}

/* Responsive */
@media (max-width: 900px) {
    .rt-meet__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    .rt-meet__card:nth-child(3n+2) {
        margin-top: 0;
    }
    .rt-how__step:not(:last-child)::after {
        display: none;
    }
    .rt-hero__card {
        left: 10px;
        bottom: 10px;
    }
    .rt-hero__bubble--hello {
        top: 10px;
        right: 10px;
    }
    .rt-hero__bubble--dots {
        bottom: 20px;
        right: 10px;
    }
    .rt-hero__media::before {
        top: -10px;
        right: -8px;
    }
    .rt-hl {
        white-space: normal;
    }
    .rt-hero__grid {
        grid-template-columns: 1fr;
        gap: 34px;
        text-align: center;
    }
    .rt-map__inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .rt-map__eyebrow,
    .rt-map .rt-map__heading {
        text-align: center;
    }
    .rt-map__text {
        text-align: center;
    }
    .rt-hero__trust {
        justify-content: center;
    }
    .rt-hero__media {
        order: 2;
        max-width: 520px;
        margin: 0 auto;
    }
}
@media (max-width: 750px) {
    .rt-hero {
        padding: 50px 0 45px;
    }
    .rt-hero__heading {
        font-size: 34px;
        letter-spacing: 0;
    }
    .rt-hero__sub {
        font-size: 16px;
    }
    .rt-hero__img,
    .rt-hero__media::before {
        border-radius: 170px 170px 18px 18px;
    }
    .rt-hero__media::before {
        transform: translate(10px, -10px);
    }
    .rt-proof__item,
    .rt-proof__face,
    .rt-proof__more {
        height: 40px;
    }
    .rt-proof__face {
        width: 40px;
    }
    .rt-proof__text {
        text-align: center;
    }
    .rt-final {
        padding: 70px 0 80px;
        background-image:
            linear-gradient(180deg, rgba(6, 32, 56, 0.78) 0%, rgba(6, 32, 56, 0.62) 100%),
            url('https://asltip.com/wp-content/uploads/01-0-16-768x512.jpg');
    }
    .rt-meet__grid {
        grid-template-columns: 1fr;
    }
    .rt-meet__card {
        max-width: 420px;
        margin-left: auto;
        margin-right: auto;
        width: 100%;
    }
    .rt-sticky-cta {
        left: 16px;
        right: 16px;
        bottom: 16px;
        text-align: center;
    }
    .rt-quickstart {
        display: flex;
        flex-direction: column;
        width: 100%;
        gap: 8px;
    }
    .rt-quickstart__input {
        min-width: 0;
        padding: 13px 16px !important;
        text-align: center;
    }
    .rt-chat__q,
    .rt-chat__a {
        max-width: 92%;
    }
    .rt-band__mark {
        font-size: 110px;
        top: -34px;
        left: -8px;
    }
    .rt-section-heading {
        font-size: 24px;
    }
    .rt-stat__value {
        font-size: 34px;
    }
    .rt-band__inner {
        justify-content: center;
        text-align: center;
    }
    .rt-band__quote {
        font-size: 21px;
    }
    .rt-modal {
        padding: 0;
        align-items: flex-end;
    }
    .rt-modal__panel {
        max-height: 94vh;
        border-radius: 10px 10px 0 0;
        padding: 26px 20px 30px;
    }
}


/* ============ Contact form styling ============ */
.gform_wrapper .boxes .gfield_checkbox li label, .gform_wrapper .boxes .gfield_radio li label {
    color: #1c1c1c !important;
}

#search .condition-disclaimer p {
    color: #00070E;
    font-weight: 400 !important;
}

.heading-section__text {
    color: #00070E;
}

.gfield_radio li label {
    padding-left: 30px!important;
}

.gform_wrapper .gfield_radio li label:after {
    background: #f7fafd !important;
}

.gform_wrapper .gfield_radio li label:after {
    left: 3px !important;
    top: 3px !important;
    width: 14px !important;
    height: 14px !important;
}

.gform_wrapper .gfield_radio li label:before {
    width: 20px !important;
    height: 20px !important;
}

.gform_wrapper .gfield_radio li label:before {
    background: #f7fafd !important;
}

.gform_wrapper .gfield_radio input[type=radio]:checked+label:after {
    background: #1578cc !important;
}

ul#input_34_8,
ul.hp-unused-gf-selector {
    display: flex;
    gap: 30px;
}

.hero__shape {
    display: none;
}

.hero__media img {
    opacity: 0.7 !important;
}

.hero--single .hero__media {
    background: black;
}

.elementor p {
    font-size: revert;
    font-weight: revert;
    color: revert;
    line-height: revert;
    margin: revert;
}

.member-block__shape svg {
    fill: #FFF !important;
}

.therapist-search__content .btn:before {
    background: #145aad !important;
}

.therapist-search.cf {
    margin-bottom: 200px;
}

.btn {
    padding: 0px 30px !important;
}

.gform_wrapper .list ul li:nth-child(even) {
    margin-right: 20px !important;
}

input#services-search {
    margin-bottom: 20px;
}

.new-search .gform_wrapper .gsection_title {
    font-size: 22px !important;
    margin-top: 40px !important;
}

.gform_wrapper .gf_progressbar_percentage {
    position: relative !important;
    border-radius: 0 !important;
}

.gf_progressbar {
    background: #D6ECFF;
}

.gform_wrapper .gf_progressbar_percentage span {
    padding: 0 !important;
    top: 10px !important;
    bottom: unset !important;
}


.gform_wrapper input[type=text], .gform_wrapper textarea {
    background: #f7fafd !important;
    color: #1c1c1c !important;
}

.select2-container .select2-selection {
    background: #f7fafd !important;
}

.select2-container .select2-selection--single .select2-selection__placeholder, .select2-container .select2-selection--single .select2-selection__rendered {
    color: #76828b !important;
}

.gform_page_footer .my-custom-class {
    display: inline-block !important;
}

.gform_page_footer .gform_previous_button.button {
    color: #1578cc !important;
    border: 2px solid #1578cc !important;
    padding: 0px 30px !important;
    height: 40px !important;
}

.gform_page_footer {
    display: flex !important;
    gap: 20px !important;
}

.gfield.gsection {
    margin-bottom: 35px !important;
}

.gfield_radio label {
    padding: 15px 30px !important;
    border: 3px solid #D6ECFF !important;
    border-radius: 12px !important;
    font-weight: 400 !important;
    font-size: 16px !important;
}

.gfield_radio input[type=radio]:checked+label {
    background: #D6ECFF !important;
}

.gform_wrapper .gfield_radio li label:before {
    display: none !important;
}

.gform_wrapper .gfield_radio li label:after, .gform_wrapper .gfield_radio input[type=radio]:checked+label:after {
    display: none !important;
}

.hidden-label .gfield_label{
    display: none !important;
}

.select2-container .select2-selection--single .select2-selection__placeholder, .select2-container .select2-selection--single .select2-selection__rendered {
    color: #1c1c1c !important;
    font-size: 16px !important;
}

.conditions-selection {
    padding: 0px !important;
}

.radio-flex ul {
    display: flex;
    gap: 30px;
}

.gform_wrapper .gfield_label {
    font-size: 18px !important;
    color: #1c1c1c !important;
}

.radio-grid ul {
    display: grid;
    gap: 30px;
    grid-template-columns: auto auto auto;
}

.radio-grid .gfield_radio label {
    width: 100%;
    text-align: center;
    font-weight: 500 !important;
    height: 100%;
}

.assistance-type label {
    font-weight: 500 !important;
}

.condition-disclaimer {
    margin-top: -40px !important;
}



.member-block__shape svg {
    fill: #f7fafd !important;
}

.select2-container .select2-dropdown .select2-results__option {
    color: #1c1c1c !important;
}


.select2-container .select2-dropdown .select2-results__option--highlighted[aria-selected] {
    background: #cfe4f6 !important;
}

.gform_wrapper input[type=text], .gform_wrapper textarea, span.select2-selection.select2-selection--single {
    border: 2px solid #cbdeef !important;
}

.gform_wrapper input[type=text]:focus, .gform_wrapper textarea:focus {
    border: 2px solid #1578cc !important;
}

.select2-container.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #1578cc transparent !important;
}

.select2-container .select2-selection .select2-selection__arrow b {
    border-color: #1578cc transparent transparent transparent !important;
}

/* Select2 dropdowns attach to <body> at z-index ~1051; the request modal sits
   at 10000, so raise open dropdowns above it or they render behind the modal */
.select2-container--open {
    z-index: 10060 !important;
}

@media (max-width: 720px) {
    .radio-flex ul {
        flex-direction: column !important;
        gap: 20px !important;
    }

    .radio-flex ul label {
        width: 100% !important;
        text-align: center !important;
    }

    .gform_page_footer {
        flex-direction: column !important;
    }

    .gform_page_footer .gform_previous_button.button {
        width: 100% !important;
    }

    .radio-grid ul {
        grid-template-columns: auto !important;
        gap: 20px !important;
    }
}

/* =========================================================================
   Homepage-preview overlay (hp-*): sections the RAT page does not have.
   Everything above is a verbatim copy of the RAT template's inline styles -
   consolidate into one shared file if the client adopts a variant.
   ========================================================================= */

/* Slim SLT cross-link pill under the client-first hero trust chips */
.hp-slt-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 22px;
    padding: 9px 18px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.22);
    color: #dcecfa;
    font-size: 14px;
    text-decoration: none;
    transition: background .2s ease;
}
.hp-slt-pill:hover { background: rgba(255, 255, 255, 0.18); color: #fff; }
.hp-slt-pill strong { color: #fff; font-weight: 700; }

/* Equal-weight hero: one heading, two path cards */
.hp-split { text-align: center; }
.hp-split__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 26px;
    max-width: 980px;
    margin: 44px auto 0;
    text-align: left;
}
.hp-path {
    background: #fff;
    border-radius: 16px;
    padding: 30px 30px 28px;
    box-shadow: 0 18px 44px rgba(2, 18, 33, 0.35);
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.hp-path--pro {
    background: #0c355c;
    border: 1px solid #1e517f;
}
.hp-path__eyebrow {
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #1578cc;
    margin: 0;
}
.hp-path--pro .hp-path__eyebrow { color: #8fc3ec; }
.hp-path__heading {
    font-size: 22px;
    line-height: 1.25;
    color: #00070e;
    margin: 0;
}
.hp-path--pro .hp-path__heading { color: #fff; }
.hp-path__sub {
    font-size: 15.5px;
    line-height: 1.55;
    color: #505c66;
    margin: 0 0 6px;
}
.hp-path--pro .hp-path__sub { color: #b9d2e8; }
.hp-path .rt-quickstart { margin: 0; }
.hp-path__links {
    margin-top: auto;
    font-size: 14px;
}
.hp-path__links a { color: #1578cc; }
.hp-path--pro .hp-path__links a { color: #9ecbf0; }
.hp-path__cta { margin-top: auto; }
.hp-path--pro .hp-path__cta { margin-top: 4px; }

/* Children / adults help cards */
.hp-help {
    padding: 70px 0 80px;
    background: #f4f9fd;
}
.hp-help__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    max-width: 980px;
    margin: 0 auto;
}
.hp-help__card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: #fff;
    border: 1px solid #e3ebf2;
    border-radius: 16px;
    padding: 30px 32px;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(4, 26, 46, 0.06);
    transition: transform .2s ease, box-shadow .2s ease;
}
.hp-help__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(4, 26, 46, 0.14);
}
.hp-help__icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: #e3f0fb;
    color: #1578cc;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 6px;
}
.hp-help__card h3 {
    margin: 0;
    font-size: 21px;
    color: #00070e;
}
.hp-help__card p {
    margin: 0;
    font-size: 15.5px;
    line-height: 1.55;
    color: #505c66;
}
.hp-help__go {
    margin-top: 8px;
    font-weight: 700;
    font-size: 15px;
    color: #1578cc;
}

/* Membership band for SLTs */
.hp-join {
    padding: 84px 0;
    background: linear-gradient(135deg, #0b2f52 0%, #124a80 60%, #1578cc 130%);
}
.hp-join__inner {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 48px;
    align-items: center;
}
.hp-join__heading {
    font-size: 30px;
    line-height: 1.2;
    color: #fff;
    margin: 0 0 12px;
}
.hp-join__sub {
    font-size: 16.5px;
    line-height: 1.6;
    color: #c4dcf1;
    margin: 0 0 24px;
}
.hp-join__ctas {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}
.hp-join__alt {
    color: #9ecbf0;
    font-size: 14.5px;
}
.hp-join__alt a { color: #fff; }
.hp-join__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.hp-join__chip {
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.22);
    color: #eaf4fd;
    border-radius: 999px;
    padding: 10px 18px;
    font-size: 14.5px;
}

/* News cards */
.hp-news {
    padding: 70px 0 84px;
    background: #fff;
    border-top: 1px solid #e8ebef;
}
.hp-news__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
.hp-news__card {
    display: flex;
    flex-direction: column;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #e3ebf2;
    background: #fff;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(4, 26, 46, 0.06);
    transition: transform .2s ease, box-shadow .2s ease;
}
.hp-news__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(4, 26, 46, 0.14);
}
.hp-news__thumb {
    aspect-ratio: 16 / 9;
    width: 100%;
    object-fit: cover;
    background: #e3f0fb;
}
.hp-news__body {
    padding: 20px 22px 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.hp-news__date {
    font-size: 13px;
    color: #7c8892;
}
.hp-news__title {
    margin: 0;
    font-size: 18px;
    line-height: 1.35;
    color: #00070e;
}
.hp-news__more {
    margin-top: 4px;
    font-weight: 700;
    font-size: 14.5px;
    color: #1578cc;
}
.hp-news__all { margin-top: 34px; }

@media (max-width: 900px) {
    .hp-split__grid, .hp-help__grid, .hp-join__inner { grid-template-columns: 1fr; }
    .hp-news__grid { grid-template-columns: 1fr; max-width: 460px; margin: 0 auto; }
    .hp-join__inner { gap: 30px; }
}

/* Equal-weight hero: audience tabs (replaces the first-round hp-split cards) */
.hp-tabs {
    display: inline-flex;
    gap: 6px;
    padding: 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.20);
    margin: 26px 0 18px;
    max-width: 100%;
}
.rt-landing .hp-tabs__tab {
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #cfe3f5;
    font-size: 14.5px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    padding: 11px 20px;
    cursor: pointer;
    white-space: nowrap;
    transition: background .2s ease, color .2s ease;
}
.rt-landing .hp-tabs__tab:hover { color: #fff; }
.rt-landing .hp-tabs__tab.is-on {
    background: #fff;
    color: #0b2f52;
}
.hp-tabs__pro {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}
.hp-tabs__pro-links { font-size: 14.5px; }
.hp-tabs__pro-links a { color: #9ecbf0; }
.hp-tabs__pro-links a:hover { color: #fff; }
@media (max-width: 640px) {
    .hp-tabs { display: flex; flex-direction: column; border-radius: 16px; width: 100%; }
    .rt-landing .hp-tabs__tab { width: 100%; text-align: center; }
}

/* The tab panels stand where .rt-hero__cta stands in the client-first hero,
   so they carry its 26px gap to the trust chips below. */
.hp-tabs__panel { margin-bottom: 26px; }

/* On the RAT page every CTA is a <button>, and Elementor's kit rule
   (.elementor-kit-18360 button: 12px / 500 / uppercase / 0.125em / 13px 30px /
   4px radius) outranks .rt-btn - so THAT is how the reference buttons actually
   render. The previews use <a class="rt-btn">, which the kit's button selector
   never touches, so anchors here get the kit's rendered look explicitly.
   Applies to --large too: the kit flattens that on RAT as well. */
.rt-landing a.rt-btn,
.rt-landing a.rt-btn.rt-btn--large {
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.125em;
    border-radius: 4px;
    padding: 13px 30px;
}

/* Both tab panels occupy the same grid cell, so the hero reserves the taller
   panel's height in both states and switching tabs cannot reflow the page.
   The inactive panel stays in layout but invisible and untabbable. */
.hp-tabs-panels { display: grid; }
.hp-tabs-panels .hp-tabs__panel { grid-area: 1 / 1; }
.hp-tabs-panels .hp-tabs__panel[hidden] {
    display: block;
    visibility: hidden;
    pointer-events: none;
}

/* hp-join background variants (client to pick one; default stays navy until then) */
.hp-join--ice {
    background: #e8f2fb;
}
.hp-join--ice .hp-join__heading { color: #00070e; }
.hp-join--ice .hp-join__sub { color: #46586a; }
.hp-join--ice .rt-eyebrow--light { color: #1578cc; }
.hp-join--ice .hp-join__chip { background: #fff; border-color: #cfe4f8; color: #12507f; }
.hp-join--ice .hp-join__alt { color: #46586a; }
.hp-join--ice .hp-join__alt a { color: #1578cc; }
.hp-join--ice .rt-btn--white { background: #0d7d3f !important; color: #fff !important; }
.hp-join--ice .rt-btn--white:hover { background: #109e50 !important; }

.hp-join--card {
    background: #f4f9fd;
}
.hp-join--card .hp-join__inner {
    background: linear-gradient(135deg, #0b2f52 0%, #124a80 60%, #1578cc 130%);
    border-radius: 20px;
    padding: 56px 54px;
    box-shadow: 0 18px 44px rgba(4, 26, 46, 0.18);
}
@media (max-width: 900px) {
    .hp-join--card .hp-join__inner { padding: 34px 26px; }
}

.hp-join--green {
    background: linear-gradient(135deg, #0a5c33 0%, #0f7a44 65%, #16944f 130%);
}
.hp-join--green .hp-join__sub { color: #cdeeda; }
.hp-join--green .rt-eyebrow--light { color: #9fdcb8; }
.hp-join--green .hp-join__chip { background: rgba(255, 255, 255, 0.12); border-color: rgba(255, 255, 255, 0.26); color: #eafbf1; }
.hp-join--green .hp-join__alt { color: #b9e6ca; }
.hp-join--green .rt-btn--white { color: #0d7d3f !important; }

/* Tighter vertical rhythm around "The process" (Dylan, 9 Sep 2026): less air
   between the membership card above it and the Who-we-help band below it. */
.hp-join--card { padding-bottom: 56px; }
.rt-landing .rt-how { padding: 36px 0 44px; }
.hp-help { padding-top: 52px; }

/* ============ Search card section ============
   Mirrors the live homepage's "Begin Your Search" composition: a blue rounded
   panel with a narrow white card overlapping its right edge, fields stacked
   vertically. Plain GET to the directory with GF form 35's parameter names
   (hidden form_page=3), no JS. The theme sets label { font-size: 19px }
   site-wide - sizes owned here. */
.hp-search {
    padding: 40px 0 70px;
    /* transparent = the same ground as "The process" below it */
    background: transparent;
}
/* Flex, not absolute: the stage is always as tall as the taller child, so the
   card can overhang the blue panel without bleeding into the next section. */
.hp-search__stage {
    display: flex;
    align-items: center;
}
.hp-search__panel {
    flex: 1;
    background: linear-gradient(120deg, #0f5a96 0%, #1578cc 100%);
    border-radius: 22px;
    padding: 56px 420px 56px 52px;
    min-height: 220px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.hp-search__eyebrow { text-align: left; margin-bottom: 8px; }
.hp-search__heading {
    margin: 0 0 10px;
    font-size: 27px;
    line-height: 1.25;
    color: #fff;
}
.hp-search__sub {
    margin: 0 0 12px;
    font-size: 15.5px;
    line-height: 1.55;
    color: #cfe4f8;
    max-width: 480px;
}
.hp-search__sub--points { color: #fff; font-weight: 500; }
.hp-search__panel .hp-search__areas { align-self: flex-start; margin-top: 14px; }
.hp-search__card {
    flex: 0 0 350px;
    width: 350px;
    margin-left: -390px;
    margin-right: 40px;
    position: relative;
    background: #fff;
    border-radius: 14px;
    padding: 26px 26px 28px;
    box-shadow: 0 16px 44px rgba(4, 26, 46, 0.18);
}
.hp-search .hp-search__title {
    margin: 0 0 16px;
    font-size: 20px;
    color: #00070e;
}
.hp-search__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 14px;
}
.hp-search .hp-search__label {
    font-family: 'Heebo', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #12507f;
    margin: 0;
}
.hp-search .hp-search__input {
    background: #f7fafd;
    border: 2px solid #cbdeef;
    border-radius: 6px;
    color: #1c1c1c;
    padding: 10px 12px;
    font-size: 15px;
    height: auto;
    width: 100%;
    min-width: 0;
}
.hp-search .hp-search__input:focus { border-color: #1578cc; outline: none; }
.hp-search select.hp-search__input { appearance: auto; }
.hp-search__seg { display: flex; gap: 8px; }
.hp-search__seg label { margin: 0; cursor: pointer; flex: 1; }
.hp-search__seg input { position: absolute; opacity: 0; width: 0; height: 0; }
.hp-search__seg span {
    display: block;
    text-align: center;
    padding: 10px 8px;
    border: 2px solid #cbdeef;
    border-radius: 6px;
    background: #fff;
    color: #12507f;
    font-family: 'Heebo', sans-serif;
    font-size: 14px;
    font-weight: 700;
    transition: background .15s ease, border-color .15s ease;
}
.hp-search__seg input:checked + span {
    background: #e3f0fb;
    border-color: #1578cc;
    color: #0b2f52;
}
.hp-search__seg input:focus-visible + span { outline: 2px solid #1578cc; outline-offset: 2px; }
.hp-search .hp-search__btn { margin-top: 4px; }
@media (max-width: 1100px) {
    .hp-search__stage { display: block; }
    .hp-search__panel { padding: 44px 44px 260px; }
    .hp-search__card { width: auto; max-width: 420px; margin: -240px auto 0; }
}
@media (max-width: 640px) {
    .hp-search__panel { padding: 30px 24px 240px; }
    .hp-search__card { margin: -220px 0 0; }
}
