body{background:#f7f7f8}h1,h2{font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:750;letter-spacing:-.055em}h2 em{font-style:normal!important;color:#b91e35}.home header{position:absolute;top:0;left:0;right:0;z-index:5;background:linear-gradient(#101014d9,#10101400);border:0;padding:25px 5%;color:#fff}.brand-logo{width:56px;height:56px;object-fit:contain;background:#fff;border-radius:50%;padding:3px}.brand{font-size:14px;letter-spacing:.1em}.brand small{color:#d1d1d8}.home nav a:last-child{background:#bb2037;border-color:#bb2037;color:#fff;padding:11px 17px}.menu-toggle{display:none}.photo-hero{display:block;position:relative;height:min(960px,95svh);min-height:660px;padding:0;isolation:isolate;background:#17171b;overflow:hidden}.hero-full-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 74%;z-index:-3}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#05050b8c 0%,#05050b13 30%,#05050b08 60%,#05050b95 100%),linear-gradient(90deg,#08080d7a 0%,#08080d0a 70%)}.photo-hero .hero-copy{position:absolute;top:145px;left:6%;padding:0;max-width:670px}.photo-hero .eyebrow{font-size:12px;letter-spacing:.2em;color:#fff;text-shadow:0 2px 10px #0007}.photo-hero h1{font-size:clamp(64px,6.7vw,105px);line-height:.96;font-weight:800;color:#fff;letter-spacing:-.06em;margin-bottom:20px;text-shadow:0 3px 30px #0004}.photo-hero h1 span{color:#ff3958}.photo-hero .lead{color:#fff;font-size:17px;line-height:1.6;text-shadow:0 1px 10px #0009}.hero-actions{display:flex;gap:26px;align-items:center;margin-top:27px}.photo-hero .button{background:#c4203a;color:#fff;box-shadow:none;border-radius:4px;padding:14px 22px;font-size:14px}.photo-hero .button:hover{background:#a1182e}.hero-secondary{color:white;font-size:14px;text-decoration:none;border-bottom:1px solid #fff8;padding:5px 0}.hero-foot{position:absolute;bottom:28px;left:6%;right:6%;display:flex;justify-content:space-between;gap:20px;align-items:center;color:#fff;font-size:12px;letter-spacing:.08em}.hero-foot span:first-child{font-weight:700}.hero-foot a{font-size:12px;text-decoration:none;border-bottom:1px solid #ffffff66;letter-spacing:0}.identity-strip{background:#bd2037;display:flex;align-items:center;justify-content:space-around;gap:22px;padding:20px 5%;color:#fff;font-size:12px;font-weight:650;letter-spacing:.12em}.section{max-width:1320px;margin:0 auto;padding:90px 5%;border:0}.gallery-section{background:#f7f7f8}.section-heading h2{font-size:clamp(38px,4.4vw,66px);line-height:1.04}.section-heading h2 span{color:#b91e35}.section-heading>p{font-size:16px;max-width:340px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.photo-card{position:relative;margin:0;padding:0;border:0;aspect-ratio:4/3;overflow:hidden;border-radius:5px;cursor:pointer;background:#18181c;color:white;text-align:left}.photo-card:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.photo-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}.photo-card:hover img{transform:scale(1.04)}.photo-card:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#05050bcc);pointer-events:none}.photo-card>span{position:absolute;bottom:22px;left:22px;right:20px;z-index:1;font-size:20px;font-weight:600;line-height:1.3}.photo-card small{display:block;font-size:10px;letter-spacing:.14em;margin-bottom:7px;font-weight:500;color:#efeff5}.photo-dialog{max-width:1200px;width:94vw;max-height:94svh;background:#16161b;color:white;border:0;padding:18px;border-radius:8px;overflow:auto}.photo-dialog::backdrop{background:#050509ed}.photo-dialog-bar{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:15px}.photo-dialog-bar p{margin:0;font-size:16px}.photo-dialog button{background:#ffffff10;color:white;border:1px solid #ffffff40;border-radius:4px;padding:9px 16px;font-size:14px;cursor:pointer}.photo-dialog>img{display:block;width:100%;height:min(70svh,740px);object-fit:contain}.photo-dialog-controls{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:13px}.agenda{background:#fff;border-radius:12px;box-shadow:0 12px 44px #19192006;max-width:1188px;margin-bottom:90px;padding:55px}.calendar{box-shadow:none}.about{background:#fff;border:0;border-radius:0;max-width:1320px;padding:0 5% 90px;gap:70px;margin:0 auto}.about h2{font-size:46px;line-height:1.12}.about .about-text{padding-top:22px}.history{background:#141419;max-width:none;padding:85px max(5%,calc((100vw - 1188px)/2));margin:0;border-radius:0;box-shadow:none}.history h2{font-size:58px}.history h2 em{color:#f1647c}.history .eyebrow{color:#f1647c}.timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.timeline article{display:block;background:#24242b;border:1px solid #37373e;border-radius:6px;padding:26px}.history .year{display:block;color:#fa496a;font-family:system-ui,sans-serif;font-size:37px;font-weight:700;letter-spacing:-.055em;margin-bottom:21px}.history .tag{color:#bdb5c0;font-size:10px}.timeline h3{font-size:20px;font-weight:650;margin-top:11px}.timeline p{font-size:15px;line-height:1.7;color:#d1cbd5}.history-note{margin-top:35px;font-size:12px}.tradition{padding-top:90px;padding-bottom:60px}.tradition h2{font-size:53px}.instrument-grid article{border-radius:5px}.instrument-grid h3{font-size:24px}.moments{padding-top:25px;padding-bottom:80px}.moment-grid article{background:white;border-top-width:2px;border-radius:5px}.contact{background:#bd2037;max-width:1188px;margin:0 auto 70px;padding:50px 55px;border-radius:6px}.contact h2{font-size:50px;font-weight:750}.contact h2 em{color:white}.contact .social-links a{background:white;color:#a21c31;border:0;font-weight:650}.contact .social-links a:hover{background:#ffe9ee}footer{max-width:1188px;margin:auto}.private-area h1,.private-area h2{font-family:system-ui,sans-serif}.private-area .calendar-layout{margin-top:20px}@media(max-width:1300px){.agenda,.contact,footer{margin-left:5%;margin-right:5%}.home nav{gap:17px;font-size:13px}.home header{padding-left:5%;padding-right:5%}}@media(max-width:1000px){.menu-toggle{display:block;background:#ffffff10;color:white;border:1px solid #ffffff70;border-radius:4px;padding:9px 14px;font-size:14px;cursor:pointer}.home header,header{align-items:center;flex-wrap:nowrap}.home nav,header nav{display:none;position:absolute;top:91px;left:5%;right:5%;background:#15151bf5;padding:20px;flex-direction:column;align-items:stretch;gap:0;z-index:10;border-radius:5px;box-shadow:0 15px 40px #0003}.menu-open nav,header.menu-open nav{display:flex}.home nav a,header nav a{display:block;padding:13px!important;font-size:15px;color:white}.home nav a:nth-child(4),header nav a:nth-child(4){display:block}header{position:relative}.photo-hero .hero-copy{top:140px}.photo-hero h1{font-size:78px}.timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda{padding:40px}.photo-grid{gap:12px}.hero-foot span:nth-child(2){display:none}}@media(max-width:720px){.home header{padding:17px 5%}.brand-logo{width:46px;height:46px}.brand{font-size:12px}.brand small{font-size:9px}.photo-hero{height:92svh;min-height:720px;max-height:920px}.hero-full-photo{object-fit:contain;object-position:center bottom;height:100%;top:0;bottom:0}.hero-shade{background:linear-gradient(180deg,#141419 0%,#141419 31%,#14141990 45%,#14141900 62%,#14141922 90%,#141419bc 100%)}.photo-hero .hero-copy{top:125px;left:6%;right:6%;max-width:none}.photo-hero h1{font-size:clamp(52px,12vw,79px);line-height:1.02}.photo-hero .eyebrow{font-size:10px;margin-bottom:21px;letter-spacing:.1em}.photo-hero .lead{font-size:15px;max-width:330px}.hero-actions{gap:18px;flex-wrap:wrap}.photo-hero .button{font-size:13px;padding:12px 17px}.hero-secondary{font-size:13px}.hero-foot{bottom:18px;font-size:10px}.hero-foot a{font-size:11px}.identity-strip{padding:17px 5%;font-size:10px;gap:15px;justify-content:space-between}.identity-strip span:nth-child(1),.identity-strip span:nth-child(4){display:none}.section{padding:55px 6%}.section-heading h2{font-size:43px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo-card:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:4/3}.photo-card{aspect-ratio:1/1}.photo-card>span{bottom:13px;left:13px;font-size:15px}.photo-card small{font-size:9px;letter-spacing:.06em;margin-bottom:5px}.photo-dialog{padding:13px}.photo-dialog>img{height:65svh}.photo-dialog-bar p{font-size:14px}.agenda{padding:30px 22px;margin:0 5% 55px}.about{padding:0 6% 55px;gap:15px}.about h2{font-size:39px}.about .about-text{padding-top:0}.history{padding:55px 6%;margin-bottom:0}.history h2{font-size:42px}.timeline{grid-template-columns:1fr}.timeline article{padding:24px}.tradition h2{font-size:43px}.contact{padding:35px 27px;margin:0 5% 45px}.contact h2{font-size:38px}.hero-foot span:first-child{font-size:10px}footer{padding-bottom:35px;margin:0 5%}.home nav,header nav{top:81px}}@media(prefers-reduced-motion:reduce){.photo-card img{transition:none}.photo-card:hover img{transform:none}}
.photo-open{overflow:hidden}
.hero-full-photo{object-position:center 50%}.photo-hero .hero-copy{top:auto;bottom:110px}.hero-shade{background:linear-gradient(180deg,#05050b95 0%,#05050b08 30%,#05050b18 48%,#05050bb0 100%),linear-gradient(90deg,#08080d77 0%,#08080d00 80%)}@media(max-width:720px){.photo-hero .hero-copy{top:125px;bottom:auto}.hero-full-photo{object-position:center 80%}.hero-shade{background:linear-gradient(180deg,#141419 0%,#141419 34%,#141419ab 45%,#14141900 63%,#14141911 90%,#141419b0 100%)}}
.home .hero-full-photo{object-fit:cover;object-position:center 48%;animation:orats-photo 16s ease-out both}.home .photo-hero .hero-copy{bottom:110px;top:auto;animation:orats-intro 1s .15s both}.home .hero-shade{background:linear-gradient(90deg,#07070bd9 0%,#07070b88 32%,#07070b08 68%),linear-gradient(180deg,#07070b77 0%,transparent 28%,#07070b60 100%)}@keyframes orats-photo{from{transform:scale(1.075)}to{transform:scale(1)}}@keyframes orats-intro{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@media(max-width:720px){.home .hero-full-photo{object-position:64% center}.home .photo-hero .hero-copy{top:auto;bottom:95px}.home .hero-shade{background:linear-gradient(180deg,#07070b77 0%,#07070b15 28%,#07070ba8 65%,#07070be8 100%)}.home .photo-hero{min-height:650px}.home .photo-hero h1{font-size:clamp(49px,11vw,72px)}}@media(prefers-reduced-motion:reduce){.home .hero-full-photo,.home .photo-hero .hero-copy{animation:none}}
.midi-player{position:fixed;bottom:18px;left:5%;right:5%;z-index:30;background:#18181f;color:white;border:1px solid #57515a;border-top:3px solid #c4203a;padding:18px 22px;border-radius:10px;box-shadow:0 10px 45px #0005;display:flex;justify-content:space-between;align-items:center;gap:25px}.midi-player strong{font-size:16px}.midi-player p{font-size:13px;color:#d6cbd3;margin:5px 0 0}.midi-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.midi-controls button{border:1px solid #67606b;background:#34313a;color:white;padding:9px 13px;border-radius:5px;cursor:pointer;font-size:13px}.midi-controls label{color:#e5dce4;font-size:12px}.midi-controls select{font-size:13px;padding:5px;width:85px;margin-top:3px}.midi-controls input{width:95px;margin-top:4px;padding:0;accent-color:#e94461}@media(max-width:720px){.midi-player{display:block;left:3%;right:3%;bottom:10px;padding:15px}.midi-controls{margin-top:12px;gap:10px}.midi-controls button{padding:7px 10px}}
.score-viewer{position:fixed;right:18px;top:18px;bottom:18px;width:min(52vw,850px);z-index:29;display:flex;flex-direction:column;background:#f0eef1;border:1px solid #d0c7d0;border-radius:10px;box-shadow:0 12px 55px #0004;overflow:hidden}.pdf-toolbar{background:#18181f;color:white;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:15px}.pdf-toolbar strong{font-size:15px;overflow-wrap:anywhere}.pdf-toolbar>div{display:flex;align-items:center;gap:9px;flex-shrink:0}.pdf-toolbar button{background:#35313a;border:1px solid #706571;color:white;padding:7px 10px;border-radius:5px;font-size:13px;cursor:pointer}.pdf-toolbar span{font-size:12px}#pdf-status{font-size:13px;color:#65525f;padding:10px 18px;margin:0}#pdf-pages{overflow:auto;flex:1;padding:0 18px 20px}#pdf-pages figure{margin:0 0 20px;width:max-content;min-width:100%}#pdf-pages canvas{display:block;background:white;box-shadow:0 2px 12px #0001}#pdf-pages figcaption{font-size:12px;text-align:center;color:#65525f;padding-top:7px}.pdf-open .midi-player{right:calc(52vw + 35px);left:18px;display:block}.pdf-open .midi-controls{margin-top:15px}.pdf-open .midi-controls label{min-width:90px}@media(max-width:900px){.score-viewer{width:auto;left:12px;right:12px;top:12px;bottom:215px}.pdf-toolbar{flex-wrap:wrap;gap:9px}.pdf-open .midi-player{left:12px;right:12px;bottom:12px;max-height:190px;overflow:auto}}
.score-record{border:1px solid #e0d8dd;border-left:4px solid #b51e2b;border-radius:8px;padding:18px 20px;margin:14px 0;background:#fff8f9}.score-record.score-midi{border-color:#d1ddeb;border-left-color:#245ca1;background:#f5f9ff}.file-format{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.035em;color:#a0182a;background:#f9dfe5;border:1px solid #edbbc6;border-radius:5px;padding:4px 9px;margin-bottom:12px}.score-midi .file-format{color:#194d89;background:#deebfc;border-color:#bdd2ee}.score-midi .record-actions a,.score-midi .record-actions button:not(.danger){color:#194d89}.score-pdf .record-actions button:not(.danger){color:#a0182a}.score-record h3{margin-top:0}.score-record .record-actions{gap:16px}
.spotify-section{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#15151b;color:white;padding:0;max-width:1188px;margin:20px auto 60px;border-radius:12px;overflow:hidden}.spotify-photo img{width:100%;height:100%;min-height:370px;object-fit:cover;display:block}.spotify-copy{padding:48px}.spotify-copy .eyebrow{color:#74dc99}.spotify-copy h2{font-size:43px;line-height:1.08}.spotify-copy>p:not(.eyebrow){color:#dedce3;margin:25px 0;font-size:16px}.spotify-copy .spotify-button{background:#1ed760;color:#092614;line-height:1.5;padding:13px 19px;border-radius:7px}.spotify-copy .spotify-button:hover{background:#6be797}@media(max-width:1300px){.spotify-section{margin-left:5%;margin-right:5%}}@media(max-width:720px){.spotify-section{grid-template-columns:1fr;padding:0;margin-bottom:35px}.spotify-photo img{min-height:0;height:230px}.spotify-copy{padding:30px}.spotify-copy h2{font-size:37px}}
.spotify-embed{display:block;width:100%;border:0;border-radius:12px;margin:24px 0}.spotify-copy .spotify-button{font-size:13px}.spotify-photo img{object-position:center}
.email-contact{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin:25px 0 30px}.contact-email{font-size:clamp(17px,2.1vw,27px);font-weight:650;color:white;text-decoration:none;border-bottom:1px solid #ffffff80;overflow-wrap:anywhere;max-width:100%}.contact .email-button{background:white;color:#a21c31;border-radius:6px;font-size:14px}.contact .email-button:hover{background:#ffe9ee}

.library-toolbar{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin:20px 0}.piece-group{background:#fff;border:1px solid #e7dfe3;border-radius:12px;padding:22px;margin:20px 0}.piece-group>h3{margin:0;font-size:23px}.piece-files{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.piece-files .record{margin:0}.next-event{border:1px solid #edb5bf;background:#fff5f7;border-radius:12px;padding:22px;margin-bottom:25px}.next-event .event-card{background:white}.attendance{margin-top:18px;border-top:1px solid #ded5da;padding-top:16px}.attendance select{max-width:280px}.attendance details{margin-top:15px}.history-photo{margin:30px 0}.history-photo img{width:100%;max-height:430px;object-fit:cover;border-radius:10px}.history-photo p{font-size:13px;color:#ddd}.memory-banner{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;margin-top:40px;background:#ffffff0a;border-radius:10px;overflow:hidden}.memory-banner img{width:100%;height:280px;object-fit:cover}.memory-banner>div{padding:25px}.memory-banner blockquote{font-size:clamp(24px,3vw,39px);font-weight:700;line-height:1.2;margin:20px 0}.memory-banner p{color:#ddd}:focus-visible{outline:3px solid #2674b7;outline-offset:4px}.record-actions{flex-wrap:wrap}.record-actions button,.record-actions a{min-height:44px}.menu-toggle{color:#18181f;border-color:#777}.home .menu-toggle{color:white;border-color:#ffffff70}@media(max-width:720px){.library-toolbar,.piece-files,.memory-banner{grid-template-columns:1fr}.piece-group{padding:16px}.memory-banner{gap:0}.memory-banner img{height:230px}.next-event{padding:15px}.pdf-toolbar button{min-height:44px}.pdf-open .score-viewer{bottom:235px}.pdf-open .midi-player{max-height:210px}.calendar .month-controls{flex-wrap:wrap}.private-intro .account{overflow-wrap:anywhere}}

.practice-button{margin:0 0 20px;min-height:44px}.backup-panel{display:grid;grid-template-columns:2fr 1fr;gap:30px;padding:25px;background:#fff;border:1px solid #e7dfe3;border-radius:12px;margin:20px 0 35px}.backup-panel h2{font-size:28px}.backup-panel p{line-height:1.7}.private-tabs{flex-wrap:wrap}@media(max-width:720px){.backup-panel{grid-template-columns:1fr;padding:20px}.practice-button{width:100%;font-size:14px}}

.home .photo-hero{height:100svh;min-height:760px;max-height:none}.home .hero-full-photo{object-fit:cover;object-position:center 58%;animation:none;transform:none}.home .photo-hero .hero-copy{bottom:110px}@media(max-width:720px){.home .photo-hero{height:100svh;min-height:650px}.home .hero-full-photo{object-position:64% 55%}.home .photo-hero .hero-copy{bottom:95px}}

.hero-picture{position:absolute;inset:0;z-index:-3}.hero-picture .hero-full-photo{z-index:auto}.home .hero-full-photo{object-position:right center}.home .hero-shade{background:linear-gradient(90deg,#07070b77 0%,#07070b22 38%,transparent 65%),linear-gradient(180deg,#07070b66 0%,transparent 25%,#07070b33 100%)}@media(max-width:720px){.home .hero-full-photo{object-position:64% 42%}.home .hero-shade{background:linear-gradient(180deg,#07070b77 0%,transparent 30%,#07070ba8 65%,#07070be8 100%)}}
