/* Moonstar Dance Studio — Alltrius 2026 */
@font-face{font-family:'Fraunces';src:url('../fonts/Fraunces.woff2') format('woff2');font-weight:100 900;font-display:swap;}
@font-face{font-family:'Manrope';src:url('../fonts/Manrope.woff2') format('woff2');font-weight:200 800;font-display:swap;}
@font-face{font-family:'Archivo';src:url('../fonts/Archivo.woff2') format('woff2');font-weight:100 900;font-stretch:62.5% 125%;font-display:swap;}
:root{--royal:#2B4DA8;--royal-deep:#20398C;--night:#070C1F;--night2:#101B3F;--powder:#D9E7F7;--sky:#EAF2FB;--cream:#F8F5EE;--gold:#C9A44C;--gold-lt:#E4CC85;--ink:#101A38;--body:#3C4A6E;}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Manrope',sans-serif;color:var(--body);background:#fff;font-size:17px;line-height:1.65;}
h1,h2,h3,h4{font-family:'Fraunces',serif;line-height:1.08;color:var(--ink);font-weight:440;}
img{display:block;max-width:100%;}
a{text-decoration:none;color:var(--royal);}
.wrap{max-width:1280px;margin:0 auto;padding:0 48px;}
.k{font-family:'Archivo',sans-serif;font-stretch:120%;font-weight:800;letter-spacing:.3em;text-transform:uppercase;font-size:13.5px;}
.btn{display:inline-block;font-weight:800;font-size:14px;letter-spacing:.18em;text-transform:uppercase;padding:18px 42px;border-radius:999px;text-align:center;}
.btn-royal{background:var(--royal);color:#fff;box-shadow:0 12px 28px rgba(43,77,168,.28);}
.btn-ghost{border:1.5px solid var(--royal);color:var(--royal);}
.btn-gold{background:linear-gradient(135deg,#D8B96A,#B8933F);color:#0A1028;}
.btn-gold-o{border:1.5px solid var(--gold);color:var(--gold-lt);}
.btn-white{background:#fff;color:var(--royal);}
.go{font-weight:800;font-size:13.5px;letter-spacing:.22em;text-transform:uppercase;border-bottom:2px solid var(--gold);padding-bottom:6px;color:var(--ink);}

/* NAV */
nav{background:#fff;border-bottom:1px solid #E7EDF6;position:sticky;top:0;z-index:50;}
.nav-in{max-width:1400px;margin:0 auto;padding:15px 40px;display:flex;align-items:center;gap:28px;}
.nav-in .logo img{height:44px;width:auto;}
.nav-links{display:flex;gap:24px;margin-left:auto;align-items:center;font-size:14.5px;font-weight:700;flex-wrap:wrap;}
.nav-links a{color:var(--ink);}
.nav-links a:hover{color:var(--royal);}
.pill{padding:8px 17px;border-radius:999px;}
.pill-rec{background:var(--sky);color:var(--royal)!important;}
.pill-comp{background:var(--night);color:#EBD9A6!important;}
.nav-cta{background:var(--royal);color:#fff!important;padding:12px 24px;border-radius:999px;font-weight:800;}
#navtoggle,.hamb{display:none;}
@media(max-width:1060px){
  .hamb{display:block;margin-left:auto;cursor:pointer;font-size:30px;color:var(--ink);line-height:1;user-select:none;}
  .nav-links{display:none;width:100%;flex-direction:column;align-items:flex-start;gap:16px;padding:18px 4px 8px;}
  #navtoggle:checked ~ .nav-links{display:flex;}
  .nav-in{flex-wrap:wrap;}
}

/* PAGE HERO (interior pages) */
.phero{position:relative;overflow:hidden;display:flex;align-items:flex-end;min-height:420px;background:var(--night);}
.phero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,12,31,.25) 20%,rgba(7,12,31,.82) 82%,#070C1F 100%);}
.phero .wrap{position:relative;z-index:3;padding-bottom:56px;padding-top:120px;width:100%;}
.phero .k{color:var(--gold-lt);}
.phero h1{color:#fff;font-size:64px;font-weight:380;margin-top:12px;}
.phero.light{background:linear-gradient(165deg,#F4F8FD,#D6E6F7);}
.phero.light::after{background:linear-gradient(180deg,rgba(234,242,251,.1) 30%,rgba(222,235,249,.85) 82%,#D6E6F7 100%);}
.phero.light .k{color:var(--royal);}
.phero.light h1{color:var(--ink);}
.crumb{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8FA3CC;margin-top:16px;}
.phero.light .crumb{color:#7C8BB0;}
.crumb a{color:inherit;}

/* SPLIT HERO (home) */
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:82vh;position:relative;}
.side{position:relative;overflow:hidden;display:flex;align-items:flex-end;min-height:560px;}
.side img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.side-rec img.bg{object-position:center 10%;}
.side-comp img.bg{object-position:55% 42%;transform:scale(1.55);transform-origin:55% 55%;}
.side-rec::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(233,242,251,.15) 30%,rgba(214,230,247,.9) 74%,#CFE0F4 100%);}
.side-comp::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,12,31,.25) 30%,rgba(7,12,31,.85) 74%,#070C1F 100%);}
.side .c{position:relative;z-index:3;width:100%;padding:0 60px 80px;}
.side-comp .c{text-align:right;}
.side-rec .k{color:var(--royal);}
.side-comp .k{color:var(--gold-lt);}
.side h2{font-size:56px;font-weight:420;margin-top:14px;}
.side-comp h2{color:#F4F0E4;font-weight:340;}
.side .t{font-family:'Fraunces',serif;font-size:19px;letter-spacing:.07em;margin-top:12px;}
.side-rec .t{color:#5F7AB2;}
.side-comp .t{color:#9FAEDC;}
.side .go{display:inline-block;margin-top:28px;}
.side-comp .go{color:#E4CC85;}
.seam{position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(180deg,transparent,var(--gold) 12%,var(--gold) 88%,transparent);transform:translateX(-1px);z-index:4;}
.badge{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);z-index:6;width:164px;height:164px;border-radius:50%;background:radial-gradient(circle at 34% 30%,#12204C,#070C1F 74%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;box-shadow:0 24px 70px rgba(7,12,31,.5),0 0 0 6px rgba(255,255,255,.92),0 0 0 7px rgba(201,164,76,.9);}
.badge svg{width:50px;height:50px;}
.badge span{font-family:'Archivo',sans-serif;font-stretch:118%;font-weight:800;letter-spacing:.3em;color:#E9D493;font-size:11.5px;text-transform:uppercase;}
@media(max-width:900px){
  .hero{display:flex;flex-direction:column;}
  .seam{display:none;}
  .side-rec{order:1;}
  .side-comp{order:3;}
  .badge{order:2;position:static;transform:none;margin:-66px auto;width:132px;height:132px;}
  .badge svg{width:42px;height:42px;}
  .badge span{font-size:10px;}
  .side-comp .c{text-align:left;}
  .side h2{font-size:42px;}
}

/* CLAIM */
.claim{background:#fff;text-align:center;padding:110px 48px;}
.claim h1{font-size:84px;font-weight:400;letter-spacing:-.01em;}
.claim h1 em{color:var(--royal);}
.claim p{max-width:46em;margin:30px auto 0;font-size:18px;}
.claim .btn{margin-top:42px;}
@media(max-width:900px){.claim h1{font-size:48px;}.claim{padding:70px 24px;}}

/* MARQUEE */
.marq{background:var(--night);padding:30px 0;overflow:hidden;}
.marq .track{display:flex;width:max-content;animation:marq 36s linear infinite;white-space:nowrap;}
@keyframes marq{to{transform:translateX(-50%);}}
.marq span{font-family:'Archivo',sans-serif;font-stretch:122%;font-weight:800;text-transform:uppercase;letter-spacing:.18em;font-size:21px;color:#EAF0FB;margin:0 26px;}
.marq span.o{color:transparent;-webkit-text-stroke:1px #5A6DA8;}
.marq span.g{color:#E4CC85;font-size:17px;}

/* STRIPE */
.stripe{display:grid;grid-template-columns:repeat(3,1fr);}
.stripe .cell{position:relative;height:400px;overflow:hidden;display:block;}
.stripe .cell img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.stripe .cell:hover img{transform:scale(1.05);}
.stripe .cell .lab{position:absolute;left:26px;bottom:22px;z-index:3;color:#fff;font-family:'Archivo',sans-serif;font-stretch:118%;font-weight:800;letter-spacing:.22em;text-transform:uppercase;font-size:14px;text-shadow:0 2px 14px rgba(7,12,31,.8);}
.stripe .cell::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(7,12,31,.62));}
@media(max-width:900px){.stripe{grid-template-columns:1fr;}}

/* SECTIONS */
.sec{padding:100px 0;}
.sec.cream{background:var(--cream);}
.sec.skybg{background:linear-gradient(180deg,#EDF4FC,#DCE9F8);}
.sec.nightbg{background:radial-gradient(130% 110% at 50% 0%,#152351,#070C1F 68%);}
.sec h2.big{font-size:52px;margin-bottom:20px;}
.sec .lead{font-size:18px;max-width:44em;}
.nightbg h2,.nightbg h3{color:#F4F0E4;}
.nightbg p{color:#BCC7E6;}

/* OBJECTIVE LIST */
.obj{display:grid;grid-template-columns:1fr 1fr;gap:16px 44px;margin-top:44px;max-width:1000px;}
.obj li{list-style:none;display:flex;gap:14px;align-items:flex-start;font-size:16.5px;}
.obj li::before{content:"\2726";color:var(--gold);font-size:15px;margin-top:3px;}
@media(max-width:800px){.obj{grid-template-columns:1fr;}}

/* CLASS CARDS */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:50px;}
.card{background:#fff;border:1px solid #E4E9F3;padding:34px 36px;position:relative;}
.card h3{font-size:25px;margin-bottom:6px;}
.card .tag{position:absolute;top:26px;right:26px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;padding:6px 13px;border-radius:999px;}
.tag-rec{background:var(--sky);color:var(--royal);}
.tag-comp{background:var(--night);color:#EBD9A6;}
.tag-all{background:var(--cream);color:#8A6D1F;border:1px solid #E4DFCE;}
.card p{font-size:15.5px;margin-top:10px;}
.cards.dark .card{background:#0D1531;border-color:#22305E;}
.cards.dark .card h3{color:#F4F0E4;}
.cards.dark .card p{color:#BCC7E6;}
@media(max-width:900px){.cards{grid-template-columns:1fr;}}

/* TEAM */
.director{display:grid;grid-template-columns:460px 1fr;gap:64px;align-items:start;margin-top:56px;}
.director img{width:100%;}
.director h3{font-size:40px;}
.director .role{font-family:'Fraunces',serif;color:#8A6D1F;font-size:18px;letter-spacing:.05em;margin:6px 0 22px;}
.director p{margin-bottom:16px;font-size:16px;}
@media(max-width:960px){.director{grid-template-columns:1fr;}}
.team{display:grid;grid-template-columns:1fr 1fr;gap:56px 56px;margin-top:70px;}
.member .ph{height:420px;overflow:hidden;background:var(--sky);}
.member .ph img{width:100%;height:100%;object-fit:cover;object-position:center 22%;}
.member h3{font-size:29px;margin-top:26px;}
.member .role{font-family:'Fraunces',serif;color:#8A6D1F;font-size:16px;letter-spacing:.05em;margin:4px 0 14px;}
.member p{font-size:15.5px;margin-bottom:12px;}
@media(max-width:900px){.team{grid-template-columns:1fr;}}

/* GALLERY */
.galgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:10px;}
.galgrid img{width:100%;height:330px;object-fit:cover;}
@media(max-width:900px){.galgrid{grid-template-columns:1fr 1fr;}.galgrid img{height:220px;}}

/* TESTIMONIALS */
.quote{max-width:900px;margin:0 auto;text-align:center;padding:26px 0;}
.quote .star{color:var(--gold);font-size:24px;margin-bottom:18px;display:block;}
.quote blockquote{font-family:'Fraunces',serif;font-size:26px;line-height:1.45;color:var(--ink);font-weight:430;}
.quote cite{display:block;margin-top:20px;font-style:normal;font-weight:800;color:var(--royal);font-size:14px;letter-spacing:.14em;text-transform:uppercase;}
.qlist .quote{border-bottom:1px solid #E4E9F3;padding:56px 0;}
.qlist .quote:last-child{border-bottom:none;}

/* REG BAND */
.reg{background:linear-gradient(120deg,var(--royal-deep),var(--royal) 55%,#3B60C4);padding:72px 48px;display:flex;align-items:center;justify-content:center;gap:44px;flex-wrap:wrap;text-align:center;}
.reg h3{font-family:'Fraunces',serif;color:#fff;font-size:40px;font-weight:410;}
.reg p{color:#D6E0F8;width:100%;margin-top:-26px;}

/* PDF BUTTONS */
.pdfrow{display:flex;gap:18px;flex-wrap:wrap;margin-top:40px;}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;margin-top:20px;}
@media(max-width:960px){.contact-grid{grid-template-columns:1fr;}}
form .row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media(max-width:700px){form .row{grid-template-columns:1fr;}}
label{display:block;font-weight:800;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin:22px 0 8px;}
input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;padding:15px 16px;border:1.5px solid #D6DEEE;background:#fff;font-family:'Manrope',sans-serif;font-size:16px;color:var(--ink);}
input:focus,select:focus,textarea:focus{outline:2px solid var(--royal);border-color:var(--royal);}
textarea{min-height:150px;resize:vertical;}
button.btn{border:none;cursor:pointer;margin-top:28px;font-family:'Manrope',sans-serif;}
.notice{background:var(--sky);border:1.5px solid var(--royal);color:var(--ink);padding:18px 22px;font-weight:700;margin-bottom:26px;display:none;}
.infocard{background:var(--cream);padding:44px;border:1px solid #E9E3D2;}
.infocard h3{font-size:24px;margin-bottom:16px;}
.infocard p{margin-bottom:14px;}
.infocard .big{font-size:22px;font-weight:800;color:var(--ink);}

/* DATES */
.datelist{margin-top:44px;max-width:820px;}
.datelist li{list-style:none;display:flex;gap:18px;align-items:flex-start;padding:24px 0;border-bottom:1px solid #E4E9F3;font-size:18px;color:var(--ink);}
.datelist li::before{content:"\2726";color:var(--gold);font-size:16px;margin-top:4px;}

/* FOOTER */
footer{background:var(--night);color:#AEB9DB;padding:90px 48px 36px;}
.f-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:50px;padding-bottom:54px;border-bottom:1px solid rgba(174,185,219,.16);}
.f-grid h3{color:#F4F0E4;font-family:'Fraunces',serif;font-size:19px;font-weight:480;margin-bottom:18px;}
footer a{color:#AEB9DB;}
footer a:hover{color:#E4CC85;}
footer .brand img{height:46px;margin-bottom:18px;}
footer li{list-style:none;margin-bottom:10px;font-size:15px;}
footer p{margin-bottom:10px;font-size:15px;}
footer .base{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:28px;font-size:13.5px;color:#7683AC;}
@media(max-width:960px){.f-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.f-grid{grid-template-columns:1fr;}}
@media(max-width:900px){.phero h1{font-size:42px;}.sec{padding:64px 0;}.wrap{padding:0 24px;}.sec h2.big{font-size:36px;}}
