:root{--bg:#0c1324;--bg2:#111b31;--paper:#f7f5ef;--ink:#182033;--muted:#667085;--accent:#d8b04d;--accent2:#a66f2c;--line:rgba(255,255,255,.13);--radius:22px;--shadow:0 20px 60px rgba(0,0,0,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink);line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:28px;padding:14px clamp(18px,5vw,70px);background:rgba(12,19,36,.94);backdrop-filter:blur(16px);color:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;margin-right:auto}.brand-mark{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#fff3bd);color:#111;font-weight:900;letter-spacing:-1px}.brand strong{display:block;line-height:1.1}.brand small{opacity:.72}.main-nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.main-nav a{padding:9px 10px;border-radius:10px;font-size:14px}.main-nav a:hover,.main-nav a.active{background:rgba(255,255,255,.1);color:#ffe79c}.nav-toggle{display:none;background:none;border:1px solid var(--line);color:#fff;padding:8px 11px;border-radius:10px;font-size:20px}.hero{min-height:72vh;display:grid;align-items:end;position:relative;overflow:hidden;background:#0d1527;color:#fff}.hero-media{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) brightness(.5)}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,10,20,.88) 0%,rgba(5,10,20,.53) 50%,rgba(5,10,20,.2)),linear-gradient(0deg,rgba(5,10,20,.7),transparent 60%)}.hero-content{position:relative;z-index:2;max-width:1100px;padding:90px clamp(20px,7vw,100px)}.hero h1{font-family:Georgia,serif;font-size:clamp(44px,7vw,92px);line-height:.98;margin:12px 0 20px;max-width:900px}.hero p{max-width:700px;font-size:clamp(17px,2vw,23px);color:#e4e8f0}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;color:var(--accent2)}.hero .eyebrow{color:#ffe18a}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:999px;background:var(--accent);color:#111;font-weight:800;border:1px solid transparent}.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}.section{padding:80px clamp(20px,7vw,100px)}.section.dark{background:var(--bg);color:#fff}.section.alt{background:#ece9e0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}.section-head h2{font-family:Georgia,serif;font-size:clamp(34px,5vw,60px);line-height:1.05;margin:5px 0}.section-head p{max-width:650px;color:var(--muted)}.dark .section-head p{color:#b9c1cf}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 30px rgba(20,30,50,.08);border:1px solid rgba(20,30,50,.06)}.dark .card{background:#15213a;border-color:rgba(255,255,255,.08);color:#fff}.article-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.card-body{padding:22px}.card-body h3{font-family:Georgia,serif;font-size:24px;line-height:1.15;margin:9px 0}.card-body p{color:var(--muted)}.dark .card-body p{color:#b9c1cf}.link{font-weight:800;color:var(--accent2)}.feature-row{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}.feature-row img{border-radius:30px;box-shadow:var(--shadow)}.feature-row h2{font-family:Georgia,serif;font-size:clamp(38px,5vw,64px);line-height:1.05}.program-card{padding:28px;min-height:220px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(150deg,#fff,#eee9df)}.program-card strong{font-family:Georgia,serif;font-size:28px}.dark .program-card{background:linear-gradient(150deg,#182743,#11192a)}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.time-item{padding:22px;border-top:3px solid var(--accent);background:rgba(255,255,255,.04);border-radius:0 0 16px 16px}.time-item b{font-size:26px;color:#ffe18a}.events{display:grid;gap:14px}.event{display:grid;grid-template-columns:130px 1fr auto;gap:22px;align-items:center;padding:20px 0;border-bottom:1px solid rgba(30,40,60,.12)}.event-date{font-weight:900;font-size:18px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gallery-grid a{border-radius:14px;overflow:hidden}.gallery-grid img{aspect-ratio:1/1;object-fit:cover;transition:.25s}.gallery-grid img:hover{transform:scale(1.04)}.page-hero{padding:100px clamp(20px,7vw,100px) 55px;background:var(--bg);color:#fff}.page-hero h1{font-family:Georgia,serif;font-size:clamp(46px,7vw,80px);line-height:1;margin:10px 0}.content{max-width:900px;margin:0 auto;padding:60px 20px 90px}.content p{font-size:18px}.article-full .lead{font-size:23px;color:#4c5568}.article-full img{border-radius:24px;margin:28px 0}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}.filters a{padding:8px 13px;background:#fff;border-radius:999px;border:1px solid #ddd}.form{display:grid;gap:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form label{font-weight:700}.form input,.form textarea,.form select{width:100%;padding:13px 14px;border:1px solid #ccd1db;border-radius:12px;background:#fff;font:inherit}.form textarea{min-height:150px}.notice{padding:15px 18px;border-radius:12px;background:#eaf7ef;border:1px solid #b8e0c6}.footer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;padding:55px clamp(20px,7vw,100px);background:#080e1a;color:#ccd4e4}.footer a{color:#fff}.legal{font-size:13px;color:#7d8798}@media(max-width:1000px){.main-nav{display:none;position:absolute;left:0;right:0;top:79px;background:#0c1324;padding:15px 20px;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.nav-toggle{display:block}.grid,.grid.four{grid-template-columns:repeat(2,1fr)}.feature-row{grid-template-columns:1fr}.timeline{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.brand strong{font-size:14px}.brand small{font-size:12px}.hero{min-height:65vh}.grid,.grid.four,.timeline{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.event{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.footer{grid-template-columns:1fr}.section{padding-top:55px;padding-bottom:55px}.section-head{display:block}}

/* Language switcher */
.lang-switch{display:flex;align-items:center;gap:4px;margin-left:8px;padding-left:9px;border-left:1px solid rgba(255,255,255,.18)}
.main-nav .lang-switch a{min-width:34px;text-align:center;padding:7px 8px;border-radius:999px;font-size:12px;font-weight:900;letter-spacing:.05em;border:1px solid rgba(255,255,255,.15)}
.main-nav .lang-switch a.active{background:var(--accent);border-color:var(--accent);color:#111}
@media(max-width:1000px){.lang-switch{margin:8px 0 0;padding:12px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.12);justify-content:center}.main-nav .lang-switch a{display:inline-block;width:auto}}

/* UOC price list */
.price-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 18%,rgba(216,176,77,.22),transparent 32%),linear-gradient(135deg,#0a1020,#161f35)}
.price-hero:after{content:"♪";position:absolute;right:7vw;bottom:-70px;font-family:Georgia,serif;font-size:300px;line-height:1;color:rgba(255,255,255,.035);pointer-events:none}
.price-hero p{max-width:850px;font-size:20px;color:#d5dbea}
.price-wrap{max-width:1240px;margin:0 auto;padding:70px 24px 100px}
.price-intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;margin-bottom:70px}
.price-info-card,.price-note-card{border-radius:28px;padding:34px;background:#fff;box-shadow:0 18px 50px rgba(15,24,45,.09);border:1px solid rgba(15,24,45,.07)}
.price-info-card h2{font-family:Georgia,serif;font-size:34px;line-height:1.12;margin:10px 0 24px}
.price-meta{margin:0;display:grid;gap:0}.price-meta div{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:12px 0;border-bottom:1px solid #ece9e0}.price-meta div:last-child{border-bottom:0}.price-meta dt{font-weight:800;color:#697184}.price-meta dd{margin:0;font-weight:650}.price-meta a{color:#8b5a1b}
.price-note-card{background:linear-gradient(145deg,#111a2e,#0b1222);color:#fff;display:flex;flex-direction:column;justify-content:center}.price-note-card .eyebrow{color:#f2cd6e}.price-note-card p{font-size:19px;color:#d7deeb}.price-note-icon{font-family:Georgia,serif;font-size:78px;line-height:1;color:#f2cd6e;margin-bottom:10px}
.price-heading{text-align:center;margin-bottom:30px}.price-heading h2{font-family:Georgia,serif;font-size:clamp(38px,5vw,62px);margin:5px 0}
.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.instrument-price-card{position:relative;overflow:hidden;background:#fff;border:1px solid #e7e2d8;border-radius:24px;padding:28px;min-height:230px;box-shadow:0 12px 34px rgba(18,28,47,.07)}
.instrument-price-card:before{content:"";position:absolute;left:0;top:0;width:5px;height:100%;background:linear-gradient(#d8b04d,#a66f2c)}
.instrument-symbol{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#f3ebd5;font-size:28px;color:#80551d}.instrument-price-card h3{font-family:Georgia,serif;font-size:29px;margin:18px 0 12px}.price-number{display:flex;align-items:flex-end;gap:8px}.price-number strong{font-family:Georgia,serif;font-size:52px;line-height:1;color:#10182a}.price-number span{font-weight:900;color:#a66f2c;margin-bottom:6px}.price-duration{margin-top:10px;color:#6e7685;font-weight:700}
.price-table-wrap{margin-top:38px;border-radius:24px;overflow:hidden;box-shadow:0 12px 34px rgba(18,28,47,.07);border:1px solid #e7e2d8;background:#fff}.price-table{width:100%;border-collapse:collapse}.price-table th,.price-table td{text-align:left;padding:17px 20px;border-bottom:1px solid #ece9e0}.price-table th{background:#111a2e;color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.price-table tr:last-child td{border-bottom:0}.price-table td:last-child strong{font-size:18px;color:#80551d}
@media(max-width:850px){.price-intro-grid{grid-template-columns:1fr}.price-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.price-wrap{padding:45px 16px 70px}.price-grid{grid-template-columns:1fr}.price-info-card,.price-note-card{padding:24px}.price-meta div{grid-template-columns:1fr;gap:3px}.price-table th,.price-table td{padding:13px 10px;font-size:14px}}

/* ===== FINAL UOC GRAČANICA REDESIGN ===== */
:root{--uoc-purple:#25105d;--uoc-purple-2:#140a37;--uoc-blue:#1182c4;--uoc-gold:#f1c744;--uoc-cream:#fbfaf5;--uoc-ink:#17162a}
body{background:var(--uoc-cream);color:var(--uoc-ink)}
.site-header{display:block;padding:0;background:rgba(18,9,52,.98);border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 8px 28px rgba(12,8,35,.18)}
.top-strip{background:#0d0825;color:#d9d3eb;font-size:12px;border-bottom:1px solid rgba(255,255,255,.08)}
.top-strip-inner{max-width:1540px;margin:auto;padding:6px clamp(18px,4vw,62px);display:flex;justify-content:space-between;gap:20px}.top-contact{display:flex;gap:16px}.top-contact a{color:#fff}
.nav-shell{max-width:1540px;margin:auto;padding:9px clamp(18px,4vw,62px);display:flex;align-items:center;gap:22px;min-height:78px}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto;min-width:245px;color:#fff}.brand-mark.official{width:62px;height:62px;border-radius:0;background:none;display:block;overflow:visible;flex:0 0 62px}.brand-mark.official img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.22))}.brand-copy strong{font-size:15px;line-height:1.15}.brand-copy small{display:block;margin-top:4px;color:#c9c1df;font-size:11px}
.main-nav{display:flex;align-items:center;gap:12px}.nav-links{display:flex;align-items:center;gap:1px}.nav-links>a{position:relative;padding:10px 8px;color:#fff;font-size:13px;white-space:nowrap}.nav-links>a:after{content:"";position:absolute;left:8px;right:8px;bottom:2px;height:2px;background:var(--uoc-gold);transform:scaleX(0);transition:.2s}.nav-links>a:hover:after,.nav-links>a.active:after{transform:scaleX(1)}.nav-links>a:hover,.nav-links>a.active{background:none;color:#fff7d0}
.nav-actions{display:flex;align-items:center;gap:8px}.lang-switch{margin:0;padding:0 8px 0 0;border-left:0;border-right:1px solid rgba(255,255,255,.16)}.main-nav .lang-switch a{border-color:rgba(255,255,255,.18);color:#fff}.main-nav .lang-switch a.active{background:var(--uoc-gold);border-color:var(--uoc-gold);color:#1a1235}.account-link,.signup-link{font-weight:800!important;border-radius:8px!important;padding:9px 13px!important}.account-link{border:1px solid rgba(255,255,255,.34)}.signup-link{background:var(--uoc-gold)!important;color:#17112e!important;border:1px solid var(--uoc-gold)}

.premium-hero{min-height:680px;align-items:center}.premium-hero .hero-media img{filter:saturate(.9) brightness(.7);object-position:center 48%}.premium-hero .hero-media:after{background:linear-gradient(90deg,rgba(14,6,46,.96) 0%,rgba(24,9,67,.82) 38%,rgba(18,8,49,.28) 72%,rgba(11,6,34,.25)),linear-gradient(0deg,rgba(12,6,34,.62),transparent 58%)}.premium-hero .hero-content{padding:88px clamp(26px,5vw,76px);max-width:760px}.premium-hero h1{font-size:clamp(46px,5.8vw,78px);text-shadow:0 4px 30px rgba(0,0,0,.32)}.premium-hero h1::first-line{color:#fff}.premium-hero p{font-size:20px;max-width:610px}.hero-points{display:flex;gap:26px;margin-top:36px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.hero-points span{display:flex;gap:8px;align-items:center}.hero-points b{font-weight:800}
.btn{background:var(--uoc-gold);color:#17112e;box-shadow:0 8px 22px rgba(241,199,68,.2)}.btn:hover{transform:translateY(-1px)}.btn.ghost{box-shadow:none}

.about-premium{display:grid;grid-template-columns:1.1fr .75fr;gap:60px;align-items:center;background:#fff}.about-copy{max-width:760px}.about-copy h2{font-family:Georgia,serif;font-size:clamp(38px,4.6vw,64px);line-height:1.05;margin:8px 0 20px}.about-copy p{font-size:18px;color:#4f5363}.about-copy blockquote{margin:28px 0;padding:18px 22px;border-left:4px solid var(--uoc-gold);background:#fbf7e9;font-family:Georgia,serif;font-size:20px;font-style:italic;color:#2c2740}.director-card{position:relative;max-width:480px;justify-self:center}.director-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:28px;box-shadow:0 24px 65px rgba(21,12,54,.2)}.director-label{position:absolute;left:18px;right:18px;bottom:18px;background:rgba(21,11,53,.9);color:#fff;padding:14px 16px;border-radius:14px;backdrop-filter:blur(8px);border-left:4px solid var(--uoc-gold)}.director-label span{display:block;font-weight:900}.director-label small{color:#cfc7e8}

.program-section{background:linear-gradient(#f8f7f2,#f0eee8)}.program-tiles{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.program-tile{min-height:190px;background:#fff;border:1px solid #e5e2da;border-radius:17px;padding:18px;box-shadow:0 10px 28px rgba(33,29,48,.07);display:flex;flex-direction:column;position:relative;transition:.2s}.program-tile:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(33,29,48,.12)}.program-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#2a1266,#0f5f9c);color:#fff;font-size:26px;margin-bottom:30px}.program-tile strong{font-family:Georgia,serif;font-size:20px}.program-tile small{color:#6a6873;margin-top:4px}.program-tile i{font-style:normal;position:absolute;right:14px;bottom:13px;width:30px;height:30px;border:1px solid #cbc6d4;border-radius:50%;display:grid;place-items:center}.program-tile.lingua{background:linear-gradient(145deg,#211050,#153f7b);color:#fff}.program-tile.lingua small{color:#ddd5f0}.program-tile.lingua .program-icon{background:var(--uoc-gold);color:#201049;font-weight:900}

.lingua-band{display:grid;grid-template-columns:1.4fr .6fr;align-items:center;gap:40px;background:linear-gradient(120deg,#180b43,#30116c 60%,#0f64a1);color:#fff}.lingua-band h2{font-family:Georgia,serif;font-size:clamp(38px,5vw,64px);margin:8px 0}.lingua-band p{max-width:760px;color:#d9d2ea}.lingua-symbols{display:flex;justify-content:center;gap:10px}.lingua-symbols span{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.09);font-weight:900;font-size:20px}.lingua-symbols span:nth-child(2){background:var(--uoc-gold);color:#211044}

.afterdark-premium{display:grid;grid-template-columns:.75fr 1.45fr;gap:18px;background:#f5f2eb}.price-preview{background:#fff;border-radius:26px;padding:34px;box-shadow:0 16px 46px rgba(24,18,49,.08)}.price-preview h2{font-family:Georgia,serif;font-size:46px;margin:7px 0 18px}.mini-price-list>div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #ece8df}.mini-price-list strong{color:#2b175e}.price-preview p{font-size:14px;color:#656372;margin-top:18px}.afterdark-card{position:relative;border-radius:26px;overflow:hidden;min-height:520px;background:#170b43}.afterdark-card>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.afterdark-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,9,67,.94),rgba(24,9,67,.38) 56%,rgba(24,9,67,.08))}.afterdark-overlay{position:relative;z-index:2;color:#fff;padding:54px 44px;max-width:430px}.afterdark-overlay h2{font-family:Georgia,serif;font-size:58px;margin:8px 0}.afterdark-overlay p{font-size:18px;color:#eee8ff}

.gallery-premium{background:#180c48;color:#fff;display:grid;grid-template-columns:.55fr 1.45fr;gap:38px;align-items:center}.gallery-intro h2{font-family:Georgia,serif;font-size:clamp(40px,5vw,64px);margin:8px 0}.gallery-intro p{color:#d5cee9}.gallery-showcase{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:180px;gap:10px}.gallery-showcase img{width:100%;height:100%;object-fit:cover;border-radius:14px;border:1px solid rgba(255,255,255,.15)}.gallery-showcase img:first-child{grid-column:span 2;grid-row:span 2}.gallery-showcase img:nth-child(2){grid-row:span 2}

.cta-premium{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:35px clamp(25px,6vw,90px);background:linear-gradient(90deg,#e8bd39,#ffe79a,#edc14b);color:#201143}.cta-premium>div:first-child{display:flex;align-items:center;gap:22px}.cta-premium>div:first-child>span{font-size:50px}.cta-premium h2{font-family:Georgia,serif;font-size:36px;margin:0}.cta-premium p{margin:2px 0 0}.cta-actions{display:flex;gap:10px}.dark-btn{background:#1d0d52;color:#fff;box-shadow:none}.outline-dark{background:transparent;border:1px solid #1d0d52;color:#1d0d52;box-shadow:none}

.page-hero{background:radial-gradient(circle at 80% 20%,rgba(38,122,190,.24),transparent 30%),linear-gradient(135deg,#130936,#25105d);padding-top:90px}.wide-content{max-width:1180px}.director-about{margin:55px 0 10px;padding:30px;background:#fff;border-radius:28px;display:grid;grid-template-columns:340px 1fr;gap:36px;align-items:center;box-shadow:0 18px 52px rgba(22,15,50,.09)}.director-about img{width:100%;border-radius:22px;margin:0;aspect-ratio:1/1;object-fit:cover}.director-about h2{font-family:Georgia,serif;font-size:42px;margin:8px 0}.about-values{margin:22px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.about-values>div{background:#211052;color:#fff;border-radius:18px;padding:22px}.about-values b{display:block;font-family:Georgia,serif;font-size:34px;color:var(--uoc-gold)}.about-values span{font-size:13px;color:#ded7ed}.school-visual{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center;margin:45px 0;background:#f0ede6;padding:24px;border-radius:26px}.school-visual img{margin:0;border-radius:20px;height:360px;width:100%;object-fit:cover}.school-visual h2{font-family:Georgia,serif;font-size:38px}

.gallery-grid{grid-template-columns:repeat(5,1fr);gap:9px}.gallery-grid a{background:#190d49;box-shadow:0 7px 22px rgba(19,12,45,.08)}.gallery-grid img{aspect-ratio:1/1;border-radius:12px}.filters a{border-color:#d9d3e4}.filters a:hover{background:#25105d;color:#fff;border-color:#25105d}

.footer{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px;background:#0e0729;color:#dcd6ea;border-top:4px solid var(--uoc-gold);position:relative}.footer-brand{display:flex;align-items:center;gap:16px}.footer-logo-img{width:78px;height:78px;object-fit:contain}.footer h4{color:#fff;margin:0 0 10px}.footer p{margin:0;color:#c9c1db}.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;margin-top:8px;font-size:12px;color:#938aa8}

/* Public Login / Sign up portal */
.auth-page{min-height:650px;display:grid;grid-template-columns:1fr 1fr;background:#f6f3ed}.auth-art{padding:80px clamp(30px,7vw,100px);background:radial-gradient(circle at 78% 20%,rgba(21,124,191,.35),transparent 35%),linear-gradient(145deg,#120834,#2b1268);color:#fff;display:flex;flex-direction:column;justify-content:center}.auth-art h1{font-family:Georgia,serif;font-size:clamp(48px,6vw,78px);line-height:1;margin:12px 0 20px}.auth-art>p{font-size:19px;color:#d8d1e9;max-width:580px}.auth-feature{display:flex;gap:12px;align-items:center;padding:9px 0;color:#f4edff}.auth-feature:first-of-type{margin-top:24px}.portal-card-mini{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.portal-card-mini strong{background:rgba(255,255,255,.1);padding:10px 13px;border-radius:10px}.auth-panel{padding:50px clamp(24px,6vw,80px);display:grid;place-items:center}.auth-card{width:min(100%,570px);background:#fff;border:1px solid #e2ded7;border-radius:26px;padding:34px;box-shadow:0 18px 60px rgba(24,17,53,.1);display:grid;gap:16px}.auth-card h2{font-family:Georgia,serif;font-size:42px;margin:0}.auth-card label{font-weight:800;font-size:14px}.auth-card input,.auth-card select{display:block;width:100%;margin-top:6px;padding:13px 14px;border:1px solid #cbc6d3;border-radius:11px;font:inherit}.wide{width:100%}.auth-switch{text-align:center;color:#686371}.auth-switch a{color:#2b1268;font-weight:900}.form-error{background:#feecec;color:#8d1d1d;padding:10px 12px;border-radius:10px}.profile-wrap{max-width:1180px;margin:auto;padding:55px 22px 90px;display:grid;grid-template-columns:320px 1fr;gap:28px}.profile-card,.profile-main{background:#fff;border-radius:24px;padding:28px;box-shadow:0 12px 38px rgba(23,16,48,.08)}.avatar{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:#25105d;color:#fff;font-size:32px;font-weight:900}.status-pill{display:inline-block;padding:6px 10px;border-radius:999px;background:#e9f7ee;color:#227043;font-size:12px;font-weight:900}.profile-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:22px 0}.profile-card dt{font-weight:800}.profile-card dd{margin:0;text-align:right}.empty-state{text-align:center;padding:45px}.empty-icon{font-size:54px;color:#2b1268}.application-item{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px solid #ece8f0}.application-item span{display:block;color:#77717f;font-size:13px}

@media(max-width:1240px){.program-tiles{grid-template-columns:repeat(4,1fr)}.gallery-grid{grid-template-columns:repeat(4,1fr)}.nav-links>a{font-size:12px;padding-left:6px;padding-right:6px}.brand{min-width:210px}.brand-copy strong{font-size:13px}}
@media(max-width:1050px){.top-strip{display:none}.nav-shell{min-height:76px}.nav-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:76px;background:#160a3e;padding:18px;flex-direction:column;align-items:stretch;box-shadow:0 20px 40px rgba(0,0,0,.28)}.main-nav.open{display:flex}.nav-links{flex-direction:column;align-items:stretch}.nav-links>a{font-size:14px;padding:10px}.nav-actions{justify-content:center;flex-wrap:wrap;padding-top:12px;border-top:1px solid rgba(255,255,255,.12)}.about-premium,.afterdark-premium,.gallery-premium,.lingua-band{grid-template-columns:1fr}.gallery-showcase{grid-auto-rows:150px}.director-about,.school-visual{grid-template-columns:1fr}.director-about img{max-width:380px}.auth-page{grid-template-columns:1fr}.auth-art{padding-top:55px;padding-bottom:55px}.profile-wrap{grid-template-columns:1fr}.cta-premium{flex-direction:column;align-items:flex-start}}
@media(max-width:720px){.brand-copy{display:none}.brand{min-width:0}.brand-mark.official{width:56px;height:56px}.premium-hero{min-height:620px}.premium-hero .hero-content{padding:70px 22px}.hero-points{gap:14px;flex-wrap:wrap}.about-premium{gap:32px}.program-tiles{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-showcase{grid-template-columns:1fr 1fr;grid-auto-rows:130px}.gallery-showcase img:first-child{grid-column:span 2;grid-row:span 2}.gallery-showcase img:nth-child(2){grid-row:auto}.about-values{grid-template-columns:repeat(2,1fr)}.footer{grid-template-columns:1fr}.footer-bottom{grid-column:auto}.top-contact{display:none}.cta-actions{width:100%;flex-direction:column}.cta-actions .btn{width:100%}.auth-panel{padding:30px 16px}.auth-card{padding:24px}.form-grid{grid-template-columns:1fr}}

/* ===== SUPER FINAL ALIGNMENT / SYMMETRY PASS 10-09-2026 ===== */
:root{--frame:1240px;--page-pad:28px;--header-h:86px}
.site-frame{width:min(var(--frame),calc(100% - (var(--page-pad)*2)));margin-left:auto;margin-right:auto}
.site-header{position:sticky;top:0;z-index:100;background:rgba(17,8,49,.98);backdrop-filter:blur(18px)}
.top-strip-inner{max-width:none;padding:7px 0;align-items:center}.top-tagline{font-weight:700;letter-spacing:.02em}.top-contact{margin-left:auto;align-items:center}
.nav-shell{max-width:none;padding:10px 0;min-height:82px;gap:24px}.brand{min-width:246px;flex:0 0 246px}.brand-mark.official{width:58px;height:58px;flex-basis:58px}.brand-copy strong{font-size:14px}.brand-copy small{font-size:10px}
.main-nav{flex:1;min-width:0;justify-content:flex-end;gap:10px}.nav-links{justify-content:center;gap:0;flex:1}.nav-links>a{font-size:12px;padding:10px 7px}.nav-actions{flex:0 0 auto}.main-nav .lang-switch a{min-width:30px;padding:7px 6px}.account-link,.signup-link{font-size:12px!important;padding:8px 11px!important}

/* Every full-width section follows exactly the same center line */
.section{padding-left:max(var(--page-pad),calc((100vw - var(--frame))/2));padding-right:max(var(--page-pad),calc((100vw - var(--frame))/2))}
.hero-content{padding-left:max(var(--page-pad),calc((100vw - var(--frame))/2));padding-right:var(--page-pad)}
.premium-hero .hero-content{padding-left:max(var(--page-pad),calc((100vw - var(--frame))/2));max-width:calc((100vw - var(--frame))/2 + 760px)}
.page-hero{padding:72px 0 58px}.page-hero-inner{margin:0 auto}.page-hero h1{font-size:clamp(46px,5vw,70px);margin:10px 0 14px}.page-hero p{max-width:720px;margin:0;font-size:18px;color:#d9d4e8}
.page-layout{padding-top:54px;padding-bottom:90px}.page-copy-card{max-width:880px;margin:0 auto 38px;background:#fff;border:1px solid #e7e2da;border-radius:24px;padding:32px 36px;box-shadow:0 14px 40px rgba(22,15,50,.07)}.page-copy-card p{margin:0 0 14px;font-size:17px;color:#4e5261}.page-copy-card p:last-child{margin-bottom:0}

/* Home proportions */
.premium-hero{min-height:610px}.premium-hero h1{font-size:clamp(48px,5.25vw,74px);max-width:680px}.premium-hero p{max-width:610px}.hero-points{max-width:600px;justify-content:space-between}
.about-premium{grid-template-columns:minmax(0,1.1fr) minmax(330px,.75fr);gap:64px}.director-card{width:100%;max-width:420px}.director-card img{aspect-ratio:1/1.06}
.program-tiles{grid-template-columns:repeat(7,minmax(0,1fr));gap:14px}.program-tile{min-height:205px}
.afterdark-premium{grid-template-columns:minmax(300px,.72fr) minmax(0,1.45fr);gap:22px}.afterdark-card{min-height:470px}
.gallery-premium{grid-template-columns:minmax(260px,.52fr) minmax(0,1.48fr);gap:42px}.gallery-showcase{grid-auto-rows:165px}

/* Uniform cards */
.grid{align-items:stretch}.card{height:100%}.article-card>a{height:100%;display:flex;flex-direction:column}.article-card .article-image{position:relative;overflow:hidden}.article-card .article-image img{width:100%;aspect-ratio:16/10;object-fit:cover}.article-card .card-body{display:flex;flex-direction:column;flex:1}.article-card .card-body p{flex:1}.article-badge{position:absolute;left:14px;top:14px;padding:6px 9px;border-radius:999px;background:rgba(23,10,60,.9);color:#fff;font-size:11px;font-weight:800}
.filters{justify-content:center;margin:0 auto 32px}.filters a{min-width:72px;text-align:center}

/* Sub-page premium blocks */
.director-about{max-width:1000px;margin:34px auto 18px;grid-template-columns:300px 1fr;padding:28px}.about-values{max-width:1000px;margin:18px auto 0}.about-values>div{text-align:center;min-height:128px;display:flex;flex-direction:column;justify-content:center;align-items:center}.about-values b{font-size:31px}
.school-visual{max-width:1050px;margin:38px auto 0;grid-template-columns:1.1fr .9fr;padding:24px}.school-visual img{height:330px}
.academia-showcase{max-width:1080px;margin:38px auto 22px;padding:42px;border-radius:28px;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;background:linear-gradient(135deg,#180b43,#33106f 60%,#0c6ba7);color:#fff;box-shadow:0 22px 60px rgba(20,10,52,.16)}.academia-showcase h2{font-family:Georgia,serif;font-size:clamp(38px,4.8vw,58px);line-height:1.03;margin:8px 0 18px}.academia-showcase p{color:#ded7ed;font-size:17px}.language-orbs{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.language-orbs span{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);font-weight:900;font-size:21px}.language-orbs span:nth-child(2){background:var(--uoc-gold);color:#211044;border-color:var(--uoc-gold)}
.service-grid{max-width:1080px;margin:0 auto 30px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:#fff;border:1px solid #e5e0d8;border-radius:22px;padding:28px;box-shadow:0 12px 34px rgba(23,16,48,.07);min-height:220px}.service-card b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#231054;color:#f2c94c;margin-bottom:28px}.service-card h3{font-family:Georgia,serif;font-size:26px;margin:0 0 10px}.service-card p{color:#666371;margin:0}
.contact-grid{max-width:1080px;margin:38px auto 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.contact-card{background:#fff;border:1px solid #e6e0d8;border-radius:22px;padding:26px;text-align:center;box-shadow:0 12px 34px rgba(23,16,48,.07);min-height:205px}.contact-icon{width:50px;height:50px;border-radius:16px;background:linear-gradient(145deg,#271061,#0d6ea9);color:#fff;display:grid;place-items:center;margin:0 auto 18px;font-size:22px}.contact-card h3{font-family:Georgia,serif;font-size:24px;margin:0 0 8px}.contact-card p{font-size:15px;color:#565360;margin:0}.legal-card{max-width:1080px;margin:20px auto 0;display:grid;grid-template-columns:.75fr 1.25fr;gap:34px;align-items:center;background:#120936;color:#fff;border-radius:24px;padding:32px}.legal-card h2{font-family:Georgia,serif;font-size:38px;margin:4px 0}.legal-card dl{margin:0;display:grid;gap:8px}.legal-card dl>div{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12)}.legal-card dl>div:last-child{border-bottom:0}.legal-card dt{color:#aaa1be}.legal-card dd{margin:0;font-weight:800}.related-section{max-width:1080px;margin:60px auto 0}

/* Footer: no giant logo, balanced columns */
.footer{display:block;padding:0;background:#0c0625;border-top:4px solid var(--uoc-gold)}.footer-inner{display:grid;grid-template-columns:1.35fr .85fr 1fr .7fr;gap:36px;padding:44px 0 26px;align-items:start}.footer-brand{align-items:center;gap:16px}.footer.footer .footer-logo-img{display:block!important;width:88px!important;height:88px!important;max-width:88px!important;max-height:88px!important;object-fit:contain!important;flex:0 0 88px!important}.footer-brand strong{display:block;font-size:16px;line-height:1.25;color:#fff}.footer-brand p{font-size:13px;margin-top:5px}.footer h4{font-size:14px;text-transform:uppercase;letter-spacing:.08em}.footer p,.footer a{font-size:14px;line-height:1.8}.footer-bottom{grid-column:1/-1;text-align:center;margin-top:8px;padding-top:18px}

/* News and other generic lists */
body main>.section:not(.dark):not(.alt):not(.about-premium):not(.afterdark-premium):not(.gallery-premium):not(.lingua-band){background:#fbfaf6}.section-head{max-width:100%;align-items:center}.section-head h2{margin-bottom:0}

@media(max-width:1180px){
  :root{--page-pad:22px}.brand{flex-basis:210px;min-width:210px}.brand-copy strong{font-size:12px}.nav-links>a{font-size:11px;padding:9px 5px}.account-link,.signup-link{padding:7px 9px!important}.main-nav{gap:7px}.program-tiles{grid-template-columns:repeat(4,1fr)}.contact-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:1050px){
  .top-strip{display:none}.nav-shell{min-height:74px}.brand{flex-basis:auto;min-width:0}.main-nav{top:74px;left:0;right:0;padding:20px max(22px,calc((100vw - var(--frame))/2))}.nav-links{width:100%}.nav-actions{width:100%}.academia-showcase,.legal-card{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.premium-hero .hero-content{max-width:760px}.afterdark-premium,.gallery-premium{grid-template-columns:1fr}
}
@media(max-width:720px){
  :root{--page-pad:16px}.site-frame{width:calc(100% - 32px)}.brand-mark.official{width:52px;height:52px;flex-basis:52px}.page-hero{padding:54px 0 42px}.page-layout{padding-top:32px}.page-copy-card{padding:24px 20px}.premium-hero{min-height:590px}.premium-hero .hero-content{padding-left:20px;padding-right:20px}.program-tiles{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:1fr}.academia-showcase{padding:28px 22px}.language-orbs span{width:72px;height:72px}.director-about{grid-template-columns:1fr}.director-about img{max-width:320px;margin:auto}.about-values{grid-template-columns:repeat(2,1fr)}.school-visual{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr;padding-top:36px}.footer-brand{grid-column:auto}.footer-bottom{text-align:left}.legal-card dl>div{grid-template-columns:1fr;gap:3px}.gallery-grid{grid-template-columns:repeat(2,1fr)}
}

/* ===== UOC OFFICIAL CREST UPDATE ===== */
.brand-mark.official{width:64px!important;height:64px!important;flex-basis:64px!important;display:grid!important;place-items:center!important}
.brand-mark.official img{width:100%!important;height:100%!important;object-fit:contain!important;filter:drop-shadow(0 5px 12px rgba(0,0,0,.25))!important}
.footer.footer .footer-logo-img{width:96px!important;height:96px!important;max-width:96px!important;max-height:96px!important}
@media(max-width:720px){.brand-mark.official{width:54px!important;height:54px!important;flex-basis:54px!important}.footer.footer .footer-logo-img{width:82px!important;height:82px!important;max-width:82px!important;max-height:82px!important}}

/* Gallery memo / event overlay */
.gallery-with-memo .gallery-item{position:relative;display:block;overflow:hidden;border-radius:15px;background:#130934}.gallery-with-memo .gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .25s,filter .25s}.gallery-with-memo .gallery-item:hover img{transform:scale(1.035);filter:brightness(.72)}.gallery-memo{position:absolute;left:0;right:0;bottom:0;padding:36px 14px 13px;color:#fff;background:linear-gradient(transparent,rgba(8,6,22,.92));transform:translateY(calc(100% - 54px));transition:transform .23s}.gallery-item:hover .gallery-memo{transform:translateY(0)}.gallery-memo b,.gallery-memo em,.gallery-memo small{display:block}.gallery-memo b{font-size:14px}.gallery-memo em{font-style:normal;color:#f4d76d;font-size:12px;margin-top:3px}.gallery-memo small{font-size:12px;color:#ddd7ea;margin-top:5px;line-height:1.35}
.public-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.public-video-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 12px 34px rgba(20,20,40,.08)}.video-embed iframe{display:block;width:100%;aspect-ratio:16/9;border:0}.filters a.active{background:#25105d;color:#fff;border-color:#25105d}@media(max-width:950px){.public-video-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.public-video-grid{grid-template-columns:1fr}}

/* ===== Visitor themes + font sizes ===== */
.site-frame{max-width:var(--site-max,1440px)}.site-header{background:var(--admin-header-bg,#160a3e);color:var(--admin-header-text,#fff)}.nav-shell{min-height:var(--header-h,86px)}.brand-mark.official{width:var(--logo-w,66px);height:var(--logo-h,66px);flex-basis:var(--logo-w,66px)}.nav-links{gap:var(--nav-gap,7px)}.nav-links>a{font-size:var(--nav-size,13px)}.visitor-tools{display:flex;gap:4px;align-items:center}.visitor-tools button{border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;border-radius:8px;padding:6px 8px;font-weight:800;cursor:pointer}.visitor-tools button:hover{background:rgba(255,255,255,.12)}
html[data-font="small"]{font-size:14px}html[data-font="normal"]{font-size:16px}html[data-font="large"]{font-size:18px}
html[data-theme="light"] body{background:#fff;color:#182033}html[data-theme="light"] .site-header{background:#fff;color:#1b1640;border-bottom:1px solid #e4e0ea}html[data-theme="light"] .nav-links>a,.light .brand{color:#1b1640}html[data-theme="light"] .brand,html[data-theme="light"] .nav-links>a,html[data-theme="light"] .visitor-tools button{color:#1b1640}html[data-theme="light"] .visitor-tools button{border-color:#cbc5d5}
html[data-theme="dark"] body{background:#0d1020;color:#eef2f8}html[data-theme="dark"] .section,html[data-theme="dark"] .content,html[data-theme="dark"] .card,html[data-theme="dark"] .price-info-card{background:#151a2c;color:#eef2f8}html[data-theme="dark"] .section.alt{background:#101526}html[data-theme="dark"] .card-body p,html[data-theme="dark"] .content p{color:#c2cada}
html[data-theme="soft"] body{background:#f4efe5;color:#343044}html[data-theme="soft"] .site-header{background:#54466f}html[data-theme="soft"] .section.alt{background:#ebe1d2}
html[data-theme="contrast"] body{background:#000;color:#fff}html[data-theme="contrast"] .site-header,html[data-theme="contrast"] .footer,html[data-theme="contrast"] .section.dark{background:#000;color:#fff}html[data-theme="contrast"] .section,html[data-theme="contrast"] .card,html[data-theme="contrast"] .content{background:#000;color:#fff;border-color:#fff}html[data-theme="contrast"] a{color:#ffea00}html[data-theme="contrast"] .btn{background:#ffea00;color:#000}
@media(max-width:1050px){.visitor-tools{justify-content:center;margin-top:8px}.brand-mark.official{width:58px;height:58px;flex-basis:58px}}
@media(max-width:720px){.brand-mark.official{width:52px;height:52px;flex-basis:52px}}
.visitor-tools select{max-width:88px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:inherit;border-radius:8px;padding:6px;font-size:11px}.visitor-tools select option{color:#111;background:#fff}

/* ===== MOBILE / TABLET OPTIMIZATION 2026-09 ===== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:hidden}
button,a,input,select,textarea{touch-action:manipulation}
.site-frame{width:min(var(--site-max,1440px),calc(100% - 32px));margin-inline:auto}
.hero-content,.section,.page-hero,.cta-premium{max-width:100%}
.article-image{position:relative;overflow:hidden}
.article-badge{position:absolute;left:14px;bottom:14px;background:rgba(20,10,55,.9);color:#fff;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900}

/* Secret mobile admin reveal */
.uoc-admin-reveal{position:fixed;inset:0;z-index:9999;display:none;place-items:center;padding:20px;background:rgba(7,5,22,.72);backdrop-filter:blur(8px)}
.uoc-admin-reveal.show{display:grid}
.uoc-admin-card{position:relative;width:min(420px,100%);padding:30px;text-align:center;border-radius:24px;background:#fff;color:#17162a;box-shadow:0 30px 100px rgba(0,0,0,.35)}
.uoc-admin-card h3{font-family:Georgia,serif;font-size:30px;margin:12px 0 8px}.uoc-admin-card p{color:#6a6873;margin:0 0 22px}.uoc-admin-card .btn{width:100%}
.uoc-admin-close{position:absolute;right:12px;top:10px;width:38px;height:38px;border:0;border-radius:50%;background:#f0edf5;font-size:25px;cursor:pointer}
.uoc-admin-logo{width:72px;height:72px;border-radius:22px;margin:0 auto;display:grid;place-items:center;background:linear-gradient(145deg,#25105d,#1182c4);color:#fff;font-weight:900;font-size:23px;border:3px solid #f1c744}

/* Tablet landscape / smaller laptops */
@media(max-width:1180px){
  .nav-shell{gap:12px}.brand{min-width:190px}.brand-copy strong{font-size:12px}.brand-copy small{font-size:10px}
  .nav-links>a{font-size:11px;padding:8px 5px}.nav-actions{gap:5px}.account-link,.signup-link{padding:8px 9px!important;font-size:12px}
  .visitor-tools{display:flex;gap:4px;align-items:center}.visitor-tools select{max-width:94px}
  .grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.program-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
  .footer-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Tablet portrait and phones: mobile navigation */
@media(max-width:1050px){
  .site-header{position:sticky;top:0}
  .site-frame{width:min(100% - 28px,900px)}
  .nav-shell{min-height:72px;padding-block:7px;position:relative}
  .brand{min-width:0;max-width:calc(100% - 64px)}
  .brand-mark.official{width:54px!important;height:54px!important;flex-basis:54px}
  .brand-copy strong{font-size:13px}.brand-copy small{font-size:10px}
  .nav-toggle{display:grid;place-items:center;width:44px;height:44px;padding:0;font-size:22px;margin-left:auto}
  .main-nav{top:100%;max-height:calc(100vh - 72px);overflow-y:auto;padding:14px 16px 20px;border-top:1px solid rgba(255,255,255,.12)}
  .nav-links{width:100%;gap:2px}.nav-links>a{font-size:15px!important;padding:12px 10px!important;border-radius:10px}.nav-links>a:hover{background:rgba(255,255,255,.07)}
  .nav-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.lang-switch{grid-column:1/-1;justify-content:flex-start;overflow-x:auto;padding:10px 0!important;margin:0!important;border:0!important}.visitor-tools{grid-column:1/-1;display:grid;grid-template-columns:1fr auto auto auto;gap:6px}.visitor-tools select{max-width:none;width:100%}.visitor-tools button{min-width:42px;min-height:40px}.account-link,.signup-link{text-align:center!important;padding:11px!important}
  .top-strip-inner{padding-inline:0}.top-tagline{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-contact{display:none}
  .premium-hero{min-height:620px}.premium-hero .hero-content{max-width:740px;padding:68px 28px}.premium-hero h1{font-size:clamp(42px,7vw,68px)}
  .about-premium,.afterdark-premium,.gallery-premium,.lingua-band,.feature-row,.school-visual,.director-about{grid-template-columns:1fr!important}
  .director-card{max-width:420px}.director-about img{max-width:420px}
  .program-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gallery-showcase{grid-auto-rows:155px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.price-intro-grid{grid-template-columns:1fr}
  .auth-page{grid-template-columns:1fr}.auth-art{min-height:auto;padding:54px 30px}.profile-wrap{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Large phones */
@media(max-width:720px){
  .site-frame{width:calc(100% - 24px)}
  .top-strip{display:none}
  .nav-shell{min-height:68px}.brand-mark.official{width:50px!important;height:50px!important;flex-basis:50px}.brand-copy{display:block;min-width:0}.brand-copy strong,.brand-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-copy strong{font-size:12px}
  .hero,.premium-hero{min-height:560px}.premium-hero .hero-content{padding:58px 18px 44px}.premium-hero h1,.hero h1{font-size:clamp(36px,11vw,52px);line-height:1.02}.premium-hero p,.hero p{font-size:17px}.hero-points{gap:10px;margin-top:24px;padding-top:16px}.hero-points span{font-size:10px}
  .actions{display:grid;grid-template-columns:1fr;gap:9px}.actions .btn{width:100%}
  .section{padding:52px 16px}.section-head{display:block;margin-bottom:24px}.section-head h2{font-size:clamp(32px,9vw,46px)}
  .grid,.grid.four{grid-template-columns:1fr!important;gap:15px}.card-body{padding:18px}.card-body h3{font-size:22px}
  .about-premium{padding-inline:18px}.director-card{max-width:100%}.director-label{left:10px;right:10px;bottom:10px}
  .program-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.program-tile{min-height:165px;padding:15px}.program-icon{margin-bottom:20px}.program-tile strong{font-size:18px}
  .lingua-symbols span{width:68px;height:68px;font-size:16px}
  .afterdark-card{min-height:430px}.afterdark-overlay{padding:38px 24px}.afterdark-overlay h2{font-size:46px}.price-preview{padding:24px}.price-preview h2{font-size:38px}
  .timeline{grid-template-columns:1fr!important}.event{grid-template-columns:1fr!important;gap:5px;padding:16px 0}.event>div:last-child{font-size:14px;color:inherit;opacity:.78}
  .gallery-premium{padding-inline:18px}.gallery-showcase{grid-template-columns:1fr 1fr;grid-auto-rows:125px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .cta-premium{padding:28px 18px}.cta-premium,.cta-premium>div:first-child{align-items:flex-start}.cta-premium>div:first-child>span{font-size:38px}.cta-premium h2{font-size:30px}.cta-actions{display:grid;width:100%}.cta-actions .btn{width:100%}
  .page-hero{padding:68px 18px 38px}.page-hero h1{font-size:clamp(38px,12vw,58px)}.page-hero p{font-size:17px}.content{padding:38px 16px 60px}.content p{font-size:16px}.article-full .lead{font-size:19px}
  .director-about{padding:18px;margin-top:30px}.director-about h2{font-size:34px}.about-values{grid-template-columns:1fr 1fr}.school-visual{padding:15px}.school-visual img{height:260px}.school-visual h2{font-size:32px}
  .price-wrap{padding:42px 14px 65px}.price-grid{grid-template-columns:1fr}.price-info-card,.price-note-card{padding:22px}.instrument-price-card{min-height:0}.price-table-wrap{overflow-x:auto}.price-table{min-width:520px}
  .form-grid{grid-template-columns:1fr}.form input,.form textarea,.form select{font-size:16px} /* prevents mobile zoom */
  .auth-art,.auth-panel{padding-inline:18px}.auth-art h1{font-size:44px}.auth-card{padding:22px}.auth-card h2{font-size:34px}
  .footer{padding:42px 16px}.footer-inner{grid-template-columns:1fr!important}.footer-brand{align-items:flex-start}.footer-logo-img{width:64px;height:64px}
}

/* Small Android phones */
@media(max-width:430px){
  .site-frame{width:calc(100% - 20px)}
  .brand-copy strong{max-width:190px}.brand-copy small{max-width:190px}.nav-toggle{width:42px;height:42px}
  .premium-hero{min-height:520px}.premium-hero .hero-content{padding:48px 14px 34px}.premium-hero h1{font-size:38px}.eyebrow{font-size:10px;letter-spacing:.12em}
  .program-tiles{grid-template-columns:1fr 1fr}.program-tile{min-height:150px}.program-icon{width:44px;height:44px;font-size:22px}.program-tile strong{font-size:16px}.program-tile small{font-size:11px}
  .gallery-showcase{grid-auto-rows:108px}.gallery-grid{grid-template-columns:1fr 1fr}.about-values{grid-template-columns:1fr}
  .lingua-symbols{gap:6px}.lingua-symbols span{width:58px;height:58px;font-size:13px}
  .uoc-admin-card{padding:26px 20px}
}

/* Keep touch targets accessible */
@media(pointer:coarse){.btn,.main-nav a,.lang-switch a,.visitor-tools button,.nav-toggle{min-height:44px}}


/* Gallery splash / lightbox */
html.lightbox-open,html.lightbox-open body{overflow:hidden}
.uoc-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(4,7,18,.94);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:28px;opacity:0;visibility:hidden;transition:.2s ease}
.uoc-lightbox.show{opacity:1;visibility:visible}
.uoc-lightbox-stage{margin:0;max-width:min(92vw,1500px);max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:12px;position:relative}
.uoc-lightbox-stage img{max-width:100%;max-height:78vh;width:auto;height:auto;object-fit:contain;border-radius:14px;box-shadow:0 25px 80px rgba(0,0,0,.55);cursor:zoom-out;background:#05070d}
.uoc-lightbox-stage figcaption{min-height:28px;color:#fff;text-align:center;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 14px;max-width:1000px}
.uoc-lightbox-stage figcaption strong{font-size:17px}.uoc-lightbox-stage figcaption span{color:#f1c744;font-size:14px}.uoc-lightbox-stage figcaption small{width:100%;color:#c9cfdd;font-size:13px}
.uoc-lightbox-close,.uoc-lightbox-prev,.uoc-lightbox-next{position:fixed;border:0;color:#fff;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);cursor:pointer;display:grid;place-items:center;transition:.18s}
.uoc-lightbox-close:hover,.uoc-lightbox-prev:hover,.uoc-lightbox-next:hover{background:#f1c744;color:#17112e}
.uoc-lightbox-close{top:20px;right:22px;width:48px;height:48px;border-radius:50%;font-size:30px;line-height:1}
.uoc-lightbox-prev,.uoc-lightbox-next{top:50%;transform:translateY(-50%);width:52px;height:68px;border-radius:14px;font-size:42px}
.uoc-lightbox-prev{left:18px}.uoc-lightbox-next{right:18px}
@media(max-width:720px){.uoc-lightbox{padding:14px}.uoc-lightbox-stage img{max-height:72vh;border-radius:10px}.uoc-lightbox-prev,.uoc-lightbox-next{width:42px;height:54px;font-size:34px;top:auto;bottom:22px}.uoc-lightbox-prev{left:22px}.uoc-lightbox-next{right:22px}.uoc-lightbox-close{top:12px;right:12px;width:44px;height:44px}.uoc-lightbox-stage figcaption{padding:0 42px}}

/* Appearance editor variables - final fix */
.site-header .nav-shell{padding-left:var(--header-pad-x,24px);padding-right:var(--header-pad-x,24px);min-height:var(--header-h,86px)}
@media (max-width:1050px){
  .site-header .nav-shell{min-height:var(--header-h-tablet,78px)}
  .site-header .brand-mark.official{width:var(--logo-w-tablet,60px);height:var(--logo-h-tablet,60px);flex-basis:var(--logo-w-tablet,60px)}
}
@media (max-width:720px){
  .site-header .nav-shell{min-height:var(--header-h-mobile,70px)}
  .site-header .brand-mark.official{width:var(--logo-w-mobile,56px);height:var(--logo-h-mobile,56px);flex-basis:var(--logo-w-mobile,56px)}
}
/* FINAL 16-language dropdown */
.lang-switch.lang-dropdown{position:relative;display:block;margin:0;padding:0 8px 0 0;border-right:1px solid rgba(255,255,255,.16);border-left:0}
.lang-dropdown-toggle{display:flex;align-items:center;gap:7px;min-height:40px;padding:8px 10px;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font:inherit;font-weight:800;cursor:pointer;white-space:nowrap}
.lang-current-flag{font-size:20px}.lang-chevron{opacity:.8}.lang-dropdown-menu{display:none;position:absolute;right:8px;top:calc(100% + 8px);z-index:1000;min-width:235px;max-height:420px;overflow:auto;padding:7px;background:#fff;border:1px solid #e2e4ea;border-radius:12px;box-shadow:0 18px 45px rgba(0,0,0,.24)}
.lang-dropdown.open .lang-dropdown-menu{display:block}.main-nav .lang-dropdown-menu a{display:flex!important;align-items:center;gap:9px;width:100%;min-height:38px;padding:8px 10px!important;border:0!important;border-radius:8px!important;color:#1b2130!important;background:transparent!important;text-align:left;font-size:13px!important;letter-spacing:0!important}.main-nav .lang-dropdown-menu a:hover,.main-nav .lang-dropdown-menu a.active{background:#f1f3f7!important}.lang-dropdown-menu a span:first-child{font-size:20px}.lang-dropdown-menu a span:nth-child(2){flex:1}.lang-dropdown-menu a b{color:#7a5b12}
@media(max-width:1000px){.lang-switch.lang-dropdown{border:0;padding:0!important;margin:0!important}.lang-dropdown-toggle{width:100%;justify-content:flex-start}.lang-current-name{flex:1;text-align:left}.lang-dropdown-menu{position:static;min-width:0;width:100%;max-height:320px;margin-top:6px;box-shadow:none}}

/* ===== 2026 Theme Studio: light musical themes ===== */
html[data-theme="light"] body,
html[data-theme="ivory"] body,
html[data-theme="soft"] body{position:relative;isolation:isolate}
html[data-theme="light"] body::before,
html[data-theme="ivory"] body::before,
html[data-theme="soft"] body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:url('/assets/img/theme-instruments.svg');background-repeat:repeat-y;background-position:center top;background-size:min(1450px,100vw) auto;opacity:var(--instrument-opacity,.085)}
html[data-theme="light"] body{background:linear-gradient(180deg,#fffefa 0%,#ffffff 38%,#fbf8f0 100%);color:#171a42}
html[data-theme="light"] .site-header{background:rgba(255,255,255,.96);color:#17155a;border-bottom:1px solid #ece5d7;box-shadow:0 8px 30px rgba(31,26,76,.05)}
html[data-theme="light"] .top-strip{background:#f8f3e9;color:#38325f}
html[data-theme="light"] .top-strip a,html[data-theme="light"] .brand,html[data-theme="light"] .nav-links>a{color:#17155a}
html[data-theme="light"] .nav-links>a.active,html[data-theme="light"] .nav-links>a:hover{color:#ae7c16}
html[data-theme="light"] .premium-hero{background:linear-gradient(90deg,rgba(255,253,247,.98) 0%,rgba(255,253,247,.9) 39%,rgba(255,255,255,.12) 70%),linear-gradient(135deg,#fdf7eb,#f4efff)}
html[data-theme="light"] .premium-hero::after{background:linear-gradient(90deg,rgba(255,253,247,.96),rgba(255,253,247,.64) 45%,rgba(20,14,62,.08) 100%)}
html[data-theme="light"] .premium-hero .hero-content,html[data-theme="light"] .premium-hero h1{color:#17155a;text-shadow:none}
html[data-theme="light"] .premium-hero p{color:#474263}
html[data-theme="light"] .hero-points{border-color:#dfd4bd}.premium-hero .hero-points span{color:inherit}
html[data-theme="light"] .section,html[data-theme="light"] .content{background:rgba(255,255,255,.88)}
html[data-theme="light"] .section.alt{background:rgba(250,247,240,.92)}
html[data-theme="light"] .section.dark{background:#1b1550;color:#fff}
html[data-theme="light"] .card,html[data-theme="light"] .program-tile,html[data-theme="light"] .director-card,html[data-theme="light"] .price-info-card{box-shadow:0 12px 38px rgba(42,31,82,.08);border-color:#eee5d6}

html[data-theme="ivory"] body{background:#fff9ed;color:#252347}
html[data-theme="ivory"] .site-header{background:rgba(255,249,237,.97);color:#252347;border-bottom:1px solid #e8dbc2}
html[data-theme="ivory"] .top-strip{background:#f2e6cf;color:#3f3557}
html[data-theme="ivory"] .top-strip a,html[data-theme="ivory"] .brand,html[data-theme="ivory"] .nav-links>a{color:#252347}
html[data-theme="ivory"] .premium-hero{background:#f9efdc}
html[data-theme="ivory"] .premium-hero::after{background:linear-gradient(90deg,rgba(255,249,237,.98),rgba(255,249,237,.72) 48%,rgba(55,38,92,.08))}
html[data-theme="ivory"] .premium-hero .hero-content,html[data-theme="ivory"] .premium-hero h1{color:#252347;text-shadow:none}
html[data-theme="ivory"] .premium-hero p{color:#514866}
html[data-theme="ivory"] .section,html[data-theme="ivory"] .content,html[data-theme="ivory"] .card{background:rgba(255,251,243,.9)}
html[data-theme="ivory"] .section.alt{background:rgba(246,237,220,.92)}
html[data-theme="ivory"] .section.dark{background:#30245b;color:#fff}
html[data-theme="ivory"] .btn{background:#c8952d;color:#181336}

html[data-theme="soft"] body{background:#f8f4ee;color:#352a55}
html[data-theme="soft"] .site-header{background:rgba(246,240,250,.96);color:#352a55}
html[data-theme="soft"] .brand,html[data-theme="soft"] .nav-links>a{color:#352a55}
html[data-theme="soft"] .premium-hero::after{background:linear-gradient(90deg,rgba(248,244,238,.96),rgba(238,229,246,.68),rgba(70,50,95,.08))}
html[data-theme="soft"] .premium-hero h1,html[data-theme="soft"] .premium-hero .hero-content{color:#352a55;text-shadow:none}

/* Public theme gallery */
.theme-page-hero{background:linear-gradient(135deg,#f8f3e7,#f4f0ff);color:#17155a}
.theme-public-wrap{max-width:var(--site-max,1440px);margin:auto}
.theme-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.theme-public-card{background:#fff;border:1px solid #e8e2d7;border-radius:22px;overflow:hidden;box-shadow:0 16px 48px rgba(30,24,70,.08)}
.theme-public-preview{height:210px;background:var(--t1);position:relative;padding:20px;overflow:hidden}
.theme-public-preview span{display:block;height:34px;background:var(--t2);border-radius:9px;margin-bottom:18px;box-shadow:0 2px 12px rgba(0,0,0,.08)}
.theme-public-preview b{display:block;width:58%;height:55px;background:var(--t3);border-radius:12px;opacity:.95}
.theme-public-preview i{display:block;width:42%;height:18px;background:var(--t4);border-radius:10px;margin-top:12px}
.theme-public-preview em{position:absolute;width:185px;height:110px;right:20px;bottom:18px;background:linear-gradient(135deg,var(--t2),var(--t4));border-radius:20px;opacity:.72}
.theme-public-copy{padding:22px}.theme-public-copy h2{font:700 28px Georgia,serif;margin:0 0 8px;color:#18163f}.theme-public-copy p{min-height:54px;color:#666078}
@media(max-width:1000px){.theme-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.theme-public-grid{grid-template-columns:1fr}.theme-public-preview{height:180px}}

html[data-theme="light"] .site-header,html[data-theme="light"] main,html[data-theme="light"] .footer,html[data-theme="ivory"] .site-header,html[data-theme="ivory"] main,html[data-theme="ivory"] .footer,html[data-theme="soft"] .site-header,html[data-theme="soft"] main,html[data-theme="soft"] .footer{position:relative;z-index:1}

/* ===== Theme visibility hotfix 2026-09-11 ===== */
/* Light themes must override the ORIGINAL hero image overlay, not a non-existing hero overlay. */
html[data-theme="light"] .premium-hero,
html[data-theme="ivory"] .premium-hero,
html[data-theme="soft"] .premium-hero{position:relative;background:#fffdf8;color:#17155a}

html[data-theme="light"] .premium-hero .hero-media img{
  filter:saturate(.92) brightness(1.02) contrast(.98);
}
html[data-theme="light"] .premium-hero .hero-media:after{
  background:linear-gradient(90deg,
    rgba(255,253,247,.99) 0%,
    rgba(255,253,247,.97) 32%,
    rgba(255,253,247,.82) 49%,
    rgba(255,253,247,.30) 68%,
    rgba(20,14,62,.10) 100%);
}
html[data-theme="ivory"] .premium-hero .hero-media img{
  filter:saturate(.88) brightness(1.04) sepia(.06);
}
html[data-theme="ivory"] .premium-hero .hero-media:after{
  background:linear-gradient(90deg,
    rgba(255,249,237,.99) 0%,
    rgba(255,249,237,.97) 32%,
    rgba(255,249,237,.84) 50%,
    rgba(255,249,237,.34) 69%,
    rgba(55,38,92,.10) 100%);
}
html[data-theme="soft"] .premium-hero .hero-media img{
  filter:saturate(.82) brightness(1.02) contrast(.96);
}
html[data-theme="soft"] .premium-hero .hero-media:after{
  background:linear-gradient(90deg,
    rgba(248,244,238,.99) 0%,
    rgba(248,244,238,.96) 33%,
    rgba(238,229,246,.78) 51%,
    rgba(238,229,246,.30) 70%,
    rgba(53,42,85,.10) 100%);
}

/* Remove legacy first-line white color which made the light-theme title half invisible. */
html[data-theme="light"] .premium-hero h1,
html[data-theme="light"] .premium-hero h1::first-line{color:#17155a!important;text-shadow:none!important}
html[data-theme="ivory"] .premium-hero h1,
html[data-theme="ivory"] .premium-hero h1::first-line{color:#252347!important;text-shadow:none!important}
html[data-theme="soft"] .premium-hero h1,
html[data-theme="soft"] .premium-hero h1::first-line{color:#352a55!important;text-shadow:none!important}

html[data-theme="light"] .premium-hero .eyebrow{color:#a97713!important}
html[data-theme="ivory"] .premium-hero .eyebrow{color:#a16e13!important}
html[data-theme="soft"] .premium-hero .eyebrow{color:#976f25!important}
html[data-theme="light"] .premium-hero p{color:#4b4665!important}
html[data-theme="ivory"] .premium-hero p{color:#514866!important}
html[data-theme="soft"] .premium-hero p{color:#5b4e6c!important}

html[data-theme="light"] .premium-hero .btn.ghost,
html[data-theme="ivory"] .premium-hero .btn.ghost,
html[data-theme="soft"] .premium-hero .btn.ghost{color:#21175f;border-color:rgba(33,23,95,.35);background:rgba(255,255,255,.52)}
html[data-theme="light"] .premium-hero .hero-points,
html[data-theme="ivory"] .premium-hero .hero-points,
html[data-theme="soft"] .premium-hero .hero-points{color:#352f59;border-color:rgba(48,39,91,.18)}

/* Visible but subtle musical-instrument artwork in the light designs. */
html[data-theme="light"] .premium-hero:before,
html[data-theme="ivory"] .premium-hero:before,
html[data-theme="soft"] .premium-hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background-image:url('/assets/img/theme-instruments.svg');
  background-repeat:no-repeat;
  background-position:left center;
  background-size:min(760px,58vw) auto;
  opacity:calc(var(--instrument-opacity,.085) * 1.35);
  mix-blend-mode:multiply;
}
html[data-theme="light"] .premium-hero .hero-content,
html[data-theme="ivory"] .premium-hero .hero-content,
html[data-theme="soft"] .premium-hero .hero-content{z-index:2}

/* Put the instrument motif on the light content surfaces as well, without obscuring text. */
html[data-theme="light"] main,
html[data-theme="ivory"] main,
html[data-theme="soft"] main{position:relative}
html[data-theme="light"] .section:not(.dark),
html[data-theme="ivory"] .section:not(.dark),
html[data-theme="soft"] .section:not(.dark){
  background-image:url('/assets/img/theme-instruments.svg');
  background-repeat:no-repeat;
  background-position:right center;
  background-size:min(920px,70vw) auto;
  background-blend-mode:multiply;
}
html[data-theme="light"] .section:not(.dark){background-color:rgba(255,255,255,.94)}
html[data-theme="ivory"] .section:not(.dark){background-color:rgba(255,249,237,.95)}
html[data-theme="soft"] .section:not(.dark){background-color:rgba(248,244,238,.95)}

/* Light-theme controls in the header were designed for a dark header; make them readable. */
html[data-theme="light"] .lang-dropdown-toggle,
html[data-theme="ivory"] .lang-dropdown-toggle,
html[data-theme="soft"] .lang-dropdown-toggle{color:#21175f;background:#fff;border-color:#ddd5c7}
html[data-theme="light"] .visitor-tools select,
html[data-theme="ivory"] .visitor-tools select,
html[data-theme="soft"] .visitor-tools select{color:#21175f;background:#fff;border-color:#ddd5c7}

@media(max-width:720px){
  html[data-theme="light"] .premium-hero:before,
  html[data-theme="ivory"] .premium-hero:before,
  html[data-theme="soft"] .premium-hero:before{background-size:100% auto;opacity:calc(var(--instrument-opacity,.085) * .9)}
  html[data-theme="light"] .premium-hero .hero-media:after,
  html[data-theme="ivory"] .premium-hero .hero-media:after,
  html[data-theme="soft"] .premium-hero .hero-media:after{background:linear-gradient(180deg,rgba(255,253,247,.92),rgba(255,253,247,.72) 58%,rgba(255,253,247,.28))}
}

/* ===== FINAL UOC: SIX ADMIN-CONTROLLED FULL THEMES ===== */

/* =========================================================
   UOC COMPLETE THEME SYSTEM V2
   Each theme controls the whole public site: header, logo,
   banner, sections, cards, forms, tables, gallery and footer.
   ========================================================= */
html[data-theme="violet"]{
  --t-bg:#170832;--t-bg2:#29105e;--t-paper:#faf6ee;--t-paper2:#efe7da;--t-surface:#ffffff;
  --t-ink:#21163f;--t-muted:#6b6277;--t-accent:#efc54d;--t-accent2:#7c42d7;--t-line:rgba(70,38,118,.17);
  --t-header:#1b0a3a;--t-headerText:#fff;--t-footer:#0f061e;--t-shadow:rgba(52,19,89,.16);
  --t-radius:28px;--t-radiusSmall:16px;--t-fontHead:Georgia,"Times New Roman",serif;
}
html[data-theme="academy"]{
  --t-bg:#eaf4ff;--t-bg2:#d7e9fb;--t-paper:#f8fbff;--t-paper2:#eaf3fb;--t-surface:#ffffff;
  --t-ink:#18365e;--t-muted:#61758d;--t-accent:#2876d3;--t-accent2:#d4a83c;--t-line:rgba(30,92,151,.17);
  --t-header:#ffffff;--t-headerText:#193b68;--t-footer:#16335a;--t-shadow:rgba(33,89,145,.13);
  --t-radius:16px;--t-radiusSmall:10px;--t-fontHead:Georgia,"Times New Roman",serif;
}
html[data-theme="piano"]{
  --t-bg:#070707;--t-bg2:#13100b;--t-paper:#0c0b09;--t-paper2:#15120d;--t-surface:#17130d;
  --t-ink:#f6edd8;--t-muted:#bdb29c;--t-accent:#d8aa42;--t-accent2:#f0ce78;--t-line:rgba(216,170,66,.30);
  --t-header:#050505;--t-headerText:#f8f1df;--t-footer:#020202;--t-shadow:rgba(0,0,0,.44);
  --t-radius:8px;--t-radiusSmall:5px;--t-fontHead:Georgia,"Times New Roman",serif;
}
html[data-theme="creative"]{
  --t-bg:#e7efcf;--t-bg2:#d5e2b5;--t-paper:#f6f7ed;--t-paper2:#e9eed9;--t-surface:#fffdf7;
  --t-ink:#29432e;--t-muted:#6d7866;--t-accent:#719d4c;--t-accent2:#c79535;--t-line:rgba(67,112,57,.18);
  --t-header:#f5f7eb;--t-headerText:#27482f;--t-footer:#203f2c;--t-shadow:rgba(52,92,45,.14);
  --t-radius:30px;--t-radiusSmall:18px;--t-fontHead:Georgia,"Times New Roman",serif;
}
html[data-theme="theatre"]{
  --t-bg:#3b090c;--t-bg2:#65151a;--t-paper:#fff6e9;--t-paper2:#f4e5d2;--t-surface:#fffaf2;
  --t-ink:#3f1718;--t-muted:#7e6763;--t-accent:#d7a33b;--t-accent2:#8e1d25;--t-line:rgba(120,31,35,.18);
  --t-header:#430b0e;--t-headerText:#fff8ea;--t-footer:#280609;--t-shadow:rgba(80,10,15,.18);
  --t-radius:18px;--t-radiusSmall:10px;--t-fontHead:Georgia,"Times New Roman",serif;
}

html[data-theme] body{background:var(--t-paper)!important;color:var(--t-ink)!important;transition:background .2s,color .2s}
html[data-theme] h1,html[data-theme] h2,html[data-theme] h3,html[data-theme] .card-body h3,html[data-theme] .section-head h2{font-family:var(--t-fontHead)!important;color:inherit}
html[data-theme] .site-header{background:var(--t-header)!important;color:var(--t-headerText)!important;border-bottom:1px solid var(--t-line)!important;box-shadow:0 10px 34px var(--t-shadow)!important}
html[data-theme] .top-strip{background:color-mix(in srgb,var(--t-header) 88%,#000 12%)!important;border-bottom:1px solid var(--t-line)!important;color:var(--t-headerText)!important}
html[data-theme] .brand,html[data-theme] .brand-copy strong,html[data-theme] .brand-copy small,html[data-theme] .nav-links>a{color:var(--t-headerText)!important}
html[data-theme] .brand-mark.official{background:transparent!important;box-shadow:none!important;border:0!important}
html[data-theme] .brand-mark.official img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 8px var(--t-shadow))}
html[data-theme] .nav-links>a{border-radius:var(--t-radiusSmall)!important}
html[data-theme] .nav-links>a:hover,html[data-theme] .nav-links>a.active{background:color-mix(in srgb,var(--t-accent) 16%,transparent)!important;color:var(--t-accent)!important}
html[data-theme] .nav-toggle,html[data-theme] .lang-dropdown-toggle,html[data-theme] .visitor-tools button,html[data-theme] .account-link{color:var(--t-headerText)!important;border-color:var(--t-line)!important;background:color-mix(in srgb,var(--t-headerText) 7%,transparent)!important}
html[data-theme] .signup-link{background:var(--t-accent)!important;color:#14110b!important;border-color:var(--t-accent)!important}
html[data-theme="academy"] .signup-link,html[data-theme="creative"] .signup-link{color:#fff!important}
html[data-theme] .lang-dropdown-menu{background:var(--t-surface)!important;color:var(--t-ink)!important;border-color:var(--t-line)!important;box-shadow:0 20px 50px var(--t-shadow)!important}
html[data-theme] .lang-dropdown-menu a.active,html[data-theme] .lang-dropdown-menu a:hover{background:color-mix(in srgb,var(--t-accent) 15%,var(--t-surface))!important;color:var(--t-ink)!important}

/* Clean, exact banner presentation: no blur, no duplicated background. */
.theme-hero-banner{width:100%;background:var(--t-bg);overflow:hidden;border-bottom:1px solid var(--t-line)}
.theme-hero-banner img{display:block;width:100%;height:auto;aspect-ratio:2048/682;object-fit:cover;object-position:center}
.hero-action-strip{background:linear-gradient(135deg,var(--t-bg),var(--t-bg2));color:var(--t-headerText);border-bottom:1px solid var(--t-line)}
.hero-action-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px clamp(20px,5vw,70px)}
.hero-action-copy{display:grid;gap:3px;max-width:800px}.hero-action-copy strong{font-family:var(--t-fontHead);font-size:clamp(20px,2.2vw,31px);line-height:1.1}.hero-action-copy>span:last-child{opacity:.80;font-size:14px}
html[data-theme] .hero-action-strip .eyebrow{color:var(--t-accent)!important}
html[data-theme] .hero-action-strip .btn.ghost{color:var(--t-headerText)!important;border-color:color-mix(in srgb,var(--t-headerText) 45%,transparent)!important;background:transparent!important}

/* Shared complete page skin */
html[data-theme] .section,html[data-theme] .content,html[data-theme] .page-layout,html[data-theme] .profile-wrap{background:var(--t-paper)!important;color:var(--t-ink)!important}
html[data-theme] .section.alt{background:var(--t-paper2)!important}
html[data-theme] .section.dark,html[data-theme] .afterdark-premium{background:linear-gradient(145deg,var(--t-bg),var(--t-bg2))!important;color:var(--t-headerText)!important}
html[data-theme] .page-hero,html[data-theme] .price-hero,html[data-theme] .profile-hero{background:linear-gradient(135deg,var(--t-bg),var(--t-bg2))!important;color:var(--t-headerText)!important;border-bottom:1px solid var(--t-line)!important}
html[data-theme] .page-hero:after,html[data-theme] .price-hero:after{color:color-mix(in srgb,var(--t-accent) 14%,transparent)!important}
html[data-theme] .eyebrow,html[data-theme] .link{color:var(--t-accent2)!important}
html[data-theme="violet"] .eyebrow,html[data-theme="piano"] .eyebrow,html[data-theme="theatre"] .eyebrow{color:var(--t-accent)!important}
html[data-theme] .section-head p,html[data-theme] .card-body p,html[data-theme] .content p,html[data-theme] .price-duration{color:var(--t-muted)!important}
html[data-theme] .section.dark .section-head p,html[data-theme] .section.dark p{color:color-mix(in srgb,var(--t-headerText) 74%,transparent)!important}

/* Cards across news, programs, events, pages, profiles, prices, videos */
html[data-theme] .card,html[data-theme] .article-card,html[data-theme] .program-tile,html[data-theme] .director-card,html[data-theme] .page-copy-card,html[data-theme] .price-info-card,html[data-theme] .instrument-price-card,html[data-theme] .public-video-card,html[data-theme] .auth-card,html[data-theme] .profile-card,html[data-theme] .empty-state,html[data-theme] .application-item,html[data-theme] .price-table-wrap{background:var(--t-surface)!important;color:var(--t-ink)!important;border:1px solid var(--t-line)!important;border-radius:var(--t-radius)!important;box-shadow:0 16px 42px var(--t-shadow)!important}
html[data-theme] .program-tile{background:linear-gradient(145deg,var(--t-surface),color-mix(in srgb,var(--t-paper2) 65%,var(--t-surface)))!important}
html[data-theme] .program-tile:hover,html[data-theme] .card:hover,html[data-theme] .instrument-price-card:hover{transform:translateY(-4px);box-shadow:0 22px 54px var(--t-shadow)!important}
html[data-theme] .article-badge,html[data-theme] .status-pill{background:var(--t-accent)!important;color:#17130b!important}
html[data-theme="academy"] .article-badge,html[data-theme="creative"] .article-badge{color:#fff!important}
html[data-theme] .instrument-price-card:before{background:linear-gradient(var(--t-accent),var(--t-accent2))!important}
html[data-theme] .instrument-symbol,html[data-theme] .program-icon{background:color-mix(in srgb,var(--t-accent) 16%,var(--t-surface))!important;color:var(--t-accent2)!important}
html[data-theme] .price-number strong{color:var(--t-ink)!important}.price-number span{color:var(--t-accent2)!important}
html[data-theme] .price-note-card{background:linear-gradient(145deg,var(--t-bg),var(--t-bg2))!important;color:var(--t-headerText)!important;border:1px solid var(--t-line)!important;border-radius:var(--t-radius)!important}
html[data-theme] .price-note-card p{color:color-mix(in srgb,var(--t-headerText) 78%,transparent)!important}
html[data-theme] .price-note-icon{color:var(--t-accent)!important}

/* Buttons and form controls */
html[data-theme] .btn{background:var(--t-accent)!important;color:#15110a!important;border-color:var(--t-accent)!important;border-radius:999px!important;box-shadow:0 8px 20px color-mix(in srgb,var(--t-accent) 25%,transparent)!important}
html[data-theme="academy"] .btn,html[data-theme="creative"] .btn{color:#fff!important}
html[data-theme] .btn.secondary,html[data-theme] .btn.ghost{background:transparent!important;color:var(--t-ink)!important;border-color:var(--t-line)!important;box-shadow:none!important}
html[data-theme] .section.dark .btn.ghost,html[data-theme] .page-hero .btn.ghost{color:var(--t-headerText)!important;border-color:color-mix(in srgb,var(--t-headerText) 35%,transparent)!important}
html[data-theme] .form input,html[data-theme] .form textarea,html[data-theme] .form select,html[data-theme] .auth-card input,html[data-theme] .auth-card select,html[data-theme] .filters a{background:var(--t-surface)!important;color:var(--t-ink)!important;border:1px solid var(--t-line)!important;border-radius:var(--t-radiusSmall)!important}
html[data-theme] .form input:focus,html[data-theme] .form textarea:focus,html[data-theme] .form select:focus,html[data-theme] .auth-card input:focus{outline:2px solid color-mix(in srgb,var(--t-accent) 55%,transparent)!important;border-color:var(--t-accent)!important}
html[data-theme] .notice{background:color-mix(in srgb,var(--t-accent) 12%,var(--t-surface))!important;color:var(--t-ink)!important;border-color:color-mix(in srgb,var(--t-accent) 35%,var(--t-line))!important}

/* Gallery and media */
html[data-theme] .gallery-item,html[data-theme] .gallery-grid a{border-radius:var(--t-radiusSmall)!important;border:1px solid var(--t-line)!important;box-shadow:0 12px 30px var(--t-shadow)!important}
html[data-theme] .gallery-memo{background:linear-gradient(0deg,color-mix(in srgb,var(--t-bg) 90%,transparent),transparent)!important;color:#fff!important}
html[data-theme] .gallery-premium{background:var(--t-paper)!important}
html[data-theme] .gallery-intro{color:var(--t-ink)!important}

/* Tables / lists / timelines / events */
html[data-theme] table{color:var(--t-ink)!important}html[data-theme] th{background:color-mix(in srgb,var(--t-accent) 12%,var(--t-surface))!important;color:var(--t-ink)!important}html[data-theme] td,html[data-theme] th{border-color:var(--t-line)!important}
html[data-theme] .event{border-color:var(--t-line)!important}.section.dark .event{border-color:color-mix(in srgb,var(--t-headerText) 18%,transparent)!important}
html[data-theme] .time-item{border-top-color:var(--t-accent)!important;background:color-mix(in srgb,var(--t-headerText) 6%,transparent)!important;border-radius:0 0 var(--t-radiusSmall) var(--t-radiusSmall)!important}.time-item b{color:var(--t-accent)!important}

/* Authentication / member portal */
html[data-theme] .auth-page{background:var(--t-paper)!important;color:var(--t-ink)!important}
html[data-theme] .auth-art{background:linear-gradient(145deg,var(--t-bg),var(--t-bg2))!important;color:var(--t-headerText)!important}
html[data-theme] .auth-art .eyebrow{color:var(--t-accent)!important}
html[data-theme] .avatar{background:linear-gradient(135deg,var(--t-accent),var(--t-accent2))!important;color:#fff!important}

/* Footer */
html[data-theme] .footer{background:var(--t-footer)!important;color:color-mix(in srgb,var(--t-headerText) 82%,#999)!important;border-top:1px solid var(--t-line)!important}
html[data-theme] .footer h4,html[data-theme] .footer strong,html[data-theme] .footer a{color:var(--t-headerText)!important}
html[data-theme] .footer-logo-img{filter:drop-shadow(0 5px 12px rgba(0,0,0,.22))}
html[data-theme] .footer-bottom{border-top-color:var(--t-line)!important}

/* -------- theme-specific layout language, not merely colors -------- */
html[data-theme="violet"] .section-head h2{letter-spacing:-.025em}html[data-theme="violet"] .card,html[data-theme="violet"] .program-tile{border-radius:30px 12px 30px 12px!important}html[data-theme="violet"] .section.alt{background:radial-gradient(circle at 10% 0%,rgba(124,66,215,.10),transparent 30%),var(--t-paper2)!important}
html[data-theme="academy"] .site-header{box-shadow:0 7px 24px rgba(30,92,151,.10)!important}html[data-theme="academy"] .card,html[data-theme="academy"] .program-tile,html[data-theme="academy"] .price-info-card{border-radius:14px!important;border-top:4px solid var(--t-accent)!important}html[data-theme="academy"] .section.alt{background-image:linear-gradient(rgba(40,118,211,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(40,118,211,.035) 1px,transparent 1px);background-size:28px 28px!important}
html[data-theme="piano"] .section,html[data-theme="piano"] .content,html[data-theme="piano"] .page-layout,html[data-theme="piano"] .profile-wrap{background:#0c0b09!important;color:#f6edd8!important}html[data-theme="piano"] .section.alt{background:#13100b!important}html[data-theme="piano"] .card,html[data-theme="piano"] .program-tile,html[data-theme="piano"] .instrument-price-card{border-radius:6px!important;border-color:#745c26!important}html[data-theme="piano"] .article-card img,html[data-theme="piano"] .gallery-grid img{filter:saturate(.78) contrast(1.07)}html[data-theme="piano"] .form input,html[data-theme="piano"] .form textarea,html[data-theme="piano"] .form select{background:#15130f!important;color:#f6edd8!important}
html[data-theme="creative"] .section.alt{background:radial-gradient(circle at 85% 5%,rgba(113,157,76,.14),transparent 35%),var(--t-paper2)!important}html[data-theme="creative"] .card,html[data-theme="creative"] .program-tile{border-radius:32px 32px 12px 32px!important}html[data-theme="creative"] .btn{border-radius:14px 28px 14px 28px!important}html[data-theme="creative"] .gallery-grid a:nth-child(even){transform:rotate(.5deg)}
html[data-theme="theatre"] .section.alt{background:linear-gradient(90deg,rgba(142,29,37,.05),transparent 12%,transparent 88%,rgba(142,29,37,.05)),var(--t-paper2)!important}html[data-theme="theatre"] .card,html[data-theme="theatre"] .program-tile{border-radius:18px!important;border-left:4px solid var(--t-accent)!important}html[data-theme="theatre"] .section-head h2:after{content:"";display:block;width:72px;height:2px;background:var(--t-accent);margin-top:12px}

/* Mobile: menu, language selector and banner remain usable. */
@media(max-width:1050px){
  html[data-theme] .main-nav{background:var(--t-header)!important;color:var(--t-headerText)!important;border-top:1px solid var(--t-line)!important;box-shadow:0 20px 35px var(--t-shadow)!important}
  .nav-toggle{display:grid!important;place-items:center!important;z-index:3}.lang-dropdown{display:block!important}.lang-dropdown-toggle{width:100%!important;justify-content:center!important;min-height:44px!important}.lang-dropdown-menu{position:static!important;width:100%!important;margin-top:8px!important}
  .hero-action-inner{align-items:flex-start;flex-direction:column}.hero-action-strip .actions{margin-top:4px}
}
@media(max-width:720px){
  .theme-hero-banner img{aspect-ratio:2048/682;min-height:0!important;object-fit:contain!important;background:var(--t-bg)}
  .hero-action-inner{padding:18px 20px}.hero-action-copy>span:last-child{display:none}.hero-action-copy strong{font-size:20px}
  .hero-action-strip .actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}.hero-action-strip .btn{padding:11px 12px!important;font-size:13px!important}
  .brand-copy small{display:none}.brand-copy strong{font-size:13px;max-width:150px}.site-header .brand-mark{width:50px!important;height:50px!important}
}

/* Page-specific themed surfaces */
html[data-theme] .service-card,html[data-theme] .contact-card,html[data-theme] .legal-card,html[data-theme] .about-values>*,html[data-theme] .director-about,html[data-theme] .academia-showcase,html[data-theme] .school-visual{background:var(--t-surface)!important;color:var(--t-ink)!important;border:1px solid var(--t-line)!important;border-radius:var(--t-radius)!important;box-shadow:0 16px 42px var(--t-shadow)!important}
html[data-theme] .contact-icon,html[data-theme] .language-orbs span{background:color-mix(in srgb,var(--t-accent) 16%,var(--t-surface))!important;color:var(--t-accent2)!important;border-color:var(--t-line)!important}
html[data-theme] .related-section{background:var(--t-paper2)!important;color:var(--t-ink)!important}
html[data-theme] .price-wrap{background:var(--t-paper)!important;color:var(--t-ink)!important}
html[data-theme] .price-meta div{border-color:var(--t-line)!important}html[data-theme] .price-meta dt{color:var(--t-muted)!important}html[data-theme] .price-meta a{color:var(--t-accent2)!important}
html[data-theme="piano"] .service-card,html[data-theme="piano"] .contact-card,html[data-theme="piano"] .legal-card,html[data-theme="piano"] .about-values>*,html[data-theme="piano"] .director-about,html[data-theme="piano"] .academia-showcase,html[data-theme="piano"] .school-visual{background:#17130d!important;color:#f6edd8!important;border-color:#745c26!important}

/* =========================================================
   UOC THEME FINAL V3 — complete visual system fixes
   - no duplicate CTA strip below banner
   - theme-specific logo + page surfaces
   - readable gallery captions
   - compact category badges
   - balanced, non-dominating accent colors
   ========================================================= */

/* Shared precision fixes */
html[data-theme] .hero-action-strip{display:none!important}
html[data-theme] .theme-hero-banner{border-bottom:0!important;background:var(--t-paper)!important}
html[data-theme] .theme-hero-banner img{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important}
html[data-theme] .section{position:relative}
html[data-theme] .section>.section-head,html[data-theme] .section>.grid,html[data-theme] .section>.filters,html[data-theme] .section>.events,html[data-theme] .section>.gallery-grid,html[data-theme] .section>.public-video-grid{position:relative;z-index:1}
html[data-theme] .card,html[data-theme] .article-card,html[data-theme] .program-tile,html[data-theme] .service-card,html[data-theme] .contact-card,html[data-theme] .director-about,html[data-theme] .school-visual,html[data-theme] .academia-showcase,html[data-theme] .instrument-price-card,html[data-theme] .public-video-card{overflow:hidden}

/* Article category labels: always compact, never stretch over image. */
html[data-theme] .article-image{position:relative!important}
html[data-theme] .article-badge{
  position:absolute!important;left:14px!important;top:14px!important;right:auto!important;bottom:auto!important;
  display:inline-flex!important;align-items:center!important;width:max-content!important;max-width:calc(100% - 28px)!important;
  min-width:0!important;height:auto!important;min-height:0!important;padding:6px 10px!important;
  border-radius:999px!important;font-size:11px!important;line-height:1.15!important;font-weight:800!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  box-shadow:0 5px 14px rgba(0,0,0,.16)!important;border:1px solid color-mix(in srgb,var(--t-accent) 40%,transparent)!important;
  background:color-mix(in srgb,var(--t-accent2) 92%,#000 8%)!important;color:#fff!important;
}
html[data-theme="violet"] .article-badge{background:#4b218f!important;color:#fff7d7!important;border-color:rgba(239,197,77,.55)!important}
html[data-theme="academy"] .article-badge{background:#175fad!important;color:#fff!important;border-color:#9fc8f2!important}
html[data-theme="piano"] .article-badge{background:#19150e!important;color:#f4cf6a!important;border-color:#9d762f!important}
html[data-theme="creative"] .article-badge{background:#315f38!important;color:#fff!important;border-color:#a9c693!important}
html[data-theme="theatre"] .article-badge{background:#7a1820!important;color:#fff5dd!important;border-color:#d5a44a!important}

/* Page hero: bounded content, proper contrast, decorative depth without flat color slabs. */
html[data-theme] .page-hero,html[data-theme] .price-hero,html[data-theme] .profile-hero{padding:64px 0 50px!important;overflow:hidden;position:relative}
html[data-theme] .page-hero>.site-frame,html[data-theme] .page-hero>.page-hero-inner,html[data-theme] .price-hero>.site-frame{position:relative;z-index:2}
html[data-theme] .page-hero:before,html[data-theme] .price-hero:before,html[data-theme] .profile-hero:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.9;
  background:radial-gradient(circle at 86% 20%,color-mix(in srgb,var(--t-accent) 14%,transparent),transparent 30%),
             radial-gradient(circle at 8% 90%,color-mix(in srgb,var(--t-accent2) 10%,transparent),transparent 34%);
}
html[data-theme] .page-hero h1,html[data-theme] .price-hero h1,html[data-theme] .profile-hero h1{margin:7px 0 12px!important}
html[data-theme] .page-hero p,html[data-theme] .price-hero p,html[data-theme] .profile-hero p{max-width:760px!important;margin:0!important}

/* Gallery caption remains legible at all times. */
html[data-theme] .gallery-with-memo .gallery-item{position:relative!important;background:#111!important;isolation:isolate}
html[data-theme] .gallery-with-memo .gallery-item img{display:block!important;filter:none!important}
html[data-theme] .gallery-memo{
  position:absolute!important;left:0!important;right:0!important;bottom:0!important;z-index:3!important;
  min-height:62px!important;padding:28px 13px 11px!important;transform:none!important;
  background:linear-gradient(to top,rgba(5,8,15,.94) 0%,rgba(5,8,15,.72) 55%,rgba(5,8,15,0) 100%)!important;
  color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.75)!important;
}
html[data-theme] .gallery-memo b{font-size:13px!important;color:#fff!important;line-height:1.2!important}
html[data-theme] .gallery-memo em{font-size:11px!important;color:#f4d47c!important}
html[data-theme] .gallery-memo small{display:none!important;color:#f3f3f3!important}
html[data-theme] .gallery-item:hover .gallery-memo{transform:none!important}
html[data-theme] .gallery-item:hover .gallery-memo small{display:block!important;margin-top:4px!important}
html[data-theme] .gallery-item:hover img{transform:scale(1.025)!important;filter:brightness(.88)!important}

/* Filters become part of the active theme, including active state. */
html[data-theme] .filters a{box-shadow:0 2px 8px var(--t-shadow)!important;font-weight:650!important}
html[data-theme] .filters a:hover,html[data-theme] .filters a.active{background:var(--t-accent2)!important;color:#fff!important;border-color:var(--t-accent2)!important}
html[data-theme="piano"] .filters a:hover,html[data-theme="piano"] .filters a.active{background:#d4a63d!important;color:#090806!important;border-color:#d4a63d!important}

/* Better boundaries and depth across all cards. */
html[data-theme] .article-card,html[data-theme] .program-tile,html[data-theme] .service-card,html[data-theme] .contact-card,html[data-theme] .instrument-price-card,html[data-theme] .public-video-card{
  border-width:1px!important;border-style:solid!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
html[data-theme] .article-card:hover,html[data-theme] .service-card:hover,html[data-theme] .contact-card:hover,html[data-theme] .public-video-card:hover{
  transform:translateY(-3px)!important;border-color:color-mix(in srgb,var(--t-accent2) 45%,var(--t-line))!important;box-shadow:0 20px 46px var(--t-shadow)!important;
}

/* ---------------- VIOLET MUSIC ---------------- */
html[data-theme="violet"]{
  --t-paper:#fbf8f2;--t-paper2:#f3ecf8;--t-surface:#fffdfa;--t-ink:#251443;--t-muted:#6d6377;
  --t-accent:#d7ad43;--t-accent2:#6e39bf;--t-line:rgba(82,45,126,.22);--t-header:#1b0938;--t-footer:#10051f;
}
html[data-theme="violet"] .page-hero,html[data-theme="violet"] .price-hero,html[data-theme="violet"] .profile-hero{
  background:linear-gradient(135deg,#241048 0%,#3a176b 55%,#1d0b39 100%)!important;color:#fff!important;
}
html[data-theme="violet"] .page-hero p{color:#e7deef!important}
html[data-theme="violet"] .section.alt{background:radial-gradient(circle at 10% 0%,rgba(110,57,191,.08),transparent 32%),#f3ecf8!important}
html[data-theme="violet"] .article-card,html[data-theme="violet"] .program-tile{border-color:rgba(91,52,132,.23)!important}
html[data-theme="violet"] .link{color:#7438c9!important}

/* ---------------- ACADEMY BLUE ---------------- */
html[data-theme="academy"]{
  --t-paper:#f8fbff;--t-paper2:#eef5fb;--t-surface:#ffffff;--t-ink:#173a65;--t-muted:#60758d;
  --t-accent:#1f70c9;--t-accent2:#205f9e;--t-line:rgba(40,112,180,.24);--t-header:#ffffff;--t-headerText:#16385f;--t-footer:#153c67;
}
html[data-theme="academy"] .page-hero,html[data-theme="academy"] .price-hero,html[data-theme="academy"] .profile-hero{
  background:linear-gradient(135deg,#f5faff 0%,#e5f1fb 55%,#d9eaf8 100%)!important;color:#173a65!important;border-bottom-color:#bad4ea!important;
}
html[data-theme="academy"] .page-hero p{color:#5d7590!important}
html[data-theme="academy"] .page-hero:before{background:radial-gradient(circle at 85% 10%,rgba(31,112,201,.11),transparent 31%),linear-gradient(90deg,transparent 0 49.8%,rgba(31,112,201,.035) 50% 50.2%,transparent 50.2%)!important}
html[data-theme="academy"] .section{background:#f8fbff!important}
html[data-theme="academy"] .section.alt{background-color:#eef5fb!important;background-image:linear-gradient(rgba(36,103,169,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(36,103,169,.035) 1px,transparent 1px)!important;background-size:32px 32px!important}
html[data-theme="academy"] .article-card,html[data-theme="academy"] .program-tile,html[data-theme="academy"] .service-card,html[data-theme="academy"] .contact-card{border:1px solid #c8deef!important;border-top:3px solid #2b77bd!important;box-shadow:0 12px 30px rgba(31,92,148,.10)!important}
html[data-theme="academy"] .btn{background:#1f70c9!important;border-color:#1f70c9!important;color:#fff!important}
html[data-theme="academy"] .link{color:#1f66ad!important}

/* ---------------- PIANO BLACK & GOLD ---------------- */
html[data-theme="piano"] .page-hero,html[data-theme="piano"] .price-hero,html[data-theme="piano"] .profile-hero{
  background:radial-gradient(circle at 78% 14%,rgba(216,170,66,.12),transparent 25%),linear-gradient(135deg,#080705,#17120c)!important;color:#f7ecd5!important;
}
html[data-theme="piano"] .page-hero p{color:#cfc4ad!important}
html[data-theme="piano"] .article-badge{box-shadow:0 4px 12px rgba(0,0,0,.4)!important}
html[data-theme="piano"] .card-body p,html[data-theme="piano"] .section-head p,html[data-theme="piano"] .content p{color:#c4b99f!important}
html[data-theme="piano"] .article-card,html[data-theme="piano"] .program-tile,html[data-theme="piano"] .service-card,html[data-theme="piano"] .contact-card{border:1px solid #5e4922!important;box-shadow:0 16px 36px rgba(0,0,0,.38)!important}
html[data-theme="piano"] .footer{border-top-color:#6d5224!important}

/* ---------------- CREATIVE GREEN ---------------- */
html[data-theme="creative"]{
  --t-paper:#fbfaf3;--t-paper2:#f1f4e9;--t-surface:#fffef9;--t-ink:#24482e;--t-muted:#687565;
  --t-accent:#4f7d43;--t-accent2:#35683e;--t-line:rgba(62,104,57,.20);--t-header:#fffdf7;--t-headerText:#284c31;--t-footer:#20442c;
}
html[data-theme="creative"] .page-hero,html[data-theme="creative"] .price-hero,html[data-theme="creative"] .profile-hero{
  background:linear-gradient(135deg,#fcfbf4 0%,#f1f5e9 55%,#e8efe0 100%)!important;color:#24482e!important;border-bottom-color:#cad8c2!important;
}
html[data-theme="creative"] .page-hero p{color:#677465!important}
html[data-theme="creative"] .page-hero:before{background:radial-gradient(circle at 88% 18%,rgba(79,125,67,.09),transparent 32%),radial-gradient(circle at 4% 84%,rgba(199,149,53,.055),transparent 27%)!important}
html[data-theme="creative"] .section{background:#fbfaf3!important}
html[data-theme="creative"] .section.alt{background:linear-gradient(135deg,#f4f6ec,#eef3e6)!important}
html[data-theme="creative"] .article-card,html[data-theme="creative"] .program-tile,html[data-theme="creative"] .service-card,html[data-theme="creative"] .contact-card{border:1px solid #d5dfcc!important;box-shadow:0 13px 32px rgba(48,82,43,.10)!important;border-radius:20px!important}
html[data-theme="creative"] .btn{background:#4f7d43!important;border-color:#4f7d43!important;color:#fff!important;border-radius:999px!important}
html[data-theme="creative"] .signup-link{background:#4f7d43!important;color:#fff!important}
html[data-theme="creative"] .link{color:#35683e!important}

/* ---------------- THEATRE BURGUNDY ---------------- */
html[data-theme="theatre"]{
  --t-paper:#fff9f0;--t-paper2:#f6ecde;--t-surface:#fffdf8;--t-ink:#47191c;--t-muted:#796563;
  --t-accent:#c99b3d;--t-accent2:#851e27;--t-line:rgba(126,34,40,.22);--t-header:#4a0c10;--t-footer:#2b0608;
}
html[data-theme="theatre"] .page-hero,html[data-theme="theatre"] .price-hero,html[data-theme="theatre"] .profile-hero{
  background:linear-gradient(135deg,#4b0c10 0%,#741a20 57%,#39080b 100%)!important;color:#fff8ea!important;
}
html[data-theme="theatre"] .page-hero p{color:#ead6cb!important}
html[data-theme="theatre"] .section{background:#fff9f0!important}
html[data-theme="theatre"] .section.alt{background:linear-gradient(90deg,rgba(133,30,39,.045),transparent 14%,transparent 86%,rgba(133,30,39,.045)),#f6ecde!important}
html[data-theme="theatre"] .article-card,html[data-theme="theatre"] .program-tile,html[data-theme="theatre"] .service-card,html[data-theme="theatre"] .contact-card{border:1px solid #e3cbbb!important;border-left:3px solid #851e27!important;box-shadow:0 14px 34px rgba(91,19,24,.12)!important}
html[data-theme="theatre"] .link{color:#851e27!important}

/* Theme-specific logo framing: lets each palette read as a single system. */
html[data-theme] .brand-mark.official img,html[data-theme] .footer-logo-img{transition:filter .2s ease}
html[data-theme="violet"] .brand-mark.official img,html[data-theme="violet"] .footer-logo-img{filter:drop-shadow(0 4px 8px rgba(113,53,184,.28))}
html[data-theme="academy"] .brand-mark.official img,html[data-theme="academy"] .footer-logo-img{filter:drop-shadow(0 4px 8px rgba(31,112,201,.24))}
html[data-theme="piano"] .brand-mark.official img,html[data-theme="piano"] .footer-logo-img{filter:drop-shadow(0 4px 9px rgba(216,170,66,.28))}
html[data-theme="creative"] .brand-mark.official img,html[data-theme="creative"] .footer-logo-img{filter:drop-shadow(0 4px 8px rgba(53,104,62,.24))}
html[data-theme="theatre"] .brand-mark.official img,html[data-theme="theatre"] .footer-logo-img{filter:drop-shadow(0 4px 8px rgba(133,30,39,.27))}

/* Mobile / tablet cleanup */
@media(max-width:1050px){
  html[data-theme] .site-header{padding-inline:16px!important}
  html[data-theme] .main-nav{border-top:1px solid var(--t-line)!important}
  html[data-theme] .theme-hero-banner img{width:100%!important;height:auto!important;object-fit:contain!important}
}
@media(max-width:720px){
  html[data-theme] .page-hero,html[data-theme] .price-hero,html[data-theme] .profile-hero{padding:42px 0 34px!important}
  html[data-theme] .article-badge{left:10px!important;top:10px!important;padding:5px 8px!important;font-size:10px!important}
  html[data-theme] .gallery-memo{padding:24px 10px 9px!important;min-height:54px!important}
  html[data-theme] .gallery-memo b{font-size:12px!important}
  html[data-theme] .section{padding-left:16px!important;padding-right:16px!important}
}

/* =========================================================
   UOC BLUE FINAL — single production theme
   Entire public site follows the selected blue banner.
   ========================================================= */
html[data-theme="blue"]{
  --t-bg:#0b3768;--t-bg2:#0d5cab;--t-paper:#f7fbff;--t-paper2:#edf6ff;--t-surface:#ffffff;
  --t-ink:#123b69;--t-muted:#5d7188;--t-accent:#176ac4;--t-accent2:#0f579f;--t-gold:#d6a83a;
  --t-line:#c9dced;--t-header:#ffffff;--t-headerText:#123b69;--t-footer:#073b73;--t-shadow:rgba(25,84,137,.13);
  --t-radius:18px;--t-radiusSmall:12px;--t-fontHead:Georgia,"Times New Roman",serif;
}
html[data-theme="blue"] body{background:#f7fbff!important;color:#173d66!important;background-image:radial-gradient(circle at 8% 4%,rgba(55,145,225,.055),transparent 22%),radial-gradient(circle at 92% 18%,rgba(212,168,58,.045),transparent 18%)!important}
html[data-theme="blue"] .site-frame{max-width:1440px;margin-inline:auto;width:100%}

/* Header: no duplicate crest; menu sits on its own lower row. */
html[data-theme="blue"] .site-header{position:sticky!important;top:0!important;z-index:80!important;display:block!important;padding:0!important;background:#fff!important;color:#123b69!important;border-bottom:1px solid #c7dced!important;box-shadow:0 7px 24px rgba(17,76,132,.09)!important;backdrop-filter:none!important}
html[data-theme="blue"] .top-strip{background:#0b4c8d!important;color:#fff!important;border:0!important}
html[data-theme="blue"] .top-strip-inner{padding:6px clamp(18px,4vw,54px)!important}.top-strip a{color:#fff!important}
html[data-theme="blue"] .blue-nav-shell{display:grid!important;grid-template-columns:minmax(250px,1fr) auto!important;grid-template-areas:"brand tools" "menu menu"!important;gap:5px 24px!important;padding:10px clamp(18px,4vw,54px) 8px!important;align-items:center!important}
html[data-theme="blue"] .brand-text-only{grid-area:brand!important;margin:0!important;min-width:0!important;color:#123b69!important;display:flex!important;align-items:center!important;padding:2px 0 3px!important}
html[data-theme="blue"] .brand-text-only .brand-copy strong{font-family:Georgia,"Times New Roman",serif!important;font-size:20px!important;color:#123b69!important;line-height:1.08!important}
html[data-theme="blue"] .brand-text-only .brand-copy small{display:block!important;color:#69809a!important;margin-top:3px!important;font-size:11px!important}
html[data-theme="blue"] .header-tools{grid-area:tools!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important}
html[data-theme="blue"] .blue-main-nav{grid-area:menu!important;display:flex!important;position:static!important;background:transparent!important;box-shadow:none!important;border-top:1px solid #e3edf6!important;padding-top:6px!important;justify-content:center!important}
html[data-theme="blue"] .blue-main-nav .nav-links{display:flex!important;justify-content:center!important;flex-wrap:wrap!important;gap:3px!important}
html[data-theme="blue"] .blue-main-nav .nav-links>a{color:#23496f!important;padding:8px 11px!important;border-radius:9px!important;font-size:13px!important;font-weight:650!important}
html[data-theme="blue"] .blue-main-nav .nav-links>a:hover,html[data-theme="blue"] .blue-main-nav .nav-links>a.active{background:#e8f3ff!important;color:#075cae!important;box-shadow:inset 0 -2px 0 #d6a83a!important}
html[data-theme="blue"] .lang-dropdown-toggle,html[data-theme="blue"] .visitor-tools button,html[data-theme="blue"] .account-link{background:#f7fbff!important;color:#17436f!important;border:1px solid #c8dceb!important;border-radius:10px!important;min-height:38px!important}
html[data-theme="blue"] .signup-link{background:#176ac4!important;color:#fff!important;border:1px solid #176ac4!important;border-radius:10px!important}
html[data-theme="blue"] .nav-toggle{display:none!important;background:#176ac4!important;color:#fff!important;border:0!important;border-radius:10px!important;width:42px!important;height:42px!important}
html[data-theme="blue"] .lang-dropdown-menu{background:#fff!important;color:#173d66!important;border:1px solid #c9dced!important}
html[data-theme="blue"] .lang-dropdown-menu a:hover,html[data-theme="blue"] .lang-dropdown-menu a.active{background:#edf6ff!important;color:#0b5fab!important}

/* Main hero: banner remains art; real clickable controls cover image-drawn placeholders. */
html[data-theme="blue"] .theme-hero-banner{position:relative!important;width:100%!important;overflow:hidden!important;background:#e9f5ff!important;border-bottom:1px solid #c9dced!important}
html[data-theme="blue"] .theme-hero-banner>img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:2048/682!important;object-fit:cover!important;object-position:center!important}
html[data-theme="blue"] .theme-hero-actions{position:absolute!important;left:50%!important;bottom:15.5%!important;transform:translateX(-50%)!important;z-index:5!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:clamp(10px,1.2vw,22px)!important}
html[data-theme="blue"] .hero-action{height:clamp(35px,4.3vw,66px)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:999px!important;font-weight:800!important;font-size:clamp(12px,1.35vw,21px)!important;padding:0 clamp(18px,2.5vw,44px)!important;white-space:nowrap!important;box-shadow:0 8px 22px rgba(16,74,130,.18)!important;transition:transform .16s ease,box-shadow .16s ease!important}
html[data-theme="blue"] .hero-action:hover{transform:translateY(-2px)!important;box-shadow:0 12px 28px rgba(16,74,130,.25)!important}
html[data-theme="blue"] .hero-action.primary{background:#0b63c7!important;color:#fff!important;border:2px solid #0b63c7!important}
html[data-theme="blue"] .hero-action.secondary{background:rgba(247,251,255,.97)!important;color:#123d72!important;border:2px solid #215fab!important}

/* Global page surfaces and typography. */
html[data-theme="blue"] h1,html[data-theme="blue"] h2,html[data-theme="blue"] h3{color:#173f70!important}
html[data-theme="blue"] .eyebrow{color:#b48218!important}
html[data-theme="blue"] .section,html[data-theme="blue"] .content,html[data-theme="blue"] .page-layout,html[data-theme="blue"] .profile-wrap,html[data-theme="blue"] .price-wrap{background:#f7fbff!important;color:#173d66!important}
html[data-theme="blue"] .section.alt,html[data-theme="blue"] .related-section{background:#edf6ff!important;background-image:linear-gradient(rgba(27,105,185,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(27,105,185,.028) 1px,transparent 1px)!important;background-size:34px 34px!important}
html[data-theme="blue"] .section.dark,html[data-theme="blue"] .afterdark-premium{background:linear-gradient(135deg,#0b3c73,#0a5ca8)!important;color:#fff!important}
html[data-theme="blue"] .section.dark h2,html[data-theme="blue"] .section.dark h3,html[data-theme="blue"] .afterdark-premium h2{color:#fff!important}
html[data-theme="blue"] .section.dark p,html[data-theme="blue"] .afterdark-premium p{color:#dcecff!important}
html[data-theme="blue"] .section-head{max-width:1280px;margin-inline:auto!important}.section-head h2{letter-spacing:-.025em!important}.section-head p{color:#60758c!important}

/* Page heroes, including uploaded admin hero images. */
html[data-theme="blue"] .page-hero,html[data-theme="blue"] .price-hero,html[data-theme="blue"] .profile-hero{position:relative!important;overflow:hidden!important;background:linear-gradient(135deg,#eaf5ff,#d9ecfd)!important;color:#173f70!important;border-bottom:1px solid #bfd7eb!important;padding:70px clamp(20px,7vw,100px) 50px!important}
html[data-theme="blue"] .page-hero.has-page-image:before{content:""!important;position:absolute!important;inset:0!important;background-image:linear-gradient(90deg,rgba(238,248,255,.96) 0%,rgba(238,248,255,.86) 48%,rgba(238,248,255,.55) 100%),var(--page-hero-image)!important;background-size:cover!important;background-position:center!important;z-index:0!important}
html[data-theme="blue"] .page-hero-inner,html[data-theme="blue"] .page-hero>.site-frame,html[data-theme="blue"] .page-hero>h1,html[data-theme="blue"] .page-hero>p,html[data-theme="blue"] .page-hero>.eyebrow{position:relative!important;z-index:1!important}
html[data-theme="blue"] .page-hero h1,html[data-theme="blue"] .price-hero h1{color:#153f71!important}
html[data-theme="blue"] .page-hero p,html[data-theme="blue"] .price-hero p{color:#58728d!important}

/* Cards, news, categories, gallery — all blue; no foreign red/yellow/green blocks. */
html[data-theme="blue"] .card,html[data-theme="blue"] .article-card,html[data-theme="blue"] .program-tile,html[data-theme="blue"] .page-copy-card,html[data-theme="blue"] .director-card,html[data-theme="blue"] .director-about,html[data-theme="blue"] .service-card,html[data-theme="blue"] .contact-card,html[data-theme="blue"] .legal-card,html[data-theme="blue"] .price-info-card,html[data-theme="blue"] .instrument-price-card,html[data-theme="blue"] .price-table-wrap,html[data-theme="blue"] .public-video-card,html[data-theme="blue"] .auth-card,html[data-theme="blue"] .profile-card,html[data-theme="blue"] .empty-state,html[data-theme="blue"] .application-item,html[data-theme="blue"] .school-visual,html[data-theme="blue"] .academia-showcase,html[data-theme="blue"] .about-values>*{background:#fff!important;color:#173d66!important;border:1px solid #c8deef!important;border-radius:18px!important;box-shadow:0 12px 32px rgba(26,83,136,.10)!important}
html[data-theme="blue"] .article-card,html[data-theme="blue"] .program-tile,html[data-theme="blue"] .instrument-price-card{border-top:3px solid #2b77bd!important}
html[data-theme="blue"] .article-badge,html[data-theme="blue"] .status-pill{position:absolute!important;left:12px!important;top:12px!important;width:auto!important;height:auto!important;min-width:0!important;padding:5px 10px!important;border-radius:999px!important;background:#176ac4!important;color:#fff!important;border:1px solid rgba(255,255,255,.75)!important;font-size:10px!important;font-weight:800!important;line-height:1.2!important;box-shadow:0 4px 12px rgba(8,62,113,.18)!important}
html[data-theme="blue"] .article-image{position:relative!important}.article-card img{width:100%!important;aspect-ratio:16/10!important;object-fit:cover!important}
html[data-theme="blue"] .card-body p{color:#62758a!important}.link{color:#0e61b3!important}
html[data-theme="blue"] .card:hover,html[data-theme="blue"] .program-tile:hover,html[data-theme="blue"] .instrument-price-card:hover{transform:translateY(-3px)!important;border-color:#76a9d6!important;box-shadow:0 20px 46px rgba(23,91,151,.15)!important}
html[data-theme="blue"] .filters a{background:#fff!important;color:#234d76!important;border:1px solid #c7dceb!important;box-shadow:0 2px 8px rgba(20,79,131,.06)!important}
html[data-theme="blue"] .filters a:hover,html[data-theme="blue"] .filters a.active{background:#176ac4!important;color:#fff!important;border-color:#176ac4!important}

/* Real buttons / forms. */
html[data-theme="blue"] .btn{background:#176ac4!important;color:#fff!important;border:1px solid #176ac4!important;border-radius:999px!important;box-shadow:0 7px 18px rgba(23,106,196,.18)!important}
html[data-theme="blue"] .btn:hover{background:#0f5bab!important;border-color:#0f5bab!important}
html[data-theme="blue"] .btn.ghost,html[data-theme="blue"] .btn.secondary,html[data-theme="blue"] .outline-dark{background:#fff!important;color:#174b7c!important;border:1px solid #8eb7da!important;box-shadow:none!important}
html[data-theme="blue"] .dark-btn{background:#0b4f96!important;color:#fff!important}
html[data-theme="blue"] .form input,html[data-theme="blue"] .form textarea,html[data-theme="blue"] .form select,html[data-theme="blue"] .auth-card input,html[data-theme="blue"] .auth-card select{background:#fff!important;color:#173d66!important;border:1px solid #bfd5e8!important;border-radius:12px!important}
html[data-theme="blue"] .form input:focus,html[data-theme="blue"] .form textarea:focus,html[data-theme="blue"] .form select:focus{outline:3px solid rgba(36,120,198,.15)!important;border-color:#2478c6!important}
html[data-theme="blue"] .notice{background:#eaf5ff!important;color:#17466f!important;border:1px solid #b7d6ef!important}

/* Instruments: real visual cards on homepage, Music School and Prices. */
.music-program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1280px;margin:30px auto 0}.music-program-grid.compact{grid-template-columns:repeat(6,minmax(0,1fr))}
.music-program-card{display:block;background:#fff;border:1px solid #c8deef;border-radius:18px;overflow:hidden;box-shadow:0 12px 28px rgba(20,78,130,.09);transition:.18s}.music-program-card:hover{transform:translateY(-3px);border-color:#6ea6d5;box-shadow:0 18px 38px rgba(20,78,130,.14)}.music-program-card img{width:100%;aspect-ratio:16/9;object-fit:cover;background:#eaf5ff}.music-program-card>div{padding:16px}.music-program-card h3{margin:0 0 4px;font-size:22px}.music-program-card p{margin:0;color:#687d92}.music-program-card span{display:inline-block;margin-top:10px;color:#0d61b2;font-weight:800}.section-cta{text-align:center;margin:28px 0 0}
.image-program-tiles .program-tile{padding:0!important;overflow:hidden!important}.program-tile-image{width:100%!important;aspect-ratio:16/9!important;object-fit:cover!important;background:#eaf5ff!important}.image-program-tiles .program-tile strong,.image-program-tiles .program-tile small,.image-program-tiles .program-tile i{margin-inline:18px!important}.image-program-tiles .program-tile strong{margin-top:16px!important}.image-program-tiles .program-tile i{margin-bottom:16px!important}
.instrument-price-card{padding:0 0 24px!important;overflow:hidden!important}.instrument-price-card:before{display:none!important}.instrument-image{width:100%!important;aspect-ratio:16/9!important;object-fit:cover!important;background:#eaf5ff!important;border-bottom:1px solid #d2e3f1!important}.instrument-price-card h3,.instrument-price-card .price-number,.instrument-price-card .price-duration{margin-left:24px!important;margin-right:24px!important}.instrument-price-card h3{margin-top:18px!important}.price-number strong{color:#124574!important}.price-number span{color:#0e63b7!important}.price-note-card{background:linear-gradient(145deg,#0b477f,#0d67b5)!important;color:#fff!important;border-color:#176ac4!important}.price-note-card h2,.price-note-card p{color:#fff!important}.price-note-icon{color:#f0c855!important}

/* Events and optional section image. */
.events-home{background:#edf6ff!important}.section-feature-image{max-width:1280px;margin:0 auto 28px;border-radius:18px;overflow:hidden;border:1px solid #c9dced;box-shadow:0 12px 32px rgba(23,83,136,.10)}.section-feature-image img{width:100%;max-height:360px;object-fit:cover}.event{background:#fff!important;border:1px solid #c9dced!important;border-radius:14px!important;padding:18px 20px!important;margin-bottom:10px!important;box-shadow:0 7px 20px rgba(25,82,133,.07)!important}.event-date{color:#0f5fae!important}.event-media{width:180px}.event-media img,.event-media iframe{width:100%;aspect-ratio:16/9;object-fit:cover;border:0;border-radius:12px}

/* Gallery: captions always readable. */
html[data-theme="blue"] .gallery-item{position:relative!important;overflow:hidden!important;background:#0d3967!important;border:1px solid #a8cae5!important;border-radius:14px!important;box-shadow:0 10px 26px rgba(22,76,125,.12)!important}.gallery-item img{width:100%!important;aspect-ratio:1/1!important;object-fit:cover!important}.gallery-memo{position:absolute!important;left:0!important;right:0!important;bottom:0!important;padding:38px 12px 11px!important;background:linear-gradient(to top,rgba(5,38,70,.96),rgba(5,38,70,.66) 58%,transparent)!important;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.55)!important}.gallery-memo b,.gallery-memo em,.gallery-memo small{color:#fff!important}.gallery-memo em{color:#dcefff!important}

/* Contact, tables, footer. */
html[data-theme="blue"] .contact-icon,html[data-theme="blue"] .language-orbs span,html[data-theme="blue"] .program-icon{background:#e8f4ff!important;color:#0c62b4!important;border:1px solid #bdd8ed!important}.price-meta div,html[data-theme="blue"] td,html[data-theme="blue"] th{border-color:#d5e5f2!important}.price-table th{background:#104f8c!important;color:#fff!important}.price-meta a{color:#0d61b2!important}
html[data-theme="blue"] .footer{background:linear-gradient(135deg,#073663,#0b4c89)!important;color:#dcecff!important;border-top:3px solid #d6a83a!important}.footer h4,.footer strong,.footer a{color:#fff!important}.footer-logo-img{width:68px!important;height:68px!important;object-fit:contain!important;filter:drop-shadow(0 5px 12px rgba(0,0,0,.2))!important}.footer-bottom{border-top:1px solid rgba(255,255,255,.18)!important}

/* Member portal / authentication. */
html[data-theme="blue"] .auth-page{background:#f2f8fe!important}.auth-art{background:linear-gradient(145deg,#0b477f,#0d67b5)!important;color:#fff!important}.auth-art h1,.auth-art h2{color:#fff!important}.avatar{background:linear-gradient(135deg,#176ac4,#0b4d8e)!important;color:#fff!important}

/* Responsive */
@media(max-width:1050px){
  html[data-theme="blue"] .blue-nav-shell{grid-template-columns:1fr auto!important;grid-template-areas:"brand tools" "menu menu"!important;padding:9px 16px!important}
  html[data-theme="blue"] .nav-toggle{display:grid!important;place-items:center!important}
  html[data-theme="blue"] .blue-main-nav{display:none!important;position:absolute!important;left:0!important;right:0!important;top:100%!important;background:#fff!important;padding:12px 16px 18px!important;border-top:1px solid #c8dceb!important;box-shadow:0 18px 36px rgba(17,72,124,.15)!important}
  html[data-theme="blue"] .blue-main-nav.open{display:block!important}
  html[data-theme="blue"] .blue-main-nav .nav-links{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
  html[data-theme="blue"] .site-header{position:sticky!important}.blue-nav-shell{position:relative!important}
  .music-program-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
  html[data-theme="blue"] .top-strip{display:none!important}
  html[data-theme="blue"] .blue-nav-shell{grid-template-columns:1fr auto!important;grid-template-areas:"brand tools" "menu menu"!important;gap:6px!important}
  html[data-theme="blue"] .brand-text-only .brand-copy strong{font-size:15px!important;max-width:190px!important;display:block!important}.brand-text-only .brand-copy small{font-size:10px!important}
  html[data-theme="blue"] .header-tools{gap:5px!important}.visitor-tools{display:none!important}.account-link,.signup-link{display:none!important}
  html[data-theme="blue"] .lang-dropdown-toggle{min-width:84px!important;height:40px!important;padding:7px 9px!important}.lang-current-name{font-size:12px!important}
  html[data-theme="blue"] .blue-main-nav .nav-links{grid-template-columns:1fr!important}.blue-main-nav .nav-links>a{font-size:15px!important;padding:10px!important}
  html[data-theme="blue"] .blue-main-nav:after{content:"";display:block}.blue-main-nav .nav-links:after{content:""}
  /* login/signup stay accessible inside mobile menu through generated duplicates in JS/CSS fallback not hidden when nav opens */
  html[data-theme="blue"] .theme-hero-banner>img{min-height:0!important;aspect-ratio:2048/682!important;object-fit:cover!important}
  html[data-theme="blue"] .theme-hero-actions{bottom:13%!important;gap:7px!important;width:58%!important}
  html[data-theme="blue"] .hero-action{height:30px!important;font-size:9px!important;padding:0 9px!important;border-width:1px!important;box-shadow:0 4px 10px rgba(16,74,130,.16)!important}
  .music-program-grid,.music-program-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.music-program-card>div{padding:12px}.music-program-card h3{font-size:17px}.music-program-card p{font-size:12px}
  html[data-theme="blue"] .page-hero,html[data-theme="blue"] .price-hero,html[data-theme="blue"] .profile-hero{padding:42px 18px 34px!important}
  .section-feature-image img{max-height:240px}.event{grid-template-columns:1fr!important}.event-media{width:100%!important}
}
@media(max-width:420px){.music-program-grid,.music-program-grid.compact{grid-template-columns:1fr 1fr}.theme-hero-actions{width:64%!important}.hero-action{font-size:8px!important;padding:0 7px!important}}
.mobile-nav-actions{display:none}
@media(max-width:1050px){.mobile-nav-actions{display:flex;gap:8px;padding:12px 0 0;margin-top:10px;border-top:1px solid #d9e7f2}.mobile-nav-actions a{flex:1;text-align:center;padding:10px;border-radius:10px;background:#eaf4ff;color:#174b7c;font-weight:800}.mobile-nav-actions a:last-child{background:#176ac4;color:#fff}}
html[data-theme="blue"] .site-frame{max-width:var(--site-max,1440px)!important}html[data-theme="blue"] .blue-main-nav .nav-links{gap:var(--nav-gap,7px)!important}html[data-theme="blue"] .blue-main-nav .nav-links>a{font-size:var(--nav-size,13px)!important}.site-header.static-header{position:relative!important}
.contact-form-card{max-width:1100px;margin:28px auto 0;background:#fff;border:1px solid #c8deef;border-radius:18px;padding:28px;box-shadow:0 12px 32px rgba(26,83,136,.10)}.contact-form-card h2{font:38px Georgia;margin:5px 0 12px;color:#173f70}.contact-form-card>div:first-child p{color:#657a90}.contact-socials{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.notice.error{background:#fff0f0!important;border-color:#efc6c6!important;color:#8a2525!important}
.music-school-feature{max-width:1280px;margin:0 auto 22px;border-radius:18px;overflow:hidden;border:1px solid #c8deef;box-shadow:0 12px 30px rgba(24,82,135,.10);background:#fff}.music-school-feature img{width:100%;max-height:360px;object-fit:cover;display:block}
/* Final hero action alignment: covers the artwork placeholders on desktop; real 44px controls on mobile. */
@media(min-width:721px){html[data-theme="blue"] .theme-hero-actions{bottom:21.4%!important;width:30.5%!important;height:9.7%!important;gap:3%!important}html[data-theme="blue"] .hero-action{height:100%!important;flex:1 1 0!important;padding:0 4%!important;font-size:clamp(11px,1.05vw,20px)!important}}
@media(max-width:720px){html[data-theme="blue"] .theme-hero-banner{background:#f7fbff!important}html[data-theme="blue"] .theme-hero-actions{position:static!important;transform:none!important;width:auto!important;height:auto!important;padding:12px 14px 15px!important;background:#f7fbff!important;border-top:1px solid #d8e8f4!important}html[data-theme="blue"] .hero-action{height:44px!important;font-size:13px!important;padding:0 14px!important;flex:1!important}}


/* ===== UOC BLUE RELEASE CANDIDATE OVERRIDES ===== */
html[data-theme="blue"]{--uoc-blue:#0b63c7;--uoc-navy:#123d72;--uoc-sky:#eaf5ff;--uoc-paper:#f7fbff;--uoc-line:#c8deef;--uoc-gold:#d6a83a}
html[data-theme="blue"] body{background:var(--uoc-paper)!important;color:#173d66!important}
html[data-theme="blue"] .site-header{background:#fff!important;color:#123b69!important}
html[data-theme="blue"] .blue-main-nav{background:#fff!important}
html[data-theme="blue"] .blue-main-nav .nav-links>a{color:#23496f!important}
html[data-theme="blue"] .theme-hero-banner{position:relative!important;background:#eef8ff!important;isolation:isolate}
/* Hide the two buttons painted into the banner and replace them with real HTML links. */
@media(min-width:721px){
  html[data-theme="blue"] .theme-hero-actions:before{content:"";position:absolute;z-index:-1;left:-4%;right:-4%;top:-18%;bottom:-18%;border-radius:999px;background:rgba(239,248,255,.96);box-shadow:0 0 24px 16px rgba(239,248,255,.9);backdrop-filter:blur(4px)}
  html[data-theme="blue"] .theme-hero-actions{bottom:20.8%!important;width:31.5%!important;min-width:390px!important}
}
html[data-theme="blue"] .hero-action{position:relative;z-index:2}
html[data-theme="blue"] .page-hero,html[data-theme="blue"] .price-hero,html[data-theme="blue"] .profile-hero{background:linear-gradient(135deg,#eef8ff,#dbeeff)!important;color:#173f70!important}
html[data-theme="blue"] .page-hero h1,html[data-theme="blue"] .price-hero h1,html[data-theme="blue"] .profile-hero h1{color:#173f70!important}
html[data-theme="blue"] .page-hero p,html[data-theme="blue"] .price-hero p,html[data-theme="blue"] .profile-hero p{color:#58728d!important}
html[data-theme="blue"] .section,html[data-theme="blue"] .content,html[data-theme="blue"] .page-layout,html[data-theme="blue"] .price-wrap{background:#f7fbff!important}
html[data-theme="blue"] .card,html[data-theme="blue"] .article-card,html[data-theme="blue"] .program-tile,html[data-theme="blue"] .page-copy-card,html[data-theme="blue"] .service-card,html[data-theme="blue"] .contact-card,html[data-theme="blue"] .legal-card,html[data-theme="blue"] .school-visual,html[data-theme="blue"] .academia-showcase,html[data-theme="blue"] .instrument-price-card,html[data-theme="blue"] .public-video-card,html[data-theme="blue"] .director-about,html[data-theme="blue"] .about-values>*{background:#fff!important;border-color:#c8deef!important;color:#173d66!important}
html[data-theme="blue"] .article-badge,html[data-theme="blue"] .status-pill{background:#176ac4!important;color:#fff!important;border-color:#8ebbe0!important}
html[data-theme="blue"] .eyebrow{color:#a97712!important}
html[data-theme="blue"] .link,html[data-theme="blue"] .music-program-card span{color:#0d61b2!important}
html[data-theme="blue"] .filters a.active,html[data-theme="blue"] .filters a:hover{background:#176ac4!important;color:#fff!important;border-color:#176ac4!important}
html[data-theme="blue"] .form-error{padding:11px 13px;border:1px solid #efbcbc;background:#fff2f2;color:#8b1f2b;border-radius:10px}
html[data-theme="blue"] .notice.error{background:#fff2f2!important;color:#8b1f2b!important;border-color:#efbcbc!important}
html[data-theme="blue"] .footer{background:linear-gradient(135deg,#073663,#0b4c89)!important;border-top-color:#d6a83a!important}
html[data-theme="blue"] .gallery-memo{color:#fff!important}
html[data-theme="blue"] .gallery-memo b,html[data-theme="blue"] .gallery-memo em,html[data-theme="blue"] .gallery-memo small{color:#fff!important}
@media(max-width:1050px){html[data-theme="blue"] .blue-main-nav{background:#fff!important}}
@media(max-width:720px){html[data-theme="blue"] .theme-hero-actions:before{display:none}.theme-hero-actions{background:#f7fbff!important}}
/* Cover the two CTA graphics painted into the source banner. Real links are rendered by index.php. */
html[data-theme="blue"] .theme-hero-banner:after{
  content:"";position:absolute;z-index:1;left:37%;width:29%;top:67%;height:14%;
  border-radius:999px;background:rgba(239,248,255,.96);box-shadow:0 0 24px 16px rgba(239,248,255,.86);
  backdrop-filter:blur(5px);pointer-events:none;
}
html[data-theme="blue"] .theme-hero-actions{z-index:4!important}
@media(max-width:720px){html[data-theme="blue"] .theme-hero-banner:after{left:35%;width:33%;top:66%;height:16%;box-shadow:0 0 12px 7px rgba(239,248,255,.9)}}
/* Blue logo overlays the crest painted into the banner so the logo matches the active theme. */
html[data-theme="blue"] .hero-theme-logo{position:absolute;z-index:3;left:9.2%;top:4.8%;width:24.6%;height:auto;object-fit:contain;pointer-events:none;filter:drop-shadow(0 8px 16px rgba(20,68,120,.16))}
@media(max-width:720px){html[data-theme="blue"] .hero-theme-logo{left:9.2%;top:4.8%;width:24.6%}}
html[data-theme="blue"] .theme-hero-actions:before{display:none!important}

/* =========================================================
   UOC FINAL REFERENCE BLUE 2026-09-12
   Single visual system matching the approved reference.
   ========================================================= */
:root{
  --uoc-blue:#0b63c7;--uoc-blue-2:#1378dc;--uoc-navy:#0a3e78;--uoc-deep:#06335f;
  --uoc-sky:#eaf5ff;--uoc-sky-2:#d8ecfb;--uoc-paper:#f8fbfe;--uoc-white:#fff;
  --uoc-ink:#123d72;--uoc-text:#254f77;--uoc-muted:#698198;--uoc-gold:#d9aa38;
  --uoc-line:#c9dff0;--uoc-shadow:0 10px 30px rgba(24,79,128,.10);
}
html[data-theme="blue"] body{background:var(--uoc-paper)!important;color:var(--uoc-text)!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important}
html[data-theme="blue"] main{min-height:50vh}
html[data-theme="blue"] .site-frame{width:min(calc(100% - 36px),var(--site-max,1440px));margin-inline:auto}
/* Header */
html[data-theme="blue"] .site-header{position:sticky!important;top:0!important;z-index:100!important;background:#fff!important;color:var(--uoc-ink)!important;border:0!important;box-shadow:0 1px 0 rgba(15,76,130,.12)!important;padding:0!important;display:block!important}
html[data-theme="blue"] .top-strip{background:linear-gradient(90deg,#0a4f91,#0b5ca8)!important;color:#fff!important;height:30px!important;border:0!important}
html[data-theme="blue"] .top-strip-inner{height:30px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;font-size:11px!important}
html[data-theme="blue"] .top-contact{display:flex!important;align-items:center!important;gap:16px!important}.top-contact a,.top-tagline{color:#fff!important;opacity:.98}
html[data-theme="blue"] .blue-nav-shell{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"brand tools" "menu menu"!important;align-items:center!important;gap:0 18px!important;min-height:112px!important;padding:8px 0 0!important}
html[data-theme="blue"] .brand-text-only{grid-area:brand!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;min-width:0!important;margin:0!important;padding:2px 0 7px!important;color:var(--uoc-ink)!important}
html[data-theme="blue"] .brand-copy strong{font-family:Georgia,"Times New Roman",serif!important;font-size:22px!important;line-height:1.02!important;color:var(--uoc-ink)!important;letter-spacing:-.01em!important}.brand-copy small{display:block!important;margin-top:5px!important;color:#9bb0c4!important;font-size:10px!important}
html[data-theme="blue"] .header-tools{grid-area:tools!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;padding-bottom:7px!important}
html[data-theme="blue"] .blue-main-nav{grid-area:menu!important;display:flex!important;align-items:center!important;justify-content:center!important;position:static!important;width:100%!important;background:#fff!important;border-top:1px solid #e7f0f7!important;box-shadow:none!important;padding:0!important;min-height:46px!important}
html[data-theme="blue"] .blue-main-nav .nav-links{display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;flex-wrap:wrap!important}
html[data-theme="blue"] .blue-main-nav .nav-links>a{position:relative!important;color:#1d4a74!important;font-weight:750!important;font-size:13px!important;padding:12px 13px 11px!important;border-radius:8px 8px 0 0!important;transition:.18s ease!important}
html[data-theme="blue"] .blue-main-nav .nav-links>a:hover{background:#eef7ff!important;color:#075eb4!important}html[data-theme="blue"] .blue-main-nav .nav-links>a.active{background:#e8f4ff!important;color:#075eb4!important}html[data-theme="blue"] .blue-main-nav .nav-links>a.active:after{content:"";position:absolute;left:13px;right:13px;bottom:0;height:3px;background:var(--uoc-gold);border-radius:3px}
html[data-theme="blue"] .lang-dropdown-toggle,.visitor-tools button,.account-link,.signup-link{height:42px!important;border-radius:10px!important;border:1px solid #c8dced!important;background:#fff!important;color:var(--uoc-ink)!important;font-weight:800!important;box-shadow:none!important}
html[data-theme="blue"] .lang-dropdown-toggle{min-width:126px!important;padding:0 12px!important}.lang-dropdown-menu{border:1px solid #c8dced!important;box-shadow:var(--uoc-shadow)!important;border-radius:12px!important;overflow:hidden!important}.lang-dropdown-menu a{color:var(--uoc-ink)!important;background:#fff!important}.lang-dropdown-menu a:hover,.lang-dropdown-menu a.active{background:#e9f5ff!important;color:#075eb4!important}
html[data-theme="blue"] .signup-link{background:linear-gradient(#1b78d3,#1161b6)!important;color:#fff!important;border-color:#1767b5!important;padding-inline:16px!important}.account-link{padding-inline:14px!important}
html[data-theme="blue"] .nav-toggle{display:none!important;background:#1168be!important;color:#fff!important;border:0!important;width:42px!important;height:42px!important;border-radius:10px!important;font-size:23px!important;line-height:1!important}
/* Hero */
html[data-theme="blue"] .theme-hero-banner{position:relative!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#dff1ff!important;border:0!important;box-shadow:none!important;isolation:isolate!important}
html[data-theme="blue"] .theme-hero-art{display:block!important;width:100%!important;height:auto!important;aspect-ratio:2048/682!important;object-fit:cover!important;object-position:center!important}
html[data-theme="blue"] .hero-theme-logo{display:none!important}
html[data-theme="blue"] .theme-hero-banner:after{display:none!important}
html[data-theme="blue"] .theme-hero-actions{position:absolute!important;left:50%!important;bottom:19.6%!important;transform:translateX(-50%)!important;width:min(31.5vw,640px)!important;min-width:430px!important;height:9.7%!important;z-index:7!important;display:flex!important;gap:18px!important;padding:0!important;background:none!important}
html[data-theme="blue"] .hero-action{height:100%!important;flex:1 1 0!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:999px!important;padding:0 18px!important;font-size:clamp(13px,1.08vw,19px)!important;line-height:1!important;font-weight:850!important;white-space:nowrap!important;text-decoration:none!important;box-shadow:0 8px 20px rgba(18,80,140,.18)!important}
html[data-theme="blue"] .hero-action.primary{background:linear-gradient(180deg,#197ce0,#075eb7)!important;color:#fff!important;border:1px solid #0a5fae!important}
html[data-theme="blue"] .hero-action.secondary{background:#f8fcff!important;color:#103e73!important;border:2px solid #1c63ad!important}
html[data-theme="blue"] .hero-language-cover{position:absolute!important;z-index:5!important;left:34.2%!important;top:9%!important;width:35%!important;height:55%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:2% 3%!important;background:radial-gradient(ellipse at center,rgba(247,252,255,.99) 0%,rgba(239,248,255,.96) 62%,rgba(239,248,255,.84) 78%,rgba(239,248,255,0) 100%)!important;color:var(--uoc-ink)!important;pointer-events:none!important}
.hero-language-kicker{font-family:Georgia,"Times New Roman",serif;font-size:clamp(16px,1.55vw,32px);font-weight:700;line-height:1.08}.hero-language-cover>strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(40px,5vw,98px);line-height:.98;color:#0756a9;letter-spacing:-.03em}.hero-language-programs{text-transform:uppercase;letter-spacing:.17em;font-family:Georgia,"Times New Roman",serif;font-size:clamp(10px,1.05vw,20px);color:#143e70;margin-top:10px}.hero-language-cover p{font-family:Georgia,"Times New Roman",serif;font-size:clamp(10px,.95vw,18px);line-height:1.45;max-width:620px;margin:14px 0 0;color:#24496f}.hero-mobile-copy{display:none}
/* Main page visual system */
html[data-theme="blue"] .section{background:#f8fbfe!important;color:var(--uoc-text)!important;padding:38px max(24px,calc((100% - min(var(--site-max,1440px),calc(100% - 36px)))/2))!important}
html[data-theme="blue"] .section.alt{background:#eef7ff!important}.section-head{margin-bottom:20px!important}.section-head h2{font-family:Georgia,"Times New Roman",serif!important;color:var(--uoc-ink)!important;font-size:clamp(28px,3vw,44px)!important}.section-head p{color:var(--uoc-muted)!important}.eyebrow{color:#b27e12!important;font-size:11px!important;letter-spacing:.15em!important}
html[data-theme="blue"] .grid{gap:18px!important}.card{border:1px solid var(--uoc-line)!important;border-radius:14px!important;box-shadow:var(--uoc-shadow)!important;background:#fff!important}.article-card img{aspect-ratio:16/9!important}.article-badge{background:#0f66bd!important;color:#fff!important;border:0!important;font-size:10px!important;padding:5px 9px!important}.card-body{padding:17px!important}.card-body h3{font-size:22px!important;color:var(--uoc-ink)!important}.card-body p{color:var(--uoc-muted)!important}.link{color:#075eb4!important}
.music-program-grid,.music-program-grid.compact{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:13px!important}.music-program-card{background:#fff!important;border:1px solid var(--uoc-line)!important;border-radius:11px!important;overflow:hidden!important;box-shadow:0 7px 20px rgba(22,78,130,.08)!important;transition:.2s!important}.music-program-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(22,78,130,.14)!important}.music-program-card>img{width:100%!important;aspect-ratio:16/9!important;object-fit:cover!important;background:#e8f4ff!important}.music-program-card>div{padding:11px 12px 13px!important}.music-program-card h3{font-size:18px!important;margin:0 0 3px!important;color:var(--uoc-ink)!important}.music-program-card p{font-size:12px!important;color:#6a8198!important;margin:0!important}.music-program-card span{color:#075eb4!important;font-weight:800!important;font-size:12px!important}
.events-home .event{background:#fff!important;border:1px solid var(--uoc-line)!important;border-radius:12px!important;padding:13px 15px!important;margin-bottom:8px!important}.event-date{color:#075eb4!important}.about-premium,.lingua-band,.afterdark-premium{border-top:1px solid #d9e8f4!important}.about-premium{background:linear-gradient(180deg,#f7fbff,#edf7ff)!important}.director-card,.price-preview,.lingua-band>div,.about-copy{background:#fff!important;border:1px solid var(--uoc-line)!important;border-radius:16px!important;box-shadow:var(--uoc-shadow)!important}.about-copy,.price-preview{padding:24px!important}.director-card{overflow:hidden!important}.director-card img{aspect-ratio:4/3!important;object-fit:cover!important}.director-label{padding:12px 14px!important;color:var(--uoc-ink)!important}
/* Sub pages */
html[data-theme="blue"] .page-hero,html[data-theme="blue"] .price-hero,html[data-theme="blue"] .profile-hero{background:linear-gradient(135deg,#e9f5ff,#d6eafe)!important;color:var(--uoc-ink)!important;padding:52px 0 40px!important;border-bottom:1px solid var(--uoc-line)!important}.page-hero h1,.price-hero h1,.profile-hero h1{color:var(--uoc-ink)!important;font-family:Georgia,"Times New Roman",serif!important}.page-hero p,.price-hero p,.profile-hero p{color:#607b94!important}.page-layout,.content,.price-wrap{background:#f8fbfe!important}.page-copy-card,.service-card,.contact-card,.legal-card,.director-about,.school-visual,.academia-showcase,.instrument-price-card,.price-info-card,.public-video-card{background:#fff!important;border:1px solid var(--uoc-line)!important;border-radius:15px!important;box-shadow:var(--uoc-shadow)!important;color:var(--uoc-text)!important}.instrument-price-card:before{background:linear-gradient(#0d70d1,#d9aa38)!important}.price-note-card{background:linear-gradient(145deg,#0d4f91,#073663)!important}.price-number strong{color:var(--uoc-ink)!important}.filters a{background:#fff!important;border:1px solid var(--uoc-line)!important;color:var(--uoc-ink)!important}.filters a.active,.filters a:hover{background:#0b68c2!important;color:#fff!important;border-color:#0b68c2!important}
.gallery-grid a{position:relative!important;border:1px solid var(--uoc-line)!important;box-shadow:var(--uoc-shadow)!important;background:#fff!important}.gallery-memo{background:linear-gradient(transparent,rgba(3,33,63,.92))!important;color:#fff!important;padding-top:45px!important}.gallery-memo *{color:#fff!important}.public-video-card{overflow:hidden!important}
/* Footer */
html[data-theme="blue"] .footer{background:linear-gradient(135deg,#073663,#0a5599)!important;color:#d9e8f5!important;padding:34px 0 0!important;border-top:3px solid #d9aa38!important}.footer-inner{display:grid!important;grid-template-columns:2fr 1fr 1.2fr 1fr!important;gap:28px!important}.footer-brand{display:flex!important;gap:12px!important;align-items:flex-start!important}.footer-logo-img{width:66px!important;height:66px!important;object-fit:contain!important}.footer h4,.footer strong,.footer a{color:#fff!important}.footer p{margin:.35em 0!important}.footer-bottom{grid-column:1/-1!important;border-top:1px solid rgba(255,255,255,.15)!important;margin-top:7px!important;padding:14px 0!important;text-align:center!important;font-size:12px!important;color:#cfe0ef!important}
/* Responsive reference implementation */
@media(max-width:1100px){
 html[data-theme="blue"] .top-strip-inner{font-size:10px!important}.top-tagline{display:none!important}.top-contact{margin-left:auto!important}
 html[data-theme="blue"] .blue-nav-shell{min-height:76px!important;grid-template-columns:1fr auto!important;grid-template-areas:"brand tools" "menu menu"!important;padding-top:5px!important}.brand-copy strong{font-size:18px!important}.brand-copy small{font-size:9px!important}
 html[data-theme="blue"] .nav-toggle{display:grid!important;place-items:center!important}.visitor-tools{display:none!important}
 html[data-theme="blue"] .blue-main-nav{display:none!important;position:absolute!important;left:0!important;right:0!important;top:100%!important;padding:12px 16px 16px!important;background:#fff!important;border-top:1px solid var(--uoc-line)!important;box-shadow:0 18px 36px rgba(17,72,124,.16)!important;min-height:0!important}.site-header{position:sticky!important}.blue-nav-shell{position:relative!important}.blue-main-nav.open{display:block!important}.blue-main-nav .nav-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}.blue-main-nav .nav-links>a{border-radius:9px!important;padding:10px 12px!important;background:#f5faff!important}.blue-main-nav .nav-links>a.active:after{display:none!important}
 .mobile-nav-actions{display:flex!important}.music-program-grid,.music-program-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))!important}.footer-inner{grid-template-columns:1fr 1fr!important}
 .theme-hero-actions{min-width:340px!important}
}
@media(max-width:720px){
 html[data-theme="blue"] .top-strip{display:none!important}.site-frame{width:min(calc(100% - 24px),var(--site-max,1440px))!important}
 html[data-theme="blue"] .blue-nav-shell{min-height:68px!important;padding:5px 0!important;grid-template-columns:minmax(0,1fr) auto!important}.brand-copy strong{font-size:15px!important;line-height:1.08!important;max-width:190px!important}.brand-copy small{display:none!important}.header-tools{padding:0!important;gap:5px!important}.account-link,.signup-link{display:none!important}.lang-dropdown-toggle{min-width:84px!important;width:auto!important;height:40px!important;padding:0 8px!important}.lang-current-name{display:none!important}.nav-toggle{width:40px!important;height:40px!important}
 .blue-main-nav .nav-links{grid-template-columns:1fr!important}.blue-main-nav .nav-links>a{font-size:15px!important}
 html[data-theme="blue"] .theme-hero-banner{display:block!important;background:#f7fbff!important}.theme-hero-art{height:245px!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:22% center!important}.hero-language-cover{display:none!important}.theme-hero-actions{display:none!important}.hero-mobile-copy{display:block!important;background:linear-gradient(180deg,#f7fbff,#eaf5ff)!important;padding:18px 18px 20px!important;text-align:center!important;border-bottom:1px solid var(--uoc-line)!important}.hero-mobile-copy .hero-language-kicker{display:block!important;font-size:17px!important;color:var(--uoc-ink)!important}.hero-mobile-copy h1{font-family:Georgia,"Times New Roman",serif!important;font-size:42px!important;line-height:1!important;color:#0756a9!important;margin:2px 0 8px!important}.hero-mobile-copy .hero-language-programs{font-size:10px!important;letter-spacing:.12em!important}.hero-mobile-copy p{font-size:14px!important;line-height:1.45!important;color:#5b7690!important;max-width:520px!important;margin:10px auto 14px!important}.hero-mobile-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.hero-mobile-actions .hero-action{height:44px!important;font-size:12px!important;padding:0 8px!important}
 html[data-theme="blue"] .section{padding:30px 14px!important}.section-head{display:block!important}.section-head h2{font-size:31px!important}.grid,.grid.four{grid-template-columns:1fr!important}.music-program-grid,.music-program-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.music-program-card h3{font-size:15px!important}.music-program-card>div{padding:9px!important}.music-program-card p{font-size:11px!important}
 .page-hero,.price-hero,.profile-hero{padding:36px 14px 30px!important}.page-hero h1,.price-hero h1,.profile-hero h1{font-size:42px!important}.page-layout{padding-inline:12px!important}.price-intro-grid,.feature-row,.contact-grid,.service-grid{grid-template-columns:1fr!important}.price-grid{grid-template-columns:1fr!important}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.event{grid-template-columns:1fr!important}
 .footer-inner{grid-template-columns:1fr!important}.footer{padding-top:26px!important}.footer-bottom{grid-column:1!important}.footer-logo-img{width:58px!important;height:58px!important}
}
@media(max-width:390px){.music-program-grid,.music-program-grid.compact{grid-template-columns:1fr!important}.hero-mobile-actions{grid-template-columns:1fr!important}.theme-hero-art{height:220px!important}}
/* Approved homepage composition */
.home-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));background:#f8fbfe}
.home-layout>#section-hero,.home-layout>#section-music_school,.home-layout>#section-programs,.home-layout>#section-academia,.home-layout>#section-afterdark,.home-layout>#section-timeline,.home-layout>#section-news,.home-layout>#section-gallery,.home-layout>#section-enroll{grid-column:1/-1}
.home-layout>#section-featured{grid-column:1/span 5;padding-right:14px!important}
.home-layout>#section-events{grid-column:6/span 4;padding-left:14px!important;padding-right:14px!important}
.home-layout>#section-intro{grid-column:10/span 3;padding-left:14px!important}
#section-featured .section-head,#section-events .section-head,#section-intro .section-head{align-items:flex-start!important;margin-bottom:14px!important}#section-featured .section-head p,#section-events .section-head p{display:none}#section-featured .grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}#section-featured .article-card .card-body{padding:11px!important}#section-featured .article-card .card-body h3{font-size:16px!important}#section-featured .article-card .card-body p{font-size:12px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}#section-featured .article-badge{font-size:9px!important;left:8px!important;top:8px!important}
#section-events .section-head .btn{padding:9px 12px!important;font-size:12px!important}#section-events .event{display:grid!important;grid-template-columns:78px 1fr!important;gap:10px!important;align-items:center!important}#section-events .event>div:last-child{grid-column:2!important;font-size:11px!important;color:#71879b!important}#section-events .event h3{font-size:15px!important;margin:0!important}#section-events .event p{display:none!important}.home-why-panel{background:linear-gradient(180deg,#f7fbff,#eef7ff)!important}.home-benefits{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:9px}.home-benefits li{position:relative;padding-left:27px;color:#234d76;font-size:13px}.home-benefits li:before{content:"✓";position:absolute;left:0;top:0;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#0b63c7;color:#fff;font-weight:900;font-size:11px}.home-why-quote{font:italic 22px/1.25 Georgia,serif;color:#0b4f97;margin:20px 0 14px;padding:0;border:0}
@media(max-width:1180px){.home-layout>#section-featured{grid-column:1/span 7}.home-layout>#section-events{grid-column:8/span 5}.home-layout>#section-intro{grid-column:1/-1}.home-why-panel{display:grid;grid-template-columns:1fr 1fr;gap:10px 30px}.home-why-panel .compact-head,.home-why-panel>a{grid-column:1/-1}.home-why-quote{align-self:center}}
@media(max-width:820px){.home-layout{display:block}.home-layout>#section-featured,.home-layout>#section-events,.home-layout>#section-intro{padding-left:14px!important;padding-right:14px!important}.home-why-panel{display:block}#section-featured .grid{grid-template-columns:1fr!important}.home-why-quote{font-size:20px}}

/* ===== FINAL COMPACT INNER-PAGE BANNER =====
   One shared compact banner for About, Music School, News, Events, Gallery,
   Prices, Enrollment, Profile and article pages. Keeps the full homepage hero
   exclusive to index.php while every inner page still carries the UOC Blue identity. */
html[data-theme="blue"] .inner-page-banner{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  min-height:190px!important;
  display:flex!important;
  align-items:center!important;
  background:linear-gradient(135deg,#eaf6ff,#d6ebfd)!important;
  color:#173f70!important;
  border-bottom:1px solid #bfd8ec!important;
  box-shadow:inset 0 -1px 0 rgba(13,79,150,.05)!important;
}
html[data-theme="blue"] .inner-page-banner::before{
  content:"";
  position:absolute;
  inset:-8px;
  z-index:-2;
  background-image:var(--inner-page-banner-image);
  background-size:cover;
  background-position:center 46%;
  opacity:.28;
  filter:saturate(.9) contrast(.92) brightness(1.08);
  transform:scale(1.025);
}
html[data-theme="blue"] .inner-page-banner::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg,rgba(248,252,255,.99) 0%,rgba(245,251,255,.96) 34%,rgba(235,247,255,.88) 56%,rgba(221,239,253,.72) 100%),
    linear-gradient(180deg,rgba(255,255,255,.18),rgba(219,237,251,.15));
}
html[data-theme="blue"] .inner-page-banner-inner{
  width:min(calc(100% - 40px),var(--site-max,1440px))!important;
  margin:0 auto!important;
  padding:24px 0 26px!important;
}
html[data-theme="blue"] .inner-page-banner-copy{
  max-width:760px!important;
  padding:4px 0!important;
}
html[data-theme="blue"] .inner-page-banner .eyebrow{
  display:inline-block!important;
  margin-bottom:4px!important;
  color:#b27e12!important;
  font-size:11px!important;
  letter-spacing:.17em!important;
  font-weight:900!important;
}
html[data-theme="blue"] .inner-page-banner h1{
  margin:0!important;
  color:#164778!important;
  font:700 clamp(36px,4.2vw,58px)/1.02 Georgia,"Times New Roman",serif!important;
  letter-spacing:-.025em!important;
  text-wrap:balance;
}
html[data-theme="blue"] .inner-page-banner p{
  max-width:700px!important;
  margin:10px 0 0!important;
  color:#55728f!important;
  font-size:clamp(14px,1.35vw,18px)!important;
  line-height:1.48!important;
}
@media(max-width:900px){
  html[data-theme="blue"] .inner-page-banner{min-height:160px!important}
  html[data-theme="blue"] .inner-page-banner::before{background-position:58% center;opacity:.22}
  html[data-theme="blue"] .inner-page-banner-inner{width:min(calc(100% - 28px),var(--site-max,1440px))!important;padding:20px 0 22px!important}
  html[data-theme="blue"] .inner-page-banner h1{font-size:clamp(32px,7vw,46px)!important}
}
@media(max-width:600px){
  html[data-theme="blue"] .inner-page-banner{min-height:136px!important}
  html[data-theme="blue"] .inner-page-banner::before{background-position:64% center;opacity:.16}
  html[data-theme="blue"] .inner-page-banner::after{background:linear-gradient(90deg,rgba(248,252,255,.995) 0%,rgba(244,250,255,.97) 64%,rgba(226,241,253,.86) 100%)}
  html[data-theme="blue"] .inner-page-banner-inner{width:calc(100% - 24px)!important;padding:16px 0 18px!important}
  html[data-theme="blue"] .inner-page-banner .eyebrow{font-size:9px!important;margin-bottom:3px!important}
  html[data-theme="blue"] .inner-page-banner h1{font-size:34px!important;line-height:1.02!important}
  html[data-theme="blue"] .inner-page-banner p{font-size:13px!important;line-height:1.42!important;margin-top:7px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
}

/* ===== REFERENCE-FINAL HOME 2026-09-12 ===== */
html[data-theme="blue"] .site-header{position:relative!important;top:auto!important}
html[data-theme="blue"] .top-strip{height:31px!important;background:linear-gradient(90deg,#064984,#0b5ca8)!important}
html[data-theme="blue"] .top-strip-inner{height:31px!important;max-width:1430px!important;font-size:12px!important}
html[data-theme="blue"] .top-tagline{font-weight:650!important}
html[data-theme="blue"] .blue-nav-shell{
  min-height:103px!important;padding:4px 0 0!important;
  grid-template-columns:1fr minmax(360px,520px) 1fr!important;
  grid-template-areas:"blank brand tools" "menu menu menu"!important;
}
html[data-theme="blue"] .brand-text-only{grid-area:brand!important;justify-content:center!important;text-align:center!important;padding:3px 0 5px!important}
html[data-theme="blue"] .brand-copy{display:flex!important;flex-direction:column!important;align-items:center!important;line-height:1!important}
html[data-theme="blue"] .brand-kicker{font:700 14px/1 Georgia,"Times New Roman",serif!important;color:#113f78!important}
html[data-theme="blue"] .brand-copy strong{font:700 29px/.88 Georgia,"Times New Roman",serif!important;color:#0a4e9b!important;letter-spacing:-.025em!important;max-width:none!important}
html[data-theme="blue"] .brand-copy small{display:block!important;margin-top:5px!important;font:italic 10px/1.05 Georgia,"Times New Roman",serif!important;color:#0d4a8b!important}
html[data-theme="blue"] .header-tools{grid-area:tools!important;justify-self:end!important;padding-bottom:5px!important}
html[data-theme="blue"] .signup-link{display:none!important}
html[data-theme="blue"] .account-link{background:linear-gradient(180deg,#1276d7,#0754a8)!important;color:#fff!important;border-color:#0b5cae!important;min-width:138px!important;text-align:center!important}
html[data-theme="blue"] .blue-main-nav{min-height:40px!important;border-top:0!important}
html[data-theme="blue"] .blue-main-nav .nav-links>a{padding:10px 16px 9px!important;font-size:13px!important;color:#06428c!important}
html[data-theme="blue"] .blue-main-nav .nav-links>a.active{background:transparent!important;color:#053b80!important}
html[data-theme="blue"] .blue-main-nav .nav-links>a.active:after{background:#1e79e0!important;height:3px!important}

/* reference hero is a crop of the approved final visual */
html[data-theme="blue"] .theme-hero-banner{background:#d9efff!important}
html[data-theme="blue"] .theme-hero-art{width:100%!important;height:auto!important;aspect-ratio:1536/329!important;object-fit:cover!important;object-position:center!important}
html[data-theme="blue"] .theme-hero-actions{left:50%!important;bottom:7.6%!important;width:34%!important;min-width:420px!important;height:16%!important;gap:18px!important;opacity:.001!important}
html[data-theme="blue"] .theme-hero-actions .hero-action{box-shadow:none!important;border:0!important;background:transparent!important;color:transparent!important}
html[data-theme="blue"] .hero-language-cover{display:none!important}

/* compact program strip like the reference */
html[data-theme="blue"] #section-music_school{padding-top:8px!important;padding-bottom:12px!important;background:linear-gradient(180deg,#f8fcff,#eff8ff)!important}
.reference-program-head{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:10px!important;border-bottom:0!important}
.reference-program-head h2,.reference-compact-head h2,#section-events .section-head h2,#section-intro .section-head h2{font-size:25px!important;line-height:1.08!important;margin:0!important;color:#083f82!important}
.reference-program-head h2:after{content:"";display:inline-block;width:100px;height:1px;background:#2e76cc;margin:0 0 6px 12px}
.program-head-right{display:flex!important;align-items:center!important;gap:18px!important}
.program-head-right p{margin:0!important;font-size:12px!important;color:#0a4f9b!important}
.mini-section-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:32px!important;padding:0 17px!important;border-radius:999px!important;background:linear-gradient(180deg,#187be0,#0757b0)!important;color:#fff!important;font-size:12px!important;font-weight:800!important;text-decoration:none!important;white-space:nowrap!important}
.music-program-grid.reference-program-grid,.music-program-grid.compact.reference-program-grid{grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:14px!important;margin-top:0!important;max-width:none!important}
.reference-program-grid .music-program-card{border-radius:7px!important;box-shadow:0 3px 12px rgba(26,90,148,.09)!important}
.reference-program-grid .music-program-card>img{aspect-ratio:1.72/1!important}
.reference-program-grid .music-program-card>div{padding:6px 8px 8px!important;text-align:center!important}
.reference-program-grid .music-program-card h3{font-size:14px!important;line-height:1.05!important;margin-bottom:3px!important}
.reference-program-grid .music-program-card p{font-size:9px!important;line-height:1.2!important;margin-bottom:5px!important}
.reference-program-grid .music-program-card span{font-size:10px!important}

/* three-column lower home composition */
.home-layout>#section-featured,.home-layout>#section-events,.home-layout>#section-intro{padding-top:12px!important;padding-bottom:14px!important;background:#f8fbfe!important}
.home-layout>#section-featured{grid-column:1/span 5!important;padding-left:max(24px,calc((100% - min(var(--site-max,1440px),calc(100% - 36px)))/2))!important;padding-right:12px!important}
.home-layout>#section-events{grid-column:6/span 4!important;padding-left:12px!important;padding-right:12px!important}
.home-layout>#section-intro{grid-column:10/span 3!important;padding-left:12px!important;padding-right:max(24px,calc((100% - min(var(--site-max,1440px),calc(100% - 36px)))/2))!important}
.reference-compact-head{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:10px!important}
#section-featured .grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
#section-featured .article-card{border-radius:7px!important;box-shadow:0 3px 12px rgba(25,82,137,.08)!important}
#section-featured .article-card .article-image img{aspect-ratio:1.55/1!important}
#section-featured .article-card .card-body{padding:7px 8px 9px!important}
#section-featured .article-card .card-body h3{font-size:13px!important;line-height:1.15!important;margin:0 0 5px!important}
#section-featured .article-card .card-body p{display:none!important}
#section-featured .article-card .link{font-size:10px!important}
#section-featured .article-badge{display:none!important}
#section-events .section-head{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:10px!important}
#section-events .section-head .eyebrow,#section-events .section-head p{display:none!important}
#section-events .section-head .btn{min-height:32px!important;border-radius:999px!important;padding:0 15px!important;font-size:11px!important}
#section-events .events{display:grid!important;gap:7px!important}
#section-events .event{grid-template-columns:58px 1fr!important;gap:9px!important;border:0!important;border-radius:7px!important;padding:7px 9px!important;background:#fff!important;box-shadow:0 3px 12px rgba(25,82,137,.06)!important}
#section-events .event-date{font-size:11px!important;font-weight:900!important;color:#0a5bb4!important;text-align:center!important}
#section-events .event h3{font-size:12px!important;color:#093f82!important}
#section-events .event>div:last-child{font-size:9px!important}
.home-why-panel{border-radius:8px 0 0 8px!important}
.home-benefits{gap:6px!important;margin-bottom:8px!important}
.home-benefits li{font-size:11px!important;padding-left:23px!important}
.home-benefits li:before{width:18px!important;height:18px!important;font-size:10px!important}
.home-why-quote{font-size:20px!important;text-align:right!important;margin:12px 0 8px!important}
#section-intro>a.link{font-size:10px!important}

html[data-theme="blue"] .footer{padding-top:20px!important;border-top:0!important;background:linear-gradient(135deg,#073f76,#0a5599)!important}
html[data-theme="blue"] .footer-inner{gap:18px!important}
html[data-theme="blue"] .footer-logo-img{width:58px!important;height:58px!important}
html[data-theme="blue"] .footer h4{font-size:12px!important;margin:0 0 5px!important}
html[data-theme="blue"] .footer p,html[data-theme="blue"] .footer a{font-size:10px!important;line-height:1.45!important}
html[data-theme="blue"] .footer-bottom{padding:10px 0!important;font-size:10px!important}

@media(max-width:1180px){
  html[data-theme="blue"] .blue-nav-shell{grid-template-columns:1fr minmax(310px,440px) 1fr!important}
  .music-program-grid.reference-program-grid,.music-program-grid.compact.reference-program-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:820px){
  html[data-theme="blue"] .blue-nav-shell{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"brand tools" "menu menu"!important;min-height:72px!important}
  html[data-theme="blue"] .brand-text-only{justify-content:flex-start!important;text-align:left!important}
  html[data-theme="blue"] .brand-copy{align-items:flex-start!important}.brand-kicker{font-size:11px!important}.brand-copy strong{font-size:22px!important}.brand-copy small{display:none!important}
  html[data-theme="blue"] .account-link{display:none!important}
  html[data-theme="blue"] .theme-hero-art{height:250px!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:45% center!important}
  html[data-theme="blue"] .theme-hero-actions{display:none!important}
  html[data-theme="blue"] .hero-mobile-copy{display:block!important}
  .reference-program-head{display:block!important}.program-head-right{margin-top:8px!important;justify-content:space-between!important}
  .music-program-grid.reference-program-grid,.music-program-grid.compact.reference-program-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .home-layout{display:block!important}.home-layout>#section-featured,.home-layout>#section-events,.home-layout>#section-intro{padding:18px 14px!important}
  #section-featured .grid{grid-template-columns:1fr!important}
}
@media(max-width:430px){
  .program-head-right p{display:none!important}.reference-program-head h2:after{width:55px!important}
  .reference-program-grid .music-program-card h3{font-size:13px!important}
}

/* ===== UOC FINAL FIX: VISIBLE HEADER LOGO + INNER BANNER ===== */
html[data-theme="blue"] .brand.brand-with-logo{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-width:0!important;
  color:#083f7a!important;
}
html[data-theme="blue"] .header-uoc-logo{
  display:block!important;
  width:56px!important;
  height:62px!important;
  object-fit:contain!important;
  flex:0 0 56px!important;
  filter:drop-shadow(0 3px 6px rgba(10,55,105,.18))!important;
}
html[data-theme="blue"] .brand-with-logo .brand-copy{
  display:block!important;
  min-width:0!important;
  text-align:center!important;
}
html[data-theme="blue"] .brand-with-logo .brand-kicker{
  display:block!important;
  font:700 12px/1.05 Georgia,"Times New Roman",serif!important;
  color:#0a4483!important;
}
html[data-theme="blue"] .brand-with-logo strong{
  display:block!important;
  margin-top:0!important;
  font:700 27px/.93 Georgia,"Times New Roman",serif!important;
  color:#073f80!important;
}
html[data-theme="blue"] .brand-with-logo small{
  display:block!important;
  margin-top:4px!important;
  font:italic 10px/1.05 Georgia,"Times New Roman",serif!important;
  color:#6a83a0!important;
  white-space:nowrap!important;
}

html[data-theme="blue"] .inner-page-banner{
  min-height:230px!important;
  background:#dfefff!important;
  border-bottom:1px solid #b8d5ec!important;
  box-shadow:0 8px 24px rgba(16,77,132,.08)!important;
}
html[data-theme="blue"] .inner-page-banner::before{
  inset:0!important;
  background-image:var(--inner-page-banner-image)!important;
  background-size:cover!important;
  background-position:center 46%!important;
  opacity:.68!important;
  filter:saturate(1.02) contrast(.98) brightness(1.03)!important;
  transform:none!important;
}
html[data-theme="blue"] .inner-page-banner::after{
  background:linear-gradient(90deg,rgba(246,251,255,.97) 0%,rgba(243,250,255,.93) 37%,rgba(229,243,254,.70) 57%,rgba(213,236,252,.22) 78%,rgba(210,234,252,.06) 100%)!important;
}
html[data-theme="blue"] .inner-page-banner-inner{
  display:grid!important;
  grid-template-columns:138px minmax(0,760px)!important;
  gap:24px!important;
  align-items:center!important;
  width:min(calc(100% - 54px),var(--site-max,1440px))!important;
  padding:24px 0!important;
}
html[data-theme="blue"] .inner-page-banner-logo{
  display:block!important;
  width:132px!important;
  height:154px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 10px 18px rgba(9,53,101,.24))!important;
}
html[data-theme="blue"] .inner-page-banner-copy{
  max-width:760px!important;
  padding:0!important;
}
html[data-theme="blue"] .inner-page-banner .eyebrow{
  color:#a97200!important;
  text-shadow:0 1px 0 rgba(255,255,255,.8)!important;
}
html[data-theme="blue"] .inner-page-banner h1{
  color:#073f80!important;
  text-shadow:0 1px 0 rgba(255,255,255,.72)!important;
}
html[data-theme="blue"] .inner-page-banner p{
  color:#355f86!important;
  text-shadow:0 1px 0 rgba(255,255,255,.72)!important;
}

@media(max-width:1100px){
  html[data-theme="blue"] .header-uoc-logo{width:46px!important;height:52px!important;flex-basis:46px!important}
  html[data-theme="blue"] .brand-with-logo strong{font-size:23px!important}
  html[data-theme="blue"] .brand-with-logo small{display:none!important}
}
@media(max-width:900px){
  html[data-theme="blue"] .brand.brand-with-logo{justify-content:flex-start!important}
  html[data-theme="blue"] .header-uoc-logo{width:42px!important;height:48px!important;flex-basis:42px!important}
  html[data-theme="blue"] .brand-with-logo .brand-copy{text-align:left!important}
  html[data-theme="blue"] .brand-with-logo .brand-kicker{font-size:10px!important}
  html[data-theme="blue"] .brand-with-logo strong{font-size:21px!important}
  html[data-theme="blue"] .inner-page-banner{min-height:190px!important}
  html[data-theme="blue"] .inner-page-banner::before{opacity:.56!important;background-position:62% center!important}
  html[data-theme="blue"] .inner-page-banner::after{background:linear-gradient(90deg,rgba(247,252,255,.985) 0%,rgba(243,250,255,.95) 58%,rgba(226,242,253,.58) 100%)!important}
  html[data-theme="blue"] .inner-page-banner-inner{grid-template-columns:102px minmax(0,1fr)!important;gap:17px!important;width:calc(100% - 28px)!important;padding:18px 0!important}
  html[data-theme="blue"] .inner-page-banner-logo{width:98px!important;height:116px!important}
}
@media(max-width:600px){
  html[data-theme="blue"] .header-uoc-logo{width:36px!important;height:41px!important;flex-basis:36px!important}
  html[data-theme="blue"] .brand-with-logo .brand-kicker{font-size:9px!important}
  html[data-theme="blue"] .brand-with-logo strong{font-size:19px!important}
  html[data-theme="blue"] .inner-page-banner{min-height:158px!important}
  html[data-theme="blue"] .inner-page-banner::before{opacity:.42!important;background-position:72% center!important}
  html[data-theme="blue"] .inner-page-banner::after{background:linear-gradient(90deg,rgba(248,252,255,.99) 0%,rgba(244,250,255,.965) 73%,rgba(228,243,254,.72) 100%)!important}
  html[data-theme="blue"] .inner-page-banner-inner{grid-template-columns:76px minmax(0,1fr)!important;gap:12px!important;width:calc(100% - 22px)!important;padding:12px 0!important}
  html[data-theme="blue"] .inner-page-banner-logo{width:72px!important;height:88px!important}
  html[data-theme="blue"] .inner-page-banner h1{font-size:31px!important}
  html[data-theme="blue"] .inner-page-banner p{font-size:12px!important;line-height:1.35!important;margin-top:5px!important}
}

/* ===== FINAL V3: SAME MAIN UOC BANNER ON EVERY PUBLIC PAGE ===== */
html[data-theme="blue"] .global-main-banner{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:#d9efff!important;
  border:0!important;
  overflow:hidden!important;
  line-height:0!important;
}
html[data-theme="blue"] .global-main-banner-art{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1536/329!important;
  object-fit:cover!important;
  object-position:center center!important;
  margin:0!important;
  padding:0!important;
}
html[data-theme="blue"] .inner-page-heading{
  background:linear-gradient(180deg,#f8fcff 0%,#eef7ff 100%)!important;
  border-top:1px solid #d5e8f8!important;
  border-bottom:1px solid #c9e0f3!important;
  margin:0!important;
  padding:0!important;
}
html[data-theme="blue"] .inner-page-heading-inner{
  width:min(var(--site-max),calc(100% - 40px))!important;
  margin:0 auto!important;
  padding:26px 0 28px!important;
}
html[data-theme="blue"] .inner-page-heading .eyebrow{
  display:block!important;
  margin:0 0 5px!important;
  color:#b67a00!important;
  font-size:11px!important;
  letter-spacing:.16em!important;
  font-weight:800!important;
}
html[data-theme="blue"] .inner-page-heading h1{
  margin:0!important;
  color:#083f7a!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(34px,4vw,54px)!important;
  line-height:1.02!important;
}
html[data-theme="blue"] .inner-page-heading p{
  max-width:950px!important;
  margin:8px 0 0!important;
  color:#4f7090!important;
  font-size:15px!important;
  line-height:1.5!important;
}
/* force the crest to remain visible in the main navigation */
html[data-theme="blue"] .header-uoc-logo{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:48px!important;
  height:54px!important;
  flex:0 0 48px!important;
  object-fit:contain!important;
}
@media(max-width:900px){
  html[data-theme="blue"] .global-main-banner-art{
    height:235px!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    object-position:48% center!important;
  }
  html[data-theme="blue"] .inner-page-heading-inner{width:calc(100% - 28px)!important;padding:20px 0 22px!important}
  html[data-theme="blue"] .inner-page-heading h1{font-size:36px!important}
}
@media(max-width:600px){
  html[data-theme="blue"] .global-main-banner-art{
    height:205px!important;
    object-position:47% center!important;
  }
  html[data-theme="blue"] .inner-page-heading-inner{width:calc(100% - 22px)!important;padding:16px 0 18px!important}
  html[data-theme="blue"] .inner-page-heading h1{font-size:31px!important}
  html[data-theme="blue"] .inner-page-heading p{font-size:13px!important}
  html[data-theme="blue"] .header-uoc-logo{width:38px!important;height:43px!important;flex-basis:38px!important}
}


/* ===== FINAL V4: TALLER GLOBAL BANNER THAT ACTS LIKE PAGE HEADER ===== */
html[data-theme="blue"] .global-main-banner{
  position:relative!important;
  background:linear-gradient(180deg,#dff1ff 0%,#d9efff 100%)!important;
  overflow:hidden!important;
  border-bottom:1px solid #c7dff2!important;
}
html[data-theme="blue"] .global-main-banner-art{
  display:block!important;
  width:100%!important;
  height:clamp(270px,28vw,430px)!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center center!important;
}
html[data-theme="blue"] .inner-page-heading{
  position:relative!important;
  z-index:3!important;
  margin:-94px 0 0!important;
  background:transparent!important;
  border:0!important;
}
html[data-theme="blue"] .inner-page-heading-inner{
  width:min(var(--site-max),calc(100% - 40px))!important;
  margin:0 auto!important;
  padding:24px 28px 26px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.95) 0%,rgba(244,249,255,.98) 100%)!important;
  border:1px solid #d4e6f6!important;
  border-bottom-color:#c9e0f3!important;
  border-radius:24px 24px 0 0!important;
  box-shadow:0 18px 40px rgba(17,72,124,.11)!important;
  backdrop-filter:blur(3px)!important;
}
html[data-theme="blue"] .inner-page-heading .eyebrow{
  color:#b67a00!important;
  font-size:11px!important;
  letter-spacing:.16em!important;
  font-weight:800!important;
  margin:0 0 6px!important;
}
html[data-theme="blue"] .inner-page-heading h1{
  font-size:clamp(38px,4.8vw,72px)!important;
  line-height:1!important;
  color:#083f7a!important;
  margin:0!important;
}
html[data-theme="blue"] .inner-page-heading p{
  max-width:880px!important;
  margin:10px 0 0!important;
  font-size:16px!important;
  color:#567593!important;
}
html[data-theme="blue"] .page-layout,
html[data-theme="blue"] .content,
html[data-theme="blue"] .price-wrap{
  position:relative!important;
  z-index:1!important;
}
@media(max-width:980px){
  html[data-theme="blue"] .global-main-banner-art{
    height:300px!important;
    object-position:47% center!important;
  }
  html[data-theme="blue"] .inner-page-heading{
    margin:-72px 0 0!important;
  }
  html[data-theme="blue"] .inner-page-heading-inner{
    width:calc(100% - 30px)!important;
    padding:20px 22px 22px!important;
    border-radius:20px 20px 0 0!important;
  }
  html[data-theme="blue"] .inner-page-heading h1{
    font-size:clamp(34px,6vw,56px)!important;
  }
}
@media(max-width:600px){
  html[data-theme="blue"] .global-main-banner-art{
    height:235px!important;
    object-position:43% center!important;
  }
  html[data-theme="blue"] .inner-page-heading{
    margin:-34px 0 0!important;
  }
  html[data-theme="blue"] .inner-page-heading-inner{
    width:calc(100% - 20px)!important;
    padding:16px 16px 18px!important;
    border-radius:16px 16px 0 0!important;
  }
  html[data-theme="blue"] .inner-page-heading h1{
    font-size:31px!important;
  }
  html[data-theme="blue"] .inner-page-heading p{
    font-size:13px!important;
    margin-top:7px!important;
  }
}


/* ===== FINAL V5: COMPACT INNER-PAGE BANNER LIKE APPROVED EXAMPLE ===== */
html[data-theme="blue"] .global-main-banner{
  position:relative!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:#dff1ff!important;
  border-top:1px solid #d3e7f6!important;
  border-bottom:1px solid #c5dff1!important;
  overflow:hidden!important;
  line-height:0!important;
}
html[data-theme="blue"] .global-main-banner-art{
  display:block!important;
  width:100%!important;
  height:clamp(128px,10.5vw,186px)!important;
  min-height:128px!important;
  max-height:186px!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center center!important;
  margin:0 auto!important;
}
html[data-theme="blue"] .inner-page-heading{
  margin:0!important;
  padding:18px 0 8px!important;
  background:transparent!important;
  border:0!important;
}
html[data-theme="blue"] .inner-page-heading-inner{
  width:min(var(--site-max),calc(100% - 40px))!important;
  margin:0 auto!important;
  padding:22px 24px 24px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;
  border:1px solid #d5e6f5!important;
  border-radius:20px!important;
  box-shadow:0 12px 30px rgba(16,73,123,.07)!important;
}
html[data-theme="blue"] .inner-page-heading .eyebrow{
  display:block!important;
  margin:0 0 6px!important;
  color:#b67a00!important;
  font-size:11px!important;
  letter-spacing:.16em!important;
  font-weight:800!important;
}
html[data-theme="blue"] .inner-page-heading h1{
  margin:0!important;
  color:#0a427d!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(34px,4vw,62px)!important;
  line-height:1.02!important;
}
html[data-theme="blue"] .inner-page-heading p{
  margin:10px 0 0!important;
  max-width:920px!important;
  color:#5a7692!important;
  font-size:15px!important;
  line-height:1.5!important;
}
@media(min-width:1800px){
  html[data-theme="blue"] .global-main-banner-art{
    height:172px!important;
    max-height:172px!important;
  }
}
@media(max-width:980px){
  html[data-theme="blue"] .global-main-banner-art{
    height:148px!important;
    min-height:148px!important;
    max-height:148px!important;
    object-position:48% center!important;
  }
  html[data-theme="blue"] .inner-page-heading{
    padding:14px 0 6px!important;
  }
  html[data-theme="blue"] .inner-page-heading-inner{
    width:calc(100% - 28px)!important;
    padding:18px 18px 20px!important;
    border-radius:18px!important;
  }
  html[data-theme="blue"] .inner-page-heading h1{
    font-size:clamp(31px,5.4vw,48px)!important;
  }
}
@media(max-width:600px){
  html[data-theme="blue"] .global-main-banner-art{
    height:124px!important;
    min-height:124px!important;
    max-height:124px!important;
    object-position:44% center!important;
  }
  html[data-theme="blue"] .inner-page-heading{
    padding:12px 0 4px!important;
  }
  html[data-theme="blue"] .inner-page-heading-inner{
    width:calc(100% - 20px)!important;
    padding:16px 15px 17px!important;
    border-radius:16px!important;
  }
  html[data-theme="blue"] .inner-page-heading h1{
    font-size:30px!important;
  }
  html[data-theme="blue"] .inner-page-heading p{
    font-size:13px!important;
    margin-top:8px!important;
  }
}


/* ===== FINAL V6: DEDICATED READABLE COMPACT BANNER FOR INNER PAGES ===== */
html[data-theme="blue"] .global-main-banner{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:linear-gradient(180deg,#e5f4ff,#d9efff)!important;
  border-top:1px solid #d5e8f7!important;
  border-bottom:1px solid #c9e0f3!important;
  overflow:hidden!important;
  line-height:0!important;
  text-align:center!important;
}
html[data-theme="blue"] .global-main-banner-art{
  display:block!important;
  width:min(100%,2048px)!important;
  max-width:2048px!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:2048/280!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 auto!important;
  padding:0!important;
}
html[data-theme="blue"] .inner-page-heading{
  margin:0!important;
  padding:16px 0 8px!important;
  background:#f8fbfe!important;
  border:0!important;
}
html[data-theme="blue"] .inner-page-heading-inner{
  width:min(var(--site-max),calc(100% - 40px))!important;
  margin:0 auto!important;
  padding:20px 24px 22px!important;
  background:#fff!important;
  border:1px solid #d5e6f5!important;
  border-radius:18px!important;
  box-shadow:0 10px 26px rgba(16,73,123,.06)!important;
}
@media(min-width:2049px){
  html[data-theme="blue"] .global-main-banner{padding:0!important}
  html[data-theme="blue"] .global-main-banner-art{width:2048px!important;height:280px!important}
}
@media(max-width:900px){
  html[data-theme="blue"] .global-main-banner-art{
    width:100%!important;
    height:150px!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    object-position:center!important;
  }
}
@media(max-width:600px){
  html[data-theme="blue"] .global-main-banner-art{
    height:132px!important;
    object-fit:cover!important;
    object-position:center!important;
  }
  html[data-theme="blue"] .inner-page-heading{padding-top:10px!important}
  html[data-theme="blue"] .inner-page-heading-inner{width:calc(100% - 20px)!important;padding:15px 15px 17px!important}
}


/* ===== FINAL HOME CTA FIX: REAL VISIBLE CLICKABLE BUTTONS ===== */
@media(min-width:821px){
  html[data-theme="blue"] .blue-main-hero{position:relative!important;}
  html[data-theme="blue"] .blue-main-hero .theme-hero-actions{
    display:flex!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    position:absolute!important;
    left:50%!important;
    bottom:14.7%!important;
    transform:translateX(-50%)!important;
    width:min(31.5vw,520px)!important;
    min-width:410px!important;
    height:10.2%!important;
    max-height:58px!important;
    min-height:46px!important;
    gap:16px!important;
    padding:0!important;
    z-index:20!important;
    background:transparent!important;
  }
  html[data-theme="blue"] .blue-main-hero .theme-hero-actions .hero-action{
    display:inline-flex!important;
    flex:1 1 0!important;
    align-items:center!important;
    justify-content:center!important;
    height:100%!important;
    padding:0 18px!important;
    border-radius:999px!important;
    font-size:clamp(13px,1vw,18px)!important;
    line-height:1!important;
    font-weight:850!important;
    text-decoration:none!important;
    color:#fff!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    box-shadow:0 8px 20px rgba(8,72,137,.22)!important;
    cursor:pointer!important;
  }
  html[data-theme="blue"] .blue-main-hero .theme-hero-actions .hero-action.primary{
    background:linear-gradient(180deg,#197de1 0%,#075bb5 100%)!important;
    border:2px solid #0757aa!important;
    color:#fff!important;
  }
  html[data-theme="blue"] .blue-main-hero .theme-hero-actions .hero-action.secondary{
    background:rgba(255,255,255,.97)!important;
    border:2px solid #185ca8!important;
    color:#0b4380!important;
  }
  html[data-theme="blue"] .blue-main-hero .theme-hero-actions .hero-action:hover{
    transform:translateY(-2px)!important;
    box-shadow:0 12px 26px rgba(8,72,137,.28)!important;
  }
}
@media(max-width:820px){
  html[data-theme="blue"] .blue-main-hero .theme-hero-actions{display:none!important;}
  html[data-theme="blue"] .hero-mobile-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;}
  html[data-theme="blue"] .hero-mobile-actions .hero-action{opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
}


/* ===== FINAL GLOBAL READABILITY + HOME CTA OVERLAY FIX ===== */
/* Light content surfaces must always use readable dark text. */
html[data-theme="blue"] .page-copy-card,
html[data-theme="blue"] .service-card,
html[data-theme="blue"] .contact-card,
html[data-theme="blue"] .legal-card,
html[data-theme="blue"] .director-about,
html[data-theme="blue"] .school-visual,
html[data-theme="blue"] .academia-showcase,
html[data-theme="blue"] .instrument-price-card,
html[data-theme="blue"] .price-info-card,
html[data-theme="blue"] .public-video-card,
html[data-theme="blue"] .card,
html[data-theme="blue"] .article-card,
html[data-theme="blue"] .program-tile,
html[data-theme="blue"] .about-values>*{
  color:#244f78!important;
}
html[data-theme="blue"] .page-copy-card p,
html[data-theme="blue"] .service-card p,
html[data-theme="blue"] .contact-card p,
html[data-theme="blue"] .legal-card p,
html[data-theme="blue"] .director-about p,
html[data-theme="blue"] .school-visual p,
html[data-theme="blue"] .academia-showcase p,
html[data-theme="blue"] .instrument-price-card p,
html[data-theme="blue"] .price-info-card p,
html[data-theme="blue"] .public-video-card p,
html[data-theme="blue"] .card p,
html[data-theme="blue"] .article-card p,
html[data-theme="blue"] .program-tile p,
html[data-theme="blue"] .page-copy-card li,
html[data-theme="blue"] .service-card li,
html[data-theme="blue"] .contact-card li,
html[data-theme="blue"] .legal-card li,
html[data-theme="blue"] .director-about li,
html[data-theme="blue"] .school-visual li,
html[data-theme="blue"] .academia-showcase li,
html[data-theme="blue"] .about-values span,
html[data-theme="blue"] .program-tile small{
  color:#4d6c88!important;
  opacity:1!important;
}
html[data-theme="blue"] .page-copy-card h1,
html[data-theme="blue"] .page-copy-card h2,
html[data-theme="blue"] .page-copy-card h3,
html[data-theme="blue"] .service-card h2,
html[data-theme="blue"] .service-card h3,
html[data-theme="blue"] .contact-card h2,
html[data-theme="blue"] .contact-card h3,
html[data-theme="blue"] .legal-card h2,
html[data-theme="blue"] .legal-card h3,
html[data-theme="blue"] .director-about h2,
html[data-theme="blue"] .director-about h3,
html[data-theme="blue"] .school-visual h2,
html[data-theme="blue"] .school-visual h3,
html[data-theme="blue"] .academia-showcase h2,
html[data-theme="blue"] .academia-showcase h3,
html[data-theme="blue"] .card h2,
html[data-theme="blue"] .card h3,
html[data-theme="blue"] .article-card h2,
html[data-theme="blue"] .article-card h3{
  color:#0d4279!important;
}
/* Keep intentionally dark blue cards white-on-blue. */
html[data-theme="blue"] .price-note-card,
html[data-theme="blue"] .price-note-card h2,
html[data-theme="blue"] .price-note-card h3,
html[data-theme="blue"] .price-note-card p,
html[data-theme="blue"] .section.dark,
html[data-theme="blue"] .section.dark h2,
html[data-theme="blue"] .section.dark h3,
html[data-theme="blue"] .section.dark p,
html[data-theme="blue"] .afterdark-premium,
html[data-theme="blue"] .afterdark-premium h2,
html[data-theme="blue"] .afterdark-premium h3,
html[data-theme="blue"] .afterdark-premium p{
  color:#fff!important;
}
/* Desktop home CTA: use invisible hit areas over the buttons already printed in the hero artwork. */
@media(min-width:821px){
  html[data-theme="blue"] .blue-main-hero .theme-hero-actions{
    display:flex!important;
    position:absolute!important;
    left:50.7%!important;
    bottom:20.5%!important;
    transform:translateX(-50%)!important;
    width:28%!important;
    min-width:380px!important;
    max-width:455px!important;
    height:10%!important;
    min-height:42px!important;
    max-height:58px!important;
    gap:15px!important;
    padding:0!important;
    z-index:25!important;
    background:transparent!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:none!important;
  }
  html[data-theme="blue"] .blue-main-hero .theme-hero-actions .hero-action,
  html[data-theme="blue"] .blue-main-hero .theme-hero-actions .hero-action.primary,
  html[data-theme="blue"] .blue-main-hero .theme-hero-actions .hero-action.secondary,
  html[data-theme="blue"] .blue-main-hero .theme-hero-actions .hero-action:hover{
    flex:1 1 0!important;
    display:block!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:999px!important;
    background:transparent!important;
    color:transparent!important;
    box-shadow:none!important;
    text-shadow:none!important;
    opacity:.001!important;
    visibility:visible!important;
    pointer-events:auto!important;
    cursor:pointer!important;
    transform:none!important;
  }
}

/* ===== FINAL GLOBAL BOTTOM AREA + FOOTER FIX 2026-09-12 ===== */
/* Related posts: remove the oversized tiled panel and keep cards compact. */
html[data-theme="blue"] .related-section{
  width:min(1320px,calc(100% - 40px))!important;
  max-width:1320px!important;
  margin:48px auto 54px!important;
  padding:0!important;
  background:transparent!important;
  background-image:none!important;
  color:#173d66!important;
  border:0!important;
}
html[data-theme="blue"] .related-section .section-head{
  margin:0 0 20px!important;
  padding:0!important;
  align-items:flex-end!important;
}
html[data-theme="blue"] .related-section .section-head h2{
  margin:3px 0 0!important;
  color:#0b427b!important;
  font-size:clamp(30px,3.2vw,48px)!important;
  line-height:1.05!important;
}
html[data-theme="blue"] .related-section .eyebrow{
  color:#b57a00!important;
}
html[data-theme="blue"] .related-section .grid{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:20px!important;
  margin:0!important;
  padding:0!important;
}
html[data-theme="blue"] .related-section .article-card{
  flex:0 1 340px!important;
  width:min(340px,100%)!important;
  max-width:340px!important;
  margin:0!important;
  background:#fff!important;
  border:1px solid #cfe0ef!important;
  border-radius:16px!important;
  box-shadow:0 10px 28px rgba(17,72,124,.08)!important;
  overflow:hidden!important;
}
html[data-theme="blue"] .related-section .article-card img{
  width:100%!important;
  aspect-ratio:16/9!important;
  object-fit:cover!important;
}
html[data-theme="blue"] .related-section .article-card .card-body{
  padding:16px!important;
}
html[data-theme="blue"] .related-section .article-card h3{
  color:#0b427b!important;
  font-size:20px!important;
  line-height:1.15!important;
  margin:7px 0 10px!important;
}
html[data-theme="blue"] .related-section .article-card p{
  color:#4e6f8e!important;
  font-size:13px!important;
  line-height:1.5!important;
}
html[data-theme="blue"] .related-section .article-card .link{
  color:#0868c8!important;
  font-size:13px!important;
  font-weight:800!important;
}

/* Footer: strong contrast, balanced columns, no tiny/dark text on blue. */
html[data-theme="blue"] footer.footer,
html[data-theme="blue"] .footer.blue-footer{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:linear-gradient(135deg,#073d73 0%,#0a579d 100%)!important;
  color:#eaf5ff!important;
  border-top:3px solid #d9aa38!important;
  box-shadow:none!important;
}
html[data-theme="blue"] .footer .footer-inner{
  width:min(1320px,calc(100% - 40px))!important;
  max-width:1320px!important;
  margin:0 auto!important;
  padding:34px 0 18px!important;
  display:grid!important;
  grid-template-columns:minmax(280px,1.55fr) minmax(150px,.8fr) minmax(250px,1.15fr) minmax(130px,.7fr)!important;
  gap:30px!important;
  align-items:start!important;
}
html[data-theme="blue"] .footer .footer-brand{
  display:flex!important;
  align-items:flex-start!important;
  gap:16px!important;
  min-width:0!important;
}
html[data-theme="blue"] .footer .footer-logo-img{
  display:block!important;
  width:74px!important;
  height:74px!important;
  min-width:74px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 5px 12px rgba(0,0,0,.20))!important;
}
html[data-theme="blue"] .footer .footer-brand strong{
  display:block!important;
  color:#fff!important;
  font-size:16px!important;
  line-height:1.3!important;
  font-weight:800!important;
  margin:1px 0 5px!important;
}
html[data-theme="blue"] .footer h4{
  color:#fff!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  margin:3px 0 10px!important;
}
html[data-theme="blue"] .footer p,
html[data-theme="blue"] .footer .footer-brand p{
  color:#d8eaff!important;
  font-size:13px!important;
  line-height:1.65!important;
  margin:0!important;
}
html[data-theme="blue"] .footer a,
html[data-theme="blue"] .footer p a,
html[data-theme="blue"] .footer .social-links a{
  color:#fff!important;
  font-size:13px!important;
  line-height:1.7!important;
  font-weight:600!important;
  opacity:1!important;
  text-decoration:none!important;
}
html[data-theme="blue"] .footer a:hover{
  color:#ffe08a!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
html[data-theme="blue"] .footer .footer-bottom{
  grid-column:1/-1!important;
  margin:12px 0 0!important;
  padding:14px 0 0!important;
  border-top:1px solid rgba(255,255,255,.28)!important;
  color:#d7e9fa!important;
  font-size:11px!important;
  line-height:1.4!important;
  text-align:center!important;
}
@media(max-width:980px){
  html[data-theme="blue"] .footer .footer-inner{
    grid-template-columns:1fr 1fr!important;
    gap:26px 34px!important;
  }
  html[data-theme="blue"] .footer .footer-brand{
    grid-column:1/-1!important;
  }
}
@media(max-width:620px){
  html[data-theme="blue"] .related-section{
    width:calc(100% - 24px)!important;
    margin:34px auto 38px!important;
  }
  html[data-theme="blue"] .related-section .article-card{
    flex:1 1 100%!important;
    width:100%!important;
    max-width:none!important;
  }
  html[data-theme="blue"] .footer .footer-inner{
    width:calc(100% - 30px)!important;
    grid-template-columns:1fr!important;
    gap:22px!important;
    padding:28px 0 16px!important;
  }
  html[data-theme="blue"] .footer .footer-brand{
    grid-column:auto!important;
  }
  html[data-theme="blue"] .footer .footer-logo-img{
    width:64px!important;
    height:64px!important;
    min-width:64px!important;
  }
  html[data-theme="blue"] .footer .footer-bottom{
    text-align:left!important;
  }
}

/* ===== FINAL 13.09.2026: APPROVED FULL UOC BANNER ON ALL INNER PUBLIC PAGES ===== */
html[data-theme="blue"] .global-main-banner{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:#dff2ff!important;
  overflow:hidden!important;
  line-height:0!important;
  text-align:center!important;
}
html[data-theme="blue"] .global-main-banner-art{
  display:block!important;
  width:100%!important;
  max-width:2048px!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 auto!important;
  padding:0!important;
}
@media(min-width:2049px){
  html[data-theme="blue"] .global-main-banner-art{width:2048px!important;height:auto!important}
}
@media(max-width:900px){
  html[data-theme="blue"] .global-main-banner-art{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important}
}
@media(max-width:600px){
  html[data-theme="blue"] .global-main-banner-art{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important}
}

/* ===== FINAL UOC PATCH 13.09.2026 =====
   Only requested fixes: real flag icons, clean language hero, compact banners without seams. */
html[data-theme="blue"] .flag-language-switch{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
}
html[data-theme="blue"] .flag-language-link{
  width:38px!important;
  height:32px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:4px!important;
  border:1px solid #c8dceb!important;
  border-radius:9px!important;
  background:#fff!important;
  box-sizing:border-box!important;
  text-decoration:none!important;
  overflow:hidden!important;
}
html[data-theme="blue"] .flag-language-link img{
  display:block!important;
  width:28px!important;
  height:19px!important;
  object-fit:cover!important;
  border-radius:2px!important;
  box-shadow:0 0 0 1px rgba(5,54,100,.12)!important;
}
html[data-theme="blue"] .flag-language-link.active{
  border:2px solid #0b63c7!important;
  background:#eef7ff!important;
  box-shadow:0 2px 8px rgba(11,99,199,.15)!important;
}

/* Inner-page language banner: exact 2048x280 ratio and no white seam. */
html[data-theme="blue"] .global-main-banner{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  line-height:0!important;
  font-size:0!important;
  background:#dff2ff!important;
  overflow:hidden!important;
}
html[data-theme="blue"] .global-main-banner-art{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  aspect-ratio:2048/280!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  vertical-align:top!important;
}
html[data-theme="blue"] .global-main-banner + .inner-page-heading{
  margin-top:0!important;
  border-top:0!important;
}

/* Home index: BS keeps the approved original artwork. EN/DE get one clean opaque translation panel.
   The old Bosnian center copy is completely covered, so there is no ghost/double text. */
@media(min-width:821px){
  html[data-theme="blue"] .blue-main-hero[data-lang="en"] .hero-language-cover-clean,
  html[data-theme="blue"] .blue-main-hero[data-lang="de"] .hero-language-cover-clean{
    display:flex!important;
    position:absolute!important;
    z-index:40!important;
    left:33.1%!important;
    top:8.2%!important;
    width:36.4%!important;
    height:72.5%!important;
    box-sizing:border-box!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    padding:2.2% 2.7% 2.4%!important;
    background:linear-gradient(180deg,rgba(250,253,255,.995) 0%,rgba(247,251,255,.995) 72%,rgba(240,248,255,.995) 100%)!important;
    border:1px solid rgba(188,216,238,.72)!important;
    border-radius:2px!important;
    box-shadow:0 2px 18px rgba(22,74,120,.08)!important;
    color:#123f72!important;
    pointer-events:auto!important;
  }
  html[data-theme="blue"] .blue-main-hero[data-lang="en"] .hero-language-cover-clean .hero-language-kicker,
  html[data-theme="blue"] .blue-main-hero[data-lang="de"] .hero-language-cover-clean .hero-language-kicker{
    display:block!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:clamp(17px,1.7vw,31px)!important;
    line-height:1.05!important;
    font-weight:700!important;
    color:#143f72!important;
    margin:0 0 1%!important;
    letter-spacing:0!important;
    text-transform:none!important;
  }
  html[data-theme="blue"] .blue-main-hero[data-lang="en"] .hero-language-cover-clean>strong,
  html[data-theme="blue"] .blue-main-hero[data-lang="de"] .hero-language-cover-clean>strong{
    display:block!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:clamp(48px,5.3vw,94px)!important;
    line-height:.91!important;
    font-weight:700!important;
    color:#0756a9!important;
    letter-spacing:-.035em!important;
    margin:0!important;
  }
  html[data-theme="blue"] .blue-main-hero[data-lang="en"] .hero-language-cover-clean .hero-language-programs,
  html[data-theme="blue"] .blue-main-hero[data-lang="de"] .hero-language-cover-clean .hero-language-programs{
    display:block!important;
    margin:3.2% 0 0!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:clamp(10px,1.03vw,18px)!important;
    line-height:1.1!important;
    color:#143f72!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
  }
  html[data-theme="blue"] .blue-main-hero[data-lang="en"] .hero-language-cover-clean p,
  html[data-theme="blue"] .blue-main-hero[data-lang="de"] .hero-language-cover-clean p{
    max-width:92%!important;
    margin:3.6% auto 0!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:clamp(11px,.95vw,17px)!important;
    line-height:1.35!important;
    color:#274f75!important;
  }
  html[data-theme="blue"] .hero-language-actions{
    display:flex!important;
    width:88%!important;
    margin:5.2% auto 0!important;
    gap:14px!important;
  }
  html[data-theme="blue"] .hero-language-actions .hero-action{
    flex:1 1 0!important;
    min-height:44px!important;
    height:clamp(44px,3.2vw,57px)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 15px!important;
    border-radius:999px!important;
    font-size:clamp(12px,.95vw,17px)!important;
    font-weight:800!important;
    opacity:1!important;
    color:#fff!important;
    text-decoration:none!important;
    box-shadow:0 7px 17px rgba(8,72,137,.16)!important;
  }
  html[data-theme="blue"] .hero-language-actions .hero-action.primary{
    background:linear-gradient(180deg,#197de1,#075bb5)!important;
    border:2px solid #0757aa!important;
  }
  html[data-theme="blue"] .hero-language-actions .hero-action.secondary{
    background:#fff!important;
    border:2px solid #185ca8!important;
    color:#0b4380!important;
  }
  html[data-theme="blue"] .blue-main-hero[data-lang="en"]>.theme-hero-actions,
  html[data-theme="blue"] .blue-main-hero[data-lang="de"]>.theme-hero-actions{
    display:none!important;
  }
  html[data-theme="blue"] .hero-side-translation{
    display:none!important;
  }
}
@media(max-width:820px){
  html[data-theme="blue"] .flag-language-switch{gap:6px!important}
  html[data-theme="blue"] .flag-language-link{width:36px!important;height:30px!important;padding:4px!important}
  html[data-theme="blue"] .flag-language-link img{width:26px!important;height:18px!important}
  html[data-theme="blue"] .hero-language-cover-clean,
  html[data-theme="blue"] .hero-side-translation{display:none!important}
}

/* ===== FINAL 13.09.2026: language-specific index artwork, no HTML white overlay ===== */
@media(min-width:821px){
  html[data-theme="blue"] .blue-main-hero .hero-language-cover,
  html[data-theme="blue"] .blue-main-hero .hero-language-cover-clean,
  html[data-theme="blue"] .blue-main-hero .hero-side-translation{display:none!important}
  html[data-theme="blue"] .blue-main-hero .theme-hero-actions{
    display:flex!important;
    position:absolute!important;
    z-index:20!important;
    left:37.35%!important;
    bottom:21.0%!important;
    width:27.8%!important;
    min-width:0!important;
    height:10.0%!important;
    gap:1.2%!important;
    opacity:.001!important;
    pointer-events:auto!important;
  }
  html[data-theme="blue"] .blue-main-hero .theme-hero-actions .hero-action{
    flex:1 1 0!important;
    display:block!important;
    height:100%!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    color:transparent!important;
    padding:0!important;
  }
}
