.partner-shell{max-width:1040px;margin:auto;padding:2.5rem 1.25rem 4rem}.partner-shell h1{font-size:clamp(2rem,4vw,3rem);line-height:1.15;overflow-wrap:anywhere}.partner-shell h2{font-size:1.4rem}.partner-shell .form-panel{max-width:820px;margin:1.5rem auto;padding:clamp(1rem,3vw,2.5rem)}.partner-shell fieldset{border:0;padding:0;margin:0 0 1.5rem;min-width:0}.partner-shell legend{font-size:1.35rem;font-weight:700;margin-bottom:1rem}.partner-shell label{display:block;font-weight:600}.partner-shell input,.partner-shell select,.partner-shell textarea{box-sizing:border-box;width:100%;margin-top:.4rem;min-height:46px}.partner-shell textarea{min-height:130px}.partner-shell input[type=checkbox]{width:1.15rem;min-height:1.15rem;vertical-align:middle;margin-right:.6rem}.partner-shell p{overflow-wrap:anywhere}.partner-shell .small,.partner-shell .field-help{font-size:.9rem;line-height:1.55}.partner-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin:1.25rem 0}.partner-alert{padding:1rem 1.2rem;border-radius:10px;background:#edf4ef;border-left:4px solid #14532d;line-height:1.5;overflow-wrap:anywhere}.partner-alert:empty{display:none}.partner-alert[data-error=true]{background:#fff1ef;border-color:#923c2c;color:#6b2317}.partner-card{padding:1.5rem;border:1px solid #d6dfd6;border-radius:14px;background:#fff;margin-bottom:1.5rem}.partner-card img{max-width:200px;max-height:100px;object-fit:contain}.partner-id{font:700 1.15rem ui-monospace,monospace;letter-spacing:.08em}.partner-steps{padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;list-style:none;counter-reset:steps}.partner-steps li{counter-increment:steps;padding:1.25rem;border:1px solid #d6dfd6;border-radius:12px;background:#fff}.partner-steps li::before{content:counter(steps);display:block;color:#14532d;font-weight:800;font-size:1.5rem;margin-bottom:.5rem}.partner-shell [hidden]{display:none!important}.partner-shell :focus-visible{outline:3px solid #a85514;outline-offset:3px}.partner-shell .bot-check-panel{padding:1.5rem;border:1px solid #d6dfd6;border-radius:14px}.partner-form-note{color:#405e52;line-height:1.6}.partner-shell button:disabled{opacity:.65;cursor:wait}.partner-shell a{overflow-wrap:anywhere}@media(max-width:650px){.partner-steps{grid-template-columns:1fr}.partner-shell{padding:1.5rem 1rem 3rem}.partner-actions .btn{width:100%;text-align:center}.partner-shell .field-grid{grid-template-columns:1fr}.partner-shell .form-panel{padding:1rem}}

.public-navigation-ready .site-header .nav-submenu[hidden]{display:none!important}.public-navigation-ready .site-header .submenu-open>.nav-submenu:not([hidden]){display:block}@media(max-width:1240px){.public-navigation-ready nav.primary-nav.open{max-height:var(--public-menu-space,calc(100dvh - 90px));overflow-y:auto;overscroll-behavior:contain}}

.partner-qr{margin:1.5rem 0;padding:1.25rem;border:1px solid #dce4dd;border-radius:9px;background:#fff;overflow-wrap:anywhere}.partner-qr h2{font-size:1.2rem}.partner-qr-actions{display:flex;flex-wrap:wrap;gap:.75rem}.partner-qr-preview canvas{display:block;max-width:100%;width:280px;height:auto;margin:1rem 0}.partner-qr [role=status]:empty{display:none}.partner-qr p{font-size:.9rem;line-height:1.5}.partner-qr a{overflow-wrap:anywhere}

.partner-logo-upload{padding:1.25rem;border:1px solid #dce4dd;border-radius:9px;margin:1.5rem 0}.partner-logo-upload label{display:block;margin-bottom:1rem}.partner-logo-upload img{max-width:220px;max-height:140px;object-fit:contain}.partner-logo-upload progress{display:block;max-width:100%;margin:1rem 0}.partner-logo-upload progress[hidden],.partner-logo-upload [role=status]:empty{display:none}

/* Partner content uses the shared site gutters; nested cards are not full-page sections. */
.partners-registration-page .partner-enrollment-grid{padding-inline:var(--site-desktop-gutter)}
main.partner-shell{padding:2rem var(--site-desktop-gutter) 3rem}
.partner-shell [data-partner-app]{display:grid;gap:1.5rem;min-width:0}
.partner-shell [data-partner-app]>h1{margin:0}
.partner-shell [data-partner-app]>.partner-card,
.partner-shell .form-panel>.partner-card{padding:clamp(1.25rem,3vw,2rem);margin:0;min-height:0}
.partner-shell [data-referral-form]{padding:0;margin:0;min-width:0}
.partner-shell [data-partner-app]>.form-panel,
.partner-shell [data-referral-form]>.form-panel{width:100%;max-width:none;margin:0;padding:clamp(1.25rem,3vw,2rem)}
.partner-shell .partner-card>:first-child{margin-top:0}
.partner-shell .partner-card>:last-child{margin-bottom:0}
.partner-shell .partner-alert:not(:empty){margin-bottom:1.5rem}
.partner-shell .field-grid{gap:1rem}
.partner-shell .field-grid>p{min-width:0}
.partner-shell .btn{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center;line-height:1.4}
.partner-shell .form-panel>.partner-card{margin-block:1.5rem}
@media(max-width:760px){
 .partners-registration-page .partner-enrollment-grid{padding-inline:20px}
 main.partner-shell{padding:1.5rem 20px 2.5rem}
}

/* Partners uses the accepted public shell and Membership light-hero components.
   Logo sizing mirrors the accepted Membership presentation without loading checkout code. */
body.partners-page .logo .site-logo{width:200px;max-width:100%;height:auto}
.partners-registration-page{padding:0 0 5rem}
.partners-registration-page .partner-hero{--v315-hero-image:none;background:var(--v315-warm,#fbf7ee)}
.partners-registration-page .partner-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:right center;z-index:-2}
.partners-registration-page .partner-hero .small{max-width:60ch;margin-top:1rem}
.partners-registration-page .partner-enrollment-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2rem,4vw,3rem);padding:0;width:min(var(--site-max),calc(100% - 2 * var(--site-gutter)));max-width:var(--site-max);margin-inline:auto}
.partners-registration-page .partner-benefits,
.partners-registration-page .partner-enrollment-grid>.partner-shell{width:100%;max-width:680px;margin-inline:0;justify-self:start;padding:0;grid-row:auto}
.partners-registration-page .partner-benefits ul,
.partners-registration-page .partner-benefits ol{padding-left:1.2em;margin:0 0 2rem}
.partners-registration-page .partner-benefits li{margin-bottom:.75rem}
.partners-registration-page .partner-benefits details{border-block:1px solid rgba(18,63,53,.14);padding:1rem 0;margin-bottom:1rem}
.partners-registration-page .partner-benefits summary{cursor:pointer;font-weight:600}
.partners-registration-page .partner-benefits details ul{margin:1rem 0 0}
.partners-registration-page .partner-enrollment-grid .form-panel{margin:0}
#partner-registration{scroll-margin-top:calc(var(--v315-header-height) + 20px)}
#partner-registration:focus-visible{outline:3px solid #aa874a;outline-offset:6px}
/* Shared immersive hero pattern: the image stays behind the copy at every size. */
@media(max-width:1200px){
 .partners-registration-page .partner-hero-image{object-fit:cover;object-position:70% center}
}
@media(max-width:760px){
 .partners-registration-page .partner-hero-image{object-position:64% center}
 .partners-registration-page .partner-hero::after{background:linear-gradient(180deg,rgba(251,247,238,.98),rgba(251,247,238,.92) 63%,rgba(251,247,238,.52))}
}
.partner-group-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:480px){body.partners-page .logo .site-logo{width:140px}body.partners-page .nav-wrap{gap:8px}}

/* Physician referral indications reuse the established section/card hierarchy. */
.partner-referral-indications{padding-block:clamp(2.5rem,5vw,4rem);scroll-margin-top:calc(var(--v315-header-height) + 20px)}
.partner-indication-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.partner-supporting-blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,3vw,2.5rem);margin-top:2rem}
.partner-supporting-blocks article{padding-top:1.25rem;border-top:1px solid rgba(18,63,53,.16)}
.partner-supporting-blocks h3{font-size:1.125rem;margin:0 0 .75rem}
.partner-supporting-blocks p{margin:0}
#when-to-refer:focus-visible{outline:3px solid #aa874a;outline-offset:6px}
@media(max-width:760px){.partner-indication-grid,.partner-supporting-blocks{grid-template-columns:minmax(0,1fr)}}

/* Editor actions use intrinsic shared button sizing, independent of enrollment. */
.partner-shell .partner-profile-form .partner-edit-actions .btn,
.partner-shell .form-panel [data-contact] button.partner-contact-action{width:fit-content;max-width:100%;flex:0 0 auto;justify-self:start;white-space:normal}
.partner-shell .partner-profile-form .partner-edit-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:.75rem;align-items:center;margin-bottom:.75rem}
.partner-shell .partner-save-feedback{margin:0 0 1.25rem}
