@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
/* Presentation only: existing authentication and checkout contracts are retained. */
 #entry-glass-background { position:fixed; inset:0; z-index:-1; pointer-events:none; }
 #entry-glass-background canvas { display:block; width:100%; height:100%; }
 /* Comparison view: restore the previous captured stripe and placement. */
 #entry-glass-background { display:none; }
 body:has(#entry-glass-background) { isolation:isolate; }
body:has(.auth-brand-page), body.brand-checkout { height:auto; min-height:100vh; overflow:auto; background:#fff url('/images/auth-hero-glass.png') center top/cover fixed no-repeat; color:#122b3d; font-family:'DM Sans',sans-serif; }
body:has(.auth-brand-page)>div.flex-1 { display:block; padding:0; }
.entry-header { width:min(1320px,calc(100% - 48px)); margin:24px auto 0; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 28px; background:rgba(255,255,255,.88); border:1px solid #dce1e5; border-radius:18px; backdrop-filter:blur(20px); }
.entry-header img { width:210px; height:auto; }
.entry-header a { color:#122b3d; font-size:14px; font-weight:600; }
.entry-layout { width:min(1120px,calc(100% - 48px)); margin:96px auto; display:grid; grid-template-columns:1fr 460px; align-items:center; gap:100px; }
.entry-kicker { display:block; color:#a63e06; text-transform:uppercase; letter-spacing:.16em; font-size:11px; font-weight:700; margin-bottom:24px; }
.entry-intro h1,.brand-checkout h1 { font-family:Manrope,sans-serif; font-size:clamp(40px,4.7vw,68px); font-weight:600; letter-spacing:-.055em; line-height:1.08; margin:0 0 26px; color:#122b3d; }
.entry-intro p { max-width:400px; font-size:18px; line-height:1.7; color:#627180; }
.entry-card { width:100%; max-width:none; margin:0; padding:40px; border:1px solid #dce1e5; border-radius:18px; background:rgba(255,255,255,.9); backdrop-filter:blur(24px); box-shadow:0 18px 70px #142d4410; }
.entry-card h2 { font:600 28px/1.2 Manrope,sans-serif; letter-spacing:-.04em; margin-bottom:10px; }
.entry-card label { font-weight:600; margin-bottom:9px; color:#122b3d; }
.entry-card input { min-height:50px; background:#ffffffd9; border:1px solid #bdc7ce; border-radius:8px; font-size:16px; }
.entry-card form>div { margin-bottom:24px; }
.entry-card #loginBtn,.brand-checkout #submitBtn { min-height:52px; background:#fa6b1b; color:#122b3d; border-radius:8px; font-weight:700; }
.entry-card #loginBtn:disabled,.brand-checkout #submitBtn:disabled { opacity:.6; }
.entry-card a { color:#122b3d; text-decoration:underline; text-underline-offset:4px; }
.entry-card :focus-visible,.brand-checkout :focus-visible { outline:3px solid #247bac; outline-offset:3px; }
.brand-checkout>header { background:transparent; border:0; }
.brand-checkout>header>div { padding:0; max-width:none; }
.brand-checkout main { max-width:1120px; padding-top:72px; padding-bottom:96px; }
.brand-checkout main>div:first-child { text-align:left; max-width:800px; margin-bottom:48px; }
.brand-checkout main>div.grid { gap:36px; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); align-items:start; }
.brand-checkout main>div.grid>div:first-child,.brand-checkout main>div.grid>div>div.sticky { background:rgba(255,255,255,.92); backdrop-filter:blur(24px); border-radius:16px; border-color:#dce1e5; box-shadow:0 18px 70px #142d440a; padding:36px; }
.brand-checkout h2,.brand-checkout h3 { color:#122b3d; font-family:Manrope,sans-serif; }
.brand-checkout input,.brand-checkout select { border-color:#bdc7ce; border-radius:8px; font-size:16px; }
@media(max-width:900px){.entry-layout{grid-template-columns:1fr;gap:40px;margin-block:56px;max-width:560px}.entry-intro h1{font-size:44px}.brand-checkout main>div.grid{grid-template-columns:1fr}.brand-checkout main{padding-top:48px}.entry-header{padding:18px}.entry-header img{width:170px}}
@media(max-width:480px){.entry-header,.entry-layout{width:calc(100% - 32px)}.entry-header{gap:12px}.entry-header img{width:145px}.entry-header a{font-size:12px}.entry-card{padding:26px}.brand-checkout main>div.grid>div:first-child,.brand-checkout main>div.grid>div>div.sticky{padding:24px}}
