
:root{
  --bg:#f3f7fd;
  --bg-2:#ffffff;
  --bg-soft:#eaf2fb;
  --panel:#ffffff;
  --panel-2:#f8fbff;
  --line:rgba(17,43,77,.10);
  --line-strong:rgba(17,43,77,.18);
  --text:#16304f;
  --text-2:#60758f;
  --muted:#7488a0;
  --green:#1f4f82;
  --green-2:#4f83c2;
  --green-3:#102d52;
  --green-soft:#e9f2fc;
  --shadow:0 18px 44px rgba(10,31,58,.09);
  --shadow-sm:0 12px 24px rgba(10,31,58,.07);
--brand-gradient: linear-gradient(135deg, #101011 0%, #1a1719 26%, #6f5861 44%, #a48793 58%, #3f3539 76%, #111112 100%);
--brand-gradient-soft: linear-gradient(135deg, rgba(16,16,17,.16) 0%, rgba(26,23,25,.14) 26%, rgba(111,88,97,.10) 44%, rgba(164,135,147,.12) 58%, rgba(63,53,57,.10) 76%, rgba(17,17,18,.16) 100%);
}

html,
body{
  background:
    radial-gradient(circle at top right, rgba(79,131,194,.10), transparent 24%),
    radial-gradient(circle at left top, rgba(31,79,130,.08), transparent 20%),
    linear-gradient(180deg,#f7fbff 0%,#ffffff 40%,#f4f8fe 100%);
  color:var(--text);
  font-family:"Plus Jakarta Sans", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

a{
  color:inherit;
  text-decoration:none;
}

h1,
h2,
.section-title,
.section-shell__title,
.pro-title,
.watch-title,
.course-detail-v2__title,
.auth-title,
.course-title,
.glass-title,
.team-card__meta h3,
.about-stat-card strong,
.watch-stat-box strong,
.modern-join-btn,
.nav-modern-list .nav-link,
.course-chip,
.course-link-inline{
  background:linear-gradient(135deg,#102d52 0%, #1f4f82 48%, #4f83c2 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  line-height:1.22;
  letter-spacing:-.03em;
  font-weight:600;
}

p,
.section-text,
.section-shell__text,
.hero-copy,
.pro-copy,
.course-desc,
.watch-copy,
.text-light-emphasis,
.small.text-light-emphasis,
.text-light,
.auth-copy,
.glass-copy{
  color:var(--text-2);
  line-height:1.9;
}

.text-light-emphasis,
.small.text-light-emphasis,
.text-light{
  color:var(--text-2) !important;
}

/* NAVBAR */
.navbar,
.site-navbar,
.site-navbar--modern,
header{
  --bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2816,45,82,0.84%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  backdrop-filter:blur(16px);
  background:rgba(255,255,255,.84);
  border-bottom:1px solid rgba(17,43,77,.08) !important;
  box-shadow:0 16px 36px rgba(10,31,58,.06);
}

.navbar-brand,
.brand-logo-link{
  color:var(--text) !important;
}

.navbar .nav-link{
  color:#35557a !important;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.72rem .95rem !important;
  border-radius:16px 8px 16px 8px;
  transition:.18s ease;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus,
.nav-modern-list .nav-link:hover,
.nav-modern-list .nav-link:focus,
.nav-modern-list .show > .nav-link{
  color:var(--green-3) !important;
  background:var(--green-soft);
}

.navbar-toggler{
  border-color:rgba(17,43,77,.14);
  border-radius:0;
}

.nav-categories-dropdown,
.dropdown-menu{
  min-width:280px;
  padding:.65rem;
  background:#fff;
  border:1px solid rgba(17,43,77,.10);
  border-radius:20px 10px 20px 10px;
  box-shadow:0 18px 38px rgba(10,31,58,.10);
}

.dropdown-item{
  padding:.75rem .9rem;
  font-weight:700;
  color:var(--text-2);
  border-radius:14px 8px 14px 8px;
}

.dropdown-item:hover{
  background:var(--green-soft);
  color:var(--green-3);
}

.brand-dot{
  display:inline-block;
  width:10px;
  height:10px;
  background:linear-gradient(180deg,var(--green-2),var(--green-3));
  box-shadow:0 0 0 6px rgba(79,131,194,.14);
  margin-right:.55rem;
  vertical-align:middle;
}

.brand-logo-box{
  display:grid;
  place-items:center;
  width:200px;
  height:73px;
  padding:.55rem 1rem;
  border-radius:22px 10px 22px 10px;
}

.brand-logo{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  display:block;
}

/* SHARED CARDS */
.hero-card,
.glass-card,
.panel-card,
.course-card,
.admin-card,
.sidebar-card,
.form-shell,
.stat-box,
.table-shell,
.watch-hero-card,
.watch-sidebar-card,
.about-hero,
.catalog-hero,
.contact-intro,
.info-card,
.process-card,
.contact-card,
.filter-panel,
.course-detail-v2__hero,
.course-detail-v2__side,
.course-detail-v2__block,
.cta-band,
.form-shell--pro,
.auth-visual,
.auth-point{
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(247,250,255,.99));
  border:1px solid rgba(17,43,77,.09);
  box-shadow:var(--shadow);
  border-radius:0;
}

/* HERO */
.hero-shell{
  padding:4rem 0 2.6rem;
}

.hero-card{
  padding:0;
  overflow:hidden;
  position:relative;
  background:linear-gradient(135deg,#eef5fd 0%,#ffffff 55%,#f3f8fe 100%);
}

.hero-layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  align-items:stretch;
  min-height:560px;
}

.hero-copy-wrap{
  padding:3.2rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
}

.hero-copy-wrap:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:6px;
  background:linear-gradient(180deg,var(--green-2),var(--green-3));
}

.hero-kicker,
.home-kicker,
.landing-hero-v2__tag,
.pro-kicker,
.section-shell__eyebrow,
.home-badge-panel,
.course-detail-v2__label{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.55rem .95rem;
  border:1px solid rgba(79,131,194,.16);
  background:var(--green-soft);
  color:var(--green-3);
  font-size:.84rem;
  font-weight:800;
  margin-bottom:1rem;
  text-transform:uppercase;
  letter-spacing:.03em;
  border-radius:999px;
  -webkit-text-fill-color:initial;
}

.hero-title{
  font-size:clamp(2.2rem,4vw,4rem);
  line-height:1.02;
  font-weight:600;
  letter-spacing:-.04em;
  max-width:760px;
}

.hero-copy{
  max-width:760px;
  font-size:1.08rem;
}

.metric-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}

.metric-pill{
  background:#fff;
  border:1px solid rgba(17,43,77,.08);
  padding:1rem 1.1rem;
  min-width:150px;
  box-shadow:var(--shadow-sm);
  border-radius:0;
}

.metric-pill strong{
  display:block;
  font-size:1.3rem;
  color:var(--green-3);
  -webkit-text-fill-color:initial;
}

.hero-video-zone{
  padding:0;
  display:flex;
  align-items:stretch;
  min-height:100%;
}

.hero-video-shell{
  padding:2rem;
  background:linear-gradient(135deg,rgba(79,131,194,.10),rgba(255,255,255,.97));
  border-left:1px solid rgba(79,131,194,.16);
  width:100%;
  display:flex;
  align-items:stretch;
}

.hero-video-bulge{
  position:relative;
  width:100%;
  display:flex;
  align-items:stretch;
  padding:16px;
  background:linear-gradient(180deg,#ffffff,#f6faff);
  border:1px solid rgba(17,43,77,.12);
  box-shadow:var(--shadow);
}

.hero-video-bulge:before{
  content:"";
  position:absolute;
  inset:16px auto 16px -18px;
  width:18px;
  background:linear-gradient(180deg,rgba(79,131,194,.18),rgba(79,131,194,.04));
}

.hero-video-bulge:after{
  content:"";
  position:absolute;
  inset:24px -14px 24px auto;
  width:14px;
  background:linear-gradient(180deg,rgba(79,131,194,.08),rgba(79,131,194,.02));
}

.hero-video-frame{
  background:#fff;
  border:1px solid rgba(17,43,77,.12);
  padding:0;
  box-shadow:var(--shadow);
  width:100%;
  display:flex;
  align-items:stretch;
}

.hero-video-frame .video-shell{
  flex:1;
  min-height:100%;
}

.video-shell{
  position:relative;
  padding-top:56.25%;
  overflow:hidden;
  border:1px solid rgba(17,43,77,.12);
  background:#eaf2fb;
  border-radius:0;
}

.video-shell iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.hero-stack + .hero-stack{
  margin-top:1.25rem;
}

.hero-stack .hero-layout{
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  min-height:500px;
}

.hero-stack .hero-copy-wrap{
  padding:3rem;
}

.hero-stack .hero-copy-wrap:before{
  left:auto;
  right:0;
}

.hero-stack .hero-video-shell{
  border-left:none;
  border-right:1px solid rgba(79,131,194,.16);
}

.hero-stack .hero-video-bulge:before{
  left:auto;
  right:-18px;
}

.hero-stack .hero-video-bulge:after{
  right:auto;
  left:-14px;
}

/* BUTTONS */
.btn-gold,
.modern-join-btn,
.btn-primary{
  background:linear-gradient(135deg,var(--green-2),var(--green));
  border:none;
  color:#fff !important;
  font-weight:700;
  box-shadow:0 12px 28px rgba(31,79,130,.22);
  border-radius:0;
  -webkit-text-fill-color:#fff;
}

.btn-gold:hover,
.modern-join-btn:hover,
.btn-primary:hover{
  color:#fff !important;
  filter:brightness(.98);
}

.btn-outline-soft,
.btn-outline-light,
.btn-outline-warning{
  border:1px solid rgba(17,43,77,.18) !important;
  color:var(--green-3) !important;
  background:rgba(255,255,255,.82);
  font-weight:700;
  border-radius:0;
  -webkit-text-fill-color:initial;
}

.btn-outline-soft:hover,
.btn-outline-light:hover,
.btn-outline-warning:hover{
  background:var(--green-soft);
  color:var(--green-3) !important;
}

.btn-outline-danger{
  border-color:rgba(173,62,62,.22);
  color:#a13a3a;
  background:#fff;
  border-radius:0;
}

.btn-outline-danger:hover{
  background:#fff3f3;
  color:#8f2f2f;
}

.btn-sm,
.hero-card .btn-lg{
  border-radius:0;
}

.modern-join-btn{
  padding:.95rem 1.35rem !important;
  font-weight:800 !important;
  box-shadow:0 16px 34px rgba(31,79,130,.24);
  position:relative;
  overflow:hidden;
}

.modern-join-btn:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.22),transparent 60%);
  pointer-events:none;
}

/* SECTION / CARDS */
.section-title{
  font-size:1.75rem;
  margin-bottom:.25rem;
  letter-spacing:-.02em;
}

.section-text{
  max-width:740px;
}

.card-image{
  aspect-ratio:16/10;
  width:100%;
  object-fit:cover;
  display:block;
  transition:transform .25s ease;
}

.card-media-link{
  display:block;
  overflow:hidden;
  border-radius:0;
}

.card-media-link:hover .card-image{
  transform:scale(1.025);
}

.glass-card{
  padding:1.3rem;
  height:100%;
  position:relative;
  overflow:hidden;
}

.glass-card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,var(--green-2),var(--green-3));
}

.glass-icon,
.info-card__icon,
.contact-card__icon,
.home-stat-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  background:var(--green-soft);
  border:1px solid rgba(79,131,194,.14);
  color:var(--green-3);
  font-size:1.35rem;
  margin-bottom:1rem;
  box-shadow:var(--shadow-sm);
}

.glass-title{
  font-size:1.12rem;
  margin-bottom:.45rem;
  color:var(--text);
}

.glass-copy{
  line-height:1.75;
  margin-bottom:0;
}

/* COURSES */
.course-card{
  overflow:hidden;
  height:100%;
  transition:transform .2s ease, box-shadow .2s ease;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(17,43,77,.08);
  box-shadow:0 12px 28px rgba(10,31,58,.06);
}

.course-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 48px rgba(10,31,58,.12);
}

.course-card-body{
  padding:1rem 1rem 1.1rem;
  display:flex;
  flex-direction:column;
  gap:.7rem;
  flex:1;
}

.course-row-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
}

.course-chip,
.badge-soft,
.resume-pill,
.success-pill{
  display:inline-flex;
  padding:.36rem .76rem;
  background:var(--green-soft);
  border:1px solid rgba(79,131,194,.13);
  color:var(--green-3);
  font-size:.8rem;
  font-weight:700;
  border-radius:0;
  -webkit-text-fill-color:initial;
}

.course-mini-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  background:#fff;
  border:1px solid rgba(17,43,77,.10);
  color:var(--green);
  box-shadow:var(--shadow-sm);
  flex-shrink:0;
}

.course-title{
  font-size:1rem;
  line-height:1.45;
  margin:0;
  color:var(--text);
}

.course-meta{
  display:flex;
  justify-content:space-between;
  gap:.75rem;
  color:var(--muted);
  font-size:.9rem;
  align-items:center;
  border-top:1px solid rgba(17,43,77,.07);
  padding-top:.75rem;
}

.course-price{
  font-size:1.22rem;
  font-weight:800;
  color:var(--green-3);
  -webkit-text-fill-color:initial;
}

.course-desc{
  font-size:.95rem;
  line-height:1.7;
  margin:0;
}

.course-actions{
  display:flex;
  gap:.6rem;
  justify-content:space-between;
  align-items:center;
  margin-top:auto;
}

.course-link-inline{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  color:var(--green-3);
  font-weight:700;
  font-size:.95rem;
  -webkit-text-fill-color:initial;
}

.course-card--compact{
  border-radius:24px 10px 24px 10px;
  overflow:hidden;
}

.course-card--compact .card-image{
  aspect-ratio:16/7;
  max-height:210px;
  object-fit:cover;
}

.course-card--compact .course-card-body{
  padding:1rem;
  gap:.7rem;
}

.course-card--compact .course-title{
  font-size:1rem;
  line-height:1.45;
  min-height:auto;
}

.course-card--compact .course-desc{
  font-size:.92rem;
  line-height:1.72;
  min-height:auto;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.course-price-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.48rem .78rem;
  background:linear-gradient(135deg,#1f4f82,#102d52);
  color:#fff;
  border-radius:999px;
  font-weight:600;
  font-size:.9rem;
  box-shadow:0 14px 26px rgba(31,79,130,.18);
  white-space:nowrap;
  -webkit-text-fill-color:#fff;
}

.course-meta--soft{
  padding-top:.7rem;
  border-top:1px solid rgba(17,43,77,.07);
  font-size:.86rem;
}

.course-meta--soft .card-rating,
.course-meta--soft span{
  color:var(--text-2) !important;
}

.course-card--compact .course-actions{
  margin-top:.15rem;
}

.course-card--compact .btn-outline-soft{
  padding:.6rem .9rem !important;
}

.course-swiper .swiper-slide{
  padding-bottom:.2rem;
}

.course-card--pro{
  border-radius:28px 10px 28px 10px;
  overflow:hidden;
  border-color:rgba(17,43,77,.10);
}

.course-card--pro .card-media-link,
.course-card--pro .card-image{
  border-radius:0;
}

.category-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}

.category-label{
  display:flex;
  align-items:center;
  gap:.65rem;
  font-weight:800;
  color:var(--green-3);
  margin-bottom:1rem;
  font-size:1.5rem;
  -webkit-text-fill-color:initial;
}

.category-label i{
  font-size:1.4rem;
  color:var(--green-3);
}

.card-rating{
  display:flex;
  align-items:center;
  gap:.35rem;
  font-size:.9rem;
  color:#6b80a0;
}

.card-rating i{
  color:#7ea5d5;
}

.swiper-button-next,
.swiper-button-prev{
  color:var(--green) !important;
  width:44px !important;
  height:44px !important;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(17,43,77,.10);
  box-shadow:var(--shadow-sm);
  border-radius:0;
}

.swiper-button-next:after,
.swiper-button-prev:after{
  font-size:16px !important;
  font-weight:800;
}

/* FORMS */
.form-shell{
  padding:1.5rem;
}

.form-control,
.form-select{
  background:#fff;
  border:1px solid rgba(17,43,77,.12);
  color:var(--text);
  min-height:48px;
  border-radius:0;
}

.form-control:focus,
.form-select:focus{
  background:#fff;
  color:var(--text);
  border-color:rgba(79,131,194,.45);
  box-shadow:0 0 0 .25rem rgba(79,131,194,.12);
}

.form-label{
  color:var(--text);
  font-weight:700;
}

.form-check-label{
  color:var(--text-2);
}

.form-check-input{
  border-radius:0;
}

.note-editor.note-frame,
.note-editor.note-airframe{
  background:#fff;
  color:#000;
  border-radius:0;
  overflow:hidden;
  border:1px solid rgba(17,43,77,.12);
}

.note-editable,
.note-placeholder{
  color:#1d3552 !important;
}

.note-editor .note-toolbar,
.note-editor .note-statusbar{
  background:#f3f7fd;
}

/* AUTH */
.auth-shell{
  padding:3rem 0;
}

.auth-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:1.5rem;
  align-items:start;
}

.auth-visual{
  padding:2rem;
  background:radial-gradient(circle at top right, rgba(255,255,255,.55), transparent 26%),linear-gradient(135deg,#edf4fc 0%,#ffffff 65%);
  border:1px solid rgba(17,43,77,.08);
  min-height:100%;
}

.auth-title{
  font-size:2rem;
  letter-spacing:-.02em;
}

.auth-copy{
  font-size:1rem;
  line-height:1.75;
}

.auth-points{
  display:grid;
  gap:.9rem;
  margin-top:1.2rem;
}

.auth-point{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
  padding:.85rem .95rem;
  background:#fff;
  border:1px solid rgba(17,43,77,.08);
  box-shadow:var(--shadow-sm);
}

.auth-point i{
  color:var(--green);
  font-size:1.15rem;
  margin-top:.1rem;
}

/* LAYOUT */
.member-layout,
.admin-layout{
  display:grid;
  grid-template-columns:300px 1fr;
  gap:1.4rem;
  padding:2rem 0;
}

.sidebar-card{
  padding:1rem;
  position:sticky;
  top:90px;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
}

.side-link{
  display:flex;
  align-items:center;
  gap:.8rem;
  padding:.95rem 1rem;
  color:var(--text-2);
  margin-bottom:.45rem;
  transition:.2s ease;
  background:transparent;
  border:1px solid transparent;
  font-weight:600;
  border-radius:0;
}

.side-link.active,
.side-link:hover{
  background:var(--green-soft);
  border-color:rgba(79,131,194,.18);
  color:var(--green-3);
}

.progress{
  height:12px;
  background:rgba(79,131,194,.10);
  border-radius:0;
}

.progress-bar{
  background:linear-gradient(90deg,var(--green),#79a4da);
  border-radius:0;
}

/* TABLES */
.table-shell{
  overflow:hidden;
  border-radius:0;
}

.table{
  --bs-table-bg:transparent;
  --bs-table-color:var(--text);
  --bs-table-border-color:rgba(17,43,77,.08);
  margin-bottom:0;
}

.table thead th{
  background:#edf4fc;
  color:var(--green-3);
  border-color:rgba(17,43,77,.08);
  font-weight:800;
}

.table td{
  color:var(--text);
  border-color:rgba(17,43,77,.08);
  vertical-align:middle;
}

.table-dark{
  --bs-table-bg:transparent;
  --bs-table-striped-bg:rgba(79,131,194,.02);
  --bs-table-hover-bg:rgba(79,131,194,.04);
  --bs-table-color:var(--text);
  --bs-table-border-color:rgba(17,43,77,.08);
}

/* SMALL COMPONENTS */
.resume-pill,
.success-pill{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.6rem .9rem;
  font-size:.92rem;
  border-radius:0;
}

.stat-box{
  padding:1.15rem;
  background:linear-gradient(180deg,#fff,#f8fbff);
  border-radius:0;
}

.stat-box strong{
  font-size:1.6rem;
  color:var(--green-3);
  display:block;
  -webkit-text-fill-color:initial;
}

.placeholder-upload{
  width:100%;
  aspect-ratio:16/9;
  border:1px dashed rgba(17,43,77,.18);
  display:grid;
  place-items:center;
  color:var(--muted);
  background:rgba(79,131,194,.04);
  border-radius:0;
}

.alert{
  border:none;
  box-shadow:var(--shadow-sm);
  border-radius:0;
}

.list-group-item{
  background:transparent !important;
  color:var(--text) !important;
  border-color:rgba(17,43,77,.08) !important;
}

/* HOME */
.home-shell{
  padding-bottom:1rem;
}

.home-hero{
  background:linear-gradient(180deg,#f7fbff 0%,#ffffff 100%);
  border:1px solid rgba(17,43,77,.08);
  box-shadow:0 18px 45px rgba(10,31,58,.06);
}

.home-hero .hero-layout{
  min-height:620px;
}

.home-hero .hero-title{
  font-size:clamp(2.6rem,5vw,4.8rem);
  line-height:.98;
  max-width:760px;
}

.home-hero .hero-copy{
  max-width:640px;
}

.home-kicker{
  background:#edf4fc;
  border:1px solid rgba(79,131,194,.12);
  color:var(--green-3);
}

.home-mini-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:1.6rem;
  max-width:650px;
}

.home-mini-meta .mini-box{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
  padding:1rem;
  background:#fff;
  border:1px solid rgba(17,43,77,.08);
  box-shadow:var(--shadow-sm);
}

.home-mini-meta .mini-box i{
  font-size:1.2rem;
  color:var(--green);
}

.home-mini-meta .mini-box strong{
  display:block;
  color:var(--text);
}

.home-mini-meta .mini-box span{
  display:block;
  color:var(--text-2);
  font-size:.9rem;
  line-height:1.45;
}

.hero-video-shell.sketch-frame{
  background:linear-gradient(135deg,rgba(79,131,194,.05),rgba(255,255,255,.96));
  padding:2rem;
  border-left:1px solid rgba(79,131,194,.12);
}

.sketch-frame .hero-video-bulge{
  padding:18px;
  background:#fff;
  box-shadow:0 24px 50px rgba(10,31,58,.10);
}

.sketch-frame .hero-video-frame{
  background:#fff;
  border:1px solid rgba(17,43,77,.10);
  padding:12px;
}

.sketch-frame .video-shell{
  aspect-ratio:4/3;
}

.home-badge-panel{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  padding:1rem 1.3rem;
  background:#edf4fc;
  border:1px solid rgba(79,131,194,.10);
  font-weight:800;
  color:var(--green-3);
  max-width:320px;
  margin-bottom:1.2rem;
}

.home-secondary .hero-layout{
  min-height:560px;
  grid-template-columns:.95fr 1.05fr;
}

.home-secondary .hero-copy-wrap{
  padding:2.8rem;
}

.home-secondary .detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  margin-top:1.5rem;
}

.home-secondary .detail-grid .detail-item{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
  padding:.9rem;
  background:#fff;
  border:1px solid rgba(17,43,77,.08);
  box-shadow:var(--shadow-sm);
}

.home-secondary .detail-grid .detail-item i{
  color:var(--green);
  font-size:1.1rem;
  margin-top:.15rem;
}

.home-stats{
  padding:1rem 0 2rem;
}

.home-stat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
}

.home-stat-card{
  display:flex;
  gap:.9rem;
  align-items:flex-start;
  padding:1.15rem;
  background:#fff;
  border:1px solid rgba(17,43,77,.08);
  box-shadow:var(--shadow-sm);
}

.home-stat-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  background:#edf4fc;
  border:1px solid rgba(79,131,194,.12);
  color:var(--green);
  font-size:1.35rem;
  flex-shrink:0;
}

.home-stat-card strong{
  display:block;
  font-size:1.9rem;
  color:var(--green-3);
  line-height:1;
  -webkit-text-fill-color:initial;
}

.home-stat-card span{
  display:block;
  color:var(--text-2);
  margin-top:.35rem;
}

.category-section{
  padding-bottom:3rem;
}

/* LANDING V2 */
.landing-wrap-v2{
  padding:1.25rem 0 0;
}

.landing-hero-v2{
  padding:0 0 2rem;
}

.landing-hero-v2__shell{
  background:linear-gradient(180deg,#f7fbff 0%,#ffffff 100%);
  border:1px solid rgba(17,43,77,.08);
  box-shadow:0 18px 44px rgba(10,31,58,.06);
}

.landing-hero-v2__grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  align-items:center;
}

.landing-hero-v2__copy{
  padding:3rem;
}

.landing-hero-v2__title{
  font-size:clamp(2.3rem,5vw,4.7rem);
  line-height:.98;
  letter-spacing:-.04em;
  margin:1rem 0;
  max-width:760px;
}

.landing-hero-v2__title span{
  color:var(--green-3);
}

.landing-hero-v2__text{
  font-size:1.06rem;
  line-height:1.85;
  max-width:650px;
}

.landing-hero-v2__actions{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  margin-top:1.6rem;
}

.landing-hero-v2__mini{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:1.7rem;
  max-width:720px;
}

.landing-hero-v2__mini-card{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
  padding:1rem;
  background:#fff;
  border:1px solid rgba(17,43,77,.08);
  box-shadow:var(--shadow-sm);
}

.landing-hero-v2__mini-card i{
  color:var(--green);
  font-size:1.2rem;
  margin-top:.1rem;
}

.landing-hero-v2__mini-card strong{
  display:block;
  color:var(--text);
  font-size:.96rem;
}

.landing-hero-v2__mini-card span{
  display:block;
  color:var(--text-2);
  font-size:.88rem;
  line-height:1.45;
}

.landing-hero-v2__media{
  padding:2rem 2rem 2rem 0;
  display:flex;
  align-items:stretch;
  min-height:100%;
}

.landing-hero-v2__frame{
  width:100%;
  background:linear-gradient(135deg,rgba(79,131,194,.05),rgba(255,255,255,.98));
  padding:14px;
  border-left:1px solid rgba(79,131,194,.14);
  box-shadow:var(--shadow);
  display:flex;
  align-items:stretch;
}

.landing-hero-v2__inner{
  background:#fff;
  border:1px solid rgba(17,43,77,.10);
  padding:0;
  box-shadow:0 14px 34px rgba(10,31,58,.08);
  width:100%;
  display:flex;
  align-items:stretch;
  overflow:hidden;
}

.landing-hero-v2__video{
  position:relative;
  aspect-ratio:auto;
  width:100%;
  min-height:560px;
  background:#eaf2fb;
  overflow:hidden;
}

.landing-hero-v2__video iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
}

.landing-hero-v2--alt .landing-hero-v2__grid{
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
}

.landing-hero-v2--alt .landing-hero-v2__media{
  padding:2rem 0 2rem 2rem;
  order:1;
}

.landing-hero-v2--alt .landing-hero-v2__copy{
  order:2;
  padding:2.8rem 3rem;
}

.landing-hero-v2--alt .landing-hero-v2__frame{
  border-left:none;
  border-right:1px solid rgba(79,131,194,.14);
}

.landing-hero-v2__feature-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  margin-top:1.6rem;
}

.landing-hero-v2__feature{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
  padding:1rem;
  background:#fff;
  border:1px solid rgba(17,43,77,.08);
  box-shadow:var(--shadow-sm);
}

.landing-hero-v2__feature i{
  font-size:1.15rem;
  color:var(--green);
  margin-top:.15rem;
}

.landing-hero-v2__feature strong{
  display:block;
  color:var(--text);
}

.landing-hero-v2__feature span{
  display:block;
  color:var(--text-2);
  font-size:.92rem;
  margin-top:.2rem;
}

/* COURSE DETAIL */
.course-detail-v2{
  padding:1.5rem 0 3rem;
}

.course-detail-v2__top{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) 360px;
  gap:1.25rem;
  align-items:start;
}

.course-detail-v2__hero,
.course-detail-v2__side,
.course-detail-v2__block{
  background:#fff;
  border:1px solid rgba(17,43,77,.08);
  box-shadow:0 14px 34px rgba(10,31,58,.05);
}

.course-detail-v2__hero{
  padding:1.3rem;
}

.course-detail-v2__hero-media{
  margin-bottom:1.25rem;
}

.course-detail-v2__hero-media img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  display:block;
}

.course-detail-v2__title{
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1.05;
  letter-spacing:-.04em;
  margin:1rem 0 .9rem;
}

.course-detail-v2__text{
  font-size:1.02rem;
  line-height:1.85;
}

.course-detail-v2__stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.9rem;
  margin-top:1.3rem;
}

.course-detail-v2__stat{
  padding:1rem;
  background:#f8fbff;
  border:1px solid rgba(17,43,77,.08);
}

.course-detail-v2__stat strong{
  display:block;
  font-size:1.25rem;
  color:var(--green-3);
  -webkit-text-fill-color:initial;
}

.course-detail-v2__side{
  padding:1.2rem;
  position:sticky;
  top:92px;
}

.course-detail-v2__price{
  font-size:2rem;
  font-weight:900;
  color:var(--green-3);
  margin:0 0 1rem;
  -webkit-text-fill-color:initial;
}

.course-detail-v2__side-list{
  display:grid;
  gap:.75rem;
  margin:1rem 0 1.25rem;
}

.course-detail-v2__side-item{
  display:flex;
  gap:.7rem;
  align-items:flex-start;
  color:var(--text-2);
}

.course-detail-v2__side-item i{
  color:var(--green);
  margin-top:.12rem;
}

.course-detail-v2__cta{
  display:grid;
  gap:.75rem;
}

.course-detail-v2__bottom{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:1.25rem;
  margin-top:1.25rem;
}

.course-detail-v2__block{
  padding:1.2rem;
}

.course-detail-v2__block h2{
  font-size:1.35rem;
  font-weight:800;
  margin-bottom:.8rem;
  color:var(--text);
  background:none;
  -webkit-text-fill-color:initial;
}

.course-detail-v2__outline{
  display:grid;
  gap:.75rem;
}

.course-detail-v2__lesson{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.9rem 0;
  border-bottom:1px solid rgba(17,43,77,.08);
  color:var(--text-2);
}

.course-detail-v2__lesson:last-child{
  border-bottom:none;
}

/* PRO HERO */
.pro-hero{
  padding:2.2rem 0 1.1rem;
}

.pro-hero__grid{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:2rem;
  padding:2.25rem;
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(235,243,252,.96));
  border:1px solid rgba(17,43,77,.08);
  border-radius:34px 12px 34px 12px;
  box-shadow:0 24px 54px rgba(10,31,58,.08);
  overflow:hidden;
}

.pro-hero__grid:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at top right,rgba(79,131,194,.16),transparent 32%),
    radial-gradient(circle at left bottom,rgba(31,79,130,.10),transparent 28%);
  pointer-events:none;
}

.pro-hero__copy,
.pro-hero__media{
  position:relative;
  z-index:1;
}

.pro-hero__copy{
  padding:1rem .5rem 1rem .75rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.pro-kicker,
.section-shell__eyebrow{
  font-size:.78rem;
}

.pro-title{
  margin:1.1rem 0 1rem;
  font-size:clamp(2.45rem,5vw,4.9rem);
  line-height:1;
  letter-spacing:-.05em;
  max-width:760px;
}

.pro-title span{
  color:var(--green-3);
}

.pro-copy{
  max-width:680px;
  font-size:1.08rem;
  line-height:1.85;
  margin:0 0 1.5rem;
}

.pro-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.85rem;
  margin-bottom:1.2rem;
}

.pro-badges{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
}

.pro-badges span{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.7rem .9rem;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(17,43,77,.10);
  border-radius:16px 8px 16px 8px;
  color:var(--green-3);
  font-weight:700;
  box-shadow:var(--shadow-sm);
  -webkit-text-fill-color:initial;
}

.pro-hero__media{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100%;
  padding:1rem 0 1rem 1rem;
}

.pro-video-frame{
  position:relative;
  width:100%;
  padding:14px;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(236,244,252,.96));
  border:1px solid rgba(17,43,77,.10);
  clip-path:polygon(0 7%, 88% 0, 100% 14%, 100% 100%, 11% 100%, 0 88%);
  box-shadow:0 24px 54px rgba(10,31,58,.10);
  transform:rotate(-1.4deg);
}

.pro-video-frame__accent{
  position:absolute;
  inset:-18px 22px auto auto;
  width:120px;
  height:120px;
  border-radius:24px 10px 24px 10px;
  background:linear-gradient(135deg,rgba(79,131,194,.24),rgba(31,79,130,.07));
}

.pro-video-frame__inner{
  position:relative;
  border:1px solid rgba(17,43,77,.14);
  clip-path:polygon(0 6%, 92% 0, 100% 12%, 100% 100%, 8% 100%, 0 90%);
  overflow:hidden;
  background:#eaf2fb;
  aspect-ratio:16/10;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);
  min-height:340px;
}

.pro-video-frame__inner iframe{
  position:absolute;
  top:50%;
  left:50%;
  width:128%;
  height:128%;
  transform:translate(-50%,-50%);
  display:block;
  background:#eaf2fb;
}

.pro-floating-card{
  position:absolute;
  max-width:260px;
  padding:1rem 1.1rem;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(17,43,77,.10);
  border-radius:18px 8px 18px 8px;
  box-shadow:0 16px 34px rgba(10,31,58,.10);
  backdrop-filter:blur(8px);
}

.pro-floating-card strong{
  display:block;
  font-size:.98rem;
  color:var(--text);
  margin-bottom:.25rem;
  background:none;
  -webkit-text-fill-color:initial;
}

.pro-floating-card span{
  display:block;
  font-size:.88rem;
  line-height:1.55;
  color:var(--text-2);
}

.pro-floating-card--top{
  top:2rem;
  left:-.25rem;
}

.pro-floating-card--bottom{
  right:-.3rem;
  bottom:1.6rem;
}

/* SECTION SHELL */
.section-shell{
  padding:1rem 0 1.25rem;
}

.section-shell--soft{
  background:linear-gradient(180deg,rgba(233,242,252,.55),rgba(255,255,255,.4));
  border-top:1px solid rgba(17,43,77,.05);
  border-bottom:1px solid rgba(17,43,77,.05);
}

.section-shell__head{
  display:flex;
  justify-content:space-between;
  gap:1.25rem;
  align-items:end;
  margin-bottom:1.5rem;
}

.section-shell__title{
  font-size:clamp(1.8rem,3vw,3rem);
  line-height:1.05;
  letter-spacing:-.04em;
  max-width:760px;
}

.section-shell__text{
  max-width:620px;
  line-height:1.8;
  font-size:1rem;
}

.info-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.1rem;
}

.info-card-grid--wide{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.info-card{
  padding:1.35rem;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(246,249,255,.98));
  border:1px solid rgba(17,43,77,.10);
  border-radius:24px 10px 24px 10px;
  box-shadow:var(--shadow-sm);
}

.info-card__icon,
.contact-card__icon{
  border-radius:18px 8px 18px 8px;
}

.info-card h3,
.contact-card h3,
.process-card h3{
  font-size:1.08rem;
  font-weight:800;
  margin-bottom:.55rem;
  color:var(--text);
  background:none;
  -webkit-text-fill-color:initial;
}

.info-card p,
.process-card p,
.contact-card__text{
  margin:0;
  line-height:1.75;
}

.cta-band{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1.5rem;
  padding:1.5rem 1.65rem;
  background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(233,242,252,.96));
  border:1px solid rgba(17,43,77,.10);
  border-radius:28px 12px 28px 12px;
  box-shadow:var(--shadow-sm);
}

.cta-band__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
}

/* ABOUT / CONTACT / PROCESS */
.about-hero,
.catalog-hero,
.contact-intro{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);
  gap:1.2rem;
  padding:1.55rem 1.65rem;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(236,244,252,.98));
  border:1px solid rgba(17,43,77,.10);
  border-radius:28px 10px 28px 10px;
  box-shadow:var(--shadow-sm);
}

.about-hero--modern{
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(236,244,252,.98));
}

.about-hero__stats{
  display:grid;
  gap:1rem;
  align-content:center;
}

.about-stat-card{
  padding:1.2rem;
  background:#fff;
  border:1px solid rgba(17,43,77,.10);
  border-radius:22px 10px 22px 10px;
  box-shadow:var(--shadow-sm);
}

.about-stat-card strong{
  display:block;
  font-size:1.6rem;
  letter-spacing:-.04em;
  color:var(--green-3);
  -webkit-text-fill-color:initial;
}

.about-stat-card span{
  display:block;
  color:var(--text-2);
  margin-top:.2rem;
}

.team-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.2rem;
}

.team-card{
  display:flex;
  gap:1rem;
  align-items:flex-start;
  padding:1.35rem;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  border:1px solid rgba(17,43,77,.10);
  border-radius:26px 10px 26px 10px;
  box-shadow:var(--shadow-sm);
}

.team-card__avatar{
  width:74px;
  height:74px;
  display:grid;
  place-items:center;
  flex-shrink:0;
  background:linear-gradient(135deg,var(--green-2),var(--green-3));
  color:#fff;
  font-size:1.35rem;
  font-weight:800;
  border-radius:22px 10px 22px 10px;
  box-shadow:0 14px 28px rgba(31,79,130,.20);
  -webkit-text-fill-color:#fff;
}

.team-card__meta h3{
  font-size:1.12rem;
  margin-bottom:.15rem;
}

.team-card__role{
  font-size:.9rem;
  font-weight:700;
  color:var(--green-3);
  margin-bottom:.65rem;
}

.team-card__meta p{
  margin:0;
  color:var(--text-2);
  line-height:1.8;
}

.process-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.1rem;
}

.process-card{
  padding:1.4rem;
  background:#fff;
  border:1px solid rgba(17,43,77,.10);
  border-radius:24px 10px 24px 10px;
  box-shadow:var(--shadow-sm);
}

.process-card__step{
  display:inline-flex;
  min-width:48px;
  height:48px;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,var(--green-2),var(--green));
  color:#fff;
  border-radius:16px 8px 16px 8px;
  font-weight:800;
  margin-bottom:1rem;
  box-shadow:0 12px 26px rgba(31,79,130,.18);
}

.filter-panel{
  padding:1.2rem;
  background:#fff;
  border:1px solid rgba(17,43,77,.10);
  border-radius:24px 10px 24px 10px;
  box-shadow:var(--shadow-sm);
}

.contact-layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:1.25rem;
  align-items:start;
}

.contact-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  margin-bottom:1rem;
}

.contact-card{
  padding:1.25rem;
  background:#fff;
  border:1px solid rgba(17,43,77,.10);
  border-radius:24px 10px 24px 10px;
  box-shadow:var(--shadow-sm);
  height:100%;
}

.contact-card a{
  color:var(--green-3);
  font-weight:700;
  word-break:break-word;
}

.contact-map-shell{
  position:relative;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(17,43,77,.10);
  border-radius:28px 12px 28px 12px;
  box-shadow:var(--shadow-sm);
  min-height:340px;
}

.contact-map-shell iframe{
  width:100%;
  height:100%;
  min-height:340px;
  border:0;
  display:block;
}

.form-shell--pro{
  padding:1.65rem;
  border-radius:28px 12px 28px 12px;
}

/* WATCH */
.watch-layout{
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(320px,.94fr);
  gap:1.35rem;
  align-items:start;
}

.watch-hero-card{
  padding:1.55rem;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(233,242,252,.98));
  border:1px solid rgba(17,43,77,.10);
  border-radius:28px 12px 28px 12px;
}

.watch-hero-card__top{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);
  gap:1.25rem;
  align-items:start;
  margin-bottom:1.25rem;
}

.watch-stats-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.9rem;
}

.watch-stat-box{
  padding:1rem;
  background:#fff;
  border:1px solid rgba(17,43,77,.10);
  border-radius:18px 8px 18px 8px;
  box-shadow:var(--shadow-sm);
}

.watch-stat-box span{
  display:block;
  font-size:.82rem;
  font-weight:700;
  color:var(--text-2);
  margin-bottom:.3rem;
  text-transform:uppercase;
  letter-spacing:.03em;
}

.watch-stat-box strong{
  display:block;
  font-size:1.15rem;
  color:var(--green-3);
  -webkit-text-fill-color:initial;
}

.watch-progress{
  height:14px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(79,131,194,.14);
}

.watch-video-shell{
  overflow:hidden;
  border-radius:26px 12px 26px 12px;
}

.video-shell--watch{
  aspect-ratio:16/9;
  border-radius:26px 12px 26px 12px;
  overflow:hidden;
  border:1px solid rgba(17,43,77,.10);
  box-shadow:0 18px 40px rgba(10,31,58,.08);
}

.watch-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}

.watch-guidance-list{
  padding-left:1.1rem;
  display:grid;
  gap:.75rem;
  color:var(--text-2);
  line-height:1.75;
}

.watch-sidebar-card{
  padding:1.2rem;
  border-radius:28px 12px 28px 12px;
}

.watch-lesson-list{
  display:grid;
  gap:.7rem;
}

.watch-lesson-link{
  margin:0 !important;
  border-radius:18px 8px 18px 8px !important;
  background:#fff;
  border:1px solid rgba(17,43,77,.08) !important;
  box-shadow:var(--shadow-sm);
}

.watch-lesson-link.active{
  background:linear-gradient(135deg,rgba(233,242,252,.94),rgba(255,255,255,.98)) !important;
}

.watch-lesson-link__content{
  display:block;
  min-width:0;
}

/* FOOTER */
.footer-shell{
  background:linear-gradient(180deg,#eef4fb,#f8fbff);
  border-top:1px solid rgba(17,43,77,.08);
}

.footer-shell h3,
.footer-shell p,
.footer-link{
  color:var(--text) !important;
}

.footer-link{
  display:inline-block;
  margin-left:1rem;
  color:var(--green-3) !important;
  font-weight:600;
}

.footer-pro{
  background:linear-gradient(180deg,#eef4fb,#f8fbff);
  border-top:1px solid rgba(17,43,77,.08);
}

.footer-pro__grid{
  display:grid;
  grid-template-columns:1.35fr .8fr .85fr .95fr;
  gap:1.25rem;
  align-items:start;
}

.footer-brand-mark{
  display:inline-grid;
  place-items:center;
  width:160px;
  height:60px;
  padding:.75rem 1rem;
  background:#fff;
  border:1px solid rgba(17,43,77,.10);
  border-radius:20px 10px 20px 10px;
  box-shadow:var(--shadow-sm);
  margin-bottom:1rem;
}

.footer-brand-logo{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}

.footer-pro__summary{
  color:var(--text-2);
  line-height:1.8;
  max-width:420px;
  margin-bottom:1rem;
}

.footer-pro__title{
  font-size:1rem;
  font-weight:800;
  margin-bottom:.9rem;
  color:var(--text);
  background:none;
  -webkit-text-fill-color:initial;
}

.footer-pro__links{
  display:grid;
  gap:.6rem;
}

.footer-pro__links a{
  color:var(--green-3);
  font-weight:700;
}

.footer-pro__address{
  color:var(--text-2);
  line-height:1.8;
}

.footer-pro__chips{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
}

.footer-pro__chips span{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.65rem .85rem;
  background:#fff;
  border:1px solid rgba(17,43,77,.10);
  border-radius:16px 8px 16px 8px;
  color:var(--green-3);
  font-weight:700;
}

.footer-pro__bottom{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:center;
  border-top:1px solid rgba(17,43,77,.08);
  margin-top:1.8rem;
  padding-top:1rem;
  color:var(--text-2);
  font-size:.94rem;
}

/* RESPONSIVE */
@media (max-width:1200px){
  .metric-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:1199px){
  .hero-layout,
  .hero-stack .hero-layout,
  .home-hero .hero-layout,
  .home-secondary .hero-layout,
  .landing-hero-v2__grid,
  .landing-hero-v2--alt .landing-hero-v2__grid,
  .course-detail-v2__top,
  .course-detail-v2__bottom,
  .pro-hero__grid,
  .about-hero,
  .catalog-hero,
  .contact-intro,
  .contact-layout,
  .footer-pro__grid,
  .watch-layout,
  .watch-hero-card__top,
  .watch-stats-grid,
  .watch-info-grid,
  .team-grid{
    grid-template-columns:1fr;
    min-height:auto;
  }

  .landing-hero-v2__media,
  .landing-hero-v2--alt .landing-hero-v2__media{
    padding:0 2rem 2rem;
    order:2;
  }

  .landing-hero-v2__copy,
  .landing-hero-v2--alt .landing-hero-v2__copy{
    padding:2rem;
    order:1;
  }

  .landing-hero-v2__frame,
  .landing-hero-v2--alt .landing-hero-v2__frame{
    border-left:none;
    border-right:none;
  }

  .course-detail-v2__side{
    position:static;
  }

  .hero-copy-wrap,
  .hero-stack .hero-copy-wrap{
    padding:2rem;
  }

  .hero-video-zone{
    padding:0 2rem 2rem;
  }

  .hero-video-shell,
  .hero-stack .hero-video-shell{
    padding:0;
    border-left:none;
    border-right:none;
    background:transparent;
  }

  .hero-video-bulge:before,
  .hero-video-bulge:after{
    display:none;
  }

  .pro-floating-card{
    position:static;
    max-width:none;
    margin-top:1rem;
  }

  .pro-hero__media{
    padding-top:0;
  }

  .info-card-grid--wide{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:992px){
  .hero-layout,
  .auth-grid,
  .member-layout,
  .admin-layout{
    grid-template-columns:1fr;
  }

  .sidebar-card{
    position:static;
  }

  .hero-copy-wrap{
    padding:2rem;
  }

  .hero-video-zone{
    padding:0 2rem 2rem;
  }

  .hero-video-frame{
    transform:none;
  }
}

@media (max-width:991px){
  .info-card-grid,
  .process-grid,
  .contact-card-grid{
    grid-template-columns:1fr 1fr;
  }

  .section-shell__head,
  .cta-band,
  .footer-pro__bottom{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media (max-width:767px){
  .hero-copy-wrap,
  .hero-stack .hero-copy-wrap,
  .home-hero .hero-copy-wrap,
  .home-secondary .hero-copy-wrap{
    padding:1.35rem;
  }

  .hero-video-zone{
    padding:0 1.35rem 1.35rem;
  }

  .metric-grid,
  .home-mini-meta,
  .home-secondary .detail-grid,
  .home-stat-grid,
  .landing-hero-v2__mini,
  .landing-hero-v2__feature-grid,
  .course-detail-v2__stats,
  .info-card-grid,
  .info-card-grid--wide,
  .process-grid,
  .contact-card-grid{
    grid-template-columns:1fr;
  }

  .hero-title,
  .home-hero .hero-title,
  .landing-hero-v2__title,
  .pro-title{
    font-size:2.2rem;
  }

  .hero-copy{
    font-size:1rem;
    line-height:1.7;
  }

  .pro-hero{
    padding-top:1.15rem;
  }

  .pro-hero__grid{
    padding:1rem;
    gap:1rem;
    border-radius:24px 10px 24px 10px;
  }

  .pro-hero__media{
    display:block;
    padding:.4rem 0 0;
    overflow:hidden;
  }

  .pro-video-frame{
    width:100%;
    max-width:100%;
    padding:10px;
    clip-path:polygon(0 8%, 90% 0, 100% 16%, 100% 100%, 8% 100%, 0 88%);
    transform:none;
    margin:0;
  }

  .pro-video-frame__accent{
    display:none;
  }

  .pro-video-frame__inner{
    aspect-ratio:16/10;
    height:auto;
    min-height:240px;
    clip-path:polygon(0 6%, 92% 0, 100% 12%, 100% 100%, 8% 100%, 0 90%);
    border-radius:20px 10px 20px 10px;
  }

  .pro-video-frame__inner iframe{
    width:176%;
    height:176%;
    min-height:220px;
  }

  .pro-floating-card{
    display:none;
  }

  .course-card--compact .card-image{
    aspect-ratio:16/8;
    max-height:none;
  }

  .footer-link{
    margin-left:0;
    margin-right:1rem;
    margin-top:.7rem;
  }

  .modern-join-btn,
  .pro-actions .btn,
  .cta-band__actions .btn{
    width:100%;
  }

  .brand-logo-box{
    width:126px;
    height:48px;
    padding:.45rem .8rem;
  }

  .about-hero,
  .catalog-hero,
  .contact-intro,
  .cta-band,
  .form-shell--pro,
  .contact-map-shell,
  .watch-hero-card,
  .watch-sidebar-card{
    border-radius:22px 10px 22px 10px;
  }

  .watch-hero-card{
    padding:1.15rem;
  }

  .watch-sidebar-card{
    padding:1rem;
  }

  .team-card{
    flex-direction:column;
  }

  .team-card__avatar{
    width:68px;
    height:68px;
  }

  .nav-categories-dropdown{
    margin-top:.4rem;
  }
}
/* =========================
   HOVER TEXT READABILITY FIX
   en alta ekle
   ========================= */

/* Gradient text sadece başlıklarda kalsın */
h1,
h2,
.section-title,
.section-shell__title,
.pro-title,
.watch-title,
.course-detail-v2__title,
.auth-title,
.course-title,
.glass-title,
.team-card__meta h3,
.about-stat-card strong,
.watch-stat-box strong{
  background:var(--brand-gradient) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
}

/* Nav linkler ve küçük UI textleri düz renk olsun */
.nav-modern-list .nav-link,
.navbar .nav-link,
.course-chip,
.course-link-inline,
.dropdown-item,
.side-link,
.footer-link{
  background:none !important;
  color:var(--green-3) !important;
  -webkit-text-fill-color:var(--green-3) !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
}

/* Hover durumunda yazı görünür kalsın */
.nav-modern-list .nav-link:hover,
.nav-modern-list .nav-link:focus,
.navbar .nav-link:hover,
.navbar .nav-link:focus,
.dropdown-item:hover,
.side-link:hover,
.side-link.active,
.course-link-inline:hover,
.footer-link:hover{
  color:var(--green-3) !important;
  -webkit-text-fill-color:var(--green-3) !important;
}

/* Hover arka planları */
.nav-modern-list .nav-link:hover,
.nav-modern-list .nav-link:focus,
.navbar .nav-link:hover,
.navbar .nav-link:focus{
  background:var(--green-soft) !important;
}

/* Logout / join / primary butonlar */
.modern-join-btn,
.modern-join-btn:hover,
.modern-join-btn:focus,
.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-gold,
.btn-gold:hover,
.btn-gold:focus{
  background:var(--brand-gradient) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
}

/* Outline buton hover yazıları */
.btn-outline-soft,
.btn-outline-soft:hover,
.btn-outline-soft:focus,
.btn-outline-light,
.btn-outline-light:hover,
.btn-outline-light:focus,
.btn-outline-warning,
.btn-outline-warning:hover,
.btn-outline-warning:focus,
.btn-outline-danger,
.btn-outline-danger:hover,
.btn-outline-danger:focus{
  -webkit-text-fill-color:currentColor !important;
  background-clip:border-box !important;
  -webkit-background-clip:border-box !important;
}

/* Chip ve inline linklerde okunurluk */
.course-chip{
  background:var(--green-soft) !important;
  border:1px solid rgba(79,131,194,.13) !important;
  color:var(--green-3) !important;
  -webkit-text-fill-color:var(--green-3) !important;
}

.course-link-inline{
  color:var(--green-3) !important;
  -webkit-text-fill-color:var(--green-3) !important;
}

.course-link-inline:hover{
  color:#8b5cf6 !important;
  -webkit-text-fill-color:#8b5cf6 !important;
}
.btn-premium {
  --btn-1: #17365f;
  --btn-2: #2f5f98;
  --btn-3: #5f8fd4;
  --btn-text: #ffffff;

  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 12px 22px;
  border: 0;
  border-radius: 16px;
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: var(--btn-text);
  text-decoration: none;
  background: linear-gradient(135deg, var(--btn-1) 0%, var(--btn-2) 55%, var(--btn-3) 100%);
  box-shadow:
    0 10px 22px rgba(23, 54, 95, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.16);
  overflow: hidden;
  cursor: pointer;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    filter .22s ease;
}

.btn-premium::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 15px;
  background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0) 42%);
  pointer-events: none;
}

.btn-premium::after {
  content: "";
  position: absolute;
  top: -55%;
  left: -28%;
  width: 34%;
  height: 210%;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.16) 50%,
    rgba(255,255,255,0) 100%
  );
  transform: rotate(18deg);
  transition: left .6s ease;
  pointer-events: none;
}

.btn-premium:hover {
  transform: translateY(-1px);
  box-shadow:
    0 14px 28px rgba(23, 54, 95, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
  filter: saturate(1.03);
  color: #fff;
  text-decoration: none;
}

.btn-premium:hover::after {
  left: 115%;
}

.btn-premium:active {
  transform: translateY(0);
  box-shadow:
    0 7px 16px rgba(23, 54, 95, 0.16),
    inset 0 2px 5px rgba(0, 0, 0, 0.10);
}

.btn-premium:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 4px rgba(95, 143, 212, 0.18),
    0 10px 22px rgba(23, 54, 95, 0.18);
}

.btn-premium .btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.14);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14);
  font-size: 0.92rem;
  flex: 0 0 auto;
}

.btn-premium .btn-label {
  position: relative;
  z-index: 2;
  white-space: nowrap;
}

.btn-premium.is-full {
  width: 100%;
}

.btn-premium.is-soft {
  background: linear-gradient(135deg, #24446f 0%, #416fae 100%);
}

.btn-premium.is-dark {
  background: linear-gradient(135deg, #12233d 0%, #1b3a64 55%, #315b98 100%);
}

@media (max-width: 767.98px) {
  .btn-premium {
    min-height: 44px;
    padding: 11px 18px;
    border-radius: 14px;
    font-size: 0.93rem;
    gap: 8px;
  }

  .btn-premium::before {
    border-radius: 13px;
  }

  .btn-premium .btn-icon {
    width: 28px;
    height: 28px;
    border-radius: 9px;
    font-size: 0.88rem;
  }
}
.btn-premium2 {
  --btn-1: #8b1848;
  --btn-2: #d92f67;
  --btn-3: #ff5b6b;
  --btn-text: #ffffff;

  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 12px 24px;
  border: 0;
  border-radius: 18px;
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: var(--btn-text);
  text-decoration: none;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.22), transparent 32%),
    linear-gradient(135deg, var(--btn-1) 0%, var(--btn-2) 52%, var(--btn-3) 100%);
  box-shadow:
    0 12px 24px rgba(176, 28, 83, 0.22),
    inset 0 1px 0 rgba(255,255,255,.16);
  overflow: hidden;
  cursor: pointer;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    filter .22s ease;
}

.btn-premium2::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 17px;
  background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0) 46%);
  pointer-events: none;
}

.btn-premium2::after {
  content: "";
  position: absolute;
  inset: auto;
  width: 130px;
  height: 130px;
  right: -42px;
  bottom: -72px;
  border-radius: 50%;
  background: rgba(255,255,255,.10);
  filter: blur(2px);
  pointer-events: none;
}

.btn-premium2:hover {
  transform: translateY(-1px);
  box-shadow:
    0 16px 30px rgba(176, 28, 83, 0.28),
    inset 0 1px 0 rgba(255,255,255,.18);
  filter: saturate(1.04);
  color: #fff;
  text-decoration: none;
}

.btn-premium2:active {
  transform: translateY(0);
  box-shadow:
    0 8px 16px rgba(176, 28, 83, 0.18),
    inset 0 2px 6px rgba(0,0,0,.10);
}

.btn-premium2:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 4px rgba(255, 91, 107, 0.18),
    0 12px 24px rgba(176, 28, 83, 0.22);
}

.btn-premium2 .btn-icon {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 31px;
  height: 31px;
  border-radius: 11px;
  background: rgba(255,255,255,.14);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
  font-size: 0.9rem;
  flex: 0 0 auto;
}

.btn-premium2 .btn-label {
  position: relative;
  z-index: 2;
  white-space: nowrap;
}

.btn-premium2.is-full {
  width: 100%;
}

.btn-premium2.is-soft {
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.22), transparent 32%),
    linear-gradient(135deg, #a41f57 0%, #e0467a 100%);
}

.btn-premium2.is-dark {
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.16), transparent 32%),
    linear-gradient(135deg, #6f1239 0%, #b81f5c 56%, #ff5b6b 100%);
}

@media (max-width: 767.98px) {
  .btn-premium2 {
    min-height: 45px;
    padding: 11px 18px;
    border-radius: 15px;
    font-size: 0.93rem;
    gap: 8px;
  }

  .btn-premium2::before {
    border-radius: 14px;
  }

  .btn-premium2 .btn-icon {
    width: 28px;
    height: 28px;
    border-radius: 10px;
    font-size: 0.85rem;
  }
}

/* Admin DataTables - light theme */
.dataTables_wrapper{
  color: var(--text);
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
  color: var(--text-2);
}

.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_filter label,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
  color: var(--text-2);
  font-weight: 600;
}

.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .form-control,
.dataTables_wrapper .form-select {
  background: #ffffff !important;
  border: 1px solid rgba(17,43,77,.14) !important;
  color: var(--text) !important;
  border-radius: 14px;
  padding: .5rem .85rem;
  min-height: 46px;
  box-shadow: none;
}

.dataTables_wrapper .dataTables_filter input::placeholder {
  color: #8a9ab0;
}

.dataTables_wrapper .dataTables_filter input:focus,
.dataTables_wrapper .dataTables_length select:focus,
.dataTables_wrapper .form-control:focus,
.dataTables_wrapper .form-select:focus {
  outline: none;
  background: #fff !important;
  color: var(--text) !important;
  border-color: rgba(79,131,194,.42) !important;
  box-shadow: 0 0 0 .22rem rgba(79,131,194,.12) !important;
}

.dataTables_wrapper .dataTables_length select option {
  color: var(--text);
  background: #fff;
}

.dataTables_wrapper .page-link {
  background: #ffffff;
  border: 1px solid rgba(17,43,77,.10);
  color: var(--text-2);
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.dataTables_wrapper .page-link:hover {
  background: #eef5fd;
  color: var(--green-3);
  border-color: rgba(79,131,194,.24);
}

.dataTables_wrapper .page-item.active .page-link {
  background: linear-gradient(135deg, #d8e9fb 0%, #bfd8f6 100%);
  border-color: rgba(79,131,194,.28);
  color: var(--green-3);
  font-weight: 800;
}

.dataTables_wrapper .page-item.disabled .page-link {
  background: #f4f7fb;
  color: #9aa8b9;
  border-color: rgba(17,43,77,.08);
}

.dataTables_wrapper table.dataTable.no-footer,
.dataTables_wrapper table.dataTable {
  border-bottom-color: rgba(17,43,77,.08) !important;
}

.dataTables_wrapper .dataTables_processing {
  background: #ffffff;
  color: var(--text);
  border: 1px solid rgba(17,43,77,.10);
  border-radius: 14px;
  box-shadow: var(--shadow-sm);
}

.dataTables_wrapper .dtr-details {
  width: 100%;
}

.dataTables_wrapper .dtr-details li {
  border-bottom: 1px solid rgba(17,43,77,.08);
  padding: .55rem 0;
}

.dataTables_wrapper .dtr-title {
  color: var(--green-3);
  font-weight: 700;
}

.dataTables_wrapper .dtr-data {
  color: var(--text);
}

table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control:before,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control:before {
  background-color: #9fc2ec;
  color: #15314f;
  box-shadow: none;
}

.admin-modal-dark {
  background: linear-gradient(180deg, #101828 0%, #0c1422 100%);
  color: #f6f8fb;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 24px;
}

.admin-detail-card {
  height: 100%;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  padding: 1rem 1.05rem;
}

.admin-detail-label {
  color: rgba(255,255,255,.52);
  font-size: .78rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: .45rem;
}

.admin-detail-value,
.admin-detail-message {
  color: #fff;
  line-height: 1.75;
  word-break: break-word;
}

.admin-detail-message {
  min-height: 120px;
  white-space: normal;
}
