/* Photographic direction for the presentation. Source masters stay in generated-images/. */
.brand-logo { display:block; width:30px; height:36px; flex:none; position:relative; }
.brand-logo img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.brand-logo__dark { display:none; }
.theme-light .brand-logo__light { display:none; }
.theme-light .brand-logo__dark { display:block; }
.brand-wordmark { display:block; width:111px; height:20px; position:relative; flex:none; }
.brand-wordmark img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.brand-wordmark__dark { display:none; }
.theme-light .brand-wordmark__light { display:none; }
.theme-light .brand-wordmark__dark { display:block; }
.cover,
.annual,
.corporate,
.sangeet,
.team,
.close { background-color:#12101b; color:#fff9f3; }

.cover .slide__body,
.corporate .slide__body,
.sangeet .slide__body {
  display:flex;
  align-items:center;
  isolation:isolate;
}

.cover-art,
.corporate-art,
.sangeet-art {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border-radius:0;
  margin:0;
  box-shadow:none;
  z-index:0;
  background-repeat:no-repeat;
  background-size:cover;
}

.cover-art { background-image:url('assets/cover.webp'); background-position:center 48%; }
.cover-art::before,
.corporate-art::before,
.sangeet-art::before { content:none; }
.cover-art::after,
.corporate-art::after,
.sangeet-art::after {
  content:"";
  position:absolute;
  inset:0;
  width:auto;
  height:auto;
  aspect-ratio:auto;
  border:0;
  border-radius:0;
  transform:none;
  box-shadow:none;
  mix-blend-mode:normal;
  opacity:1;
}
.cover-art::after {
  background:linear-gradient(90deg,rgba(7,12,30,.62) 0%,rgba(7,12,30,.35) 34%,rgba(7,12,30,0) 70%),linear-gradient(0deg,rgba(7,12,30,.48),transparent 35%);
}
.cover-copy { position:relative; z-index:2; max-width:760px; }
.cover .display { max-width:760px; font-size:clamp(72px,8.2vw,142px); text-shadow:0 4px 30px rgba(0,0,0,.2); }
.cover .intro { max-width:520px; color:#f0e8e8; text-shadow:0 2px 18px rgba(0,0,0,.38); }
.cover .eyebrow { color:#f6dbd2; }
.cover .hero-meta { color:#fff7eb; }
.cover .vertical { z-index:3; color:rgba(255,255,255,.72); }

.annual {
  background-image:linear-gradient(90deg,rgba(14,10,24,.94) 0%,rgba(14,10,24,.82) 39%,rgba(14,10,24,.53) 73%,rgba(14,10,24,.68) 100%),url('assets/annual-day.webp');
  background-size:cover;
  background-position:center 48%;
}
.annual-card { background:rgba(15,11,25,.56); border-color:rgba(255,255,255,.29); box-shadow:0 18px 45px rgba(0,0,0,.16); }
.annual .orb { display:none; }
.annual .intro,.annual-card p { color:#f1e9ef; }
.annual .proposal { color:#ffe2bd; }

.corporate-art { background-image:url('assets/corporate.webp'); background-position:center 48%; }
.corporate-art::after {
  background:linear-gradient(270deg,rgba(11,10,23,.94) 0%,rgba(11,10,23,.76) 36%,rgba(11,10,23,.12) 75%),linear-gradient(0deg,rgba(11,10,23,.4),transparent 40%);
}
.corporate .slide__body { justify-content:flex-end; }
.corporate-copy { position:relative; z-index:2; width:min(48%,700px); }
.corporate .display { max-width:700px; }
.corporate .intro { color:#f2e8e8; }
.corporate-list span { border:1px solid rgba(255,255,255,.56); color:#fff9f3; background:rgba(16,12,28,.34); backdrop-filter:blur(8px); }

.sangeet .slide__body { justify-content:flex-end; }
.sangeet-art { background-image:url('assets/sangeet.webp'); background-position:center 50%; }
.sangeet-art::after {
  background:linear-gradient(270deg,rgba(22,11,23,.94) 0%,rgba(22,11,23,.80) 29%,rgba(22,11,23,.26) 65%,rgba(22,11,23,.03) 100%),linear-gradient(0deg,rgba(22,11,23,.37),transparent 35%);
}
.sangeet-copy { position:relative; z-index:2; width:min(49%,720px); }
.sangeet .intro { color:#f6e9e9; }
.sangeet-points span { background:rgba(32,16,30,.58); border:1px solid rgba(255,255,255,.35); backdrop-filter:blur(8px); }

.packages {
  background-image:linear-gradient(90deg,rgba(12,11,25,.96),rgba(12,11,25,.86)),url('assets/studio-class.webp');
  background-size:cover;
  background-position:center 50%;
}
.packages .slide__body { display:flex; flex-direction:column; justify-content:center; }
.packages .display { font-size:clamp(52px,5.5vw,90px); }
.packages .intro { margin:18px 0 0; color:#e4dce6; }
.package-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:42px; }
.package-card {
  min-height:277px;
  padding:23px;
  border:1px solid rgba(255,255,255,.27);
  background:rgba(18,14,30,.65);
  backdrop-filter:blur(12px);
  display:flex;
  flex-direction:column;
}
.package-card small { font-size:10px; font-weight:800; letter-spacing:.2em; color:#f28c70; }
.package-card strong { margin-top:22px; font-size:clamp(22px,2vw,31px); line-height:1.08; letter-spacing:-.05em; }
.package-card b { margin-top:auto; padding-top:23px; font-size:clamp(21px,2vw,29px); letter-spacing:-.04em; color:#fff6e9; }
.package-card p { margin:10px 0 0; font-size:12px; line-height:1.48; color:#d9d0dc; }
.package-card--custom { background:var(--coral); color:#211521; border-color:var(--coral); }
.package-card--custom small,.package-card--custom b,.package-card--custom p { color:#211521; }
.package-foot { margin:18px 0 0; color:#c8bfcd; font-size:11px; line-height:1.4; }

.team {
  background:#17111f;
}
.team .slide__body { display:flex; flex-direction:column; align-items:stretch; justify-content:center; gap:0; padding-top:86px; padding-bottom:69px; }
.team-header { display:flex; align-items:end; justify-content:space-between; gap:45px; }
.team-header .display { font-size:clamp(48px,5.2vw,79px); max-width:850px; }
.team-header .intro { max-width:350px; margin:0 0 5px; font-size:clamp(13px,1.05vw,16px); color:#d8ccd9; }
.team-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; height:min(50vh,440px); min-height:300px; margin-top:29px; }
.team-strip { position:relative; overflow:hidden; background:radial-gradient(circle at 40% 20%,#553948,#211825 70%); border:1px solid rgba(255,255,255,.21); }
.team-strip img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 40%; }
.team-strip::after { content:""; position:absolute; inset:37% 0 0; background:linear-gradient(transparent 0%,rgba(8,6,14,.78) 67%,rgba(8,6,14,.97) 100%); pointer-events:none; }
.team-strip--lead { border:2px solid var(--coral); transform:translateY(-8px); height:calc(100% + 8px); box-shadow:0 22px 42px rgba(0,0,0,.38); }
.team-strip__index { position:absolute; z-index:2; top:14px; left:14px; color:#fff; font-size:9px; font-weight:800; letter-spacing:.18em; text-shadow:0 2px 7px #000; }
.team-strip__info { position:absolute; z-index:2; left:0; right:0; bottom:0; padding:15px 16px 19px; }
.team-strip b { display:block; font-size:clamp(17px,1.3vw,24px); line-height:1.04; letter-spacing:-.045em; }
.team-strip small { display:block; margin-top:8px; font-size:10px; line-height:1.3; color:#dfd5df; }

.close {
  background-image:linear-gradient(90deg,rgba(8,10,24,.93) 0%,rgba(8,10,24,.72) 45%,rgba(8,10,24,.09) 100%),url('assets/cover.webp');
  background-size:cover;
  background-position:center 50%;
}
.close .close-row { border-color:rgba(255,255,255,.72); }
.close .display em { color:var(--coral); }
.close .giant-r { display:none; }
.close .giant-mark { position:absolute; width:min(29vw,360px); height:auto; right:1%; top:11%; opacity:.13; pointer-events:none; }
.contact-links { display:flex; flex-wrap:wrap; gap:14px 30px; margin-top:28px; font-size:clamp(12px,1.2vw,18px); font-weight:700; letter-spacing:.01em; }
.contact-links a,.social-links a { color:#fff9f3; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.65); padding-bottom:5px; }
.contact-links a:hover,.social-links a:hover { color:#ff9e83; border-color:#ff9e83; }
.contact-links .whatsapp-link { margin-top:-9px; padding:10px 16px; color:#1d1523; background:#ff916f; border:1px solid #ff916f; border-radius:40px; }
.contact-links .whatsapp-link:hover { background:#fff9f3; color:#1d1523; border-color:#fff9f3; }
.social-links { display:flex; flex-wrap:wrap; gap:15px 28px; margin-top:19px; font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }

.process-ribbon { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; margin-top:54px; height:11px; }
.process-ribbon span { background:#f07459; }
.process-ribbon span:nth-child(2) { background:#e5a24e; }
.process-ribbon span:nth-child(3) { background:#a78ad4; }
.process-ribbon span:nth-child(4) { background:#284f65; }
.process .timeline { margin-top:0; border-top:0; }
.process .timeline-step { display:flex; flex-direction:column; min-height:225px; padding-top:22px; }
.process .timeline-step::before { display:none; }
.process .timeline-step:nth-child(2)>span { color:#91601f; }
.process .timeline-step:nth-child(3)>span { color:#7959a0; }
.process .timeline-step:nth-child(4)>span { color:#284f65; }
.step-output { margin-top:auto; padding-top:13px; padding-left:12px; border-left:3px solid #f07459; }
.timeline-step:nth-child(2) .step-output { border-color:#e5a24e; }
.timeline-step:nth-child(3) .step-output { border-color:#a78ad4; }
.timeline-step:nth-child(4) .step-output { border-color:#284f65; }
.step-output small { display:block; font-size:9px; line-height:1.3; font-weight:800; letter-spacing:.12em; color:#746d71; }
.step-output b { display:block; margin-top:4px; font-size:16px; line-height:1.25; letter-spacing:-.03em; }
.process .aside-note { margin-top:17px; }

.formats .format-grid { margin-top:30px; }
.formats .format-card { min-height:220px; padding:19px 21px; }
.session-example { display:grid; grid-template-columns:minmax(190px,275px) 1fr; gap:25px; align-items:center; margin-top:14px; padding:18px 20px 16px; color:#fff9f4; background:#21182b; }
.session-example__heading strong { display:block; font-size:12px; font-weight:800; letter-spacing:.12em; }
.session-example__heading span { display:block; margin-top:5px; color:#d0c7cf; font-size:12px; line-height:1.3; }
.session-track { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
.session-phase { min-width:0; }
.session-phase>span { display:block; height:11px; background:#f07459; }
.session-phase:nth-child(2)>span { background:#e5a24e; }
.session-phase:nth-child(3)>span { background:#a78ad4; }
.session-phase:nth-child(4)>span { background:#5ca9b0; }
.session-phase small { display:block; margin-top:7px; font-size:12px; line-height:1.2; font-weight:700; color:#f9f2f6; }
.formats .below { margin-top:10px; }

.schoolproof { background:#17111f; }
.schoolproof .slide__body { display:flex; flex-direction:column; justify-content:center; padding-top:75px; padding-bottom:64px; }
.schoolproof-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; }
.schoolproof .display { font-size:clamp(48px,4.5vw,73px); }
.schoolproof .intro { max-width:320px; margin:0 0 5px; color:#d4c9d4; font-size:15px; }
.school-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin-top:24px; }
.school-card { position:relative; display:flex; flex-direction:column; justify-content:center; min-width:0; min-height:52px; padding:7px 10px 7px 59px; background:#2b2035; border:1px solid rgba(255,255,255,.14); }
.school-card--logo { border-top:2px solid #ee785f; }
.school-card img { position:absolute; left:9px; top:50%; transform:translateY(-50%); display:block; width:38px; height:38px; object-fit:contain; background:#fff; border-radius:50%; padding:3px; }
.school-card__number { position:absolute; left:13px; top:50%; transform:translateY(-50%); display:block; color:#9e8ca7; font-size:11px; font-weight:800; letter-spacing:.14em; }
.school-card strong { display:block; font-size:13px; line-height:1.14; letter-spacing:-.035em; }
.school-card small { display:block; margin-top:3px; color:#beb2c4; font-size:9px; line-height:1.2; }
.schoolproof-note { margin:13px 0 0; color:#a99ead; font-size:10px; }

.reviews .slide__body { display:flex; flex-direction:column; justify-content:center; }
.reviews .display { font-size:clamp(52px,5vw,80px); }
.reviews-intro { margin:14px 0 0; color:#59515a; font-size:15px; }
.review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:25px; }
.review-card { display:flex; flex-direction:column; min-height:205px; margin:0; padding:16px 20px 20px; background:#fffaf2; border-top:4px solid #ef745b; }
.review-card:nth-child(2) { border-color:#a78ad4; }
.review-card:nth-child(3) { border-color:#e4a44e; }
.review-card__mark { height:25px; color:#ed765c; font-family:Georgia,serif; font-size:46px; line-height:.8; }
.review-card p { margin:12px 0 18px; max-width:390px; font-size:16px; line-height:1.45; font-weight:700; letter-spacing:-.03em; }
.review-card footer { display:flex; justify-content:space-between; gap:12px; align-items:end; margin-top:auto; }
.review-card footer strong { font-size:12px; }
.review-card footer span { color:#675b64; font-size:10px; }
.review-card footer a { color:#675b64; text-decoration:underline; text-underline-offset:2px; }
.studio-heading { margin-top:21px; color:#704f4f; font-size:11px; font-weight:800; letter-spacing:.15em; }
.studio-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:8px; }
.studio-card { display:grid; grid-template-columns:100px 1fr auto; align-items:center; gap:16px; padding:14px 18px; color:#221827; text-decoration:none; background:#f5e6db; }
.studio-card:hover { background:#f8d4c4; }
.studio-card strong { font-size:15px; line-height:1.2; }
.studio-card span { font-size:11px; line-height:1.35; }
.studio-card b { white-space:nowrap; font-size:10px; }

@media (max-width:700px) {
  .schoolproof,.reviews { height:auto; min-height:100svh; }
  .schoolproof .slide__body,.reviews .slide__body { height:auto; min-height:100svh; justify-content:flex-start; padding-top:91px; padding-bottom:105px; }
  .schoolproof-heading { display:block; }
  .schoolproof .display,.reviews .display { font-size:clamp(37px,9vw,46px); line-height:1.04; }
  .schoolproof .intro { margin-top:13px; font-size:12px; line-height:1.4; }
  .school-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-top:18px; }
  .school-card { min-height:75px; padding:8px 6px 8px 42px; }
  .school-card img { left:6px; height:29px; width:29px; padding:2px; }
  .school-card__number { left:9px; font-size:9px; }
  .school-card strong { font-size:11px; }
  .school-card small { font-size:8px; }
  .schoolproof-note { font-size:9px; }
  .reviews-intro { margin-top:10px; font-size:12px; }
  .review-grid { grid-template-columns:1fr; gap:7px; margin-top:18px; }
  .review-card { min-height:130px; padding:11px 14px; }
  .review-card__mark { height:14px; font-size:33px; }
  .review-card p { margin:7px 0 9px; font-size:13px; line-height:1.35; }
  .review-card footer strong { font-size:10px; }
  .review-card footer span { font-size:8px; }
  .studio-heading { margin-top:18px; font-size:9px; }
  .studio-grid { grid-template-columns:1fr; gap:6px; }
  .studio-card { grid-template-columns:1fr auto; gap:5px 12px; padding:13px 12px; }
  .studio-card strong { font-size:14px; }
  .studio-card span { grid-column:1; font-size:11px; line-height:1.4; }
  .studio-card b { grid-column:2; grid-row:1/3; font-size:9px; }
  .process .slide__body,.formats .slide__body { justify-content:flex-start; padding-top:94px; }
  .process-ribbon { display:none; }
  .process .timeline { margin-top:25px; }
  .process .timeline-step { min-height:187px; padding:11px 9px 0; border-top:7px solid #f07459; }
  .process .timeline-step:nth-child(2) { border-color:#e5a24e; }
  .process .timeline-step:nth-child(3) { border-color:#a78ad4; }
  .process .timeline-step:nth-child(4) { border-color:#284f65; }
  .step-output { margin-top:auto; padding:8px 0 0 7px; }
  .step-output small { font-size:6px; }
  .step-output b { margin-top:2px; font-size:10px; }
  .formats .format-grid { margin-top:23px; }
  .formats .format-card { min-height:158px; padding:13px; }
  .session-example { display:block; margin-top:10px; padding:13px; }
  .session-example__heading strong { font-size:9px; }
  .session-example__heading span { font-size:9px; }
  .session-track { margin-top:12px; }
  .session-phase>span { height:8px; }
  .session-phase small { font-size:8px; }
  .formats .below { margin-top:9px; }
  .cover .slide__body,
  .corporate .slide__body,
  .sangeet .slide__body { display:flex; flex-direction:column; justify-content:center; align-items:stretch; }
  .cover-art,.corporate-art,.sangeet-art { min-height:0; height:100%; margin:0; flex:none; }
  .cover-art { background-position:61% center; }
  .cover-art::after { background:linear-gradient(0deg,rgba(7,12,30,.96) 0%,rgba(7,12,30,.7) 54%,rgba(7,12,30,.16) 100%); }
  .cover .slide__body { justify-content:flex-end; padding-bottom:120px; }
  .cover .display { font-size:clamp(58px,13vw,86px); }
  .cover .intro { max-width:390px; }
  .annual { background-position:58% center; }
  .annual .slide__body { background:rgba(13,10,22,.28); }
  .corporate-art { background-position:35% center; }
  .corporate-art::after { background:linear-gradient(0deg,rgba(11,10,23,.98) 0%,rgba(11,10,23,.91) 54%,rgba(11,10,23,.28) 100%); }
  .corporate .slide__body { justify-content:flex-end; padding-bottom:115px; }
  .corporate-copy { width:100%; }
  .sangeet-art { background-position:34% center; }
  .sangeet-art::after { background:linear-gradient(0deg,rgba(22,11,23,.96),rgba(22,11,23,.75) 56%,rgba(22,11,23,.08)); }
  .sangeet .slide__body { justify-content:flex-end; padding-bottom:115px; }
  .sangeet-copy { width:100%; }
  .packages .slide__body { justify-content:flex-start; }
  .package-grid { grid-template-columns:1fr 1fr; gap:7px; margin-top:24px; }
  .package-card { min-height:170px; padding:12px; }
  .package-card small { font-size:8px; }
  .package-card strong { margin-top:9px; font-size:17px; }
  .package-card b { padding-top:10px; font-size:17px; }
  .package-card p { font-size:9px; margin-top:5px; }
  .package-foot { font-size:9px; }
  .team { background-position:36% center; }
  .team .slide__body { justify-content:flex-start; padding-top:89px; padding-bottom:73px; }
  .team-header { display:block; }
  .team-header .display { font-size:clamp(35px,9.2vw,43px); }
  .team-header .intro { margin-top:10px; max-width:none; font-size:11px; line-height:1.35; }
  .team-grid { grid-template-columns:repeat(6,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); gap:6px; height:440px; min-height:0; margin-top:17px; }
  .team-strip { grid-column:span 2; }
  .team-strip:nth-child(n+4) { grid-column:span 3; }
  .team-strip--lead { transform:none; height:100%; box-shadow:none; }
  .team-strip__index { top:8px; left:8px; font-size:7px; }
  .team-strip__info { padding:9px 8px 11px; }
  .team-strip:nth-child(4) img { object-position:center top; }
  .team-strip b { font-size:12px; line-height:1.06; }
  .team-strip small { margin-top:4px; font-size:8px; line-height:1.18; }
  .close { background-position:61% center; }
  .close .giant-mark { width:200px; right:-20px; top:11%; opacity:.08; }
  .brand-wordmark { width:100px; }
  .contact-links { gap:10px 18px; margin-top:18px; font-size:13px; }
  .contact-links .whatsapp-link { margin-top:0; padding:7px 11px; font-size:11px; }
  .social-links { gap:12px 18px; margin-top:16px; font-size:10px; }
}

@media print {
  .cover-art,.corporate-art,.sangeet-art { height:100%; }
  .cover .slide__body,.corporate .slide__body,.sangeet .slide__body { padding-top:7vh; padding-bottom:6vh; }
}
