
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Cormorant+Garamond:wght@500;600;700&display=swap');

:root {
  --bg: #f4f1ea;
  --surface: #fbf8f2;
  --surface-2: #ffffff;
  --text: #1c241f;
  --muted: #5f675f;
  --line: rgba(28, 36, 31, 0.12);
  --accent: #315c4d;
  --accent-2: #9b7b4b;
  --accent-soft: rgba(49, 92, 77, 0.08);
  --shadow: 0 24px 60px rgba(28, 36, 31, 0.08);
}

[data-theme="dark"] {
  --bg: #111714;
  --surface: #161f1a;
  --surface-2: #1b2620;
  --text: #edf0ea;
  --muted: #a8b2a8;
  --line: rgba(237, 240, 234, 0.12);
  --accent: #79a78d;
  --accent-2: #d2b07a;
  --accent-soft: rgba(121, 167, 141, 0.12);
  --shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Inter', sans-serif;
  background: radial-gradient(circle at top left, rgba(155,123,75,.08), transparent 28%), var(--bg);
  color: var(--text);
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.text-muted-custom { color: var(--muted); }
.bg-surface { background: var(--surface); }
.bg-surface-2 { background: var(--surface-2); }
.border-soft { border: 1px solid var(--line); }
.shadow-soft { box-shadow: var(--shadow); }
.accent-text { color: var(--accent); }
.accent-chip {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .55rem .95rem; border-radius: 999px;
  background: var(--accent-soft); color: var(--accent); font-weight: 700; font-size: .82rem; letter-spacing: .04em; text-transform: uppercase;
}

.topbar {
  background: rgba(0,0,0,.03);
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: .92rem;
}
[data-theme="dark"] .topbar { background: rgba(255,255,255,.03); }

.navbar-shell {
  backdrop-filter: blur(14px);
  background: color-mix(in srgb, var(--bg) 86%, transparent);
  border-bottom: 1px solid var(--line);
}
.navbar-brand {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: .02em;
}
.nav-link { font-weight: 600; color: var(--muted); }
.nav-link:hover, .nav-link.active { color: var(--text); }

.btn-main {
  background: var(--text); color: var(--surface-2); border: 1px solid var(--text);
  border-radius: 999px; padding: .95rem 1.35rem; font-weight: 700;
}
.btn-main:hover { opacity: .92; color: var(--surface-2); }
.btn-ghost {
  background: transparent; color: var(--text); border: 1px solid var(--line);
  border-radius: 999px; padding: .95rem 1.35rem; font-weight: 700;
}
.btn-ghost:hover { background: var(--surface-2); color: var(--text); }
.theme-btn {
  width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line);
  background: var(--surface); color: var(--text);
}

.section-space { padding: 96px 0; }
.section-tight { padding: 72px 0; }
.section-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.2rem, 5vw, 4rem);
  line-height: .96;
  margin-bottom: 1rem;
}
.section-copy { color: var(--muted); font-size: 1.05rem; line-height: 1.85; }

.hero-wrap { padding: 108px 0 72px; position: relative; }
.hero-card {
  background: linear-gradient(145deg, color-mix(in srgb, var(--surface) 75%, transparent), var(--surface-2));
  border: 1px solid var(--line); border-radius: 30px; overflow: hidden;
}
.hero-panel { padding: clamp(2rem, 4vw, 4rem); }
.hero-title {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: clamp(3rem, 7vw, 6rem);
  line-height: .92;
  letter-spacing: -.03em;
}
.hero-subtitle {
  font-size: 1.08rem; color: var(--muted); line-height: 1.9; max-width: 42rem;
}
.hero-visual {
  min-height: 540px;
  background: linear-gradient(160deg, rgba(49,92,77,.16), rgba(155,123,75,.15));
  border-left: 1px solid var(--line);
  display: flex; align-items: stretch;
}
[data-theme="dark"] .hero-visual { background: linear-gradient(160deg, rgba(121,167,141,.14), rgba(210,176,122,.12)); }

.stat-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.stat-card {
  background: var(--surface-2); border: 1px solid var(--line); border-radius: 22px; padding: 1.25rem;
}
.stat-card h3 { font-size: 2rem; font-weight: 800; margin: 0 0 .3rem; }
.stat-card p { margin: 0; color: var(--muted); }

.info-card, .feature-card, .course-card, .testimonial-card, .contact-card, .gallery-card, .video-card {
  background: var(--surface); border: 1px solid var(--line); border-radius: 26px; padding: 1.6rem;
  height: 100%; box-shadow: var(--shadow);
}
.feature-card .icon-wrap, .course-card .icon-wrap, .contact-card .icon-wrap {
  width: 56px; height: 56px; border-radius: 18px; display: grid; place-items: center;
  background: var(--accent-soft); color: var(--accent); font-size: 1.4rem; margin-bottom: 1rem;
}
.card-label { font-size: .82rem; text-transform: uppercase; letter-spacing: .08em; color: var(--accent); font-weight: 800; }
.card-title { font-size: 1.35rem; font-weight: 700; margin: .55rem 0 .8rem; }
.card-copy { color: var(--muted); line-height: 1.8; }

.editorial-block {
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.02));
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: clamp(2rem, 4vw, 3.5rem);
}
[data-theme="dark"] .editorial-block { background: linear-gradient(180deg, transparent, rgba(255,255,255,.02)); }

.course-card ul, .list-clean { padding-left: 1.1rem; color: var(--muted); }
.course-card li, .list-clean li { margin-bottom: .55rem; }

.process-line {
  position: relative; padding-left: 2rem;
}
.process-line::before {
  content: ''; position: absolute; left: .4rem; top: .2rem; bottom: -.2rem; width: 1px; background: var(--line);
}
.process-step {
  position: relative; margin-bottom: 1.5rem;
}
.process-step::before {
  content: ''; position: absolute; left: -1.88rem; top: .45rem; width: .8rem; height: .8rem; border-radius: 50%;
  background: var(--accent);
}

.media-frame {
  border-radius: 28px; overflow: hidden; border: 1px solid var(--line); min-height: 100%;
  background: linear-gradient(145deg, rgba(49,92,77,.15), rgba(155,123,75,.12));
}
[data-theme="dark"] .media-frame { background: linear-gradient(145deg, rgba(121,167,141,.12), rgba(210,176,122,.1)); }
.media-inner { padding: 2rem; height: 100%; display:flex; flex-direction:column; justify-content:space-between; }
.media-tag { color: var(--muted); font-size: .88rem; text-transform: uppercase; letter-spacing: .09em; font-weight:700; }
.media-heading { font-family: 'Cormorant Garamond', serif; font-size: 2.6rem; line-height: 1; margin: 1rem 0; }
.diagram {
  margin-top: 2rem; display:grid; gap: 1rem;
}
.diagram-row { display:flex; gap:1rem; }
.diagram-box {
  flex:1; min-height: 98px; border-radius: 20px; border:1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.14);
  padding: 1rem; backdrop-filter: blur(6px);
}
[data-theme="dark"] .diagram-box { background: rgba(255,255,255,.04); }

.quote-mark { font-size: 3rem; font-family: 'Cormorant Garamond', serif; color: var(--accent); line-height: 1; }
.testimonial-card small { color: var(--muted); }

.cta-banner {
  padding: clamp(2rem, 5vw, 4rem); border-radius: 34px; border: 1px solid var(--line);
  background: linear-gradient(130deg, color-mix(in srgb, var(--surface-2) 88%, transparent), color-mix(in srgb, var(--accent-soft) 70%, transparent));
}

.page-hero {
  padding: 128px 0 56px;
  border-bottom: 1px solid var(--line);
}
.page-hero h1 { font-family: 'Cormorant Garamond', serif; font-size: clamp(2.8rem, 6vw, 4.8rem); }
.breadcrumb-soft { color: var(--muted); font-weight: 600; }

.footer {
  padding: 24px 0 40px; border-top: 1px solid var(--line); color: var(--muted);
}
.footer-brand {
  font-family: 'Cormorant Garamond', serif; font-size: 2rem; font-weight: 700; color: var(--text);
}

.gallery-card { padding: 0; overflow: hidden; }
.gallery-art {
  aspect-ratio: 1.18/1; display:flex; align-items:end; padding: 1.2rem;
  background: linear-gradient(160deg, rgba(49,92,77,.18), rgba(155,123,75,.12));
}
[data-theme="dark"] .gallery-art { background: linear-gradient(160deg, rgba(121,167,141,.12), rgba(210,176,122,.09)); }
.gallery-art h4 { color: #fff; max-width: 14rem; font-size: 1.2rem; }
.gallery-meta { padding: 1.35rem; }

.video-card .play-btn {
  width: 62px; height: 62px; border-radius: 50%; display:grid; place-items:center;
  background: var(--text); color: var(--surface-2); font-size: 1.1rem; margin-bottom: 1rem;
}

.contact-list { list-style: none; padding: 0; margin: 0; }
.contact-list li { display:flex; gap:.9rem; margin-bottom: 1rem; color: var(--muted); }
.contact-list i { color: var(--accent); margin-top: .2rem; }
.form-control, .form-select {
  background: var(--surface-2); border: 1px solid var(--line); color: var(--text); min-height: 54px;
}
.form-control::placeholder { color: color-mix(in srgb, var(--muted) 85%, transparent); }
.form-control:focus, .form-select:focus {
  box-shadow: 0 0 0 .25rem color-mix(in srgb, var(--accent) 18%, transparent);
  border-color: color-mix(in srgb, var(--accent) 45%, transparent);
  background: var(--surface-2); color: var(--text);
}

.badge-soft {
  display:inline-flex; padding:.55rem .8rem; border-radius:999px; background:var(--accent-soft); color:var(--accent); font-weight:700; font-size:.83rem;
}

@media (max-width: 991px) {
  .hero-wrap { padding-top: 92px; }
  .hero-visual { min-height: 360px; border-left: 0; border-top: 1px solid var(--line); }
  .stat-grid { grid-template-columns: 1fr; }
}


/* ===== V5 light-only premium palette + hero slider ===== */
:root {
  --bg: #f4f8ff;
  --surface: #ffffff;
  --surface-2: #f8fbff;
  --text: #11284a;
  --muted: #58708f;
  --line: rgba(17, 40, 74, 0.10);
  --accent: #0f6fff;
  --accent-2: #00bfa5;
  --accent-3: #6f52ff;
  --accent-soft: rgba(15, 111, 255, 0.09);
  --shadow: 0 28px 70px rgba(17, 40, 74, 0.10);
}
body {
  background:
    radial-gradient(circle at top left, rgba(15,111,255,.12), transparent 24%),
    radial-gradient(circle at top right, rgba(111,82,255,.10), transparent 20%),
    linear-gradient(180deg, #f9fbff 0%, var(--bg) 100%);
}
.topbar { background: linear-gradient(90deg, rgba(15,111,255,.05), rgba(0,191,165,.04)); }
.navbar-brand { font-size: 1.9rem; color: var(--text); }
.btn-main {
  background: linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 64%, var(--accent-3)));
  border-color: transparent; color: #fff; box-shadow: 0 16px 36px rgba(15,111,255,.22);
}
.btn-main:hover { color:#fff; transform: translateY(-1px); }
.btn-ghost:hover { background: color-mix(in srgb, var(--accent-soft) 65%, var(--surface-2)); }
.hero-wrap { padding: 108px 0 78px; }
.hero-slider { border: 1px solid var(--line); border-radius: 32px; overflow: hidden; background: var(--surface); position: relative; }
.hero-slide { position: relative; min-height: 760px; background-size: cover; background-position: center; isolation: isolate; }
.hero-slide-1 { background: radial-gradient(circle at 15% 15%, rgba(0,191,165,.24), transparent 18%), radial-gradient(circle at 90% 20%, rgba(111,82,255,.24), transparent 20%), linear-gradient(135deg, rgba(12,39,84,.88), rgba(26,85,173,.72)), linear-gradient(120deg, #1a57bf, #0d1f42); }
.hero-slide-2 { background: radial-gradient(circle at 80% 12%, rgba(0,191,165,.20), transparent 20%), radial-gradient(circle at 10% 75%, rgba(15,111,255,.24), transparent 23%), linear-gradient(135deg, rgba(8,32,72,.90), rgba(17,91,164,.70)), linear-gradient(120deg, #17599b, #0c1d3a); }
.hero-slide-3 { background: radial-gradient(circle at 20% 20%, rgba(255,255,255,.12), transparent 18%), radial-gradient(circle at 85% 78%, rgba(0,191,165,.16), transparent 18%), linear-gradient(135deg, rgba(13,33,66,.90), rgba(82,47,179,.68)), linear-gradient(120deg, #17386d, #151d45); }
.hero-overlay { position:absolute; inset:0; background: linear-gradient(90deg, rgba(4,12,25,.22), rgba(4,12,25,.05) 55%, rgba(4,12,25,.14)), linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0)); z-index:0; }
.hero-slide .row { min-height:760px; z-index:1; }
.hero-panel { padding: clamp(2rem, 4vw, 4rem); color:#fff; }
.hero-title { color:#fff; font-size: clamp(3.2rem, 7vw, 6.1rem); line-height:.9; }
.hero-subtitle { color: rgba(237,245,255,.86); max-width:43rem; }
.hero-slide .accent-chip { background: rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.14); }
.stat-card { background: rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.16); backdrop-filter: blur(10px); }
.stat-card h3 { color:#fff; font-size:1.7rem; }
.stat-card p { color: rgba(237,245,255,.82); }
.hero-side-panel { padding: 1.25rem 2rem 1.25rem 0; }
.hero-side-shell { border-radius: 28px; padding:1.5rem; background: rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.16); backdrop-filter: blur(12px); color:#fff; max-width:420px; margin-left:auto; }
.hero-side-shell h2, .hero-side-shell h5, .hero-side-shell h4 { color:#fff; }
.hero-side-shell p { color: rgba(237,245,255,.82); }
.eyebrow-soft { display:inline-block; margin-bottom:.8rem; padding:.45rem .8rem; border-radius:999px; font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; background: rgba(255,255,255,.14); color:#fff; }
.hero-points { list-style:none; padding:0; margin:1.2rem 0 0; }
.hero-points li { display:flex; align-items:center; gap:.7rem; margin-bottom:.8rem; color: rgba(237,245,255,.9); }
.hero-mini-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:1rem; }
.mini-panel { padding:1rem 1.1rem; border-radius:20px; background: rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.16); color:#fff; }
.mini-label { display:block; color: rgba(237,245,255,.72); margin-bottom:.35rem; font-size:.8rem; text-transform:uppercase; letter-spacing:.06em; }
.progress-stack { display:grid; gap:1rem; }
.progress-node { display:flex; gap:1rem; align-items:flex-start; padding:1rem; border-radius:22px; background: rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.14); }
.progress-node span { width:42px; height:42px; border-radius:14px; display:grid; place-items:center; background: linear-gradient(135deg, rgba(15,111,255,.8), rgba(111,82,255,.75)); font-weight:800; flex-shrink:0; color:#fff; }
.progress-node h5, .metric-card h4 { margin-bottom:.25rem; }
.progress-node p, .metric-card p { margin-bottom:0; color: rgba(237,245,255,.8); }
.hero-badge-row { display:flex; gap:.75rem; flex-wrap:wrap; }
.hero-badge { display:inline-flex; padding:.75rem 1rem; border-radius:999px; background: rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.14); color:#fff; font-weight:600; }
.metric-card-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:1rem; }
.metric-card { padding:1rem; border-radius:22px; background: rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.14); }
.hero-indicators { left:2rem; right:auto; bottom:1.4rem; margin:0; justify-content:flex-start; gap:.55rem; }
.hero-indicators [data-bs-target] { width:38px; height:6px; border:0; border-radius:999px; opacity:.45; background: rgba(255,255,255,.72); }
.hero-indicators .active { opacity:1; background:#fff; }
.hero-control { width:58px; top:auto; bottom:1.1rem; opacity:1; }
.hero-control.carousel-control-prev { left:auto; right:5rem; }
.hero-control.carousel-control-next { right:1.25rem; }
.hero-control .carousel-control-prev-icon, .hero-control .carousel-control-next-icon { width:22px; height:22px; }
.hero-control span:not(.visually-hidden) { display:grid; place-items:center; width:46px; height:46px; border-radius:50%; background: rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.16); }
.feature-card, .course-card, .testimonial-card, .contact-card, .gallery-card, .video-card, .info-card { box-shadow: 0 18px 44px rgba(17,40,74,.08); }
.feature-card .icon-wrap, .course-card .icon-wrap, .contact-card .icon-wrap { background: linear-gradient(135deg, rgba(15,111,255,.14), rgba(111,82,255,.10)); color: var(--accent); }
.editorial-block { background: linear-gradient(180deg, rgba(15,111,255,.03), rgba(111,82,255,.02)), var(--surface); }
.media-frame { background: linear-gradient(145deg, rgba(15,111,255,.16), rgba(0,191,165,.10)); }
.gallery-art { background: linear-gradient(160deg, rgba(15,111,255,.30), rgba(111,82,255,.22)); }
.cta-banner { background: linear-gradient(130deg, rgba(15,111,255,.08), rgba(0,191,165,.07)), var(--surface-2); }
.theme-btn { display:none !important; }
@media (max-width: 991px) { .hero-slide, .hero-slide .row { min-height: auto; } .hero-panel { padding-bottom:1rem; } .hero-side-panel { padding: 0 1.25rem 5rem 1.25rem; } .hero-side-shell { max-width:none; margin:0; } .hero-mini-grid, .metric-card-grid { grid-template-columns:1fr; } .hero-control { display:none; } .hero-indicators { left:1.25rem; bottom:1rem; } }


/* ===== v6 interactive media refresh ===== */
body{background:linear-gradient(180deg,#f5f9ff 0%,#edf5ff 100%);color:#17345f;}
.topbar{background:#0f6fff;color:#eaf4ff;border-bottom:0}
.topbar span{color:#eaf4ff}
.navbar-shell{background:rgba(255,255,255,.92);backdrop-filter:blur(16px);box-shadow:0 12px 34px rgba(16,57,117,.08)}
.navbar-brand{color:#103975}
.nav-link{color:#36557e}
.nav-link:hover,.nav-link.active{color:#0f6fff}
.btn-main{background:linear-gradient(135deg,#0f6fff,#435dff);border:none;color:#fff;box-shadow:0 18px 35px rgba(15,111,255,.22)}
.btn-ghost{background:rgba(255,255,255,.72);border-color:rgba(15,111,255,.14);color:#0f4ea8}
.hero-wrap{padding:36px 0 70px}
.hero-media-slider{border-radius:34px;overflow:hidden;box-shadow:0 34px 80px rgba(16,57,117,.18);position:relative}
.hero-media-slide{position:relative;min-height:620px}
.hero-media-slide img{width:100%;height:620px;object-fit:cover;display:block}
.hero-media-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,28,56,.80) 0%,rgba(8,28,56,.48) 44%,rgba(8,28,56,.12) 100%)}
.hero-media-content{position:absolute;left:0;top:0;bottom:0;display:flex;align-items:center;max-width:760px;padding:64px;color:#fff}
.hero-media-content .accent-chip{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.18)}
.hero-title{font-size:clamp(2.8rem,5vw,4.9rem);line-height:.98;color:#fff;text-shadow:0 10px 24px rgba(0,0,0,.16)}
.hero-subtitle{max-width:620px;color:rgba(255,255,255,.88);font-size:1.08rem}
.hero-stat-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:1.7rem}
.hero-stat-pill{padding:.9rem 1rem;border-radius:18px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);color:#fff;font-weight:600}
.hero-indicators{margin-bottom:1.25rem}
.hero-indicators [data-bs-target]{width:11px;height:11px;border-radius:50%;border:0;background:#fff;opacity:.45}
.hero-indicators .active{opacity:1}
.section-title{color:#153868}
.section-copy,.card-copy,.breadcrumb-soft{color:#5a7598}
.info-card,.feature-card,.course-card,.testimonial-card,.contact-card,.video-card{border:1px solid rgba(16,57,117,.08);box-shadow:0 18px 40px rgba(16,57,117,.08)}
.gallery-stack-card{position:relative;padding:1.2rem;background:#fff;border:1px solid rgba(16,57,117,.08);border-radius:28px;box-shadow:0 20px 48px rgba(16,57,117,.10);cursor:pointer;height:100%}
.gallery-stack-card:hover{transform:translateY(-5px);transition:.3s ease}
.stack-visual{position:relative;height:270px;margin-bottom:1.25rem}
.stack-shot{position:absolute;width:82%;height:220px;object-fit:cover;border-radius:22px;box-shadow:0 18px 34px rgba(10,35,80,.18);border:8px solid #fff}
.stack-shot.back{left:10%;top:0;transform:rotate(-8deg)}
.stack-shot.mid{left:6%;top:16px;transform:rotate(5deg)}
.stack-shot.front{left:9%;top:36px;transform:rotate(-2deg)}
.stack-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .85rem;border-radius:999px;background:rgba(15,111,255,.08);color:#0f6fff;font-weight:700;font-size:.82rem}
.gallery-open{display:inline-flex;align-items:center;gap:.45rem;color:#0f6fff;font-weight:700;margin-top:1rem}
.media-modal .modal-content{background:#071a33;border:none;border-radius:0}
.media-modal .btn-close{filter:invert(1) grayscale(1)}
.album-carousel .carousel-item img{height:88vh;object-fit:contain;width:100%;background:#071a33}
.album-caption{position:absolute;left:24px;bottom:24px;background:rgba(7,26,51,.66);color:#fff;padding:12px 16px;border-radius:14px;backdrop-filter:blur(8px)}
.video-thumb{position:relative;border-radius:24px;overflow:hidden;margin-bottom:1.1rem}
.video-thumb img{width:100%;height:230px;object-fit:cover}
.video-thumb::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,35,80,.10),rgba(10,35,80,.52))}
.video-play{position:absolute;inset:auto auto 18px 18px;width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#0f6fff;font-size:1.4rem;z-index:2;box-shadow:0 16px 32px rgba(8,27,56,.22);border:none}
.video-play:hover{transform:scale(1.04);transition:.2s ease}
.video-meta{display:flex;gap:.55rem;flex-wrap:wrap;margin-bottom:.7rem}
.video-meta span{font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:.45rem .65rem;border-radius:999px;background:rgba(15,111,255,.08);color:#0f6fff}
.video-modal .modal-dialog{max-width:980px}
.video-modal .modal-content{background:#071a33;border:none;border-radius:28px;overflow:hidden}
.video-frame-wrap{position:relative;padding-top:56.25%;background:#000}
.video-frame-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:991px){.hero-media-slide,.hero-media-slide img{height:560px;min-height:560px}.hero-media-content{padding:34px 26px 56px;max-width:100%}.stack-visual{height:230px}.stack-shot{height:190px}.album-carousel .carousel-item img{height:76vh}}
@media(max-width:575px){.hero-media-slide,.hero-media-slide img{height:520px;min-height:520px}.hero-title{font-size:2.35rem}.hero-stat-pill{width:100%}.video-thumb img{height:210px}.album-caption{left:14px;right:14px;bottom:14px}}

/* ===== final cleanup: video preview modal ===== */
.video-frame-wrap {
  position: relative;
  padding-top: 0;
  min-height: 560px;
  background: #071a33;
}

.video-preview-shell {
  height: 100%;
}

.video-preview-thumb-wrap {
  position: relative;
  min-height: 560px;
  overflow: hidden;
}

.video-preview-thumb {
  width: 100%;
  height: 560px;
  object-fit: cover;
  display: block;
}

.video-preview-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 1rem;
  padding: 2rem;
  background: linear-gradient(180deg, rgba(7, 26, 51, 0.08) 0%, rgba(7, 26, 51, 0.88) 74%);
}

.video-preview-pill {
  display: inline-flex;
  align-self: flex-start;
  padding: 0.55rem 0.9rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  color: #ffffff;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.video-preview-title {
  max-width: 780px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.5rem, 3vw, 2.4rem);
  line-height: 1.15;
}

.video-preview-copy {
  max-width: 760px;
  margin: 0;
  color: rgba(255, 255, 255, 0.86);
  font-size: 1rem;
}

.video-preview-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
}

@media (max-width: 575px) {
  .video-frame-wrap,
  .video-preview-thumb-wrap {
    min-height: 430px;
  }

  .video-preview-thumb {
    height: 430px;
  }

  .video-preview-overlay {
    padding: 1.25rem;
  }
}
