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

:root {
  --black: #090909;
  --black-2: #11100f;
  --ink: #171411;
  --cream: #fffaf5;
  --paper: #f8f1ea;
  --gold: #c8a45c;
  --gold-2: #f0d99b;
  --rose: #d98fa8;
  --rose-2: #f2c9d5;
  --muted: #8e837a;
  --line: rgba(200, 164, 92, .34);
  --shadow: 0 22px 70px rgba(0,0,0,.16);
  --radius: 26px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--cream);
  font-family: 'Montserrat', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; display: block; }

.container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--gold);
  font-size: .73rem;
  letter-spacing: .19em;
  font-weight: 700;
  text-transform: uppercase;
}
.eyebrow::before { content: ''; width: 30px; height: 1px; background: currentColor; }
.section-title {
  margin: 14px 0 14px;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(2.45rem, 5vw, 4.75rem);
  line-height: .95;
  font-weight: 600;
  letter-spacing: -.03em;
}
.section-lead { max-width: 720px; color: #655e57; line-height: 1.75; margin: 0; }

.topbar {
  background: var(--black);
  color: #d8d1ca;
  font-size: .76rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.topbar .container { display: flex; justify-content: space-between; gap: 18px; padding: 10px 0; }
.topbar a:hover { color: var(--rose-2); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(9,9,9,.94);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(200,164,92,.20);
  color: white;
}
.navbar { height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: flex; align-items: center; gap: 12px; min-width: 190px; }
.brand-mark {
  width: 40px; height: 40px; border: 1px solid var(--gold); border-radius: 50%;
  display: grid; place-items: center; color: var(--gold-2); font-size: 1.25rem;
}
.brand-copy strong { font-family: 'Cormorant Garamond', Georgia, serif; display:block; font-size: 1.42rem; line-height: 1; font-weight: 600; }
.brand-copy span { display:block; margin-top: 4px; color: #b6aaa0; font-size: .58rem; letter-spacing: .18em; text-transform: uppercase; }
.desktop-nav { display: flex; align-items: center; gap: 28px; font-size: .82rem; }
.desktop-nav a { color: #ded7d1; transition: .2s; }
.desktop-nav a:hover { color: var(--rose-2); }
.nav-cta { border: 1px solid var(--gold); padding: 11px 17px; border-radius: 999px; color: white !important; }
.menu-toggle { display:none; background:none; border:0; color:white; font-size:1.45rem; }
.mobile-nav { display:none; }

.hero {
  position: relative;
  overflow: hidden;
  min-height: 760px;
  background:
    radial-gradient(circle at 82% 28%, rgba(217,143,168,.17), transparent 34%),
    radial-gradient(circle at 70% 76%, rgba(200,164,92,.14), transparent 31%),
    linear-gradient(125deg, #090909 0%, #11100f 58%, #17110f 100%);
  color: white;
}
.hero::before {
  content:''; position:absolute; inset:0;
  background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 40px 40px; mask-image: linear-gradient(to right, #000 20%, transparent 85%);
}
.hero-inner { position:relative; z-index:2; display:grid; grid-template-columns: 1.05fr .95fr; align-items:center; min-height: 680px; gap:60px; padding: 82px 0 72px; }
.hero h1 {
  margin: 18px 0 22px;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(4.1rem, 7.6vw, 7.7rem);
  line-height: .78;
  font-weight: 600;
  letter-spacing: -.055em;
}
.hero h1 em { display:block; color: var(--rose-2); font-style: italic; font-weight: 500; }
.hero-copy > p { max-width: 660px; color: #d1c8c0; font-size: 1.02rem; line-height: 1.8; }
.hero-actions { display:flex; flex-wrap:wrap; gap:13px; margin-top:32px; }
.btn {
  border:0; border-radius:999px; padding: 15px 22px; font-weight:700; font-size:.82rem; display:inline-flex; align-items:center; justify-content:center; gap:10px; transition: transform .2s, box-shadow .2s, background .2s;
}
.btn:hover { transform: translateY(-2px); }
.btn-gold { background: linear-gradient(135deg, var(--gold-2), var(--gold)); color:#19130b; box-shadow: 0 10px 34px rgba(200,164,92,.18); }
.btn-outline { background:transparent; color:white; border:1px solid rgba(255,255,255,.25); }
.btn-dark { background: var(--black); color:white; }
.btn-rose { background: var(--rose); color:#1c1015; }
.hero-mini { display:flex; flex-wrap:wrap; gap:20px; margin-top:34px; color:#9f958d; font-size:.72rem; }
.hero-mini span { display:flex; align-items:center; gap:8px; }
.hero-mini span::before { content:'◆'; color:var(--gold); font-size:.55rem; }

.hero-art { position:relative; min-height: 520px; display:grid; place-items:center; }
.orbit { position:absolute; border:1px solid rgba(200,164,92,.25); border-radius:50%; }
.orbit.one { width:430px; height:430px; }
.orbit.two { width:330px; height:330px; border-color:rgba(217,143,168,.30); }
.orbit.three { width:220px; height:220px; }
.beauty-card {
  position:relative; width:min(390px, 90%); aspect-ratio: .78;
  background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.02));
  border:1px solid rgba(240,217,155,.32); border-radius: 190px 190px 34px 34px;
  box-shadow: 0 35px 100px rgba(0,0,0,.42); backdrop-filter: blur(8px); overflow:hidden;
}
.beauty-card::before { content:''; position:absolute; inset:14px; border:1px solid rgba(217,143,168,.26); border-radius:inherit; }
.beauty-card .crown { position:absolute; top:72px; left:50%; transform:translateX(-50%); color:var(--gold-2); font-size:3rem; }
.line-face { position:absolute; inset:120px 48px 58px; width:calc(100% - 96px); height:calc(100% - 178px); }
.art-label { position:absolute; bottom:30px; width:100%; text-align:center; color:#d7c6bd; letter-spacing:.18em; text-transform:uppercase; font-size:.62rem; }

.trust-strip { background:#12100f; color:white; border-top:1px solid rgba(200,164,92,.16); }
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.trust-item { padding:24px 26px; border-right:1px solid rgba(255,255,255,.08); }
.trust-item:last-child { border-right:0; }
.trust-item strong { display:block; font-family:'Cormorant Garamond', Georgia, serif; font-size:1.55rem; font-weight:600; color:var(--rose-2); }
.trust-item span { font-size:.7rem; color:#a9a09a; }

.section { padding: 104px 0; }
.section.soft { background: var(--paper); }
.section.dark { background: var(--black); color:white; }
.section.dark .section-lead { color:#bcb3ac; }
.section-head { display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:44px; }

.courses-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.course-card {
  background:white; border:1px solid #eadfd5; border-radius:var(--radius); padding:28px 28px 25px;
  min-height: 330px; display:flex; flex-direction:column; box-shadow:0 10px 34px rgba(52,38,30,.045);
  position:relative; overflow:hidden;
}
.course-card::after { content:''; position:absolute; width:180px; height:180px; right:-110px; top:-110px; border-radius:50%; border:1px solid rgba(217,143,168,.25); }
.course-topline { display:flex; align-items:center; gap:13px; }
.course-icon { width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--gold); border-radius:50%; color:#9a6f1d; }
.course-kicker { color:#8b7160; font-size:.67rem; text-transform:uppercase; letter-spacing:.14em; font-weight:700; }
.course-card h3 { font-family:'Cormorant Garamond', Georgia, serif; font-size:2.2rem; margin:22px 0 10px; font-weight:600; }
.course-card p { color:#6c625a; line-height:1.7; font-size:.88rem; margin:0; max-width:92%; }
.tag-row { display:flex; flex-wrap:wrap; gap:7px; margin-top:20px; }
.tag-row span { background:#fbf3f5; color:#845467; border:1px solid #f0d8e0; padding:6px 9px; border-radius:999px; font-size:.64rem; }
.course-footer { margin-top:auto; padding-top:22px; display:flex; align-items:center; justify-content:space-between; gap:15px; border-top:1px solid #eee5dd; }
.manual-note { font-size:.68rem; color:#93867c; }
.text-button { border:0; background:none; font-weight:700; color:#7c5512; white-space:nowrap; }
.text-button span { margin-left:5px; }

.method-grid { display:grid; grid-template-columns: .85fr 1.15fr; gap:30px; align-items:stretch; }
.method-panel { background:linear-gradient(145deg,#171513,#0c0b0a); border:1px solid rgba(200,164,92,.25); border-radius:32px; padding:38px; min-height:560px; position:relative; overflow:hidden; }
.method-panel::after { content:''; position:absolute; width:330px; height:330px; border-radius:50%; border:1px solid rgba(217,143,168,.20); right:-150px; bottom:-140px; }
.method-panel h3 { font-family:'Cormorant Garamond', Georgia, serif; font-size:3rem; margin:20px 0; font-weight:600; }
.method-panel p { color:#bdb4ad; line-height:1.8; }
.method-list { display:grid; gap:14px; margin-top:28px; }
.method-list div { display:flex; gap:14px; align-items:flex-start; color:#ded7d1; font-size:.85rem; }
.method-list b { color:var(--gold-2); }
.method-list i { width:29px; height:29px; flex:0 0 29px; display:grid; place-items:center; border:1px solid rgba(200,164,92,.4); border-radius:50%; font-style:normal; color:var(--rose-2); }

.steps { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.step { background:#151311; border:1px solid rgba(255,255,255,.08); border-radius:22px; padding:25px; }
.step .n { font-family:'Cormorant Garamond', Georgia, serif; color:var(--gold); font-size:2rem; }
.step h4 { margin:8px 0 8px; font-family:'Cormorant Garamond', Georgia, serif; font-size:1.45rem; }
.step p { margin:0; color:#a9a09a; line-height:1.6; font-size:.77rem; }

.cert-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center; }
.cert-card { background:white; border:1px solid #eadfd5; border-radius:34px; padding:35px; box-shadow:var(--shadow); }
.cert-seal { width:100px; height:100px; border:1px solid var(--gold); border-radius:50%; display:grid; place-items:center; margin-bottom:24px; font-family:'Cormorant Garamond', Georgia, serif; color:#7d5b19; font-size:2.2rem; }
.cert-card h3 { font-family:'Cormorant Garamond', Georgia, serif; font-size:2.4rem; margin:0 0 12px; }
.cert-card p { color:#6c625a; line-height:1.75; }
.checks { display:grid; gap:12px; margin-top:24px; }
.checks span { display:flex; gap:12px; align-items:center; font-size:.83rem; }
.checks span::before { content:'✓'; width:24px; height:24px; display:grid; place-items:center; background:#f7e8ed; color:#9a526c; border-radius:50%; font-weight:700; }

.payment-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:34px; }
.payment-card { background:white; border:1px solid #e9ded5; border-radius:24px; padding:27px; }
.payment-card h4 { font-family:'Cormorant Garamond', Georgia, serif; font-size:2rem; margin:0 0 8px; }
.payment-card p { color:#73675f; line-height:1.6; font-size:.82rem; }
.payment-card .btn { margin-top:12px; }

.enroll-wrap { display:grid; grid-template-columns:.82fr 1.18fr; gap:54px; align-items:start; }
.contact-card { background:#151311; color:white; border:1px solid rgba(200,164,92,.24); border-radius:30px; padding:32px; }
.contact-card h3 { font-family:'Cormorant Garamond', Georgia, serif; font-size:2.5rem; margin:0 0 14px; }
.contact-card p { color:#b7aea7; line-height:1.75; }
.contact-lines { margin-top:26px; display:grid; gap:11px; }
.contact-lines a { color:var(--rose-2); }
.form-card { background:white; border:1px solid #e8ddd4; border-radius:30px; padding:34px; box-shadow:var(--shadow); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field { display:grid; gap:7px; }
.field.full { grid-column:1/-1; }
.field label { font-size:.69rem; text-transform:uppercase; letter-spacing:.10em; font-weight:700; color:#76685e; }
.field input, .field select { width:100%; background:#fbf8f5; border:1px solid #e5d8cf; border-radius:13px; padding:14px 14px; outline:none; color:#2a241f; }
.field input:focus, .field select:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(200,164,92,.10); }
.form-note { margin:16px 0 0; font-size:.65rem; line-height:1.55; color:#9a8d83; }

.faq { display:grid; gap:12px; max-width:860px; }
details { background:white; border:1px solid #e8ded6; border-radius:17px; padding:18px 20px; }
summary { cursor:pointer; font-weight:700; font-size:.87rem; }
details p { color:#6d625b; line-height:1.75; font-size:.82rem; }

.disclaimer { background:#1a1715; color:#b9afa7; padding:20px 0; font-size:.66rem; line-height:1.6; border-top:1px solid rgba(255,255,255,.06); }
.footer { background:#090909; color:white; padding:55px 0 25px; }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:60px; }
.footer h4 { font-family:'Cormorant Garamond', Georgia, serif; font-size:1.55rem; margin:0 0 14px; }
.footer p, .footer a { color:#aaa19a; font-size:.76rem; line-height:1.8; }
.footer a:hover { color:var(--rose-2); }
.footer-bottom { margin-top:42px; padding-top:20px; border-top:1px solid rgba(255,255,255,.08); display:flex; justify-content:space-between; gap:20px; color:#77706b; font-size:.66rem; }

.course-dialog { border:0; border-radius:28px; padding:0; width:min(620px, calc(100% - 30px)); box-shadow:0 30px 120px rgba(0,0,0,.45); }
.course-dialog::backdrop { background:rgba(0,0,0,.7); backdrop-filter:blur(5px); }
.dialog-inner { padding:34px; background:#fffaf5; position:relative; }
.dialog-close { position:absolute; right:18px; top:18px; border:1px solid #e5d8cf; background:white; border-radius:50%; width:38px; height:38px; }
.dialog-inner h3 { font-family:'Cormorant Garamond', Georgia, serif; font-size:3rem; margin:10px 0 12px; }
.dialog-inner p { color:#6b6058; line-height:1.75; }
.dialog-list { display:grid; gap:10px; margin:24px 0; }
.dialog-list div { display:flex; gap:10px; font-size:.82rem; }
.dialog-list div::before { content:'◆'; color:var(--gold); font-size:.6rem; margin-top:4px; }

.reveal { opacity:0; transform:translateY(18px); transition:opacity .55s ease var(--delay,0ms), transform .55s ease var(--delay,0ms); }
.reveal.visible { opacity:1; transform:none; }

@media (max-width: 960px) {
  .desktop-nav { display:none; }
  .menu-toggle { display:block; }
  .mobile-nav { display:none; position:absolute; top:78px; left:0; right:0; background:#0d0c0b; padding:15px 20px 24px; border-top:1px solid rgba(255,255,255,.08); }
  .mobile-nav.open { display:grid; }
  .mobile-nav a { padding:13px 0; border-bottom:1px solid rgba(255,255,255,.07); color:#ddd5ce; }
  .hero-inner { grid-template-columns:1fr; gap:20px; padding-top:65px; }
  .hero-art { min-height:420px; }
  .trust-grid { grid-template-columns:1fr 1fr; }
  .trust-item:nth-child(2) { border-right:0; }
  .method-grid, .cert-grid, .enroll-wrap { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 680px) {
  .container { width:min(100% - 28px, 1180px); }
  .topbar .container { flex-direction:column; gap:4px; }
  .navbar { height:70px; }
  .mobile-nav { top:70px; }
  .hero { min-height:auto; }
  .hero-inner { min-height:0; padding:55px 0 45px; }
  .hero h1 { font-size:clamp(3.8rem, 20vw, 5.6rem); }
  .hero-art { min-height:360px; }
  .beauty-card { width:285px; }
  .orbit.one { width:340px; height:340px; }
  .orbit.two { width:270px; height:270px; }
  .trust-grid { grid-template-columns:1fr; }
  .trust-item { border-right:0; border-bottom:1px solid rgba(255,255,255,.08); }
  .section { padding:76px 0; }
  .section-head { display:block; }
  .courses-grid, .payment-grid, .steps, .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .course-card { min-height:auto; }
  .course-footer { align-items:flex-start; flex-direction:column; }
  .footer-grid { grid-template-columns:1fr; gap:30px; }
  .footer-bottom { flex-direction:column; }
}
