@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:ital,opsz,wght@0,9..144,500;0,9..144,600;1,9..144,500&display=swap');
:root{--ink:#0a0a0c;--paper:#f2eee8;--red:#df2029;--muted:#756f69;--line:#d4cec6}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:Georgia,serif}
.site-header{min-height:94px;padding:18px max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;gap:34px;background:#09090b;color:white}
.brand{font-size:28px;font-weight:900;font-style:italic;letter-spacing:-2px}
.brand span{color:var(--red)}
.brand small{display:block;color:#aaa;font:8px Arial;letter-spacing:2.5px;text-transform:uppercase}
.site-header nav{display:flex;gap:25px;margin-left:auto;font-size:10px;text-transform:uppercase;letter-spacing:1.2px}
.pill,.button{background:var(--red);color:white;padding:13px 18px;border-radius:99px;font-size:10px;font-weight:bold;text-transform:uppercase}
.page-shell{min-height:70vh;padding:70px max(24px,calc((100vw - 1180px)/2))}
.page-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:44px}
.page-title h1,.profile h1,.group-hero h1{font-size:clamp(44px,6vw,66px);margin:10px 0}
.page-title>p,.bio{max-width:520px;color:var(--muted);line-height:1.7}
.kicker{text-transform:uppercase;color:#aaa;font-size:10px;font-weight:bold;letter-spacing:2.4px}
.kicker:before{content:"";display:inline-block;width:28px;height:2px;background:var(--red);margin-right:10px;vertical-align:middle}
.kicker.dark{color:#716c66}
.roster-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:34px 18px}
.talent-card img{width:100%;aspect-ratio:4/5;object-fit:cover;background:#151519}
.talent-card h3{font-size:26px;margin:16px 0 6px}
.talent-card p{color:var(--muted);font-size:12px}
.talent-card>a{font-size:10px;text-transform:uppercase;font-weight:bold;border-bottom:1px solid #999}
.profile{display:grid;grid-template-columns:.7fr 1.3fr;gap:55px}
.profile-headshot{width:100%;max-height:650px;object-fit:cover}
.credits{display:flex;flex-wrap:wrap;gap:10px}
.credits div,.chips a{padding:12px 14px;border:1px solid var(--line);background:white}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.gallery span{aspect-ratio:1;display:grid;place-items:center;background:#17171a;color:#777}
.group-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.group-card{background:#111;color:white;padding-bottom:16px}
.group-card img{width:100%;aspect-ratio:5/4;object-fit:contain;background:#08080a}
.group-card h3,.group-card p{margin-left:15px;margin-right:15px}
.group-card p{color:#999;font-size:11px}
.group-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:45px;align-items:center;margin-bottom:50px}
.group-hero img{width:100%;max-height:520px;object-fit:contain;background:#09090b}
.event-list{border-top:1px solid var(--line)}
.event-list article{display:grid;grid-template-columns:110px 1fr auto;gap:25px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
.show-logo img{width:100%;aspect-ratio:1;object-fit:cover}
.event-list small{color:#777;text-transform:uppercase;font-size:9px;letter-spacing:1px}
.event-list h3{font-size:26px;margin:6px 0}
.staff-grid{display:grid;grid-template-columns:1fr;gap:24px}
.staff-grid article{padding:0;background:white;border:1px solid var(--line)}
.staff-category+.staff-category{margin-top:54px}.staff-category>.kicker{margin-bottom:16px}
footer{padding:70px max(24px,calc((100vw - 1180px)/2)) 28px;display:grid;grid-template-columns:1.2fr .8fr;gap:45px;background:#09090b;color:white}
footer h2{font-size:48px}
footer em{color:var(--red)}
footer small{grid-column:1/-1;border-top:1px solid #ffffff1c;padding-top:20px;color:#777}
.dash-body{background:#101014;color:white}
.dashboard{padding:38px max(24px,calc((100vw - 1250px)/2));min-height:calc(100vh - 94px)}
.dash-top{display:flex;justify-content:space-between;align-items:center}
.badge{background:#3a2d18;color:#ffd088;padding:8px 12px;border-radius:99px;font-size:10px}
.dash-layout{display:grid;grid-template-columns:220px 1fr;gap:24px}
.dash-layout aside,.dash-layout section{background:#19191e;border:1px solid #ffffff12;border-radius:16px;padding:16px}
.dash-layout aside a{display:block;padding:12px;border-radius:9px;color:#aaa}
.dash-layout aside .active{background:var(--red);color:white}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.stats div,.dash-panel{background:#24242a;padding:18px;border-radius:12px}
.stats b{display:block;font:30px Georgia}
.stats small{color:#aaa}
.dash-panel{margin-top:20px}
.dash-panel p{color:#aaa;line-height:1.7}
@media(max-width:850px){.site-header nav{display:none}
.roster-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.group-grid{grid-template-columns:repeat(2,1fr)}
.profile,.group-hero,.dash-layout{grid-template-columns:1fr}
.stats{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){.site-header{padding:16px}
.site-header .pill{margin-left:auto}
.page-shell{padding:48px 20px}
.page-title{display:block}
.roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.group-grid,.staff-grid{grid-template-columns:1fr}
.event-list article{grid-template-columns:80px 1fr}
.event-list article>a{grid-column:2}
footer{grid-template-columns:1fr;padding:55px 20px 25px}
.gallery{grid-template-columns:1fr}
.stats{grid-template-columns:1fr 1fr}
}

/* Interior pages aligned with the approved homepage */
:root{--display:"Fraunces",Georgia,serif;--body:"DM Sans","Trebuchet MS",Arial,sans-serif}
body{font-family:var(--body)}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.035em}
.site-header{min-height:112px}.brand{display:block;width:210px;height:72px}.brand img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}
.page-title h1,.profile h1,.group-hero h1{font-weight:600;line-height:1}.talent-card h3,.event-list h3{font-weight:600}
.profile-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.profile-groups a{display:block;background:#101014;color:#fff}.profile-groups img{display:block;width:100%;aspect-ratio:5/4;object-fit:contain;background:#070709}.profile-groups span{display:block;padding:12px 14px;font:600 18px var(--display)}
.group-description{color:var(--muted);font-size:17px;line-height:1.75}.group-availability{font-size:11px;line-height:1.6;text-transform:uppercase;letter-spacing:.08em}
.appearing-talent{display:flex;flex-wrap:wrap;gap:9px;margin-top:13px}.appearing-talent span{display:inline-flex;align-items:center;gap:8px;padding:4px 11px 4px 4px;background:#fff;border:1px solid var(--line);border-radius:999px}.appearing-talent img{width:34px;height:34px;border-radius:7px;object-fit:cover}.appearing-talent b{font-size:11px}
.staff-grid article{display:grid;grid-template-columns:minmax(200px,23%) minmax(0,1fr);gap:0;overflow:hidden}.staff-headshot{display:block;width:100%;height:100%;min-height:300px;object-fit:cover;object-position:center top;background:#17171a}.staff-grid article>div{padding:26px 30px}.staff-grid h2{margin:0 0 6px;font-size:clamp(25px,2.4vw,34px);line-height:1}.staff-grid h3{margin:0 0 8px;font-size:14px;line-height:1.3}.staff-grid article p{max-width:900px;margin:8px 0 0;color:var(--muted);font-size:12.5px;line-height:1.65}.staff-email{display:inline-block;color:var(--red);font-size:11px;font-weight:700;border-bottom:1px solid currentColor;margin-bottom:8px}
footer .footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff1c;padding-top:20px}footer .footer-bottom small{grid-column:auto;border:0;padding:0}.agent-login{color:#aaa;font-size:9px;text-transform:uppercase;letter-spacing:1.6px;border-bottom:1px solid #555;padding-bottom:4px}
@media(max-width:850px){.brand{width:175px;height:62px}}
@media(max-width:700px){.staff-grid article{grid-template-columns:1fr}.staff-headshot{height:auto;min-height:0;aspect-ratio:4/5}.staff-grid article>div{padding:24px}.staff-grid article p{font-size:13px}}
@media(max-width:560px){.site-header{min-height:88px}.brand{width:150px;height:54px}.profile-groups{grid-template-columns:1fr}.footer-bottom{gap:20px}}

/* FanGeek dashboard authentication */
[hidden]{display:none!important}
.auth-loading{min-height:calc(100vh - 112px);display:grid;place-items:center;padding:30px;color:#aaa}
.auth-shell{min-height:calc(100vh - 112px);display:grid;place-items:center;padding:44px 20px;background:radial-gradient(circle at 50% 0,#28232a 0,#101014 48%)}
.auth-card{width:min(100%,480px);padding:38px;background:#19191e;border:1px solid #ffffff18;border-radius:18px;box-shadow:0 24px 80px #0007}
.auth-card h1{font-size:48px;line-height:1;margin:12px 0}.auth-card>p:not(.kicker):not(.auth-message){color:#aaa;line-height:1.6}
.auth-card form{display:grid;gap:16px}.auth-card label{display:grid;gap:7px;color:#bbb;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.auth-card input{width:100%;padding:14px 15px;border:1px solid #ffffff24;border-radius:9px;background:#101014;color:#fff;font:15px var(--body);outline:none}.auth-card input:focus{border-color:var(--red);box-shadow:0 0 0 3px #df202925}
.dash-button{appearance:none;border:0;border-radius:999px;padding:13px 18px;background:var(--red);color:#fff;font:700 10px var(--body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.dash-button-quiet{background:#2a2a30;border:1px solid #ffffff18}
.auth-divider{display:flex;align-items:center;gap:12px;margin:24px 0;color:#777;font-size:10px;text-transform:uppercase}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#ffffff16}
.auth-message{min-height:22px;margin:18px 0 0;color:#9fd7a9;font-size:12px;line-height:1.5}.auth-message-error{color:#ff9ca0}
.dash-top{margin-bottom:24px}.dash-top h1{font-size:clamp(34px,4vw,50px);margin:8px 0}.dash-user-meta{color:#888;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.dash-layout aside a small{display:block;margin-top:3px;color:#666;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.dash-layout aside a[aria-disabled=true]{cursor:default}
@media(max-width:560px){.auth-card{padding:28px 22px}.auth-card h1{font-size:40px}.dash-top{align-items:flex-start;gap:18px}.dash-top .dash-button{flex:0 0 auto}}

/* Functional dashboard modules */
.dash-actions,.module-toolbar,.dialog-head,.dialog-actions{display:flex;align-items:center;gap:10px}.module-toolbar,.dialog-head{justify-content:space-between}.module-toolbar h2{font-size:32px;margin:0}.dash-muted{color:#999;line-height:1.55}.manage-list{display:grid;gap:10px;margin-top:18px}.manage-list article,.upcoming-events article{display:grid;grid-template-columns:64px 1fr auto;gap:16px;align-items:center;padding:14px;background:#24242a;border:1px solid #ffffff10;border-radius:12px}.manage-list img{width:64px;height:76px;object-fit:cover;border-radius:8px;background:#111}.manage-list h3,.upcoming-events h3{font-size:22px;margin:3px 0}.manage-list p,.upcoming-events p{color:#999;margin:3px 0;font-size:12px}.manage-list small,.upcoming-events small{color:#888;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.show-manage-list article,.upcoming-events article{grid-template-columns:1fr auto}.empty-state{padding:28px;border:1px dashed #ffffff20;border-radius:12px;color:#888}.upcoming-events{display:grid;gap:10px;margin-top:16px}.dash-dialog{width:min(760px,calc(100% - 28px));max-height:90vh;overflow:auto;border:1px solid #ffffff1d;border-radius:18px;padding:0;background:#19191e;color:#fff;box-shadow:0 30px 100px #000b}.dash-dialog::backdrop{background:#000b}.dash-dialog form{padding:26px}.dash-dialog h2{font-size:34px;margin:0}.icon-button{border:0;background:transparent;color:#aaa;font-size:32px;cursor:pointer}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}.form-grid label:not(.check){display:grid;gap:7px;color:#bbb;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.form-grid input:not([type=checkbox]),.form-grid textarea{width:100%;padding:12px 13px;border:1px solid #ffffff22;border-radius:8px;background:#101014;color:#fff;font:14px var(--body)}.form-grid .full,.form-grid fieldset.full{grid-column:1/-1}.form-grid fieldset{border:1px solid #ffffff18;border-radius:10px;padding:14px}.form-grid legend{padding:0 7px;font:700 10px var(--body);text-transform:uppercase;letter-spacing:.08em;color:#bbb}.form-grid legend small{color:#777}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.check{display:flex!important;align-items:center;gap:8px;color:#bbb;font-size:12px;text-transform:none!important;letter-spacing:0!important}.dialog-actions{margin-top:24px}.dialog-actions span{flex:1}.danger{background:#761b22}.dash-dialog input:focus,.dash-dialog textarea:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px #df202925}
@media(max-width:700px){.form-grid,.check-grid{grid-template-columns:1fr}.dash-actions{flex-wrap:wrap;justify-content:flex-end}.manage-list article{grid-template-columns:52px 1fr}.manage-list img{width:52px;height:64px}.manage-list article .dash-button{grid-column:2;justify-self:start}.show-manage-list article,.upcoming-events article{grid-template-columns:1fr}.show-manage-list article .dash-button,.upcoming-events article .dash-button{grid-column:1}.dialog-actions{flex-wrap:wrap}.dialog-actions span{display:none}}

/* Public Supabase pages */
.event-list article>div:nth-child(2)>small{font-weight:700;color:#514b46}
.appearing-talent span{padding:3px 10px 3px 0;background:transparent;border:0;border-radius:0}
.appearing-talent img{width:38px;height:38px;border-radius:5px}
.talent-professional-title,.profile-professional-title{color:#3e3935;font-size:13px;font-weight:700;letter-spacing:.035em;text-transform:uppercase}
.talent-card .talent-professional-title{margin:7px 0 5px}
.talent-card .talent-projects{margin-top:0}
.profile-professional-title{margin:0 0 18px;color:var(--red)}
.gallery figure{margin:0;position:relative}.gallery figure img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.gallery figcaption{padding:8px 0;color:var(--muted);font-size:11px}
.credits div small{display:block;margin-top:5px;color:var(--muted);font-size:10px}
.tmdb-attribution{margin:14px 0 28px;color:var(--muted);font-size:10px;line-height:1.5}.tmdb-attribution a{font-weight:700;text-decoration:underline}
.title-poster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:34px}.title-poster-card{overflow:hidden;background:#fff;border:1px solid var(--line)}.title-poster-card>img{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;background:#17171a}.title-poster-card>div{padding:15px}.title-poster-card h3{font-size:19px;line-height:1.15;margin:5px 0}.title-poster-card small{color:var(--muted);font-size:9px}.title-poster-card p{color:var(--red);font-size:11px;font-weight:700}.title-poster-card a{font-size:9px;font-weight:700;text-transform:uppercase;border-bottom:1px solid}.full-title-list{display:grid;margin-bottom:28px;border-top:1px solid var(--line)}.full-title-list article{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}.full-title-list b{font:600 17px var(--display)}.full-title-list small{display:block;margin-top:3px;color:var(--muted)}.full-title-list>article>span{color:var(--muted);font-size:11px;white-space:nowrap}
@media(max-width:700px){.title-poster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.title-type-group{margin:0 0 28px}.title-type-group>h3{margin:0;padding:12px 0;border-bottom:2px solid var(--ink);font-size:21px}.title-type-group>div{display:grid}.title-type-group article{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}.title-type-group article>span{color:var(--muted);font-size:11px;white-space:nowrap}
.featured-gallery{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:34px}.featured-gallery figure img{aspect-ratio:4/3}.featured-gallery figcaption{font-weight:700;color:var(--ink)}
@media(max-width:700px){.featured-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
.profile-portrait{align-self:start;position:sticky;top:24px}.profile-booking{display:block;width:max-content;max-width:100%;margin:18px auto 0;text-align:center}.compact-credits{border-top:0;gap:8px}.compact-credits details{margin:0;border:1px solid var(--line);background:#ffffff80}.compact-credits summary{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;cursor:pointer;list-style:none}.compact-credits summary::-webkit-details-marker{display:none}.compact-credits summary span{font:600 18px var(--display)}.compact-credits summary b{display:grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:var(--ink);color:#fff;font-size:10px}.compact-credits details>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0 15px 12px;column-gap:20px}.compact-credits article{padding:8px 0}.compact-credits article b{font-size:14px}.compact-credits article small,.compact-credits article>span{font-size:9px}.compact-credits details:not([open])>div{display:none}@media(max-width:850px){.profile-portrait{position:static}.compact-credits details>div{grid-template-columns:1fr}}
.profile-appearances{display:grid;gap:10px;margin-bottom:34px}.profile-appearances article{display:grid;grid-template-columns:74px 1fr auto;gap:16px;align-items:center;padding:12px;border:1px solid var(--line);background:#fff}.profile-appearances img,.appearance-logo-placeholder{display:block;width:74px;height:74px;object-fit:contain;background:#f0ece6}.profile-appearances small{color:var(--red);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.profile-appearances h3{margin:4px 0;font-size:21px}.profile-appearances p{margin:0;color:var(--muted);font-size:10px}.profile-appearances a{font-size:9px;font-weight:700;text-transform:uppercase;border-bottom:1px solid}@media(max-width:560px){.profile-appearances article{grid-template-columns:58px 1fr}.profile-appearances img,.appearance-logo-placeholder{width:58px;height:58px}.profile-appearances article>a{grid-column:2;justify-self:start}}
.group-booking{display:inline-block;margin-top:18px}.group-member-editor{display:grid;gap:9px}.group-member-editor article{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) 80px;gap:10px;align-items:center;padding:9px;background:#24242a;border-radius:8px}.group-member-editor input:not([type=checkbox]){padding:9px!important}.group-manage-list article>div p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:650px}@media(max-width:700px){.group-member-editor article{grid-template-columns:1fr}.group-member-editor .member-order{width:100%}}

/* Dashboard group ordering â€” intentionally isolated from public profile styles. */
.group-manage-list .sortable-group{grid-template-columns:34px 64px minmax(0,1fr) auto;transition:border-color .18s,opacity .18s,transform .18s}
.group-manage-list .sortable-group.is-dragging{opacity:.45;border-color:var(--red);transform:scale(.995)}
.group-drag-handle{height:50px;border:0;background:transparent;color:#777;font-size:22px;letter-spacing:-5px;cursor:grab}
.group-drag-handle:active{cursor:grabbing}
.group-row-actions{display:flex;align-items:center;gap:7px}
.group-order-button{width:34px;height:34px;padding:0;border:1px solid #ffffff18;border-radius:50%;background:#2a2a30;color:#ddd;cursor:pointer}
.group-order-button:hover:not(:disabled){border-color:var(--red);background:var(--red);color:#fff}
.group-order-button:disabled{opacity:.25;cursor:default}
@media(max-width:700px){.group-manage-list .sortable-group{grid-template-columns:28px 52px minmax(0,1fr)}.group-row-actions{grid-column:3;justify-self:start;flex-wrap:wrap}}

/* Talent headshot override — dashboard only */
.talent-headshot-override{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:14px;align-items:start}
.talent-headshot-override>label:first-child,.talent-headshot-override>p{grid-column:1/-1}
.talent-headshot-preview{width:150px;height:188px;object-fit:cover;object-position:center;border-radius:10px;background:#101014;border:1px solid #ffffff18}
@media(max-width:560px){.talent-headshot-override{grid-template-columns:1fr}.talent-headshot-preview{width:120px;height:150px}}

/* Admin-only homepage gallery manager */
.gallery-manage-list article{grid-template-columns:34px 92px minmax(0,1fr) auto}
.gallery-manage-list img{width:92px;height:92px;aspect-ratio:1;object-fit:cover}
.gallery-manage-list .gallery-row.is-dragging{opacity:.45;border-color:var(--red)}
.gallery-upload-preview{display:block;width:150px;height:150px;object-fit:cover;border-radius:10px;background:#101014}
@media(max-width:700px){.gallery-manage-list article{grid-template-columns:28px 72px minmax(0,1fr)}.gallery-manage-list img{width:72px;height:72px}.gallery-manage-list .group-row-actions{grid-column:3}}