.partner-page { color:var(--navy); }
.partner-hero { background:var(--navy); color:#e0ecef; }
.partner-hero-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:64px; align-items:center; padding-top:72px; padding-bottom:72px; }
.partner-hero h1 { font-size:clamp(40px,4.7vw,66px); line-height:1.08; color:#fff; margin:18px 0 24px; letter-spacing:-1.5px; }
.partner-hero h1 em { color:#76dcc4; font-style:normal; }
.partner-hero-copy>p:not(.eyebrow) { max-width:510px; font-size:19px; line-height:1.65; margin-bottom:28px; }
.partner-hero-note { display:block; margin-top:16px; font-size:14px; color:#c1d6df; }
.partner-hero-photo { position:relative; margin:0; min-height:420px; border-radius:16px; overflow:hidden; }
.partner-hero-photo:after { content:""; position:absolute; inset:25% 0 0; background:linear-gradient(transparent,#011d37ed); }
.partner-hero-photo img { position:absolute; width:100%; height:100%; object-fit:cover; }
.partner-hero-photo figcaption { position:absolute; z-index:1; bottom:30px; left:30px; right:24px; }
.partner-hero-photo figcaption span { display:block; color:#8de4d1; text-transform:uppercase; letter-spacing:1.5px; font-size:12px; font-weight:700; }
.partner-hero-photo strong { display:block; color:white; font:800 32px/1.2 var(--font-heading); margin:12px 0 18px; }
.partner-hero-photo small { color:#d5e4e8; }
.partner-section-heading { margin-bottom:36px; }
.partner-section-heading h2,.partner-reward h2 { font-size:clamp(30px,3.2vw,44px); line-height:1.18; margin:12px 0 24px; }
.partner-choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.partner-choice { border:1px solid var(--line); border-radius:12px; padding:30px; display:flex; flex-direction:column; }
.partner-choice-featured { background:var(--mint); border-color:#abdacc; }
.partner-number { display:block; color:#267465; font-size:12px; letter-spacing:1.2px; font-weight:700; text-transform:uppercase; }
.partner-choice h3 { font-size:25px; line-height:1.25; margin:23px 0 15px; }
.partner-choice p { color:var(--muted); font-size:17px; line-height:1.65; margin:0 0 26px; }
.partner-choice a { display:flex; justify-content:space-between; gap:14px; margin-top:auto; padding-top:22px; border-top:1px solid #ccded8; color:var(--navy); font-weight:700; }
.partner-choice a:hover { color:#13725f; }
.partner-reward { background:var(--mint); }
.partner-reward-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.partner-reward-grid>div>p:not(.eyebrow) { font-size:18px; line-height:1.7; color:var(--muted); margin-bottom:24px; }
.partner-reward-card { background:#fff; padding:34px; border-radius:14px; border:1px solid #cfe7df; }
.partner-reward-card>div { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 0; border-bottom:1px solid var(--line); }
.partner-reward-card strong { font:900 38px var(--font-heading); color:#147d68; white-space:nowrap; }
.partner-reward-card strong small { display:block; font:400 13px var(--font-body); text-align:right; }
.partner-reward-card>p { font-size:15px!important; margin:20px 0 0!important; }
.partner-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px; list-style:none; padding:0; margin:0; }
.partner-steps li { border-top:2px solid #b7ddd2; padding-top:22px; }
.partner-steps li>span { color:#17836e; font-size:16px; font-weight:700; }
.partner-steps h3 { font-size:22px; margin:12px 0; }
.partner-steps p { color:var(--muted); font-size:17px; line-height:1.65; }
.partner-help { background:var(--navy); color:white; padding:50px 0; }
.partner-help>.shell { display:flex; align-items:center; justify-content:space-between; gap:35px; }
.partner-help h2 { color:white; font-size:30px; max-width:620px; margin:12px 0 0; }
.partner-form-heading { background:var(--mint); padding:44px 0 50px; }
.partner-form-heading h1 { font-size:clamp(32px,4vw,50px); line-height:1.15; margin:12px 0 20px; }
.partner-form-heading p:not(.eyebrow) { font-size:19px; max-width:680px; color:var(--muted); }
.partner-form-heading .contact-breadcrumb { display:inline-block; margin-bottom:26px; }
.partner-form-section { padding:58px 0 85px; }
.partner-form-grid { display:grid; grid-template-columns:1fr 1.7fr; gap:70px; align-items:start; }
.partner-form-aside { padding-top:15px; }
.partner-form-aside h2 { font-size:30px; margin:18px 0; line-height:1.25; }
.partner-form-aside p,.partner-form-aside li { color:var(--muted); font-size:17px; line-height:1.7; }
.partner-form-aside ul { padding-left:20px; }
.partner-aside-contact { border-top:1px solid var(--line); margin-top:28px; padding-top:24px; }
.partner-aside-contact span,.partner-aside-contact a { display:block; margin-bottom:7px; }
.partner-aside-contact a { font-weight:700; }
.partner-form { border:1px solid var(--line); border-radius:14px; padding:32px; background:#fff; }
.partner-form h2 { font-size:24px; margin:0 0 12px; }
.partner-form label,.partner-form legend { display:block; font-weight:600; margin:18px 0 6px; font-size:15px; }
.partner-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 18px; }
.partner-field-grid>div { min-width:0; }
.partner-form input:not([type=radio]),.partner-form select,.partner-form textarea { box-sizing:border-box; display:block; width:100%; border:1px solid #b8c7cd; border-radius:6px; padding:12px; background:white; color:var(--navy); font:inherit; min-height:48px; }
.partner-form textarea { resize:vertical; }
.partner-form :is(input,select,textarea):focus { outline:2px solid #147d68; outline-offset:2px; }
.partner-form [aria-invalid=true] { border-color:#ad3232!important; }
.partner-form fieldset { padding:0; border:0; margin:22px 0; min-width:0; }
.partner-form legend { margin-bottom:14px; }
.partner-form .partner-radio { display:flex; align-items:flex-start; gap:10px; font-weight:400; line-height:1.5; }
.partner-radio input { margin-top:5px; flex-shrink:0; accent-color:#147d68; }
.partner-small { font-size:14px!important; line-height:1.6; color:var(--muted); }
.partner-small a { text-decoration:underline; }
.partner-form .partner-form-divider { padding-top:26px; border-top:1px solid var(--line); margin-top:30px; }
.partner-errors { background:#fff0ed; padding:18px; border-radius:6px; color:#8a2929; }
.partner-errors ul { padding-left:18px; }
.partner-field-error { color:#a32d2d; font-size:14px; margin:5px 0; }
.partner-success { background:var(--mint); border:1px solid #b2dacf; border-radius:14px; padding:40px; }
.partner-success>span { display:block; color:#147d68; font-size:36px; }
.partner-success h2 { font-size:28px; margin:14px 0; }
.partner-success p { margin-bottom:26px; }
.partner-page a:focus-visible { outline:3px solid #23a88f; outline-offset:5px; }
@media(max-width:1000px) { .partner-hero-grid { gap:30px; }.partner-choice { padding:22px; }.partner-reward-grid { gap:40px; }.partner-form-grid { gap:32px; grid-template-columns:1fr 1.6fr; }.partner-form { padding:24px; } }
@media(max-width:760px) { .partner-hero-grid,.partner-reward-grid,.partner-form-grid { grid-template-columns:1fr; }.partner-hero-grid { padding-top:40px; padding-bottom:38px; }.partner-hero-photo { min-height:300px; }.partner-hero h1 { letter-spacing:-.8px; }.partner-choice-grid,.partner-steps { grid-template-columns:1fr; }.partner-choice h3 { margin-top:15px; }.partner-steps { gap:28px; }.partner-help>.shell { align-items:flex-start; flex-direction:column; }.partner-help h2 { font-size:26px; }.partner-form-section { padding:30px 0 55px; }.partner-form-aside { padding-top:0; }.partner-field-grid { grid-template-columns:1fr; }.partner-form { padding:22px; }.partner-form .button { white-space:normal; text-align:center; }.partner-reward-card { padding:24px; }.partner-success { padding:26px; } }
