:root {
  --milk: #eee6da;
  --milk-light: #f5f1eb;
  --ink: #090909;
  --line: rgba(9,9,9,.10);
  --ease: cubic-bezier(.22,1,.36,1);
  --header-h: 86px;
  --edge: clamp(30px, 5.2vw, 80px);
  --display: 430;
  --body: 400;
  --ui: 480;
}
* { box-sizing: border-box; }
html { background: var(--milk-light); color: var(--ink); scroll-behavior: smooth; }
body { margin:0; font-family:"Inter",sans-serif; font-weight:var(--body); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
::selection { background:#d8c6b2; color:var(--ink); }
a:focus-visible { outline:1px solid var(--ink); outline-offset:5px; }
.skip-link { position:fixed; z-index:10000; left:12px; top:12px; background:#090909; color:white; padding:10px 14px; transform:translateY(-160%); font-size:13px; }
.skip-link:focus { transform:translateY(0); }

.events-header { position:fixed; inset:0 0 auto; z-index:1000; height:var(--header-h); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 var(--edge); background:rgba(245,241,235,.94); border-bottom:1px solid rgba(9,9,9,.05); backdrop-filter:blur(12px); }
.events-wordmark { line-height:0; width:max-content; }
.events-wordmark img { width:82px; height:auto; }
.events-nav { display:flex; align-items:center; gap:clamp(28px,3.5vw,56px); font-size:14px; font-weight:var(--ui); }
.events-nav a { position:relative; padding:10px 0; }
.events-nav a::after { content:""; position:absolute; left:0; right:0; bottom:4px; height:1px; background:currentColor; transform:scaleX(0); transform-origin:right; transition:transform .35s var(--ease); }
.events-nav a:hover::after, .events-nav a:focus-visible::after, .events-nav a[aria-current="page"]::after { transform:scaleX(1); transform-origin:left; }
.events-header > .events-enquire { justify-self:end; }

.events-enquire { min-height:43px; padding:0 25px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; gap:8px; font-size:13px; font-weight:var(--ui); line-height:1; transition:transform .35s var(--ease), background-color .35s var(--ease), color .35s var(--ease), opacity .35s var(--ease); }
.events-enquire:hover { transform:translateY(-1px); }
.events-enquire-outline { border:1px solid var(--ink); }
.events-enquire-outline:hover { background:rgba(255,255,255,.4); }
.events-enquire-dark { background:var(--ink); color:white; border:1px solid var(--ink); }
.events-enquire-dark:hover { background:#282828; }
.events-enquire-light { background:var(--milk-light); color:var(--ink); }

.events-hero { position:relative; height:100svh; min-height:690px; overflow:hidden; background:var(--milk-light); padding-top:var(--header-h); }
.events-hero-media { position:absolute; top:var(--header-h); right:0; bottom:0; width:68%; margin:0; overflow:hidden; }
.events-hero-media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, var(--milk-light) 0%, rgba(245,241,235,.93) 14%, rgba(245,241,235,.34) 36%, rgba(245,241,235,0) 58%); pointer-events:none; }
.events-hero-media img { width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.02) translateY(var(--drift,0)); will-change:transform; }
.events-hero-copy { position:relative; z-index:2; width:46%; height:100%; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:6vh 0 0 var(--edge); }
.events-hero-copy h1 { margin:0; font-size:clamp(58px,5.8vw,90px); line-height:.91; letter-spacing:-.065em; font-weight:var(--display); }
.events-hero-copy > p { margin:32px 0 36px; font-size:clamp(21px,2vw,31px); line-height:1.25; letter-spacing:-.035em; }

.events-intro { display:grid; grid-template-columns:1fr 1fr; min-height:640px; background:var(--milk-light); border-top:1px solid var(--line); }
.events-intro-image { margin:0; overflow:hidden; min-height:640px; }
.events-intro-image img { width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.02) translateY(var(--drift,0)); }
.events-intro-copy { padding:clamp(70px,8vw,130px) clamp(50px,7vw,110px); display:flex; flex-direction:column; justify-content:center; }
.events-intro-copy h2 { margin:0; max-width:10ch; font-size:clamp(48px,4.5vw,72px); line-height:.94; letter-spacing:-.058em; font-weight:var(--display); }
.events-intro-copy p { margin:28px 0 0; max-width:540px; font-size:17px; line-height:1.6; }
.events-intro-copy p + p { margin-top:22px; }

.events-experience { padding:76px var(--edge) 84px; background:var(--milk-light); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.events-section-heading h2 { margin:0; font-size:clamp(42px,3.5vw,56px); line-height:.96; letter-spacing:-.055em; font-weight:var(--display); }
.events-section-heading i { display:block; width:38px; height:1px; margin-top:24px; background:rgba(9,9,9,.45); }
.events-principles { display:grid; grid-template-columns:repeat(4,1fr); margin-top:42px; }
.events-principles article { min-height:138px; padding:0 clamp(24px,3vw,50px); border-left:1px solid var(--line); }
.events-principles article:first-child { border-left:0; padding-left:0; }
.events-principles h3 { margin:0 0 18px; font-size:18px; letter-spacing:-.03em; font-weight:650; }
.events-principles p { margin:0; font-size:14px; line-height:1.55; }

.events-cart-feature { position:relative; height:min(720px,70vw); min-height:560px; overflow:hidden; background:#6e5a45; }
.events-cart-media { position:absolute; inset:0; margin:0; }
.events-cart-media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(35,28,22,.66) 0%, rgba(35,28,22,.40) 30%, rgba(35,28,22,.06) 57%, rgba(35,28,22,0) 72%); }
.events-cart-media img { width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.02) translateY(var(--drift,0)); }
.events-cart-copy { position:relative; z-index:2; height:100%; width:44%; padding-left:var(--edge); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; color:white; }
.events-cart-copy h2 { margin:0; font-size:clamp(46px,4vw,64px); line-height:.95; letter-spacing:-.055em; font-weight:var(--display); }
.events-cart-copy p { margin:28px 0 31px; font-size:17px; line-height:1.55; }

.events-perfect { display:grid; grid-template-columns:1fr 1fr; min-height:590px; background:var(--milk-light); border-top:1px solid var(--line); }
.events-perfect-copy { padding:clamp(70px,8vw,125px) var(--edge); display:flex; flex-direction:column; justify-content:center; }
.events-perfect-copy h2 { margin:0 0 42px; font-size:clamp(48px,4.2vw,68px); line-height:.94; letter-spacing:-.058em; font-weight:var(--display); }
.events-perfect-copy p { margin:0; font-size:clamp(24px,2.1vw,32px); line-height:1.55; letter-spacing:-.035em; }
.events-perfect-image { margin:0; min-height:590px; overflow:hidden; }
.events-perfect-image img { width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.02) translateY(var(--drift,0)); }

.events-contact { display:grid; grid-template-columns:1.08fr .92fr; min-height:650px; background:var(--milk-light); border-top:1px solid var(--line); }
.events-contact-image { margin:0; min-height:650px; overflow:hidden; }
.events-contact-image img { width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.02) translateY(var(--drift,0)); }
.events-contact-copy { padding:clamp(70px,8vw,125px) clamp(52px,7vw,115px); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.events-contact-copy h2 { margin:0; font-size:clamp(48px,4.3vw,70px); line-height:.92; letter-spacing:-.06em; font-weight:var(--display); }
.events-contact-copy p { margin:28px 0 31px; font-size:16px; line-height:1.55; }

.events-footer { min-height:190px; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; padding:45px var(--edge); border-top:1px solid var(--line); background:var(--milk-light); }
.events-footer-wordmark { line-height:0; justify-self:start; }
.events-footer-wordmark img { width:78px; }
.events-footer p { margin:0; justify-self:center; font-size:12px; opacity:.62; }
.events-instagram { justify-self:end; font-size:12px; }

.js .reveal-copy { opacity:0; transform:translateY(11px); transition:opacity 780ms var(--ease), transform 780ms var(--ease); }
.js .reveal-image { opacity:0; transform:scale(.994); transition:opacity 900ms var(--ease), transform 900ms var(--ease); }
.js .reveal-copy.visible, .js .reveal-image.visible { opacity:1; transform:none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .reveal-copy, .reveal-image { opacity:1 !important; transform:none !important; transition:none !important; }
  .motion-parallax img { transform:none !important; }
}

/* =========================================================
   FINAL EVENTS OPTICAL / INTERACTION POLISH
   ========================================================= */
.events-header { height:82px; }
.events-hero { min-height:720px; }
.events-hero-media { top:82px; }
.events-hero-copy { padding-top:4.5vh; }
.events-hero-copy h1 { max-width:9ch; text-wrap:balance; }
.events-hero-copy > p { max-width:26ch; margin-top:29px; margin-bottom:34px; }

.events-intro { min-height:610px; }
.events-intro-image { min-height:610px; }
.events-intro-image img { object-position:50% 52%; }
.events-intro-copy { padding-top:82px; padding-bottom:82px; }
.events-intro-copy h2 { text-wrap:balance; }
.events-intro-copy p { max-width:500px; }

.events-experience { padding-top:72px; padding-bottom:78px; }
.events-principles { margin-top:38px; }
.events-principles article { min-height:126px; }
.events-principles h3 { margin-bottom:14px; }
.events-principles p { color:rgba(9,9,9,.78); }

.events-cart-feature { height:min(680px,68vw); }
.events-cart-media img { object-position:56% 50%; }
.events-cart-copy { width:42%; }
.events-cart-copy p { max-width:31ch; }

.events-perfect { min-height:560px; }
.events-perfect-image { min-height:560px; }
.events-perfect-image img { object-position:center 54%; }
.events-perfect-copy h2 { margin-bottom:36px; }
.events-perfect-copy p { line-height:1.48; }

.events-contact { min-height:610px; }
.events-contact-image { min-height:610px; }
.events-contact-image img { object-position:center 50%; }
.events-contact-copy { padding-top:82px; padding-bottom:82px; }
.events-contact-copy p { max-width:46ch; }

.events-footer { min-height:166px; padding-top:38px; padding-bottom:38px; }
.events-footer p { opacity:.52; }

/* Refined micro-interactions */
.events-enquire { box-shadow:0 0 0 rgba(0,0,0,0); }
.events-enquire-dark:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,.08); }
.events-enquire-light:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.12); }
.events-enquire-outline:hover { transform:translateY(-1px); }
.events-instagram { transition:opacity .25s var(--ease); }
.events-instagram:hover { opacity:.55; }

@media (max-width: 1180px) and (min-width: 601px) {
  .events-hero-media { width:64%; }
  .events-hero-copy { width:50%; }
  .events-intro-copy { padding-left:54px; padding-right:54px; }
  .events-cart-copy { width:47%; }
  .events-contact-copy { padding-left:54px; padding-right:54px; }
}


/* EVENTS HEADER — focused navigation */
.events-header { grid-template-columns:1fr auto; }
.events-header-actions { justify-self:end; display:flex; align-items:center; gap:clamp(22px,2.3vw,36px); }
.events-back { position:relative; padding:10px 0; font-size:13px; font-weight:var(--ui); opacity:.82; transition:opacity .3s var(--ease); }
.events-back::after { content:""; position:absolute; left:0; right:0; bottom:5px; height:1px; background:currentColor; transform:scaleX(0); transform-origin:right; transition:transform .35s var(--ease); }
.events-back:hover { opacity:1; }
.events-back:hover::after, .events-back:focus-visible::after { transform:scaleX(1); transform-origin:left; }
.events-header-actions .events-enquire { justify-self:auto; }


/* =========================================================
   EVENTS ENQUIRY — premium full-screen panel
   ========================================================= */
body.events-form-open { overflow:hidden; }
.events-enquiry-shell { position:fixed; inset:0; z-index:5000; pointer-events:none; visibility:hidden; }
.events-enquiry-shell.is-open { pointer-events:auto; visibility:visible; }
.events-enquiry-backdrop { position:absolute; inset:0; background:rgba(9,9,9,.16); opacity:0; transition:opacity .45s var(--ease); backdrop-filter:blur(3px); }
.events-enquiry-shell.is-open .events-enquiry-backdrop { opacity:1; }
.events-enquiry-panel { position:absolute; inset:0 0 0 auto; width:min(760px,56vw); background:var(--milk-light); overflow:auto; transform:translateX(100%); transition:transform .62s var(--ease); box-shadow:-24px 0 70px rgba(0,0,0,.10); }
.events-enquiry-shell.is-open .events-enquiry-panel { transform:none; }
.events-enquiry-close { position:absolute; top:24px; right:28px; z-index:2; border:0; background:none; font:300 31px/1 "Inter",sans-serif; padding:8px; cursor:pointer; color:var(--ink); opacity:.72; transition:opacity .25s var(--ease), transform .25s var(--ease); }
.events-enquiry-close:hover { opacity:1; transform:rotate(3deg); }
.events-enquiry-inner { min-height:100%; padding:clamp(72px,8vh,105px) clamp(46px,6vw,88px) 70px; }
.events-enquiry-kicker { margin:0 0 22px; font-size:13px; font-weight:600; }
.events-enquiry-intro h2, .events-enquiry-success h2 { margin:0; font-size:clamp(48px,4.7vw,68px); line-height:.92; letter-spacing:-.06em; font-weight:430; }
.events-enquiry-intro > p:last-child, .events-enquiry-success > p:last-of-type { margin:25px 0 0; max-width:36ch; font-size:16px; line-height:1.55; }
.events-enquiry-form { display:grid; grid-template-columns:1fr 1fr; column-gap:28px; row-gap:27px; margin-top:52px; }
.events-field { display:flex; flex-direction:column; gap:9px; min-width:0; }
.events-field-full { grid-column:1 / -1; }
.events-field label { font-size:12px; line-height:1.2; font-weight:550; letter-spacing:-.01em; }
.events-field label span { font-weight:400; opacity:.5; margin-left:4px; }
.events-field input, .events-field select, .events-field textarea { width:100%; border:0; border-bottom:1px solid rgba(9,9,9,.28); border-radius:0; background:transparent; color:var(--ink); font:400 16px/1.35 "Inter",sans-serif; padding:8px 0 12px; outline:none; transition:border-color .25s var(--ease); appearance:none; }
.events-field input:focus, .events-field select:focus, .events-field textarea:focus { border-bottom-color:var(--ink); }
.events-field textarea { resize:vertical; min-height:78px; }
.events-field select { background-image:linear-gradient(45deg,transparent 50%,#090909 50%),linear-gradient(135deg,#090909 50%,transparent 50%); background-position:calc(100% - 7px) 50%,calc(100% - 2px) 50%; background-size:5px 5px,5px 5px; background-repeat:no-repeat; padding-right:24px; }
.events-honeypot { position:absolute !important; left:-9999px !important; }
.events-form-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:11px; }
.events-form-status { margin:0; max-width:32ch; font-size:12px; line-height:1.4; opacity:.65; }
.events-submit { min-height:46px; padding:0 26px; border:1px solid var(--ink); border-radius:999px; background:var(--ink); color:#fff; font:500 13px/1 "Inter",sans-serif; display:inline-flex; align-items:center; justify-content:center; gap:9px; cursor:pointer; transition:transform .3s var(--ease), background .3s var(--ease), opacity .3s var(--ease); white-space:nowrap; }
.events-submit:hover { transform:translateY(-2px); background:#262626; }
.events-submit:disabled { opacity:.45; cursor:wait; transform:none; }
.events-enquiry-success { min-height:70vh; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.events-enquiry-success .events-submit { margin-top:30px; }
.events-enquiry-success[hidden] { display:none; }
@media (max-width: 980px) and (min-width: 601px) { .events-enquiry-panel { width:72vw; } }
@media (prefers-reduced-motion:reduce) { .events-enquiry-panel,.events-enquiry-backdrop { transition:none!important; } }
