@font-face {
  font-family: Manrope;
  src: url('fonts/manrope-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}
@font-face {
  font-family: Montserrat;
  src: url('fonts/montserrat-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
}
:root {
  --green: #245b48;
  --ink: #252a28;
  --muted: #5c645f;
  --line: #dde2de;
  --soft: #f5f6f4;
  --coral: #b95745;
  --button-gold: #8b713d;
  --button-gold-hover: #715b2f;
  --button-gold-ink: #6c5429;
  --announcement-gold: linear-gradient(110deg, rgb(112 80 20 / .45) 0%, rgb(153 112 35 / .45) 50%, rgb(127 91 29 / .45) 100%);
  --space-section: 88px;
  --page-padding: 40px;
}
* { box-sizing: border-box; }
html { scroll-padding-top: 100px; scrollbar-gutter: stable; }
body { margin: 0; color: var(--ink); background: white; font: 400 16px/1.7 Manrope, Arial, sans-serif; letter-spacing: 0; }
h1, h2, h3 { margin: 0; font-family: Montserrat, Arial, sans-serif; font-weight: 400; line-height: 1.22; }
h1 { font-size: 46px; max-width: 780px; text-wrap: balance; }
h2 { font-size: 34px; max-width: 680px; margin-bottom: 28px; text-wrap: balance; }
h3 { font-size: 23px; margin-bottom: 14px; }
p { margin: 0 0 22px; }
li { overflow-wrap: break-word; }
a { color: var(--button-gold-ink); text-underline-offset: 5px; text-decoration-thickness: 1px; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button, a, input, select, textarea { touch-action: manipulation; }
button:disabled { cursor: wait; opacity: .65; }
img { display: block; max-width: 100%; }
figure { margin: 0; }
figcaption { margin-top: 12px; color: var(--muted); font-size: 13px; }
hr { margin: 32px 0; border: 0; border-top: 1px solid var(--line); }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid #2563eb; outline-offset: 4px; }
.wrap { width: 100%; max-width: 1280px; padding-inline: var(--page-padding); margin-inline: auto; }
.section { padding-block: var(--space-section); }
.section.wrap { padding-block: 32px var(--space-section); }
.section .wrap > p { max-width: 720px; }
.section .wrap > .button { margin-top: 8px; }
.muted { background: var(--soft); }
.narrow { max-width: 680px; }
.lead { max-width: 640px; color: var(--muted); font-size: 18px; line-height: 1.75; }
.eyebrow { margin-bottom: 20px; font: 500 12px/1.5 Manrope, Arial, sans-serif; color: var(--button-gold-ink); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 24px; min-height: 48px; padding: 12px 20px; border: 1px solid var(--button-gold); border-radius: 0; background: var(--button-gold); color: white; text-decoration: none; font-size: 14px; font-weight: 500; line-height: 1.5; transition: background .18s, border-color .18s; }
.button:hover { background: var(--button-gold-hover); border-color: var(--button-gold-hover); }
.button > span { flex-shrink: 0; }
header nav > .button > span { display: none; }
  header nav > .button { background: rgb(113 91 47 / .85); border-color: rgb(113 91 47 / .65); }
  header nav > .button:hover { background: rgb(113 91 47 / .92); border-color: rgb(113 91 47 / .8); }
.secondary { background: transparent; color: var(--button-gold-ink); border-color: var(--button-gold); }
.secondary:hover { background: #f6f1e7; border-color: var(--button-gold-hover); }
.skip { position: fixed; top: -100px; left: 20px; z-index: 100; padding: 12px; background: white; }
.skip:focus { top: 8px; }
header { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid var(--line); background: rgb(255 255 255 / .88); backdrop-filter: blur(8px); }
header:has(nav.open) { background: white; backdrop-filter: none; }
.announcement { position: relative; z-index: 21; background: var(--announcement-gold); color: white; text-shadow: 0 1px 2px rgb(0 0 0 / .65); text-align: center; padding: 8px 20px; }
.announcement p { margin: 0; font-size: 12px; font-weight: 500; line-height: 1.6; }
.nav { height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.brand { flex-shrink: 0; }
.brand img { width: 238px; height: 60px; object-fit: contain; object-position: left center; }
nav { display: flex; align-items: center; gap: 28px; }
nav > a:not(.button), .session-menu > summary { color: #151515; font-size: 14px; text-decoration: none; }
nav > a:not(.button) { padding-block: 12px; }
nav a[aria-current='page'], nav a[aria-current='location'] { color: var(--button-gold-ink); text-decoration: underline; }
.session-menu > summary[aria-current='page'] { color: var(--button-gold-ink); text-decoration: none; }
.session-menu > summary > .session-label { font: inherit; color: inherit; transform: none; transition: none; }
.session-menu > summary[aria-current='page'] > .session-label { text-decoration: underline; }
nav a:not(.button):hover, .session-menu > summary:hover { color: var(--button-gold-ink); }
.session-menu { position: relative; border: 0; }
.session-menu > summary { gap: 8px; min-height: 48px; padding: 12px 0; }
.session-menu > summary::after { content: '+'; display: grid; place-items: center; flex-shrink: 0; width: 14px; height: 20px; font-size: 18px; line-height: 1; }
.session-menu[open] > summary::after { content: '-'; }
.session-menu > div { position: absolute; top: 100%; left: -20px; width: 220px; padding: 12px; background: white; border: 1px solid var(--line); box-shadow: 0 8px 24px rgb(37 42 40 / .08); }
.session-menu a { display: block; padding: 12px; color: #151515; font-size: 14px; text-decoration: none; }
.session-menu a:hover { background: var(--soft); }
.menu-toggle { display: none; width: 48px; height: 48px; border: 0; background: transparent; color: var(--ink); }
.menu-toggle::before, .menu-toggle::after { content: ''; display: block; width: 22px; height: 1px; margin: 7px auto; background: currentColor; transition: transform .18s; }
.menu-toggle[aria-expanded='true']::before { transform: translateY(4px) rotate(45deg); }
.menu-toggle[aria-expanded='true']::after { transform: translateY(-4px) rotate(-45deg); }
.hero { position: relative; height: 640px; min-height: 460px; max-height: calc(100svh - 166px); background: #34473b; overflow: hidden; }
.hero-slides, .hero-slide { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-slide { display: block; opacity: 0; transition: opacity 1.2s ease; }
.hero-slide.is-active { opacity: 1; }
.hero-slide img { width: 100%; height: 100%; object-fit: cover; object-position: 65% 50%; transform-origin: 65% 40%; }
.hero-slide.is-active img, .hero-slide.is-leaving img { animation: hero-kenburns 7.2s ease-out forwards; }
.hero.motion-paused .hero-slide img { animation-play-state: paused; }
@keyframes hero-kenburns { from { transform: scale(1); } to { transform: scale(1.06); } }
.hero-controls { position: absolute; z-index: 2; right: var(--page-padding); bottom: 24px; display: flex; align-items: center; gap: 12px; }
.hero-controls button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; color: white; border: 1px solid rgb(255 255 255 / .4); border-radius: 3px; background: rgb(18 26 21 / .65); }
.hero-controls button:hover { background: rgb(18 26 21 / .9); }
.hero-dots { display: flex; }
.hero-dots button { border: 0; background: transparent; width: 36px; }
.hero-dots button::before { content: ''; width: 7px; height: 7px; border: 1px solid white; border-radius: 50%; background: transparent; }
.hero-dots button[aria-pressed='true']::before { background: white; }
.hero > picture, .hero > picture img { display: block; width: 100%; height: 100%; }
.hero > picture img { object-fit: cover; object-position: 65% 50%; }
.hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(20 28 23 / .79), rgb(20 28 23 / .38) 34%, transparent 65%); }
.hero-inner { position: absolute; z-index: 1; inset: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; color: white; }
.hero h1 { max-width: 530px; margin-bottom: 24px; font-size: 56px; }
.hero .eyebrow { color: white; margin-bottom: 24px; }
.hero p:not(.eyebrow) { max-width: 420px; font-size: 18px; line-height: 1.65; margin-bottom: 32px; }
.hero .button { background: var(--button-gold); color: white; border-color: var(--button-gold); }
.hero .button:hover { background: var(--button-gold-hover); border-color: var(--button-gold-hover); }
.welcome { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 26px; border-bottom: 1px solid var(--line); font-size: 14px; }
.intro { padding-block: 72px 48px; }
.intro h1 { margin-bottom: 24px; }
.intro .lead { margin: 0; }
main > .intro + .section { padding-top: 24px; }
.grid { display: grid; gap: 32px; }
.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.section-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 48px; margin-bottom: 18px; }
.section-top p { max-width: 640px; }
.section-top a { white-space: nowrap; font-size: 14px; padding-top: 6px; }
.gallery { columns: 3; column-gap: 24px; }
.home-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; columns: auto; }
.home-gallery .photo-button { aspect-ratio: 1; width: 100%; margin: 0; }
.home-gallery .photo-button img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.photo-button { display: block; width: 100%; padding: 0; margin-bottom: 24px; border: 0; border-radius: 2px; background: transparent; overflow: hidden; break-inside: avoid; }
.photo-button img { width: 100%; height: auto; transition: opacity .18s; }
.photo-button:hover img { opacity: .9; }
.gallery-footer { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-top: 28px; }
.gallery-footer p { font-size: 13px; margin: 0; color: var(--muted); }
.feature { padding-top: 24px; border-top: 1px solid #cdd5cf; }
.feature-icon { width: 24px; height: 24px; margin-bottom: 24px; }
.feature h3 { font-size: 21px; }
.feature p { margin: 0; color: var(--muted); font-size: 15px; }
.session img { width: 100%; height: auto; margin-bottom: 24px; border-radius: 2px; }
body[data-page='index'] .session img { aspect-ratio: 3 / 2; height: auto; object-fit: cover; object-position: center 35%; }
.session p { max-width: 480px; color: var(--muted); }
.text-session { padding: 32px 0 32px 40px; border-left: 1px solid var(--line); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.text-session h3 { font-size: 32px; margin-bottom: 20px; }
.editorial-pair { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: 72px; }
.editorial-pair img { width: 100%; height: auto; border-radius: 2px; }
.editorial-pair > div { max-width: 480px; }
.package { padding: 28px; border: 1px solid var(--line); border-radius: 4px; background: white; display: flex; flex-direction: column; }
.package h3 { font-size: 25px; margin-bottom: 20px; }
.package p { color: var(--muted); font-size: 15px; }
.package .price { font-size: 21px; color: var(--ink); margin: 4px 0 24px; }
.package ul { padding: 0; list-style: none; flex: 1; font-size: 14px; margin: 0 0 28px; }
.package li { padding: 12px 0; border-top: 1px solid var(--line); }
.package .button { gap: 12px; }
.package-preview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.package-preview article { border-top: 1px solid var(--line); padding-top: 24px; }
.package-preview p { font-size: 15px; color: var(--muted); }
.package-preview a { font-size: 14px; }
.wide-photo { width: 100%; height: auto; border-radius: 2px; }
.couple-opening .wide-photo { aspect-ratio: 16 / 9; object-fit: cover; object-position: center 70%; }
.steps { list-style: none; counter-reset: session; padding: 0; margin: 0; }
.steps li { counter-increment: session; border-top: 1px solid var(--line); padding-top: 24px; }
.steps li::before { content: '0' counter(session); display: block; color: var(--green); font-size: 12px; margin-bottom: 24px; }
.steps h3 { font-size: 21px; }
.steps p { font-size: 15px; color: var(--muted); margin: 0; }
.checklist { max-width: 720px; margin: 0 0 24px; padding-left: 20px; }
.checklist li { padding: 8px 0 8px 4px; }
.faqs { max-width: 860px; margin-bottom: 32px; border-top: 1px solid var(--line); }
details { border-bottom: 1px solid var(--line); }
summary { display: flex; align-items: flex-start; justify-content: space-between; min-height: 68px; padding: 22px 0; gap: 24px; cursor: pointer; list-style: none; font-size: 16px; font-weight: 500; }
summary::-webkit-details-marker { display: none; }
summary > span { font: 400 24px/1 Manrope, sans-serif; color: var(--green); flex-shrink: 0; transition: transform .18s; }
details[open] summary > span { transform: rotate(45deg); }
details > p { max-width: 730px; padding-right: 36px; font-size: 15px; color: var(--muted); }
.closing { background-color: #34352b; background-image: var(--announcement-gold); color: white; padding-block: 64px; }
.closing .wrap { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 64px; align-items: center; }
.closing h2 { grid-column: 1; margin-bottom: 16px; }
.closing p { grid-column: 1; margin: 0; max-width: 560px; font-size: 15px; }
.closing .button { grid-column: 2; grid-row: 1 / 3; margin: 0; }
.filters { display: flex; flex-wrap: wrap; gap: 28px; padding-bottom: 20px; margin-bottom: 32px; border-bottom: 1px solid var(--line); }
.filters button { min-height: 44px; padding: 8px 0; border: 0; background: transparent; color: var(--muted); font-size: 14px; border-bottom: 1px solid transparent; }
.filters button[aria-pressed='true'] { color: var(--button-gold-ink); border-bottom-color: var(--button-gold-ink); }
.filters button:hover { color: var(--button-gold-ink); }
.locations-list { display: grid; gap: 56px; }
.location-row { display: grid; grid-template-columns: 1.2fr 1fr; gap: 64px; align-items: center; }
.location-row:nth-child(even) figure { order: 2; }
.location-row img { width: 100%; height: auto; }
.location-row p { max-width: 480px; color: var(--muted); }
.location-note { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--line); max-width: 680px; }
.contact-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 72px; }
.enquiry-column { min-width: 0; }
.form-availability { margin-bottom: 28px; font-size: 14px; color: var(--muted); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
label { display: block; font-size: 14px; margin-bottom: 24px; font-weight: 500; }
input, select, textarea { display: block; width: 100%; min-height: 48px; margin-top: 8px; padding: 12px; border: 1px solid #87938b; border-radius: 3px; background: white; color: var(--ink); font-size: 16px; font-weight: 400; transition: border-color .18s; }
input:hover, select:hover, textarea:hover { border-color: var(--green); }
textarea { resize: vertical; }
[aria-invalid='true'] { border-color: #ae3828; }
.field-error { display: block; font-size: 12px; font-weight: 400; color: #ae3828; margin-top: 6px; }
.consent { display: grid; grid-template-columns: 20px 1fr; gap: 12px; font-size: 13px; font-weight: 400; align-items: start; }
.consent input { width: 18px; min-height: 18px; margin-top: 3px; accent-color: var(--green); }
.consent .field-error { grid-column: 2; }
.trap { position: absolute; left: -10000px; }
aside { border-left: 1px solid var(--line); padding-left: 40px; }
aside h2 { font-size: 28px; }
aside h3 { font-size: 21px; }
aside p { font-size: 15px; }
.contact-photo { width: 100%; height: auto; max-height: 380px; object-fit: cover; object-position: center 40%; margin-bottom: 32px; border-radius: 2px; }
#form-status { margin-top: 20px; font-size: 14px; max-width: 620px; }
#form-status:empty { display: none; }
footer { padding: 56px 0 24px; background: var(--soft); }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 48px; }
.footer-brand { display: inline-block; }
.footer-brand img { width: 260px; height: auto; }
.footer-grid p { max-width: 460px; font-size: 14px; color: var(--muted); margin-top: 16px; }
.footer-grid h2 { font: 500 14px/1.6 Montserrat, Arial, sans-serif; margin: 20px 0; }
.footer-grid > div > a:not(.footer-brand) { display: block; font-size: 13px; text-decoration: none; margin-bottom: 12px; }
.footer-grid > div > a:hover { text-decoration: underline; }
.footer-bottom { display: flex; justify-content: space-between; gap: 32px; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.mobile-action { display: none; }
dialog { border: 0; padding: 64px; background: #171c19; width: 96vw; max-width: 1440px; height: 92svh; color: white; }
dialog::backdrop { background: rgb(0 0 0 / .82); }
dialog[open] { animation: viewer-in .18s ease-out; }
dialog img { width: 100%; height: 100%; object-fit: contain; }
dialog[data-loading='true'] img { opacity: .35; }
dialog button { position: absolute; width: 48px; height: 48px; border: 1px solid #626b64; background: #171c19; color: white; border-radius: 3px; font-size: 24px; }
dialog button:hover { background: #323a35; }
.viewer-close { right: 12px; top: 12px; }
.viewer-prev { left: 8px; top: 50%; }
.viewer-next { right: 8px; top: 50%; }
.viewer-count { position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%); max-width: calc(100% - 24px); width: max-content; padding: 4px 12px; background: #171c19; border-radius: 3px; text-align: center; margin: 0; font-size: 13px; }
body.viewer-open { overflow: hidden; }
body[data-page='privacy'] main .section .wrap, body[data-page='terms'] main .section .wrap, body[data-page='terms-of-service'] main .section .wrap { max-width: 880px; }
body[data-page='terms-of-service'] h3 { margin-top: 32px; }
.session-overview .session img { aspect-ratio: 3 / 2; object-fit: cover; object-position: center 35%; }
@keyframes viewer-in { from { opacity: 0; } to { opacity: 1; } }
@media (min-width: 1024px) and (max-width: 1199px) {
  nav { gap: 20px; }
  .brand img { width: 200px; }
  .package { padding: 22px; }
}
@media (max-width: 1023px) {
  :root { --page-padding: 32px; --space-section: 64px; }
  .nav { height: 72px; }
  .brand img { width: 215px; height: 56px; }
  .menu-toggle { display: block; }
  nav { position: absolute; top: 72px; left: 0; right: 0; display: none; padding: 20px 32px 28px; background: white; border-bottom: 1px solid var(--line); max-height: calc(100svh - 72px); overflow: auto; }
  nav.open { display: flex; flex-direction: column; align-items: stretch; gap: 4px; }
  nav > a:not(.button) { min-height: 48px; }
  .session-menu > div { position: static; border: 0; box-shadow: none; width: 100%; padding: 0 0 12px 12px; }
  .session-menu { border-bottom: 1px solid var(--line); }
  nav > .button { margin-top: 16px; }
  .four { grid-template-columns: 1fr 1fr; }
  .gallery { columns: 2; }
  .home-gallery { columns: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .editorial-pair, .location-row { gap: 40px; }
  .contact-grid { gap: 40px; }
  .three { grid-template-columns: 1fr; }
  .package { max-width: 720px; }
  .intro { padding-block: 56px 40px; }
  .hero h1 { font-size: 48px; }
}
@media (max-width: 767px) {
  :root { --page-padding: 20px; --space-section: 48px; }
  body { padding-bottom: 76px; }
  html { scroll-padding-top: 88px; }
  h1 { font-size: 32px; }
  h2 { font-size: 28px; margin-bottom: 24px; }
  h3 { font-size: 22px; }
  .lead { font-size: 17px; }
  .nav { height: 64px; }
  .brand img { width: 210px; height: 52px; }
  nav { top: 64px; padding-inline: 20px; max-height: calc(100svh - 64px); }
  .intro { padding-block: 40px 32px; }
  .intro .eyebrow { margin-bottom: 16px; }
  .hero { height: 620px; min-height: 500px; max-height: calc(100svh - 140px); }
  .hero > picture img { object-position: center top; }
  .hero::after { background: linear-gradient(0deg, rgb(18 26 21 / .94), rgb(18 26 21 / .28) 38%, transparent 67%); }
  .hero-inner { justify-content: flex-end; padding-bottom: 84px; }
  .hero-slide img { object-position: center top; transform-origin: center 35%; }
  .hero-controls { right: 20px; bottom: 16px; }
  .hero h1 { font-size: 36px; margin-bottom: 16px; }
  .hero .eyebrow { margin-bottom: 12px; }
  .hero p:not(.eyebrow) { font-size: 16px; margin-bottom: 24px; }
  .welcome { flex-direction: column; align-items: flex-start; gap: 8px; padding-block: 22px; font-size: 13px; }
  .two, .editorial-pair, .location-row, .contact-grid, .form-grid, .package-preview { grid-template-columns: 1fr; }
  .four { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
  .feature h3, .steps h3 { font-size: 20px; }
  .feature p, .steps p { font-size: 14px; }
  .feature-icon { margin-bottom: 20px; }
  .section-top { display: block; margin-bottom: 24px; }
  .section-top a { display: inline-block; }
  .gallery { column-gap: 12px; }
  .home-gallery { gap: 12px; }
  .photo-button { margin-bottom: 12px; }
  .gallery-footer { flex-direction: column; align-items: flex-start; }
  .filters { gap: 24px; padding-bottom: 8px; margin-bottom: 24px; }
  .filters button { font-size: 13px; }
  .text-session { padding: 28px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .text-session h3 { font-size: 26px; }
  .editorial-pair { gap: 28px; }
  .couple-opening .wide-photo { aspect-ratio: 3 / 2; }
  .location-row { gap: 24px; }
  .location-row:nth-child(even) figure { order: 0; }
  .locations-list { gap: 40px; }
  .closing { padding-block: 40px; }
  .closing .wrap { grid-template-columns: 1fr; }
  .closing .button { grid-row: auto; grid-column: 1; justify-self: start; margin-top: 24px; }
  .faqs { margin-bottom: 24px; }
  summary { font-size: 15px; min-height: 64px; padding-block: 20px; }
  .form-grid label { margin-bottom: 20px; }
  aside { padding: 28px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .contact-photo { max-height: 320px; }
  .mobile-action:not([hidden]) { display: flex; position: fixed; bottom: 0; left: 0; right: 0; z-index: 15; align-items: center; gap: 16px; padding: 10px 20px max(10px, env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: white; }
  .mobile-action .button { flex: 1; }
  .mobile-action > a:not(.button) { font-size: 13px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
  .footer-brand img { width: 230px; height: auto; }
  .footer-bottom { flex-direction: column; gap: 12px; }
  dialog { padding: 60px 40px; height: 90svh; }
  body[data-page='contact'] { padding-bottom: 0; }
  body[data-page='contact'] .mobile-action { display: none; }
}
@media (max-width: 359px) {
  .brand img { width: 186px; }
  .four { grid-template-columns: 1fr; }
  .hero h1 { font-size: 32px; }
  .hero .eyebrow { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
.team-preview { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.team-preview img { width: 100%; aspect-ratio: 4 / 5; object-fit: contain; background: #101010; }
.team-preview figcaption { padding-top: 12px; font-size: 14px; }
.team-preview figcaption strong, .team-preview figcaption span { display: block; }
.team-preview figcaption span { color: var(--muted); font-size: 12px; margin-top: 4px; }
.team-profiles { display: grid; gap: 80px; }
.team-profile { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 64px; }
.team-profile figure { max-width: 460px; }
.team-profile img { width: 100%; height: auto; }
.team-profile h2 { margin-bottom: 8px; }
.known-as { color: var(--muted); font-size: 14px; margin-bottom: 24px; }
.footer-cookie-settings { display: block; min-height: 44px; padding: 8px 0; border: 0; background: transparent; color: inherit; text-decoration: underline; font-size: 13px; text-align: left; }
.consent-open { overflow: hidden; }
.cookie-dialog { width: calc(100% - 40px); max-width: 620px; height: auto; max-height: calc(100svh - 40px); padding: 36px; border: 1px solid var(--line); border-radius: 6px; background: white; color: var(--ink); overflow: auto; }
.cookie-dialog::backdrop { background: rgb(18 26 21 / .6); }
.cookie-dialog[open] { animation: none; height: fit-content; }
.cookie-dialog h2 { font-size: 28px; margin-bottom: 16px; }
.cookie-dialog p { font-size: 14px; }
.cookie-policy-link { font-size: 13px; }
#cookie-options { margin-top: 20px; }
.cookie-option { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 16px 0; border-bottom: 1px solid var(--line); margin: 0; }
.cookie-option strong, .cookie-option small { display: block; }
.cookie-option strong { font-size: 14px; }
.cookie-option small { margin-top: 4px; font-size: 12px; color: var(--muted); line-height: 1.6; }
.cookie-option input { width: 22px; height: 22px; min-height: 22px; margin: 0; padding: 0; flex-shrink: 0; accent-color: var(--green); }
.cookie-option input:disabled { cursor: default; }
.cookie-note { color: var(--muted); margin-top: 16px; }
.cookie-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }
.cookie-dialog .button { position: static; width: auto; height: auto; min-height: 48px; font-size: 14px; background: var(--button-gold); border-color: var(--button-gold); color: white; }
.cookie-dialog .button:hover { background: var(--button-gold-hover); border-color: var(--button-gold-hover); }
.cookie-dialog .secondary { background: white; color: var(--button-gold-ink); }
.cookie-dialog .secondary:hover { background: #f6f1e7; }
#cookie-customize, #cookie-save { grid-column: 1 / -1; }
#cookie-feedback:empty { display: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.floating-actions { position: fixed; right: max(22px, env(safe-area-inset-right)); bottom: var(--floating-bottom, 22px); z-index: 18; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.floating-actions button, .whatsapp-float { border-radius: 3px; box-shadow: 0 8px 24px rgb(32 32 29 / .18); }
.back-to-top { display: grid; place-items: center; width: 46px; height: 46px; padding: 0; border: 1px solid rgb(37 42 40 / .15); background: rgb(255 255 255 / .78); color: #272116; backdrop-filter: blur(6px); transition: background .18s, border-color .18s; }
.back-to-top:hover { border-color: var(--button-gold); background: rgb(255 255 255 / .94); }
.whatsapp-float { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 19px; background: linear-gradient(115deg, rgb(218 194 139 / .85), rgb(244 231 197 / .85), rgb(227 205 154 / .85)); border: 1px solid rgb(170 139 78 / .45); color: #272116; text-decoration: none; font-size: 12px; font-weight: 700; backdrop-filter: blur(6px); transition: border-color .18s; }
.whatsapp-float:hover { border-color: #8b713d; background: linear-gradient(115deg, rgb(218 194 139 / .95), rgb(244 231 197 / .95), rgb(227 205 154 / .95)); }
.floating-actions svg { flex-shrink: 0; }
body[data-page='index'] header { position: fixed; inset: var(--header-offset, 35px) 0 auto; background: transparent; backdrop-filter: none; border-color: rgb(255 255 255 / .3); transition: background .2s, border-color .2s; }
body[data-page='index'] header:not(.is-scrolled):not(:has(nav.open)) .brand img { filter: brightness(0) invert(1); }
body[data-page='index'] header:not(.is-scrolled) nav:not(.open) > a:not(.button), body[data-page='index'] header:not(.is-scrolled) nav:not(.open) .session-menu > summary { color: white; }
body[data-page='index'] header:not(.is-scrolled) nav:not(.open) > a:not(.button):hover, body[data-page='index'] header:not(.is-scrolled) nav:not(.open) .session-menu > summary:hover { color: #d8c08c; }
body[data-page='index'] header:not(.is-scrolled) nav:not(.open) > .button { background: rgb(139 113 61 / .3); border-color: rgb(255 255 255 / .65); color: white; text-shadow: 0 1px 2px rgb(0 0 0 / .65); }
body[data-page='index'] header:not(.is-scrolled) nav:not(.open) > .button:hover { background: rgb(113 91 47 / .55); border-color: white; }
body[data-page='index'] header:not(.is-scrolled):not(:has(nav.open)) .menu-toggle { color: white; }
body[data-page='index'] header.is-scrolled { background: rgb(255 255 255 / .88); border-color: var(--line); backdrop-filter: blur(8px); }
body[data-page='index'] header:has(nav.open) { background: white; border-color: var(--line); backdrop-filter: none; }
body[data-page='index'] #main { margin-top: calc(-1 * var(--announcement-height, 35px)); }
body[data-page='index'] .hero { height: calc(728px + var(--announcement-height, 35px)); min-height: calc(548px + var(--announcement-height, 35px)); max-height: calc(100svh - 78px + var(--announcement-height, 35px)); }
body[data-page='index'] .hero-inner { padding-top: calc(88px + var(--announcement-height, 35px)); }
body[data-page='index'] .hero::before { content: ''; position: absolute; z-index: 1; inset: 0 0 auto; height: 180px; background: linear-gradient(rgb(18 26 21 / .7), transparent); pointer-events: none; }
.mobile-action [data-whatsapp] { display: none; }
.story-list { padding-bottom: var(--space-section); }
.story-list-item { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; padding-block: 40px; border-bottom: 1px solid var(--line); }
.story-list-item:first-child { padding-top: 0; }
.story-list-item h2 { font-size: 30px; margin-bottom: 18px; }
.story-list-item h2 a { color: var(--button-gold-ink); text-decoration: none; }
.story-list-item h2 a:hover { color: var(--button-gold-hover); }
.story-list-photo { display: block; overflow: hidden; }
.story-list-photo img { width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover; object-position: center 35%; transition: opacity .18s; }
.story-list-photo:hover img { opacity: .9; }
.story-read { display: inline-block; padding-block: 10px; font-size: 14px; }
.story-back { margin-bottom: 24px; font-size: 14px; }
.story-feature img { width: 100%; height: auto; max-height: 720px; object-fit: cover; object-position: center 35%; }
.story-article { max-width: 880px; padding-block: 56px 0; }
.story-byline { color: var(--muted); font-size: 13px; margin-bottom: 40px; }
.story-article section { margin-bottom: 40px; }
.story-article h2 { font-size: 28px; margin-bottom: 20px; }
.story-next { display: flex; justify-content: space-between; gap: 24px; padding-block: 32px 56px; font-size: 14px; }
@media (min-width: 1024px) and (max-width: 1199px) {
  .nav { height: 72px; }
  .menu-toggle { display: block; }
  #navigation { position: absolute; top: 72px; left: 0; right: 0; display: none; padding: 20px 32px 28px; background: white; border-bottom: 1px solid var(--line); max-height: calc(100svh - 72px); overflow: auto; }
  #navigation.open { display: flex; flex-direction: column; align-items: stretch; gap: 4px; }
  #navigation > a { min-height: 48px; }
  #navigation > .button { margin-top: 16px; }
  .session-menu > div { position: static; border: 0; box-shadow: none; width: 100%; padding: 0 0 12px 12px; }
}
body.consent-open .floating-actions, body.viewer-open .floating-actions, body:has(nav.open) .floating-actions { visibility: hidden; }
@media (max-width: 767px) {
  .story-list-item { grid-template-columns: 1fr; gap: 24px; padding-block: 32px; }
  .story-list-item h2 { font-size: 26px; }
  .story-article { padding-top: 32px; }
  .story-article h2 { font-size: 24px; }
  .story-next { flex-direction: column; gap: 16px; }
  body[data-page='index'] .hero { height: calc(684px + var(--announcement-height, 54px)); min-height: calc(564px + var(--announcement-height, 54px)); max-height: calc(100svh - 76px + var(--announcement-height, 54px)); }
  body[data-page='index'] .hero-inner { padding-top: calc(64px + var(--announcement-height, 54px)); }
  .floating-actions { right: max(16px, env(safe-area-inset-right)); }
  .whatsapp-float { width: 54px; padding: 0; }
  .whatsapp-float span { display: none; }
  .team-profile { grid-template-columns: 1fr; gap: 28px; }
  .team-profile figure { max-width: 360px; }
  .team-profiles { gap: 48px; }
  .cookie-dialog { padding: 24px; }
  .cookie-dialog h2 { font-size: 24px; }
  .cookie-actions { grid-template-columns: 1fr; }
}
.language-switch{position:relative;flex-shrink:0;margin-left:24px;border:0}
.language-switch summary{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 4px;cursor:pointer;list-style:none;font-size:14px;min-height:44px;color:#171717}
.language-flag{display:block;width:18px;height:12px;flex-shrink:0;overflow:hidden;outline:1px solid rgb(0 0 0 / .12)}
.language-switch summary .language-chevron{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .18s;color:inherit}
.language-switch summary::-webkit-details-marker{display:none}
.language-switch summary:hover,.language-switch summary:focus-visible{color:var(--button-gold-ink)}
.language-switch[open] summary .language-chevron{transform:rotate(225deg)}
.language-options{position:absolute;top:calc(100% + 4px);right:0;min-width:170px;background:rgb(255 255 255 / .65);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgb(227 217 196 / .55);border-top:2px solid #8a713d;border-radius:4px;padding:4px;box-shadow:0 8px 20px #00000014;z-index:5}
.language-switch[open] .language-options{animation:language-reveal .18s ease-out}
.language-switch a{display:flex;align-items:center;gap:8px;font-size:12px;padding:8px;color:#171717;border-radius:3px;text-decoration:none;white-space:nowrap}
.language-switch a:hover,.language-switch a:focus-visible{background:rgb(244 241 233 / .55);color:#483716}
.language-switch a[aria-current=true]{color:#483716;background:rgb(244 241 233 / .35);text-decoration:none}
@keyframes language-reveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.language-switch[open] .language-options{animation:none}.language-chevron{transition:none}}
body[data-page=index] header:not(.is-scrolled):not(:has(nav.open)) .language-switch summary{color:white}
@media(max-width:1199px){.language-switch{margin-left:0;margin-top:12px}.language-options{position:static;box-shadow:none;margin-top:6px;max-width:260px}.language-switch summary{min-height:48px;justify-content:flex-start}}
@media(min-width:1200px){#navigation{gap:20px}}
.related-links{display:flex;flex-wrap:wrap;gap:14px 28px;padding:0;list-style:none;margin-top:24px}
.story-related{padding-block:24px;display:flex;flex-wrap:wrap;gap:12px}
