
:root{--ink:#34224c;--purple:#65408b;--mint:#ffca9a;--paper:#fbf9f5;--line:#ded8e4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit}a:focus-visible,summary:focus-visible{outline:3px solid #157f74;outline-offset:5px}.skip{position:absolute;left:20px;top:-80px;background:white;padding:12px;z-index:5}.skip:focus{top:8px}.wrap{max-width:1180px;margin:auto;padding:0 32px}header{border-bottom:1px solid var(--line);background:var(--paper)}nav{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;font-size:18px;font-weight:800;letter-spacing:.06em;line-height:1.1;display:flex;gap:12px;align-items:center}.brand small{display:block;font-size:10px;letter-spacing:.24em;margin-top:7px}.mark{font-size:38px;color:var(--purple)}.links{display:flex;gap:28px;align-items:center}.links a{text-decoration:none;font-size:14px;font-weight:700}.links a:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:15px 24px;border-radius:6px;background:var(--ink);color:white;text-decoration:none;font-weight:700;font-size:15px;transition:background .2s,transform .2s}.btn:hover{background:var(--purple);transform:translateY(-2px)}.btn.light{background:var(--mint);color:var(--ink)}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:800}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:65px;align-items:center;padding-top:65px;padding-bottom:65px}.hero h1{font-size:clamp(52px,6.7vw,88px);line-height:1.02;letter-spacing:-.06em;margin:25px 0}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--purple)}.hero p{font-size:18px;max-width:490px;color:#675d70}.hero .small{font-size:13px;margin-top:18px}.art{background:#e8dfef;border-radius:160px 160px 12px 12px;position:relative;min-height:500px;overflow:hidden;display:flex;align-items:center;justify-content:center}.art svg{width:100%;height:460px}.art-label{position:absolute;bottom:25px;left:25px;right:25px;background:var(--paper);border-radius:8px;padding:15px 20px;display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:13px}.strip{background:var(--mint);padding:20px 0}.strip .wrap{display:flex;justify-content:space-between;gap:15px;font-size:13px;font-weight:700}.section{padding-top:85px;padding-bottom:85px}h2{font-size:clamp(32px,4vw,48px);line-height:1.12;letter-spacing:-.04em;margin:15px 0 25px}h3{font-size:23px;letter-spacing:-.02em;line-height:1.2}.intro{display:grid;grid-template-columns:1fr 1fr;gap:80px}.intro p{color:#675d70;font-size:17px}.pill{display:inline-block;border:1px solid var(--line);border-radius:40px;padding:7px 15px;font-size:12px;font-weight:700}.disciplines{background:#f0ebf4}.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:35px}.section-head p{max-width:330px;color:#675d70}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.discipline{padding:28px 24px;background:var(--paper);border-top:4px solid var(--purple);border-radius:4px}.discipline .number{font-size:12px;letter-spacing:.15em;color:#776583}.discipline p{font-size:15px;color:#675d70}.icon{height:75px;font-size:50px;color:var(--purple);display:flex;align-items:center;font-family:Georgia,serif}.training{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.schedule{padding:35px;background:var(--ink);color:white;border-radius:10px}.schedule h3{font-size:29px;margin-top:10px}.schedule .row{display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid #ffffff30;gap:20px}.schedule .note{color:#e2d7eb;font-size:13px}.text-link{font-weight:700;text-underline-offset:5px}.training p{color:#675d70}.faqs{margin-top:60px;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:22px 0}summary{cursor:pointer;font-weight:700}details p{max-width:780px;color:#675d70;margin-bottom:0}.join{background:var(--purple);color:white;text-align:center;padding:70px 30px}.join h2{max-width:700px;margin:20px auto}.join p{max-width:560px;margin:0 auto 28px;color:#f0e8f6}.join small{display:block;margin-top:18px;color:#e8dbf2}footer .wrap{padding-top:30px;padding-bottom:30px;display:flex;justify-content:space-between;gap:25px;font-size:12px;color:#675d70}footer a{font-weight:700}.external::after{content:' ↗'}@media(max-width:850px){.hero{gap:30px}.art{min-height:400px}.art svg{height:380px}.links{gap:15px}.grid{grid-template-columns:repeat(2,1fr)}.intro,.training{gap:35px}.strip .wrap{flex-wrap:wrap}.section{padding-top:60px;padding-bottom:60px}}@media(max-width:700px){.wrap{padding:0 22px}nav{min-height:85px}.links a:not(:last-child){display:none}.links .btn{font-size:12px;padding:12px}.brand{font-size:13px}.brand small{font-size:8px}.mark{font-size:30px}.hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:40px}.hero h1{font-size:61px}.art{min-height:370px;border-radius:130px 130px 12px 12px}.art svg{height:370px}.intro,.training{grid-template-columns:1fr;gap:20px}.section-head{display:block}.grid{gap:12px}.discipline{padding:24px 18px}.schedule{padding:26px}.strip .wrap{justify-content:center;font-size:12px}.strip span{width:45%;text-align:center}footer .wrap{flex-direction:column;gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
header .brand{gap:12px}.logo-feature{width:100%;display:block;aspect-ratio:1;object-fit:cover}.art{border-radius:160px 160px 12px 12px;background:#250832}.art-label{box-shadow:0 4px 20px #0002}@media(max-width:700px){header .brand img{width:42px;height:42px}.art{min-height:0}}

/* Purple and orange theme drawn from the supplied troupe logo. */
:root{--ink:#fff8ff;--purple:#ffb15c;--mint:#ffc58b;--paper:#250a34;--line:#ffffff30}
body{background:radial-gradient(ellipse at 55% 0%,#652174 0,transparent 48%),radial-gradient(ellipse at 5% 70%,#4c175f 0,transparent 45%),#210829;color:#fff8ff}
header{background:#220b30eF;border-color:#ffffff26}
.brand,.hero h1,h2,h3,summary{color:#fff8ff}
.brand small,.eyebrow,.hero h1 em,.icon,.discipline .number,.text-link,footer a{color:#ffc58b}
.hero p,.intro p,.section-head p,.discipline p,.training p,details p,footer .wrap{color:#eadcee}
.hero .small{color:#eadcee}
.btn,.btn.light{background:#ffc58b;color:#2b0c36;border:1px solid #ffc58b}
.btn:hover,.btn.light:hover{background:#ffdbb7;color:#2b0c36}
.strip{background:#3c124e;border-top:1px solid #a365b44d;border-bottom:1px solid #a365b44d;color:#ffce9d}
.art{background:#250832;border:1px solid #a365b44d}
.art-label{background:#2a0b39f5;color:#fff8ff;border:1px solid #ffffff30}
.art-label span:last-child{color:#ffc58b}
.pill{background:#421650;color:#ffdfbb;border-color:#a979bd80}
.disciplines{background:linear-gradient(135deg,#36103feF,#521963d9);border-top:1px solid #ffffff16;border-bottom:1px solid #ffffff16}
.discipline{background:#270c36;border-top-color:#ffb15c}
.schedule{background:linear-gradient(135deg,#48165a,#280b38);border:1px solid #b67acc66;color:#fff8ff}
.schedule strong{color:#ffce9d}.schedule .note{color:#eadcee}
.join{background:radial-gradient(ellipse at 50% 0%,#7e3194,transparent 70%),linear-gradient(135deg,#441155,#290a37);border-top:1px solid #b67acc66;color:#fff8ff}
.join p,.join small{color:#f0e4f4}.join small a{color:#ffce9d}
footer{background:#1b0625}a:focus-visible,summary:focus-visible{outline-color:#ffc58b}.skip{background:#ffc58b;color:#2b0c36}
[aria-labelledby="awards-title"]>p{color:#eadcee!important}


.page-intro{padding-top:65px;padding-bottom:35px}.page-intro p{max-width:680px;color:#eadcee;font-size:18px}.page-intro h1{font-size:clamp(40px,6vw,70px);line-height:1.05;letter-spacing:-.045em;margin:20px 0}.page-content{padding-bottom:70px}.filters{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 30px}.filter{border:1px solid #b67acc88;color:#eadcee;border-radius:30px;padding:10px 20px;background:#30103f;cursor:pointer;font:inherit}.filter[aria-pressed=true]{background:#ffc58b;color:#2b0c36}.empty{padding:45px;background:#351044;border:1px dashed #b67acc77;border-radius:12px;text-align:center}.empty p{color:#eadcee}.gallery-grid,.award-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.content-card{background:#2c0c3b;border:1px solid #b67acc55;border-radius:12px;overflow:hidden}.content-card img{width:100%;height:250px;object-fit:cover;display:block}.card-body{padding:24px}.card-body h2,.card-body h3{font-size:25px;margin:12px 0}.card-body p{color:#eadcee;margin:10px 0;white-space:pre-line}.card-meta{color:#ffc58b;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.award-symbol{font-size:48px;color:#ffc58b;padding:22px 24px 0}.photo-button{display:block;background:none;border:0;padding:0;cursor:pointer;width:100%}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ffc58b;outline-offset:3px}dialog{background:#260c35;color:white;border:1px solid #b67acc88;border-radius:12px;max-width:min(900px,95vw);padding:20px}dialog::backdrop{background:#100318dd}dialog img{width:100%;max-height:70vh;object-fit:contain}.notice{color:#ffc58b;margin:15px 0;white-space:pre-wrap}.error{color:#ffd1cd}.panel{background:#30103f;border:1px solid #b67acc55;border-radius:12px;padding:30px;margin-bottom:24px}.panel h2{font-size:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid .full{grid-column:1/-1}label{display:block;font-size:14px;font-weight:700;color:#ffdfbb}input,select,textarea{width:100%;display:block;margin-top:8px;background:#1e082b;color:#fff8ff;border:1px solid #9974ab;border-radius:6px;padding:12px;font:inherit}textarea{min-height:110px}input[type=checkbox]{width:auto;display:inline;margin-right:10px}.btn{cursor:pointer;font-family:inherit}.btn:disabled{opacity:.6;cursor:wait}.secondary{background:transparent;color:#ffdfbb;border:1px solid #b67acc88}.secondary:hover{background:#52206a;color:white}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.help{font-size:13px;color:#eadcee}.manage-list{display:grid;gap:12px}.manage-item{background:#250a34;border:1px solid #b67acc44;padding:18px;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:16px}.manage-item p{margin:0;color:#eadcee;font-size:13px}.manage-item .actions{margin:0}.manage-item .btn{padding:10px 15px;font-size:12px}.manage-item img{width:65px;height:65px;object-fit:cover;border-radius:5px}.preview-photo{max-width:260px;max-height:200px;margin-top:14px;border-radius:8px}.topline{display:flex;justify-content:space-between;gap:20px;align-items:center}.password-help{font-size:13px;color:#eadcee}header .links{gap:18px}header .links a{font-size:13px}header .links a[aria-current=page]{color:#ffc58b;text-decoration:underline;text-underline-offset:6px}[hidden]{display:none!important}@media(max-width:850px){.gallery-grid,.award-grid{grid-template-columns:repeat(2,1fr)}header .links{gap:12px}}@media(max-width:700px){header nav{flex-wrap:wrap;padding-top:15px;padding-bottom:15px;gap:15px}header .links{width:100%;justify-content:space-between}header .links a:not(:last-child){display:inline}header .links .btn{padding:9px 12px}header .links a{font-size:12px}.gallery-grid,.award-grid,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.panel{padding:22px}.manage-item,.topline{align-items:flex-start;flex-direction:column}.empty{padding:30px}.page-intro{padding-top:40px}}

/* Compact chapter navigation for the main page. */
.chapter-bar{position:sticky;top:0;z-index:3;background:#260b35f5;border-top:1px solid #ffffff12;border-bottom:1px solid #b67acc55;backdrop-filter:blur(12px)}.chapters{min-height:0;display:flex;justify-content:flex-start;align-items:center;gap:22px;padding-top:11px;padding-bottom:11px}.chapter-label{flex-shrink:0;color:#ffc58b;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.chapter-links{display:flex;align-items:center;gap:7px;overflow-x:auto;white-space:nowrap;scrollbar-width:thin;scrollbar-color:#8858a2 transparent}.chapter-links a{padding:6px 11px;text-decoration:none;font-size:12px;font-weight:700;border-radius:20px;color:#eadcee;flex-shrink:0}.chapter-links a:hover,.chapter-links a:focus-visible{background:#663075;color:#fff8ff}.chapter-links a:focus-visible{outline-offset:-2px}@media(max-width:700px){.chapters{gap:10px;padding-top:8px;padding-bottom:8px}.chapter-label{font-size:10px}.chapter-links{gap:3px}.chapter-links a{padding:6px 9px;font-size:11px}}

/* Display the complete supplied logo on every page. */ .art{border-radius:8px;min-height:0}.logo-feature{object-fit:contain}

/* Floating return to the navigation menu. */
.back-to-top{position:fixed;left:18px;bottom:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:10;display:inline-flex;align-items:center;gap:9px;padding:12px 16px;border-radius:999px;background:#ffc58b;color:#2b0c36;border:1px solid #ffdfbb;text-decoration:none;font-size:13px;font-weight:800;box-shadow:0 4px 18px #0005}.back-to-top span{font-size:20px;line-height:1}.back-to-top:hover{background:#ffdfbb}.back-to-top:focus-visible{outline:3px solid #fff;outline-offset:3px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(max-width:700px){.back-to-top{left:12px;bottom:12px;bottom:calc(12px + env(safe-area-inset-bottom));padding:10px 13px;font-size:12px}}


.news-preview{padding-top:60px;padding-bottom:60px}.news-preview p{max-width:680px;color:#eadcee}.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.news-grid .card-body h2{font-size:30px}.news-grid .text-link{display:inline-block;margin-top:10px}@media(max-width:700px){.news-grid{grid-template-columns:1fr}header .links{flex-wrap:wrap;gap:12px}.news-grid .card-body h2{font-size:26px}}
