/* Public entry and commercial flow, using the studio's shared tokens and controls. */
.entry-surface .sidebar{max-width:1120px;padding:24px 32px;gap:16px}
.entry-surface .sidebar>.quiet{display:inline-flex;align-items:center;gap:8px;min-height:44px;line-height:1.4}
.entry-surface main{max-width:1120px;padding:36px 32px 64px}
.entry-surface footer{max-width:1120px;padding:24px 32px;gap:16px}
.entry-surface footer>div{flex-wrap:wrap;gap:12px 20px}
.entry-surface h1{overflow-wrap:anywhere}
.entry-page{max-width:1000px;margin:0 auto}
.entry-page>.page-heading{max-width:70ch}
.entry-page .page-heading{margin-bottom:28px}
.commerce-alerts{margin-bottom:24px}
.access-layout,.purchase-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.8fr);gap:40px;align-items:start}
.access-form,.purchase-form,.access-state,.order-panel{min-width:0}
.entry-surface .form-panel{padding:28px}
.entry-aside{padding:8px 0}
.entry-aside h2{font-size:1.125rem;line-height:1.4;margin:0 0 16px}
.entry-aside p{font-size:.875rem;color:var(--muted);margin-bottom:16px}
.entry-aside strong{color:var(--ink);font-weight:600}
.entry-aside .text-link{gap:8px}
.entry-aside .intro-steps{margin-top:20px}
.entry-aside .intro-steps span{flex-shrink:0}
.field-help{font-size:.8125rem;line-height:1.6;color:var(--muted);margin:-10px 0 24px}
.access-return{font-size:.875rem;margin:24px 0 0;padding-top:20px;border-top:1px solid var(--line)}
.access-return a{display:inline-flex;align-items:center;min-height:44px}
.access-state .page-heading{margin-bottom:24px}
.access-state>.micro{margin-top:24px}
.access-state>.form-actions{margin-top:24px}
.commerce-steps{gap:28px;margin:0 0 32px}
.commerce-steps li{flex:1;min-width:0}
.commerce-steps li>.sr-only{width:1px;height:1px;padding:0;border:0}
.commerce-steps li>span:not(.sr-only){flex-shrink:0}
.entry-surface .welcome-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);gap:56px;align-items:start}
.entry-surface .welcome-copy{padding-top:12px;min-width:0}
.entry-surface .welcome-copy h1{font-size:2.625rem;line-height:1.15;letter-spacing:-.045em}
.entry-surface .welcome-copy .lead{font-size:1rem;margin:24px 0;max-width:48ch}
.entry-surface .welcome-copy>.intro-steps{margin:28px 0 24px}
.welcome-actions{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 16px}
.welcome-offer{font-size:.875rem;margin-bottom:12px}
.welcome-offer a{display:inline-flex;align-items:center;min-height:44px}
.welcome-offer span{display:block;color:var(--muted);font-size:.8125rem;margin-top:4px}
.entry-surface .login-panel{padding:28px;box-shadow:0 4px 20px oklch(25% .01 285 / .03)}
.entry-surface .login-panel>.panel-icon{display:none}
.entry-surface .login-panel h2{font-size:1.375rem}
.entry-surface .login-panel .invitation{margin-top:24px;padding-top:20px}
.entry-surface .login-panel .micro{margin-top:16px}
.entry-surface .password-help a{min-height:44px}
.offer-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.85fr);gap:48px;align-items:start}
.offer-copy h1{font-size:2.5rem;line-height:1.15}
.offer-copy>h2{font-size:1.125rem;margin:32px 0 16px}
.offer-features{padding-left:20px;color:var(--muted);font-size:.9375rem;margin:0 0 24px;line-height:1.65}
.offer-features li+li{margin-top:12px}
.offer-purchase{position:sticky;top:24px}
.offer-purchase h2{font-size:1.125rem;margin:0 0 24px}
.offer-purchase .offer-price{font-size:2.5rem;line-height:1.15;margin:0 0 16px}
.offer-purchase .offer-price span{display:block;margin-top:8px;font-size:.9375rem}
.offer-renewal{font-size:.875rem;color:var(--muted);margin-bottom:24px}
.offer-purchase .micro{line-height:1.6;margin-top:16px}
.offer-explanation{padding-top:32px;border-top:1px solid var(--line);margin-top:40px}
.offer-explanation h2{font-size:1.25rem;margin-bottom:16px}
.offer-explanation p{font-size:.9375rem;color:var(--muted)}
.purchase-summary{gap:16px;margin:24px 0;padding:20px 0}
.purchase-summary span{font-size:.875rem;line-height:1.6}
.purchase-form>.micro{margin-top:20px}
.purchase-form .check{margin-bottom:24px}
.entry-surface .account-row{align-items:center;gap:24px}
.entry-surface .account-row>div,.entry-surface .account-row>span{min-width:0;overflow-wrap:anywhere}
.order-panel .review-facts{margin-top:24px}
@media(max-width:900px){.entry-surface .welcome-grid{gap:32px;grid-template-columns:minmax(0,1fr) minmax(300px,1fr)}.entry-surface .welcome-copy h1{font-size:2.25rem}.offer-layout{gap:28px}.access-layout,.purchase-layout{gap:28px}}
@media(max-width:740px){
 .entry-surface .welcome-grid,.access-layout,.purchase-layout,.offer-layout{grid-template-columns:minmax(0,1fr);gap:28px}
 .entry-surface .welcome-copy{padding:0}
 .entry-surface .welcome-copy h1{font-size:2.25rem}
 .entry-surface .login-panel{max-width:none}
 .entry-aside{padding:0}
 .offer-purchase{position:static}
 .offer-copy h1{font-size:2rem}
 .entry-surface .account-row{align-items:flex-start;flex-wrap:wrap}
}
@media(max-width:480px){
 .entry-surface .sidebar{padding:16px 18px;gap:12px}
 .entry-surface .brand{font-size:1rem}
 .entry-surface .sidebar>.quiet{font-size:.8125rem}
 .entry-surface main{padding:24px 18px 40px}
 .entry-surface footer{padding:24px 18px}
 .entry-surface .form-panel,.entry-surface .login-panel{padding:24px 20px}
 .entry-surface h1,.entry-surface .welcome-copy h1,.offer-copy h1{font-size:1.875rem;line-height:1.2;letter-spacing:-.04em}
 .entry-surface .subtitle,.entry-surface .lead{font-size:.9375rem}
 .entry-surface .micro,.entry-surface .hint,.field-help,.welcome-offer span,.entry-surface .password-help,.entry-surface .invitation{font-size:.875rem;line-height:1.6}
 .welcome-actions,.welcome-actions>.button{width:100%}
 .welcome-actions .button{width:100%}
 .entry-surface .welcome-copy>.intro-steps{gap:16px}
 .intro-steps span{flex-shrink:0}
 .commerce-steps{gap:12px;margin-bottom:28px}
 .commerce-steps li{font-size:.8125rem;gap:6px}
 .commerce-steps li>span:not(.sr-only){width:23px;height:23px}
 .access-state .form-actions>.button{width:100%}
 .access-return{font-size:.875rem}
 .purchase-summary{align-items:flex-start;gap:8px}
 .purchase-summary strong{font-size:1.625rem}
 .entry-surface .check{font-size:.875rem;line-height:1.6}
 .entry-surface .check input{margin-top:4px}
 .offer-explanation{margin-top:32px;padding-top:24px}
 .offer-purchase .offer-price{font-size:2.25rem}
 .entry-surface .account-row>.button{width:100%}
 .entry-surface .notice,.entry-surface .error{font-size:.875rem;line-height:1.6;padding:16px}
}

@media(max-width:480px){
 .entry-surface .sidebar>.quiet,.entry-surface .eyebrow,.entry-surface .intro-steps li,.entry-surface footer{font-size:.875rem}
 .entry-surface footer>div{gap:4px 16px;align-items:center}
 .entry-surface footer a{display:inline-flex;align-items:center;min-height:44px}
 .commerce-steps{gap:8px}
 .commerce-steps li{flex-direction:column;align-items:flex-start;font-size:.875rem;gap:8px}
 .commerce-steps li>span:not(.sr-only){font-size:.875rem}
}
