
.client-page { min-height:100svh; display:flex; flex-direction:column; background:var(--paper-light); }
.client-header { display:flex; justify-content:space-between; align-items:center; min-height:100px; gap:24px; }
.back-link { font-size:.84rem; color:#53616a; }
.back-link span { margin-left:9px; }
.client-main { flex:1; display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(32px,7vw,100px); align-items:center; padding-block:64px 88px; }
.client-intro h1 { font-size:clamp(3.3rem,5.6vw,5.1rem); line-height:1.06; letter-spacing:-.065em; font-weight:650; margin:0; }
.client-intro h1 em { font-style:normal; color:var(--blue); }
.client-intro > p:not(.eyebrow) { color:#53616a; font-size:1.08rem; margin-top:28px; }
.intro-rule { height:3px; width:44px; background:var(--brass); margin-top:40px; }
.client-intro > .intro-caption { font-size:.8rem !important; }
.client-card { background:var(--white); padding:clamp(26px,4vw,48px); border:1px solid var(--line); border-radius:24px; box-shadow:0 20px 70px rgba(21,32,43,.055); }
.access-label { display:flex; align-items:center; gap:9px; color:var(--blue); font-size:.68rem; font-weight:800; letter-spacing:.16em; }
.client-card h2 { font-size:2.25rem; letter-spacing:-.045em; line-height:1.15; margin:23px 0 10px; }
.card-intro { color:#53616a; font-size:.93rem; margin:0 0 28px; }
.business-card { display:flex; align-items:center; gap:15px; padding:19px; background:#f2f5f0; border:1px solid #dfe6dd; border-radius:14px; }
.business-monogram { width:49px; height:49px; display:grid; place-items:center; flex-shrink:0; background:#153c31; color:#d7c488; font-family:Georgia,serif; font-size:1.25rem; border-radius:50%; }
.business-card h3 { font-size:1rem; margin:0; }
.business-card p { font-size:.8rem; color:#52695d; margin:0; }
.dashboard-link { width:100%; margin-top:21px; padding-inline:17px; gap:10px; font-size:.85rem; }
.access-help { color:#53616a; font-size:.78rem; line-height:1.6; margin:15px 0 24px; }
.setup-note { padding-top:21px; border-top:1px solid var(--line); }
.setup-note strong { font-size:.83rem; }
.setup-note p { color:#53616a; font-size:.79rem; margin:5px 0 0; }
.login-support { color:#53616a; font-size:.77rem; margin:24px 0 0; }
.login-support a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.client-footer { display:flex; justify-content:space-between; gap:20px; padding-block:23px; border-top:1px solid var(--line); color:#53616a; font-size:.76rem; }
.client-page a:focus-visible { outline:3px solid var(--brass); outline-offset:5px; }
@media(max-width:900px) { .client-main { gap:30px; } .client-intro h1 { font-size:3.4rem; } }
@media(max-width:760px) { .client-header { min-height:82px; } .client-header .brand { font-size:.72rem; letter-spacing:.14em; gap:8px; } .client-header .brand-mark { width:32px; } .back-link { font-size:.75rem; } .client-main { grid-template-columns:1fr; padding-block:30px 48px; max-width:540px; gap:28px; } .client-intro h1 { font-size:2.65rem; } .client-intro > p:not(.eyebrow) { font-size:.94rem; margin-top:16px; } .client-intro .intro-rule,.client-intro > .intro-caption { display:none; } .client-intro .eyebrow { font-size:.64rem; margin-bottom:14px; } .client-card { padding:26px; } }
@media(max-width:380px) { .client-header { gap:10px; } .back-link span { display:none; } .client-card { padding:22px; } .dashboard-link { font-size:.78rem; padding-inline:10px; } }
