@charset "utf-8";
/*
 * Musicea Yuva Festival pages (yuva-*.php).
 * Builds on the Exative theme (layout.css). Everything is prefixed yv-.
 * Linked only from the Yuva pages, after includes/headerscript.php.
 */

/* ---------------------------------------------------------------- Tokens */
:root{
	--yv-ink:#0f172a; --yv-text:#475569; --yv-text-strong:#334155; --yv-muted:#64748b;
	--yv-line:#e2e8f0; --yv-panel:#f8fafc; --yv-white:#fff;
	--yv-red:#c0392b; --yv-red-dark:#a93226; --yv-blue:#0066cc; --yv-blue-dark:#0052a3;
	--yv-accent:var(--yv-red); --yv-tint:#fbeeec;
	--yv-shadow:0 8px 24px rgba(15,23,42,.06);
	--yv-shadow-hover:0 16px 36px rgba(15,23,42,.10);
	--yv-shadow-img:0 12px 30px rgba(15,23,42,.10);
	--yv-shadow-sm:0 2px 6px rgba(15,23,42,.12);
}
.yv-acc-01{--yv-accent:#117a65; --yv-tint:#eaf4f1;}
.yv-acc-02{--yv-accent:#a8325e; --yv-tint:#f8ecf1;}
.yv-acc-03{--yv-accent:#9a5b00; --yv-tint:#fbf3e6;}
.yv-acc-04{--yv-accent:#5b4b8a; --yv-tint:#efedf6;}
.yv-acc-05{--yv-accent:#1d4e89; --yv-tint:#eaf0f7;}

/* ---------------------------------------------------- Banner H1 (E9) & edges */
.yv-page .innerBanner .hoc,
.yv-page #breadcrumb.hoc,
.hoc.yv-inner{max-width:978px; width:calc(100% - 32px);}
.yv-page .innerBanner .hoc h1{color:#fff; text-shadow:0 1px 3px rgba(0,0,0,.35); font-weight:500;}
/* No-JS fallback: the footer script normally moves this H1 into the banner */
.yv-page .content > h1:first-child{color:var(--yv-ink); font-size:30px; margin:0 0 24px; font-weight:500;}

/* ------------------------------------------------------------- Sections */
.yv-page .row3{background:var(--yv-white);}
.yv-first.container{padding:56px 0 72px;}
.yv-sec{background:var(--yv-white); padding:72px 0; color:var(--yv-text);}
.yv-sec--tint{background:var(--yv-panel); border-top:1px solid var(--yv-line); border-bottom:1px solid var(--yv-line);}
.yv-sec--tint + .yv-sec--tint{border-top:none;}
.yv-sec--flush{padding-top:0;}

/* ------------------------------------------------------------ Typography */
.yv-sec, .yv-first{font-size:16px; line-height:1.75; color:var(--yv-text);}
.yv-sec p, .yv-first p{margin:0 0 16px; max-width:68ch;}
.yv-sec li, .yv-first li{line-height:1.75;}
.yv-sec ul, .yv-sec ol, .yv-first ul, .yv-first ol, .yv-sec dl{margin:0; padding:0; list-style:none;}
.yv-sec figure, .yv-first figure{margin:0;}
.yv-sec b, .yv-sec strong, .yv-first b{color:var(--yv-text-strong);}

.yv-page .yv-sec h2, .yv-page .content h2, .yv-page .yv-sec h3, .yv-page .content h3,
.yv-page .yv-sec h4{font-family:'Oswald', sans-serif; font-weight:500; color:var(--yv-ink); text-transform:uppercase;}
.yv-page .yv-sec h2{font-size:28px; line-height:1.25; margin:0 0 16px;}
.yv-page .yv-sec h3, .yv-page .content h3{font-size:19px; line-height:1.3; margin:0 0 8px;}
.yv-page .content h2.yv-display,
.yv-display{font-size:34px; line-height:1.2; letter-spacing:.01em; margin:0 0 16px; color:var(--yv-ink);}
.yv-page .content h2.yv-display--sub{font-size:30px;}

.yv-eyebrow{font-family:'Oswald', sans-serif; font-weight:400; font-size:13px; line-height:1.4; letter-spacing:.16em; text-transform:uppercase; color:var(--yv-red); margin:0 0 10px !important;}
.yv-eyebrow::before{content:""; display:inline-block; width:24px; height:2px; margin-right:10px; vertical-align:middle; background:currentColor;}
.yv-eyebrow--plain::before{display:none;}
.yv-acc-01 .yv-eyebrow, .yv-acc-02 .yv-eyebrow, .yv-acc-03 .yv-eyebrow,
.yv-acc-04 .yv-eyebrow, .yv-acc-05 .yv-eyebrow{color:var(--yv-accent);}
.yv-eyebrow--light{color:#fff !important;}
.yv-eyebrow--light::before{background:var(--yv-red);}

.yv-lead{font-size:18px; line-height:1.65; color:var(--yv-text-strong);}
.yv-intro{max-width:720px !important; margin-bottom:32px !important;}
.yv-caption{display:block; font-size:13px; line-height:1.5; color:var(--yv-muted); margin-top:8px;}
.yv-muted{color:var(--yv-muted); font-size:14px;}
.yv-note{font-size:13px !important; line-height:1.6 !important; color:var(--yv-muted);}
.yv-label{font-family:'Oswald', sans-serif; font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--yv-ink); margin:0 0 8px !important;}
.yv-closing{text-align:center; color:var(--yv-muted); margin:32px auto 0 !important;}
.yv-closing-italic{font-style:italic; color:var(--yv-text-strong); margin-top:24px !important;}
.yv-subline{font-family:'Oswald', sans-serif; font-size:15px; letter-spacing:.06em; text-transform:uppercase; color:var(--yv-muted); margin:-8px 0 16px !important;}
.yv-motto{font-family:'Oswald', sans-serif; font-weight:500; font-size:20px; line-height:1.4; letter-spacing:.04em; text-transform:uppercase; color:var(--yv-ink);}
.yv-quoteline{border-left:3px solid var(--yv-red); padding:2px 0 2px 16px; color:var(--yv-text-strong); font-style:italic; margin:24px 0 !important;}
.yv-pullquote{margin:48px 0 0; padding:24px 32px; background:var(--yv-panel); border-left:4px solid var(--yv-red); border-radius:0 12px 12px 0;}
.yv-pullquote p{font-family:'Oswald', sans-serif; font-weight:400; font-size:22px; line-height:1.4; color:var(--yv-ink); margin:0 !important; max-width:none !important;}
.yv-visually-hidden{position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}

/* ---------------------------------------------------------------- Links */
.yv-sec a, .yv-first a{color:var(--yv-blue);}
.yv-sec a:hover{color:var(--yv-blue-dark);}
.yv-more{display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:bold; letter-spacing:.06em; text-transform:uppercase; color:var(--yv-accent);}
.yv-more .fa{font-size:11px;}
.yv-sec a.yv-more--blue, .yv-first a.yv-more--blue, .yv-contact a.yv-more{color:var(--yv-blue);}
.yv-page a:focus-visible, .yv-page .btn:focus-visible{outline:3px solid rgba(0,102,204,.45); outline-offset:2px;}

/* -------------------------------------------------------------- Buttons */
.yv-btns{display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 0 !important; max-width:none !important;}
.yv-btns--center{justify-content:center; margin-left:auto !important; margin-right:auto !important;}
.btn.yv-btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; box-sizing:border-box; padding:12px 22px; font-size:13.5px; line-height:1.3; letter-spacing:.06em; border-radius:22px; border:1px solid var(--yv-blue); background:var(--yv-blue); color:#fff; transition:background-color .2s, color .2s, border-color .2s; text-align:center;}
.btn.yv-btn:hover{background:transparent; color:var(--yv-blue); border-color:var(--yv-blue);}
.btn.yv-btn--red{background:var(--yv-red); border-color:var(--yv-red); color:#fff;}
.btn.yv-btn--red:hover{background:transparent; color:var(--yv-red); border-color:var(--yv-red);}
.btn.yv-btn--accent{background:var(--yv-accent); border-color:var(--yv-accent); color:#fff;}
.btn.yv-btn--accent:hover{background:transparent; color:var(--yv-accent); border-color:var(--yv-accent);}
.btn.yv-btn--outline{background:transparent; color:var(--yv-blue); border-color:var(--yv-blue);}
.btn.yv-btn--outline:hover{background:var(--yv-blue); color:#fff;}
.btn.yv-btn--light{background:#fff; border-color:#fff; color:var(--yv-ink);}
.btn.yv-btn--light:hover{background:transparent; color:#fff; border-color:#fff;}
.btn.yv-btn--ghost-light{background:transparent; border-color:#fff; color:#fff;}
.btn.yv-btn--ghost-light:hover{background:#fff; color:var(--yv-ink);}

/* ------------------------------------------------------- Chips and tags */
.yv-chips, .yv-tags{display:flex; flex-wrap:wrap; gap:8px; margin:20px 0 0 !important;}
.yv-chip, .yv-tag{display:inline-flex; align-items:center; gap:6px; padding:6px 12px; border-radius:999px; border:1px solid var(--yv-line); background:#fff; font-family:'Oswald', sans-serif; font-size:13px; line-height:1.3; letter-spacing:.08em; text-transform:uppercase; color:var(--yv-ink);}
.yv-tag{border-color:var(--yv-accent); color:var(--yv-accent); background:var(--yv-tint);}
.yv-sec a.yv-chip--link{color:var(--yv-ink); min-height:44px; box-sizing:border-box; padding:8px 16px; font-size:15px; transition:border-color .2s, color .2s;}
.yv-sec a.yv-chip--link .fa{color:var(--yv-red);}
.yv-sec a.yv-chip--link:hover{border-color:var(--yv-blue); color:var(--yv-blue);}
.yv-num{display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; box-sizing:border-box; border-radius:50%; background:var(--yv-accent); color:#fff; border:3px solid #fff; box-shadow:var(--yv-shadow-sm); font-family:'Oswald', sans-serif; font-weight:500; font-size:18px; line-height:1;}

/* ------------------------------------------------------- Split layouts */
.yv-split{display:grid; gap:48px; align-items:center;}
.yv-split--top{align-items:start;}
.yv-split--5-6{grid-template-columns:5fr 6fr;}
.yv-split--7-5{grid-template-columns:7fr 5fr;}
.yv-split--5-7{grid-template-columns:5fr 7fr;}
.yv-split--4-8{grid-template-columns:4fr 8fr;}
.yv-split--1-1, .yv-split--6-6{grid-template-columns:1fr 1fr;}
.yv-split > *{min-width:0;}
.yv-split--img-left > figure{order:-1;}

/* ---------------------------------------------------------------- Images */
.yv-frame{position:relative; overflow:hidden; border-radius:12px; box-shadow:var(--yv-shadow-img); background:var(--yv-line);}
.yv-frame img, .yv-tile-fig img, .yv-icard-img img, .yv-gtile img{display:block; width:100%; height:100%; object-fit:cover; object-position:50% 50%;}
.yv-frame--3x2{aspect-ratio:3/2;}
.yv-frame--4x3{aspect-ratio:4/3;}
.yv-frame--4x5{aspect-ratio:4/5;}
.yv-frame--16x9{aspect-ratio:16/9;}
/* object-position helpers (no inline styles on the pages) */
.yv-op-50-45{object-position:50% 45% !important;} .yv-op-50-30{object-position:50% 30% !important;}
.yv-op-50-35{object-position:50% 35% !important;} .yv-op-60-35{object-position:60% 35% !important;}
.yv-op-40-40{object-position:40% 40% !important;} .yv-op-70-40{object-position:70% 40% !important;}
.yv-op-40-35{object-position:40% 35% !important;} .yv-op-60-40{object-position:60% 40% !important;}
.yv-op-55-40{object-position:55% 40% !important;} .yv-op-35-40{object-position:35% 40% !important;}
.yv-op-30-40{object-position:30% 40% !important;} .yv-op-45-50{object-position:45% 50% !important;}
.yv-op-50-50{object-position:50% 50% !important;} .yv-op-60-50{object-position:60% 50% !important;}
.yv-op-55-50{object-position:55% 50% !important;} .yv-op-50-40{object-position:50% 40% !important;}
.yv-op-50-15{object-position:50% 15% !important;}
/* Always-visible caption strip on mosaic / card images */
.yv-tile-fig{position:relative; overflow:hidden; border-radius:10px; background:var(--yv-line);}
.yv-capstrip{position:absolute; left:0; right:0; bottom:0; padding:8px 12px; background:rgba(15,23,42,.72); color:#fff; font-size:12.5px; line-height:1.4;}

/* -------------------------------------------------------- Cards, panels */
.yv-card{display:block; background:#fff; border:1px solid var(--yv-line); border-radius:12px; box-shadow:var(--yv-shadow); overflow:hidden;}
a.yv-card{color:inherit; transition:transform .25s, box-shadow .25s;}
@media (hover:hover){
	a.yv-card:hover{transform:translateY(-4px); box-shadow:var(--yv-shadow-hover); color:inherit;}
}
@media (prefers-reduced-motion:reduce){
	a.yv-card, a.yv-card:hover{transition:none; transform:none;}
}
.yv-panel{background:var(--yv-panel); border-radius:12px; padding:40px;}
.yv-panel--top{border-top:4px solid var(--yv-red);}
.yv-panel p:last-child{margin-bottom:0;}

/* ------------------------------------------------------------- B2 Hero */
.yv-logo{display:block; width:62px; height:120px; margin:0 0 20px;}
.yv-frame--hero img{object-position:55% 50%;}

/* ---------------------------------------------------------- B3 Proof */
.yv-proof-sec{padding:56px 0;}
.yv-proof{display:grid; grid-template-columns:repeat(3, 1fr); gap:32px 32px; margin:16px 0 0 !important;}
.yv-fact{position:relative; padding-top:16px; font-size:14px; line-height:1.6 !important;}
.yv-fact::before{content:""; position:absolute; top:0; left:0; width:32px; height:3px; background:var(--yv-red);}
.yv-fact b{display:block; font-family:'Oswald', sans-serif; font-weight:500; font-size:22px; line-height:1.3; color:var(--yv-ink); text-transform:uppercase; margin-bottom:6px;}
.yv-proof-note{font-size:14px; color:var(--yv-muted); margin:32px 0 0 !important; max-width:none !important; padding-top:20px; border-top:1px solid var(--yv-line);}

/* ------------------------------------------------- B5 Initiative cards */
.yv-icards{display:grid; grid-template-columns:repeat(6, 1fr); gap:24px;}
.yv-icard{grid-column:span 2; display:flex; flex-direction:column; border-top:4px solid var(--yv-accent);}
.yv-icard:nth-child(n+4){grid-column:span 3;}
.yv-icard-img{display:block; aspect-ratio:3/2; overflow:hidden; background:var(--yv-line);}
.yv-icard:nth-child(n+4) .yv-icard-img{aspect-ratio:16/9;}
.yv-icard-body{position:relative; display:flex; flex-direction:column; flex:1; padding:34px 24px 24px;}
.yv-icard-body .yv-num{position:absolute; top:-22px; left:24px;}
.yv-page .yv-icard h3{margin:0 0 6px;}
.yv-sec .yv-tagline{font-family:'Oswald', sans-serif; font-size:15px; line-height:1.4; letter-spacing:.04em; text-transform:uppercase; color:var(--yv-accent); margin:0 0 10px;}
.yv-sec .yv-icard-text{font-size:15px; line-height:1.65; margin:0 0 16px;}
.yv-icard .yv-more{margin-top:auto;}

/* -------------------------------------------------- B6 Disciplines */
.yv-discipline{display:flex; align-items:center; gap:20px; padding:18px 0; border-bottom:1px solid var(--yv-line);}
.yv-discipline:first-child{padding-top:0;}
.yv-discipline:last-child{border-bottom:none; padding-bottom:0;}
.yv-icon-circle{flex:0 0 44px; width:44px; height:44px; box-sizing:border-box; border:1px solid var(--yv-red); border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:var(--yv-red); font-size:18px;}
.yv-discipline b{display:block; font-family:'Oswald', sans-serif; font-weight:500; font-size:18px; line-height:1.3; text-transform:uppercase; color:var(--yv-ink); margin-bottom:2px;}

/* ---------------------------------------------------- B7 International */
.yv-checks li{position:relative; padding-left:24px; margin-bottom:10px; line-height:1.6;}
.yv-checks li::before{content:"\f00c"; font-family:"FontAwesome"; position:absolute; left:0; top:1px; font-size:12px; color:var(--yv-red);}
.yv-checks--2col{display:grid; grid-template-columns:1fr 1fr; gap:0 24px; margin-top:24px !important; font-size:15px;}
.yv-mosaic-3{display:grid; grid-template-columns:1fr 1fr; grid-template-rows:214px 214px; gap:12px;}
.yv-mosaic-3__tall{grid-row:span 2;}

/* ----------------------------------------------------------- B8 SDGs */
.yv-sdgs{display:grid; gap:24px;}
.yv-sdg{background:#fff; border:1px solid var(--yv-line); border-radius:10px; padding:20px;}
.yv-sdg-label{display:block; font-size:11px; line-height:1; font-weight:bold; letter-spacing:.12em; color:var(--yv-red);}
.yv-sdg-num{display:block; font-family:'Oswald', sans-serif; font-weight:500; font-size:34px; line-height:1.15; color:var(--yv-red); margin:4px 0 6px;}
.yv-sdg strong{display:block; font-size:15px; line-height:1.4; color:var(--yv-ink); margin-bottom:6px;}
.yv-sec .yv-sdg p{font-size:14px; line-height:1.6; margin:0;}
/* initiative-page mini version */
.yv-sdgs--mini{grid-template-columns:1fr; gap:12px;}
.yv-sdgs--mini .yv-sdg{display:grid; grid-template-columns:52px 1fr; gap:0 16px; align-items:start; padding:16px 20px; border-left:3px solid var(--yv-accent);}
.yv-sdgs--mini .yv-sdg-label{grid-column:1; grid-row:1; color:var(--yv-accent);}
.yv-sdgs--mini .yv-sdg-num{grid-column:1; grid-row:2; font-size:26px; color:var(--yv-accent); margin:2px 0 0;}
.yv-sdgs--mini .yv-sdg > div{grid-column:2; grid-row:1 / span 2;}

/* ------------------------------------------------------- B9 Timeline */
.yv-timeline{position:relative; margin:24px 0 0 !important; padding-left:28px !important;}
.yv-timeline::before{content:""; position:absolute; left:4px; top:8px; bottom:8px; width:2px; background:var(--yv-line);}
.yv-timeline li{position:relative; margin-bottom:16px; font-size:15px; line-height:1.6;}
.yv-timeline li:last-child{margin-bottom:0;}
.yv-timeline li::before{content:""; position:absolute; left:-28px; top:6px; width:10px; height:10px; border-radius:50%; background:var(--yv-red);}
.yv-timeline b{display:block; font-family:'Oswald', sans-serif; font-weight:500; font-size:16px; text-transform:uppercase; color:var(--yv-ink);}

/* -------------------------------------------------------- B10 Founder */
.yv-founder{display:grid; grid-template-columns:160px 1fr; gap:32px; align-items:start; background:var(--yv-panel); border-left:4px solid var(--yv-red); border-radius:12px; padding:40px;}
.yv-founder-img{display:block; width:160px; height:auto; max-width:160px; border-radius:10px; box-shadow:var(--yv-shadow-sm);}
.yv-founder p:last-child{margin-bottom:0;}

/* -------------------------------------------------------- B11a Gallery */
.yv-gallery{display:grid; grid-template-columns:repeat(4, 1fr); grid-auto-rows:170px; gap:12px; margin-top:8px;}
.yv-gtile{position:relative; display:block; overflow:hidden; border-radius:10px; background:var(--yv-line);}
.yv-gtile--a{grid-column:span 2; grid-row:span 2;}
.yv-gtile--d, .yv-gtile--g{grid-column:span 2;}
.yv-gcap{position:absolute; left:0; right:0; bottom:0; padding:8px 12px; background:rgba(15,23,42,.72); color:#fff; font-size:12.5px; line-height:1.4; opacity:0; transition:opacity .2s;}
@media (hover:hover){
	.yv-gtile:hover .yv-gcap, .yv-gtile:focus-visible .yv-gcap{opacity:1;}
}
@media (hover:none){
	.yv-gcap{display:none;}
}

/* ------------------------------------------------- B11 Partner tiles */
.yv-tiles{display:grid; grid-template-columns:repeat(3, 1fr); gap:24px;}
.yv-sec a.yv-tile{padding:24px; color:var(--yv-text);}
.yv-tile .fa{display:block; font-size:36px; line-height:1; color:var(--yv-red); margin-bottom:16px;}
.yv-page .yv-tile h3{font-size:17px;}
.yv-sec .yv-tile p{font-size:15px; line-height:1.6; margin:0;}

/* ----------------------------------------------------- B12 Photo band */
.yv-band{position:relative; padding:80px 16px; background:#1e293b url(../../images/yuva-festival/web/yuva-performance-12-lg.jpg) no-repeat 50% 40%; background-size:cover; background-attachment:scroll; text-align:center; color:#e2e8f0;}
.yv-band::before{content:""; position:absolute; inset:0; background:rgba(15,23,42,.74);}
.yv-band-inner{position:relative; max-width:760px; margin:0 auto;}
.yv-page .yv-band h2{font-family:'Oswald', sans-serif; font-weight:500; font-size:30px; line-height:1.25; color:#fff; margin:0 0 16px;}
.yv-band p{color:#e2e8f0; font-size:16px; line-height:1.75; margin:0 auto 16px;}
.yv-band .yv-btns{margin-top:28px !important;}
.yv-band .yv-signoff{font-family:'Oswald', sans-serif; font-size:14px; letter-spacing:.12em; text-transform:uppercase; color:#cbd5e1; margin:32px 0 0;}

/* -------------------------------------------------- B13 Contact strip */
.yv-contact{padding:56px 0;}
.yv-contact-list{display:grid; grid-template-columns:28px 1fr; gap:10px 8px; margin:12px 0 16px !important; align-items:baseline;}
.yv-contact-list dt{color:var(--yv-red); font-size:16px;}
.yv-contact-list dd{margin:0; overflow-wrap:anywhere;}
.yv-sec a.yv-contact-email{font-weight:bold; color:var(--yv-blue);}

/* ----------------------------------------------- C Initiative subpages */
.yv-badgerow{display:flex; align-items:center; gap:14px; margin:0 0 16px !important;}
.yv-badgerow .yv-eyebrow{margin:0 !important;}
.yv-elements{margin-top:24px !important;}
.yv-elements li{display:flex; gap:16px; align-items:flex-start; margin-bottom:18px;}
.yv-elements li:last-child{margin-bottom:0;}
.yv-sq{flex:0 0 28px; width:28px; height:28px; border-radius:6px; background:var(--yv-accent); color:#fff; font-family:'Oswald', sans-serif; font-weight:500; font-size:15px; line-height:28px; text-align:center; margin-top:1px;}
.yv-sec .yv-elements p{margin:0;}
.yv-support{background:var(--yv-tint); border-left:4px solid var(--yv-accent); border-radius:12px; padding:40px;}
.yv-support .yv-btns{margin-top:20px !important;}
.yv-sec .yv-support-meta{margin:20px 0 0; font-size:14px; color:var(--yv-text); max-width:none;}
.yv-support-sep{margin:0 10px; color:var(--yv-muted);}

/* Initiatives nav (E10) */
.yv-inav{padding:40px 0; border-top:1px solid var(--yv-line);}
.yv-inav-pills, .yv-specific{display:flex; flex-wrap:wrap; align-items:center; gap:10px;}
.yv-inav-label{font-size:13px; color:var(--yv-muted); margin-right:6px; font-family:'Oswald', sans-serif; letter-spacing:.08em; text-transform:uppercase;}
.yv-sec a.yv-pill, .yv-page a.yv-pill{display:inline-flex; align-items:center; gap:6px; min-height:40px; box-sizing:border-box; padding:8px 16px; border:1px solid var(--yv-line); border-radius:999px; background:#fff; color:var(--yv-ink); font-family:'Oswald', sans-serif; font-size:14px; letter-spacing:.04em; text-transform:uppercase; transition:border-color .2s, color .2s;}
.yv-pill b{color:var(--yv-accent); font-weight:500;}
.yv-page a.yv-pill:hover{border-color:var(--yv-accent); color:var(--yv-accent);}
.yv-page a.yv-pill[aria-current="page"]{background:var(--yv-accent); border-color:var(--yv-accent); color:#fff;}
.yv-pill[aria-current="page"] b{color:#fff;}
.yv-prevnext{display:flex; justify-content:space-between; gap:16px; margin-top:28px; padding-top:24px; border-top:1px solid var(--yv-line);}
.yv-page .yv-prevnext a{display:inline-flex; align-items:center; gap:12px; color:var(--yv-ink); font-family:'Oswald', sans-serif; font-size:16px; line-height:1.3; text-transform:uppercase; min-height:44px;}
.yv-page .yv-prevnext a:hover{color:var(--yv-blue);}
.yv-prevnext a .fa{color:var(--yv-blue); font-size:14px;}
.yv-prevnext small{display:block; font-family:Verdana, Geneva, sans-serif; font-size:12px; text-transform:none; color:var(--yv-muted); letter-spacing:0;}
.yv-next{text-align:right; margin-left:auto;}

/* ------------------------------------------------------- D Partner page */
.yv-reasons{margin-top:8px !important;}
.yv-reasons li{display:flex; gap:14px; align-items:flex-start; margin-bottom:16px;}
.yv-reasons li .fa{flex:0 0 28px; width:28px; height:28px; border-radius:50%; background:var(--yv-tint); color:var(--yv-red); font-size:13px; line-height:28px; text-align:center; margin-top:1px;}
.yv-sec .yv-reasons p{margin:0;}
.yv-panel .yv-chips{margin:0 0 20px !important;}
.yv-regs-title{font-size:15px !important; margin:20px 0 8px !important;}
.yv-regs{display:grid; grid-template-columns:auto 1fr; gap:4px 16px; font-size:14px;}
.yv-regs dd{margin:0;}

.yv-fcards{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
.yv-fcard{display:flex; flex-direction:column;}
.yv-fcard-img{aspect-ratio:16/9; border-radius:0;}
.yv-fcard-body{padding:28px; display:flex; flex-direction:column; flex:1;}
.yv-fcard-body .yv-btns{margin-top:auto !important; padding-top:20px;}
.yv-ccards{display:grid; grid-template-columns:repeat(4, 1fr); gap:24px; margin-top:24px;}
.yv-ccard{padding:24px; display:flex; flex-direction:column;}
.yv-ccard .fa-graduation-cap, .yv-ccard .fa-music, .yv-ccard .fa-microphone, .yv-ccard .fa-users{font-size:36px; line-height:1; color:var(--yv-red); margin-bottom:16px;}
.yv-ccard > .fa{display:block;}
.yv-page .yv-ccard h3{font-size:17px;}
.yv-sec .yv-ccard p{font-size:15px; line-height:1.6;}
.yv-ccard .yv-more{margin-top:auto;}
.yv-specific{margin-top:32px; padding-top:24px; border-top:1px solid var(--yv-line);}

.yv-steps{display:grid; grid-template-columns:repeat(4, 1fr); gap:24px; margin-top:8px !important;}
.yv-steps li{position:relative;}
.yv-step-num{display:flex; align-items:center; justify-content:center; width:48px; height:48px; box-sizing:border-box; border:2px solid var(--yv-red); border-radius:50%; background:#fff; color:var(--yv-red); font-family:'Oswald', sans-serif; font-weight:500; font-size:20px; margin-bottom:16px; position:relative; z-index:1;}
.yv-steps li:not(:last-child)::after{content:""; position:absolute; top:24px; left:60px; right:-12px; height:1px; background:var(--yv-line);}
.yv-page .yv-steps h3{font-size:17px;}
.yv-sec .yv-steps p{font-size:15px; line-height:1.65; margin:0;}

.yv-page .yv-h3-section{font-size:22px; margin:0 0 24px;}
.yv-guests{display:grid; grid-template-columns:2fr 1fr 1fr; gap:24px; align-items:start;}
.yv-cta-panel{text-align:center;}
.yv-cta-panel p{margin-left:auto; margin-right:auto;}
.yv-page .yv-cta-panel h2{margin-bottom:12px;}

/* ================================================================ Responsive */
@media screen and (max-width:900px){
	.yv-sec{padding:48px 0;}
	.yv-sec--flush{padding-top:0;}
	.yv-first.container{padding:40px 0 48px;}
	.yv-split, .yv-split--5-6, .yv-split--7-5, .yv-split--5-7, .yv-split--4-8,
	.yv-split--1-1, .yv-split--6-6{grid-template-columns:1fr; gap:32px;}
	.yv-split--img-left > figure{order:0;}
	.yv-frame--hero{aspect-ratio:4/3;}
	.yv-frame--hero img{object-position:50% 40% !important;}
	.yv-frame--4x5{aspect-ratio:4/3;}

	.yv-proof{grid-template-columns:1fr 1fr;}
	.yv-icards{grid-template-columns:1fr 1fr;}
	.yv-icard, .yv-icard:nth-child(n+4){grid-column:span 1;}
	.yv-icard:nth-child(n+4) .yv-icard-img{aspect-ratio:3/2;}
	.yv-icard:nth-child(5){grid-column:span 2;}
	.yv-icard:nth-child(5) .yv-icard-img{aspect-ratio:16/9;}
	.yv-sdgs--mini{grid-template-columns:1fr;}
	.yv-tiles{grid-template-columns:1fr 1fr;}
	.yv-fcards{grid-template-columns:1fr;}
	.yv-ccards{grid-template-columns:1fr 1fr;}
	.yv-steps{grid-template-columns:1fr; gap:24px;}
	.yv-steps li{padding-left:64px; min-height:48px;}
	.yv-step-num{position:absolute; left:0; top:0; margin:0;}
	.yv-steps li:not(:last-child)::after{top:56px; bottom:-20px; left:24px; right:auto; width:1px; height:auto;}
	.yv-guests{grid-template-columns:1fr;}
	.yv-guests .yv-frame{aspect-ratio:3/2;}
	.yv-mosaic-3{grid-template-rows:160px 160px;}
	.yv-gallery{grid-template-columns:1fr 1fr; grid-auto-rows:130px;}
	.yv-band{padding:56px 16px;}
}
@media screen and (max-width:600px){
	.yv-page .content h2.yv-display, .yv-display{font-size:26px;}
	.yv-page .content h2.yv-display--sub{font-size:24px;}
	.yv-page .yv-sec h2{font-size:23px;}
	.yv-page .yv-sec h3, .yv-page .content h3{font-size:18px;}
	.yv-lead{font-size:17px;}
	.yv-fact b{font-size:20px;}
	.yv-motto{font-size:18px;}
	.yv-pullquote{padding:20px 20px; margin-top:32px;}
	.yv-pullquote p{font-size:19px;}
	.yv-panel, .yv-support, .yv-founder{padding:24px;}
	.yv-proof, .yv-icards, .yv-tiles, .yv-ccards{grid-template-columns:1fr; gap:16px;}
	.yv-proof{gap:24px;}
	.yv-icard:nth-child(5){grid-column:span 1;}
	.yv-icard .yv-icard-img, .yv-icard:nth-child(n+4) .yv-icard-img, .yv-icard:nth-child(5) .yv-icard-img{aspect-ratio:3/2;}
	.yv-icard-body, .yv-ccard, .yv-sec a.yv-tile{padding-left:20px; padding-right:20px;}
	.yv-icard-body .yv-num{left:20px;}
	.yv-fcard-body{padding:20px;}
	.yv-checks--2col{grid-template-columns:1fr;}
	.yv-founder{grid-template-columns:1fr; gap:20px; text-align:left;}
	.yv-founder-img{width:140px; margin:0 auto;}
	.yv-gallery, .yv-mosaic-3{gap:8px;}
	.yv-prevnext{flex-direction:column;}
	.yv-page .yv-prevnext a{justify-content:center; width:100%; box-sizing:border-box; padding:10px 16px; border:1px solid var(--yv-line); border-radius:12px; text-align:center;}
	.yv-next{text-align:center; margin-left:0;}
	.yv-band h2{font-size:24px !important;}
}
@media screen and (max-width:480px){
	.yv-btns .btn.yv-btn{width:100%;}
}
@media screen and (max-width:600px){
	.yv-band{background-image:url(../../images/yuva-festival/web/yuva-performance-12-md.jpg);}
}

/* spacing refinements */
.yv-btns + .yv-muted, .yv-chips + .yv-muted{margin-top:16px !important;}

/* ===================================================== Review round 1 */
/* P1-1 buttons stay on one line above 480px */
@media screen and (min-width:481px){ .btn.yv-btn{white-space:nowrap;} }

/* P1-3 photo pair: equal heights */
.yv-pair .yv-frame{aspect-ratio:auto; height:340px;}
@media screen and (max-width:900px){ .yv-pair .yv-frame{height:auto; aspect-ratio:3/2;} }

/* P1-4 distinguished guests: equal heights */
@media screen and (min-width:901px){ .yv-guests .yv-frame{aspect-ratio:auto; height:260px;} }

/* P1-5 featured card buttons at natural width */
.yv-fcard-body .btn.yv-btn{align-self:flex-start;}

/* P1-6 CSR focus areas as a check list */
.yv-panel .yv-checks{margin:0 0 20px !important; padding:0; list-style:none; font-size:15px;}

/* P1-7 SDG cards: 4 + 3 centred */
.yv-sdgs:not(.yv-sdgs--mini){display:flex; flex-wrap:wrap; justify-content:center; gap:24px;}
.yv-sdgs:not(.yv-sdgs--mini) .yv-sdg{flex:0 0 calc((100% - 72px)/4); box-sizing:border-box;}
@media screen and (max-width:900px){ .yv-sdgs:not(.yv-sdgs--mini) .yv-sdg{flex-basis:calc((100% - 24px)/2);} }
@media screen and (max-width:600px){ .yv-sdgs:not(.yv-sdgs--mini) .yv-sdg{flex-basis:100%;} }

/* P1-8 journey image aligns with the eyebrow */
.yv-split--img-left.yv-split--top > figure{margin-top:6px;}

/* P1-9 compact SDG cards on small screens (tightened to keep the block under 620px at 390) */
@media screen and (max-width:600px){
	.yv-sdgs:not(.yv-sdgs--mini) .yv-sdg{display:grid; grid-template-columns:34px 1fr; gap:0 10px; align-items:start; padding:9px 14px;}
	.yv-sdgs:not(.yv-sdgs--mini) .yv-sdg-label{grid-column:1; grid-row:1;}
	.yv-sdgs:not(.yv-sdgs--mini) .yv-sdg-num{grid-column:1; grid-row:2; font-size:26px; margin:2px 0 0;}
	.yv-sdgs:not(.yv-sdgs--mini) .yv-sdg > div{grid-column:2; grid-row:1 / span 2;}
	.yv-sdgs:not(.yv-sdgs--mini) .yv-sdg strong{font-size:14px; line-height:1.35; margin-bottom:2px;}
	.yv-sec .yv-sdgs:not(.yv-sdgs--mini) .yv-sdg p{font-size:13px; line-height:1.45;}
	.yv-sdgs:not(.yv-sdgs--mini){gap:8px;}
}

/* P1-10 label the Yuva phone line */
.yv-phone-label{font-size:13px;}

/* P2-1 hero crop on desktop */
@media screen and (min-width:901px){ .yv-frame--hero img{transform:scale(1.12); transform-origin:55% 100%;} }

/* P2-2 motto as a secondary line */
.yv-sec .yv-motto{font-size:17px; font-weight:400; letter-spacing:.08em; color:var(--yv-red); margin:4px 0 16px;}
@media screen and (max-width:600px){ .yv-sec .yv-motto{font-size:16px;} }

/* P2-3 disciplines intro stays in view */
@media screen and (min-width:901px){ .yv-split--4-8 > :first-child{position:sticky; top:24px;} }

/* P2-4 align row-1 initiative card descriptions */
@media screen and (min-width:901px){ .yv-icard:nth-child(-n+3) .yv-tagline{min-height:2.8em;} }

/* P2-5 compact partner tiles on small screens */
@media screen and (max-width:600px){
	.yv-sec a.yv-tile{display:grid; grid-template-columns:32px 1fr; gap:0 14px; padding:16px;}
	.yv-tile .fa{font-size:24px; margin:2px 0 0; grid-row:1 / span 2;}
	.yv-page .yv-tile h3{font-size:16px; margin-bottom:4px;}
}

/* P2-6 discipline note sits under the H3 */
.yv-sec .yv-disc-note{margin:0 0 4px;}

/* P1-2 initiative hero: image fills the text column height on desktop (4:3 on smaller screens) */
@media screen and (min-width:901px){
	.yv-split--ihero{align-items:stretch;}
	.yv-split--ihero > figure{display:flex; flex-direction:column;}
	.yv-split--ihero .yv-frame{flex:1 1 auto; aspect-ratio:auto; min-height:320px;}
	.yv-split--ihero .yv-frame img{position:absolute; inset:0;}
}

/* P1-2 SDG tags: fit in two rows beside the hero image */
.yv-tags .yv-tag{font-size:12px; letter-spacing:.03em; padding:5px 10px;}
.yv-tags{gap:6px;}
