.support-page { background: #f7fafb; color: var(--brand-ink); padding-bottom: 5rem; }
.support-page h1,.support-page h2,.support-page h3 { color: inherit; text-transform: none; letter-spacing: -.035em; }
.support-page p { color: var(--brand-muted); font-size: 1rem; line-height: 1.8; }
.support-page em { font-style: normal; }
.support-eyebrow { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: var(--brand-primary); margin-bottom: 1rem; }
.support-hero { padding: 2rem 0 0; }
.support-hero-panel { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: 1.18fr 1fr; align-items: center; gap: 2rem; padding: clamp(2rem,5vw,4.5rem); border-radius: 24px; background: radial-gradient(ellipse at 100% 0%,#237b89,transparent 65%),var(--brand-deep); color: #fff; }
.support-hero .support-eyebrow { color: var(--brand-light); }
.support-hero h1 { font-size: clamp(2.15rem,4.3vw,3.65rem); line-height: 1.12; font-weight: 700; margin: 0 0 1.5rem; }
.support-hero h1 em { color: var(--brand-light); }
.support-hero-copy p { max-width: 480px; color: #deedf0; margin-bottom: 1.8rem; }
.support-hero-cta { display: inline-flex; align-items: center; gap: 1.5rem; padding: .9rem 1.3rem; border-radius: 9px; background: var(--brand-light); color: var(--brand-deep); font-weight: 700; text-decoration: none; }
.support-hero-cta:hover,.support-hero-cta:focus { color: var(--brand-deep); background: var(--brand-light-hover); text-decoration: none; }
.support-illustration { position: relative; min-height: 350px; }
.support-orbit { position: absolute; width: 280px; height: 280px; border: 1px solid rgba(196,232,237,.24); border-radius: 50%; top: 32px; left: 50%; transform: translateX(-50%); }
.support-orbit-two { width: 355px; height: 355px; top: -5px; border-style: dashed; opacity: .55; }
.support-heart { position: absolute; left: 50%; top: 95px; transform: translateX(-50%) rotate(-9deg); width: 140px; height: 140px; border-radius: 40px; display: grid; place-items: center; color: var(--brand-deep); background: var(--brand-light); font-size: 3.8rem; box-shadow: 0 25px 60px rgba(5,32,42,.25); }
.support-note { position: absolute; background: #fff; color: var(--brand-muted); padding: 16px 18px 16px 62px; border-radius: 12px; font-size: .78rem; line-height: 1.6; box-shadow: 0 10px 35px rgba(5,32,42,.16); min-width: 190px; }
.support-note strong { color: var(--brand-ink); font-size: .9rem; }
.support-note > span { position: absolute; left: 15px; top: 19px; width: 33px; height: 33px; border-radius: 10px; background: var(--brand-soft); color: var(--brand-primary); display: grid; place-items: center; font-size: 1rem; }
.support-note-one { left: 0; top: 12px; transform: rotate(-6deg); }
.support-note-two { right: -12px; top: 154px; transform: rotate(5deg); }
.support-note-three { left: 8px; top: 268px; transform: rotate(-3deg); }
.support-spark { position: absolute; color: var(--brand-light); font-size: 2rem; font-weight: 300; }
.support-spark-one { right: 8px; top: 10px; }.support-spark-two { left: 24px; top: 180px; font-size: 1.5rem; }
.support-possibilities { padding-top: 4.5rem; }
.support-section-intro { max-width: 660px; }
.support-section-intro h2 { font-size: clamp(1.8rem,3vw,2.45rem); font-weight: 700; line-height: 1.2; margin-bottom: 1rem; }
.support-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.25rem; margin-top: 2rem; }
.support-card { background: #fff; padding: 1.7rem; border: 1px solid var(--brand-border); border-radius: 16px; }
.support-card-icon { display: grid; place-items: center; width: 45px; height: 45px; background: var(--brand-soft); color: var(--brand-primary); border-radius: 12px; font-size: 1.2rem; margin-bottom: 1.2rem; }
.support-card h3 { font-size: 1.18rem; line-height: 1.3; font-weight: 700; margin: 0 0 .75rem; }
.support-card p { font-size: .91rem; margin-bottom: 0; }
.support-contact { display: grid; grid-template-columns: .9fr 1.25fr; align-items: start; gap: clamp(2rem,5vw,5rem); padding-top: 5rem; scroll-margin-top: 120px; }
.support-contact-copy { padding-top: 1.6rem; }
.support-contact-copy h2 { font-size: clamp(2.3rem,4vw,3.3rem); line-height: 1.14; font-weight: 700; margin: 0 0 1.5rem; }
.support-contact-copy h2 em { color: var(--brand-primary); }
.support-direct { display: flex; align-items: center; gap: .85rem; margin: 1.8rem 0 2rem; }
.support-direct > span { display: grid; place-items: center; width: 45px; height: 45px; background: #e3f0f3; color: var(--brand-primary); border-radius: 50%; flex: none; font-size: 1.2rem; }
.support-direct strong { display: block; font-size: .83rem; margin-bottom: .3rem; }
.support-direct a { color: var(--brand-primary); font-size: .9rem; overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 3px; }
.support-contact-copy .support-signoff { font-size: .92rem; padding-left: 1rem; border-left: 3px solid var(--brand-light); }
.support-form-card { padding: clamp(1.5rem,3vw,2.5rem); background: #fff; border: 1px solid var(--brand-border); border-radius: 20px; box-shadow: 0 15px 40px rgba(16,61,73,.05); }
.support-form-card h3 { font-size: 1.35rem; font-weight: 700; line-height: 1.4; margin: 0 0 .3rem; }
.support-form-card .support-form-subtitle { font-size: .8rem; margin-bottom: 1.7rem; }
.support-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.support-field { margin-bottom: 1.25rem; min-width: 0; }
.support-field label { display: block; font-size: .85rem; font-weight: 600; margin-bottom: .45rem; }
.support-field input,.support-field select,.support-field textarea { display: block; width: 100%; min-width: 0; border: 1px solid #bacfd5; border-radius: 8px; background: #fff; color: var(--brand-ink); padding: .75rem .85rem; font: inherit; font-size: .9rem; line-height: 1.5; }
.support-field input,.support-field select { min-height: 48px; }
.support-field textarea { resize: vertical; min-height: 150px; }
.support-field :is(input,select,textarea):focus { border-color: var(--brand-primary); }
.support-field [aria-invalid="true"] { border-color: #a33335; }
.support-field-error { display: block; font-size: .8rem; color: #a33335; margin-top: .4rem; }
.support-form-card .support-privacy { font-size: .76rem; line-height: 1.65; }
.support-privacy a { color: var(--brand-primary); text-decoration: underline; }
.support-submit { display: flex; justify-content: space-between; align-items: center; gap: 1rem; width: 100%; padding: .95rem 1.15rem; border: 0; border-radius: 8px; background: var(--brand-primary); color: #fff; font: inherit; font-weight: 600; font-size: .92rem; cursor: pointer; }
.support-submit:hover,.support-submit:focus { background: var(--brand-hover); }
.support-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.support-feedback { display: flex; gap: .7rem; padding: 1rem; border-radius: 9px; font-size: .9rem; margin-bottom: 1.5rem; line-height: 1.6; }
.support-feedback p { margin: .3rem 0 0; font-size: .85rem; color: inherit; }
.support-feedback-success { background: #eaf6ee; color: #24583a; border: 1px solid #c4dfcc; }
.support-feedback-error { background: #fdf0ef; color: #8d2d31; border: 1px solid #ebc9c8; }
@media (max-width: 991px) {
    .support-hero-panel { grid-template-columns: 1.15fr 1fr; gap: 1rem; padding: 2rem; }
    .support-hero h1 { font-size: 2.5rem; }
    .support-illustration { min-height: 330px; transform: scale(.85); transform-origin: center; }
    .support-contact { grid-template-columns: 1fr; gap: 1.5rem; }
    .support-contact-copy { max-width: 600px; padding-top: 0; }
}
@media (max-width: 767px) {
    .support-hero { padding-top: 1rem; }.support-hero-panel { grid-template-columns: 1fr; gap: 1.2rem; padding: 2rem 1.5rem; border-radius: 18px; }
    .support-hero h1 { font-size: clamp(2.05rem,8vw,3rem); }
    .support-illustration { width: 100%; max-width: 360px; margin: auto; min-height: 330px; transform: scale(.88); }
    .support-cards { grid-template-columns: 1fr; gap: .9rem; }.support-card { padding: 1.4rem; }
    .support-possibilities { padding-top: 3rem; }.support-contact { padding-top: 3rem; }
    .support-form-row { grid-template-columns: 1fr; gap: 0; }.support-note-two { right: 0; }
}
