/*
Theme Name: The Lloyd
Theme URI: https://the-lloyd.co.uk
Author: Low Flyer Hospitality Limited
Version: 1.4
License: Private
Text Domain: thelloyd
*/

/* ─── BRAND TOKENS ─── */
:root {
  --ink:        #0E0D0B;
  --sage:       #5C6B52;
  --sage-mid:   #8A9980;
  --sage-pale:  #C4CCBA;
  --linen:      #EAE4D9;
  --linen-dark: #D8CFC0;
  --parchment:  #F5F1EA;
  --warm-white: #FAFAF7;
  --charcoal:   #2A2923;
  --mid-grey:   #7A7870;
  --pale-grey:  #B8B5AE;
  --rule-light: rgba(14,13,11,0.1);
  --rule-dark:  rgba(245,241,234,0.1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
  background: var(--parchment);
  color: var(--ink);
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 1.8;
  overflow-x: hidden;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 200;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.035'/%3E%3C/svg%3E");
  opacity: 0.3;
}

/* ─── HEADER ─── */
header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  height: 68px;
  padding: 0 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--parchment);
  border-bottom: 1px solid var(--rule-light);
  opacity: 0;
  transform: translateY(-6px);
  animation: fadeDown 0.7s 0.2s ease forwards;
  gap: 24px;
}
.h-logo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-decoration: none;
  line-height: 1;
}
.h-logo-lockup {
  display: flex;
  align-items: baseline;
  gap: 0.22em;
}
.h-the {
  font-family: 'IM Fell English', serif;
  font-size: 13px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--sage);
  line-height: 1;
}
.h-lloyd {
  font-family: 'IM Fell English', serif;
  font-size: 22px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink);
  line-height: 1;
}
.h-sub {
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  font-size: 9px;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: var(--sage);
  margin-top: 6px;
}
.h-nav {
  display: flex;
  align-items: center;
  gap: 40px;
}
.h-nav a {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 10px;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--charcoal);
  text-decoration: none;
  transition: color 0.2s;
}
.h-nav a:hover { color: var(--ink); }
.h-right {
  display: flex;
  align-items: center;
  gap: 28px;
}
.h-social {
  display: flex;
  align-items: center;
  gap: 16px;
}
.h-social a {
  display: flex;
  align-items: center;
  color: var(--sage-mid);
  text-decoration: none;
  transition: color 0.2s;
}
.h-social a:hover { color: var(--ink); }
.h-social svg { width: 15px; height: 15px; fill: currentColor; }
.h-hiring {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 9px;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--sage);
  text-decoration: none;
  border: 1px solid var(--sage-pale);
  padding: 8px 18px;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
  white-space: nowrap;
}
.h-hiring:hover {
  background: var(--sage);
  color: var(--parchment);
  border-color: var(--sage);
}

/* ─── HERO ─── */
.hero {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding-top: 68px;
}
.hero-left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 88px 72px 88px 88px;
  border-right: 1px solid var(--rule-light);
  opacity: 0;
  animation: fadeUp 1s 0.5s ease forwards;
}
.hero-wordmark { margin-bottom: 52px; }
.hw-the {
  font-family: 'IM Fell English', serif;
  font-size: clamp(72px, 9vw, 128px);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink);
  line-height: 0.88;
  opacity: 0.45;
}
.hw-lloyd {
  font-family: 'IM Fell English', serif;
  font-size: clamp(72px, 9vw, 128px);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink);
  line-height: 0.95;
}
.hw-rule {
  width: 56px;
  height: 1px;
  background: var(--sage);
  opacity: 0.5;
  margin: 20px 0 16px;
}
.hw-tagline {
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  font-size: 11px;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: var(--charcoal);
}
.hero-statement {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 1.95;
  color: var(--charcoal);
  max-width: 400px;
  margin-bottom: 48px;
}
.hero-address {
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  font-size: 11px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--charcoal);
}
.hero-address::before {
  content: '';
  display: block;
  width: 28px;
  height: 1px;
  background: var(--sage);
  flex-shrink: 0;
}
.hero-right {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 88px 88px 88px 72px;
  position: relative;
  opacity: 0;
  animation: fadeUp 1s 0.75s ease forwards;
}
.opening-badge {
  position: absolute;
  top: 100px;
  right: 88px;
  text-align: right;
}
.ob-label {
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  font-size: 10px;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--charcoal);
  margin-bottom: 6px;
}
.ob-date {
  font-family: 'IM Fell English', serif;
  font-size: 18px;
  letter-spacing: 0.1em;
  color: var(--ink);
  text-transform: uppercase;
}
.notify-block {
  border-top: 1px solid var(--rule-light);
  padding-top: 48px;
}
.nb-label {
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  font-size: 11px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--charcoal);
  margin-bottom: 20px;
}
.nb-note {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 12px;
  letter-spacing: 0.04em;
  color: var(--charcoal);
  margin-top: 12px;
}

hr.rule { border: none; border-top: 1px solid var(--linen-dark); }

/* ─── WPFORMS ─── */
.tl-notify-form .wpforms-field {
  padding: 0 !important;
  margin: 0 0 12px !important;
}
.tl-notify-form .wpforms-field input[type="email"] {
  width: 100%;
  max-width: 420px;
  background: transparent;
  border: 1px solid var(--linen-dark);
  border-radius: 0;
  padding: 15px 20px;
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 13px;
  color: var(--ink);
  outline: none;
  box-shadow: none;
  transition: border-color 0.2s;
  -webkit-appearance: none;
}
.tl-notify-form .wpforms-field input[type="email"]:focus {
  border-color: var(--sage);
  box-shadow: none;
}
.tl-notify-form .wpforms-field input[type="email"]::placeholder { color: var(--pale-grey); }
.tl-notify-form .wpforms-field label { display: none; }
.tl-notify-form .wpforms-submit-container {
  padding: 0 !important;
  margin: 0 !important;
}
.tl-notify-btn,
.tl-notify-form .wpforms-submit {
  background: var(--ink) !important;
  color: var(--parchment) !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 15px 28px !important;
  font-family: 'Jost', sans-serif !important;
  font-weight: 300 !important;
  font-size: 11px !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
}
.tl-notify-btn:hover,
.tl-notify-form .wpforms-submit:hover { background: var(--sage) !important; }
.tl-notify-form .wpforms-confirmation-container-full,
.tl-notify-form .wpforms-confirmation-container {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  font-family: 'Jost', sans-serif !important;
  font-weight: 300 !important;
  font-size: 13px !important;
  color: var(--sage) !important;
  box-shadow: none !important;
}
.tl-notify-form p.wpforms-error {
  font-family: 'Jost', sans-serif;
  font-size: 11px;
  color: #8B3A3A;
  margin-top: 6px;
  font-weight: 300;
}

/* ─── SECTION LABEL ─── */
.s-label {
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  font-size: 11px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--charcoal);
  padding-top: 8px;
}

/* ─── CONCEPT ─── */
.concept {
  background: var(--parchment);
  padding: 100px 88px;
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 80px;
  border-bottom: 1px solid var(--linen-dark);
}
.concept-body h2 {
  font-family: 'IM Fell English', serif;
  font-size: clamp(36px, 4vw, 54px);
  font-weight: 400;
  line-height: 1.1;
  color: var(--ink);
  letter-spacing: 0.01em;
  margin-bottom: 32px;
}
.concept-body h2 em { font-style: italic; color: var(--sage); }
.concept-body p {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 15.5px;
  line-height: 1.95;
  color: var(--charcoal);
  max-width: 600px;
  margin-bottom: 22px;
}

/* ─── LAURA ─── */
.laura {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: var(--parchment);
}
.laura-visual {
  background: var(--linen);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 88px;
  border-right: 1px solid var(--linen-dark);
  min-height: 640px;
}
.portrait-frame {
  width: 100%;
  max-width: 340px;
  aspect-ratio: 3/4;
  border: 1px solid var(--sage-pale);
  position: relative;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--linen) url('https://the-lloyd.co.uk/wp-content/uploads/2026/03/Laura-Kimber-Chef.jpg') center center / cover no-repeat;
}
.portrait-caption {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 24px 28px;
  background: linear-gradient(to top, rgba(14,13,11,0.65) 0%, transparent 100%);
}
.pc-name {
  font-family: 'IM Fell English', serif;
  font-size: 22px;
  color: var(--parchment);
  letter-spacing: 0.03em;
  margin-bottom: 4px;
}
.pc-role {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 9px;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: var(--sage-pale);
}
.laura-text {
  padding: 88px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.laura-text .s-label { margin-bottom: 20px; }
.laura-text h2 {
  font-family: 'IM Fell English', serif;
  font-size: clamp(32px, 3.5vw, 48px);
  font-weight: 400;
  line-height: 1.12;
  color: var(--ink);
  margin-bottom: 30px;
}
.laura-text h2 em { font-style: italic; color: var(--sage); }
.laura-text p {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 14.5px;
  line-height: 1.95;
  color: var(--charcoal);
  max-width: 460px;
  margin-bottom: 18px;
}
.laura-text p strong { font-weight: 400; color: var(--ink); }
.credentials {
  list-style: none;
  margin-top: 36px;
  border-top: 1px solid var(--rule-light);
  padding-top: 28px;
}
.credentials li {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  padding: 12px 0;
  border-bottom: 1px solid var(--rule-light);
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 14px;
  color: var(--charcoal);
  line-height: 1.6;
}
.credentials li::before { content: '—'; color: var(--sage); flex-shrink: 0; }

/* ─── KITCHEN NOTE ─── */
.kitchen-note {
  background: var(--linen);
  border-top: 1px solid var(--linen-dark);
  border-bottom: 1px solid var(--linen-dark);
  padding: 80px 88px;
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 80px;
  align-items: start;
}
.kn-body blockquote {
  font-family: 'IM Fell English', serif;
  font-style: italic;
  font-size: 22px;
  color: var(--charcoal);
  line-height: 1.55;
  margin-bottom: 28px;
}
.kn-body p {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 14px;
  line-height: 1.95;
  color: var(--charcoal);
}

/* ─── WINE BAND ─── */
.wine-band {
  background: var(--ink);
  padding: 100px 88px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 88px;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.wine-band::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.035'/%3E%3C/svg%3E");
  opacity: 0.35;
  pointer-events: none;
}
.wine-band > * { position: relative; z-index: 1; }
.wine-band h2 {
  font-family: 'IM Fell English', serif;
  font-size: clamp(36px, 4vw, 54px);
  font-weight: 400;
  line-height: 1.08;
  color: var(--parchment);
}
.wine-band h2 em { font-style: italic; color: var(--sage-mid); }
.wine-right p {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 14.5px;
  line-height: 1.95;
  color: rgba(245,241,234,0.72);
  max-width: 460px;
  margin-bottom: 20px;
}
.wine-details {
  display: flex;
  margin-top: 44px;
  padding-top: 32px;
  border-top: 1px solid var(--rule-dark);
}
.wd-item {
  flex: 1;
  padding-right: 32px;
  border-right: 1px solid var(--rule-dark);
  margin-right: 32px;
}
.wd-item:last-child { border-right: none; margin-right: 0; padding-right: 0; }
.wd-label {
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  font-size: 9px;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: var(--sage-pale);
  margin-bottom: 8px;
}
.wd-value {
  font-family: 'IM Fell English', serif;
  font-style: italic;
  font-size: 16px;
  color: var(--parchment);
  line-height: 1.3;
}

/* ─── VACANCIES (homepage) ─── */
.vacancies {
  background: var(--warm-white);
  padding: 100px 88px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 88px;
  align-items: start;
  border-top: 1px solid var(--linen-dark);
  border-bottom: 1px solid var(--linen-dark);
}
.vac-left h2 {
  font-family: 'IM Fell English', serif;
  font-size: clamp(36px, 4vw, 52px);
  font-weight: 400;
  line-height: 1.1;
  color: var(--ink);
  margin-bottom: 24px;
}
.vac-left h2 em { font-style: italic; color: var(--sage); }
.vac-left p {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 14.5px;
  line-height: 1.95;
  color: var(--charcoal);
  max-width: 400px;
  margin-bottom: 16px;
}
.vac-cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 32px;
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 10px;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px solid var(--ink);
  padding-bottom: 5px;
  transition: color 0.2s, border-color 0.2s;
}
.vac-cta:hover { color: var(--sage); border-color: var(--sage); }
.vac-cta svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.roles { display: flex; flex-direction: column; gap: 2px; }
.role {
  background: var(--parchment);
  border: 1px solid var(--linen-dark);
  padding: 24px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-decoration: none;
  transition: border-color 0.25s, background 0.25s;
}
.role:hover { border-color: var(--sage); background: var(--linen); }
.role-name {
  font-family: 'IM Fell English', serif;
  font-size: 19px;
  color: var(--ink);
  margin-bottom: 4px;
}
.role-meta {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--charcoal);
}
.role-arrow {
  width: 28px; height: 28px;
  border: 1px solid var(--linen-dark);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: background 0.2s, border-color 0.2s;
}
.role:hover .role-arrow { background: var(--sage); border-color: var(--sage); }
.role-arrow svg { width: 11px; height: 11px; fill: none; stroke: var(--mid-grey); stroke-width: 1.5; transition: stroke 0.2s; }
.role:hover .role-arrow svg { stroke: var(--parchment); }

/* ─── VISIT ─── */
.visit {
  background: var(--parchment);
  padding: 100px 88px;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 88px;
}
.visit h2 {
  font-family: 'IM Fell English', serif;
  font-size: clamp(36px, 4vw, 52px);
  font-weight: 400;
  line-height: 1.1;
  color: var(--ink);
  margin-bottom: 28px;
}
.visit h2 em { font-style: italic; color: var(--sage); }
.visit p {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 14.5px;
  line-height: 1.95;
  color: var(--charcoal);
  max-width: 520px;
  margin-bottom: 18px;
}
.address-rule {
  border-left: 2px solid var(--sage);
  padding-left: 24px;
  margin-top: 44px;
}
.address-rule p {
  font-family: 'IM Fell English', serif;
  font-size: 18px;
  color: var(--ink);
  line-height: 1.75;
  margin: 0;
}
.travel-list { list-style: none; margin-top: 8px; }
.travel-list li {
  display: flex;
  padding: 13px 0;
  border-bottom: 1px solid var(--rule-light);
  font-family: 'Jost', sans-serif;
  font-size: 14px;
  color: var(--charcoal);
  font-weight: 300;
  align-items: baseline;
}
.tl-label {
  font-weight: 400;
  color: var(--ink);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  min-width: 140px;
  flex-shrink: 0;
}

/* ─── FOOTER ─── */
footer {
  background: var(--ink);
  padding: 72px 88px 44px;
  position: relative;
  overflow: hidden;
}
footer::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.035'/%3E%3C/svg%3E");
  opacity: 0.35;
  pointer-events: none;
}
footer > * { position: relative; z-index: 1; }
.footer-top {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: 72px;
  align-items: start;
  padding-bottom: 56px;
  border-bottom: 1px solid var(--rule-dark);
}
.f-wordmark {
  display: flex;
  flex-direction: column;
  text-decoration: none;
}
.f-the {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 9px;
  letter-spacing: 0.5em;
  text-transform: uppercase;
  color: var(--sage-mid);
  margin-bottom: 2px;
}
.f-lloyd {
  font-family: 'IM Fell English', serif;
  font-size: 40px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--parchment);
  line-height: 1;
  opacity: 0.7;
}
.f-col-label {
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--sage-pale);
  margin-bottom: 16px;
}
.f-links { display: flex; flex-direction: column; }
.f-links a, .f-links p {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 14px;
  color: rgba(245,241,234,0.65);
  text-decoration: none;
  line-height: 2.2;
  transition: color 0.2s;
}
.f-links a:hover { color: var(--parchment); }
.f-hiring {
  border: 1px solid rgba(92,107,82,0.3);
  padding: 22px 26px;
  max-width: 230px;
}
.f-hiring p {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 13px;
  line-height: 1.8;
  color: rgba(245,241,234,0.65);
  margin-bottom: 16px;
}
.f-hiring a {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 11px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--sage-pale);
  text-decoration: none;
  border-bottom: 1px solid rgba(196,204,186,0.5);
  padding-bottom: 3px;
  transition: color 0.2s;
}
.f-hiring a:hover { color: var(--parchment); }
.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 28px;
  flex-wrap: wrap;
  gap: 16px;
}
.f-legal {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(245,241,234,0.45);
}
.f-social { display: flex; align-items: center; gap: 20px; }
.f-social a {
  display: flex;
  align-items: center;
  color: rgba(245,241,234,0.55);
  text-decoration: none;
  transition: color 0.2s;
}
.f-social a:hover { color: var(--parchment); }
.f-social svg { width: 15px; height: 15px; fill: currentColor; }

/* ─── VACANCIES PAGE ─── */
.vac-page { padding-top: 68px; }

.vac-page-hero {
  padding: 80px 88px 64px;
  border-bottom: 1px solid var(--linen-dark);
  max-width: 800px;
}
.vac-page-hero .s-label { margin-bottom: 20px; }
.vac-page-hero h1 {
  font-family: 'IM Fell English', serif;
  font-size: clamp(40px, 5vw, 64px);
  font-weight: 400;
  line-height: 1.08;
  color: var(--ink);
  margin-bottom: 28px;
}
.vac-page-hero h1 em { font-style: italic; color: var(--sage); }
.vac-page-intro {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 1.9;
  color: var(--charcoal);
  max-width: 640px;
}

.vac-list {
  display: flex;
  flex-direction: column;
}
.vac-list-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 40px 88px;
  border-bottom: 1px solid var(--linen-dark);
  text-decoration: none;
  background: var(--parchment);
  transition: background 0.2s;
  gap: 48px;
}
.vac-list-item:hover { background: var(--linen); }
.vli-left { flex: 1; max-width: 560px; }
.vli-dept {
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--sage);
  margin-bottom: 8px;
}
.vli-title {
  font-family: 'IM Fell English', serif;
  font-size: clamp(24px, 3vw, 36px);
  color: var(--ink);
  margin-bottom: 10px;
  line-height: 1.1;
}
.vli-summary {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 14px;
  line-height: 1.8;
  color: var(--charcoal);
  max-width: 480px;
}
.vli-right {
  text-align: right;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
}
.vli-salary {
  font-family: 'IM Fell English', serif;
  font-size: 20px;
  color: var(--ink);
}
.vli-type {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 11px;
  letter-spacing: 0.12em;
  color: var(--charcoal);
  text-transform: uppercase;
  margin-bottom: 16px;
}
.vli-arrow {
  width: 32px; height: 32px;
  border: 1px solid var(--linen-dark);
  display: flex; align-items: center; justify-content: center;
  transition: background 0.2s, border-color 0.2s;
}
.vac-list-item:hover .vli-arrow { background: var(--sage); border-color: var(--sage); }
.vli-arrow svg { width: 12px; height: 12px; fill: none; stroke: var(--mid-grey); stroke-width: 1.5; transition: stroke 0.2s; }
.vac-list-item:hover .vli-arrow svg { stroke: var(--parchment); }

.vac-footer-note {
  padding: 64px 88px;
  border-top: 1px solid var(--linen-dark);
  background: var(--warm-white);
}
.vac-footer-note p {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 15px;
  line-height: 1.9;
  color: var(--charcoal);
  max-width: 600px;
}
.vac-footer-note a {
  color: var(--sage);
  text-decoration: none;
  border-bottom: 1px solid var(--sage-pale);
  transition: border-color 0.2s;
}
.vac-footer-note a:hover { border-color: var(--sage); }

/* ─── JOB DESCRIPTION PAGE ─── */
.jd-page { padding-top: 68px; }

.jd-back {
  padding: 28px 88px;
  border-bottom: 1px solid var(--linen-dark);
}
.jd-back-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--charcoal);
  text-decoration: none;
  transition: color 0.2s;
}
.jd-back-link:hover { color: var(--sage); }
.jd-back-link svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.5; }

.jd-hero {
  padding: 64px 88px;
  border-bottom: 1px solid var(--linen-dark);
  background: var(--parchment);
}
.jd-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.jd-dept {
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--sage);
}
.jd-divider {
  color: var(--sage-pale);
  font-size: 12px;
}
.jd-location {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--charcoal);
}
.jd-title {
  font-family: 'IM Fell English', serif;
  font-size: clamp(40px, 5vw, 64px);
  font-weight: 400;
  line-height: 1.05;
  color: var(--ink);
  margin-bottom: 40px;
}
.jd-terms {
  display: flex;
  gap: 48px;
  flex-wrap: wrap;
}
.jd-term {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.jd-term-label {
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  font-size: 9px;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--sage);
}
.jd-term-value {
  font-family: 'IM Fell English', serif;
  font-size: 20px;
  color: var(--ink);
}

.jd-body {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 0;
  align-items: start;
}
.jd-content {
  padding: 64px 88px;
  border-right: 1px solid var(--linen-dark);
}
.jd-content h2 {
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  font-size: 11px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--sage);
  margin: 48px 0 16px;
}
.jd-content h2:first-child { margin-top: 0; }
.jd-content p {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 15px;
  line-height: 1.9;
  color: var(--charcoal);
  margin-bottom: 20px;
  max-width: 580px;
}
.jd-content ul {
  list-style: none;
  margin-bottom: 20px;
}
.jd-content ul li {
  display: flex;
  gap: 16px;
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 15px;
  line-height: 1.75;
  color: var(--charcoal);
  padding: 8px 0;
  border-bottom: 1px solid var(--rule-light);
  max-width: 560px;
}
.jd-content ul li::before { content: '—'; color: var(--sage); flex-shrink: 0; }
.jd-content strong { font-weight: 400; color: var(--ink); }

.jd-sidebar {
  padding: 64px 40px;
  position: sticky;
  top: 68px;
}
.jd-apply-block {
  background: var(--ink);
  padding: 32px;
  margin-bottom: 32px;
}
.jd-apply-label {
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  font-size: 9px;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--sage-mid);
  margin-bottom: 12px;
}
.jd-apply-block p {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 13px;
  color: rgba(245,241,234,0.65);
  margin-bottom: 16px;
  line-height: 1.7;
}
.jd-apply-email {
  display: block;
  font-family: 'IM Fell English', serif;
  font-size: 16px;
  color: var(--parchment);
  text-decoration: none;
  margin-bottom: 12px;
  transition: color 0.2s;
}
.jd-apply-email:hover { color: var(--sage-pale); }
.jd-apply-note {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 11px;
  letter-spacing: 0.1em;
  color: rgba(245,241,234,0.45) !important;
  margin-bottom: 0 !important;
}
.jd-benefits-label {
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  font-size: 9px;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--sage);
  margin-bottom: 16px;
}
.jd-benefits-list {
  list-style: none;
}
.jd-benefits-list li {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 13px;
  color: var(--charcoal);
  padding: 9px 0;
  border-bottom: 1px solid var(--rule-light);
  display: flex;
  gap: 12px;
}
.jd-benefits-list li::before { content: '—'; color: var(--sage-pale); flex-shrink: 0; }

/* ─── ANIMATIONS ─── */
@keyframes fadeDown { to { opacity: 1; transform: translateY(0); } }
@keyframes fadeUp   { to { opacity: 1; transform: translateY(0); } }
.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.85s ease, transform 0.85s ease;
}
.reveal.visible { opacity: 1; transform: none; }
.reveal-delay { transition-delay: 0.15s; }

/* ─── RESPONSIVE ─── */
@media (max-width: 1024px) {
  header { padding: 0 32px; }
  .h-nav { display: none; }
  .hero { grid-template-columns: 1fr; }
  .hero-left { padding: 80px 32px 52px; border-right: none; border-bottom: 1px solid var(--linen-dark); }
  .hero-right { padding: 52px 32px 72px; }
  .opening-badge { position: static; text-align: left; margin-bottom: 44px; }
  .concept { grid-template-columns: 1fr; padding: 64px 32px; gap: 24px; }
  .kitchen-note { grid-template-columns: 1fr; padding: 64px 32px; gap: 24px; }
  .laura { grid-template-columns: 1fr; }
  .laura-visual { min-height: 400px; border-right: none; border-bottom: 1px solid var(--linen-dark); padding: 52px 32px; }
  .laura-text { padding: 52px 32px 72px; }
  .wine-band { grid-template-columns: 1fr; padding: 72px 32px; gap: 44px; }
  .wine-details { flex-wrap: wrap; gap: 24px; }
  .wd-item { border-right: none; margin-right: 0; padding-right: 0; }
  .vacancies { grid-template-columns: 1fr; padding: 72px 32px; gap: 52px; }
  .visit { grid-template-columns: 1fr; padding: 72px 32px; gap: 44px; }
  footer { padding: 52px 32px 36px; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 40px; }
  .f-hiring { max-width: 100%; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .vac-page-hero { padding: 56px 32px 48px; }
  .vac-list-item { padding: 32px; flex-direction: column; align-items: flex-start; gap: 20px; }
  .vli-right { text-align: left; align-items: flex-start; }
  .jd-back { padding: 20px 32px; }
  .jd-hero { padding: 48px 32px; }
  .jd-body { grid-template-columns: 1fr; }
  .jd-content { padding: 48px 32px; border-right: none; border-bottom: 1px solid var(--linen-dark); }
  .jd-sidebar { padding: 40px 32px; position: static; }
  .vac-footer-note { padding: 48px 32px; }
}
@media (max-width: 640px) {
  .footer-top { grid-template-columns: 1fr; }
  .jd-terms { flex-direction: column; gap: 24px; }
}
