:root {
  --black: #0b0b0b;
  --black-2: #111111;
  --green: #0f3d2e;
  --green-2: #0b2d22;
  --gold: #c9a24d;
  --ivory: #efece6;
  --muted: rgba(239, 236, 230, .72);
  --line: rgba(201, 162, 77, .35);
  --shadow: 0 18px 55px rgba(0, 0, 0, .55);
  --radius: 18px;
}

* {
  box-sizing: border-box;
}

html,
body {
  height: 100%;
}

body {
  margin: 0;
  background: radial-gradient(1200px 600px at 70% 10%, rgba(15, 61, 46, .18), transparent 60%),
    radial-gradient(900px 450px at 10% 30%, rgba(201, 162, 77, .10), transparent 55%),
    var(--black);
  color: var(--ivory);
  font-family: "Montserrat", sans-serif;
  letter-spacing: .2px;
  overflow-x: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

.container {
  width: min(1100px, 92vw);
  margin: 0 auto;
}

/* NAV */
.nav {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 30;
  background: linear-gradient(to bottom, rgba(11, 11, 11, .92), rgba(11, 11, 11, .65), transparent);
  backdrop-filter: blur(10px);
  transition: .25s ease;
}

.nav--scrolled {
  background: rgba(11, 11, 11, .86);
  border-bottom: 1px solid rgba(201, 162, 77, .10);
}

.nav__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
  border-bottom: 1px solid rgba(201, 162, 77, .10);
  transition: .25s ease;
}

.nav--scrolled .nav__inner {
  padding: 10px 0;
  border-bottom-color: rgba(201, 162, 77, .08);
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  letter-spacing: 3px;
  font-family: "Cormorant Garamond", serif;
}

.brand__mark {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(201, 162, 77, .25);
  background: rgba(201, 162, 77, .06);
  color: var(--gold);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .35);
}

.brand__text {
  display: flex;
  flex-direction: column;
  gap: 2px;

}

.brand strong {
  font-size: 18px;
  color: var(--gold);
  font-weight: 600;
  text-transform: uppercase;
}

.brand span {
  font-size: 12px;
  color: var(--muted);
  letter-spacing: 1.5px;
  font-family: "Cormorant Garamond", serif;
  text-transform: none;
}

.brand__subtitle--short {
  display: none;
}

.nav__links {
  display: flex;
  gap: 26px;
  align-items: center;
  font-size: 10px;
  color: rgba(239, 236, 230, .85);
  text-transform: uppercase;
  letter-spacing: 1.7px;
}

.nav__links a {
  position: relative;
  padding: 10px 0;
  transition: .2s ease;
}

.nav__links a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 4px;
  left: 0;
  height: 1px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .25s ease;
}

.nav__links a:hover {
  color: var(--gold);
}

.nav__links a:hover::after,
.nav__links a:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left;
}

.nav__links .nav__reviewLink {
  color: var(--gold);
  font-weight: 500;
}

.nav__links .nav__reviewLink::after {
  transform: scaleX(1);
}


.nav__toggle {
  display: none;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(201, 162, 77, .45);
  border-radius: 12px;
  background: rgba(201, 162, 77, .06);
  color: var(--gold);
  cursor: pointer;
  place-items: center;
  position: relative;
}

.nav__toggle span {
  position: absolute;
  left: 12px;
  right: 12px;
  height: 1px;
  background: currentColor;
  transition: transform .2s ease, opacity .2s ease, top .2s ease;
}

.nav__toggle span:nth-child(1) {
  top: 14px;
}

.nav__toggle span:nth-child(2) {
  top: 21px;
}

.nav__toggle span:nth-child(3) {
  top: 28px;
}

.nav.is-open .nav__toggle span:nth-child(1) {
  top: 21px;
  transform: rotate(45deg);
}

.nav.is-open .nav__toggle span:nth-child(2) {
  opacity: 0;
}

.nav.is-open .nav__toggle span:nth-child(3) {
  top: 21px;
  transform: rotate(-45deg);
}

.nav__cta {
  padding: 10px 14px;
  border: 1px solid rgba(201, 162, 77, .55);
  border-radius: 999px;
  color: var(--gold);
  transition: .2s ease;
  white-space: nowrap;
}

.nav__cta:hover {
  background: rgba(201, 162, 77, .10);
  transform: translateY(-1px);
}

/* HERO */
.hero {
  min-height: 100vh;
  display: grid;
  place-items: center;
  position: relative;
  padding-top: 86px;
}

.hero__bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom, rgba(11, 11, 11, .80), rgba(11, 11, 11, .35), rgba(11, 11, 11, .92)),
    radial-gradient(1200px 600px at 50% 35%, rgba(0, 0, 0, .15), rgba(0, 0, 0, .78)),
    url("../img/background.jpg");
  background-size: cover;
  background-position: center 30%;
  filter: saturate(.95) contrast(1.05);
  transform: translateY(0);
  will-change: transform;
}

.hero__grain {
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");
  mix-blend-mode: overlay;
  opacity: .25;
  pointer-events: none;
}

.hero__content {
  position: relative;
  width: min(900px, 92vw);
  text-align: center;
  padding: 46px 18px 30px;
}

.kicker {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: rgba(239, 236, 230, .8);
  text-transform: uppercase;
  letter-spacing: 3px;
  font-size: 11px;
}

.kicker::before,
.kicker::after {
  content: "";
  height: 1px;
  width: 64px;
  background: rgba(201, 162, 77, .35);
}

h1 {
  margin: 18px 0 12px;
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  color: var(--gold);
  letter-spacing: 2px;
  text-transform: uppercase;
  line-height: 1.02;
  font-size: clamp(36px, 5vw, 64px);
  text-shadow: 0 12px 40px rgba(0, 0, 0, .55);
}

.hero p {
  margin: 0 auto 22px;
  max-width: 700px;
  color: rgba(239, 236, 230, .86);
  font-weight: 300;
  line-height: 1.7;
  font-size: 14px;
}

.hero__ctaRow {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 8px;
}

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 999px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
  transition: .2s ease;
  user-select: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.btn--gold {
  background: linear-gradient(180deg, rgba(201, 162, 77, .95), rgba(201, 162, 77, .78));
  color: #140f05;
  box-shadow: 0 12px 35px rgba(201, 162, 77, .12);
  border: 1px solid rgba(201, 162, 77, .55);
}

.btn--gold:hover {
  transform: translateY(-2px);
  filter: brightness(1.03);
}

.btn--ghost {
  border: 1px solid rgba(239, 236, 230, .25);
  color: rgba(239, 236, 230, .88);
  background: rgba(0, 0, 0, .20);
}

.btn--ghost:hover {
  border-color: rgba(201, 162, 77, .45);
  color: var(--gold);
  transform: translateY(-2px);
}

/* shimmer */
.btn--shimmer::after {
  content: "";
  position: absolute;
  inset: -20%;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, .35) 45%, transparent 70%);
  transform: translateX(-120%) skewX(-15deg);
  opacity: .55;
}

.btn--shimmer:hover::after {
  animation: shimmer 1.1s ease forwards;
}

@keyframes shimmer {
  to {
    transform: translateX(120%) skewX(-15deg);
  }
}

.scrollHint {
  position: absolute;
  bottom: 22px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(239, 236, 230, .55);
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.scrollDot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(201, 162, 77, .75);
  box-shadow: 0 0 0 10px rgba(201, 162, 77, .12);
  animation: pulse 2.2s infinite ease-in-out;
}

@keyframes pulse {

  0%,
  100% {
    transform: scale(.95);
    opacity: .75;
  }

  50% {
    transform: scale(1.15);
    opacity: 1;
  }
}

/* Sections */
section {
  padding: 76px 0;
  position: relative;
}

.sectionTitle {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 16px;
  color: var(--gold);
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: 22px;
  margin: 0 0 22px;
  margin-top: 15px;
  text-align:center;
}

.sectionTitle::before,
.sectionTitle::after {
  content: "";
  height: 1px;
  width: 110px;
  background: rgba(201, 162, 77, .25);
}

.sectionSub {
  text-align: center;
  color: rgba(239, 236, 230, .72);
  font-size: 15px;
  line-height: 1.8;
  font-weight: 300;
}

.sectionSub--compact {
  max-width: 620px;
  margin: 0 auto;
}

.sectionSub--wide {
  max-width: 640px;
  margin: 0 auto;
}

.pageSection {
  min-height: calc(100vh - 120px);
  padding: 150px 0 96px;
}

.pageLead {
  max-width: 780px;
  margin: 0 auto;
  text-align: center;
}

.pageLead h1 {
  margin-top: 18px;
}

.pageLead p {
  max-width: 680px;
  margin: 0 auto;
  color: rgba(239, 236, 230, .82);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.8;
}

/* reveal on scroll */
.hero__content > * {
  animation: heroReveal .9s cubic-bezier(.2, .8, .2, 1) both;
}

.hero__content > *:nth-child(2) {
  animation-delay: .08s;
}

.hero__content > *:nth-child(3) {
  animation-delay: .16s;
}

.hero__content > *:nth-child(4) {
  animation-delay: .24s;
}

.hero__content > *:nth-child(5) {
  animation-delay: .32s;
}

.reveal,
[data-reveal] {
  opacity: 0;
  transform: translateY(28px);
  filter: blur(10px);
  transition:
    opacity .82s cubic-bezier(.2, .8, .2, 1),
    transform .82s cubic-bezier(.2, .8, .2, 1),
    filter .82s cubic-bezier(.2, .8, .2, 1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform, filter;
}

[data-reveal="soft"] {
  transform: translateY(18px);
}

[data-reveal="card"] {
  transform: translateY(34px) scale(.985);
}

[data-reveal="image"] {
  transform: translateY(20px) scale(.985);
  transition-duration: .52s;
}

#galleryGrid .item[data-reveal],
.artCard[data-reveal],
.womenCard[data-reveal],
.projectCard[data-reveal] {
  transform: translateY(20px) scale(.99);
  transition-duration: .48s;
}

.reveal.is-visible,
[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}

@keyframes heroReveal {
  from {
    opacity: 0;
    transform: translateY(22px);
    filter: blur(12px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero__content > * {
    animation: none;
  }

  .reveal,
  [data-reveal] {
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
  }
}

/* Gallery */
.gallery {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(15, 61, 46, .06), rgba(255, 255, 255, 0));
}

.grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 14px;
}

.tile {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
  box-shadow: var(--shadow);
  background: #0e0e0e;
  border: 1px solid rgba(201, 162, 77, .10);
  transform: perspective(900px) rotateX(0) rotateY(0);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.tile::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(600px 260px at 30% 20%, rgba(201, 162, 77, .16), transparent 60%);
  opacity: 0;
  transition: .25s ease;
  pointer-events: none;
}

.tile::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, .55));
  opacity: .65;
  pointer-events: none;
  transition: .25s ease;
}

.tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.03);
  transition: .35s ease;
  filter: contrast(1.05) saturate(.96);
}

.tile:hover {
  border-color: rgba(201, 162, 77, .22);
  box-shadow: 0 22px 70px rgba(0, 0, 0, .65);
}

.tile:hover img {
  transform: scale(1.07);
}

.tile:hover::after {
  opacity: .45;
}

.tile:hover::before {
  opacity: 1;
}

.tile:hover .frame {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.frame {
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(100% - 24px);
  height: calc(100% - 24px);
  border-radius: 14px;
  border: 1px solid rgba(201, 162, 77, .55);
  opacity: 0;
  transform: translate(-50%, -50%) scale(.98);
  transition: .25s ease;
  pointer-events: none;
  box-shadow: 0 0 0 10px rgba(201, 162, 77, .06);
}

/* Masonry-like sizing */
.t1 {
  grid-column: span 4;
  grid-row: span 2;
  min-height: 360px;
}

.t2 {
  grid-column: span 4;
  grid-row: span 1;
  min-height: 170px;
}

.t3 {
  grid-column: span 4;
  grid-row: span 1;
  min-height: 170px;
}

.t4 {
  grid-column: span 4;
  grid-row: span 2;
  min-height: 360px;
}

.t5 {
  grid-column: span 4;
  grid-row: span 1;
  min-height: 170px;
}

.t6 {
  grid-column: span 4;
  grid-row: span 1;
  min-height: 170px;
}

.galleryFooter {
  display: flex;
  justify-content: center;
  margin-top: 22px;
}

.linkArrow {
  color: var(--gold);
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(201, 162, 77, .35);
  background: rgba(201, 162, 77, .06);
  transition: .2s ease;
}

.linkArrow:hover {
  transform: translateY(-2px);
}

/* Offer */
.offer {
  background:
    radial-gradient(900px 420px at 80% 20%, rgba(201, 162, 77, .08), transparent 58%),
    linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(15, 61, 46, .08));
}

.offerGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-top: 34px;
}

.offerCard {
  border: 1px solid rgba(201, 162, 77, .18);
  background: linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, .015));
  border-radius: var(--radius);
  padding: 26px;
  box-shadow: 0 18px 55px rgba(0, 0, 0, .22);
}

.offerCard {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
}

.offerCard__eyebrow {
  color: var(--gold);
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.offerCard h3 {
  margin: 0;
  font-family: "Cormorant Garamond", serif;
  color: var(--ivory);
  font-size: 30px;
  line-height: 1;
}

.offerCard p {
  margin: 0;
  color: rgba(239, 236, 230, .78);
  font-size: 13px;
  font-weight: 300;
  line-height: 1.8;
}

.offerCard .linkArrow {
  margin-top: auto;
}

.voucherInfo {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 26px;
  align-items: center;
  margin-top: 28px;
  padding: 30px;
  border: 1px solid rgba(201, 162, 77, .24);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(201, 162, 77, .08), rgba(255, 255, 255, .018)),
    rgba(0, 0, 0, .18);
  box-shadow: 0 20px 65px rgba(0, 0, 0, .25);
}

.voucherInfo h2 {
  margin: 10px 0 12px;
  color: var(--gold);
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1;
}

.voucherInfo p {
  max-width: 720px;
  margin: 0;
  color: rgba(239, 236, 230, .78);
  font-size: 14px;
  font-weight: 300;
  line-height: 1.8;
}

/* Reviews */
.reviews {
  background:
    linear-gradient(180deg, rgba(8, 27, 22, .58), rgba(9, 45, 34, .40)),
    radial-gradient(760px 360px at 18% 30%, rgba(201, 162, 77, .08), transparent 58%);
  border-top: 1px solid rgba(201, 162, 77, .08);
  border-bottom: 1px solid rgba(201, 162, 77, .08);
}

.reviewsGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
  margin-top: 42px;
}

.reviewCard {
  position: relative;
  display: grid;
  grid-template-columns: minmax(150px, .82fr) minmax(0, 1.18fr);
  min-height: 360px;
  overflow: hidden;
  border: 1px solid rgba(201, 162, 77, .18);
  border-radius: 24px 6px 24px 6px;
  background: linear-gradient(135deg, rgba(255, 255, 255, .04), rgba(5, 17, 12, .76));
  box-shadow: 0 24px 64px rgba(0, 0, 0, .3);
}

.reviewCard:nth-child(even) {
  grid-template-columns: minmax(0, 1.18fr) minmax(150px, .82fr);
}

.reviewCard:nth-child(even) .reviewCard__image {
  order: 2;
}

.reviewCard__image {
  position: relative;
  min-height: 100%;
  overflow: hidden;
}

.reviewCard__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 50%, rgba(4, 12, 8, .5));
  pointer-events: none;
}

.reviewCard:nth-child(even) .reviewCard__image::after {
  background: linear-gradient(270deg, transparent 50%, rgba(4, 12, 8, .5));
}

.reviewCard__portrait {
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  object-position: center;
  transition: transform .7s ease;
}

.reviewCard:hover .reviewCard__portrait {
  transform: scale(1.035);
}

.reviewCard__quote {
  display: flex;
  flex-direction: column;
  padding: 34px 30px 30px;
}

.reviewCard__quote > span {
  height: 44px;
  color: rgba(201, 162, 77, .58);
  font-family: "Cormorant Garamond", serif;
  font-size: 68px;
  line-height: .8;
}

.reviewCard__quote p {
  margin: 0;
  font-family: "Cormorant Garamond", serif;
  color: rgba(239, 236, 230, .9);
  font-size: clamp(19px, 2vw, 23px);
  line-height: 1.38;
}

.reviewCard__quote strong {
  margin-top: auto;
  padding-top: 24px;
  color: var(--gold);
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.reviewCard--wide {
  grid-column: span 2;
  grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr);
  min-height: 390px;
}

/* About */
.about {
  background:
    radial-gradient(900px 420px at 30% 20%, rgba(201, 162, 77, .10), transparent 60%),
    linear-gradient(180deg, rgba(8, 27, 22, 0.78), rgba(9, 45, 34, .70));
  border-top: 1px solid rgba(201, 162, 77, .08);
  border-bottom: 1px solid rgba(201, 162, 77, .08);
}



.aboutWrap {
  display: grid;
  grid-template-columns: 1.05fr 1.25fr;
  gap: 30px;
  align-items: center;
}

.portrait {
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid rgba(201, 162, 77, .22);
  position: relative;
}

.brand_logo {
  border-radius: var(--radius);
  overflow: hidden;

}


.portrait::after {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px solid rgba(201, 162, 77, .55);
  border-radius: calc(var(--radius) - 6px);
  pointer-events: none;
  opacity: .85;
}

.portrait img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  /* filter: grayscale(1) contrast(1.05); */
  min-height: 420px;
}

.brand_logo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  /* filter: grayscale(1) contrast(1.05); */
  min-height: 420px;
}

.aboutText h3 {
  margin: 0 0 12px;
  font-family: "Cormorant Garamond", serif;
  color: var(--gold);
  font-size: 32px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.brandText h3 {
  margin: 0 0 12px;
  font-family: "Cormorant Garamond", serif;
  color: var(--gold);
  font-size: 32px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.quote {
  margin: 0 0 14px;
  color: rgba(239, 236, 230, .92);
  font-weight: 300;
  font-size: 15px;
  line-height: 1.9;
}

.aboutText p {
  margin: 0 0 18px;
  color: rgba(239, 236, 230, .78);
  font-weight: 300;
  line-height: 1.9;
  font-size: 13px;
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
}

.brandText p {
  margin: 0 0 18px;
  color: rgba(239, 236, 230, .78);
  font-weight: 300;
  line-height: 1.9;
  font-size: 13px;
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
}

.signature {
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  color: rgba(201, 162, 77, .95);
  font-size: 34px;
  letter-spacing: 1px;
  opacity: .95;
}

/* Calendar */
.calendar {
  background:
    radial-gradient(900px 420px at 70% 0%, rgba(15, 61, 46, .18), transparent 60%),
    radial-gradient(900px 420px at 20% 30%, rgba(201, 162, 77, .08), transparent 55%);
}

.calCard {
  width: min(760px, 100%);
  margin: 0 auto;
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(11, 11, 11, .80), rgba(11, 11, 11, .62));
  border: 1px solid rgba(201, 162, 77, .16);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.calHead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 18px;
  border-bottom: 1px solid rgba(201, 162, 77, .12);
  background: linear-gradient(180deg, rgba(15, 61, 46, .30), rgba(0, 0, 0, 0));
}

.calHead strong {
  color: var(--gold);
  font-family: "Cormorant Garamond", serif;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 16px;
}

.calNav {
  display: flex;
  gap: 8px;
  align-items: center;
}

.iconBtn {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  border: 1px solid rgba(201, 162, 77, .18);
  background: rgba(201, 162, 77, .06);
  color: var(--gold);
  cursor: pointer;
  user-select: none;
  transition: .2s ease;
}

.iconBtn:hover {
  transform: translateY(-1px);
  border-color: rgba(201, 162, 77, .35);
}

.calBody {
  padding: 16px 16px 18px;
}

.weekdays,
.days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
}

.weekdays div {
  text-align: center;
  color: rgba(239, 236, 230, .66);
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 8px 0;
  border-bottom: 1px solid rgba(201, 162, 77, .08);
  margin-bottom: 6px;
}

.day {
  height: 44px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(239, 236, 230, .08);
  background: rgba(0, 0, 0, .22);
  color: rgba(239, 236, 230, .78);
  font-size: 12px;
}

.day.is-empty {
  opacity: .15;
  border-style: dashed;
}

.day.is-free {
  border-color: rgba(201, 162, 77, .55);
  box-shadow: 0 0 0 8px rgba(201, 162, 77, .06);
  color: var(--ivory);
}

.day.is-busy {
  opacity: .40;
  text-decoration: line-through;
}

.calFooter {
  padding: 0 16px 16px;
  display: flex;
  justify-content: center;
}

/* Contact */
.contact {
  background:
    linear-gradient(180deg, rgba(8, 27, 22, 0.78), rgba(9, 45, 34, .70)),
    radial-gradient(900px 420px at 80% 40%, rgba(201, 162, 77, .08), transparent 55%);
  border-top: 1px solid rgba(201, 162, 77, .10);
}

.formCard {
  width: min(760px, 100%);
  margin: 0 auto;
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(11, 11, 11, .82), rgba(11, 11, 11, .60));
  border: 1px solid rgba(201, 162, 77, .16);
  box-shadow: var(--shadow);
  padding: 18px;
}

form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

label {
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(239, 236, 230, .70);
}

input,
select,
textarea {
  border-radius: 14px;
  border: 1px solid rgba(239, 236, 230, .12);
  background: rgba(0, 0, 0, .30);
  color: var(--ivory);
  padding: 12px 12px;
  font-size: 13px;
  outline: none;
  transition: .2s ease;
}

input:focus,
select:focus,
textarea:focus {
  border-color: rgba(201, 162, 77, .55);
  box-shadow: 0 0 0 8px rgba(201, 162, 77, .08);
}

textarea {
  min-height: 120px;
  resize: vertical;
  grid-column: 1 / -1;
}

.full {
  grid-column: 1 / -1;
}

.formActions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 6px;
}

.smallNote {
  max-width: 490px;
  color: rgba(239, 236, 230, .70);
  font-size: 12px;
  font-weight: 300;
  line-height: 1.7;
}

.smallNote a {
  color: var(--gold);
  text-decoration: underline;
  text-decoration-color: rgba(201, 162, 77, .35);
  text-underline-offset: 3px;
}

.smallNote a:hover,
.smallNote a:focus-visible {
  text-decoration-color: currentColor;
}

.toast {
  margin-top: 12px;
  color: rgba(239, 236, 230, .90);
  font-size: 12px;
  display: none;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(201, 162, 77, .22);
  background: rgba(201, 162, 77, .08);
}

.hp {
  display: none !important;
}

/* Footer */
.siteFooter {
  padding: 0 0 16px;
  border-top: 1px solid rgba(201, 162, 77, .2);
  background: #070907;
}

.foot {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.foot__main {
  display: grid;
  grid-template-columns: minmax(0, 1.75fr) 1fr .55fr;
  gap: 54px;
  align-items: start;
  padding: 36px 0 28px;
  border-bottom: 1px solid rgba(201, 162, 77, .14);
}

.foot__brandBlock {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 22px;
  min-width: 0;
}

.foot__signature {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: fit-content;
  color: var(--gold);
  transition: .2s ease;
}

.foot__signature img {
  width: 34px;
  height: 30px;
  object-fit: contain;
}

.foot__signature span {
  font-family: "Cormorant Garamond", serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  white-space: nowrap;
}

.foot__signature:hover {
  color: #dfbd69;
}

.foot__nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 0;
}

.foot__nav a {
  display: inline-flex;
  color: rgba(239, 236, 230, .62);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .12em;
  line-height: 1.4;
  text-transform: uppercase;
}

.foot__nav a + a {
  margin-left: 13px;
  padding-left: 13px;
  border-left: 1px solid rgba(201, 162, 77, .2);
}

.foot__nav .foot__navLink--featured {
  align-items: center;
  color: var(--gold);
  font-weight: 600;
}

.foot__col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.foot__media {
  justify-self: end;
  min-width: 108px;
}

.foot__col h2 {
  margin: 0 0 5px;
  color: rgba(201, 162, 77, .86);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.foot__col a {
  display: inline-flex;
  color: rgba(239, 236, 230, .68);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.55;
  transition: .2s ease;
}

.foot__nav a:hover,
.foot__col a:hover {
  color: var(--ivory);
  transform: translateX(2px);
}

.foot a:focus-visible {
  outline: 1px solid rgba(201, 162, 77, .8);
  outline-offset: 4px;
}

.foot__contactLink {
  align-items: center;
  gap: 8px;
  letter-spacing: 0;
}

.foot__contactLink svg {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  fill: none;
  stroke: rgba(201, 162, 77, .9);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.foot__socialLink {
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 108px;
  padding-bottom: 3px;
  border-bottom: 1px solid rgba(201, 162, 77, .2);
}

.foot__socialLink span:last-child {
  color: rgba(201, 162, 77, .8);
  font-size: 12px;
}

.social {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 11px;
  border: 1px solid rgba(201, 162, 77, .26);
  border-radius: 999px;
  background: rgba(201, 162, 77, .045);
  color: var(--gold);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  transition: .2s ease;
}

.pill:hover {
  border-color: rgba(201, 162, 77, .52);
  background: rgba(201, 162, 77, .12);
  transform: translateY(-1px);
}

.foot__bottom {
  display: grid;
  grid-template-columns: auto 1fr;
  justify-content: space-between;
  gap: 20px;
  padding-top: 12px;
  color: rgba(239, 236, 230, .76);
}

.foot__bottom p {
  margin: 0;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}

.foot__bottom p:last-child {
  justify-self: end;
  text-align: right;
  color: rgba(239, 236, 230, .55);
}

.foot__credit {
  margin: 10px 0 0;
  padding-top: 9px;
  border-top: 1px solid rgba(201, 162, 77, .07);
  color: rgba(239, 236, 230, .28);
  font-size: 9px;
  font-weight: 400;
  letter-spacing: .07em;
  line-height: 1.5;
  text-align: center;
}

.foot__credit a {
  color: rgba(239, 236, 230, .42);
  transition: color .2s ease;
}

.foot__credit a:hover,
.foot__credit a:focus-visible {
  color: rgba(201, 162, 77, .78);
}

.foot__legal {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  padding-top: 13px;
  border-top: 1px solid rgba(201, 162, 77, .09);
}

.foot__legal a {
  color: rgba(201, 162, 77, .62);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .13em;
  line-height: 1.5;
  text-transform: uppercase;
  transition: color .2s ease;
}

.foot__legal a + a {
  margin-left: 16px;
  padding-left: 16px;
  border-left: 1px solid rgba(201, 162, 77, .18);
}

.foot__legal a:hover,
.foot__legal a:focus-visible {
  color: var(--ivory);
}

/* Contact page */
.contactPage {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(760px 480px at 14% 28%, rgba(201, 162, 77, .10), transparent 62%),
    radial-gradient(840px 520px at 88% 72%, rgba(15, 61, 46, .48), transparent 66%),
    linear-gradient(180deg, rgba(8, 27, 22, .66), rgba(7, 15, 12, .48));
}

.contactPage::before {
  content: "";
  position: absolute;
  top: 170px;
  left: 0;
  width: 26vw;
  height: 1px;
  background: linear-gradient(90deg, rgba(201, 162, 77, .72), transparent);
  pointer-events: none;
}

.contactPage__layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(520px, 1.28fr);
  gap: 28px;
  align-items: stretch;
  margin: 48px auto 0;
}

.contactPage__details,
.contactPage__form {
  min-width: 0;
  border: 1px solid rgba(201, 162, 77, .17);
  border-radius: var(--radius);
}

.contactPage__details {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: clamp(26px, 4vw, 44px);
  overflow: hidden;
  background:
    linear-gradient(155deg, rgba(201, 162, 77, .08), transparent 44%),
    rgba(6, 20, 16, .72);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .24);
}

.contactPage__details::after {
  content: "SS";
  position: absolute;
  right: -10px;
  bottom: -40px;
  color: rgba(201, 162, 77, .045);
  font-family: "Cormorant Garamond", serif;
  font-size: 180px;
  font-weight: 600;
  line-height: 1;
  pointer-events: none;
}

.contactPage__eyebrow {
  display: block;
  color: rgba(201, 162, 77, .8);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .2em;
  line-height: 1.5;
  text-transform: uppercase;
}

.contactPage__details h2,
.contactPage__formHead h2 {
  margin: 10px 0 16px;
  color: var(--ivory);
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(30px, 3.1vw, 43px);
  font-weight: 500;
  line-height: 1.02;
}

.contactPage__details > p {
  margin: 0;
  color: rgba(239, 236, 230, .7);
  font-size: 13px;
  font-weight: 300;
  line-height: 1.8;
}

.contactPage__links {
  display: grid;
  gap: 12px;
  margin: 36px 0;
}

.contactPage__links a {
  display: grid;
  gap: 5px;
  padding: 17px 0;
  border-bottom: 1px solid rgba(201, 162, 77, .16);
  transition: border-color .2s ease, transform .2s ease;
}

.contactPage__links a:first-child {
  border-top: 1px solid rgba(201, 162, 77, .16);
}

.contactPage__links a:hover,
.contactPage__links a:focus-visible {
  border-color: rgba(201, 162, 77, .48);
  transform: translateX(4px);
}

.contactPage__links span {
  color: rgba(239, 236, 230, .48);
  font-size: 9px;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.contactPage__links strong {
  overflow-wrap: anywhere;
  color: var(--gold);
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(20px, 2.1vw, 27px);
  font-weight: 500;
  letter-spacing: .02em;
}

.contactPage__details .contactPage__business {
  position: relative;
  z-index: 1;
  margin-top: auto;
  padding-top: 8px;
  color: rgba(239, 236, 230, .45);
  font-size: 10px;
  letter-spacing: .08em;
}

.contactPage__business span {
  padding: 0 5px;
  color: rgba(201, 162, 77, .64);
}

.contactPage__form {
  padding: clamp(22px, 3.5vw, 36px);
  background: rgba(8, 12, 10, .62);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .22);
}

.contactPage__formHead {
  margin-bottom: 20px;
}

.contactPage__formHead h2 {
  margin-bottom: 0;
}

.contactPage__form .formCard {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

/* Terms */
.termsPage {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(900px 440px at 50% 4%, rgba(201, 162, 77, .075), transparent 66%),
    linear-gradient(180deg, rgba(6, 24, 18, .82), rgba(7, 14, 11, .92));
}

.termsPage::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(
    90deg,
    rgba(255, 255, 255, .012) 0,
    rgba(255, 255, 255, .012) 1px,
    transparent 1px,
    transparent 72px
  );
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, .7), transparent 50%);
}

.termsPage .container {
  position: relative;
}

.termsPage .pageLead {
  max-width: 720px;
}

.termsPage .pageLead h1 {
  margin-bottom: 18px;
  letter-spacing: .08em;
}

.termsPage .pageLead p {
  max-width: 610px;
  color: rgba(239, 236, 230, .7);
}

.legalTabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(960px, 100%);
  margin: 48px auto 0;
  border: 1px solid rgba(201, 162, 77, .16);
  border-radius: 8px;
  overflow: hidden;
  background: rgba(5, 16, 12, .52);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .16);
}

.legalTabs a {
  position: relative;
  display: grid;
  min-height: 58px;
  place-items: center;
  padding: 12px 18px;
  color: rgba(239, 236, 230, .62);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .15em;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: color .25s ease, background-color .25s ease;
}

.legalTabs a + a {
  border-left: 1px solid rgba(201, 162, 77, .13);
}

.legalTabs a::after {
  content: "";
  position: absolute;
  right: 22px;
  bottom: 0;
  left: 22px;
  height: 1px;
  background: var(--gold);
  opacity: 0;
  transform: scaleX(.3);
  transition: opacity .25s ease, transform .25s ease;
}

.legalTabs a:hover,
.legalTabs a:focus-visible {
  color: rgba(239, 236, 230, .92);
  background: rgba(255, 255, 255, .025);
}

.legalTabs a[aria-current="page"] {
  color: var(--gold);
  background: linear-gradient(180deg, rgba(201, 162, 77, .09), rgba(201, 162, 77, .025));
}

.legalTabs a[aria-current="page"]::after {
  opacity: .86;
  transform: scaleX(1);
}

.legalTabs + .termsPanel {
  margin-top: 18px;
}

.termsPanel {
  position: relative;
  width: min(960px, 100%);
  margin: 58px auto 0;
  padding: clamp(34px, 5vw, 68px);
  border: 1px solid rgba(201, 162, 77, .16);
  border-radius: 8px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .027), transparent 42%),
    rgba(5, 16, 12, .72);
  box-shadow: 0 32px 90px rgba(0, 0, 0, .26);
}

.termsPanel::before {
  content: "";
  position: absolute;
  top: -1px;
  left: clamp(34px, 5vw, 68px);
  width: 96px;
  height: 1px;
  background: linear-gradient(90deg, var(--gold), rgba(201, 162, 77, 0));
}

.termsPanel article {
  max-width: 790px;
  margin-right: auto;
  margin-left: auto;
  scroll-margin-top: 110px;
}

.termsPanel__intro {
  max-width: 790px;
  margin: 0 auto 58px;
  padding: 0 0 34px 28px;
  border-left: 1px solid rgba(201, 162, 77, .46);
}

.termsPanel__intro span {
  display: block;
  margin-bottom: 14px;
  color: rgba(201, 162, 77, .84);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.termsPanel .termsPanel__intro p {
  max-width: 66ch;
  margin: 0;
  color: rgba(239, 236, 230, .86);
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(22px, 2.6vw, 29px);
  font-weight: 400;
  line-height: 1.42;
}

.termsPanel article + article {
  margin-top: 58px;
  padding-top: 54px;
  border-top: 1px solid rgba(201, 162, 77, .13);
}

.termsPanel h2 {
  position: relative;
  margin: 0 0 30px;
  padding-bottom: 17px;
  color: rgba(239, 236, 230, .96);
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(32px, 4vw, 43px);
  font-weight: 500;
  letter-spacing: .015em;
  line-height: 1.08;
}

.termsPanel h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 42px;
  height: 1px;
  background: rgba(201, 162, 77, .72);
}

.termsPanel h3 {
  margin: 32px 0 10px;
  color: rgba(239, 236, 230, .92);
  font-family: "Cormorant Garamond", serif;
  font-size: 23px;
  font-weight: 500;
  letter-spacing: .025em;
}

.termsPanel p {
  max-width: 74ch;
  margin: 0 0 16px;
  color: rgba(239, 236, 230, .74);
  font-size: 14px;
  font-weight: 300;
  line-height: 1.92;
}

.termsPanel ul,
.termsPanel ol {
  display: grid;
  gap: 10px;
  margin: 16px 0 22px;
  padding-left: 19px;
  color: rgba(239, 236, 230, .74);
  font-size: 14px;
  font-weight: 300;
  line-height: 1.82;
}

.termsPanel li::marker {
  color: rgba(201, 162, 77, .72);
}

.termsPanel__meta {
  max-width: 790px;
  margin: 58px auto 0;
  padding-top: 30px;
  border-top: 1px solid rgba(201, 162, 77, .18);
}

.termsPanel__meta p {
  margin-bottom: 7px;
  color: rgba(239, 236, 230, .5);
  font-size: 12px;
  line-height: 1.7;
}

.termsPanel__meta p:last-child {
  margin-bottom: 0;
  color: rgba(201, 162, 77, .78);
  font-weight: 500;
  letter-spacing: .06em;
}

.termsPanel a {
  color: var(--gold);
  text-decoration: underline;
  text-decoration-color: rgba(201, 162, 77, .28);
  text-underline-offset: 3px;
}

.termsPanel a:hover,
.termsPanel a:focus-visible {
  text-decoration-color: currentColor;
}

.termsPanel__details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 4px 0 0;
  border-top: 1px solid rgba(201, 162, 77, .18);
}

.termsPanel__details div {
  display: grid;
  gap: 7px;
  padding: 20px 18px 20px 0;
  border-bottom: 1px solid rgba(201, 162, 77, .12);
}

.termsPanel__details div:nth-child(even) {
  padding-right: 0;
  padding-left: 24px;
  border-left: 1px solid rgba(201, 162, 77, .12);
}

.termsPanel__details dt {
  color: rgba(239, 236, 230, .42);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.termsPanel__details dd {
  margin: 0;
  color: rgba(239, 236, 230, .88);
  font-family: "Cormorant Garamond", serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
}

.termsPanel__highlight {
  margin: 24px 0 22px !important;
  padding: 22px 26px;
  border-left: 2px solid rgba(201, 162, 77, .74);
  background: linear-gradient(90deg, rgba(201, 162, 77, .085), rgba(201, 162, 77, .018));
  color: rgba(239, 236, 230, .88) !important;
  font-size: 15px !important;
}

.termsPanel__notice {
  padding: 25px 28px 22px;
  border: 1px solid rgba(201, 162, 77, .16);
  background: rgba(201, 162, 77, .035);
}

.termsPanel__notice strong {
  display: block;
  margin-bottom: 10px;
  color: rgba(201, 162, 77, .82);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.termsPanel__notice p:last-child {
  margin-bottom: 0;
}

/* Lightbox */
.lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .85);
  display: none;
  z-index: 50;
  padding: 22px;
}

.lightbox.is-open {
  display: grid;
  place-items: center;
}

.lightbox__inner {
  width: min(1100px, 96vw);
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(201, 162, 77, .22);
  box-shadow: 0 30px 85px rgba(0, 0, 0, .65);
  background: rgba(11, 11, 11, .9);
  position: relative;
}

.lightbox__img {
  width: 100%;
  height: min(78vh, 780px);
  object-fit: cover;
  display: block;
}

.lightbox__bar {
  position: absolute;
  inset: 12px 12px auto 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  pointer-events: none;
}

.lightbox__bar .iconBtn {
  pointer-events: auto;
}

.lightbox__actions {
  display: flex;
  gap: 8px;
}

.lbHint {
  pointer-events: none;
  color: rgba(239, 236, 230, .72);
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  background: rgba(0, 0, 0, .35);
  border: 1px solid rgba(239, 236, 230, .12);
  padding: 10px 12px;
  border-radius: 999px;
  backdrop-filter: blur(10px);
}

/* anchors */
.anchor {
  scroll-margin-top: 86px;
}

/* Responsive */
@media (max-width: 1020px) {
  .nav__inner {
    flex-wrap: nowrap;
    gap: 12px;
  }

  .brand--logo {
    flex: 1 1 auto;
    min-width: 0;
    gap: 8px;
  }

  .brand--logo img {
    width: 68px;
    margin-right: 0;
  }

  .brand__text {
    min-width: 0;
  }

  .brand strong {
    font-size: 14px;
    letter-spacing: 1.8px;
  }

  .brand span {
    max-width: none;
    overflow: visible;
    white-space: nowrap;
    letter-spacing: 1.2px;
  }

  .brand__subtitle--full {
    display: none;
  }

  .brand__subtitle--short {
    display: block;
  }

  .nav__toggle {
    display: grid;
    flex: 0 0 44px;
    margin-left: auto;
  }

  .nav__links,
  .nav__cta {
    order: 3;
    width: 100%;
  }

  .nav__cta {
    order: 2;
  }

  .nav__links {
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    padding: 8px 0 0;
    border-top: 1px solid rgba(201, 162, 77, .14);
  }

  .nav__links a {
    width: 100%;
    padding: 13px 14px;
    border-radius: 12px;
    background: rgba(255, 255, 255, .025);
    border: 1px solid rgba(201, 162, 77, .10);
  }

  .nav__links a::after {
    display: none;
  }

  .nav__links .nav__reviewLink {
    border-color: rgba(201, 162, 77, .42);
    background: rgba(201, 162, 77, .08);
  }

  .nav__cta {
    display: none;
    justify-content: center;
    padding: 13px 14px;
    border-radius: 12px;
    background: rgba(201, 162, 77, .10);
  }

  .nav.is-open {
    background: rgba(11, 11, 11, .96);
  }

  .nav.is-open .nav__inner {
    flex-wrap: wrap;
  }

  .nav.is-open .nav__links,
  .nav.is-open .nav__cta {
    display: flex;
  }

  .hero {
    padding-top: 116px;
  }

  .pageSection {
    padding-top: 126px;
  }

  .contactPage__layout {
    grid-template-columns: minmax(250px, .72fr) minmax(430px, 1.28fr);
  }

  .t1,
  .t4 {
    grid-column: span 12;
  }

  .t2,
  .t3,
  .t5,
  .t6 {
    grid-column: span 6;
  }

  .aboutWrap {
    grid-template-columns: 1fr;
  }

  .offerGrid {
    grid-template-columns: 1fr;
  }

  .reviewsGrid {
    grid-template-columns: 1fr;
  }

  .foot__main {
    grid-template-columns: 1fr auto;
    gap: 28px;
    padding: 30px 0 24px;
  }

  .foot__brandBlock {
    grid-column: 1 / -1;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(201, 162, 77, .1);
  }

  .reviewCard--wide {
    grid-column: auto;
  }

  .voucherInfo {
    grid-template-columns: 1fr;
  }

  .portrait img {
    min-height: 360px;
  }
}

@media (max-width: 600px) {

  .siteFooter {
    padding-bottom: 14px;
  }

  .foot__main {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 22px 20px;
    padding: 26px 0 20px;
  }

  .foot__brandBlock {
    padding-bottom: 16px;
    gap: 12px;
  }

  .foot__signature img {
    width: 38px;
    height: 32px;
  }

  .foot__signature span {
    font-size: 19px;
    letter-spacing: .14em;
  }

  .foot__nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(3, auto);
    grid-auto-flow: column;
    width: 100%;
    gap: 15px 36px;
  }

  .foot__nav a {
    padding: 1px 0;
    font-size: 10px;
    letter-spacing: .1em;
    line-height: 1.5;
  }

  .foot__nav a + a {
    margin-left: 0;
    padding-left: 0;
    border-left: 0;
  }

  .foot__bottom {
    grid-template-columns: 1fr;
    gap: 2px;
    padding-top: 10px;
  }

  .foot__bottom p,
  .foot__bottom p:last-child {
    justify-self: start;
    text-align: left;
  }

  .foot__legal {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    margin-top: 12px;
    padding-top: 7px;
  }

  .foot__legal a {
    display: flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .foot__legal a + a {
    margin-left: 0;
    padding-left: 0;
    border-top: 1px solid rgba(201, 162, 77, .09);
    border-left: 0;
  }

  .t2,
  .t3,
  .t5,
  .t6 {
    grid-column: span 12;
  }

  form {
    grid-template-columns: 1fr;
  }

  .formActions {
    align-items: stretch;
  }

  .formActions .btn {
    width: 100%;
  }

  .contactPage {
    padding-bottom: 72px;
  }

  .contactPage::before {
    top: 150px;
    width: 34vw;
  }

  .contactPage__layout {
    grid-template-columns: 1fr;
    margin-top: 34px;
  }

  .contactPage__details,
  .contactPage__form {
    padding: 24px;
  }

  .contactPage__details::after {
    font-size: 135px;
  }

  .contactPage__details .contactPage__business {
    margin-top: 12px;
  }

  .contactPage__formHead {
    margin-bottom: 18px;
  }

  .termsPanel {
    margin-top: 36px;
    padding: 32px 22px;
    border-right-color: rgba(201, 162, 77, .1);
    border-left-color: rgba(201, 162, 77, .1);
  }

  .termsPanel::before {
    left: 22px;
    width: 68px;
  }

  .termsPanel article + article {
    margin-top: 42px;
    padding-top: 40px;
  }

  .termsPanel__intro {
    margin-bottom: 42px;
    padding: 0 0 27px 19px;
  }

  .termsPanel .termsPanel__intro p {
    font-size: 22px;
  }

  .termsPanel h2 {
    margin-bottom: 24px;
    padding-bottom: 14px;
  }

  .termsPanel__details {
    grid-template-columns: 1fr;
  }

  .termsPanel__details div,
  .termsPanel__details div:nth-child(even) {
    padding: 17px 0;
    border-left: 0;
  }

  .termsPanel__highlight {
    padding: 20px 20px;
  }

  .termsPanel__notice {
    padding: 21px 20px 19px;
  }

  .termsPanel__meta {
    margin-top: 42px;
    padding-top: 24px;
  }

  .legalTabs {
    grid-template-columns: 1fr;
    margin-top: 34px;
  }

  .legalTabs a {
    min-height: 48px;
    justify-items: start;
    padding: 12px 18px;
    text-align: left;
  }

  .legalTabs a + a {
    border-top: 1px solid rgba(201, 162, 77, .13);
    border-left: 0;
  }

  .legalTabs a::after {
    top: 11px;
    right: auto;
    bottom: 11px;
    left: 0;
    width: 1px;
    height: auto;
    transform: scaleY(.3);
  }

  .legalTabs a[aria-current="page"]::after {
    transform: scaleY(1);
  }

  .legalTabs + .termsPanel {
    margin-top: 14px;
  }
}

@media (min-width: 601px) and (max-width: 820px) {
  .contactPage__layout {
    grid-template-columns: 1fr;
  }

  .contactPage__details .contactPage__business {
    margin-top: 28px;
  }
}


.hero__wallpaper {
  width: 100%;
  max-width: 900px;
  margin: 26px auto 0;
  overflow: hidden;
  border: 1px solid rgba(201, 162, 77, .18);
}

.hero__wallpaper img {
  display: block;
  width: 100%;
  height: auto;
}

@media (min-width: 1021px) {
  .hero__wallpaper {
    --hero-wallpaper-width: min(1180px, calc(100vw - 80px));
    width: var(--hero-wallpaper-width);
    max-width: none;
    margin-right: 0;
    margin-left: calc((100% - var(--hero-wallpaper-width)) / 2);
  }
}

@media (max-width: 600px) {
  .hero__wallpaper {
    width: calc(100vw - 16px);
    height: clamp(210px, 56vw, 230px);
    margin-right: 0;
    margin-left: calc((100% - 100vw + 16px) / 2);
  }

  .hero__wallpaper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
}


#galleryGrid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

#galleryGrid .Photo,
#galleryGrid .Photo img {
  width: 100%;
}

#galleryGrid .Photo img {
  display: block;
  height: auto;
}

@media (max-width:900px) {
  #galleryGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:600px) {
  #galleryGrid {
    grid-template-columns: 1fr;
  }
}


.galleryFooterGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  width: 100%;
}

.galleryFooter {
  text-align: center;
}

@media (max-width:700px) {
  .galleryFooterGrid {
    grid-template-columns: 1fr;
  }
}

.brand--logo img {
  margin-right: 0;
}

@media (max-width:900px) {
  .brand--logo img {
    margin-right: 0;
  }
}

@media (max-width:600px) {
  .brand--logo img {
    margin-right: 0;
  }
}

.brand.brand--footer {
  gap: 12px;
}


.aboutBrand {
  display: flex;
  align-items: center;
  gap: 40px;
  flex-direction: column;
}

.brand_logo--small {
  flex: 0 0 42%;
  max-width: 420px;
  position: relative;
}

.brand_logo--small img {
  width: 40%;
  height: auto;
  display: block;
  min-height: unset;
  object-fit: contain;
  margin: 0 auto;
}

.aboutText {
  flex: 1;
  max-width: 480px;
}

.brandText {
  flex: 1;
  max-width: 480px;
}

.grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

.item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.galleryImageLink {
  display: block;
  width: 100%;
  color: inherit;
  text-decoration: none;
}

.galleryImageLink .Photo {
  transition: transform .2s ease;
}

.galleryImageLink:hover .Photo {
  transform: translateY(-3px);
}

.galleryImageLink:focus-visible {
  border-radius: 2px;
  outline: 3px solid var(--gold);
  outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
  .galleryImageLink .Photo {
    transition: none;
  }

  .galleryImageLink:hover .Photo {
    transform: none;
  }
}

.Photo {
  position: relative;
  padding: 15px;
  /* odstęp między zdjęciem a ramką */
}

.Photo img {
  display: block;
  width: 100%;
}

.frame {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(201, 162, 77, .35);
  pointer-events: none;
}

.linkArrow {
  margin-top: 15px;
}

.brandTextquote {
  text-align: center !important;
}

.day.is-disabled {
  opacity: .35;
  pointer-events: none;
  cursor: not-allowed;
}

#prevMonth.is-disabled,
#prevMonth:disabled {
  opacity: .35;
  pointer-events: none;
  cursor: not-allowed;
}


.premium-select {
  width: 100%;
  height: 52px;
  padding: 0 48px 0 20px;
  border: 1px solid rgba(201, 162, 77, .55);
  border-radius: 18px;
  background-color: rgba(4, 8, 6, .92);
  color: #f5ead8;
  font-size: 16px;
  font-family: inherit;
  outline: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  background-image:
    linear-gradient(45deg, transparent 50%, #f5ead8 50%),
    linear-gradient(135deg, #f5ead8 50%, transparent 50%);
  background-position:
    calc(100% - 22px) 22px,
    calc(100% - 16px) 22px;
  background-size: 6px 6px;
  background-repeat: no-repeat;
}

.premium-select:focus {
  border-color: #c9a24d;
  box-shadow: 0 0 0 4px rgba(201, 162, 77, .12);
}

.premium-select option {
  background-color: #07110c;
  color: #f5ead8;
}

.premium-select option:checked {
  background-color: #c9a24d;
  color: #07110c;
}

.bookingFrame {
  width: 100%;
  max-width: 1100px;
  height: 850px;
  margin: 40px auto 0;
  overflow: hidden;
  border: 1px solid rgba(201, 162, 77, .28);
  border-radius: 28px;
  background: rgba(4, 8, 6, .72);
  box-shadow: 0 26px 80px rgba(0, 0, 0, .38);
}

.bookingFrame iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

@media (max-width: 768px) {
  .bookingFrame {
    height: 780px;
    border-radius: 20px;
  }
}

/* Offer journey */
.offerChooserPage,
.sessionOfferPage {
  background:
    radial-gradient(880px 560px at 92% 12%, rgba(201, 162, 77, .09), transparent 62%),
    radial-gradient(760px 620px at 0 48%, rgba(15, 61, 46, .25), transparent 64%),
    #0b0b0b;
}

.offerChooser {
  min-height: 100vh;
  overflow: hidden;
}

.offerChooser.pageSection {
  padding-top: 124px;
}

.offerChooser .pageLead h1 {
  max-width: 740px;
  margin-right: auto;
  margin-left: auto;
  font-size: clamp(46px, 7vw, 82px);
  line-height: .94;
}

.sessionChoiceGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 40px;
}

.sessionChoice {
  position: relative;
  display: grid;
  grid-template-rows: minmax(360px, 48vw) auto;
  max-height: 780px;
  overflow: hidden;
  border: 1px solid rgba(201, 162, 77, .22);
  border-radius: 24px;
  background: rgba(4, 8, 6, .78);
  box-shadow: 0 28px 78px rgba(0, 0, 0, .42);
}

.sessionChoice::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .025);
}

.sessionChoice__image {
  position: relative;
  overflow: hidden;
}

.sessionChoice__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(5, 10, 7, .9));
}

.sessionChoice__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.74) contrast(1.07);
  transition: transform .75s cubic-bezier(.2, .8, .2, 1), filter .45s ease;
}

.sessionChoice--women .sessionChoice__image img {
  object-position: center 40%;
}

.sessionChoice--business .sessionChoice__image img {
  object-position: center 30%;
}

.sessionChoice:focus-visible { outline: 3px solid #c9ad73; outline-offset: 5px; }
a.sessionChoice { color: inherit; text-decoration: none; }
.sessionChoice:focus-visible .sessionChoice__image img,
.sessionChoice:hover .sessionChoice__image img {
  transform: scale(1.035);
  filter: saturate(.92) contrast(1.04);
}

.sessionChoice__body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  min-height: 285px;
  margin-top: -58px;
  padding: 28px 32px 32px;
  background: linear-gradient(180deg, transparent, rgba(5, 10, 7, .97) 22%);
}

.sessionChoice__body h2 {
  margin: 0;
  color: var(--ivory);
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(40px, 5vw, 60px);
  font-weight: 500;
  line-height: .95;
}

.sessionChoice__body p {
  margin: 0;
  color: rgba(239, 236, 230, .76);
  font-size: 13px;
  font-weight: 300;
  line-height: 1.8;
}

.sessionChoice__body .btn {
  margin-top: auto;
}

.offerChooser .voucherInfo {
  margin-top: 24px;
}

.sessionHero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 142px 0 94px;
  background:
    linear-gradient(120deg, rgba(7, 16, 11, .95), rgba(11, 11, 11, .76)),
    radial-gradient(760px 440px at 74% 46%, rgba(201, 162, 77, .12), transparent 68%);
}

.sessionHero::before {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  top: 12%;
  right: -190px;
  border: 1px solid rgba(201, 162, 77, .15);
  border-radius: 50%;
  box-shadow: 0 0 0 52px rgba(201, 162, 77, .018), 0 0 0 112px rgba(201, 162, 77, .012);
}

.sessionHero__layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(340px, .72fr);
  gap: clamp(48px, 8vw, 108px);
  align-items: center;
}

.sessionHero__content {
  min-width: 0;
  max-width: 690px;
}

.sessionHero__back {
  /* Block level, not inline: as inline-flex this sat on the same line as the
     .kicker next to it, so the two read as one sentence. A phone only stacked
     them because it ran out of room, which is why a margin looked like a no-op. */
  display: flex;
  width: fit-content;
  align-items: center;
  gap: 10px;
  margin-bottom: 52px;
  color: rgba(239, 236, 230, .5);
  font-size: 12px;
  letter-spacing: .06em;
  transition: color .2s ease, transform .2s ease;
}

.sessionHero__back:hover,
.sessionHero__back:focus-visible {
  color: var(--gold);
  transform: translateX(-3px);
}

.sessionHero h1 {
  margin: 22px 0 26px;
  font-size: clamp(54px, 7.2vw, 94px);
  line-height: .91;
  overflow-wrap: anywhere;
}

.sessionHero__content > p {
  max-width: 660px;
  margin: 0 0 32px;
  color: rgba(239, 236, 230, .8);
  font-size: clamp(15px, 1.5vw, 18px);
  font-weight: 300;
  line-height: 1.86;
}

.sessionHero__portrait {
  position: relative;
  width: min(100%, 430px);
  margin: 0 auto;
  padding: 12px;
  border: 1px solid rgba(201, 162, 77, .28);
  border-radius: 28px;
  background: rgba(255, 255, 255, .018);
  box-shadow: 0 34px 90px rgba(0, 0, 0, .48);
}

.sessionHero__portrait::before {
  content: "";
  position: absolute;
  inset: -15px 22px 24px -15px;
  z-index: -1;
  border: 1px solid rgba(201, 162, 77, .11);
  border-radius: inherit;
}

.sessionHero__portrait img {
  display: block;
  width: 100%;
  height: min(64vh, 650px);
  min-height: 500px;
  border-radius: 20px;
  object-fit: cover;
  object-position: center 42%;
  filter: saturate(.72) contrast(1.08);
}

.sessionHero__portrait--business img {
  object-position: center 28%;
}

.sessionHero__portrait figcaption {
  position: absolute;
  right: 18px;
  bottom: 30px;
  padding: 9px 13px;
  border: 1px solid rgba(201, 162, 77, .25);
  border-radius: 999px;
  background: rgba(5, 10, 7, .78);
  color: var(--gold);
  font-size: 9px;
  letter-spacing: .17em;
  text-transform: uppercase;
  backdrop-filter: blur(9px);
}

.experienceSection,
.businessStory {
  padding: 116px 0;
  border-top: 1px solid rgba(201, 162, 77, .08);
  background:
    radial-gradient(740px 420px at 8% 30%, rgba(15, 61, 46, .2), transparent 68%),
    rgba(5, 10, 7, .38);
}

.experienceIntro,
.packageIntro {
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr);
  gap: 18px 56px;
  align-items: end;
  max-width: 1000px;
  margin-bottom: 52px;
}

.experienceIntro .offerCard__eyebrow,
.packageIntro .offerCard__eyebrow {
  grid-column: 1 / -1;
}

.experienceIntro h2,
.packageIntro h2,
.businessStory__copy h2,
.businessDeliverables h2,
.customQuote h2,
.businessContact h2 {
  margin: 0;
  color: var(--ivory);
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(42px, 5.8vw, 68px);
  font-weight: 500;
  line-height: .98;
}

.experienceIntro p,
.packageIntro p {
  margin: 0;
  color: rgba(239, 236, 230, .72);
  font-size: 14px;
  font-weight: 300;
  line-height: 1.84;
}

.experienceSteps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgba(201, 162, 77, .16);
  border-left: 1px solid rgba(201, 162, 77, .16);
}

.experienceStep {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 20px;
  min-height: 252px;
  padding: 34px 30px;
  border-right: 1px solid rgba(201, 162, 77, .16);
  border-bottom: 1px solid rgba(201, 162, 77, .16);
  background: rgba(255, 255, 255, .012);
}

.experienceStep:last-child {
  grid-column: 1 / -1;
  min-height: 0;
}

.experienceStep__number {
  color: var(--gold);
  font-family: "Cormorant Garamond", serif;
  font-size: 38px;
  line-height: 1;
}

.experienceStep h3,
.retouchNote h3 {
  margin: 0 0 13px;
  color: var(--ivory);
  font-family: "Cormorant Garamond", serif;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.05;
}

.experienceStep p,
.retouchNote p {
  margin: 0;
  color: rgba(239, 236, 230, .7);
  font-size: 13px;
  font-weight: 300;
  line-height: 1.82;
}

.experienceStep p + p,
.retouchNote p + p {
  margin-top: 11px;
}

.retouchNote {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 24px;
  max-width: 890px;
  margin: 54px auto 0;
  padding: 30px 34px;
  border: 1px solid rgba(201, 162, 77, .28);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(201, 162, 77, .1), rgba(15, 61, 46, .12));
}

.retouchNote > span {
  color: var(--gold);
  font-size: 28px;
}

.preparationGuide {
  position: relative;
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) auto;
  gap: 30px;
  align-items: center;
  margin-top: 28px;
  padding: 30px 32px;
  overflow: hidden;
  border: 1px solid rgba(201, 162, 77, .28);
  border-radius: 6px 26px 6px 26px;
  background:
    radial-gradient(420px 190px at 88% 0%, rgba(201, 162, 77, .13), transparent 68%),
    linear-gradient(135deg, rgba(255, 255, 255, .035), rgba(11, 37, 28, .24));
}

.preparationGuide::after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -95px;
  width: 210px;
  height: 210px;
  border: 1px solid rgba(201, 162, 77, .12);
  border-radius: 50%;
  pointer-events: none;
}

.preparationGuide__mark {
  display: grid;
  place-items: center;
  min-height: 138px;
  padding: 15px;
  border: 1px solid rgba(201, 162, 77, .32);
  background: rgba(5, 14, 10, .5);
  color: var(--ivory);
}

.preparationGuide__mark span,
.preparationGuide__mark small {
  color: var(--gold);
  font-size: 9px;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.preparationGuide__mark strong {
  font-family: "Cormorant Garamond", serif;
  font-size: 46px;
  font-weight: 400;
  line-height: .8;
}

.preparationGuide__content h3 {
  margin: 7px 0 9px;
  color: var(--ivory);
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(29px, 4vw, 42px);
  font-weight: 500;
  line-height: 1;
}

.preparationGuide__content p {
  max-width: 670px;
  margin: 0;
  color: rgba(239, 236, 230, .7);
  font-size: 12px;
  line-height: 1.75;
}

.preparationGuide__content ul {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin: 14px 0 0;
  padding: 0;
  color: rgba(239, 236, 230, .62);
  font-size: 10px;
  list-style: none;
}

.preparationGuide__content li::before {
  content: "✦";
  margin-right: 7px;
  color: var(--gold);
}

.preparationGuide__download {
  position: relative;
  z-index: 1;
  width: max-content;
}

.packageSection {
  padding: 116px 0 126px;
  background:
    radial-gradient(820px 500px at 78% 30%, rgba(201, 162, 77, .07), transparent 65%),
    #0b0b0b;
}

.packageIntro {
  margin-bottom: 44px;
}

.packageGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

.packageCard {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 30px 26px 28px;
  border: 1px solid rgba(201, 162, 77, .19);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .025), rgba(5, 10, 7, .5)),
    rgba(7, 16, 11, .46);
  box-shadow: 0 24px 64px rgba(0, 0, 0, .3);
}

.packageCard--featured {
  border-color: rgba(201, 162, 77, .62);
  background:
    linear-gradient(180deg, rgba(201, 162, 77, .1), rgba(15, 61, 46, .2)),
    rgba(7, 16, 11, .76);
  box-shadow: 0 30px 78px rgba(0, 0, 0, .45), inset 0 1px rgba(255, 255, 255, .035);
}

.packageCard__badge {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  width: max-content;
  max-width: calc(100% - 30px);
  padding: 8px 14px;
  border: 1px solid rgba(201, 162, 77, .5);
  border-radius: 999px;
  background: #11110d;
  color: var(--gold);
  font-size: 9px;
  letter-spacing: .16em;
  text-align: center;
  text-transform: uppercase;
}

.packageCard__head {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 14px;
  padding-bottom: 25px;
  border-bottom: 1px solid rgba(201, 162, 77, .14);
}

.packageCard__index {
  color: rgba(201, 162, 77, .72);
  font-family: "Cormorant Garamond", serif;
  font-size: 30px;
  line-height: 1;
}

.packageCard h3 {
  margin: 0;
  color: var(--ivory);
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(28px, 3vw, 37px);
  font-weight: 500;
  line-height: .95;
}

.packageCard__head p {
  margin: 7px 0 0;
  color: rgba(239, 236, 230, .55);
  font-size: 11px;
  font-weight: 300;
  line-height: 1.55;
}

.packageCard__price {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 14px;
  padding: 24px 0 20px;
}

.packageCard__price strong {
  color: var(--gold);
  font-family: "Cormorant Garamond", serif;
  font-size: 36px;
  font-weight: 500;
  line-height: 1;
}

.packageCard__price span {
  color: rgba(239, 236, 230, .5);
  font-size: 9px;
  letter-spacing: .08em;
  text-align: right;
  text-transform: uppercase;
}

.packageCard ul,
.businessDeliverables ul {
  display: grid;
  gap: 11px;
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}

.packageCard li,
.businessDeliverables li {
  position: relative;
  padding-left: 18px;
  color: rgba(239, 236, 230, .72);
  font-size: 11px;
  font-weight: 300;
  line-height: 1.6;
}

.packageCard .packageCard__addon {
  margin-top: 4px;
  padding: 13px 13px 13px 30px;
  border: 1px solid rgba(201, 162, 77, .22);
  border-radius: 10px;
  background: rgba(201, 162, 77, .07);
}

.packageCard .packageCard__addon::before {
  top: 17px;
  left: 12px;
}

.packageCard__addon strong,
.packageCard__addon span {
  display: block;
}

.packageCard__addon strong {
  color: var(--ivory);
  font-size: 11px;
  font-weight: 500;
}

.packageCard__addon span {
  margin-top: 4px;
  color: var(--gold);
  font-size: 9px;
  line-height: 1.5;
}

.packageCard li::before,
.businessDeliverables li::before {
  content: "✦";
  position: absolute;
  left: 0;
  top: 1px;
  color: var(--gold);
  font-size: 8px;
}

.packageCard .btn {
  width: 100%;
  min-height: 46px;
  justify-content: center;
  margin-top: auto;
  padding-right: 14px;
  padding-left: 14px;
  text-align: center;
}

.businessStory__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(330px, .72fr);
  gap: clamp(50px, 8vw, 100px);
  align-items: start;
}

.businessStory__copy > p {
  max-width: 690px;
  margin: 25px 0 0;
  color: rgba(239, 236, 230, .72);
  font-size: 14px;
  font-weight: 300;
  line-height: 1.86;
}

.businessStory__copy blockquote {
  max-width: 690px;
  margin: 42px 0 0;
  padding: 26px 0 26px 28px;
  border-left: 1px solid var(--gold);
  color: var(--gold);
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.1;
}

.businessDeliverables {
  padding: 32px;
  border: 1px solid rgba(201, 162, 77, .23);
  border-radius: 22px;
  background: linear-gradient(150deg, rgba(201, 162, 77, .08), rgba(15, 61, 46, .16));
  box-shadow: 0 28px 70px rgba(0, 0, 0, .32);
}

.businessDeliverables__label {
  display: block;
  margin-bottom: 16px;
  color: var(--gold);
  font-size: 9px;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.businessDeliverables h2 {
  margin-bottom: 26px;
  font-size: clamp(34px, 4vw, 48px);
}

.businessDeliverables > p {
  margin: 26px 0 0;
  padding-top: 22px;
  border-top: 1px solid rgba(201, 162, 77, .17);
  color: rgba(239, 236, 230, .62);
  font-size: 12px;
  font-weight: 300;
  line-height: 1.75;
}

.customQuote {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 40px;
  align-items: center;
  margin-top: 24px;
  padding: 34px 38px;
  border: 1px solid rgba(201, 162, 77, .22);
  border-radius: 20px;
  background: rgba(15, 61, 46, .12);
}

.customQuote h2 {
  margin: 10px 0 12px;
  font-size: clamp(36px, 4.5vw, 54px);
}

.customQuote p {
  max-width: 720px;
  margin: 0;
  color: rgba(239, 236, 230, .67);
  font-size: 13px;
  font-weight: 300;
  line-height: 1.78;
}

.businessContact {
  padding: 0 0 122px;
  background: #0b0b0b;
}

.businessContact__inner {
  padding: clamp(38px, 7vw, 72px);
  border: 1px solid rgba(201, 162, 77, .3);
  border-radius: 26px;
  background:
    radial-gradient(520px 260px at 90% 0, rgba(201, 162, 77, .12), transparent 70%),
    linear-gradient(135deg, rgba(15, 61, 46, .26), rgba(5, 10, 7, .8));
  box-shadow: 0 34px 90px rgba(0, 0, 0, .4);
}

.businessContact h2 {
  max-width: 760px;
  margin: 14px 0 20px;
}

.businessContact__inner > p {
  max-width: 740px;
  margin: 0;
  color: rgba(239, 236, 230, .72);
  font-size: 14px;
  font-weight: 300;
  line-height: 1.82;
}

/* GOOGLE ADS CONSENT */
.googleAdsConsent {
  position: fixed;
  right: 18px;
  bottom: max(18px, env(safe-area-inset-bottom));
  z-index: 60;
  display: flex;
  width: min(620px, calc(100vw - 36px));
  align-items: center;
  gap: 20px;
  padding: 13px 14px 13px 18px;
  border: 1px solid rgba(201, 162, 77, .34);
  border-radius: 14px 4px 14px 4px;
  background: linear-gradient(120deg, rgba(15, 61, 46, .98), rgba(7, 26, 19, .98));
  box-shadow: 0 14px 38px rgba(0, 0, 0, .48);
  color: rgba(239, 236, 230, .82);
  backdrop-filter: blur(12px);
}

.googleAdsConsent[hidden] {
  display: none;
}

.googleAdsConsent::before {
  content: "";
  position: absolute;
  inset: 9px auto 9px 0;
  width: 2px;
  background: linear-gradient(180deg, transparent, var(--gold), transparent);
}

.googleAdsConsent p {
  flex: 1;
  margin: 0;
  font-size: 11px;
  font-weight: 300;
  line-height: 1.6;
}

.googleAdsConsent a {
  color: var(--gold);
  white-space: nowrap;
  text-decoration: underline;
  text-decoration-color: rgba(201, 162, 77, .5);
  text-underline-offset: 3px;
}

.googleAdsConsent__accept {
  min-height: 38px;
  padding: 0 17px;
  border: 1px solid rgba(201, 162, 77, .58);
  border-radius: 999px;
  background: var(--gold);
  color: #111;
  font: 600 9px/1 "Montserrat", sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.googleAdsConsent__accept:hover {
  transform: translateY(-1px);
  background: #d7b360;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .28);
}

.googleAdsConsent__accept:focus-visible,
.googleAdsConsent a:focus-visible {
  outline: 2px solid var(--ivory);
  outline-offset: 3px;
}

.businessContact__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
  align-items: center;
  margin-top: 32px;
}

.businessContact__link {
  padding: 10px 0;
  border-bottom: 1px solid rgba(201, 162, 77, .28);
  color: rgba(239, 236, 230, .76);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  transition: color .2s ease, border-color .2s ease;
}

.businessContact__link:hover,
.businessContact__link:focus-visible {
  border-color: var(--gold);
  color: var(--gold);
}

#contact-form-title {
  scroll-margin-top: 118px;
}

@media (max-width: 1020px) {
  .sessionChoiceGrid,
  .sessionHero__layout,
  .businessStory__layout {
    grid-template-columns: 1fr;
  }

  .sessionChoice {
    grid-template-rows: minmax(410px, 62vw) auto;
    max-height: none;
  }

  .sessionHero {
    min-height: 0;
  }

  .sessionHero__content {
    max-width: 820px;
  }

  .sessionHero__portrait {
    width: min(100%, 560px);
  }

  .sessionHero__portrait img {
    height: min(82vw, 720px);
  }

  .packageGrid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .packageCard {
    min-height: 0;
  }

  .packageCard ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .preparationGuide {
    grid-template-columns: 100px minmax(0, 1fr);
  }

  .preparationGuide__download {
    grid-column: 2;
  }
}

@media (max-width: 720px) {
  .googleAdsConsent {
    left: 12px;
    right: 12px;
    bottom: max(12px, env(safe-area-inset-bottom));
    width: auto;
    align-items: stretch;
    gap: 11px;
    padding: 13px 13px 13px 16px;
  }

  .googleAdsConsent p {
    font-size: 10px;
    line-height: 1.5;
  }

  .googleAdsConsent__accept {
    align-self: center;
    min-height: 36px;
    padding: 0 14px;
  }

  .offerChooser .pageLead h1 {
    font-size: clamp(42px, 13vw, 62px);
  }

  .sessionChoice {
    grid-template-rows: minmax(360px, 112vw) auto;
    border-radius: 20px;
  }

  .sessionChoice__body {
    min-height: 0;
    padding: 26px 22px 24px;
  }

  .sessionHero {
    padding: 122px 0 78px;
  }

  .sessionHero::before {
    display: none;
  }

  .sessionHero__layout {
    gap: 48px;
  }

  .sessionHero__back {
    margin-bottom: 36px;
  }

  .sessionHero h1 {
    font-size: clamp(44px, 13vw, 58px);
    line-height: .94;
    letter-spacing: 1px;
  }

  .sessionHero__portrait {
    padding: 8px;
    border-radius: 22px;
  }

  .sessionHero__portrait img {
    height: 132vw;
    min-height: 480px;
    max-height: 650px;
    border-radius: 16px;
  }

  .experienceSection,
  .businessStory,
  .packageSection {
    padding: 82px 0;
  }

  .experienceIntro,
  .packageIntro {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 38px;
  }

  .experienceSteps {
    grid-template-columns: 1fr;
  }

  .experienceStep,
  .experienceStep:last-child {
    grid-column: auto;
    grid-template-columns: 46px 1fr;
    min-height: 0;
    gap: 12px;
    padding: 27px 20px;
  }

  .experienceStep__number {
    font-size: 30px;
  }

  .retouchNote {
    gap: 14px;
    margin-top: 38px;
    padding: 25px 21px;
  }

  .preparationGuide {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 24px 21px;
  }

  .preparationGuide__mark {
    grid-template-columns: auto auto auto;
    justify-content: start;
    gap: 12px;
    min-height: 0;
  }

  .preparationGuide__mark strong {
    font-size: 36px;
  }

  .preparationGuide__download {
    grid-column: auto;
    width: 100%;
  }

  .reviewCard,
  .reviewCard:nth-child(even),
  .reviewCard--wide {
    grid-template-columns: 1fr;
    min-height: 0;
    border-radius: 20px 5px 20px 5px;
  }

  .reviewCard:nth-child(even) .reviewCard__image {
    order: 0;
  }

  .reviewCard__image,
  .reviewCard__portrait {
    min-height: 260px;
    height: 260px;
  }

  .reviewCard__image::after,
  .reviewCard:nth-child(even) .reviewCard__image::after {
    background: linear-gradient(180deg, transparent 58%, rgba(4, 12, 8, .65));
  }

  .reviewCard__quote {
    min-height: 270px;
    padding: 26px 22px 24px;
  }

  .packageCard {
    padding: 28px 21px 24px;
  }

  .packageCard ul {
    grid-template-columns: 1fr;
  }

  .packageCard__price {
    align-items: flex-end;
  }

  .businessDeliverables {
    padding: 26px 22px;
  }

  .customQuote {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 28px 22px;
  }

  .customQuote .btn,
  .businessContact__actions .btn {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .businessContact {
    padding-bottom: 82px;
  }

  .businessContact__inner {
    padding: 34px 22px;
    border-radius: 20px;
  }
}

/* Client voices: one quiet band between the promise and the person making it.
   Typography follows the reviews page - Cormorant for the quote, a real quotation
   mark in the markup rather than a CSS escape, gold small caps for the name. */
.voices { padding: clamp(52px, 8vw, 104px) 0; }
.voices__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3vw, 40px); margin: clamp(30px, 4vw, 48px) 0 0; padding: 0; list-style: none; }
.voices__item { display: flex; flex-direction: column; padding: 26px 28px 28px; border: 1px solid rgba(201, 162, 77, .18); border-radius: 24px 6px 24px 6px; background: linear-gradient(135deg, rgba(255, 255, 255, .04), rgba(5, 17, 12, .76)); box-shadow: 0 24px 64px rgba(0, 0, 0, .3); }
.voices__mark { height: 34px; color: rgba(201, 162, 77, .58); font-family: "Cormorant Garamond", serif; font-size: 62px; line-height: .8; }
.voices__item blockquote { margin: 0; color: rgba(239, 236, 230, .9); font-family: "Cormorant Garamond", serif; font-size: clamp(19px, 2vw, 23px); line-height: 1.38; }
.voices__item cite { margin-top: auto; padding-top: 22px; color: var(--gold); font-size: 11px; font-style: normal; letter-spacing: .2em; text-transform: uppercase; }
.voices__more { display: inline-block; margin-top: clamp(26px, 3vw, 38px); padding-bottom: 3px; color: var(--gold); font-size: 14px; letter-spacing: .04em; text-decoration: none; border-bottom: 1px solid rgba(201, 162, 77, .4); }
.voices__more:hover, .voices__more:focus-visible { color: #fff; border-bottom-color: #fff; }
@media (max-width: 860px) {
  .voices__list { grid-template-columns: 1fr; gap: 16px; }
  .voices__item { padding: 22px 22px 24px; }
  .voices__mark { height: 28px; font-size: 52px; }
}

/* Contact: the address a visitor needs before deciding whether the drive is worth it. */
.contactPage__address { margin-top: 26px; }
.contactPage__address > span { display: block; margin-bottom: 8px; color: #c9ad73; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; }
.contactPage__address address { color: #e8e3d8; font-style: normal; line-height: 1.7; }
.contactPage__route { display: inline-block; margin-top: 12px; color: #c9ad73; font-size: 14px; text-decoration: none; border-bottom: 1px solid rgba(201, 162, 77, .4); padding-bottom: 2px; }
.contactPage__route:hover, .contactPage__route:focus-visible { color: #fff; border-bottom-color: #fff; }

.contactMap { margin-top: 22px; border: 1px solid rgba(201, 162, 77, .22); border-radius: 14px; overflow: hidden; }
.contactMap__load { width: 100%; min-height: 190px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 26px 20px; color: #e8e3d8; background: rgba(255, 255, 255, .02); border: 0; cursor: pointer; font: inherit; text-align: center; }
.contactMap__load:hover, .contactMap__load:focus-visible { background: rgba(201, 162, 77, .08); }
.contactMap__load strong { font-size: 15px; letter-spacing: .04em; }
.contactMap__load small { color: #9d968a; font-size: 12px; max-width: 34ch; line-height: 1.5; }
.contactMap__pin { width: 26px; height: 26px; border-radius: 50% 50% 50% 0; background: #c9ad73; transform: rotate(-45deg); }
.contactMap iframe { display: block; width: 100%; height: clamp(240px, 40vh, 380px); border: 0; }

/* Offer bar: a phone-only shortcut to the packages, revealed once the visitor has
   read past the philosophy. Desktop keeps its call to action in the navigation, so
   the bar would only take space there. */
.offerBar { display: none; }
body.has-offerBar { padding-bottom: 68px; }

@media (max-width: 700px) {
  .offerBar:not([hidden]) {
    position: fixed;
    z-index: 30;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: stretch;
    gap: 0;
    background: rgba(8, 12, 9, .94);
    border-top: 1px solid rgba(201, 162, 77, .38);
    box-shadow: 0 -10px 30px rgba(0, 0, 0, .45);
    /* No fill-mode: the resting position must not depend on the animation running,
       or a bar that never animates stays parked below the fold. */
    animation: offerBarRise .28s cubic-bezier(.22, .61, .36, 1);
  }
  .offerBar__link { flex: 1; min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 6px 11px 16px; color: #e8e3d8; text-decoration: none; }
  .offerBar__label { flex-shrink: 0; color: #c9ad73; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
  .offerBar__cta { overflow: hidden; color: #fff; font-size: 14px; font-weight: 500; white-space: nowrap; text-overflow: ellipsis; }
  .offerBar__close { flex-shrink: 0; width: 46px; min-height: 46px; color: #9d968a; background: none; border: 0; border-left: 1px solid rgba(201, 162, 77, .18); font-size: 24px; line-height: 1; cursor: pointer; }
  .offerBar__close:hover, .offerBar__close:focus-visible { color: #fff; }
  .offerBar__link:focus-visible, .offerBar__close:focus-visible { outline: 2px solid #c9ad73; outline-offset: -3px; }
}

@keyframes offerBarRise { from { transform: translateY(100%); } to { transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .offerBar:not([hidden]) { animation: none; } }


/* Offer page, written for one visitor: a woman buying this for herself. One
   offer instead of a fork, the objections answered before they are raised, and
   every clickable-looking surface actually clickable. */
.sessionChoice--featured { grid-template-rows: none; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: clamp(420px, 34vw, 520px); max-height: none; margin-top: 40px; }
.sessionChoice--featured .sessionChoice__image { min-height: 100%; }
.sessionChoice--featured .sessionChoice__body { justify-content: center; padding: clamp(28px, 4vw, 52px); }
.sessionChoice--featured h2 { font-size: clamp(30px, 3.4vw, 46px); }

.reassure { margin-top: clamp(38px, 5vw, 64px); }
.reassure__title { margin: 0 0 clamp(20px, 3vw, 30px); color: rgba(239, 236, 230, .92); font-family: "Cormorant Garamond", serif; font-size: clamp(26px, 3vw, 38px); font-weight: 400; line-height: 1.1; }
.reassure__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2vw, 24px); margin: 0; padding: 0; list-style: none; }
.reassure__item { display: flex; flex-direction: column; gap: 10px; padding: 24px 24px 26px; border: 1px solid rgba(201, 162, 77, .16); border-radius: 18px 4px 18px 4px; background: rgba(255, 255, 255, .022); }
.reassure__item strong { color: var(--gold); font-family: "Cormorant Garamond", serif; font-size: clamp(20px, 2.2vw, 25px); font-weight: 400; line-height: 1.15; }
.reassure__item span { color: rgba(239, 236, 230, .76); font-size: 14px; font-weight: 300; line-height: 1.75; }
.reassure__item a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.reassure__item a:hover, .reassure__item a:focus-visible { color: var(--gold); }

.voices--pair .voices__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.offerChooser .voices { padding-bottom: 0; }

/* The heading and the copy used to be inert, so a tap anywhere but the button
   did nothing. The block is one link now. */
.voucherInfo--self { text-decoration: none; transition: border-color .25s ease, transform .25s ease; }
.voucherInfo--self:hover, .voucherInfo--self:focus-visible { border-color: rgba(201, 162, 77, .5); transform: translateY(-2px); }
.voucherInfo--self:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }

.offerAside { margin: clamp(26px, 3vw, 38px) 0 0; color: rgba(239, 236, 230, .6); font-size: 14px; font-weight: 300; text-align: center; }
.offerAside a { color: var(--gold); text-decoration: none; border-bottom: 1px solid rgba(201, 162, 77, .4); }
.offerAside a:hover, .offerAside a:focus-visible { color: #fff; border-bottom-color: #fff; }

@media (max-width: 1020px) {
  .sessionChoice--featured { grid-template-columns: 1fr; grid-template-rows: minmax(340px, 52vw) auto; }
  .reassure__list { grid-template-columns: 1fr; }
  .voices--pair .voices__list { grid-template-columns: 1fr; }
  .voucherInfo--self { grid-template-columns: 1fr; text-align: left; }
}



@media (max-width: 700px) {
  /* The offer card began at 473px on an 812px screen and its heading landed at
     808px - the visitor met a slab of photograph with nothing telling her what
     it was. A shorter frame and less top padding lift the heading into view. */
  .offerChooser.pageSection { padding-top: 92px; }
  .sessionChoice--featured { grid-template-rows: minmax(255px, 42vw) auto; }
  .sessionHero__back { margin-bottom: 46px; }
}


/* Desktop: the whole offer had to be reachable without scrolling on a 1366x768
   laptop, the commonest screen there is. The lead was eating 337px of it - the
   headline alone ran to 231px because 82px type wrapped to three lines inside a
   740px column. Two lines of 58px say the same thing in half the height. */
@media (min-width: 701px) {
  .offerChooser.pageSection { padding-top: 96px; }
  .offerChooser .pageLead h1 { max-width: 900px; font-size: clamp(38px, 4.2vw, 58px); }
  .offerChooser .pageLead p { margin-top: 14px; }
  .sessionChoice--featured { margin-top: 28px; min-height: clamp(360px, 30vw, 460px); }
}


/* A face beside the words. The thumbnails are 128px WebP built from the very
   photographs the reviews page already pairs with each quote - the originals run
   1.2-1.6MB each and would have cost several megabytes for a 48px circle. They
   stay decorative, as on the reviews page: a session photograph, not a portrait
   claiming to be the woman who wrote the words. */
.voices__who { display: flex; align-items: center; gap: 13px; margin-top: auto; padding-top: 22px; }
.voices__photo { flex: none; width: 48px; height: 48px; border-radius: 50%; object-fit: cover; border: 1px solid rgba(201, 162, 77, .28); }
.voices__item cite { margin-top: 0; padding-top: 0; }
/* Two columns, not four: at four the text column was 189px and the measure
   fell to seventeen characters a line, about a third of what reads
   comfortably. Kasia's quote ran to twelve lines of confetti. */
.voices--quad .voices__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }

@media (max-width: 700px) {
  .voices--quad .voices__list { grid-template-columns: 1fr; }
  .voices__photo { width: 42px; height: 42px; }
}


/* The offer page cites a single clause; without this the anchor lands with the
   heading tucked under the fixed navigation. */
.termsPanel h2 { scroll-margin-top: 120px; }


/* Vouchers: the questions that were keeping people from paying, and a way out
   for anyone not buying today. <details> is natively interactive, so unlike the
   old voucher block none of this collects dead clicks. The legal source sits
   under the answer rather than inside it - an answer that quotes a section
   mid-sentence reads as self-protection, not reassurance. */
.voucherFaq { padding: clamp(46px, 6vw, 84px) 0 0; }
.voucherFaq h2 { margin: 10px 0 clamp(22px, 3vw, 34px); color: rgba(239, 236, 230, .94); font-family: "Cormorant Garamond", serif; font-size: clamp(28px, 3.4vw, 42px); font-weight: 400; line-height: 1.05; }
.voucherFaq__list { display: grid; gap: 1px; border: 1px solid rgba(201, 162, 77, .16); border-radius: 4px; background: rgba(201, 162, 77, .16); overflow: hidden; }
.voucherFaq__item { background: #0b0b0b; }
.voucherFaq__item summary { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding: 20px 26px; color: rgba(239, 236, 230, .92); font-family: "Cormorant Garamond", serif; font-size: clamp(19px, 2vw, 24px); line-height: 1.3; cursor: pointer; list-style: none; transition: color .2s ease; }
.voucherFaq__item summary::-webkit-details-marker { display: none; }
.voucherFaq__item summary::after { content: ""; flex: none; width: 9px; height: 9px; margin-top: 4px; border-right: 1px solid var(--gold); border-bottom: 1px solid var(--gold); transform: rotate(45deg); transition: transform .25s ease; }
.voucherFaq__item[open] summary { color: var(--gold); }
.voucherFaq__item[open] summary::after { transform: rotate(-135deg); }
.voucherFaq__item summary:hover, .voucherFaq__item summary:focus-visible { color: var(--gold); }
.voucherFaq__answer { padding: 0 26px 24px; }
.voucherFaq__answer p { margin: 0; color: rgba(239, 236, 230, .76); font-size: 14px; font-weight: 300; line-height: 1.85; }
.voucherFaq__answer strong { color: rgba(239, 236, 230, .94); font-weight: 400; }
.voucherFaq__source { margin-top: 14px !important; font-size: 12px !important; letter-spacing: .04em; }
.voucherFaq__source a { color: rgba(201, 162, 77, .8); text-decoration: none; border-bottom: 1px solid rgba(201, 162, 77, .3); }
.voucherFaq__source a:hover, .voucherFaq__source a:focus-visible { color: #fff; border-bottom-color: #fff; }

.voucherAsk { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; margin-top: clamp(26px, 3vw, 40px); padding: 28px 30px; border: 1px solid rgba(201, 162, 77, .24); border-radius: var(--radius); background: linear-gradient(180deg, rgba(201, 162, 77, .07), rgba(255, 255, 255, .015)), rgba(0, 0, 0, .18); }
.voucherAsk h3 { margin: 0 0 8px; color: var(--gold); font-family: "Cormorant Garamond", serif; font-size: clamp(22px, 2.4vw, 30px); font-weight: 400; line-height: 1.1; }
.voucherAsk p { margin: 0; color: rgba(239, 236, 230, .76); font-size: 14px; font-weight: 300; line-height: 1.7; }

@media (max-width: 700px) {
  .voucherAsk { grid-template-columns: 1fr; padding: 24px 22px; }
  .voucherFaq__item summary { padding: 17px 20px; font-size: 18px; }
  .voucherFaq__answer { padding: 0 20px 20px; }
}