* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}


:root {
   --primary-dark: #0a0a0a;
   --secondary-light: #fafaf8;
   --accent-gold: #c9a961;
   --text-primary: #1a1a1a;
   --text-secondary: #6b6b6b;
   --border-light: #e8e6e3;
}


html {
   font-size: 18px;
   scroll-behavior: smooth;
}


body {
   font-family: 'Cormorant Garamond', serif;
   background: var(--secondary-light);
   color: var(--text-primary);
   line-height: 1.8;
}


h1 {
   font-family: 'Playfair Display', serif;
   font-size: 4rem;
}


h2 {
   font-family: 'Playfair Display', serif;
   font-size: 3rem;
   text-transform: uppercase;
   letter-spacing: 2px;
   margin-bottom: 2rem;
   position: relative;
}


h2::after {
   content: '';
   position: absolute;
   bottom: -10px;
   left: 0;
   width: 80px;
   height: 1px;
   background: var(--accent-gold);
}


h3 {
   font-family: 'Playfair Display', serif;
   font-size: 2.2rem;
}


.cta-button {
   display: inline-block;
   text-decoration: none;
   margin-top: 20px;
   padding: 1rem 3rem;
   background: var(--accent-gold);
   border: none;
   cursor: pointer;
   text-transform: uppercase;
   font-size: 1.1rem;
   transition: 0.3s;
}


.cta-button:hover {
   background: transparent;
   color: var(--accent-gold);
   border: 1px solid var(--accent-gold);
}


.container {
   max-width: 1400px;
   margin: auto;
   padding: 0 3rem;
}


nav {
   position: fixed;
   top: 0;
   width: 100%;
   background: rgba(250, 250, 248, 0.95);
   backdrop-filter: blur(12px);
   border-bottom: 1px solid var(--border-light);
   z-index: 1000;
}


nav .container {
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 1.5rem 3rem;
}


.logo {
   font-family: 'Playfair Display', serif;
   font-size: 1.6rem;
   letter-spacing: 2px;
   background: linear-gradient(135deg, var(--text-primary), var(--accent-gold));
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
}


nav ul {
   display: flex;
   list-style: none;
   gap: 3rem;
}


nav a {
   text-decoration: none;
   font-family: 'Montserrat', sans-serif;
   font-size: 1.1rem;
   text-transform: uppercase;
   color: var(--text-primary);
   transition: 0.3s;
}


nav a:hover {
   color: var(--accent-gold);
}


section {
   min-height: 100vh;
   padding: 140px 0 80px;
}


#home {
   display: flex;
   align-items: center;
   justify-content: center;
   text-align: center;
   background: url('images/hero.jpg') center/cover no-repeat;
   color: white;
}


.home-content {
   max-width: 900px;
}


.tagline {
   color: var(--accent-gold);
   text-transform: uppercase;
   letter-spacing: 3px;
   font-size: 1.4rem;
}


.home-subtitle {
   font-size: 1.2rem;
}


.designers-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
   gap: 3rem;
   margin-top: 3rem;
}


.designer-card {
   background: #fafaf8;
   border: 1px solid var(--border-light);
   overflow: hidden;
   transition: 0.4s ease;
}


.designer-card:hover {
   transform: translateY(-10px);
   border-color: var(--accent-gold);
}


.designer-image {
   width: 100%;
   height: 360px;
   overflow: hidden;
   position: relative;
   background: #fafaf8;
}


.designer-image img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: center 20%;
   display: block;
   transition: transform 0.6s ease;
}


.designer-card:hover .designer-image img {
   transform: scale(1.05);
}


.designer-content {
   padding: 2rem;
}


.designer-name {
   font-size: 1.4rem;
}


.designer-style {
   font-size: 0.75rem;
   letter-spacing: 2px;
   text-transform: uppercase;
   color: var(--accent-gold);
   margin: 0.5rem 0 1rem;
}


.designer-desc {
   color: var(--text-secondary);
}


.tickets-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
   gap: 2rem;
}


.ticket-card {
   background: #fafaf8;
   padding: 2.5rem;
   border: 1px solid var(--border-light);
   text-align: center;
   transition: 0.3s;
}


.ticket-card:hover {
   transform: translateY(-8px);
   border-color: var(--accent-gold);
}


.ticket-card.featured {
   border: 2px solid var(--accent-gold);
   transform: scale(1.05);
}


.ticket-price {
   font-size: 3rem;
   color: var(--accent-gold);
}


.info-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 2rem;
}


.info-block {
   background: #fafaf8;
   padding: 2rem;
   border: 1px solid var(--border-light);
}


.info-block:hover {
   border-color: var(--accent-gold);
}


footer {
   background: var(--primary-dark);
   color: white;
   padding: 4rem 3rem 2rem;
   margin-top: 5rem;
   font-size: 1rem;
}


footer .container {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
   gap: 3rem;
}


footer h4 {
   color: var(--accent-gold);
   text-transform: uppercase;
   font-family: 'Montserrat', sans-serif;
   font-size: 0.9rem;
   margin-bottom: 1rem;
}


footer a {
   color: #aaa;
   text-decoration: none;
   display: block;
   margin-bottom: 0.5rem;
}


footer a:hover {
   color: var(--accent-gold);
}


.footer-bottom {
   text-align: center;
   margin-top: 3rem;
   padding-top: 2rem;
   border-top: 1px solid rgba(201,169,97,0.2);
   color: rgba(255,255,255,0.5);
}


#designers {
   padding: 0;
   min-height: unset;
}


.d-hero {
   background: var(--primary-dark);
   padding: 8rem 3rem 4rem;
   text-align: center;
}


.d-hero-label {
   font-family: 'Montserrat', sans-serif;
   font-size: 0.65rem;
   letter-spacing: 4px;
   text-transform: uppercase;
   color: var(--accent-gold);
   margin-bottom: 1.2rem;
}


.d-hero-title {
   font-family: 'Playfair Display', serif;
   font-size: 3.2rem;
   font-weight: 500;
   color: #fff;
   letter-spacing: 2px;
   text-transform: uppercase;
   line-height: 1.15;
}


.d-hero-rule {
   width: 64px;
   height: 1px;
   background: var(--accent-gold);
   margin: 1.5rem auto;
}


.d-hero-sub {
   font-family: 'Cormorant Garamond', serif;
   font-size: 1.2rem;
   color: rgba(255, 255, 255, 0.5);
   font-weight: 300;
   letter-spacing: 1px;
}


.d-stats {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   border-bottom: 1px solid rgba(201, 169, 97, 0.2);
   background: var(--secondary-light);
}


.d-stat {
   padding: 1.5rem;
   text-align: center;
   border-right: 1px solid rgba(201, 169, 97, 0.2);
}


.d-stat:last-child {
   border-right: none;
}


.d-stat-num {
   font-family: 'Playfair Display', serif;
   font-size: 1.8rem;
   font-weight: 500;
   color: var(--text-primary);
   line-height: 1;
}


.d-stat-label {
   font-family: 'Montserrat', sans-serif;
   font-size: 0.6rem;
   letter-spacing: 3px;
   text-transform: uppercase;
   color: var(--accent-gold);
   margin-top: 0.4rem;
}


.d-body {
   padding: 3rem 3rem 5rem;
}


.d-section-label {
   font-family: 'Montserrat', sans-serif;
   font-size: 0.62rem;
   letter-spacing: 3px;
   text-transform: uppercase;
   color: var(--text-secondary);
   margin-bottom: 2rem;
}


.d-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 1px;
   background: rgba(201, 169, 97, 0.12);
}


.d-card {
   background: var(--secondary-light);
   overflow: hidden;
   transition: background 0.3s;
}


.d-card:hover {
   background: #fff;
}


.d-card-img {
   width: 100%;
   overflow: hidden;
   position: relative;
   background: #1a1a1a;
}


.d-card-img img {
   width: 100%;
   height: auto;
   display: block;
   transition: transform 0.6s ease;
}


.d-card:hover .d-card-img img {
   transform: scale(1.04);
}


.d-card-placeholder {
   width: 100%;
   height: 300px;
   background: #1a1a1a;
   display: flex;
   align-items: center;
   justify-content: center;
}


.d-card-initials {
   font-family: 'Playfair Display', serif;
   font-size: 2.5rem;
   font-weight: 400;
   color: rgba(201, 169, 97, 0.35);
   letter-spacing: 4px;
}


.d-card-body {
   padding: 1.5rem 1.5rem 1.8rem;
}


.d-card-num {
   font-family: 'Montserrat', sans-serif;
   font-size: 0.58rem;
   letter-spacing: 3px;
   text-transform: uppercase;
   color: var(--accent-gold);
   margin-bottom: 0.6rem;
}


.d-card-name {
   font-family: 'Playfair Display', serif;
   font-size: 1.25rem;
   font-weight: 500;
   color: var(--text-primary);
   margin-bottom: 0.3rem;
}


.d-card-style {
   font-family: 'Montserrat', sans-serif;
   font-size: 0.6rem;
   letter-spacing: 2px;
   text-transform: uppercase;
   color: var(--text-secondary);
   margin-bottom: 0.9rem;
}


.d-card-desc {
   font-family: 'Cormorant Garamond', serif;
   font-size: 1.05rem;
   color: var(--text-secondary);
   line-height: 1.8;
}


.d-card-footer {
   display: flex;
   align-items: center;
   justify-content: space-between;
   margin-top: 1.2rem;
   padding-top: 1rem;
   border-top: 1px solid rgba(201, 169, 97, 0.2);
}


.d-card-showing {
   font-family: 'Montserrat', sans-serif;
   font-size: 0.58rem;
   letter-spacing: 2px;
   text-transform: uppercase;
   color: var(--text-secondary);
}


.d-card-showing span {
   color: var(--accent-gold);
}


.d-card-arrow {
   font-family: 'Montserrat', sans-serif;
   font-size: 0.7rem;
   letter-spacing: 1px;
   color: var(--text-primary);
   text-decoration: none;
   transition: color 0.2s;
}


.d-card:hover .d-card-arrow {
   color: var(--accent-gold);
}


#info {
   padding: 0;
   min-height: unset;
}


.ei-hero {
   background: var(--primary-dark);
   padding: 8rem 3rem 4rem;
   text-align: center;
}


.ei-hero-label {
   font-family: 'Montserrat', sans-serif;
   font-size: 0.65rem;
   letter-spacing: 4px;
   text-transform: uppercase;
   color: var(--accent-gold);
   margin-bottom: 1.2rem;
}


.ei-hero-title {
   font-family: 'Playfair Display', serif;
   font-size: 3.2rem;
   font-weight: 500;
   color: #fff;
   letter-spacing: 2px;
   text-transform: uppercase;
   line-height: 1.15;
}


.ei-hero-rule {
   width: 64px;
   height: 1px;
   background: var(--accent-gold);
   margin: 1.5rem auto;
}


.ei-hero-sub {
   font-family: 'Cormorant Garamond', serif;
   font-size: 1.2rem;
   color: rgba(255, 255, 255, 0.5);
   font-weight: 300;
   letter-spacing: 1px;
}


.ei-facts {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   border-bottom: 1px solid rgba(201, 169, 97, 0.2);
   background: var(--secondary-light);
}


.ei-fact {
   padding: 1.8rem 1.2rem;
   text-align: center;
   border-right: 1px solid rgba(201, 169, 97, 0.2);
}


.ei-fact:last-child {
   border-right: none;
}


.ei-fact-label {
   font-family: 'Montserrat', sans-serif;
   font-size: 0.6rem;
   letter-spacing: 3px;
   text-transform: uppercase;
   color: var(--accent-gold);
   margin-bottom: 0.5rem;
}


.ei-fact-value {
   font-family: 'Playfair Display', serif;
   font-size: 1.05rem;
   font-weight: 500;
   color: var(--text-primary);
   line-height: 1.4;
}


.ei-body {
   padding: 3rem 3rem 5rem;
}


.ei-section-label {
   font-family: 'Montserrat', sans-serif;
   font-size: 0.62rem;
   letter-spacing: 3px;
   text-transform: uppercase;
   color: var(--text-secondary);
   margin: 2.8rem 0 1.2rem;
}


.ei-section-label:first-child {
   margin-top: 0;
}


.ei-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 1px;
   background: rgba(201, 169, 97, 0.15);
   border: 1px solid rgba(201, 169, 97, 0.15);
}


.ei-block {
   background: var(--secondary-light);
   padding: 2rem 1.8rem;
   border: none;
}


.ei-block-title {
   font-family: 'Playfair Display', serif;
   font-size: 1.15rem;
   font-weight: 500;
   color: var(--text-primary);
   margin-bottom: 1rem;
}


.ei-block p {
   font-family: 'Cormorant Garamond', serif;
   font-size: 1.1rem;
   color: var(--text-secondary);
   line-height: 1.85;
   margin-bottom: 0.5rem;
}


.ei-block strong {
   color: var(--text-primary);
   font-weight: 600;
}


.ei-list {
   list-style: none;
   padding: 0;
   margin: 0;
}


.ei-list li {
   display: flex;
   align-items: flex-start;
   gap: 0.9rem;
   padding: 0.55rem 0;
   border-bottom: 1px solid rgba(201, 169, 97, 0.15);
   font-family: 'Cormorant Garamond', serif;
   font-size: 1.1rem;
   color: var(--text-secondary);
   line-height: 1.6;
}


.ei-list li:last-child {
   border-bottom: none;
}


.ei-list li::before {
   content: '—';
   color: var(--accent-gold);
   flex-shrink: 0;
}


.ei-contact-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 1.4rem 1rem;
}


.ei-contact-label {
   font-family: 'Montserrat', sans-serif;
   font-size: 0.6rem;
   letter-spacing: 2.5px;
   text-transform: uppercase;
   color: var(--accent-gold);
   margin-bottom: 0.3rem;
}


.ei-contact-value {
   font-family: 'Cormorant Garamond', serif;
   font-size: 1.05rem;
   color: var(--text-secondary);
   line-height: 1.5;
}


.tickets-editorial {
   background: var(--secondary-light);
   padding: 160px 0 100px;
}


.tickets-header {
   margin-bottom: 4rem;
}


.tickets-eyebrow {
   font-family: 'Montserrat', sans-serif;
   font-size: 0.65rem;
   letter-spacing: 4px;
   text-transform: uppercase;
   color: var(--accent-gold);
   margin-bottom: 1rem;
}


.tickets-header h2 {
   font-size: 2.8rem;
   letter-spacing: 1px;
}


.tickets-list {
   border-top: 1px solid var(--border-light);
}


.ticket-row {
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 2.5rem 0;
   border-bottom: 1px solid var(--border-light);
}


.ticket-left h3 {
   font-size: 1.4rem;
   margin-bottom: 0.4rem;
}


.ticket-left p {
   color: var(--text-secondary);
   max-width: 500px;
}


.ticket-right {
   text-align: right;
}


.price {
   display: block;
   font-size: 1.6rem;
   margin-bottom: 0.8rem;
}


.ticket-right button {
   background: none;
   border: none;
   font-family: 'Montserrat', sans-serif;
   font-size: 0.7rem;
   letter-spacing: 2px;
   text-transform: uppercase;
   cursor: pointer;
   position: relative;
}


.ticket-right button::after {
   content: '';
   display: block;
   width: 0%;
   height: 1px;
   background: var(--accent-gold);
   transition: 0.3s;
   margin-top: 4px;
}


.ticket-right button:hover::after {
   width: 100%;
}


.ticket-row.featured {
   background: rgba(0,0,0,0.02);
}


.schedule-body {
   padding: 3rem 3rem 5rem;
}


.schedule-day {
   display: grid;
   grid-template-columns: 200px 1fr;
   padding: 2rem 0;
   border-bottom: 1px solid var(--border-light);
}


.schedule-date .day {
   font-family: 'Playfair Display', serif;
   font-size: 1.3rem;
}


.schedule-date .label {
   font-size: 0.7rem;
   letter-spacing: 2px;
   text-transform: uppercase;
   color: var(--accent-gold);
   margin-top: 0.3rem;
}


.schedule-events {
   display: flex;
   flex-direction: column;
   gap: 0.8rem;
}


.event {
   display: flex;
   gap: 2rem;
   font-size: 1.05rem;
}


.time {
   width: 80px;
   color: var(--text-secondary);
   font-family: 'Montserrat', sans-serif;
   font-size: 0.8rem;
}


.name {
   font-family: 'Playfair Display', serif;
}


.event:hover .name {
   color: var(--accent-gold);
}


@media (max-width: 960px) {
   .d-grid {
       grid-template-columns: repeat(2, 1fr);
   }
}


@media (max-width: 768px) {
   nav ul {
       gap: 1.5rem;
   }


   .info-grid {
       grid-template-columns: 1fr;
   }


   .designer-image {
       height: 260px;
   }


   .ticket-card.featured {
       transform: none;
   }


   .ei-hero {
       padding: 7rem 1.5rem 3rem;
   }


   .ei-hero-title {
       font-size: 2.2rem;
   }


   .ei-facts {
       grid-template-columns: 1fr 1fr;
   }


   .ei-fact:nth-child(2) {
       border-right: none;
   }


   .ei-fact:nth-child(3),
   .ei-fact:nth-child(4) {
       border-top: 1px solid rgba(201, 169, 97, 0.2);
   }


   .ei-fact:nth-child(4) {
       border-right: none;
   }


   .ei-grid {
       grid-template-columns: 1fr;
   }


   .ei-body {
       padding: 2rem 1.5rem 4rem;
   }


   .ei-contact-grid {
       grid-template-columns: 1fr;
   }


   .ticket-row {
       flex-direction: column;
       align-items: flex-start;
       gap: 1rem;
   }


   .ticket-right {
       text-align: left;
   }


   .schedule-day {
       grid-template-columns: 1fr;
       gap: 1rem;
   }
}


@media (max-width: 600px) {
   .d-hero {
       padding: 7rem 1.5rem 3rem;
   }


   .d-hero-title {
       font-size: 2.2rem;
   }


   .d-grid {
       grid-template-columns: 1fr;
   }


   .d-stats {
       grid-template-columns: 1fr;
   }


   .d-stat {
       border-right: none;
       border-bottom: 1px solid rgba(201, 169, 97, 0.2);
   }


   .d-stat:last-child {
       border-bottom: none;
   }


   .d-body {
       padding: 2rem 1.5rem 4rem;
   }
}

/* ────────────────────────────────────────────────────────────────── */
/* TICKETS PAGE STYLES */
/* ────────────────────────────────────────────────────────────────── */


/* HERO SECTION */
.tickets-hero {
    background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%);
    color: white;
    padding: 100px 3rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
    min-height: 600px;
    position: relative;
    overflow: hidden;
}


.tickets-hero::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(201, 169, 97, 0.08) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}


.tickets-hero-content {
    position: relative;
    z-index: 2;
}


.tickets-hero-label {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.7rem;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--accent-gold);
    margin-bottom: 1rem;
    animation: fadeInUp 0.8s ease 0.2s both;
}


.tickets-hero-title {
    font-family: 'Playfair Display', serif;
    font-size: 4.5rem;
    font-weight: 600;
    line-height: 1.1;
    margin-bottom: 1.5rem;
    letter-spacing: -1px;
    animation: fadeInUp 0.8s ease 0.3s both;
}


.tickets-hero-accent {
    width: 100px;
    height: 3px;
    background: var(--accent-gold);
    margin-bottom: 2rem;
    animation: expandWidth 0.8s ease 0.4s both;
}


@keyframes expandWidth {
    from {
        width: 0;
    }
    to {
        width: 100px;
    }
}


.tickets-hero-sub {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.3rem;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.6;
    max-width: 500px;
    animation: fadeInUp 0.8s ease 0.5s both;
}


.tickets-hero-visual {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2rem;
    position: relative;
    z-index: 2;
}


.tickets-hero-stat {
    background: rgba(201, 169, 97, 0.1);
    border: 1px solid rgba(201, 169, 97, 0.2);
    padding: 2.5rem 1.5rem;
    text-align: center;
    backdrop-filter: blur(10px);
    animation: fadeInUp 0.8s ease 0.6s both;
}


.stat-large {
    font-family: 'Playfair Display', serif;
    font-size: 2.8rem;
    font-weight: 600;
    color: var(--accent-gold);
    margin-bottom: 0.5rem;
}


.stat-label {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.65rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.6);
}


@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* SECTION HEADER */
.section-eyebrow {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.65rem;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--accent-gold);
    margin-bottom: 0.8rem;
    display: block;
}


.tickets-section-header {
    margin-bottom: 4rem;
}


.tickets-section-header h2 {
    margin-bottom: 1.5rem;
}


.tickets-intro-text {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.15rem;
    color: var(--text-secondary);
    max-width: 700px;
    line-height: 1.8;
}


/* MAIN TICKETS CONTAINER */
.tickets-container {
    background: var(--secondary-light);
    padding: 80px 3rem;
}


/* TICKET OPTIONS GRID */
.tickets-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}


.ticket-option {
    background: white;
    border: 2px solid var(--border-light);
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.23, 1, 0.320, 1);
}


.ticket-option:hover {
    transform: translateY(-12px);
    border-color: var(--accent-gold);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
}


.ticket-ribbon {
    position: absolute;
    top: 20px;
    right: -35px;
    background: var(--accent-gold);
    color: var(--primary-dark);
    padding: 8px 50px;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 2px;
    transform: rotate(45deg);
    text-transform: uppercase;
    z-index: 10;
}


.ticket-badge {
    position: absolute;
    top: 20px;
    left: 20px;
    background: rgba(201, 169, 97, 0.15);
    color: var(--accent-gold);
    padding: 0.4rem 1rem;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.55rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    z-index: 5;
    border-radius: 2px;
}


.ticket-badge.featured-badge {
    background: var(--accent-gold);
    color: var(--primary-dark);
}


.ticket-content {
    padding: 3rem 2rem;
}


.ticket-tier {
    margin-bottom: 2rem;
}


.tier-number {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.6rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--accent-gold);
    display: block;
    margin-bottom: 0.8rem;
}


.tier-name {
    font-family: 'Playfair Display', serif;
    font-size: 1.8rem;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 0.4rem;
    letter-spacing: -0.5px;
}


.tier-descriptor {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.7rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--text-secondary);
}


.ticket-highlight {
    background: rgba(201, 169, 97, 0.08);
    padding: 1.5rem;
    margin: 2rem 0;
    border-left: 3px solid var(--accent-gold);
}


.featured-highlight {
    background: linear-gradient(135deg, rgba(201, 169, 97, 0.15) 0%, rgba(201, 169, 97, 0.08) 100%);
    border-left: 4px solid var(--accent-gold);
}


.price-block {
    text-align: center;
}


.price-label {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.6rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--text-secondary);
    display: block;
    margin-bottom: 0.5rem;
}


.price {
    font-family: 'Playfair Display', serif;
    font-size: 2.5rem;
    font-weight: 600;
    color: var(--text-primary);
}


.featured-price {
    color: var(--accent-gold);
}


.ticket-features {
    list-style: none;
    padding: 0;
    margin: 2rem 0;
}


.ticket-features li {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.05rem;
    color: var(--text-secondary);
    padding: 0.8rem 0;
    border-bottom: 1px solid rgba(201, 169, 97, 0.15);
    display: flex;
    align-items: center;
}


.ticket-features li::before {
    content: '✓';
    color: var(--accent-gold);
    font-weight: bold;
    margin-right: 0.8rem;
    font-size: 1.2rem;
}


.ticket-features li:last-child {
    border-bottom: none;
}


/* BUTTONS */
.ticket-btn {
    width: 100%;
    padding: 1.1rem;
    margin-top: 1.5rem;
    border: 2px solid var(--accent-gold);
    background: transparent;
    color: var(--accent-gold);
    font-family: 'Montserrat', sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
}


.ticket-btn:hover {
    background: var(--accent-gold);
    color: var(--primary-dark);
}


.ticket-btn.primary {
    border-color: var(--text-primary);
    color: var(--text-primary);
}


.ticket-btn.primary:hover {
    background: var(--text-primary);
    color: white;
}


.ticket-btn.featured-btn {
    background: var(--accent-gold);
    color: var(--primary-dark);
    border-color: var(--accent-gold);
}


.ticket-btn.featured-btn:hover {
    background: transparent;
    color: var(--accent-gold);
}


/* FEATURED TICKET CARD */
.ticket-option.featured {
    grid-column: auto;
    transform: scale(1.02);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
}


.ticket-option.featured:hover {
    transform: translateY(-12px) scale(1.02);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.15);
}


/* INCLUDED SECTION */
.included-section {
    background: white;
    padding: 80px 0;
}


.included-header {
    text-align: center;
    margin-bottom: 4rem;
}


.included-header h2 {
    margin-bottom: 0;
}


.included-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2.5rem;
}


.included-card {
    text-align: center;
    padding: 2.5rem 1.5rem;
    border-radius: 4px;
    transition: all 0.3s ease;
}


.included-card:hover {
    background: var(--secondary-light);
    transform: translateY(-6px);
}


.included-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
}


.included-card h4 {
    font-family: 'Playfair Display', serif;
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 0.8rem;
}


.included-card p {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.05rem;
    color: var(--text-secondary);
    line-height: 1.7;
}


/* FAQ SECTION */
.faq-section {
    background: var(--secondary-light);
    padding: 80px 0;
}


.faq-header {
    text-align: center;
    margin-bottom: 4rem;
}


.faq-header h2 {
    margin-bottom: 0;
}


.faq-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}


.faq-item {
    background: white;
    padding: 2rem;
    border: 1px solid var(--border-light);
    transition: all 0.3s ease;
}


.faq-item:hover {
    border-color: var(--accent-gold);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
}


.faq-item h4 {
    font-family: 'Playfair Display', serif;
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 1rem;
}


.faq-item p {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1rem;
    color: var(--text-secondary);
    line-height: 1.7;
}


/* CTA SECTION */
.tickets-cta {
    background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%);
    color: white;
    padding: 80px 3rem;
    text-align: center;
}


.tickets-cta h2 {
    font-size: 3.2rem;
    margin-bottom: 1rem;
    color: white;
}


.tickets-cta p {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.2rem;
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 2rem;
}


.cta-button.large {
    padding: 1.3rem 3.5rem;
    font-size: 0.9rem;
}


/* RESPONSIVE */
@media (max-width: 1024px) {
    .tickets-hero {
        grid-template-columns: 1fr;
        gap: 2rem;
        min-height: auto;
        padding: 80px 2rem;
    }


    .tickets-hero-title {
        font-size: 3.5rem;
    }


    .tickets-hero-visual {
        grid-template-columns: repeat(3, 1fr);
    }


    .tickets-options {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    }


    .ticket-option.featured {
        transform: scale(1);
    }


    .ticket-option.featured:hover {
        transform: translateY(-12px);
    }
}


@media (max-width: 768px) {
    .tickets-hero {
        padding: 60px 1.5rem;
    }


    .tickets-hero-title {
        font-size: 2.5rem;
    }


    .tickets-hero-sub {
        font-size: 1.1rem;
    }


    .tickets-hero-visual {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }


    .tickets-container {
        padding: 60px 1.5rem;
    }


    .tickets-options {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }


    .ticket-content {
        padding: 2rem 1.5rem;
    }


    .included-section,
    .faq-section {
        padding: 60px 1.5rem;
    }


    .included-grid,
    .faq-grid {
        gap: 1.5rem;
    }


    .tickets-cta {
        padding: 60px 1.5rem;
    }


    .tickets-cta h2 {
        font-size: 2.2rem;
    }


    .tickets-section-header h2 {
        font-size: 2rem;
    }
}


@media (max-width: 480px) {
    .tickets-hero {
        padding: 50px 1rem;
    }


    .tickets-hero-title {
        font-size: 2rem;
    }


    .tier-name {
        font-size: 1.4rem;
    }


    .price {
        font-size: 2rem;
    }


    .included-icon {
        font-size: 2.5rem;
    }
}


.ei-block, .ei-fact {
    transition: all 0.35s ease;
    cursor: pointer;
}

.ei-block:hover, .ei-fact:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 20px 40px rgba(0,0,0,0.08);
}
/* ───────────────────────── */
/* DARK HERO (MATCH TICKETS BUT UNIQUE) */
/* ───────────────────────── */

/* ───────────────────────── */
/* SCHEDULE (EDITORIAL STYLE) */
/* ───────────────────────── */


.schedule-hero {
   padding: 140px 0 60px;
   background: var(--secondary-light);
   text-align: center;
}


.schedule-title {
   font-family: 'Playfair Display', serif;
   font-size: 3.5rem;
   margin: 1rem 0;
}


.schedule-sub {
   font-size: 1.1rem;
   color: var(--text-secondary);
}


/* NAV */
.schedule-nav {
   border-top: 1px solid var(--border-light);
   border-bottom: 1px solid var(--border-light);
   background: white;
}


.schedule-days {
   display: flex;
   justify-content: center;
   gap: 2rem;
   padding: 1.5rem 0;
}


.day-tab {
   font-family: 'Montserrat', sans-serif;
   font-size: 0.9rem;
   color: var(--text-secondary);
   cursor: pointer;
   transition: 0.2s;
}


.day-tab.active,
.day-tab:hover {
   color: var(--accent-gold);
}


/* LIST */
.schedule-list {
   max-width: 900px;
   margin: 60px auto;
   padding: 0 2rem;
}


.schedule-day-block {
   display: grid;
   grid-template-columns: 200px 1px 1fr;
   gap: 2rem;
   padding: 2.5rem 0;
   border-bottom: 1px solid var(--border-light);
}


.schedule-date h3 {
   font-family: 'Playfair Display', serif;
   font-size: 1.4rem;
}


.schedule-date span {
   font-size: 0.7rem;
   letter-spacing: 2px;
   text-transform: uppercase;
   color: var(--accent-gold);
}


/* LINE */
.schedule-line {
   width: 1px;
   background: var(--border-light);
}


/* EVENTS */
.event-item {
   display: flex;
   gap: 2rem;
   margin-bottom: 1.2rem;
}


.time {
   font-family: 'Montserrat', sans-serif;
   font-size: 0.8rem;
   color: var(--text-secondary);
   width: 60px;
}


.designer {
   font-family: 'Playfair Display', serif;
   font-size: 1.1rem;
   transition: 0.2s;
}


.location {
   font-size: 0.9rem;
   color: var(--text-secondary);
}


/* HOVER */
.event-item:hover .designer {
   color: var(--accent-gold);
}


/* MOBILE */
@media (max-width: 768px) {
   .schedule-day-block {
       grid-template-columns: 1fr;
   }


   .schedule-line {
       display: none;
   }


   .schedule-days {
       flex-wrap: wrap;
       gap: 1rem;
   }
}



.schedule-hero.dark {
    background: var(--primary-dark);
    color: white;
    padding: 140px 0 80px;
    text-align: center;
}


.schedule-hero-label {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.65rem;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--accent-gold);
    margin-bottom: 1rem;
}


.schedule-title {
    font-family: 'Playfair Display', serif;
    font-size: 3.5rem;
    margin-bottom: 1rem;
    color: white;
}


.schedule-hero-line {
    width: 80px;
    height: 2px;
    background: var(--accent-gold);
    margin: 1.5rem auto;
}


.schedule-sub {
    font-size: 1.1rem;
    color: rgba(255,255,255,0.6);
}


/* ───────────────────────── */
/* DARK NAV */
/* ───────────────────────── */


.schedule-nav.dark {
    background: #111;
    border-top: 1px solid rgba(201,169,97,0.2);
    border-bottom: 1px solid rgba(201,169,97,0.2);
}


.schedule-nav.dark .schedule-days {
    padding: 1.2rem 0;
}


.schedule-nav.dark .day-tab {
    color: rgba(255,255,255,0.6);
}


.schedule-nav.dark .day-tab.active,
.schedule-nav.dark .day-tab:hover {
    color: var(--accent-gold);
}


/* ───────────────────────── */
/* BLEND INTO LIGHT SECTION */
/* ───────────────────────── */


.schedule-list {
    margin-top: 80px;
}



.cta-button {
   display: inline-block;
   text-decoration: none;
   margin-top: 20px;
   padding: 1rem 3rem;
   background: var(--accent-gold);
   border: none;
   cursor: pointer;
   text-transform: uppercase;
   font-size: 1.1rem;
   transition: 0.3s;
   color: #0a0a0a; /* ADD THIS */
}

.cta-button:visited {
   color: #0a0a0a; /* PREVENT PURPLE */
}

.cta-button:hover {
   background: transparent;
   color: var(--accent-gold);
   border: 1px solid var(--accent-gold);
}
#home {
   position: relative;
   display: flex;
   align-items: center;
   justify-content: center;
   text-align: center;
   color: white;
   background: url('images/hero.jpg') center/cover no-repeat;
}

/* overlay */
#home::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0, 0, 0, 0.45); /* adjust 0.3–0.6 */
}

/* keep content above overlay */
.home-content {
   position: relative;
   z-index: 2;
   max-width: 900px;
}

.d-card-img img {
   width: 100%;
   height: 900px;          /* FIXED height */
   object-fit: cover;      /* crops nicely */
   object-position: center;
   display: block;
}
