:root {
  --bt-black: #0c0c0c;
  --bt-charcoal: #171515;
  --bt-wine: #5b101d;
  --bt-red: #8f2430;
  --bt-orange: #f27b3d;
  --bt-cream: #f4efe5;
  --bt-paper: #fbf8f2;
  --bt-ink: #241b1c;
  --bt-muted: #7b6e6d;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bt-paper); color: var(--bt-ink); font-family: Montserrat, "Helvetica Neue", Arial, sans-serif; }
.prototype-note { padding: 7px 18px; background: #171717; color: rgba(255,255,255,.75); font-size: .66rem; letter-spacing: .04em; text-align: center; }
.site-header { position: relative; z-index: 20; display: grid; grid-template-columns: 250px 1fr auto; min-height: 120px; align-items: center; gap: 28px; padding: 0 clamp(28px, 5vw, 72px); background: #fbf8f2; }
.site-header__brand img { display: block; width: 150px; height: auto; }
.site-header__nav { display: flex; justify-content: center; gap: clamp(30px, 5vw, 78px); }
.site-header__nav a, .site-header__account { color: #7b3d56; font-size: .68rem; font-weight: 600; letter-spacing: .24em; text-decoration: none; text-transform: uppercase; }
.site-header__account { align-self: start; margin-top: 12px; white-space: nowrap; }
.site-header__menu { display: none; border: 0; background: transparent; color: #7b3d56; font-size: 1.3rem; }

.btevent { --bt-black:#0c0c0c; --bt-charcoal:#171515; --bt-wine:#5b101d; --bt-red:#8f2430; --bt-orange:#f27b3d; --bt-cream:#f4efe5; --bt-paper:#fbf8f2; --bt-ink:#241b1c; --bt-muted:#7b6e6d; width: min(1140px, calc(100% - 40px)); margin: 30px auto 70px; overflow: hidden; background: #fff; color:var(--bt-ink); font-family:Montserrat,"Helvetica Neue",Arial,sans-serif; box-shadow: 0 24px 70px rgba(24,10,12,.08); }
.btevent, .btevent * { box-sizing:border-box; }
.btevent h1, .btevent h2, .btevent h3, .btevent p, .btevent figure { margin-top: 0; }
.btevent h1, .btevent h2, .btevent h3 { font-family: Georgia, "Times New Roman", serif; }
html[lang="th"] .btevent,
html[lang="th"] .btevent h1,
html[lang="th"] .btevent h2,
html[lang="th"] .btevent h3,
html[lang="th"] .btevent-next__date > span,
html[lang="th"] .btevent-next__details strong,
html[lang="th"] .btevent-invitation > p,
html[lang="th"] .btevent-closing p,
html[lang="th"] .btevent-closing strong { font-family: "Noto Sans Thai", Montserrat, "Helvetica Neue", Arial, sans-serif; }
.btevent-kicker { margin-bottom: 18px; color: var(--bt-orange); font-size: .7rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }

.btevent-visually-hidden { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.btevent-hero { position:relative; display:block; background:var(--bt-black); }
.btevent-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 12px; padding: 14px 21px; background: var(--bt-orange); color: #160b0d !important; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-decoration: none !important; text-transform: uppercase; transition: transform .2s ease, background .2s ease; }
.btevent-button:hover { transform: translateY(-2px); background: #ff9860; }
.btevent-hero__visual { margin:0; background:#0b0b0b; }
.btevent-hero__visual img { display:block; width:100% !important; height:auto !important; aspect-ratio:4 / 3; object-fit:contain; }
.btevent-hero__video { display:block; width:100%; height:auto; aspect-ratio:16 / 9; object-fit:cover; background:#090909; }

.btevent-intro { display: grid; grid-template-columns: .24fr .95fr .58fr; gap: clamp(32px, 5vw, 72px); align-items:center; padding: clamp(80px, 11vw, 140px) clamp(35px, 7vw, 88px); background: var(--bt-paper); }
.btevent-intro__label { display: flex; align-items: flex-start; gap: 18px; padding-top: 12px; }
.btevent-intro__label p { padding-top: 4px; color: var(--bt-muted); font-size: .73rem; font-weight: 700; letter-spacing: .1em; line-height: 1.7; text-transform: uppercase; }
.btevent-intro__label b { color: var(--bt-ink); font-size: .9rem; letter-spacing: .16em; }
.btevent-intro__copy h2 { max-width: 16ch; margin-bottom: 12px; font-size: clamp(2.5rem, 4.6vw, 4.3rem); font-weight: 400; letter-spacing: -.045em; line-height: 1.03; }
.btevent-intro__lead { margin-bottom: 30px; color: var(--bt-red); font-size: 1.05rem; font-weight: 700; letter-spacing: .08em; text-transform:uppercase; }
.btevent-intro__copy > p:not(.btevent-intro__lead) { max-width: 58ch; color: #5f5352; font-size: 1rem; line-height: 1.8; }
.btevent-intro__visual { position:relative; align-self:stretch; min-height:560px; margin:0; overflow:hidden; background:#17202a; }
.btevent-intro__visual::after { content:""; position:absolute; inset:0; box-shadow:inset 0 0 0 1px rgba(255,255,255,.1); pointer-events:none; }
.btevent-intro__visual img { display:block; width:100% !important; height:100% !important; object-fit:cover; object-position:center; }

.btevent-senses { padding: clamp(80px, 10vw, 130px) clamp(35px, 7vw, 90px); background: #efe5dc; }
.btevent-section-heading { max-width: 720px; margin-bottom: 58px; }
.btevent-section-heading h2 { margin-bottom: 0; font-size: clamp(3rem, 6vw, 5.8rem); font-weight: 400; letter-spacing: -.055em; line-height: .95; }
.btevent-senses__visual { position:relative; margin:0; overflow:hidden; background:#151111; }
.btevent-senses__visual::after { content:""; position:absolute; inset:0; box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); pointer-events:none; }
.btevent-senses__visual img { display:block; width:100% !important; height:auto !important; aspect-ratio:16 / 9; object-fit:cover; }
.btevent-senses__notes { display:grid; grid-template-columns:repeat(3,1fr); background:#fffaf4; }
.btevent-senses__notes article { min-height:280px; padding:30px 34px 32px; border-right:1px solid rgba(65,35,35,.15); }
.btevent-senses__notes article:last-child { border-right:0; }
.btevent-sense-icon { display:flex; width:54px; height:54px; align-items:center; justify-content:center; margin-bottom:22px; color:var(--bt-red); }
.btevent-sense-icon svg { display:block; width:100%; height:100%; overflow:visible; fill:none; stroke:currentColor; stroke-width:2.3; stroke-linecap:round; stroke-linejoin:round; }
.btevent-sense-zh { margin-bottom: 5px; color: var(--bt-red); font-size: .82rem; font-weight: 800; letter-spacing: .2em; }
.btevent-senses h3 { margin-bottom: 10px; font-size: 2.2rem; font-weight: 400; }
.btevent-senses article > p:last-child { color: #716463; font-size: .9rem; line-height: 1.65; }

.btevent-ritual { padding: clamp(80px, 10vw, 130px) clamp(35px, 7vw, 90px); color: #fff; background: radial-gradient(circle at 10% 5%, rgba(143,36,48,.36), transparent 30%), var(--bt-charcoal); }
.btevent-section-heading--light h2 { color: #fff; }
.btevent-ritual__grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(255,255,255,.2); }
.btevent-ritual article { min-height: 270px; padding: 30px 24px; border-right: 1px solid rgba(255,255,255,.16); }
.btevent-ritual article:last-child { border-right: 0; }
.btevent-ritual h3 { margin: 0 0 18px; color: #fff; font-size: 1.7rem; font-weight: 400; line-height:1.15; }
.btevent-ritual article p { color: rgba(255,255,255,.58); font-size: .84rem; line-height: 1.62; }
.btevent-ritual article p[lang] { margin-bottom: 9px; color: rgba(255,255,255,.88); font-weight: 700; }

.btevent-invitation { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(30px,7vw,100px); align-items: end; padding: clamp(80px, 10vw, 130px) clamp(35px, 9vw, 115px); background: var(--bt-paper); }
.btevent-invitation h2 { margin-bottom: 0; font-size: clamp(2.8rem,5vw,5rem); font-weight:400; letter-spacing:-.05em; line-height:1; }
.btevent-invitation h2 span { display:block; margin-top:18px; color:var(--bt-red); font-family:Montserrat,Arial,sans-serif; font-size:.32em; font-weight:800; letter-spacing:.13em; }
.btevent-invitation > p { margin-bottom: 5px; color:#665857; font-family:Georgia,serif; font-size:1.1rem; font-style:italic; line-height:1.75; }

.btevent-next { display:grid; grid-template-columns:auto 1fr auto; gap:36px; align-items:center; padding:48px clamp(35px,7vw,88px); color:#fff; background:linear-gradient(110deg,#55101c,#8a2630); }
.btevent-next__date { display:flex; align-items:center; gap:13px; padding-right:35px; border-right:1px solid rgba(255,255,255,.25); }
.btevent-next__date > span { color:var(--bt-orange); font-family:Georgia,serif; font-size:5.2rem; line-height:.8; }
.btevent-next__date small { font-size:.72rem; font-weight:800; letter-spacing:.14em; line-height:1.5; }
.btevent-next .btevent-kicker { margin-bottom:9px; color:#ffc09d; }
.btevent-next h2 { margin-bottom:5px; color:#fff; font-size:clamp(1.8rem,3vw,2.7rem); font-weight:400; }
.btevent-next__zh { margin-bottom:14px; color:rgba(255,255,255,.78); font-size:.9rem; font-weight:700; letter-spacing:.08em; }
.btevent-next__details { display:flex; align-items:center; gap:18px; margin-bottom:0; }
.btevent-next__details strong { color:var(--bt-orange); font-family:Georgia,serif; font-size:2rem; font-weight:400; }
.btevent-next__details span { color:rgba(255,255,255,.8); font-size:.77rem; font-weight:700; letter-spacing:.08em; }
.btevent-button--cream { background:var(--bt-cream); color:var(--bt-wine) !important; }
.btevent-next__action { text-align:center; }
.btevent-next__action p { margin:12px 0 0; color:rgba(255,255,255,.72); font-size:.72rem; letter-spacing:.09em; }
.btevent-closing { padding:90px 30px; text-align:center; background:#080808; }
.btevent-closing p { margin-bottom:12px; color:rgba(255,255,255,.45); font-family:Georgia,serif; font-size:1.25rem; font-style:italic; }
.btevent-closing strong { display:block; color:var(--bt-orange); font-family:Georgia,serif; font-size:clamp(1.1rem,2.4vw,2.1rem); font-weight:400; letter-spacing:-.025em; line-height:1.08; text-transform:uppercase; }
.btevent-closing span { display:block; margin-top:20px; color:#fff; font-size:1.05rem; font-weight:700; letter-spacing:.36em; }
#main-footer .elementor-element-7ec1345 { display:none !important; }

@media (max-width: 940px) {
  .site-header { grid-template-columns: 42px 1fr 42px; min-height:82px; padding:0 20px; }
  .site-header__menu { display:block; }
  .site-header__brand { justify-self:center; }
  .site-header__brand img { width:128px; }
  .site-header__nav, .site-header__account { display:none; }
  .btevent { width:100%; margin:0; box-shadow:none; }
  .btevent-intro { grid-template-columns:1fr; gap:28px; }
  .btevent-intro__copy h2 { max-width:20ch; }
  .btevent-intro__visual { min-height:0; aspect-ratio:4 / 5; }
  .btevent-senses__notes article { padding:28px 25px; }
  .btevent-ritual__grid { grid-template-columns:1fr 1fr; }
  .btevent-ritual article:nth-child(2) { border-right:0; }
  .btevent-ritual article:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.16); }
  .btevent-invitation { grid-template-columns:1fr; }
  .btevent-next { grid-template-columns:auto 1fr; }
  .btevent-next__action { grid-column:1 / -1; text-align:left; padding-left:145px; }
}

@media (max-width: 560px) {
  .btevent-hero__video { aspect-ratio:4 / 5; }
  .prototype-note { font-size: .58rem; }
  .btevent-intro, .btevent-senses, .btevent-ritual, .btevent-invitation { padding-left:22px; padding-right:22px; }
  .btevent-intro__copy h2 { font-size:2.5rem; }
  .btevent-section-heading h2 { font-size:3.1rem; }
  .btevent-senses__visual img { aspect-ratio:4 / 3; object-position:center; }
  .btevent-senses__notes { grid-template-columns:1fr; }
  .btevent-senses__notes article { min-height:0; padding:26px 24px; border-right:0; border-bottom:1px solid rgba(65,35,35,.15); }
  .btevent-senses__notes article:last-child { border-bottom:0; }
  .btevent-sense-icon { width:46px; height:46px; margin-bottom:8px; }
  .btevent-ritual__grid { grid-template-columns:1fr; }
  .btevent-ritual article { min-height:0; border-right:0; border-bottom:1px solid rgba(255,255,255,.16); }
  .btevent-ritual article:last-child { border-bottom:0; }
  .btevent-ritual h3 { margin-top:25px; }
  .btevent-next { grid-template-columns:1fr; gap:25px; padding:42px 24px; }
  .btevent-next__date { padding:0 0 24px; border-right:0; border-bottom:1px solid rgba(255,255,255,.25); }
  .btevent-next__action { grid-column:auto; padding-left:0; }
  .btevent-button--cream { width:100%; }
  .btevent-closing { padding:76px 20px; }
  .btevent-closing strong { font-size:1.075rem; }
  .btevent-closing span { font-size:.9rem; letter-spacing:.25em; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } .btevent-button { transition:none; } }
@font-face {
  font-family: "Noto Sans Thai";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("noto-sans-thai-400-700.woff2") format("woff2");
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
}

