/* Client portal follows Karl Hanuska website branding. */
.khg{--surface:var(--paper,#fffefa);--accent:var(--green,#b9ff2c);--ink:var(--charcoal,#171817);font-family:inherit;color:var(--ink);max-width:1440px;margin:0 auto;line-height:1.55}.khg *{box-sizing:border-box}.khg a{color:inherit}.khg img{display:block;max-width:100%}.khg h2,.khg h3{font-family:inherit;line-height:1.12;letter-spacing:-.035em;margin:.35em 0}.khg h2{font-size:clamp(2.3rem,5vw,4.8rem)}.khg h3{font-size:clamp(1.55rem,3vw,2.55rem)}.khg p{max-width:65ch}.khg-eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:700}.khg-logo{width:150px;height:58px;object-fit:contain;object-position:left center;margin-bottom:35px}.khg-hero{background:var(--surface);color:var(--ink);padding:clamp(25px,6vw,80px);position:relative;border-bottom:7px solid var(--accent)}.khg-hero>p{color:var(--muted,#66645e)}.khg-button{display:inline-flex;align-items:center;gap:12px;padding:13px 21px;border:1px solid var(--accent);background:var(--accent);color:var(--ink)!important;text-decoration:none!important;font-size:.87rem;font-weight:700;cursor:pointer;border-radius:2px}.khg-button:hover{filter:brightness(.95)}.khg-outline{color:var(--ink)!important;border:1px solid var(--rule,#d7d1c7);background:transparent}.khg-toolbar{display:flex;justify-content:space-between;padding:18px 0;font-size:.85rem}.khg-toolbar a,.khg-chapters a{text-decoration:none}.khg-chapters{display:flex;gap:10px 26px;flex-wrap:wrap;border-bottom:1px solid var(--rule,#d7d1c7);padding:24px 0}.khg-chapters a{font-size:.82rem;font-weight:600}.khg-help{font-size:.87rem;color:var(--muted,#66645e);margin:24px 0 45px}.khg-section{margin:0 0 76px;scroll-margin-top:25px}.khg-section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:25px}.khg-section-head h3{margin-bottom:0}.khg-section-head .khg-eyebrow{color:var(--ink)}.khg-grid{columns:3;column-gap:20px}.khg-photo{break-inside:avoid;margin:0 0 26px;display:inline-block;width:100%;background:var(--surface)}.khg-photo img{width:100%;height:auto}.khg-enlarge{display:block;cursor:zoom-in}.khg-photo figcaption{padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.7rem}.khg-photo figcaption span{color:var(--muted,#66645e)}.khg-download{white-space:nowrap;font-weight:600;text-decoration:none}.khg-download:hover{text-decoration:underline}.khg-footer{padding:30px 0;border-top:1px solid var(--rule,#d7d1c7);font-size:.8rem;color:var(--muted,#66645e)}.khg-login{max-width:550px;margin:45px auto;padding:35px;background:var(--surface);border-top:5px solid var(--accent)}.khg-login h2{font-size:2.6rem}.khg-login label{display:block;margin:18px 0 6px;font-size:.85rem;font-weight:600}.khg-login input{width:100%;padding:13px;border:1px solid var(--muted,#66645e);background:white;color:var(--ink);border-radius:2px;font:inherit}.khg-login button{margin-top:22px}.khg-small{font-size:.75rem;color:var(--muted,#66645e)}.khg-notice{padding:15px;background:var(--green-soft,#e7ffb5);border-left:4px solid var(--accent)}.khg-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:35px 0}.khg-card{text-decoration:none;background:var(--surface)}.khg-card>img{height:230px;width:100%;object-fit:cover}.khg-card>div{padding:24px}.khg-card h3{font-size:1.65rem}.khg-card p,.khg-card span{font-size:.8rem}.khg-card span{font-weight:700}.khg-lightbox{max-width:98vw;width:1200px;max-height:96vh;padding:0;border:0;background:var(--charcoal,#171817);color:white}.khg-lightbox::backdrop{background:#171817ed}.khg-lightbox img{display:block;max-width:100%;max-height:78vh;width:auto;height:auto;margin:auto}.khg-lightbox-top,.khg-lightbox-bottom{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;gap:15px;font:14px Arial,sans-serif}.khg-lightbox button,.khg-lightbox a{background:transparent;border:1px solid #8b8982;color:white;text-decoration:none;padding:9px 14px;cursor:pointer;font:inherit}.khg-lightbox button:disabled{opacity:.3;cursor:default}.khg a:focus-visible,.khg button:focus-visible,.khg-lightbox button:focus-visible,.khg-lightbox a:focus-visible{outline:3px solid var(--green,#b9ff2c);outline-offset:4px}.khg-site-links{display:flex;align-items:center;gap:20px;font-size:.85rem}.khg-artist-link{border:1px solid currentColor;padding:9px 15px;text-decoration:none}.khg-preview-note{background:var(--green-soft,#e7ffb5);padding:10px 25px;font:13px Arial,sans-serif;text-align:center}.khg-preview-header{display:flex;justify-content:space-between;padding:24px 0;margin:auto;max-width:1440px;align-items:center;border-bottom:1px solid #ddd}.khg-preview-header strong{font:18px Georgia,serif;letter-spacing:.06em}.khg-preview-header a{color:var(--charcoal,#171817)}@media(max-width:1000px){.khg-grid{columns:2}.khg-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.khg-grid{columns:1}.khg-section-head{align-items:start;flex-direction:column;gap:15px}.khg-cards{grid-template-columns:1fr}.khg-chapters{gap:10px 20px}.khg-hero{padding:28px 22px}.khg-login{padding:25px 18px}.khg-photo figcaption{font-size:.75rem}.khg-lightbox-bottom{flex-wrap:wrap}.khg-preview-header{gap:20px;align-items:start;flex-direction:column}.khg-logo{margin-bottom:22px}}

.khg-page{max-width:1520px;margin:auto;padding:30px clamp(18px,4vw,60px)}.khg-page-title{font-size:1rem;letter-spacing:.12em;text-transform:uppercase;margin:8px 0 15px}.khg-lightbox img{object-fit:contain}.khg-logo{height:58px!important}

.khg-hero h2{color:var(--ink)}.khg a:focus-visible,.khg button:focus-visible{outline-color:var(--ink)}.khg-toolbar a:hover,.khg-chapters a:hover,.khg-card:hover span{text-decoration:underline;text-underline-offset:4px}
