
      
    


      
     


      {} *{} {}
     


      #IE-warning {
        display: none;
        position: fixed;
        width: 100%;
        height: 100%;
        z-index: 9999;
        background: white;
      }
      .IE-warning-message {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        text-align: center;
      }
    



 :root { --ink: #1a1a1a; --ink-soft: #1a1a1a; --parchment: #F5F1E8; --warm-white: #FAF7F2; --accent: #4C1D95; --accent-light: #5e2d82; --accent-glow: rgba(76, 29, 149, 0.15); --copper: #B45309; --copper-muted: #c47024; --copper-bright: #d4820a; --slate: #4a4a4a; --slate-light: #6B7280; --border: #d4cfc4; --section-dark: #1a1a1a; --section-alt: #F5F1E8; --purple-soft: #6b3a8a; } *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; } html { scroll-behavior: smooth; } body { font-family: 'Source Sans 3', 'Georgia', serif; color: var(--ink); background: var(--warm-white); line-height: 1.7; font-weight: 400; font-size: 16px; -webkit-font-smoothing: antialiased; } h1, h2, h3, h4 { font-family: 'Cormorant Garamond', 'Georgia', serif; font-weight: 600; line-height: 1.2; } /* ── HERO ── */ .hero { background: var(--ink); color: var(--parchment); text-align: center; padding: 100px 24px 80px; position: relative; overflow: hidden; min-height: 90vh; display: flex; align-items: center; justify-content: center; } .hero::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(ellipse at 30% 40%, rgba(74,32,102,0.18) 0%, transparent 55%), radial-gradient(ellipse at 70% 60%, rgba(180,83,9,0.08) 0%, transparent 55%), radial-gradient(ellipse at 50% 100%, rgba(74,32,102,0.1) 0%, transparent 40%); pointer-events: none; } .hero-inner { max-width: 760px; margin: 0 auto; position: relative; z-index: 1; } /* ── SECTIONS ── */ section { padding: 80px 24px; } .section-inner { max-width: 800px; margin: 0 auto; } .section-alt { background: var(--section-alt); } .section-dark { background: var(--section-dark); color: var(--parchment); } .section-label { font-family: 'Source Sans 3', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 3px; text-transform: uppercase; color: var(--copper); text-align: center; margin-bottom: 16px; } .section-dark .section-label { color: var(--copper-muted); } .section-title { font-size: 2.2rem; color: var(--ink); margin-bottom: 16px; text-align: center; } .section-dark .section-title { color: var(--parchment); } .section-subtitle { text-align: center; color: var(--slate); font-size: 1.05rem; margin-bottom: 56px; max-width: 580px; margin-left: auto; margin-right: auto; line-height: 1.7; } .section-dark .section-subtitle { color: #a09a8e; } /* ── PROMISE STRIP ── */ .promise { background: var(--accent); color: #fff; text-align: center; padding: 52px 24px; } .promise-inner { max-width: 700px; margin: 0 auto; } .promise p { font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; font-weight: 500; line-height: 1.6; font-style: italic; } /* ── WHAT AWAITS ── */ .feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; } .feature-item { padding: 8px 0; } .feature-item h3 { font-size: 1.2rem; margin-bottom: 10px; color: var(--ink); } .feature-item p { color: var(--slate); font-size: 0.95rem; line-height: 1.7; } /* ── INSTRUCTORS ── */ .instructor-lead { text-align: center; padding: 40px 24px 48px; margin-bottom: 16px; } .instructor-lead .instructor-photo { width: 180px; height: 180px; border-radius: 50%; background: var(--border); margin: 0 auto 24px; display: block; object-fit: cover; border: 3px solid var(--copper); box-shadow: 0 0 20px rgba(180, 83, 9, 0.2); } .instructor-lead .instructor-name { font-size: 1.6rem; margin-bottom: 4px; } .instructor-lead .instructor-title { font-size: 0.95rem; color: #a09a8e; font-weight: 400; } .instructor-lead .instructor-role { font-size: 0.85rem; color: var(--copper-muted); font-weight: 500; margin-top: 6px; letter-spacing: 0.5px; } .instructor-lead .instructor-location { font-size: 0.88rem; color: #807a70; font-weight: 400; margin-top: 4px; } .instructor-divider { width: 40px; height: 1px; background: #444; margin: 0 auto 40px; } .guest-label { text-align: center; font-size: 11px; font-weight: 600; letter-spacing: 3px; text-transform: uppercase; color: var(--copper-muted); margin-bottom: 32px; } .instructor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; } .instructor-card { text-align: center; padding: 32px 24px; } .instructor-photo { width: 140px; height: 140px; border-radius: 50%; background: #333; margin: 0 auto 20px; display: block; object-fit: cover; border: 2px solid var(--accent); } .instructor-name { font-size: 1.2rem; margin-bottom: 4px; } .instructor-title { font-size: 0.88rem; color: #a09a8e; font-weight: 400; } .instructor-location { font-size: 0.85rem; color: #807a70; font-weight: 400; margin-top: 4px; } .instructor-more { text-align: center; color: #706b62; font-size: 0.9rem; margin-top: 36px; font-style: italic; } /* ── SCHEDULE ── */ .schedule-day { margin-bottom: 48px; } .schedule-day:last-child { margin-bottom: 0; } .day-header { font-size: 1.35rem; color: var(--purple-soft); margin-bottom: 20px; padding-bottom: 10px; border-bottom: 1px solid var(--border); } .schedule-item { display: grid; grid-template-columns: 160px 1fr; gap: 16px; padding: 10px 0; align-items: baseline; } .schedule-time { font-size: 0.92rem; font-weight: 500; color: var(--ink); white-space: nowrap; } .schedule-desc { color: var(--slate); font-size: 0.98rem; } .schedule-desc strong { color: var(--ink); font-weight: 600; } /* ── PRICING ── */ .pricing-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-bottom: 40px; } .pricing-grid.pricing-single { grid-template-columns: 1fr; max-width: 520px; margin-left: auto; margin-right: auto; } .pricing-card { background: var(--warm-white); border: 1px solid var(--border); padding: 40px 28px; text-align: center; position: relative; } .pricing-card.featured { border-color: var(--accent); border-width: 2px; box-shadow: 0 4px 24px rgba(74, 32, 102, 0.08); } .pricing-card h3 { font-size: 1.4rem; margin-bottom: 8px; } .pricing-card .price-desc { color: var(--slate); font-size: 0.9rem; margin-bottom: 24px; line-height: 1.6; } .price-table { width: 100%; border-collapse: collapse; margin-bottom: 20px; } .price-table td { padding: 10px 4px; font-size: 0.92rem; border-bottom: 1px solid var(--border); } .price-table td:first-child { text-align: left; color: var(--slate); } .price-table td:last-child { text-align: right; font-weight: 600; color: var(--ink); } .price-table tr:last-child td { border-bottom: none; } .price-table .early-bird td:last-child { color: var(--accent); font-size: 1.05rem; } .walkin-note { max-width: 560px; margin: 32px auto 0; padding: 20px 24px; background: var(--section-alt); border-left: 3px solid var(--copper); } .walkin-note h4 { font-family: 'Source Sans 3', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--copper-muted); margin-bottom: 8px; } .walkin-note p { font-size: 0.9rem; color: var(--slate); line-height: 1.7; margin: 0; } .walkin-note strong { color: var(--ink); } .pricing-urgency { text-align: center; margin-top: 20px; font-size: 0.88rem; color: var(--accent); font-weight: 600; letter-spacing: 0.5px; } /* ── PULL QUOTE ── */ .pull-quote { text-align: center; padding: 64px 24px; background: var(--section-alt); } .pull-quote blockquote { font-family: 'Cormorant Garamond', serif; font-size: 1.6rem; font-style: italic; font-weight: 500; line-height: 1.5; color: var(--ink); max-width: 600px; margin: 0 auto 16px; } .pull-quote cite { font-family: 'Source Sans 3', sans-serif; font-style: normal; font-size: 0.88rem; color: var(--slate-light); letter-spacing: 0.5px; } /* ── LOGISTICS ── */ .logistics-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; } .logistics-block h3 { font-size: 1.15rem; margin-bottom: 12px; color: var(--ink); } .logistics-block p, .logistics-block address { color: var(--slate); font-size: 0.95rem; font-style: normal; line-height: 1.7; } .logistics-block a { color: var(--accent); text-decoration: none; } .logistics-block a:hover { text-decoration: underline; } /* ── IMAGE PLACEHOLDER ── */ .image-placeholder { background: var(--section-alt); border: 1px dashed var(--border); height: 360px; display: flex; align-items: center; justify-content: center; color: var(--slate); font-size: 0.9rem; margin: 56px 0 0; } /* ── FAQ ── */ .faq-item { padding: 24px 0; border-bottom: 1px solid var(--border); } .faq-item:last-child { border-bottom: none; } .faq-q { font-family: 'Cormorant Garamond', serif; font-size: 1.15rem; font-weight: 600; color: var(--ink); margin-bottom: 8px; } .faq-a { color: var(--slate); font-size: 0.95rem; line-height: 1.7; } .faq-a a { color: var(--purple-soft); text-decoration: none; } .faq-a a:hover { text-decoration: underline; } /* ── CTA BANNER ── */ .cta-banner { background: var(--ink); color: var(--parchment); text-align: center; padding: 80px 24px; position: relative; overflow: hidden; } .cta-banner::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(ellipse at 50% 50%, rgba(74,32,102,0.12) 0%, transparent 60%); pointer-events: none; } .cta-banner-inner { position: relative; z-index: 1; } .cta-banner h2 { font-size: 2.4rem; margin-bottom: 16px; } .cta-banner p { color: #a09a8e; margin-bottom: 12px; font-size: 1.05rem; line-height: 1.6; } .cta-banner .cta-final { margin-top: 36px; display: inline-block; background: var(--copper); color: var(--ink); font-family: 'Source Sans 3', sans-serif; font-size: 15px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; text-decoration: none; padding: 18px 52px; transition: all 0.3s ease; } .cta-banner .cta-final:hover { background: var(--copper-bright); transform: translateY(-1px); box-shadow: 0 8px 30px rgba(180, 83, 9, 0.25); } /* ── REGISTRATION PENDING PLACEHOLDERS ── */ .reg-pending { display: inline-block; border: 1px dashed var(--copper-muted); padding: 18px 36px; font-family: 'Source Sans 3', sans-serif; font-size: 14px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: var(--copper-muted); background: rgba(180, 83, 9, 0.04); } .reg-pending-sub { display: block; margin-top: 8px; font-size: 12px; font-weight: 400; letter-spacing: 0.3px; text-transform: none; color: #8a8478; } .pricing-pending { border-color: var(--accent); color: var(--accent); background: rgba(74, 32, 102, 0.04); } .pricing-pending .reg-pending-sub { color: var(--slate); } .banner-pending { border-color: var(--copper); color: var(--copper-muted); background: rgba(180, 83, 9, 0.06); } /* ── SITE HEADER BAR ── */ .site-header { background: #111; border-bottom: 1px solid rgba(255,255,255,0.06); padding: 12px 24px; } .site-header-inner { max-width: 900px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; } .site-header-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; } .site-header-mon { width: 28px; height: 28px; border-radius: 50%; object-fit: contain; } .site-header-name { font-family: 'Source Sans 3', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 2.5px; text-transform: uppercase; color: #a09a8e; transition: color 0.2s ease; } .site-header-brand:hover .site-header-name { color: var(--copper-muted); } .site-header-links { display: flex; gap: 20px; } .site-header-links a { font-family: 'Source Sans 3', sans-serif; font-size: 11px; font-weight: 400; letter-spacing: 1px; text-transform: uppercase; color: #706b62; text-decoration: none; transition: color 0.2s ease; } .site-header-links a:hover { color: var(--copper-muted); } @media (max-width: 700px) { .site-header-links { display: none; } } /* ── FOOTER ── */ footer { text-align: center; padding: 40px 24px; font-size: 0.85rem; color: var(--slate); border-top: 1px solid var(--border); } footer a { color: var(--accent); text-decoration: none; } /* ── AT A GLANCE ── */ .glance-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px; margin-bottom: 56px; } .glance-card { text-align: center; padding: 32px 20px; background: var(--warm-white); border: 1px solid var(--border); } .glance-day { font-family: 'Source Sans 3', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--copper); margin-bottom: 12px; } .glance-title { font-family: 'Cormorant Garamond', serif; font-size: 1.25rem; font-weight: 600; color: var(--ink); margin-bottom: 10px; } .glance-details { font-size: 0.88rem; color: var(--slate); line-height: 1.65; } .glance-separator { text-align: center; font-size: 12px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--slate-light); margin-bottom: 48px; } /* ── DISCOUNT BADGES ── */ .discount-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 32px; margin-bottom: 8px; } .discount-badge { border: 1px dashed var(--accent); padding: 20px 24px; text-align: center; background: rgba(74, 32, 102, 0.03); } .discount-badge strong { display: block; font-size: 0.95rem; color: var(--accent); margin-bottom: 4px; } .discount-badge span { font-size: 0.85rem; color: var(--slate); line-height: 1.5; } /* ── WELCOME / NEW TO HDR ── */ .welcome-section { text-align: center; padding: 64px 24px; background: var(--section-dark); color: var(--parchment); } .welcome-inner { max-width: 640px; margin: 0 auto; } .welcome-section h2 { font-size: 1.8rem; margin-bottom: 20px; color: var(--parchment); } .welcome-section p { font-size: 1rem; color: #a09a8e; line-height: 1.8; margin-bottom: 16px; } .welcome-section p:last-child { margin-bottom: 0; } .welcome-section strong { color: var(--parchment); font-weight: 600; } /* ── HOTEL CALLOUT ── */ .hotel-callout { border: 1px solid var(--border); padding: 28px; margin-top: 20px; background: var(--warm-white); } .hotel-callout h4 { font-size: 1.05rem; margin-bottom: 8px; color: var(--ink); } .hotel-callout p { font-size: 0.92rem; color: var(--slate); line-height: 1.7; margin-bottom: 6px; } .hotel-callout p:last-child { margin-bottom: 0; } .hotel-callout a { color: var(--accent); text-decoration: none; } .hotel-callout a:hover { text-decoration: underline; } /* ── RESPONSIVE ── */ @media (max-width: 700px) { .hero-image { width: 100%; } .hero-tagline { padding: 20px 16px 8px; } section { padding: 56px 20px; } .feature-grid { grid-template-columns: 1fr; gap: 32px; } .pricing-grid { grid-template-columns: 1fr; gap: 24px; } .instructor-grid { grid-template-columns: 1fr; gap: 20px; } .logistics-grid { grid-template-columns: 1fr; gap: 28px; } .schedule-item { grid-template-columns: 1fr; gap: 4px; } .glance-grid { grid-template-columns: 1fr; gap: 16px; } .discount-grid { grid-template-columns: 1fr; gap: 12px; } .promise p { font-size: 1.25rem; } .hero-nav-bar { gap: 16px; } } 

