:root{--ink:#123a35;--dark:#092722;--night:#081e20;--paper:#f6f5ee;--white:#fffef9;--muted:#61756c;--line:#d7e1d7;--green:#40e29c;--green-deep:#087049;--acid:#dff792;--orange:#d79162;--radius:18px;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,system-ui,sans-serif}img{display:block;max-width:100%}button{color:inherit}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6}:focus-visible{outline:3px solid #b28827;outline-offset:5px}[hidden]{display:none!important}main:focus{outline:0}.skip{position:fixed;top:-100px;left:20px;background:var(--acid);padding:15px;z-index:100}.skip:focus{top:12px}.preview-ribbon{min-height:29px;background:#e5eadb;display:flex;justify-content:space-between;align-items:center;padding:6px max(24px,calc((100vw - 1280px)/2));gap:18px;font-size:10px;letter-spacing:.05em;color:#4d6256}.preview-ribbon>span:first-child{font-weight:700;letter-spacing:.13em}.preview-ribbon button{background:none;border:0;padding:0;font-size:10px}.site-header{background:var(--paper);position:relative;z-index:20;border-bottom:1px solid var(--line)}.header-inner{max-width:1280px;margin:auto;min-height:88px;display:flex;align-items:center;gap:40px}.brand{font-family:Manrope,sans-serif;display:inline-flex;align-items:center;font-size:30px;letter-spacing:-1.3px;font-weight:800;white-space:nowrap}.brand strong{color:#087a50}.brand-mark{font-size:42px;color:#1ec883;margin-right:10px;font-weight:500;line-height:.7;text-shadow:0 0 12px #35d99450}.global-nav{display:flex;margin:auto;gap:36px;height:88px;align-items:center}.global-nav a{font-size:14px;font-weight:600;position:relative;padding:14px 0}.global-nav a[aria-current]{font-weight:800}.global-nav a[aria-current]::after{content:'';height:2px;position:absolute;bottom:5px;left:0;right:0;background:#11935e;box-shadow:0 0 8px #32e29680}.header-actions{display:flex;align-items:center;gap:22px}.search-trigger{border:0;background:none;padding:8px;display:grid;place-items:center}.workspace-link{border:1px solid #b7cabc;border-radius:30px;padding:11px 18px;font-weight:650;font-size:13px}.workspace-link span{margin-left:12px}.wrap{max-width:1280px;margin:auto}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.15em;display:block}.eyebrow.light{color:#a4e7bb}.eyebrow::before{content:'';display:inline-block;width:22px;height:1px;background:currentColor;vertical-align:middle;margin-right:10px}.hero{position:relative;overflow:hidden;background:var(--night);color:var(--paper);min-height:660px;display:flex;align-items:center}.hero-photo{position:absolute;right:0;top:0;bottom:0;width:65%;height:100%;object-fit:cover;object-position:63% 44%;opacity:.82}.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#081e20 7%,#081e20e0 30%,#081e2060 57%,#081e2000 80%);pointer-events:none}.hero .wrap{position:relative;z-index:2;width:100%;padding:65px 0 85px}.hero h1{font-size:clamp(52px,6.3vw,88px);font-weight:500;letter-spacing:-4px;line-height:1.04;margin:27px 0;max-width:720px}.hero h1 em{font-style:normal;color:var(--acid);position:relative}.hero-copy{max-width:435px;color:#cbd9cf;font-size:17px;line-height:1.65}.actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;background:var(--acid);border:1px solid var(--acid);border-radius:7px;padding:14px 20px;font-size:14px;font-weight:700;color:var(--dark);transition:background .18s,box-shadow .18s,transform .18s}.button:hover{background:#efffbb;box-shadow:0 0 22px #bef58225;transform:translateY(-1px)}.button.dark{background:var(--ink);color:white;border-color:var(--ink)}.button.outline{background:transparent;border-color:#6a8c7e;color:inherit}.button.outline:hover{background:#72ad8c12}.button.small{font-size:12px;padding:9px 13px;gap:12px}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:14px;font-weight:700}.hero-foot{display:flex;align-items:center;gap:12px;font-size:11px;color:#bbcec2;letter-spacing:.03em;margin-top:32px}.hero-foot span+span{border-left:1px solid #678477;padding-left:12px}.light-trace{position:absolute;z-index:3;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent 2%,#33bd80 15%,#c4ffd2 43%,#fff 52%,#49eda6 60%,transparent 94%);box-shadow:0 -2px 13px #2de69d70,0 6px 35px #42d39170}.hero-caption{position:absolute;z-index:4;bottom:34px;right:max(35px,calc((100vw - 1280px)/2));font-size:10px;letter-spacing:.17em;color:#d5e3d7}.section{padding:75px 0}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}.section-heading h2{font-size:clamp(27px,3vw,40px);font-weight:600;line-height:1.15;letter-spacing:-1.5px;margin-top:13px}.section-heading>p{max-width:390px;font-size:14px;color:var(--muted);line-height:1.6}.intro-strip{padding:25px 0;border-bottom:1px solid var(--line)}.intro-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.intro-strip p{font-size:15px}.intro-strip strong{font-weight:700}.member-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:21px}.member-card{display:block}
/* Keep directory and featured portraits consistent across upload sizes. */
.member-card>img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 25%;border-radius:6px;background:#d0dbce}
.member-photo{aspect-ratio:4/5;overflow:hidden;border-radius:6px;background:#d0dbce;position:relative}.member-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.member-card:hover img{transform:scale(1.035)}.member-photo::after{content:'';position:absolute;inset:0;border:1px solid #ffffff25;border-radius:6px;pointer-events:none}.member-card .member-name{font-family:Manrope;font-size:18px;font-weight:700;margin:13px 0 4px;letter-spacing:-.5px;display:flex;justify-content:space-between;gap:10px}.member-card p{font-size:12px;color:var(--muted)}.member-chip{position:absolute;bottom:12px;left:12px;background:#071e1dd9;color:#eff8ed;padding:6px 9px;border:1px solid #a2e9b649;border-radius:4px;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.studio-band{background:var(--night);color:var(--paper);padding:65px 0;position:relative;overflow:hidden}.studio-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.studio-image{position:relative;border-radius:9px;overflow:hidden;border:1px solid #69b79166;box-shadow:0 0 32px #5eefa512}.studio-image img{width:100%;aspect-ratio:1.25;object-fit:cover;opacity:.85;object-position:74% center}.image-caption{position:absolute;bottom:0;padding:27px 25px 22px;background:linear-gradient(0deg,#092722f2,transparent);width:100%;font-size:12px}.image-caption small{display:block;color:var(--acid);font-size:9px;letter-spacing:.13em;margin-bottom:8px}.studio-copy h2{font-size:clamp(32px,4vw,53px);font-weight:500;letter-spacing:-2px;line-height:1.12;margin:18px 0 23px}.studio-copy>p{font-size:15px;line-height:1.65;color:#bacdc1}.studio-list{margin-top:28px;border-top:1px solid #42614f}.studio-list a{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #42614f;padding:17px 0;font-size:14px}.studio-list span{color:#9ab8a7;font-size:12px}.room-number{font-size:10px;color:#8fd6ab;letter-spacing:.1em;margin-right:14px}.opportunity-strip{background:#e9eddf;border-block:1px solid #d3decf}.three-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.role-card{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:25px;display:flex;flex-direction:column;min-width:0}.role-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:30px;align-items:center}.tag{display:inline-flex;align-items:center;font-size:10px;font-weight:650;border:1px solid #cad7c9;border-radius:4px;padding:5px 8px;letter-spacing:.03em}.tag.green{background:#e2f4df;color:#246744;border-color:#cce5c7}.tag.dark{color:#cbdfce;border-color:#466650}.role-card h3{font-size:22px;letter-spacing:-.7px;line-height:1.23;margin-bottom:12px}.role-card p{font-size:13px;line-height:1.6;color:var(--muted)}.role-meta{display:flex;gap:12px;font-size:11px;color:var(--muted);margin:18px 0 24px;flex-wrap:wrap}.role-card .text-link{margin-top:auto;border-top:1px solid var(--line);padding-top:18px;justify-content:space-between}.bookmark{border:0;background:transparent;padding:6px;color:#34584a;display:grid;place-items:center}.bookmark[aria-pressed=true]{color:#087049;background:#dcf4e3;border-radius:5px}.bookmark[aria-pressed=true] svg{fill:#c1ebce}.closing{padding:88px 0}.closing .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:center}.closing h2{font-size:clamp(38px,5vw,61px);font-weight:500;line-height:1.08;letter-spacing:-2.5px}.closing p{color:var(--muted);font-size:15px;line-height:1.65}.trust-row{display:flex;flex-wrap:wrap;gap:22px;margin-top:22px;color:#466454;font-size:12px}.site-footer{background:#e8ecdf;border-top:1px solid var(--line);padding:46px max(24px,calc((100vw - 1280px)/2)) 20px}.footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:35px}.footer-inner p{font-size:13px;line-height:1.6;color:var(--muted);margin-top:15px}.footer-inner>div>strong{display:block;font-size:12px;margin:8px 0 15px}.footer-inner>div>a:not(.brand),.footer-inner button{display:block;font-size:12px;color:#526c5b;margin:11px 0}.footer-inner button{padding:0;background:transparent;border:0}.footer-base{border-top:1px solid #cdd8c8;margin-top:34px;padding-top:20px;display:flex;justify-content:space-between;font-size:10px;color:#61715f;gap:20px}.toast{position:fixed;z-index:70;bottom:25px;left:50%;transform:translateX(-50%);padding:14px 21px;max-width:90vw;background:#153d31;color:white;border:1px solid #72c697;box-shadow:0 0 24px #40e29c20;border-radius:8px;font-size:13px}dialog{color:var(--ink);background:var(--paper);border:1px solid #98b59f;border-radius:14px;padding:38px;max-width:560px;width:calc(100% - 35px);box-shadow:0 0 60px #27cc8025}dialog::backdrop{background:#06251bbd;backdrop-filter:blur(6px)}dialog h2{font-size:25px;letter-spacing:-1px;margin-bottom:15px}dialog p{font-size:14px;line-height:1.6;color:var(--muted);margin:10px 0}dialog .dialog-close{position:absolute;right:13px;top:10px;border:0;background:transparent;font-size:26px}.search-box{width:100%;border:1px solid #acbeae;border-radius:7px;background:white;padding:13px;margin:10px 0}.search-results a{display:block;padding:13px 0;border-bottom:1px solid var(--line)}.search-results small{display:block;color:var(--muted);font-size:12px;margin-top:4px}
@media(min-width:1500px){.hero{min-height:720px}}
@media(max-width:1340px){.wrap,.header-inner{margin-left:32px;margin-right:32px}.hero .wrap{width:calc(100% - 64px)}}
@media(max-width:950px){.global-nav{gap:20px}.header-inner{gap:20px}.hero h1{font-size:68px;letter-spacing:-3px}.hero-photo{width:85%;opacity:.63}.hero-caption{display:none}.studio-layout{gap:35px}.studio-list span{display:none}.member-grid{gap:14px}.member-card .member-name{font-size:15px}.closing .wrap{gap:40px}.three-cols{gap:12px}.role-card{padding:20px}.role-card h3{font-size:19px}.footer-inner{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.preview-ribbon{padding:7px 18px}.preview-ribbon>span:first-child{display:none}.preview-ribbon button{font-size:9px}.header-inner{margin:0 20px;min-height:75px;flex-wrap:wrap;gap:0;justify-content:space-between;padding-top:13px}.brand{font-size:26px}.brand-mark{font-size:35px;margin-right:7px}.header-actions{gap:9px}.workspace-link{font-size:11px;padding:10px 12px}.workspace-link span{margin-left:5px}.global-nav{order:3;width:100%;height:53px;justify-content:space-between;margin:0;gap:10px}.global-nav a{font-size:13px}.wrap{margin-left:21px;margin-right:21px}.hero{min-height:650px;align-items:flex-start}.hero .wrap{margin:0 22px;padding:55px 0 140px;width:calc(100% - 44px)}.hero h1{font-size:52px;letter-spacing:-2.7px;margin:25px 0}.hero-photo{width:100%;object-position:65% 50%;opacity:.6}.hero::after{background:linear-gradient(90deg,#081e20db,#081e2025),linear-gradient(0deg,#081e2080,transparent)}.hero-copy{font-size:15px;max-width:300px}.hero .button{padding:13px 15px;font-size:12px;gap:12px}.hero .actions{gap:10px}.hero-foot{font-size:10px;gap:8px;flex-wrap:wrap;line-height:1.7}.section{padding:45px 0}.section-heading{display:block;margin-bottom:25px}.section-heading h2{font-size:31px}.section-heading>p{margin-top:14px}.section-heading>.text-link{margin-top:15px}.intro-strip .wrap{display:block}.intro-strip p{font-size:14px;line-height:1.5}.intro-strip .text-link{margin-top:12px;font-size:12px}.member-grid{grid-template-columns:1fr 1fr;gap:23px 14px}.member-card .member-name{font-size:14px}.member-card p{font-size:10px}.member-chip{font-size:8px;bottom:8px;left:8px;padding:5px}.studio-band{padding:45px 0}.studio-layout{grid-template-columns:1fr;gap:30px}.studio-copy h2{font-size:38px;letter-spacing:-1.8px}.studio-copy>p{font-size:14px}.studio-image img{aspect-ratio:1.4}.three-cols{grid-template-columns:1fr;gap:15px}.role-card{padding:24px}.role-top{margin-bottom:20px}.role-card h3{font-size:23px}.closing{padding:55px 0}.closing .wrap{grid-template-columns:1fr;gap:25px}.closing h2{font-size:42px}.footer-inner{gap:25px}.footer-inner>div:first-child{grid-column:1/-1}.footer-base{flex-direction:column;gap:9px}.site-footer{padding:35px 22px 20px}.eyebrow{font-size:9px;letter-spacing:.13em}.trust-row{gap:15px}dialog{padding:32px 24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.page{padding:42px 0 65px;min-height:65vh}.page-head{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:22px 0 35px}.page-head h1{font-size:clamp(34px,4.5vw,59px);font-weight:500;letter-spacing:-2.5px;line-height:1.12;margin-top:17px}.page-head p{font-size:15px;line-height:1.6;color:var(--muted);max-width:670px;margin-top:18px}.workspace-link.selected{background:#e3ecdc;border-color:#789c79}.local-nav{display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line);overflow:auto;scrollbar-width:thin;white-space:nowrap;min-height:53px}.local-nav a,.local-nav button{font-size:13px;padding:17px 0;background:none;border:0;position:relative}.local-nav a[aria-current]{font-weight:700}.local-nav a[aria-current]::after{content:'';height:2px;position:absolute;bottom:0;left:0;right:0;background:#128150;box-shadow:0 0 10px #49f39740}.local-nav button{margin-left:auto}.count{display:inline-block;padding:2px 6px;background:#dee9d9;border-radius:4px;margin-left:6px;font-size:10px}.filter-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:30px 0 22px}.filter-bar p{font-size:13px;color:var(--muted)}.filter-buttons{display:flex;gap:7px;flex-wrap:wrap}.filter-buttons button{border:1px solid var(--line);border-radius:30px;padding:9px 13px;background:transparent;font-size:12px}.filter-buttons button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.search-field{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #bfcfbd;border-radius:5px;background:var(--white);min-width:220px}.search-field svg{width:17px;height:17px}.search-field input{border:0;outline:0!important;background:none;font-size:12px;width:100%;min-width:0;color:var(--ink)}.search-field:focus-within{outline:2px solid #087049;outline-offset:2px}.list-caption{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);gap:20px;margin-bottom:18px}.list-caption a{color:var(--green-deep)}.sample-label{display:block;font-size:9px;color:#678371;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}.subtle-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;border-block:1px solid var(--line);padding:25px 0;margin-top:45px;font-size:14px}.empty-panel{padding:65px 35px;max-width:850px;margin:35px auto;background:#eef0e5;border:1px solid var(--line);border-radius:9px}.empty-panel h2{font-size:30px;letter-spacing:-1.2px;font-weight:550;margin:15px 0}.empty-panel p{font-size:14px;line-height:1.7;color:var(--muted);max-width:590px;margin-bottom:24px}.inline-note{font-size:12px;color:var(--muted);line-height:1.7;margin:25px 0 0}.inline-note a{text-decoration:underline}.back-link{display:inline-flex;font-size:12px;margin-bottom:35px;font-weight:600}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:100px;align-items:start}.detail-title{font-size:clamp(45px,6vw,75px);font-weight:500;letter-spacing:-3px;line-height:1.1;margin:24px 0}.detail-lead{font-size:20px;color:#537361}.role-meta.large{font-size:13px;gap:20px}.detail-body{border-top:1px solid var(--line);margin-top:32px;padding-top:8px}.detail-body h2{font-size:22px;margin-top:28px;letter-spacing:-.6px}.detail-body p{font-size:15px;line-height:1.8;color:var(--muted);margin-top:13px}.source-note{background:#e9eddf;border-left:2px solid #4c8760;padding:20px;margin-top:30px}.source-note strong{font-size:13px}.source-note p{font-size:12px;margin-top:8px}.action-panel{border:1px solid #a4c49f;border-radius:12px;padding:28px;background:#edf4e6;display:flex;flex-direction:column;gap:17px}.action-panel h2{font-size:25px;font-weight:600;letter-spacing:-.9px}.action-panel p{font-size:13px;line-height:1.6;color:var(--muted)}hr{border:0;border-top:1px solid var(--line);width:100%}.glow-border{box-shadow:0 0 0 1px #53d59722,0 0 28px #38d18512}.studio-world{background:#0a2423;color:#f0f3e5}.studio-world .page-head p{color:#a8c2b2}.room-status{font-size:11px;color:#a9c5b3;display:flex;align-items:center;gap:10px;white-space:nowrap}.room-status i{height:6px;width:6px;background:#9cebb1;border-radius:50%;box-shadow:0 0 12px #40e29c60}.dark-nav{border-color:#36584a;margin-bottom:35px}.dark-nav a{color:#b5cdbd}.dark-nav a[aria-current]{color:#edffca}.dark-nav a[aria-current]::after{background:#bdffc7;box-shadow:0 0 12px #59f99990}.studio-work{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,1fr);gap:36px;align-items:stretch}.rehearsal-stage{border-radius:12px;border:1px solid #578467;background:radial-gradient(ellipse at 50% 28%,#1b493c,#0b1d20 80%);position:relative;overflow:hidden;min-height:510px;padding:24px 27px}.rehearsal-stage::before{content:'';position:absolute;bottom:0;left:8%;width:84%;height:1px;background:linear-gradient(90deg,transparent,#bdfdca,transparent);box-shadow:0 0 25px 4px #45cf7460}.stage-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.12em;color:#9cbea7}.stage-centre{padding:34px 10px 20px;text-align:center}.take-number{font-size:10px;letter-spacing:.2em;color:#74a687;display:block;margin-bottom:26px}.stage-centre label{display:block;color:#a4c6b0;font-size:11px;margin-bottom:12px}.stage-centre textarea{color:#f0f5d9;background:transparent;text-align:center;border:1px solid transparent;border-radius:6px;resize:vertical;font:500 28px/1.35 Manrope;width:100%;padding:8px;letter-spacing:-.7px}.stage-centre textarea:focus{border-color:#577f60;outline:1px solid #97c692}.stage-centre>p{font-size:11px;color:#90b6a0;margin:24px 0 15px}.sound-bars{height:30px;display:flex;gap:5px;align-items:center;justify-content:center;margin-top:7px}.sound-bars i{display:block;width:2px;height:8px;background:#95dcb0;box-shadow:0 0 8px #6cecac50}.sound-bars i:nth-child(3n){height:22px}.sound-bars i:nth-child(4n){height:15px}.sound-bars i:nth-child(5n){height:28px}.stage-actions{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.stage-actions>span{font-size:9px;color:#81aa93}.studio-notes{padding:27px 7px;display:flex;flex-direction:column;align-items:start;gap:23px}.studio-notes h3{font-size:31px;line-height:1.2;font-weight:500;letter-spacing:-1.1px}.studio-notes>p{font-size:14px;line-height:1.8;color:#a9c7b4}.studio-notes small{font-size:11px;line-height:1.7;color:#84aa92}.note-tag{font-size:10px;color:#bde5bf;padding:13px;background:#274a3822;border-left:1px solid #83b28e}.studio-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:35px;border-top:1px solid #3c614d;margin-top:48px}.studio-bottom h3{font-size:21px;font-weight:500;letter-spacing:-.5px;margin-top:14px}.studio-heading{margin:35px 0}.studio-heading h2{font-size:30px;letter-spacing:-1px;font-weight:500}.studio-heading p{color:#99b6a4;font-size:14px;margin-top:12px}.dark-empty{background:#102c26;border-color:#375843}.dark-empty p{color:#a3bfad}.session-list>a{display:flex;align-items:center;gap:24px;padding:25px;background:#133029;border:1px solid #3b604a;border-radius:10px}.session-list>a>span:last-child{margin-left:auto;font-size:12px;color:#d6edc5}.session-list small{display:block;font-size:12px;color:#93b39e;margin-top:6px}.take-badge{padding:13px 16px;border:1px solid #668f6b;color:#bddfb8;font-size:12px}.dark-card{background:#122e29;border:1px solid #406748;border-radius:10px;padding:30px}.dark-card h3{font-size:24px;font-weight:500;letter-spacing:-.7px;margin:25px 0 15px}.dark-card p{color:#9fbdab;font-size:13px;line-height:1.7}.dark-card .text-link{margin-top:25px;color:#c8eec4}.lab-grid{margin-bottom:28px}.warmup-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:25px 0}.warmup-layout h2{font-size:54px;letter-spacing:-2.2px;line-height:1.1;font-weight:500;margin:20px 0}.warmup-layout>div>p{font-size:14px;line-height:1.6;color:#a4c4ae}.warmup-options{display:flex;gap:8px;margin:24px 0;flex-wrap:wrap}.warmup-options .tag{background:transparent;cursor:pointer}.prompt-card{border:1px solid #73a877;background:radial-gradient(ellipse at top,#264b32,#112d27);padding:37px;border-radius:12px}.prompt-card h3{font-size:30px;line-height:1.3;letter-spacing:-1px;font-weight:500;margin:26px 0}.prompt-card p{font-size:12px;color:#afcbb2;margin-bottom:30px}.studio-world .inline-note{color:#a1bca8}.take-visual{position:relative;min-height:450px;overflow:hidden;border-radius:10px}.take-visual>img{height:100%;width:100%;object-fit:cover;position:absolute;opacity:.5}.take-overlay{position:relative;z-index:1;padding:36px;background:linear-gradient(0deg,#09231fbb,transparent);height:100%;display:flex;flex-direction:column;align-items:start;justify-content:end;gap:23px}.take-overlay h2{font-size:44px;line-height:1.15;letter-spacing:-2px;font-weight:500}.step-list{list-style:none;padding:0;margin:0;width:100%;font-size:13px;color:#b0c5b5}.step-list li{display:flex;gap:14px;padding:17px 0;border-bottom:1px solid #315541}.step-list span{font-size:10px;color:#87ab91}.performer-world{background:#0b2524;color:#f1f5e4}.performer-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:75px;align-items:center;padding:10px 0 40px}.performer-portrait{border:1px solid var(--member-accent,#80ac7f);border-radius:5px;overflow:hidden}.performer-portrait img{width:100%;height:600px;object-fit:cover}.performer-copy h1{font-size:clamp(48px,6vw,82px);letter-spacing:-3px;line-height:1.07;font-weight:500;margin:25px 0}.performer-descriptor{font-size:18px;line-height:1.6;color:#c6dfc4}.light-rule{height:1px;max-width:330px;background:linear-gradient(90deg,var(--member-accent,#b3f3bd),transparent);box-shadow:0 0 12px #7effa970;margin:28px 0}.performer-copy>p:not(.performer-descriptor){font-size:15px;line-height:1.7;color:#aac5b4;max-width:450px}.performer-copy .button{margin-top:30px}.performer-copy small{display:block;color:#8aa995;line-height:1.7;font-size:11px;margin-top:25px;max-width:440px}.round-control{border:1px solid #bdcdb6;background:none;border-radius:30px;padding:11px 15px;font-size:12px;white-space:nowrap}.workspace-grid{display:grid;grid-template-columns:1fr 1.13fr;gap:55px;align-items:center}.identity-card{position:relative;background:#0c2723;min-height:415px;overflow:hidden;border-radius:12px;border:1px solid #557b58;box-shadow:0 0 24px #72cf8615;color:white}.identity-card>img{width:100%;height:100%;position:absolute;object-fit:cover;opacity:.55;object-position:60% 35%}.identity-card::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#08291ffe,transparent 100%)}.identity-content{position:relative;z-index:1;padding:30px;min-height:415px;display:flex;flex-direction:column;justify-content:end}.identity-content .sample-label{color:#cfdebd;font-size:8px;margin-bottom:auto}.identity-content h2{font-size:48px;font-weight:500;letter-spacing:-2px;line-height:1.05;color:var(--member-accent)}.identity-content p{font-size:13px;color:#dce6d4;margin-top:16px}.identity-content small{font-size:11px;color:#b4c9b5;margin-top:9px}.identity-actions{display:flex;justify-content:space-between;font-size:11px;padding-top:20px;border-top:1px solid #9bbb8e60;margin-top:25px;color:var(--member-accent)}.workspace-next{padding:15px 0}.workspace-next h2{font-size:41px;line-height:1.14;font-weight:500;letter-spacing:-1.7px;margin:20px 0}.workspace-next>p{font-size:15px;line-height:1.7;color:var(--muted);max-width:420px;margin-bottom:27px}.workspace-stats{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:35px;padding-top:20px;border-top:1px solid var(--line)}.workspace-stats strong{display:block;font-family:Manrope;font-size:29px;font-weight:500}.workspace-stats span{font-size:10px;color:var(--muted)}.compact{padding:50px 0 0}.activity-card{border-top:1px solid #aabfa8;padding:23px 0}.activity-symbol{font-size:24px;color:#538765;display:block;margin-bottom:17px}.activity-card h3{font-size:23px;line-height:1.3;letter-spacing:-.7px;font-weight:550;margin:15px 0}.activity-card p{font-size:13px;color:var(--muted);line-height:1.6;min-height:42px}.activity-card>strong{font-size:12px;display:block;margin-top:21px}.showcase-editor{display:grid;grid-template-columns:1.1fr 1fr;gap:42px;align-items:start}.showcase-cover{min-height:550px;border-radius:12px;overflow:hidden;position:relative;background:#153f31}.showcase-cover>img{height:100%;width:100%;object-fit:cover;position:absolute;opacity:.7}.showcase-cover>div{position:absolute;bottom:0;padding:80px 32px 35px;width:100%;background:linear-gradient(0deg,#052c22,transparent);color:var(--member-accent)}.showcase-cover h2{font-size:46px;font-weight:500;letter-spacing:-2px;line-height:1.05;margin-top:18px}.showcase-cover p{font-size:13px;margin-top:17px;color:#e1ecd9}.cover-edit{position:absolute;top:16px;right:16px;font-size:11px;padding:10px 13px;color:white;background:#173d2cbd;border:1px solid #9ab8998a;border-radius:5px}.editor-form{padding:10px 0}.editor-form form,.profile-form,dialog form{display:flex;flex-direction:column;gap:20px}.editor-form label,.profile-form label,dialog form label{display:flex;flex-direction:column;font-size:12px;gap:9px;font-weight:600}.editor-form input:not([type=radio]),.editor-form textarea,.profile-form input,.profile-form textarea,.profile-form select,dialog select{width:100%;border:1px solid #bbccba;background:#fffef8;border-radius:5px;padding:12px;color:var(--ink);font-size:14px;line-height:1.5}.editor-form textarea,.profile-form textarea{resize:vertical}.editor-form .button,.profile-form .button{align-self:start}.editor-form fieldset{margin:0;padding:0;border:0}.editor-form legend{font-size:12px;font-weight:600;margin-bottom:14px}.swatches{display:flex;gap:22px}.swatches label{flex-direction:row;align-items:center;font-size:11px;font-weight:400}.swatches span{width:19px;height:19px;border-radius:50%;border:1px solid #476a3740}.swatches input{margin:0;accent-color:#1a6744}.editor-links{border-top:1px solid var(--line);margin-top:30px;padding-top:15px}.editor-links a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.publish-bar{display:flex;align-items:center;gap:20px;margin-top:40px;padding:25px 0;border-block:1px solid var(--line)}.publish-bar>div{margin-right:auto}.publish-bar strong{font-size:15px}.publish-bar p{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.5;max-width:370px}.profile-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:start}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.media-card{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--white)}.media-card img{aspect-ratio:1.2;width:100%;object-fit:cover}.media-card>div{padding:22px}.media-card h3{font-size:22px;letter-spacing:-.5px}.media-card p{font-size:12px;color:var(--muted);margin:13px 0}.media-card button{border:0;background:none;padding:9px 0;color:var(--green-deep);font-size:12px}.connections-hero{background:#0d302a;color:var(--paper);border-radius:12px;overflow:hidden;display:grid;grid-template-columns:1.2fr 1fr}.connections-hero>div{padding:46px}.connections-hero h2{font-size:44px;line-height:1.14;letter-spacing:-1.7px;font-weight:500;margin:20px 0}.connections-hero p{font-size:14px;line-height:1.7;color:#b2cbb8;max-width:400px;margin-bottom:25px}.connections-hero img{height:100%;width:100%;object-fit:cover;object-position:65%;opacity:.77}.below{margin-top:45px}.connection-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.plain-panel{padding:25px 0;border-top:1px solid #a3bea6}.plain-panel h3{font-size:22px;letter-spacing:-.6px;font-weight:550}.plain-panel p{font-size:13px;line-height:1.8;color:var(--muted);margin:16px 0 23px}.plain-panel .text-link{font-size:12px;background:none;border:0;padding:0}.checkbox-label{flex-direction:row!important;align-items:center;line-height:1.5}dialog input[type=checkbox]{accent-color:#167a4b}
@media(max-width:1000px){.detail-layout{gap:40px;grid-template-columns:1fr 300px}.studio-work{gap:25px;grid-template-columns:1.6fr 1fr}.stage-centre textarea{font-size:23px}.studio-notes h3{font-size:25px}.performer-layout{gap:35px}.performer-portrait img{height:500px}.workspace-grid{gap:35px}.workspace-next h2{font-size:35px}.showcase-editor{gap:30px}.publish-bar{flex-wrap:wrap}.publish-bar>div{width:100%}.warmup-layout{gap:35px}.profile-layout{gap:35px}.connections-hero>div{padding:30px}.connections-hero h2{font-size:35px}.media-grid{gap:15px}}
@media(max-width:720px){.page{padding:22px 0 45px}.page-head{align-items:start;gap:20px;flex-wrap:wrap;margin:20px 0 26px}.page-head h1{font-size:38px;letter-spacing:-1.7px}.page-head p{font-size:14px;margin-top:15px}.local-nav{gap:23px}.local-nav a,.local-nav button{font-size:12px}.filter-bar{flex-wrap:wrap;gap:17px}.search-field{width:100%}.list-caption{font-size:10px;flex-wrap:wrap;gap:10px}.subtle-banner{align-items:start;flex-direction:column}.empty-panel{padding:32px 23px}.empty-panel h2{font-size:27px}.detail-layout{grid-template-columns:1fr;gap:32px}.detail-title{font-size:48px;letter-spacing:-2px}.detail-lead{font-size:17px}.action-panel{padding:24px}.studio-work{grid-template-columns:1fr;gap:15px}.room-status{font-size:10px}.rehearsal-stage{padding:19px;min-height:455px}.stage-centre{padding:25px 0 16px}.stage-centre textarea{font-size:24px;min-height:116px}.studio-notes{padding:22px 0}.studio-notes h3{font-size:31px}.studio-bottom{flex-wrap:wrap;gap:24px}.studio-bottom h3{font-size:22px;line-height:1.4}.warmup-layout{grid-template-columns:1fr;gap:35px;padding:10px 0}.warmup-layout h2{font-size:43px}.prompt-card{padding:28px}.prompt-card h3{font-size:27px}.session-list>a{gap:14px;padding:19px}.session-list>a>span:last-child{font-size:10px}.session-list strong{font-size:13px}.session-list small{font-size:10px}.performer-layout{grid-template-columns:1fr;gap:35px}.performer-portrait img{height:auto;max-height:550px;aspect-ratio:4/5}.performer-copy h1{font-size:55px;letter-spacing:-2.5px}.performer-copy small{font-size:11px}.workspace-grid{grid-template-columns:1fr;gap:20px}.identity-card,.identity-content{min-height:440px}.identity-content h2{font-size:53px}.workspace-next h2{font-size:39px}.workspace-stats{margin-top:28px}.activity-card p{min-height:0}.showcase-editor{grid-template-columns:1fr}.showcase-cover{min-height:470px}.showcase-cover h2{font-size:43px}.publish-bar{gap:14px}.publish-bar .button{font-size:12px;padding:12px 15px}.profile-layout{grid-template-columns:1fr;gap:30px}.form-pair{grid-template-columns:1fr;gap:20px}.media-grid{grid-template-columns:1fr}.media-card img{aspect-ratio:1.5}.connections-hero{grid-template-columns:1fr}.connections-hero>div{padding:32px 25px}.connections-hero h2{font-size:37px}.connections-hero img{max-height:270px}.connection-columns{grid-template-columns:1fr;gap:10px}.filter-buttons button{font-size:11px;padding:9px 11px}.round-control{font-size:11px}}

.performer-world[style] .performer-copy h1{color:var(--member-accent)}
.role-location{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin:0 0 28px;padding:18px 0;border-block:1px solid var(--line)}.role-location>label:first-child{display:flex;align-items:center;gap:12px;font-size:12px}.role-location select{background:var(--white);color:var(--ink);padding:10px 30px 10px 12px;border:1px solid #bfcfbd;border-radius:5px;font:inherit}.role-location .checkbox-label{font-size:12px;display:flex;align-items:center;gap:8px}.role-location p{font-size:11px;color:var(--muted);margin-left:auto;max-width:300px;line-height:1.6}.role-load{margin-top:30px;justify-content:center}.role-facts{margin-top:25px;display:grid;gap:14px}.role-facts>div{display:grid;grid-template-columns:140px 1fr;gap:15px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.6}.role-facts dt{color:var(--muted)}.role-facts dd{margin:0}.source-copy{white-space:pre-line}.role-card h3,.detail-title{overflow-wrap:anywhere}.filter-bar:has(+.role-location){flex-wrap:wrap}
@media(max-width:640px){.role-location{gap:15px}.role-location p{margin-left:0;max-width:none}.role-facts>div{grid-template-columns:110px 1fr}.detail-title{font-size:39px;letter-spacing:-1.5px}.filter-bar:has(+.role-location) .search-field{width:100%}}
#role-results{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}#role-results .role-card>p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}#role-results .role-card h3{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}

.auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.plain-panel form,.plain-panel#media-upload,.plain-panel#credit-create,.plain-panel#practice-preferences,.plain-panel#clip-upload{display:grid;gap:18px}.plain-panel label,.editor-form label{display:grid;gap:8px;font-size:13px}.plain-panel input:not([type=checkbox]),.plain-panel select,.plain-panel textarea,.editor-form select{width:100%;min-width:0;padding:12px;border:1px solid #9aac9c;border-radius:5px;background:#fffef8;color:#123f35;font:inherit}.plain-panel .checkbox-label,.profile-form .checkbox-label{display:flex;align-items:center;gap:10px}.form-error{padding:14px;background:#ffede3;color:#802e19;border:1px solid #c98570;border-radius:5px;line-height:1.6}.studio-world .plain-panel{background:#10342e;border-color:#50776b;color:#eef7e6}.studio-world .empty-panel{color:#123f35}.studio-message{text-align:left;border-left:2px solid #7fab7a;padding:12px 20px;margin:14px 0;white-space:pre-wrap;line-height:1.6}.studio-message small{color:#afceb1}.studio-message.actor{border-color:#d1e9b4;margin-left:20px}.studio-world aside>p{margin:22px 0;line-height:1.7;color:#b2cdbf}.media-card video{display:block;width:100%;aspect-ratio:16/10;background:#081f1b}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.small{padding:9px 13px;font-size:12px}.history-row{display:flex;gap:24px;align-items:center;padding:25px 0;border-bottom:1px solid #406055}.history-row>div{flex:1}.history-row h2{font-size:20px}.history-row p{font-size:12px;margin-top:10px}.member-grid .member-card>div{padding:15px}.member-grid .member-card h2{font-size:21px}.stage-banner{display:flex;justify-content:space-between;padding:9px 25px;background:#fff0c8;color:#4c3912;font-size:12px}.stage-banner[hidden]{display:none}#member-nav{display:flex;gap:20px;align-items:center}.button:disabled{opacity:.5;cursor:wait}.plain-panel fieldset{border:0}.plain-panel legend{margin-bottom:16px}.profile-form fieldset{border:0}.identity-content{justify-content:flex-end;gap:18px} @media(max-width:760px){.auth-layout{grid-template-columns:1fr;gap:20px}.check-grid{grid-template-columns:repeat(2,1fr)}.history-row{flex-wrap:wrap}.stage-banner{font-size:10px;padding:9px 18px}#member-nav{gap:10px}}

/* Keep identity useful while a member is still adding their first headshot. */
.identity-card:not(:has(>img)),.identity-card:not(:has(>img)) .identity-content{min-height:260px}
@media(max-width:720px){.identity-card:not(:has(>img)),.identity-card:not(:has(>img)) .identity-content{min-height:220px}.identity-card:not(:has(>img)) .identity-content h2{font-size:38px}.showcase-cover:not(:has(>img)){min-height:260px}}

#studio-config,#studio-response{display:grid;gap:20px}#studio-config{padding:24px;border:1px solid #36584a;border-radius:10px}#studio-config label,#studio-response label{display:grid;gap:9px}#studio-config .button,#studio-response .button{justify-self:start}.studio-work>aside h2{font-size:32px;font-weight:500;letter-spacing:-1px;line-height:1.2;margin:17px 0 24px}.studio-work>aside>p{line-height:1.7;color:#afc7b8}.loading-state{padding:45px 0;min-height:40vh;color:var(--muted)}

.connection-portrait{width:64px;height:78px;object-fit:cover;border-radius:8px;margin-bottom:16px}#practice-preferences,#credit-create,#clip-upload,#media-upload{display:grid;gap:20px}#practice-preferences>label,#credit-create>label,#clip-upload>label,#media-upload>label{display:flex;flex-direction:column;gap:9px}.history-row h2{overflow-wrap:anywhere}.history-row{min-width:0}.history-row>div{min-width:0}

.workspace-link{white-space:nowrap}#member-nav{display:flex;align-items:center;gap:14px}@media(max-width:820px){.header-inner{margin:0 20px;min-height:75px;flex-wrap:wrap;gap:0;justify-content:space-between;padding-top:13px}.brand{font-size:26px}.header-actions{gap:9px}.workspace-link{font-size:11px;padding:10px 12px}.global-nav{order:3;width:100%;height:53px;justify-content:space-between;margin:0;gap:10px}.global-nav a{font-size:13px}}

#auth-form{display:grid;gap:22px}#auth-form>label{display:grid;gap:9px}#auth-form .inline-note{margin-top:0}#auth-form>.button{justify-self:start}

.form-error[data-tone=success]{background:#e7f5ea;border-color:#9bbfa6;color:#164d39}

@media(max-width:720px){.local-nav{flex-wrap:wrap;gap:0 20px;overflow:visible;white-space:normal;padding-bottom:5px}.local-nav a,.local-nav button{padding:12px 0;min-height:44px}.local-nav button{margin-left:0}}

/* Opportunity cards: a little opening-night character, with quiet reading space. */
#role-results .role-card{position:relative;overflow:hidden;border-color:#cad9cc;border-radius:16px;background:radial-gradient(ellipse at 100% 0,#e5f3d8 0,transparent 48%),#fffef9;box-shadow:0 4px 16px #153d3107;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
#role-results .role-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#237655,#a8dc75 65%,#e9efcf)}
#role-results .role-top{margin-bottom:24px}
#role-results .tag{background:#173e32;color:#e7f6d7;border-color:#173e32;border-radius:6px;padding:7px 11px;letter-spacing:.06em}
#role-results .tag:before{content:"";width:6px;height:6px;border-radius:50%;background:#b4ee7e;box-shadow:0 0 9px #b4ee7e80;margin-right:7px}
#role-results .bookmark{background:#ffffffb3;border:1px solid #cfddcd;border-radius:50%;width:36px;height:36px}
#role-results .bookmark[aria-pressed=true]{background:#d7efbd;border-color:#5f9664}
#role-results .sample-label{letter-spacing:.1em;color:#55705c}
#role-results .role-meta{gap:8px;align-items:flex-start}
#role-results .role-meta span{background:#edf2e7;border-radius:5px;padding:5px 8px;color:#3f5946;line-height:1.5}
#role-results .role-meta span:last-child{background:transparent;padding-left:0;flex-basis:100%;color:var(--muted)}
#role-results .role-card>.text-link{color:#1f6745;border-top:1px solid #d9e2d1;padding-top:16px;font-weight:650}
#role-results .role-card:focus-within{border-color:#568557;box-shadow:0 0 0 3px #a8dc7540}
@media(hover:hover){#role-results .role-card:hover{transform:translateY(-3px);border-color:#81ad70;box-shadow:0 10px 28px #153d3112,0 0 18px #b4ee7e18}}
@media(prefers-reduced-motion:reduce){#role-results .role-card{transition:none}#role-results .role-card:hover{transform:none}}

.dob-parts{display:grid;grid-template-columns:1fr 1.5fr 1.2fr;gap:10px}.dob-parts label{min-width:0}.dob-parts select,.profile-form select{width:100%;min-height:44px;padding:10px;border:1px solid #bfcfbd;border-radius:6px;background:#fffef9;color:var(--ink);font:inherit}.dob-fields{min-width:0;border:0;padding:0;margin:0 0 20px}.dob-fields legend{font-size:14px}.dob-fields .inline-note{margin:8px 0 12px}

.profile-form .checkbox-label{display:flex;align-items:flex-start;justify-content:flex-start;gap:10px;text-align:left}.profile-form .checkbox-label input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:2px 0 0;padding:0}.skill-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 22px}.profile-skills{min-width:0}.profile-form textarea::placeholder{color:#69796c;opacity:1}

/* A quiet stage-light hum around the homepage Showcase portraits. */
.home-showcases .member-card>img{border:1px solid #80b77b;box-shadow:0 0 0 1px #a6df7a55,0 0 16px #8cda7133;animation:showcase-hum 5s ease-in-out infinite}
.home-showcases .member-card:nth-child(2)>img{animation-delay:-1.7s}
.home-showcases .member-card:nth-child(3)>img{animation-delay:-3.4s}
@keyframes showcase-hum{0%,100%{box-shadow:0 0 0 1px #a6df7a55,0 0 12px #8cda7126}50%{box-shadow:0 0 0 2px #b4ee7e99,0 0 26px #8cda7159,0 0 42px #b4ee7e26}}
@media(prefers-reduced-motion:reduce){.home-showcases .member-card>img{animation:none;box-shadow:0 0 0 1px #a6df7a77,0 0 18px #8cda7133}}

#auth-form .checkbox-label{display:flex;align-items:flex-start;gap:10px;text-align:left}#auth-form .checkbox-label input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;min-height:18px;margin:3px 0 0;padding:0}#auth-form .checkbox-label>span{display:block;min-width:0;line-height:1.6}#auth-form .checkbox-label a{display:inline}#signup-headshot{max-width:100%;font-size:13px}
/* Keep Showcase media captions readable on their light cards. */
.performer-world .media-card{background:#fffef8;color:#123f35}
.performer-world .media-card h2,.performer-world .media-card h3{color:#123f35}
.performer-world .media-card p{color:#435e53}
/* Static Blender-rendered studio light, behind the photo only. */
.performer-world{overflow:hidden}
.performer-world .performer-portrait{position:relative;isolation:isolate;overflow:visible;box-shadow:none}
.performer-world .performer-portrait::before{content:"";position:absolute;inset:-40% -45%;z-index:-1;pointer-events:none;background:url('/connected/assets/showcase-spotlight-v3.webp') center/100% 100% no-repeat;opacity:.8}
.performer-world .performer-portrait img{display:block;border-radius:4px}
.performer-world .performer-portrait:not(:has(img))::before{display:none}
@media(max-width:720px){.performer-world .performer-portrait::before{inset:-22% -22%;opacity:.55}}
@media print{.performer-world .performer-portrait::before{display:none}}
/* Dimensional portrait frame: static depth, optional hover tilt. */
.performer-world .performer-portrait{border:1px solid #b9d5b0;border-radius:8px;transform:perspective(1400px) rotateY(5deg) rotateX(1deg);transform-origin:center;box-shadow:-2px 1px 0 #76988b,-5px 3px 0 #34574e,-9px 6px 0 #203f38,-16px 20px 32px #0008,0 0 45px #89cda52b;transition:transform .65s ease,box-shadow .65s ease}
.performer-world .performer-portrait img{border-radius:7px}
.performer-world .performer-portrait::before{inset:-35% -45%;opacity:1;filter:brightness(2.8);transform:translateZ(-1px)}
.performer-world .performer-portrait::after{content:"";position:absolute;inset:0;border-radius:7px;pointer-events:none;background:linear-gradient(125deg,#edffe51f 0%,transparent 28%,transparent 75%,#a4e9bc0a);box-shadow:inset 1px 1px 0 #eeffe766,inset -1px -1px 0 #0008}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.performer-world .performer-portrait:hover{transform:perspective(1400px) rotateY(-3deg) rotateX(-1deg) translateY(-4px);box-shadow:2px 1px 0 #76988b,5px 3px 0 #34574e,9px 6px 0 #203f38,16px 26px 38px #0008,0 0 60px #89cda53b}}
@media(max-width:720px){.performer-world .performer-portrait{transform:perspective(1400px) rotateY(3deg);box-shadow:-2px 1px 0 #76988b,-5px 3px 0 #34574e,-9px 16px 25px #0008}.performer-world .performer-portrait::before{inset:-22% -22%;opacity:.8}}
@media(prefers-reduced-motion:reduce){.performer-world .performer-portrait{transition:none}}
@media print{.performer-world .performer-portrait{transform:none;box-shadow:none}.performer-world .performer-portrait::after{display:none}}
/* Homepage public Showcase selection, 9 September 2026 */
.home-showcases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.home-showcases .member-card{min-width:0;width:100%}.home-showcases .member-card>img{display:block;width:100%;aspect-ratio:4/5;height:auto;object-fit:cover}.home-showcases .member-card h2{overflow-wrap:anywhere}.home-showcases .empty-panel{grid-column:1/-1}@media(max-width:900px){.home-showcases{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}@media(max-width:480px){.home-showcases{gap:18px 14px}.home-showcases .member-card>div{padding:12px 0}.home-showcases .member-card h2{font-size:18px}.home-showcases .member-card p{font-size:12px;line-height:1.5}}

/* CastMe mission statement within the original hero. */
.hero .hero-mission{font-size:clamp(18px,1.65vw,24px);line-height:1.4;color:#fff;max-width:620px;margin:20px 0 16px;letter-spacing:-.015em}.hero .hero-mission strong{font-weight:600;color:#dcf68d}.hero .hero-copy{margin-top:0}@media(max-width:650px){.hero .hero-mission{font-size:18px;margin:18px 0 14px}}

.auth-google{display:grid;gap:14px;margin-bottom:4px}
.auth-google-button{justify-self:stretch;text-align:center}
.auth-google-divider{display:flex;align-items:center;gap:12px;margin:2px 0 6px;font-size:12px;color:var(--muted)}
.auth-google-divider::before,.auth-google-divider::after{content:"";flex:1;height:1px;background:var(--line)}

/* ---- Sign in / Join -------------------------------------------------
   Scoped to .auth-card and .auth-aside. .plain-panel is shared with the
   workspace, media upload, Studio and the date-of-birth gate, so nothing
   here touches it on its own.
   ------------------------------------------------------------------- */
.auth-aside{max-width:34ch}
.auth-aside h1{font-size:clamp(38px,4.6vw,58px);font-weight:500;letter-spacing:-2.4px;line-height:1.07;margin:19px 0 0;max-width:13ch}
.auth-lead{font-size:15px;line-height:1.65;color:var(--muted);margin:19px 0 0;max-width:33ch}

/* Reserved height, so filling it in after the feed responds shifts nothing. */
.auth-live{min-height:40px;margin-top:30px;display:flex;align-items:center}
.auth-live-pill{display:inline-flex;align-items:center;gap:10px;padding:9px 15px 9px 12px;border:1px solid var(--line);border-radius:999px;background:var(--white);font-size:12.5px;line-height:1.35;color:var(--muted)}
.auth-live-pill b{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}
.auth-live-dot{width:7px;height:7px;border-radius:50%;background:var(--green-deep);box-shadow:0 0 0 3px rgba(8,112,73,.13);flex:none}

.plain-panel.auth-card{background:#fffdf5;border:1px solid #dee4d5;border-top:1px solid #dee4d5;border-radius:16px;padding:34px 32px;box-shadow:0 1px 2px rgba(18,58,53,.045),0 16px 34px -22px rgba(18,58,53,.3)}
#auth-form.auth-card{gap:20px}
.auth-card .form-error{margin:0}

.auth-card .auth-google{display:grid;gap:0;margin:0}
.auth-card .auth-google-button{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;padding:13px 18px;background:var(--white);color:var(--ink);border:1px solid #c6d1c4;border-radius:9px;font-size:13px;font-weight:600;text-decoration:none;transition:background .18s,border-color .18s}
.auth-card .auth-google-button:hover{background:#f5f8f2;border-color:#9aac9c}
.auth-card .auth-google-button svg{width:18px;height:18px;flex:none}
.auth-card .auth-google-divider{margin:20px 0 2px}

.auth-card .field-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.auth-card .field-head a{font-size:12px;color:var(--green-deep)}

#auth-form.auth-card>.button{justify-self:stretch;width:auto;margin-top:4px;padding:14px 18px;border-radius:9px}

.auth-card .auth-alt{margin:6px 0 0;padding-top:18px;border-top:1px solid #ecefe3;text-align:center;font-size:13px;color:var(--muted)}
.auth-card .auth-alt a{color:var(--ink);font-weight:700;text-decoration:none}
.auth-card .auth-alt a:hover{text-decoration:underline}
.auth-card .auth-resend{margin:11px 0 0;text-align:center;font-size:12px}
.auth-card .auth-resend button{background:none;border:0;padding:0;font:inherit;color:var(--muted);text-decoration:underline;cursor:pointer}
.auth-card .auth-resend button:hover{color:var(--ink)}

@media(max-width:760px){
  .auth-aside{max-width:none}
  .auth-aside h1{max-width:none}
  .auth-lead{max-width:none}
  .auth-live{min-height:0;margin-top:20px}
  .plain-panel.auth-card{padding:24px 20px;border-radius:14px;margin-top:6px}
}
.auth-live{flex-direction:column;align-items:flex-start;gap:10px;min-height:66px}
.auth-live-pill{white-space:nowrap}
.auth-live-time{font-size:11.5px;letter-spacing:.02em;color:var(--muted);opacity:.85;padding-left:2px}
@media(max-width:760px){.auth-live{min-height:0;gap:8px}}
/* A consent control has to show what you are agreeing to. */
.auth-card .checkbox-label a{text-decoration:underline;text-underline-offset:2px;color:var(--ink)}
.auth-card .checkbox-label a:hover{color:var(--green-deep)}
/* Same live-feed signal as the homepage hero, tuned for a light panel. */
.auth-live-dot{box-shadow:0 0 0 3px rgba(8,112,73,.13),0 0 8px 1px rgba(8,112,73,.35);animation:castme-feed-pulse-light 2.6s ease-in-out infinite}
@keyframes castme-feed-pulse-light{
  0%,100%{box-shadow:0 0 0 3px rgba(8,112,73,.13),0 0 7px 1px rgba(8,112,73,.3)}
  50%{box-shadow:0 0 0 6px rgba(8,112,73,.05),0 0 15px 4px rgba(8,112,73,.55)}
}
@media(prefers-reduced-motion:reduce){.auth-live-dot{animation:none}}

/* ---- Signup: creative identity ------------------------------------- */
.auth-card .signup-block{border:0;padding:0;margin:0;display:grid;gap:10px}
.auth-card .signup-block legend{padding:0;font-size:13px;font-weight:600;color:var(--ink)}
.auth-card .signup-block .inline-note{margin:0}
.identity-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.identity-chip{position:relative;display:inline-flex}
.identity-chip input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.identity-chip span{display:inline-flex;align-items:center;padding:8px 14px;border:1px solid #c3cfc0;
  border-radius:999px;background:var(--white);font-size:12.5px;line-height:1.2;color:var(--ink);
  transition:background .15s,border-color .15s,color .15s}
.identity-chip:hover span{border-color:#9aac9c;background:#f5f8f2}
.identity-chip input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}
.identity-chip input:focus-visible+span{outline:3px solid #b28827;outline-offset:3px}

/* ---- Showcase enquiry (public, no account needed) ------------------- */
.showcase-enquiry{max-width:620px}
.showcase-enquiry .plain-panel{display:grid;gap:14px}
.showcase-enquiry .enquiry-trap{position:absolute;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap}
.showcase-enquiry .button.dark{justify-self:start}
.showcase-enquiry h3{margin:0}

/* ---- Showcase: read as a casting document -------------------------- */
.performer-world .performer-facts{display:flex;flex-wrap:wrap;gap:0;margin:18px 0 0;
  border:1px solid rgba(255,255,255,.14);border-radius:11px;overflow:hidden;max-width:520px}
.performer-world .performer-facts div{flex:1 1 130px;padding:11px 14px;
  border-right:1px solid rgba(255,255,255,.14)}
.performer-world .performer-facts div:last-child{border-right:0}
.performer-world .performer-facts span{display:block;font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;opacity:.65}
.performer-world .performer-facts b{display:block;margin-top:5px;font-size:15px;font-weight:600}

.performer-world .performer-skills{margin:22px 0 0}
.performer-world .performer-skills h2{font-size:11px;letter-spacing:.13em;text-transform:uppercase;
  opacity:.65;margin:0 0 9px;font-weight:600}
.performer-world .performer-chips{display:flex;flex-wrap:wrap;gap:7px}
.performer-world .performer-chips span{padding:6px 12px;border-radius:999px;font-size:12.5px;
  border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04)}

.performer-world .performer-links{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}
.performer-world .performer-links a{padding:6px 12px;border-radius:999px;font-size:12.5px;
  border:1px solid rgba(255,255,255,.22);text-decoration:none}
.performer-world .performer-links a:hover{background:rgba(255,255,255,.08)}

.performer-world .performer-fresh{margin:14px 0 0;font-size:11.5px;opacity:.6;letter-spacing:.02em}

/* ---- Showcase editor: the fields the public page shows -------------- */
.showcase-socials{border:0;padding:0;margin:0;display:grid;gap:12px}
.showcase-socials legend{padding:0;font-size:13px;font-weight:600;color:var(--ink)}
.showcase-socials .inline-note{margin:0}
.showcase-socials label{display:grid;gap:6px;font-size:13px}
@media(min-width:620px){.showcase-socials{grid-template-columns:1fr 1fr}
  .showcase-socials legend,.showcase-socials .inline-note{grid-column:1/-1}}

button.text-link{background:none;border:0;padding:0;color:inherit;font:inherit;font-weight:700}
.performer-credits [data-credits-more]{margin-top:16px;font-size:12px;opacity:.85}
.performer-credits [data-credits-more]:hover{opacity:1}

/* ---- Credits: read as a filmography, not a card wall ---------------- */
.credits-scroll{overflow-x:auto;margin-top:6px}
.credits-table{width:100%;max-width:740px;border-collapse:collapse;font-size:13.5px}
.credits-table td{padding:9px 12px 9px 0;border-bottom:1px solid rgba(128,128,128,.18);vertical-align:top}
.credits-table tr:last-child td{border-bottom:0}
.credit-year{font-variant-numeric:tabular-nums;white-space:nowrap;opacity:.65;width:1%}
.credit-title{width:100%}
.credit-title b{font-weight:600;display:block}
.credit-title span{display:block;font-size:12px;opacity:.6;margin-top:2px}
.credit-type{opacity:.6;white-space:nowrap;font-size:12px}
.credit-role{opacity:.85;white-space:nowrap}
.credit-ok{display:inline-block;margin-left:8px;font-style:normal;font-size:11px;
  letter-spacing:.03em;opacity:.75;white-space:nowrap}
.performer-credits h2{margin-bottom:4px}
.showcase-credits .section-heading{align-items:baseline}
@media(max-width:560px){
  .credits-table td{padding:7px 8px 7px 0}
  .credit-type{display:none}
}

/* ---- Credit import ------------------------------------------------- */
.credit-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:22px}
.showcase-credits #credits-import{border-top:1px solid var(--line);margin-top:26px;padding-top:22px}
.showcase-credits #credits-import h3{font-size:20px;letter-spacing:-.5px;font-weight:600}
.credit-paste{display:flex;flex-direction:column;gap:9px;font-size:12px;font-weight:600;margin-top:6px}
.credit-paste textarea{width:100%;border:1px solid #bbccba;background:#fffef8;border-radius:5px;
  padding:12px;color:var(--ink);font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical}
.credits-table.candidates .credit-pick{width:1%;padding-right:4px}
.credits-table.candidates input[type=checkbox]{accent-color:#167a4b;width:16px;height:16px}
.credit-manual{margin-top:26px;border-top:1px solid var(--line);padding-top:8px}
.credit-manual summary{font-size:12px;font-weight:600;cursor:pointer;padding:10px 0;color:var(--muted)}
.credit-manual summary:hover{color:var(--ink)}
.credit-manual .plain-panel{border-top:0}

/* ---- A Showcase taken down by staff -------------------------------- */
.moderation-notice{border:1px solid #c98b7f;background:#fbf1ee;border-radius:9px;
  padding:22px 24px;margin-top:36px}
.moderation-notice strong{display:block;font-size:15px;color:#7e3b2c;margin-bottom:8px}
.moderation-notice p{font-size:13px;line-height:1.7;color:#6b4a42;margin:0}
.moderation-notice .inline-note{margin-top:10px;color:#8a6a62}

/* ---- Workspace: profile readiness ---------------------------------- */
.readiness[data-lead="1"]{padding-top:10px}
.readiness .section-heading{margin-bottom:16px}
.readiness .section-heading h2{font-size:clamp(24px,2.6vw,33px);margin-top:8px}
.readiness-bar{height:6px;border-radius:3px;background:#dde5da;overflow:hidden;max-width:560px}
.readiness-bar span{display:block;height:100%;background:linear-gradient(90deg,#1a6744,#3fcf8e);
  border-radius:3px;transition:width .4s ease}
.readiness-score{font-size:13px;color:var(--muted);margin-top:10px}
.readiness-score strong{font-family:Manrope,sans-serif;font-size:17px;color:var(--ink);font-weight:700}
.readiness-gaps{margin:18px 0 22px;padding:0;list-style:none;display:grid;gap:9px;max-width:620px}
.readiness-gaps li{font-size:13.5px;line-height:1.6;color:var(--muted);padding-left:18px;position:relative}
.readiness-gaps li::before{content:'';position:absolute;left:0;top:8px;width:6px;height:6px;
  border-radius:50%;background:#c2a25a}
.readiness[data-lead="0"]{border-top:1px solid var(--line);margin-top:20px;opacity:.92}
.guardian-status-card{margin:0 0 34px;padding:27px 29px;border:1px solid #b7d9b8;border-radius:12px;
  background:linear-gradient(135deg,#f4faed,#e8f4e3);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
  gap:28px;align-items:start;box-shadow:0 18px 44px #226b3a10}
.guardian-status-card h2{font-size:clamp(27px,3vw,39px);font-weight:550;letter-spacing:-1.5px;line-height:1.12;margin:10px 0 15px}
.guardian-status-card p{font-size:14px;line-height:1.7;color:var(--muted);max-width:660px;margin:0}
.guardian-status-contact{margin-top:14px!important;color:#214a36!important;font-weight:650}
.guardian-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.guardian-steps li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;padding:12px 0;border-top:1px solid #c9dfc5}
.guardian-steps li:first-child{border-top:0;padding-top:0}
.guardian-steps span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#143b2e;color:#eff8e7;
  font-size:11px;font-weight:800}
.guardian-steps strong{font-size:13px;color:var(--ink)}
/* The li is a two column grid, 32px for the number and the rest for the
   text. small is the third child, so auto-placement dropped it into
   column one of the next row - 32px wide, one word per line. */
.guardian-steps small{grid-column:2;display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:3px}
.guardian-status-actions{grid-column:1/-1;display:flex;gap:18px;align-items:center;flex-wrap:wrap;border-top:1px solid #c6ddc0;padding-top:20px}

/* ---- Fields the account owns, shown on the Showcase editor --------- */
.shared-from-profile{display:grid;gap:6px;padding:14px 16px;border-radius:8px;
  background:#eef1e7;border:1px solid var(--line)}
.shared-from-profile .shared-label{font-size:12px;font-weight:600;color:var(--ink)}
.shared-from-profile p{font-size:13.5px;line-height:1.65;color:var(--muted);margin:0}
.shared-from-profile em{color:#8a9a8c}
.shared-note{margin-top:-6px}

/* ---- Profile and Showcase disagree --------------------------------- */
.conflict-panel{border:1px solid #c9b37f;background:#fbf7ec;border-radius:10px;
  padding:26px 28px;margin-bottom:30px}
.conflict-panel .section-heading{margin-bottom:10px}
.conflict-panel h2{font-size:clamp(21px,2.3vw,27px)}
.conflict-row{border-top:1px solid #e4dcc6;margin-top:20px;padding-top:18px}
.conflict-row h3{font-size:15px;font-weight:650;margin-bottom:12px}
.conflict-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.conflict-pair>div{display:flex;flex-direction:column;gap:9px;align-items:start}
.conflict-pair span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#8a7a52}
.conflict-pair p{font-size:13.5px;line-height:1.6;color:var(--ink);margin:0;flex:1}
@media(max-width:640px){.conflict-pair{grid-template-columns:1fr;gap:22px}}

/* ---- Arrived here to fill in one particular field ------------------ */
.field-sought{outline:2px solid #2f8f5b;outline-offset:3px;border-radius:4px;
  animation:field-sought-settle 2.6s ease-out}
@keyframes field-sought-settle{
  0%,40%{box-shadow:0 0 0 6px rgba(47,143,91,.18)}
  100%{box-shadow:0 0 0 0 rgba(47,143,91,0)}}
@media(prefers-reduced-motion:reduce){.field-sought{animation:none}}

/* ---- the performer toolkit ------------------------------------------
   Brought back from the June/July homepage, which ran roughly 28 signups
   a week against 10 before it and 15 after. That version was a dark
   gradient with a green glow, a frosted card, a gold badge and a big
   green button. Same shape here, in the app's palette: --night ground,
   --green glow, --acid where the gold was, --orange where the red AI
   pill was. It sits under the hero and carries the same weather. */
.toolkit-band{
  position:relative;overflow:hidden;padding:78px 0 84px;
  color:var(--paper);
  background:
    radial-gradient(circle at 8% 0%, rgba(64,226,156,.22), transparent 38%),
    radial-gradient(circle at 92% 100%, rgba(215,145,98,.16), transparent 42%),
    linear-gradient(152deg,#0a2423 0%,#0d2e2a 46%,#081e20 100%);
}
.toolkit-band::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(223,247,146,.09),transparent 18%);
}
.toolkit-band>.wrap{position:relative}

.toolkit-head{text-align:center;max-width:660px;margin:0 auto 42px}
.toolkit-badge{
  display:inline-block;background:var(--acid);color:var(--night);
  padding:7px 18px;border-radius:50px;font-size:11px;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;margin-bottom:20px;
  box-shadow:0 0 30px rgba(223,247,146,.28);
}
.toolkit-head h2{
  font-size:clamp(30px,4.4vw,52px);font-weight:500;letter-spacing:-2px;
  line-height:1.06;margin:0 0 16px;color:#fff;text-wrap:balance;
}
.toolkit-head h2 em{font-style:normal;color:var(--acid)}
.toolkit-head p{margin:0;color:rgba(246,245,238,.82);font-size:15.5px;line-height:1.7}

/* the pass: one card, so it reads as a package and not a feature list */
.toolkit-card{
  max-width:880px;margin:0 auto;border-radius:22px;padding:38px 36px 32px;
  background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.05));
  border:1px solid rgba(255,255,255,.17);
  box-shadow:0 30px 70px -30px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.14);
  backdrop-filter:blur(10px);
}
.toolkit-grid{
  list-style:none;padding:0;margin:0 0 30px;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:6px 30px;
}
.toolkit-item{
  display:flex;gap:13px;align-items:flex-start;padding:13px 12px;
  border-radius:12px;transition:background .18s ease,transform .18s ease;
}
.toolkit-item:hover{background:rgba(255,255,255,.06);transform:translateX(3px)}
.toolkit-icon{
  width:34px;height:34px;flex:none;padding:6px;border-radius:10px;margin-top:1px;
  color:var(--green);background:rgba(64,226,156,.12);border:1px solid rgba(64,226,156,.26);
}
.toolkit-item:nth-child(3n+2) .toolkit-icon{
  color:var(--acid);background:rgba(223,247,146,.12);border-color:rgba(223,247,146,.26)}
.toolkit-item:nth-child(3n) .toolkit-icon{
  color:var(--orange);background:rgba(215,145,98,.14);border-color:rgba(215,145,98,.3)}
.toolkit-item:hover .toolkit-icon{transform:scale(1.06)}
.toolkit-icon{transition:transform .18s ease}
.toolkit-item b{
  display:block;font-size:15.5px;font-weight:700;color:#fff;margin-bottom:3px;
}
.toolkit-item p{margin:0;font-size:13.5px;line-height:1.6;color:rgba(246,245,238,.72)}
.toolkit-tag{
  display:inline-block;margin-left:9px;background:var(--orange);color:#26130a;
  padding:2px 9px;border-radius:12px;font-size:9.5px;font-weight:800;
  letter-spacing:.1em;text-transform:uppercase;vertical-align:middle;
}
.toolkit-cta{
  display:flex;align-items:center;justify-content:center;gap:11px;width:100%;
  background:var(--acid);color:var(--night);border:0;border-radius:50px;
  padding:17px 30px;font-size:16px;font-weight:800;text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.toolkit-cta:hover{
  background:#eaffb8;transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(223,247,146,.26);
}
.toolkit-cta:focus-visible{outline:2px solid #fff;outline-offset:3px}
.toolkit-fine{
  margin:16px 0 0;text-align:center;font-size:12.5px;line-height:1.7;
  color:rgba(246,245,238,.62);
}
.toolkit-fine a{color:var(--acid)}

@media(max-width:700px){
  .toolkit-band{padding:52px 0 56px}
  .toolkit-card{padding:28px 20px 24px;border-radius:18px}
  .toolkit-grid{grid-template-columns:1fr;gap:2px}
}
@media(prefers-reduced-motion:reduce){
  .toolkit-item,.toolkit-cta{transition:none}
}

/* ---- category row, folded in from the old opportunity strip ---------
   The strip repeated "find your next opportunity" four sections after
   the live roles said it. Its three cards were the part worth keeping,
   so they sit under the roles now as a filter rather than a restatement. */
.roles-categories{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));
  gap:12px;margin:22px 0 4px;
}
.roles-categories .role-card{
  display:flex;flex-direction:column;gap:7px;padding:18px 19px;
  border:1px solid var(--line);border-radius:12px;background:#eef0e5;
  text-decoration:none;color:inherit;transition:border-color .16s,background .16s,transform .16s;
}
.roles-categories .role-card:hover{
  border-color:#9dbca6;background:#e7ece0;transform:translateY(-2px);
}
.roles-categories .role-top{
  display:flex;justify-content:space-between;align-items:center;
  font-size:10.5px;font-weight:700;letter-spacing:.14em;color:var(--green-deep);
}
.roles-categories .role-top span[aria-hidden]{color:#5a6d64} /* same tone as the card copy: 4.79:1 */
.roles-categories h3{margin:0;font-size:17px;font-weight:600;letter-spacing:-.4px}
.roles-categories p{margin:0;font-size:13px;line-height:1.6;color:#5a6d64} /* --muted is 4.27:1 here */
.roles-categories .text-link{font-size:12.5px;margin-top:auto;padding-top:6px}
@media(prefers-reduced-motion:reduce){.roles-categories .role-card{transition:none}}

/* ---- Younger performers band on the homepage ------------------------
   Parents are a real audience here and had no route in from the front
   page. The pitch is deliberately not sign your child up - we do not
   take under-16s - so this leads with what a child can actually do today
   and what it does not collect. */
.family-band { background: var(--paper); }
.family-head { max-width: 60ch; margin-bottom: 26px; }
.family-head h2 { margin: 10px 0 12px; line-height: 1.08; }
.family-head h2 em { font-style: normal; color: var(--green-deep, #1b7f4d); }
.family-head p { margin: 0; color: var(--ink-soft, #4a5f58); line-height: 1.6; }

.family-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}
.family-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 20px;
  border: 1px solid var(--line, rgba(18,58,53,.14));
  border-radius: 10px;
  background: #fff;
  text-decoration: none;
  color: inherit;
  transition: transform 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
}
.family-card:hover,
.family-card:focus-visible {
  transform: translateY(-2px);
  border-color: var(--green, #40e29c);
  box-shadow: 0 14px 32px rgba(18, 58, 53, .09);
}
.family-card b { font-size: 1.02rem; line-height: 1.3; }
.family-card span { color: var(--ink-soft, #4a5f58); font-size: .9rem; line-height: 1.55; }
.family-card em {
  margin-top: auto;
  padding-top: 6px;
  font-style: normal;
  font-weight: 600;
  font-size: .88rem;
  color: var(--green-deep, #1b7f4d);
}
.family-fine {
  margin: 18px 0 0;
  font-size: .84rem;
  color: var(--ink-soft, #4a5f58);
  max-width: 74ch;
}
@media (max-width: 640px) {
  .family-grid { grid-template-columns: 1fr; }
}

/* ---- Signup date of birth ------------------------------------------
   One native date input replacing three dropdowns. Sized like the other
   text fields so it does not read as a different kind of control. */
.dob-single {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.dob-single input[type=date] {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  font: inherit;
  font-size: 1rem;
  color: var(--ink, #123a35);
  background: #fff;
  border: 1px solid var(--line, rgba(18,58,53,.22));
  border-radius: 8px;
}
.dob-single input[type=date]:focus-visible {
  outline: 2px solid var(--green-deep, #1b7f4d);
  outline-offset: 1px;
}


/* The data band. Performers are being asked, everywhere, to hand over a
   likeness and a voice, and the permission to train on them is usually a
   paragraph nobody reads. privacy.html already makes these promises; this
   moves them to where somebody deciding whether to sign up can see them.
   Dark, like .studio-band, because it should read as weight not decoration. */
.trust-band { background: var(--night); color: var(--paper); }
.trust-head { max-width: 62ch; margin-bottom: 28px; }
.trust-head h2 {
  margin: 10px 0 14px;
  font-size: clamp(30px, 3.6vw, 50px);
  font-weight: 500;
  letter-spacing: -2px;
  line-height: 1.08;
}
.trust-head h2 em { font-style: normal; color: var(--acid); }
.trust-head p { margin: 0; color: #bacdc1; line-height: 1.65; font-size: 15px; }

.trust-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}
.trust-card {
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 22px;
  border: 1px solid #42614f;
  border-radius: 10px;
  background: #0d2c26;
}
.trust-card b { font-family: Manrope, sans-serif; font-size: 17px; letter-spacing: -.4px; }
.trust-card span { font-size: 13px; line-height: 1.65; color: #a9c3b4; }

.trust-quote { margin: 32px 0 0; padding-left: 20px; border-left: 2px solid var(--acid); }
.trust-quote p {
  margin: 0;
  font-family: Manrope, sans-serif;
  font-size: clamp(18px, 2.2vw, 25px);
  line-height: 1.35;
  letter-spacing: -.8px;
}
.trust-quote cite {
  display: block;
  margin-top: 11px;
  font-style: normal;
  font-size: 11px;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #8fd6ab;
}
.trust-fine { margin-top: 26px; max-width: 72ch; font-size: 13px; line-height: 1.65; color: #9ab8a7; }
.trust-fine a { color: var(--acid); font-weight: 700; }

@media (max-width: 640px) {
  .trust-head h2 { font-size: 33px; letter-spacing: -1.4px; }
  .trust-card { padding: 18px; }
  .trust-quote { margin-top: 26px; }
}

/* The password field's right-hand controls. .field-head is already a
   space-between row, so the toggle sits opposite the label, where the
   "Forgot it?" link already lived on the sign-in variant. */
.field-aside { display: inline-flex; align-items: baseline; gap: 14px; }
.pw-toggle {
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  font-size: 12px;
  font-weight: 650;
  color: var(--green-deep, #087049);
  text-decoration: underline;
  cursor: pointer;
}
.pw-toggle:hover { color: var(--ink); }

/* The date of birth field.
   Every other input on the signup form is form > label > input, so the
   form's input rule reaches it. The date field sits one level deeper -
   form > fieldset.dob-fields > label.dob-single > input - so that rule
   never applied and it fell back to a near-default box: a paler border,
   8px corners against everyone else's 5px, pure white against the form's
   off-white, and 3px taller. It looked borrowed from another site.
   This is presentation only. Nothing here touches type, min, max,
   required or the value - the field behaves exactly as before. */
.dob-fields .dob-single input[type="date"] {
  width: 100%;
  background: #fffef8;
  border: 1px solid #9aac9c;
  border-radius: 5px;
  color: var(--ink, #123f35);
  /* Held at 16px on purpose: iOS zooms the whole page when a focused
     field is under 16px, and on a date field that jump is disorienting
     mid-entry. Padding is trimmed so the height still matches its
     neighbours despite the larger type. */
  font-size: 16px;
  font-family: inherit;
  padding: 9px 12px;
  line-height: 1.3;
}

.dob-fields .dob-single input[type="date"]:hover { border-color: #7e9481; }

.dob-fields .dob-single input[type="date"]:focus {
  border-color: var(--green-deep, #087049);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(64, 226, 156, .22);
}

/* The dd/mm/yyyy skeleton reads as filled-in text until something is
   typed; mute it so it looks like the hint it is. */
.dob-fields .dob-single input[type="date"]:invalid::-webkit-datetime-edit {
  color: #7b8f83;
}

/* No calendar button on desktop.
   
   The grid picker is the wrong tool for a birthday. It opens at the max date
   and steps one month per click, with no way to jump a year: January 2009 is
   twenty clicks, and someone born in 1985 is over three hundred. Typing the
   date works fine; the button is the only thing that leads anywhere bad.
   
   Desktop only, deliberately. On a phone, tapping the field opens the OS wheel
   picker - which has a year column and is genuinely good - so the mobile rules
   below are left exactly as they are. */
@media (min-width: 641px) {
  .dob-fields .dob-single input[type="date"]::-webkit-calendar-picker-indicator {
    display: none;
  }
}

/* The picker button is a mid-grey glyph by default, which is the one
   part of the control that never matched anything on the page. */
.dob-fields .dob-single input[type="date"]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: .55;
  padding: 2px;
  border-radius: 4px;
  transition: opacity .15s ease, background-color .15s ease;
}
.dob-fields .dob-single input[type="date"]::-webkit-calendar-picker-indicator:hover {
  opacity: 1;
  background-color: rgba(8, 112, 73, .1);
}

/* Mobile: stop the form zooming, and keep the date control inside its box.
   Both browsers zoom the page when a focused field is under 16px, and
   Android Chrome does not zoom back out afterwards - you tap "Your name",
   the page jumps in, and it stays there for the rest of the form. Seven of
   the eight inputs here were 13px, so that fired on almost every field.
   16px is the threshold, not a preference. */
@media (max-width: 640px) {
  /* !important on purpose. The 13px comes from .plain-panel label, which the
     input inherits through the button/input/textarea/select {font:inherit}
     reset, and a plain rule here lost to it however specific it was made.
     The cost of losing this one is a form that zooms on every field and
     never zooms back, so it is worth the bluntness. The label text stays
     13px - only the controls change. */
  .plain-panel input,
  .plain-panel select,
  .plain-panel textarea,
  .editor-form input,
  .editor-form select,
  .editor-form textarea {
    font-size: 16px !important;
  }

  /* The native date control is drawn by the platform, and Android Chrome
     gives it a wider internal layout than desktop or the emulator do - the
     dd/mm/yyyy spinner plus the picker glyph can push past the border.
     Give it room to shrink rather than assuming it fits. */
  .dob-fields .dob-single input[type="date"] {
    min-width: 0;
    max-width: 100%;
    padding-left: 10px;
    padding-right: 6px;
    overflow: hidden;
  }
  .dob-fields .dob-single input[type="date"]::-webkit-datetime-edit {
    padding: 0;
    min-width: 0;
    overflow: hidden;
  }
  .dob-fields .dob-single input[type="date"]::-webkit-calendar-picker-indicator {
    margin-left: 4px;
    flex: 0 0 auto;
  }
}


/* One height and one corner for every control on a form.
   They had drifted to three heights and two radii - the Google button 46
   and 9px, the text inputs 47 and 5px, the date field 46, the submit
   button 48 - which reads as sloppy in a column where they sit directly
   above one another. The date control is the reason a shared min-height
   is needed rather than matched padding: its internal layout is drawn by
   the platform and is a few pixels taller than a text input at the same
   font size, and differently so on Chrome and Safari, so padding alone
   can never line them up on both. */
.plain-panel input:not([type="checkbox"]):not([type="radio"]),
.plain-panel select,
.plain-panel .auth-google-button,
.plain-panel button[type="submit"],
.editor-form input:not([type="checkbox"]):not([type="radio"]),
.editor-form select {
  min-height: 48px;
  border-radius: 8px;
}

.plain-panel textarea,
.editor-form textarea { border-radius: 8px; }

/* The date field sets its own padding above; keep it centred at the
   shared height rather than sitting high in the box. */
.dob-fields .dob-single input[type="date"] {
  min-height: 48px;
  display: flex;
  align-items: center;
}

/* The profile-readiness block above "Your CastMe".
   It carries .compact, which is padding:50px 0 0 - no bottom at all - and
   its last child is the call to action ("Add your location", "Add a
   headshot"). So the button sat flush on the section's edge with the next
   section starting immediately under it, and read as belonging to the
   thing below rather than the thing above.
   A floor proportionate to the 50px top. When the profile is complete the
   button is not rendered at all and the score line ends the block, so this
   has to sit on the section rather than on the button. */
.readiness { padding-bottom: 42px; }

@media (max-width: 640px) {
  .readiness { padding-bottom: 30px; }
}

/* The under-18 publish request, inside a .moderation-notice. Deliberately
   plain: this is a form a sixteen-year-old fills in once, not a feature. */
.minor-consent{display:flex;flex-direction:column;gap:2px;margin-top:14px}
.minor-consent label{display:block;font-weight:600;font-size:13px;margin-top:10px}
.minor-consent input{display:block;box-sizing:border-box;width:100%;max-width:420px;padding:9px;
  margin-top:5px;border:1px solid #acbfb8;border-radius:7px;font:inherit;background:#fff;color:#153e38}
.minor-consent button[type=submit]{align-self:flex-start;margin-top:16px}
.minor-consent button[disabled]{opacity:.6;cursor:wait}
.link-button{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;
  cursor:pointer}

@media(max-width:720px){
  .guardian-status-card{grid-template-columns:1fr;padding:23px 20px;gap:22px;margin-bottom:28px}
  .guardian-status-card h2{font-size:30px;letter-spacing:-1.1px}
  .guardian-status-actions{gap:12px}
  .guardian-status-actions .button{width:100%}
}

/* Photos a member has put on their Showcase. They come from the media library
   via MediaAsset.showcaseVisible, so there is one copy of each file and one
   place to manage it - the Showcase decides what is shown, not what exists. */
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:26px 0}
.photo-grid:empty{display:none}
.photo-tile{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:11px;display:block;
  background:#1d2d28;border:1px solid #ffffff1f}
@media(max-width:560px){.photo-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}}

/* Actions on a photo card.
   These were three bare text links with no horizontal padding and no gap, so
   they ran together as one line of text. Real buttons in a wrapping row: the
   Showcase action leads because it is the one people came for, the headshot
   is secondary, and deleting is quiet so it is never the easy mistake. */
.media-card .card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.media-card .card-btn{font:inherit;font-size:12.5px;font-weight:600;padding:9px 14px;min-height:40px;
  border-radius:8px;border:1px solid transparent;cursor:pointer;
  background:var(--green-deep,#16463d);color:#fff}
.media-card .card-btn:hover{filter:brightness(1.08)}
.media-card .card-btn.ghost{background:transparent;color:var(--green-deep,#16463d);border-color:#bccabf}
.media-card .card-btn.ghost:hover{background:#16463d0d;filter:none}
.media-card .card-btn.quiet{background:transparent;color:#6c7d74;border-color:transparent;font-weight:500}
.media-card .card-btn.quiet:hover{color:#8f3a24;background:#8f3a240d;filter:none}
.media-card .card-btn[disabled]{opacity:.55;cursor:wait}

/* Signup: what you get, and what we stand for.
   Placed after the form in the DOM so that on a phone - where .auth-layout is
   a single column - it lands below the form instead of pushing it down the
   screen. On a wide screen the grid lifts it into column one, under the
   headline, and the form spans both rows beside it. */
.auth-why{display:flex;flex-direction:column;gap:30px;margin-top:34px}
.auth-why-block{display:flex;flex-direction:column;gap:14px}
.auth-why .eyebrow{color:#4f6a5e}
.auth-why-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.auth-why-list li{display:flex;flex-direction:column;gap:4px;padding-left:16px;border-left:2px solid #cfdccf}
.auth-why-list.stands li{border-left-color:#a8c959}
.auth-why-list b{font-weight:700;font-size:15px;line-height:1.35;letter-spacing:-.01em}
.auth-why-list span{font-size:14px;line-height:1.65;color:#4b6157}
.auth-why-foot{font-size:13px;line-height:1.6;color:#5c7366;margin:2px 0 0}
@media(min-width:761px){
  .auth-layout{align-items:start}
  .auth-layout>.auth-aside{grid-column:1;grid-row:1}
  .auth-layout>#auth-form{grid-column:2;grid-row:1/span 2}
  .auth-layout>.auth-why{grid-column:1;grid-row:2}
}

/* The flicker was the footer.
   Nothing reserved the height of #main, so every time the app swapped its
   contents the page collapsed and the footer shot up the window before
   dropping back down. Measured with the layout-shift sources: on /signup the
   footer moved from y=706 to y=0, and on /open_roles it jumped four times -
   0 to 706, to 794, back to 706, then to 0. Total CLS 0.485 and 0.503 against
   a "poor" threshold of 0.25, while the homepage - the one route that already
   rendered immediately - sat at 0.004.
   Letting body be a column and giving #main the slack means a half-built main
   still fills the window, so the footer has nowhere to jump to. */
body{display:flex;flex-direction:column;min-height:100vh}
#main{flex:1 0 auto;min-height:calc(100vh - 96px)}
.site-header,.site-footer{flex-shrink:0}
/* The min-height is the part that matters, and body{min-height:100vh} alone
   could never have supplied it: the footer is 847px tall, so it and the header
   eat the whole viewport and #main is left reserving nothing. Reserving a
   screen directly on #main keeps the footer below the fold from the first
   paint, so the page growing underneath it never drags anything visible. */

/* Lifted out of scripts/gaeilge-mode.js, which injected both this CSS and the
   toggle markup 1400ms after load - the single largest remaining layout shift
   on every app page. The markup now ships in connected/index.html and the
   script adopts it; these rules have to be here or it would still be unstyled
   until that script ran. The script keeps its own copy for the static pages,
   which do not ship the markup. */
.gaeilge-toggle-wrap{display:inline-grid;gap:6px;align-items:center;margin-left:10px}
.gaeilge-toggle{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(23,48,66,.14);border-radius:6px;background:#fff;color:#173042;padding:4px;font:700 .72rem Manrope,system-ui,sans-serif;cursor:pointer;box-shadow:0 8px 20px rgba(18,38,55,.08)}
.gaeilge-toggle span,.gaeilge-toggle strong{padding:5px 7px;border-radius:4px;white-space:nowrap}
.gaeilge-toggle strong{background:#b9edce;color:#123c35}
.gaeilge-toggle:focus-visible{outline:2px solid #087049;outline-offset:4px}
.site-footer .footer-inner .gaeilge-toggle-wrap{margin:10px 0 0}
.site-footer .footer-inner .gaeilge-note{color:#456451;display:block}
.site-footer .footer-inner .gaeilge-note[hidden]{display:none}
.gaeilge-note{font-size:.78rem;line-height:1.45;color:#617386;max-width:260px}
footer .gaeilge-note{color:rgba(255,255,255,.7);margin-top:12px}
@media(max-width:900px){.gaeilge-note{max-width:100%}}

/* The readiness panel's two actions. Without this they are bare inline-flex
   siblings in a block container and sit flush against one another. */
.readiness-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:20px}

/* The member's face in the My CastMe header. Grouped with the heading so the
   header's space-between still pins the actions to the right. Falls back to
   initials, because most members have no headshot on day one. */
.head-lead{display:flex;align-items:center;gap:20px;min-width:0}
.head-avatar{width:68px;height:68px;flex:0 0 auto;border-radius:50%;overflow:hidden;
  display:grid;place-items:center;background:#e7ecdf;border:1px solid var(--line);
  color:#123a35;font-weight:800;font-size:24px;letter-spacing:-.02em}
.head-avatar{position:relative}
.head-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.head-avatar img[hidden]{display:none}
@media(max-width:700px){.head-lead{gap:14px}.head-avatar{width:54px;height:54px;font-size:20px}}

/* "For your work" - the industry lanes, shown to members whose discipline the
   casting feed does not serve. Deliberately plainer than the activity cards:
   these are links out to other people's pages, not CastMe features. */
.lane-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.lane-block{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}
.lane-block .eyebrow{display:block;margin-bottom:12px;color:#53685e}
.lane-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.lane-list li{border-top:1px solid #eef1ea}
.lane-list li:first-child{border-top:0}
.lane-list a{display:block;text-decoration:none;color:var(--ink,#123a35);padding:11px 0}
.lane-list a:hover strong{text-decoration:underline}
.lane-list strong{display:block;font-size:14px;font-weight:600;line-height:1.45;letter-spacing:-.01em}
.lane-list small{display:block;font-size:11px;color:#6d7f74;margin-top:4px}
@media(max-width:700px){.lane-block{padding:16px}}
/* Choosing a Showcase headshot from a list reading "Photo 1, Photo 2, Photo 3"
   meant opening each one somewhere else to find out which was which. A native
   <option> cannot carry an image, so this is a radio group wearing the
   photographs - radios and not buttons, so the form still serialises exactly
   as the <select> did and the unsaved-changes diff keeps working. */
.headshot-picker{border:0;padding:0;margin:0 0 18px;min-width:0}
.headshot-picker legend{padding:0;font-size:14px;font-weight:650}
.headshot-picker .inline-note{margin:4px 0 0}
.headshot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:12px;margin-top:12px}
.headshot-tile{display:flex;flex-direction:column;gap:6px;margin:0;cursor:pointer;min-width:0}
.headshot-tile input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.headshot-frame{display:grid;place-items:center;aspect-ratio:3/4;overflow:hidden;border-radius:12px;border:2px solid var(--line);background:var(--white);transition:border-color .15s,box-shadow .15s}
.headshot-frame img{width:100%;height:100%;object-fit:cover}
.headshot-frame-empty{font-size:12px;color:var(--muted);border-style:dashed}
.headshot-tile:hover .headshot-frame{border-color:#9fbfae}
.headshot-tile input:checked+.headshot-frame{border-color:var(--green-deep);box-shadow:0 0 0 3px #08704926}
.headshot-tile input:focus-visible+.headshot-frame{outline:3px solid #b28827;outline-offset:3px}
.headshot-caption{font-size:11px;line-height:1.35;color:var(--muted);overflow-wrap:anywhere}
.headshot-tile input:checked~.headshot-caption{color:var(--ink);font-weight:650}
/* CastMe Pulse / Backstage: scoped editorial activity module. */
.backstage{margin:44px 0 24px;color:#153b34;container-type:inline-size}
.backstage-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:23px}
.backstage-kicker{font-size:9px;letter-spacing:.18em;font-weight:700;color:#607267}
.backstage-heading h2{font-size:clamp(32px,4vw,46px);letter-spacing:-2px;line-height:1.15;margin-top:10px;font-weight:500}
.backstage-heading h2 em{font-family:Georgia,serif;font-weight:400;color:#a32965}
.backstage-status{display:flex;align-items:center;gap:8px;font-size:11px;color:#53685e;padding-bottom:6px;white-space:nowrap}
.backstage-status i{width:6px;height:6px;border-radius:50%;background:#16825b;box-shadow:0 0 0 4px #16825b10}
.backstage-grid{display:grid;grid-template-columns:1fr 1.1fr;border:1px solid #d4ddd2;border-radius:20px;overflow:hidden;background:#fffef9}
.backstage-scene{position:relative;min-height:470px;background:radial-gradient(ellipse at 52% 27%,#243c36 0,#101f1d 48%,#0b1715 100%);overflow:hidden;color:#fff9ed;padding:28px 32px;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate}
.backstage-scene:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#ffffff02 3px 4px);pointer-events:none;z-index:-1}
.backstage-scene-label{font-size:9px;letter-spacing:.21em;color:#bccbc3;z-index:2}
.backstage-sculpture{position:absolute;top:20px;left:0;right:0;height:260px;perspective:850px;pointer-events:none}
.backstage-orbit{position:absolute;left:50%;top:48%;width:180px;height:180px;margin:-90px;transform-style:preserve-3d;transform:rotateX(63deg) rotateZ(-28deg);animation:backstage-turn 22s linear infinite}
.backstage-orbit i{position:absolute;inset:0;border:9px solid #f29ab7;border-radius:50%;box-shadow:inset 2px 2px 4px #fff5,2px 4px 8px #0007,0 0 22px #ef6a9918;transform:rotateY(0deg);background:linear-gradient(130deg,#ffb9d005,transparent);backface-visibility:visible}
.backstage-orbit i:nth-child(2){transform:rotateY(30deg);border-color:#d578a7}
.backstage-orbit i:nth-child(3){transform:rotateY(60deg);border-color:#f2afc6}
.backstage-orbit i:nth-child(4){transform:rotateY(90deg);border-color:#af507e}
.backstage-orbit i:nth-child(5){transform:rotateY(120deg);border-color:#e88cac}
.backstage-orbit i:nth-child(6){transform:rotateY(150deg);border-color:#ffc2d2}
.backstage-core{position:absolute;left:50%;top:48%;width:64px;height:64px;margin:-32px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fffbe2,#e2f799 30%,#518060 68%,#173d31);box-shadow:inset -7px -9px 13px #061b2859,0 0 35px #dff79233}
.backstage-halo{position:absolute;left:50%;top:50%;width:250px;height:250px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#e477a81c,transparent 66%)}
.backstage-shadow{position:absolute;bottom:6px;left:50%;width:160px;height:14px;transform:translateX(-50%);border-radius:50%;background:#0008;filter:blur(9px)}
.backstage-star{position:absolute;color:#e6d4be;font-size:22px;font-weight:300}.star-one{left:19%;top:28%}.star-two{right:18%;top:67%;font-size:13px;color:#d88faa}
.backstage-scene-copy{position:relative;z-index:2;margin-top:240px}
.backstage-scene-copy h3{font-size:clamp(27px,3vw,38px);font-weight:500;letter-spacing:-1.4px;line-height:1.08;color:#fff9ed}
.backstage-scene-copy p{margin-top:12px;font-size:12px;line-height:1.7;color:#bdcbc4}
.backstage-scene-copy a{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff26;margin-top:22px;padding-top:16px;font-size:12px;font-weight:600;color:#f4bed3}
.backstage-scene-copy a:hover{color:#fff}.backstage-scene-copy a span{font-size:20px}
.backstage-feed{display:flex;flex-direction:column;min-width:0;padding:30px 30px 20px}
.backstage-feed-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:22px;border-bottom:1px solid #e1e5dc}
.backstage-feed-heading h3{font-size:17px;font-weight:600;letter-spacing:-.5px}.backstage-feed-heading>span{font-size:8px;letter-spacing:.13em;color:#6a796e}
.backstage-feed ol{list-style:none;margin:0;padding:0;flex:1}
.backstage-event{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;padding:23px 0;border-bottom:1px solid #e7e9e0}
.backstage-event-icon{width:42px;height:48px;border-radius:9px;display:grid;place-items:center;background:#eeeade;color:#726844;transform:rotate(-4deg)}
.backstage-event[data-kind="media"] .backstage-event-icon,.backstage-event[data-kind="track"] .backstage-event-icon,.backstage-event[data-kind="film"] .backstage-event-icon,.backstage-event[data-kind="images"] .backstage-event-icon{background:#f4e6ed;color:#964867;transform:rotate(4deg)}
.backstage-event[data-kind="showcase"] .backstage-event-icon,.backstage-event[data-kind="writing"] .backstage-event-icon,.backstage-event[data-kind="project"] .backstage-event-icon{background:#e5efcf;color:#4c6d38}
.backstage-event-icon svg{width:21px;height:21px;stroke-width:1.4}
.backstage-event h4{margin:0;font:600 14px/1.4 'DM Sans',sans-serif;letter-spacing:-.2px;color:#173c34}
.backstage-event p{margin-top:4px;color:#627568;font-size:11px;line-height:1.4}
.backstage-event time{font-size:10px;color:#627568;white-space:nowrap;align-self:start;padding-top:6px}
.backstage-discover{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:11px;font-weight:600;padding-top:23px}.backstage-discover>span:last-child{font-size:21px}.backstage-discover:hover{color:#a32965}
.backstage-foot{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 4px;border-bottom:1px solid #d7dfd3}
.backstage-foot-note{font-size:11px;line-height:1.7;color:#617568}.backstage-foot-note strong{color:#264b3f;font-weight:600}
.backstage-metrics{display:flex;gap:clamp(20px,4vw,60px)}.backstage-metrics>div{display:flex;align-items:center;gap:10px}.backstage-metrics strong{font-size:28px;font-weight:500;letter-spacing:-1.5px;font-variant-numeric:tabular-nums}.backstage-metrics span{font-size:10px;color:#617568;max-width:85px;line-height:1.5}
@keyframes backstage-turn{from{transform:rotateX(63deg) rotateZ(-28deg)}to{transform:rotateX(63deg) rotateZ(332deg)}}
@media(prefers-reduced-motion:reduce){.backstage-orbit{animation:none}}
@container(max-width:730px){.backstage-grid{grid-template-columns:1fr}.backstage-scene{min-height:330px;padding:26px}.backstage-sculpture{left:40%;top:36px;height:240px}.backstage-scene-copy{margin-top:60px;max-width:55%}.backstage-scene-copy h3{font-size:29px}.backstage-scene-copy p{max-width:190px}.backstage-feed{padding:24px}.backstage-event{padding:19px 0}.backstage-status{font-size:10px}.backstage-metrics{gap:22px}.backstage-metrics>div{display:block}.backstage-metrics span{display:block;max-width:92px}.backstage-foot{gap:15px}}
@container(max-width:450px){.backstage-heading{align-items:start;gap:8px}.backstage-kicker{font-size:7px;letter-spacing:.12em}.backstage-heading h2{font-size:34px}.backstage-status{font-size:9px;max-width:95px;white-space:normal;line-height:1.5;margin-top:22px}.backstage-status i{flex:0 0 6px}.backstage-scene{min-height:440px;padding:23px}.backstage-sculpture{left:0;top:18px;height:235px}.backstage-scene-copy{margin-top:222px;max-width:none}.backstage-scene-copy p{max-width:none}.backstage-scene-copy h3 br{display:none}.backstage-scene-copy h3{font-size:28px;max-width:260px}.backstage-scene-copy p br{display:none}.backstage-feed{padding:22px 18px}.backstage-feed-heading h3{font-size:16px}.backstage-feed-heading>span{font-size:7px}.backstage-event{grid-template-columns:34px minmax(0,1fr);gap:5px 12px;padding:16px 0}.backstage-event-icon{grid-row:1/3;width:34px;height:41px}.backstage-event time{grid-column:2;padding:0}.backstage-event h4{font-size:13px}.backstage-event p{font-size:11px}.backstage-foot-note{display:none}.backstage-metrics{width:100%;justify-content:space-between;gap:12px}.backstage-metrics strong{font-size:25px}.backstage-metrics span{font-size:9px}.backstage{margin-top:30px}}

/* Keep the core at the orbit centre with correct 3D occlusion. */
.backstage-orbit .backstage-core{left:50%;top:50%;transform:rotateZ(28deg) rotateX(-63deg);animation:backstage-core-face 22s linear infinite}
@keyframes backstage-core-face{from{transform:rotateZ(28deg) rotateX(-63deg)}to{transform:rotateZ(-332deg) rotateX(-63deg)}}
@media(prefers-reduced-motion:reduce){.backstage-orbit .backstage-core{animation:none}}

/* Activity shares the sculpture stage. */
.backstage-grid{background:#101f1d;border-color:#294139}
.backstage-scene{background:radial-gradient(ellipse at 52% 27%,#243c36 0,#101f1d 64%)}
.backstage-feed{background:linear-gradient(135deg,#192d2700,#203b302e);color:#fff9ed;border-left:1px solid #ffffff12}
.backstage-feed-heading{border-bottom-color:#ffffff18}
.backstage-feed-heading h3{color:#fff9ed}
.backstage-feed-heading>span{color:#aec4b7}
.backstage-event{border-bottom-color:#ffffff14;position:relative}
.backstage-event h4{color:#f5f5e9}
.backstage-event p,.backstage-event time{color:#b6c9bd}
.backstage-event-icon{background:#dff79217;color:#deefa9;border:1px solid #dff79229;position:relative}
.backstage-event[data-kind="media"] .backstage-event-icon,.backstage-event[data-kind="track"] .backstage-event-icon,.backstage-event[data-kind="film"] .backstage-event-icon,.backstage-event[data-kind="images"] .backstage-event-icon{background:#ef9cbd16;color:#f2b4ce;border-color:#ef9cbd2c}
.backstage-event[data-kind="showcase"] .backstage-event-icon,.backstage-event[data-kind="writing"] .backstage-event-icon,.backstage-event[data-kind="project"] .backstage-event-icon{background:#dff79217;color:#deefa9}
.backstage-event-icon:after{content:'';position:absolute;right:-3px;top:-3px;width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 9px currentColor;animation:backstage-signal 5s ease-in-out infinite}
.backstage-event:nth-child(2) .backstage-event-icon:after{animation-delay:1.2s}
.backstage-event:nth-child(3) .backstage-event-icon:after{animation-delay:2.4s}
.backstage-event:nth-child(4) .backstage-event-icon:after{animation-delay:3.6s}
.backstage-discover{color:#f4bed3}.backstage-discover:hover{color:#fff9ed}
@keyframes backstage-signal{0%,70%,100%{opacity:.45;box-shadow:0 0 3px currentColor}25%{opacity:1;box-shadow:0 0 12px currentColor}}
@container(max-width:730px){.backstage-feed{border-left:0;border-top:1px solid #ffffff18}}
@media(prefers-reduced-motion:reduce){.backstage-event-icon:after{animation:none}}
/* Who is looking. The number is the message, so it gets the weight the old
   headline had, and the trend sits under it quietly rather than competing. */
.workspace-next .views-head{text-wrap:balance}
.workspace-next .views-head b{font-size:1.5em;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.workspace-next .views-trend{font-size:13px;opacity:.72;margin-top:6px}
/* From the room. The number is the message, so it carries the weight the old
   headline had, and the supporting line sits under it rather than competing. */
.workspace-next .room-head{text-wrap:balance}
.workspace-next .room-head b{font-size:1.45em;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.workspace-next .room-note{font-size:13px;opacity:.72;margin-top:8px;max-width:38ch}

/* Captions. The state sits under the clip it belongs to, and the cue styling
   matters as much as the track: default browser cues are small white text on
   nothing, which disappears over a bright shot. */
.caption-state{font-size:12px;line-height:1.6;margin:8px 0 0}
.caption-state.is-on{color:var(--green-deep);font-weight:600}
.caption-state.is-working{color:var(--muted)}
.caption-state.is-failed{color:#802e19}
.media-card video::cue{background:rgba(8,31,27,.85);color:#f4f7ec;font-size:90%;line-height:1.4}

/* The draft banner. A Showcase that nobody can see should say so where the
   member lands, not 41,000 characters further down the page. */
.draft-banner{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:26px 0 8px;padding:22px 26px;
  border:1px solid #c98570;border-left:3px solid #b4573a;border-radius:9px;background:#fff3ec}
.draft-banner>div{flex:1;min-width:230px}
.draft-banner strong{font-size:15px;color:#7a2f16}
.draft-banner p{font-size:13px;line-height:1.6;color:#8a4a32;margin-top:6px;max-width:56ch}
.draft-banner .button{flex-shrink:0}
@media(max-width:620px){.draft-banner{padding:18px 20px;gap:16px}.draft-banner .button{width:100%}}

/* What you actually need, said before the first field rather than discovered
   by scrolling. */
.minimum-note{padding:16px 18px;background:#eef3e8;border-left:3px solid #4c8760;border-radius:6px}
.minimum-note strong{font-size:14px;display:block;margin-bottom:6px}
.minimum-note p{font-size:12.5px;line-height:1.65;color:#41604f;margin:0}
.minimum-note em{font-style:normal;font-weight:600}

/* Hints under a label, for fields that had nothing to say for themselves. */
.field-hint{font-size:11.5px;font-weight:400;line-height:1.55;color:var(--muted);margin:-3px 0 2px}

/* The Save button is at the end of a long form. This says, where it cannot be
   missed, that the work is not kept yet. */
.unsaved-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;
  justify-content:center;gap:18px;flex-wrap:wrap;padding:14px 20px;background:#123f35;color:#eef6f0;
  box-shadow:0 -2px 18px rgba(8,31,27,.22)}
.unsaved-bar span{font-size:14px}
.unsaved-bar .button{padding:10px 18px;font-size:13px;background:#bdf5cf;color:#0d3326;border:0}
.unsaved-bar[hidden]{display:none}
@media(max-width:560px){.unsaved-bar{gap:10px;padding:12px 16px}.unsaved-bar span{font-size:13px}}

/* The way out of the unsaved bar. Quieter than Save on purpose, and it asks
   once before it undoes anything. */
.unsaved-bar .link-button{background:none;border:0;padding:8px 4px;font-size:13px;color:#bdf5cf;
  text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-family:inherit}
.unsaved-bar .link-button:hover{color:#eef6f0}
.unsaved-bar .link-button.is-armed{color:#ffd7c2;font-weight:600;text-decoration:none}

/* A performer works under the name they chose, so that leads the page and
   forms the address. The name on the account sits under it, quieter, so a
   casting director can see the two belong to one person. */
.performer-realname{font-size:14px;letter-spacing:.02em;color:#9fc2ad;margin:-14px 0 16px}
.showcase-authenticity{margin:5rem 0 2rem;padding:3rem 3.25rem;display:grid;grid-template-columns:3.5rem minmax(0,680px);gap:1.75rem;align-items:start;background:#e6f0e8;border:1px solid rgba(23,63,53,.14)}
.showcase-authenticity-mark{width:2.75rem;height:2.75rem;display:grid;place-items:center;border:1px solid #173f35;border-radius:50%;color:#173f35;font-size:1.2rem}
.showcase-authenticity h2{max-width:620px;margin:.55rem 0 1rem;color:#173f35;font-size:clamp(2rem,4vw,4rem);line-height:.98;letter-spacing:-.04em}
.showcase-authenticity p{max-width:700px;margin:.75rem 0;color:#48665d;line-height:1.65}
.showcase-authenticity a{color:#173f35;font-weight:700;text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.showcase-authenticity{margin:3rem 0 1rem;padding:2rem 1.35rem;display:block}.showcase-authenticity-mark{margin-bottom:1.5rem}.showcase-authenticity h2{font-size:2.35rem}}

/* Showcase briefs: a clear project summary, with scoped email assurance. */
.showcase-enquiry{max-width:780px;scroll-margin-top:100px}
.showcase-enquiry>h2{margin-bottom:20px}
.showcase-enquiry .plain-panel{--ink:#143f3a;--muted:#50655b;--line:#d5dfd2;color:#143f3a;background:#fffdf6;border:1px solid #ccd8ca;border-radius:12px;padding:clamp(20px,4vw,36px);gap:24px}
.showcase-enquiry .enquiry-gate{background:#f3f6e9;border:1px solid #d7e3c7}
.enquiry-gate p{max-width:58ch;margin:0;line-height:1.65}
.enquiry-actions{display:flex;flex-wrap:wrap;gap:12px}
.enquiry-sender{padding:0 0 22px;border-bottom:1px solid var(--line,#ddd)}
.enquiry-sender p{margin:10px 0 0;overflow-wrap:anywhere}
.enquiry-badge{display:inline-flex;border-radius:30px;background:#e7f1da;color:#25422e;padding:5px 12px;font-size:12px;font-weight:700}
.enquiry-brief fieldset{min-width:0;margin:0;padding:0;border:0}
.enquiry-brief legend{font-weight:700;font-size:18px;margin-bottom:16px}
.enquiry-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.enquiry-wide{grid-column:1/-1}
.enquiry-brief label{min-width:0}
.enquiry-brief input,.enquiry-brief select,.enquiry-brief textarea{max-width:100%;min-width:0;box-sizing:border-box;font-size:16px}
.enquiry-confirm{align-items:start;font-weight:400;line-height:1.55}
.enquiry-confirm input{margin-top:4px;flex:0 0 auto}
@media(max-width:560px){.enquiry-fields{grid-template-columns:1fr}.enquiry-actions{flex-direction:column}.enquiry-actions .button{width:100%;justify-content:center}.showcase-enquiry .button.dark{justify-self:stretch}.showcase-enquiry .plain-panel{padding:20px}}

/* Frame this tall uploaded screenshot on the person rather than phone controls. */
.member-card img[src$="img-20260722091850-338479a535a45c8a.jpg"],.cmh-performer-photo img[src$="img-20260722091850-338479a535a45c8a.jpg"]{object-position:50% 50%}

/* Keep the public portrait inside the photograph at every viewport width. */
.performer-world .performer-portrait img[src$="img-20260722091850-338479a535a45c8a.jpg"]{width:100%;height:auto;max-height:none;aspect-ratio:4/5;object-fit:cover;object-position:50% 50%}
