*{box-sizing:border-box} :root{--wine:#9d003d;--wine-dark:#690026;--rose:#d92565;--gold:#c69a35;--cream:#fff9f3;--ink:#321a27;--muted:#796771;--line:#efdfe3}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:"DM Sans",Arial,sans-serif;color:var(--ink);background:#fffdfb;line-height:1.6}a{color:inherit;text-decoration:none}.announcement{background:var(--wine-dark);color:#fff;text-align:center;padding:9px 15px;font-size:12px;letter-spacing:.09em;text-transform:uppercase}.announcement span{color:#efc96e;margin:0 8px}.site-header{height:82px;padding:0 6.5%;display:flex;align-items:center;justify-content:space-between;background:rgba(255,253,251,.96);border-bottom:1px solid #f4e8e9;position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;color:var(--wine)}.brand-mark{font-family:"Playfair Display",serif;font-size:43px;line-height:1;color:var(--rose);font-style:italic}.brand-name{font-family:"Playfair Display",serif;font-size:27px;font-weight:700;line-height:1}.brand-name small{display:block;font:600 9px "DM Sans",sans-serif;letter-spacing:.23em;margin-top:5px}.nav-links{display:flex;align-items:center;gap:27px;font-size:13px;font-weight:600}.nav-links>a:not(.nav-cta):hover{color:var(--rose)}.nav-cta{background:var(--wine);color:#fff;padding:12px 18px;border-radius:4px}.menu-toggle{display:none;border:0;background:none;font-size:26px;color:var(--wine)}.hero{display:grid;grid-template-columns:1.03fr .97fr;gap:5%;align-items:center;padding:66px 7% 78px;min-height:650px;overflow:hidden;background:radial-gradient(ellipse at 8% 10%,#ffedf0 0,transparent 36%),linear-gradient(130deg,#fffaf6,#fff 65%,#fff0eb)}.eyebrow{color:var(--wine);font-size:11px;letter-spacing:.18em;font-weight:700;margin:0 0 17px}.eyebrow span{display:inline-block;width:25px;height:1px;background:var(--gold);vertical-align:middle;margin-right:8px}.edition{font-size:11px;font-weight:700;letter-spacing:.25em;color:#a9803e;margin:0 0 13px}.hero h1,.section h2,.booking h2{font-family:"Playfair Display",Georgia,serif;font-weight:600;line-height:1.13;letter-spacing:-.035em}.hero h1{font-size:clamp(40px,5vw,67px);margin:0;color:#48172d}.hero h1 em,.section h2 em,.booking h2 em{color:var(--rose);font-weight:500}.hero-description{font-size:16px;max-width:490px;color:var(--muted);margin:22px 0 25px}.event-pills{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:25px}.event-pills>div{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);padding:12px 16px;border-radius:8px}.pill-icon{font-size:25px;color:var(--wine)}.event-pills b,.event-pills small{display:block}.event-pills b{font-size:13px}.event-pills small{font-size:11px;color:var(--muted)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:14px 20px;font-size:13px;font-weight:700;border-radius:4px;cursor:pointer;border:1px solid transparent;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--wine);color:white}.button-primary:hover{background:var(--wine-dark)}.button-outline{border-color:#d8b6c1;color:var(--wine);background:#fff}.hero-note{font-size:11px;color:#9a858e;margin-top:20px}.hero-visual{position:relative;max-width:510px;width:100%;margin:auto}.image-frame{padding:12px;background:white;border:1px solid #f0d9dd;box-shadow:0 24px 65px #6e15321b;transform:rotate(1.2deg);border-radius:5px}.image-frame img{display:block;width:100%;height:auto;max-height:640px;object-fit:contain}.floating-note{position:absolute;left:-35px;bottom:45px;display:flex;align-items:center;gap:12px;padding:15px 20px;background:white;box-shadow:0 10px 30px #6e15321c;border:1px solid #f5e4e7;border-radius:6px}.floating-note>span{font-size:28px;color:var(--rose)}.floating-note b,.floating-note small{display:block}.floating-note b{font-family:"Playfair Display",serif;font-size:17px}.floating-note small{font-size:11px;color:var(--muted)}.decor{position:absolute;color:#d6a744;z-index:-1}.decor-one{font-size:85px;right:-28px;top:-38px}.decor-two{font-size:55px;left:-38px;top:25%}.section{padding:88px 7%}.intro{text-align:center;background:white}.centered{text-align:center}.section h2{font-size:clamp(32px,4vw,48px);margin:0 0 17px}.section-lead{max-width:650px;margin:0 auto;color:var(--muted);font-size:15px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:45px}.values article{padding:27px 24px;border:1px solid #f0e1e4;border-radius:7px;background:#fffdfc}.values article>span{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:50%;background:#fff0f2;color:var(--rose);font-size:27px}.values h3{font-family:"Playfair Display",serif;font-size:20px;margin:15px 0 7px}.values p{color:var(--muted);font-size:13px;margin:0}.categories{background:var(--cream)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:32px}.section-heading>p{max-width:300px;color:var(--muted);font-size:13px;margin:0 0 20px}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.category-card{min-height:170px;background:#fff;border:1px solid #f1e1e3;border-radius:6px;padding:23px 20px;transition:transform .2s,box-shadow .2s}.category-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #6e15320c}.category-card>span{color:var(--rose);font-size:30px}.category-card h3{font-family:"Playfair Display",serif;font-size:17px;margin:13px 0 3px}.category-card p{font-size:12px;color:var(--muted);margin:0}.booking{display:grid;grid-template-columns:1fr .85fr;gap:8%;align-items:center;background:linear-gradient(135deg,#73002c,#a40b49);color:white}.eyebrow.light{color:#f6d88d}.booking h2{font-size:clamp(38px,4.5vw,57px);margin:0 0 18px}.booking h2 em{color:#f1ce78}.booking-copy>p:not(.eyebrow){color:#f3dfe6;font-size:14px;max-width:450px}.booking-contact{display:flex;gap:28px;flex-wrap:wrap;margin-top:28px}.booking-contact a{display:flex;flex-direction:column;gap:3px}.booking-contact span{font-size:11px;color:#f3d5a0}.booking-contact b{font-size:16px}.booking-form{background:white;color:var(--ink);padding:30px;border-radius:8px;box-shadow:0 20px 50px #3d001d3b}.booking-form h3{font-family:"Playfair Display",serif;font-size:25px;margin:0 0 4px}.booking-form>p{font-size:12px;color:var(--muted);margin:0 0 20px}.booking-form label{display:block;font-size:12px;font-weight:700;margin:13px 0 6px}.booking-form input,.booking-form select{width:100%;padding:12px;border:1px solid #e9dce0;border-radius:4px;font:13px "DM Sans",sans-serif;background:#fff}.booking-form input:focus,.booking-form select:focus{outline:2px solid #e9a7bf;border-color:var(--rose)}.submit-button{width:100%;margin-top:20px;font-family:inherit}.form-note{display:block;color:#8d7a83;font-size:10px;margin-top:12px}.event-details{text-align:center;background:#fff}.detail-strip{display:grid;grid-template-columns:repeat(3,1fr);max-width:900px;margin:38px auto 0;border:1px solid var(--line);border-radius:7px;overflow:hidden}.detail-strip>div{padding:25px 15px;border-right:1px solid var(--line)}.detail-strip>div:last-child{border-right:0}.detail-strip span,.detail-strip b{display:block}.detail-strip span{font-size:10px;letter-spacing:.17em;color:var(--rose);font-weight:700;margin-bottom:7px}.detail-strip b{font-size:14px}.small-note{font-size:11px;color:var(--muted);margin-top:18px}.faq{background:#fff8f6;text-align:center}.faq details{max-width:760px;text-align:left;margin:10px auto;background:white;border:1px solid #f0e0e3;border-radius:5px;padding:17px 20px}.faq summary{font-weight:700;font-size:14px;cursor:pointer}.faq details p{font-size:13px;color:var(--muted);margin:12px 0 0}.footer{background:#390018;color:#fff;text-align:center;padding:40px 20px 25px}.footer-brand{font-family:"Playfair Display",serif;font-size:28px;font-weight:700}.footer-brand span{display:block;font:600 9px "DM Sans",sans-serif;letter-spacing:.22em;color:#efcc7b;margin-top:3px}.footer>p{color:#e8cbd5;font-size:12px}.footer-contacts{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin:22px 0}.footer-contacts a{font-size:13px}.footer>small{color:#c6aab5;font-size:10px}.floating-whatsapp{position:fixed;right:20px;bottom:20px;z-index:9;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#198b55;color:white;font-size:26px;box-shadow:0 8px 25px #0002}
@media(max-width:900px){.site-header{padding:0 5%}.nav-links{gap:15px}.hero{padding:55px 5%;gap:4%}.hero h1{font-size:clamp(38px,6vw,56px)}.section{padding:70px 5%}.category-grid{grid-template-columns:repeat(2,1fr)}.booking{gap:5%;padding:65px 5%}.booking-form{padding:24px}.event-pills>div{padding:10px 12px}}@media(max-width:680px){.announcement{font-size:9px;letter-spacing:.06em}.site-header{height:72px}.brand-name{font-size:23px}.brand-mark{font-size:36px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:71px;left:0;right:0;background:#fffdfb;border-bottom:1px solid var(--line);padding:18px 5% 22px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 12px 18px #3d001d0d}.nav-links.open{display:flex}.nav-links>a{padding:12px 4px}.nav-links .nav-cta{text-align:center;margin-top:8px}.hero{grid-template-columns:1fr;padding:48px 6% 55px;gap:42px}.hero h1{font-size:clamp(40px,10vw,57px)}.hero-description{font-size:14px}.hero-visual{max-width:420px;width:88%}.image-frame img{max-height:none}.floating-note{left:-24px;bottom:24px;padding:11px 14px}.decor-one{right:-25px}.section{padding:62px 6%}.values{grid-template-columns:1fr;gap:12px;margin-top:30px}.values article{padding:22px}.section-heading{display:block}.section-heading>p{margin-top:12px}.category-grid{gap:10px}.category-card{padding:17px 14px;min-height:155px}.category-card h3{font-size:16px}.booking{grid-template-columns:1fr;padding:60px 6%;gap:32px}.booking h2{font-size:46px}.booking-contact{gap:18px}.booking-contact b{font-size:14px}.booking-form{padding:23px 19px}.detail-strip{grid-template-columns:1fr}.detail-strip>div{border-right:0;border-bottom:1px solid var(--line);padding:18px}.detail-strip>div:last-child{border-bottom:0}.section h2{font-size:35px}.faq details{padding:15px}.footer-contacts{flex-direction:column;gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
 
.entry-registration {
  scroll-margin-top: 90px;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .85fr);
  min-height: calc(100vh - 118px);
  min-height: calc(100svh - 118px);
  padding: 56px 7%;
}

.hero.entry-registration {
  grid-template-columns: minmax(0, 1fr) minmax(360px, .85fr);
  background:
    linear-gradient(90deg, rgba(75, 0, 32, .93) 0%, rgba(105, 0, 38, .88) 52%, rgba(105, 0, 38, .72) 100%),
    url("assets/hero-bazaar-background.png") center / cover no-repeat;
}

.entry-registration .booking-copy h1 {
  margin: 0 0 18px;
  color: #fff;
  font-size: clamp(44px, 5vw, 64px);
}

.entry-registration .booking-copy h1 em {
  color: #f1ce78;
}

.entry-registration .booking-copy > .edition {
  color: #f1ce78;
}

.entry-registration .event-pills {
  margin: 25px 0 0;
}

.entry-registration .event-pills > div {
  border-color: rgba(255, 255, 255, .35);
  background: rgba(255, 255, 255, .96);
  color: var(--ink);
}

.entry-registration .hero-note {
  color: #f3dfe6;
}

.entry-registration .booking-contact .inline-icon {
  filter: brightness(0) invert(1);
}

.entry-registration .booking-form {
  justify-self: end;
}

.entry-registration .booking-copy > .entry-promo-lead {
  max-width: 530px;
  color: #fff;
  font-size: clamp(20px, 2.2vw, 27px);
  font-weight: 600;
  line-height: 1.35;
}

.entry-registration .booking-copy > .entry-free-entry {
  display: inline-block;
  margin: 12px 0 0;
  padding: 10px 15px;
  border: 1px solid #f1ce78;
  border-radius: 4px;
  color: #f1ce78;
  font-size: clamp(18px, 2vw, 23px);
  font-weight: 700;
  letter-spacing: .04em;
}

.entry-registration .booking-form {
  max-width: 510px;
  width: 100%;
  justify-self: end;
}

.entry-registration .booking-form input,
.entry-registration .booking-form select {
  min-height: 45px;
}

.registration-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 14px;
  row-gap: 2px;
}

.registration-field:last-child {
  grid-column: 1 / -1;
}

.registration-field-wide {
  grid-column: 1 / -1;
}

.form-status {
  min-height: 1.5em;
  color: var(--wine);
  font-size: 12px;
  font-weight: 600;
  margin: 10px 0 0;
}

.entry-registration .submit-button:disabled {
  cursor: wait;
  opacity: .7;
}

.entry-ticket-section {
  text-align: center;
  background: #fff8f6;
}

.entry-ticket {
  max-width: 620px;
  margin: 36px auto 20px;
  padding: 30px;
  overflow: hidden;
  border: 1px solid #ead5db;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 18px 45px #6e15321a;
  text-align: left;
}

.ticket-topline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding-bottom: 20px;
  border-bottom: 1px dashed #d9bbc4;
}

.ticket-topline img {
  display: block;
  width: auto;
  max-width: 180px;
  height: 52px;
  object-fit: contain;
  object-position: left center;
}

.ticket-topline span,
.ticket-details span,
.ticket-holder span,
.ticket-reference span {
  color: var(--wine);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .15em;
}

.ticket-event {
  padding: 24px 0;
}

.ticket-event>p {
  margin: 0 0 5px;
  color: var(--gold);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .17em;
}

.ticket-event h3 {
  margin: 0 0 20px;
  color: #48172d;
  font: 600 30px/1.2 "Playfair Display", Georgia, serif;
}

.ticket-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.ticket-details div:last-child {
  grid-column: 1 / -1;
}

.ticket-details span,
.ticket-details b,
.ticket-holder span,
.ticket-holder b,
.ticket-reference span,
.ticket-reference b {
  display: block;
}

.ticket-details b,
.ticket-holder b {
  margin-top: 4px;
  font-size: 13px;
}

.ticket-holder {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  padding: 18px 0;
  border-top: 1px dashed #d9bbc4;
  border-bottom: 1px dashed #d9bbc4;
}

.ticket-participant-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 20px;
  padding: 17px 0;
  border-bottom: 1px dashed #d9bbc4;
}

.ticket-participant-details span,
.ticket-participant-details b {
  display: block;
}

.ticket-participant-details span {
  color: var(--wine);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .15em;
}

.ticket-participant-details b {
  margin-top: 4px;
  font-size: 13px;
  overflow-wrap: anywhere;
}

.ticket-reference {
  padding-top: 19px;
  text-align: center;
}

.ticket-reference b {
  margin-top: 4px;
  color: var(--wine);
  font: 700 24px/1.3 "DM Sans", sans-serif;
  letter-spacing: .08em;
}

.ticket-note {
  margin: 17px 0 0;
  color: var(--muted);
  font-size: 11px;
  text-align: center;
}

.ticket-print-button {
  min-width: 210px;
}

@media (max-width: 800px) {
  .hero.entry-registration {
    grid-template-columns: 1fr;
    min-height: 0;
    padding-bottom: 60px;
  }
}

@media (max-width: 680px) {
  .entry-registration {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 48px 6%;
  }

  .hero.entry-registration {
    grid-template-columns: 1fr;
  }

  .entry-registration .booking-form {
    justify-self: stretch;
  }

  .entry-registration .booking-contact {
    flex-direction: column;
    gap: 14px;
  }

  .entry-registration .booking-copy h1 {
    font-size: 44px;
  }

  .entry-registration .booking-copy > .entry-promo-lead {
    font-size: 21px;
  }

  .registration-fields {
    grid-template-columns: 1fr;
  }

  .registration-field:last-child {
    grid-column: auto;
  }

  .registration-field-wide {
    grid-column: auto;
  }

  .entry-ticket {
    padding: 22px 18px;
  }

  .ticket-topline img {
    max-width: 145px;
  }

  .ticket-event h3 {
    font-size: 25px;
  }

  .ticket-participant-details {
    gap: 12px;
  }
}

@media print {
  @page {
    size: A4;
    margin: 12mm;
  }

  html,
  body {
    width: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  body > * {
    display: none !important;
  }

  body > main {
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  main > :not(#entryTicket) {
    display: none !important;
  }

  #entryTicket {
    display: block !important;
    position: static !important;
    inset: auto !important;
    width: auto !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
  }

  #entryTicket > :not(.entry-ticket) {
    display: none !important;
  }

  .entry-ticket {
    display: block !important;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 8mm;
    border: 1px solid #999;
    box-shadow: none;
    break-inside: avoid;
    page-break-inside: avoid;
  }
}
