:root {
  --bg: #0c0c0c;
  --surface: #1a1a1a;
  --accent: #c8a855;
  --text: #f0f0f0;
  --muted: #8a8a8a;
  --border: #2a2a2a;
  --secondary: #1e3a5f;
  --highlight: #e8d5a0;
  --radius: 12px;
  --radius-sm: 8px;
  --transition: 0.3s ease;
  --header-h: 80px;
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }

html { scroll-behavior:smooth; font-size:16px; }

body {
  font-family:'Inter',sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img { max-width:100%; height:auto; display:block; }

a { color:var(--accent); text-decoration:none; transition:color var(--transition); }
a:hover { color:var(--highlight); }

.container { max-width:1200px; margin:0 auto; padding:0 20px; }
.container-narrow { max-width:800px; }

.text-center { text-align:center; }

.section { padding:100px 0; }

.section-label {
  display:inline-block;
  font-size:0.75rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:3px;
  color:var(--accent);
  margin-bottom:16px;
}

.section-title {
  font-family:'Playfair Display',serif;
  font-size:2.5rem;
  font-weight:700;
  line-height:1.2;
  margin-bottom:48px;
  color:var(--text);
}

.site-header {
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:1000;
  background:rgba(12,12,12,0.95);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
  height:var(--header-h);
  transition:background var(--transition);
}

.header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:var(--header-h);
}

.logo { display:flex; align-items:center; }
.logo-svg { height:36px; width:auto; color:var(--text); }

.desktop-nav { display:flex; align-items:center; gap:32px; }
.nav-link {
  font-size:0.9rem;
  font-weight:500;
  color:var(--muted);
  transition:color var(--transition);
  position:relative;
  padding:4px 0;
}
.nav-link::after {
  content:'';
  position:absolute;
  bottom:-2px;
  left:0;
  width:0;
  height:2px;
  background:var(--accent);
  transition:width var(--transition);
}
.nav-link:hover,
.nav-link.active { color:var(--text); }
.nav-link:hover::after,
.nav-link.active::after { width:100%; }

.header-phone {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:0.85rem;
  color:var(--accent);
  font-weight:500;
}
.header-phone:hover { color:var(--highlight); }

.burger {
  display:none;
  background:none;
  border:none;
  color:var(--text);
  cursor:pointer;
  padding:8px;
  min-width:44px;
  min-height:44px;
  align-items:center;
  justify-content:center;
}

.mobile-menu {
  display:none;
  position:fixed;
  inset:0;
  z-index:10000;
  background:var(--bg);
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:24px;
  opacity:0;
  transition:opacity 0.3s ease;
  pointer-events:none;
}
.mobile-menu.open {
  display:flex;
  opacity:1;
  pointer-events:all;
}
.mobile-menu-close {
  position:absolute;
  top:16px;
  right:16px;
  background:none;
  border:none;
  color:var(--text);
  cursor:pointer;
  min-width:44px;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:10001;
}
.mobile-nav { display:flex; flex-direction:column; align-items:center; gap:8px; }
.mobile-nav-link {
  font-size:1.25rem;
  font-weight:500;
  color:var(--muted);
  padding:12px 0;
  width:100%;
  text-align:center;
  transition:color var(--transition);
}
.mobile-nav-link:hover,
.mobile-nav-link.active { color:var(--accent); }
.mobile-nav-phone { color:var(--accent); font-weight:600; }

.hero {
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  padding-top:var(--header-h);
  overflow:hidden;
}
.hero-bg {
  position:absolute;
  inset:0;
  z-index:0;
}
.hero-bg-img {
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0.15;
}
.hero-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(12,12,12,0.95) 0%,rgba(12,12,12,0.7) 100%);
}
.hero-content {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
  padding:80px 20px;
}
.hero-badge {
  display:inline-block;
  font-size:0.75rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:2px;
  color:var(--accent);
  border:1px solid var(--accent);
  padding:6px 16px;
  border-radius:100px;
  margin-bottom:20px;
}
.hero h1 {
  font-family:'Playfair Display',serif;
  font-size:3.2rem;
  font-weight:800;
  line-height:1.15;
  margin-bottom:24px;
}
.hero-sub {
  font-size:1.1rem;
  color:var(--muted);
  line-height:1.8;
  margin-bottom:36px;
  max-width:560px;
}
.hero-ctas { display:flex; gap:16px; flex-wrap:wrap; }
.hero-image {
  position:relative;
  border-radius:var(--radius);
  overflow:hidden;
}
.hero-image img {
  width:100%;
  height:500px;
  object-fit:cover;
  border-radius:var(--radius);
}

.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:'Inter',sans-serif;
  font-size:0.95rem;
  font-weight:600;
  padding:14px 32px;
  border-radius:var(--radius-sm);
  border:none;
  cursor:pointer;
  transition:all var(--transition);
  text-decoration:none;
  min-height:48px;
}
.btn-primary {
  background:var(--accent);
  color:#0c0c0c;
}
.btn-primary:hover { background:var(--highlight); color:#0c0c0c; }
.btn-secondary {
  background:transparent;
  color:var(--text);
  border:1px solid var(--border);
}
.btn-secondary:hover { border-color:var(--accent); color:var(--accent); }
.btn-outline {
  background:transparent;
  color:var(--accent);
  border:1px solid var(--accent);
}
.btn-outline:hover { background:var(--accent); color:#0c0c0c; }
.btn-lg { padding:18px 40px; font-size:1rem; }

.trust-row { padding:40px 0; border-bottom:1px solid var(--border); }
.trust-badges {
  display:flex;
  justify-content:center;
  gap:48px;
  flex-wrap:wrap;
}
.trust-badge {
  display:flex;
  align-items:center;
  gap:12px;
}
.trust-badge strong {
  display:block;
  font-size:1.1rem;
  color:var(--text);
}
.trust-badge span {
  font-size:0.8rem;
  color:var(--muted);
}

.marquee-section {
  padding:20px 0;
  overflow:hidden;
  border-bottom:1px solid var(--border);
  background:var(--surface);
}
.marquee-track { overflow:hidden; position:relative; }
.marquee-content {
  display:flex;
  gap:24px;
  align-items:center;
  white-space:nowrap;
  animation:marquee 30s linear infinite;
}
.marquee-content span {
  font-family:'Playfair Display',serif;
  font-size:1.1rem;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:2px;
}
.marquee-dot {
  display:inline-block;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--accent);
  flex-shrink:0;
}
@keyframes marquee {
  0% { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}

.audience-section { background:var(--bg); }
.audience-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
}
.audience-card {
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:40px;
}
.audience-card h3 {
  font-family:'Playfair Display',serif;
  font-size:1.3rem;
  margin-bottom:24px;
  color:var(--text);
}
.audience-list { list-style:none; display:flex; flex-direction:column; gap:16px; }
.audience-list li {
  display:flex;
  align-items:flex-start;
  gap:12px;
  font-size:0.95rem;
  line-height:1.6;
  color:var(--muted);
}
.audience-list li svg { flex-shrink:0; margin-top:3px; }
.audience-yes { border-color:rgba(200,168,85,0.3); }
.audience-no { border-color:rgba(231,76,60,0.2); }

.learn-section { background:var(--surface); }
.learn-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:32px;
}
.learn-card {
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:32px;
  position:relative;
  overflow:hidden;
  transition:border-color var(--transition);
}
.learn-card:hover { border-color:var(--accent); }
.learn-card-number {
  font-family:'Playfair Display',serif;
  font-size:3rem;
  font-weight:800;
  color:rgba(200,168,85,0.1);
  position:absolute;
  top:16px;
  right:24px;
  line-height:1;
}
.learn-card-icon { margin-bottom:20px; }
.learn-card h3 {
  font-family:'Playfair Display',serif;
  font-size:1.2rem;
  margin-bottom:12px;
  color:var(--text);
}
.learn-card p {
  font-size:0.9rem;
  color:var(--muted);
  line-height:1.7;
  margin-bottom:16px;
}
.learn-card img {
  width:100%;
  height:160px;
  object-fit:cover;
  border-radius:var(--radius-sm);
}

.mentor-section { background:var(--bg); }
.mentor-content {
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:60px;
  align-items:center;
}
.mentor-image {
  position:relative;
}
.mentor-image img {
  width:100%;
  height:550px;
  object-fit:cover;
  border-radius:var(--radius);
}
.mentor-badge {
  position:absolute;
  bottom:24px;
  right:24px;
  background:var(--bg);
  border-radius:50%;
  padding:8px;
  border:2px solid var(--accent);
}
.mentor-quote {
  font-family:'Playfair Display',serif;
  font-size:1.3rem;
  font-style:italic;
  color:var(--accent);
  line-height:1.5;
  margin-bottom:20px;
  padding-left:20px;
  border-left:3px solid var(--accent);
}
.mentor-text p {
  font-size:0.95rem;
  color:var(--muted);
  margin-bottom:16px;
  line-height:1.7;
}
.mentor-stats {
  display:flex;
  gap:40px;
  margin:32px 0;
  padding:24px 0;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.stat { text-align:center; }
.stat-number {
  display:block;
  font-family:'Playfair Display',serif;
  font-size:2.2rem;
  font-weight:700;
  color:var(--accent);
}
.stat-label {
  font-size:0.8rem;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:1px;
}

.process-section { background:var(--surface); }
.process-timeline {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  position:relative;
}
.process-step { position:relative; }
.process-number {
  font-family:'Playfair Display',serif;
  font-size:3rem;
  font-weight:800;
  color:var(--accent);
  margin-bottom:20px;
  line-height:1;
}
.process-connector {
  position:absolute;
  top:30px;
  right:-12px;
  width:24px;
  height:2px;
  background:var(--accent);
  opacity:0.3;
}
.process-step:last-child .process-connector { display:none; }
.process-card {
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  transition:border-color var(--transition);
}
.process-card:hover { border-color:var(--accent); }
.process-card img {
  width:100%;
  height:160px;
  object-fit:cover;
}
.process-card h3 {
  font-family:'Playfair Display',serif;
  font-size:1.1rem;
  padding:20px 20px 8px;
  color:var(--text);
}
.process-card p {
  font-size:0.85rem;
  color:var(--muted);
  padding:0 20px 20px;
  line-height:1.6;
}

.services-preview { background:var(--bg); }
.services-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.service-card {
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  transition:border-color var(--transition),transform var(--transition);
}
.service-card:hover { border-color:var(--accent); transform:translateY(-4px); }
.service-card img {
  width:100%;
  height:200px;
  object-fit:cover;
}
.service-card-content { padding:28px; }
.service-card-number {
  font-family:'Playfair Display',serif;
  font-size:2rem;
  font-weight:800;
  color:rgba(200,168,85,0.15);
  margin-bottom:8px;
}
.service-card h3 {
  font-family:'Playfair Display',serif;
  font-size:1.15rem;
  margin-bottom:12px;
  color:var(--text);
}
.service-card p {
  font-size:0.85rem;
  color:var(--muted);
  line-height:1.6;
  margin-bottom:20px;
}

.reviews-preview { background:var(--surface); }
.reviews-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-bottom:48px;
}
.reviews-full-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.review-card {
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:32px;
  transition:border-color var(--transition);
}
.review-card:hover { border-color:var(--accent); }
.review-stars { display:flex; gap:4px; margin-bottom:16px; }
.review-text {
  font-size:0.9rem;
  color:var(--muted);
  line-height:1.7;
  margin-bottom:20px;
  font-style:italic;
}
.review-author {
  display:flex;
  align-items:center;
  gap:12px;
}
.review-author img {
  width:48px;
  height:48px;
  border-radius:50%;
  object-fit:cover;
}
.review-author strong {
  display:block;
  font-size:0.9rem;
  color:var(--text);
}
.review-author span {
  font-size:0.8rem;
  color:var(--muted);
}

.partners-section { background:var(--bg); padding:60px 0; }
.partners-row {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:48px;
  flex-wrap:wrap;
  margin-top:32px;
}
.partner-logo {
  width:100px;
  height:60px;
  color:var(--muted);
  transition:opacity var(--transition);
  opacity:0.6;
  cursor:default;
}
.partner-logo:hover { opacity:1; }

.faq-preview { background:var(--bg); }
.faq-page-container { max-width:800px; margin:0 auto; }
.faq-list { display:flex; flex-direction:column; gap:12px; margin-bottom:48px; }
.faq-item {
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  overflow:hidden;
  transition:border-color var(--transition);
}
.faq-item[open] { border-color:var(--accent); }
.faq-question {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:20px 24px;
  cursor:pointer;
  font-size:1rem;
  font-weight:500;
  color:var(--text);
  list-style:none;
  min-height:48px;
}
.faq-question::-webkit-details-marker { display:none; }
.faq-question span { flex:1; }
.faq-chevron {
  flex-shrink:0;
  transition:transform var(--transition);
}
.faq-item[open] .faq-chevron { transform:rotate(180deg); }
.faq-answer {
  padding:0 24px 20px;
}
.faq-answer p {
  font-size:0.9rem;
  color:var(--muted);
  line-height:1.7;
}

.cta-section {
  position:relative;
  padding:120px 0;
  text-align:center;
  overflow:hidden;
}
.cta-bg {
  position:absolute;
  inset:0;
  z-index:0;
}
.cta-bg-img {
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0.15;
}
.cta-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(12,12,12,0.95) 0%,rgba(30,58,95,0.85) 100%);
}
.cta-content {
  position:relative;
  z-index:1;
}
.cta-content h2 {
  font-family:'Playfair Display',serif;
  font-size:2.5rem;
  font-weight:700;
  margin-bottom:20px;
}
.cta-content p {
  font-size:1.05rem;
  color:var(--muted);
  max-width:600px;
  margin:0 auto 32px;
  line-height:1.7;
}

.page-hero {
  padding:160px 0 80px;
  text-align:center;
  background:var(--surface);
  border-bottom:1px solid var(--border);
}
.page-hero-sm { padding:140px 0 60px; }
.page-hero h1 {
  font-family:'Playfair Display',serif;
  font-size:3rem;
  font-weight:700;
  margin-bottom:16px;
}
.page-hero-sub {
  font-size:1.05rem;
  color:var(--muted);
  max-width:640px;
  margin:0 auto;
  line-height:1.7;
}

.about-story-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
}
.about-story-images {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.about-story-images img {
  width:100%;
  height:300px;
  object-fit:cover;
  border-radius:var(--radius);
}
.about-story-images img:first-child { height:320px; margin-top:40px; }
.about-story-text h2 { margin-bottom:24px; }
.about-story-text p {
  font-size:0.95rem;
  color:var(--muted);
  line-height:1.8;
  margin-bottom:16px;
}

.about-mission-content {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:60px;
  align-items:start;
}
.about-mission-text h2 { margin-bottom:24px; }
.about-mission-text > p {
  font-size:0.95rem;
  color:var(--muted);
  line-height:1.8;
  margin-bottom:32px;
}
.about-values { display:flex; flex-direction:column; gap:24px; }
.about-value {
  display:flex;
  gap:16px;
  align-items:flex-start;
}
.about-value svg { flex-shrink:0; margin-top:4px; }
.about-value strong {
  display:block;
  font-size:1rem;
  color:var(--text);
  margin-bottom:4px;
}
.about-value p {
  font-size:0.85rem;
  color:var(--muted);
  line-height:1.6;
  margin-bottom:0;
}
.about-mission-image img {
  width:100%;
  height:auto;
  border-radius:var(--radius);
}

.advantages-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.advantage-card {
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:32px;
  text-align:center;
  transition:border-color var(--transition),transform var(--transition);
  position:relative;
}
.advantage-card:hover { border-color:var(--accent); transform:translateY(-4px); }
.advantage-number {
  font-family:'Playfair Display',serif;
  font-size:2.5rem;
  font-weight:800;
  color:rgba(200,168,85,0.12);
  position:absolute;
  top:12px;
  left:20px;
}
.advantage-card svg { margin:0 auto 16px; }
.advantage-card h3 {
  font-family:'Playfair Display',serif;
  font-size:1.1rem;
  margin-bottom:12px;
  color:var(--text);
}
.advantage-card p {
  font-size:0.85rem;
  color:var(--muted);
  line-height:1.6;
}

.team-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.team-card {
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  transition:border-color var(--transition);
}
.team-card:hover { border-color:var(--accent); }
.team-card img {
  width:100%;
  height:280px;
  object-fit:cover;
}
.team-info {
  padding:20px;
  text-align:center;
}
.team-info h3 {
  font-family:'Playfair Display',serif;
  font-size:1rem;
  margin-bottom:4px;
  color:var(--text);
}
.team-info span {
  font-size:0.8rem;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:1px;
}

.filter-bar {
  display:flex;
  gap:12px;
  margin-bottom:40px;
  flex-wrap:wrap;
  justify-content:center;
}
.filter-btn {
  background:var(--surface);
  border:1px solid var(--border);
  color:var(--muted);
  font-family:'Inter',sans-serif;
  font-size:0.9rem;
  font-weight:500;
  padding:10px 24px;
  border-radius:100px;
  cursor:pointer;
  transition:all var(--transition);
  min-height:44px;
}
.filter-btn:hover,
.filter-btn.active {
  background:var(--accent);
  color:#0c0c0c;
  border-color:var(--accent);
}

.services-collection-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.service-collection-card {
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  transition:all var(--transition);
}
.service-collection-card.hidden { display:none; }
.service-collection-card:hover { border-color:var(--accent); transform:translateY(-4px); }
.service-collection-card img {
  width:100%;
  height:200px;
  object-fit:cover;
}
.service-collection-content { padding:24px; }
.service-tag {
  display:inline-block;
  font-size:0.7rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:1px;
  color:var(--accent);
  border:1px solid var(--accent);
  padding:4px 12px;
  border-radius:100px;
  margin-bottom:12px;
}
.service-tag-gold { background:rgba(200,168,85,0.15); }
.service-collection-content h3 {
  font-family:'Playfair Display',serif;
  font-size:1.15rem;
  margin-bottom:12px;
  color:var(--text);
}
.service-collection-content p {
  font-size:0.85rem;
  color:var(--muted);
  line-height:1.6;
  margin-bottom:16px;
}
.service-features {
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:20px;
}
.service-features li {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:0.85rem;
  color:var(--muted);
}

.how-it-works { background:var(--surface); }
.steps-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.step-card {
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:32px;
  text-align:center;
  transition:border-color var(--transition);
}
.step-card:hover { border-color:var(--accent); }
.step-number {
  font-family:'Playfair Display',serif;
  font-size:2.5rem;
  font-weight:800;
  color:var(--accent);
  margin-bottom:16px;
  line-height:1;
}
.step-card h3 {
  font-family:'Playfair Display',serif;
  font-size:1.05rem;
  margin-bottom:12px;
  color:var(--text);
}
.step-card p {
  font-size:0.85rem;
  color:var(--muted);
  line-height:1.6;
}

.contact-section { background:var(--bg); }
.contact-grid {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:60px;
  align-items:start;
}
.contact-form-wrapper { position:relative; }
.contact-form { display:flex; flex-direction:column; gap:20px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-group label {
  font-size:0.85rem;
  font-weight:500;
  color:var(--text);
}
.form-group input,
.form-group textarea {
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:14px 16px;
  font-family:'Inter',sans-serif;
  font-size:1rem;
  color:var(--text);
  transition:border-color var(--transition);
  width:100%;
}
.form-group input:focus,
.form-group textarea:focus {
  outline:none;
  border-color:var(--accent);
}
.form-group textarea { resize:vertical; min-height:120px; }
.form-error {
  font-size:0.8rem;
  color:#e74c3c;
  min-height:18px;
}
.form-checkbox label {
  display:flex;
  align-items:flex-start;
  gap:12px;
  cursor:pointer;
  font-size:0.85rem;
  color:var(--muted);
  line-height:1.5;
}
.form-checkbox input[type="checkbox"] {
  width:20px;
  height:20px;
  flex-shrink:0;
  margin-top:2px;
  accent-color:var(--accent);
}
.form-submit-btn { width:100%; }

.form-success {
  display:none;
  text-align:center;
  padding:60px 20px;
}
.form-success.visible { display:block; }
.form-success svg { margin:0 auto 20px; }
.form-success h3 {
  font-family:'Playfair Display',serif;
  font-size:1.8rem;
  margin-bottom:12px;
  color:var(--accent);
}
.form-success p {
  font-size:1rem;
  color:var(--muted);
}

.contact-info h3 {
  font-family:'Playfair Display',serif;
  font-size:1.5rem;
  margin-bottom:32px;
  color:var(--text);
}
.contact-info-card {
  display:flex;
  gap:16px;
  align-items:flex-start;
  margin-bottom:28px;
  padding-bottom:28px;
  border-bottom:1px solid var(--border);
}
.contact-info-card:last-of-type { border-bottom:none; }
.contact-info-card svg { flex-shrink:0; margin-top:4px; }
.contact-info-card strong {
  display:block;
  font-size:0.9rem;
  color:var(--text);
  margin-bottom:4px;
}
.contact-info-card p {
  font-size:0.85rem;
  color:var(--muted);
  line-height:1.6;
}
.contact-info-card span {
  font-size:0.8rem;
  color:var(--muted);
}
.contact-image {
  width:100%;
  border-radius:var(--radius);
  margin-top:24px;
}

.legal-content h2 {
  font-family:'Playfair Display',serif;
  font-size:1.5rem;
  color:var(--text);
  margin:40px 0 16px;
}
.legal-content h2:first-of-type { margin-top:0; }
.legal-content h3 {
  font-family:'Playfair Display',serif;
  font-size:1.2rem;
  color:var(--text);
  margin:28px 0 12px;
}
.legal-content p {
  font-size:0.9rem;
  color:var(--muted);
  line-height:1.8;
  margin-bottom:12px;
}
.legal-content ul {
  margin:12px 0 12px 24px;
  color:var(--muted);
  font-size:0.9rem;
  line-height:1.8;
}
.legal-content li { margin-bottom:8px; }
.legal-content a { color:var(--accent); }

.cookie-reopen-wrapper {
  margin:24px 0;
  text-align:center;
}

.quickview-overlay {
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.6);
  z-index:99998;
}
.quickview-overlay.open { display:block; }
.quickview-modal {
  display:none;
  position:fixed;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  z-index:99999;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  width:calc(100% - 32px);
  max-width:600px;
  max-height:85vh;
  overflow-y:auto;
  padding:40px;
}
.quickview-modal.open { display:block; }
.quickview-close {
  position:absolute;
  top:12px;
  right:12px;
  background:none;
  border:none;
  color:var(--text);
  cursor:pointer;
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:1;
}
.quickview-content img {
  width:100%;
  height:250px;
  object-fit:cover;
  border-radius:var(--radius-sm);
  margin-bottom:20px;
}
.quickview-content h3 {
  font-family:'Playfair Display',serif;
  font-size:1.4rem;
  margin-bottom:12px;
  color:var(--text);
}
.quickview-content p {
  font-size:0.9rem;
  color:var(--muted);
  line-height:1.7;
  margin-bottom:16px;
}

.site-footer {
  background:var(--surface);
  border-top:1px solid var(--border);
  padding:80px 0 0;
}
.footer-grid {
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:40px;
}
.footer-brand .footer-logo { height:32px; width:auto; color:var(--text); margin-bottom:16px; }
.footer-brand p { font-size:0.85rem; color:var(--muted); line-height:1.6; }
.footer-col h4 {
  font-family:'Playfair Display',serif;
  font-size:1rem;
  margin-bottom:20px;
  color:var(--text);
}
.footer-col ul { list-style:none; }
.footer-col li { margin-bottom:8px; }
.footer-col a {
  font-size:0.85rem;
  color:var(--muted);
  transition:color var(--transition);
}
.footer-col a:hover { color:var(--accent); }
.footer-contact li {
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-bottom:12px;
}
.footer-contact svg { flex-shrink:0; margin-top:3px; }
.footer-contact span,
.footer-contact a {
  font-size:0.85rem;
  color:var(--muted);
}
.footer-bottom {
  border-top:1px solid var(--border);
  margin-top:60px;
  padding:24px 0;
  text-align:center;
}
.footer-bottom p { font-size:0.8rem; color:var(--muted); }

.back-to-top {
  position:fixed;
  bottom:24px;
  right:24px;
  width:48px;
  height:48px;
  background:var(--accent);
  color:#0c0c0c;
  border:none;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:999;
  opacity:0;
  visibility:hidden;
  transition:all var(--transition);
}
.back-to-top.visible { opacity:1; visibility:visible; }
.back-to-top:hover { background:var(--highlight); transform:translateY(-3px); }

.cookie-banner {
  display:none;
  position:fixed;
  bottom:0;
  left:0;
  width:100%;
  z-index:99999;
  background:var(--surface);
  border-top:1px solid var(--border);
  padding:24px;
}
.cookie-banner.visible { display:block; }
.cookie-banner-inner {
  max-width:1200px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.cookie-banner-text strong {
  display:block;
  font-size:1rem;
  color:var(--text);
  margin-bottom:6px;
}
.cookie-banner-text p {
  font-size:0.85rem;
  color:var(--muted);
  line-height:1.5;
}
.cookie-banner-actions {
  display:flex;
  gap:12px;
  flex-shrink:0;
}
.cookie-btn {
  font-size:0.85rem;
  padding:12px 24px;
  min-height:48px;
  min-width:100px;
  border-radius:var(--radius-sm);
  font-weight:600;
  cursor:pointer;
}
.cookie-btn-accept {
  background:var(--accent);
  color:#0c0c0c;
  border:1px solid var(--accent);
}
.cookie-btn-accept:hover { background:var(--highlight); }
.cookie-btn-settings {
  background:transparent;
  color:var(--text);
  border:1px solid var(--border);
}
.cookie-btn-settings:hover { border-color:var(--accent); color:var(--accent); }
.cookie-btn-reject {
  background:transparent;
  color:var(--text);
  border:1px solid var(--border);
}
.cookie-btn-reject:hover { border-color:var(--accent); color:var(--accent); }

.cookie-modal-overlay {
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.6);
  z-index:99999;
}
.cookie-modal-overlay.visible { display:block; }
.cookie-modal {
  display:none;
  position:fixed;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  z-index:100000;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  width:calc(100% - 32px);
  max-width:500px;
  max-height:80vh;
  overflow-y:auto;
  padding:32px;
}
.cookie-modal.visible { display:block; }
.cookie-modal h3 {
  font-family:'Playfair Display',serif;
  font-size:1.3rem;
  margin-bottom:12px;
  color:var(--text);
  padding-right:40px;
}
.cookie-modal > p {
  font-size:0.85rem;
  color:var(--muted);
  line-height:1.6;
  margin-bottom:24px;
}
.cookie-modal-close {
  position:absolute;
  top:12px;
  right:12px;
  background:none;
  border:none;
  color:var(--text);
  cursor:pointer;
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:1;
}
.cookie-options { display:flex; flex-direction:column; gap:16px; margin-bottom:24px; }
.cookie-option {
  display:flex;
  align-items:flex-start;
  gap:12px;
  cursor:pointer;
  padding:16px;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
}
.cookie-option input[type="checkbox"] {
  width:20px;
  height:20px;
  flex-shrink:0;
  margin-top:2px;
  accent-color:var(--accent);
}
.cookie-option strong {
  display:block;
  font-size:0.9rem;
  color:var(--text);
  margin-bottom:4px;
}
.cookie-option span {
  font-size:0.8rem;
  color:var(--muted);
  line-height:1.5;
}
.cookie-save-btn { width:100%; }

.animate-fade-up {
  opacity:0;
  transform:translateY(30px);
  transition:opacity 0.6s ease,transform 0.6s ease;
}
.animate-fade-up.in-view {
  opacity:1;
  transform:translateY(0);
}

@media (max-width:1024px) {
  .hero-content { grid-template-columns:1fr; gap:40px; }
  .hero-image { display:none; }
  .hero h1 { font-size:2.5rem; }
  .section-title { font-size:2rem; }
  .learn-grid { grid-template-columns:repeat(2,1fr); }
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .services-collection-grid { grid-template-columns:repeat(2,1fr); }
  .reviews-grid { grid-template-columns:repeat(2,1fr); }
  .reviews-full-grid { grid-template-columns:repeat(2,1fr); }
  .process-timeline { grid-template-columns:repeat(2,1fr); }
  .process-connector { display:none; }
  .advantages-grid { grid-template-columns:repeat(2,1fr); }
  .team-grid { grid-template-columns:repeat(2,1fr); }
  .steps-grid { grid-template-columns:repeat(2,1fr); }
  .mentor-content { grid-template-columns:1fr; }
  .mentor-image img { height:400px; }
  .about-story-grid { grid-template-columns:1fr; }
  .about-mission-content { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:768px) {
  :root { --header-h:64px; }

  .desktop-nav { display:none; }
  .header-phone span { display:none; }
  .header-phone { min-width:44px; min-height:44px; justify-content:center; }
  .burger { display:flex; }

  .hero { min-height:auto; padding:calc(var(--header-h) + 40px) 0 60px; }
  .hero-content { padding:40px 16px; }
  .hero h1 { font-size:1.8rem; }
  .hero-sub { font-size:0.95rem; }
  .hero-ctas { flex-direction:column; }
  .hero-ctas .btn { width:100%; }

  .section { padding:60px 0; }
  .section-title { font-size:1.6rem; margin-bottom:32px; }
  .container { padding:0 16px; }

  .trust-badges { gap:24px; }
  .trust-badge { flex:1 1 calc(50% - 12px); justify-content:center; }

  .audience-grid { grid-template-columns:1fr; }
  .audience-card { padding:28px; }

  .learn-grid { grid-template-columns:1fr; }
  .services-grid { grid-template-columns:1fr; }
  .services-collection-grid { grid-template-columns:1fr; }
  .reviews-grid { grid-template-columns:1fr; }
  .reviews-full-grid { grid-template-columns:1fr; }
  .process-timeline { grid-template-columns:1fr; }
  .advantages-grid { grid-template-columns:1fr; }
  .team-grid { grid-template-columns:repeat(2,1fr); }
  .steps-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }

  .mentor-content { gap:32px; }
  .mentor-image img { height:350px; }
  .mentor-stats { gap:20px; flex-wrap:wrap; }
  .stat { flex:1; min-width:80px; }
  .stat-number { font-size:1.8rem; }

  .contact-grid { grid-template-columns:1fr; gap:40px; }
  .form-row { grid-template-columns:1fr; }

  .page-hero { padding:120px 0 50px; }
  .page-hero h1 { font-size:2rem; }
  .page-hero-sm { padding:110px 0 40px; }

  .cta-section { padding:80px 0; }
  .cta-content h2 { font-size:1.8rem; }

  .about-story-images { grid-template-columns:1fr; }
  .about-story-images img:first-child { margin-top:0; height:260px; }
  .about-story-images img { height:260px; }

  .partners-row { gap:24px; }
  .partner-logo { width:80px; height:48px; }

  .cookie-banner-inner { flex-direction:column; align-items:stretch; }
  .cookie-banner-actions { flex-direction:column; gap:8px; }
  .cookie-btn { width:100%; min-height:48px; font-size:0.9rem; }

  .cookie-modal { padding:24px; width:calc(100vw - 32px); }

  .quickview-modal { padding:24px; }
  .quickview-content img { height:180px; }

  .btn { width:100%; }
  .btn-outline { width:auto; }

  .filter-bar { gap:8px; }
  .filter-btn { padding:8px 16px; font-size:0.8rem; }
}

@media (max-width:360px) {
  .hero h1 { font-size:1.6rem; }
  .section-title { font-size:1.4rem; }
  .page-hero h1 { font-size:1.7rem; }
  .team-grid { grid-template-columns:1fr; }
  .trust-badges { flex-direction:column; align-items:center; }
}