/* ═══════════════════════════════════════════════════════════════
   TFYH — The Friend You Have
   Visual system: warm, grounded, human, structured.
   Not dating. Not marketplace. Not social network.
   Inspired by high-end hospitality + membership services.
   ═══════════════════════════════════════════════════════════════ */

:root {
  --ink: #1c1917;
  --ink-soft: #44403c;
  --cream: #faf7f2;
  --cream-dark: #f0ebe3;
  --paper: #ffffff;
  --warm: #a68a64;
  --warm-dark: #8a7050;
  --accent: #2f4f4f;
  --accent-light: #3d6b6b;
  --border: #e7e0d5;
  --border-strong: #d4cbbd;
  --success: #2d5a4a;
  --error: #9b2c2c;
  --radius: 6px;
  --radius-lg: 12px;
  --shadow: 0 1px 3px rgba(28, 25, 23, 0.06), 0 4px 16px rgba(28, 25, 23, 0.04);
  --shadow-lg: 0 4px 24px rgba(28, 25, 23, 0.08);
  --font-serif: "Georgia", "Times New Roman", "Palatino Linotype", serif;
  --font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --max: 1120px;
  --header-h: 72px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink);
  background: var(--cream);
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
}

img { max-width: 100%; display: block; }

a { color: var(--accent); text-decoration: none; transition: color 0.15s; }
a:hover { color: var(--accent-light); }

/* ─── Typography ─────────────────────────────────────────────── */
h1, h2, h3, h4 {
  font-family: var(--font-serif);
  font-weight: 500;
  line-height: 1.2;
  color: var(--ink);
}

h1 { font-size: clamp(2.25rem, 5vw, 3.5rem); letter-spacing: -0.02em; }
h2 { font-size: clamp(1.75rem, 3.5vw, 2.5rem); letter-spacing: -0.015em; }
h3 { font-size: 1.35rem; }
h4 { font-size: 1.1rem; }

.lead {
  font-size: 1.2rem;
  color: var(--ink-soft);
  max-width: 36em;
  line-height: 1.7;
}

.text-muted { color: var(--ink-soft); }
.text-small { font-size: 0.875rem; }
.text-center { text-align: center; }

/* ─── Layout ─────────────────────────────────────────────────── */
.container {
  width: 100%;
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 1.5rem;
}

.section {
  padding: 5rem 0;
}

.section-sm { padding: 3rem 0; }

.page-center {
  min-height: 60vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 4rem 1.5rem;
}

/* ─── Header ─────────────────────────────────────────────────── */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(250, 247, 242, 0.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
  height: var(--header-h);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 1.5rem;
}

.logo {
  font-family: var(--font-serif);
  font-size: 1.35rem;
  font-weight: 500;
  color: var(--ink);
  letter-spacing: -0.01em;
  text-decoration: none;
  display: inline-flex;
  align-items: baseline;
  gap: 0.45rem;
}
.logo span {
  color: var(--warm-dark);
  font-weight: 400;
  font-size: 0.95rem;
}

.nav-main {
  display: flex;
  align-items: center;
  gap: 0.15rem;
}

.nav-main a {
  font-size: 0.9rem;
  color: var(--ink-soft);
  padding: 0.5rem 0.75rem;
  border-radius: var(--radius);
  text-decoration: none;
  transition: color 0.15s, background 0.15s;
}
.nav-main a:hover { color: var(--ink); background: var(--cream-dark); }

.nav-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.nav-toggle {
  display: none;
  background: none;
  border: none;
  padding: 0.5rem;
  cursor: pointer;
  color: var(--ink);
}

/* ─── Buttons ────────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-family: var(--font-sans);
  font-size: 0.95rem;
  font-weight: 500;
  padding: 0.75rem 1.5rem;
  border-radius: var(--radius);
  border: 1.5px solid transparent;
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
  line-height: 1.2;
}

.btn-primary {
  background: var(--ink);
  color: var(--cream);
  border-color: var(--ink);
}
.btn-primary:hover {
  background: #2a2624;
  color: var(--cream);
}

.btn-secondary {
  background: transparent;
  color: var(--ink);
  border-color: var(--border-strong);
}
.btn-secondary:hover {
  background: var(--cream-dark);
  border-color: var(--ink-soft);
}

.btn-accent {
  background: var(--accent);
  color: white;
  border-color: var(--accent);
}
.btn-accent:hover {
  background: var(--accent-light);
  color: white;
}

.btn-warm {
  background: var(--warm-dark);
  color: white;
  border-color: var(--warm-dark);
}
.btn-warm:hover { background: #755d42; color: white; }

.btn-ghost {
  background: transparent;
  color: var(--ink-soft);
  border-color: transparent;
  padding: 0.5rem 0.75rem;
}
.btn-ghost:hover { color: var(--ink); background: var(--cream-dark); }

.btn-lg { padding: 1rem 2rem; font-size: 1.05rem; }
.btn-sm { padding: 0.5rem 1rem; font-size: 0.85rem; }
.btn-block { width: 100%; }

.btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ─── Hero ───────────────────────────────────────────────────── */
.hero {
  padding: 6rem 0 5rem;
  text-align: center;
}

.hero h1 {
  margin-bottom: 1.25rem;
  max-width: 14ch;
  margin-left: auto;
  margin-right: auto;
}

.hero .lead {
  margin: 0 auto 2.5rem;
  max-width: 32em;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}

.hero-note {
  margin-top: 2.5rem;
  font-size: 0.875rem;
  color: var(--ink-soft);
}

/* ─── Cards ──────────────────────────────────────────────────── */
.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.5rem;
}

.card {
  background: var(--paper);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: box-shadow 0.2s, border-color 0.2s;
}
.card:hover {
  box-shadow: var(--shadow-lg);
  border-color: var(--border-strong);
}

.card-body { padding: 1.5rem; }

.experience-card {
  background: var(--paper);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 0;
  overflow: hidden;
  transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  display: block;
  height: 100%;
}
.experience-card:hover {
  border-color: var(--warm);
  transform: translateY(-3px);
  box-shadow: var(--shadow-lg);
}
.experience-card .exp-visual {
  height: 160px;
  width: 100%;
  background-size: cover;
  background-position: center;
  display: block;
}
.experience-card .exp-visual img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  display: block;
}
.experience-card h3 {
  margin: 1.25rem 1.5rem 0.4rem;
  font-family: var(--font-serif);
}
.experience-card p {
  color: var(--ink-soft);
  font-size: 0.92rem;
  margin: 0 1.5rem 1.5rem;
  line-height: 1.55;
}

/* Friend card */
.friend-card {
  display: flex;
  flex-direction: column;
  background: var(--paper);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: box-shadow 0.2s;
}
.friend-card:hover { box-shadow: var(--shadow-lg); }

.friend-card-img {
  aspect-ratio: 1;
  background: var(--cream-dark);
  object-fit: cover;
  width: 100%;
}

.friend-card-body {
  padding: 1.25rem 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.friend-card-name {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  margin-bottom: 0.15rem;
}

.friend-card-loc {
  font-size: 0.8rem;
  color: var(--warm-dark);
  margin-bottom: 0.75rem;
  letter-spacing: 0.02em;
}

.friend-card-bio {
  font-size: 0.9rem;
  color: var(--ink-soft);
  margin-bottom: 1rem;
  flex: 1;
}

.friend-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 1.25rem;
}

.tag {
  font-size: 0.7rem;
  padding: 0.2rem 0.55rem;
  background: var(--cream-dark);
  color: var(--ink-soft);
  border-radius: 100px;
  letter-spacing: 0.01em;
}

.tag-accent {
  background: #e8f0ee;
  color: var(--accent);
}

/* ─── Forms ──────────────────────────────────────────────────── */
.form-group {
  margin-bottom: 1.25rem;
}

.form-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 0.4rem;
  color: var(--ink);
}

.form-hint {
  font-size: 0.8rem;
  color: var(--ink-soft);
  margin-top: 0.3rem;
}

.form-input,
.form-select,
.form-textarea {
  width: 100%;
  padding: 0.7rem 0.9rem;
  font-family: var(--font-sans);
  font-size: 1rem;
  border: 1.5px solid var(--border-strong);
  border-radius: var(--radius);
  background: var(--paper);
  color: var(--ink);
  transition: border-color 0.15s, box-shadow 0.15s;
}
.form-input:focus,
.form-select:focus,
.form-textarea:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(47, 79, 79, 0.12);
}

.form-textarea { min-height: 110px; resize: vertical; }

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.form-error {
  color: var(--error);
  font-size: 0.85rem;
  margin-top: 0.3rem;
}

.form-check {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin-bottom: 0.75rem;
}
.form-check input {
  margin-top: 0.3rem;
  width: 1.05rem;
  height: 1.05rem;
  accent-color: var(--accent);
}
.form-check label {
  font-size: 0.9rem;
  color: var(--ink-soft);
  line-height: 1.45;
}

.form-section {
  margin-bottom: 2.5rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--border);
}
.form-section:last-of-type { border-bottom: none; }

.form-section-title {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  margin-bottom: 0.35rem;
}
.form-section-desc {
  font-size: 0.9rem;
  color: var(--ink-soft);
  margin-bottom: 1.5rem;
}

/* ─── Steps / Process ────────────────────────────────────────── */
.steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2rem;
  counter-reset: step;
}

.step {
  position: relative;
  padding-top: 0.5rem;
}
.step::before {
  counter-increment: step;
  content: counter(step);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  background: var(--ink);
  color: var(--cream);
  font-size: 0.85rem;
  font-weight: 600;
  border-radius: 50%;
  margin-bottom: 1rem;
}
.step h3 {
  font-size: 1.1rem;
  margin-bottom: 0.4rem;
}
.step p {
  font-size: 0.9rem;
  color: var(--ink-soft);
}

/* ─── Preference chips ───────────────────────────────────────── */
.chip-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}

.chip {
  padding: 0.55rem 1.1rem;
  border: 1.5px solid var(--border-strong);
  border-radius: 100px;
  background: var(--paper);
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.15s;
  user-select: none;
}
.chip:hover { border-color: var(--warm); }
.chip.selected {
  background: var(--ink);
  color: var(--cream);
  border-color: var(--ink);
}

/* ─── Profile page ───────────────────────────────────────────── */
.profile-hero {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 3rem;
  align-items: start;
  padding: 3rem 0;
}

.profile-img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--radius-lg);
  background: var(--cream-dark);
}

.profile-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 1rem 0 1.5rem;
}

.profile-section {
  margin-bottom: 2rem;
}
.profile-section h3 {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-soft);
  margin-bottom: 0.6rem;
  font-family: var(--font-sans);
  font-weight: 600;
}

/* ─── Dashboard ──────────────────────────────────────────────── */
.dash-grid {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 2.5rem;
  padding: 2.5rem 0;
}

.dash-nav a {
  display: block;
  padding: 0.6rem 0.9rem;
  color: var(--ink-soft);
  border-radius: var(--radius);
  margin-bottom: 0.2rem;
  font-size: 0.95rem;
}
.dash-nav a:hover, .dash-nav a.active {
  background: var(--cream-dark);
  color: var(--ink);
}

.booking-row {
  background: var(--paper);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 1.25rem 1.5rem;
  margin-bottom: 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.status-badge {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.25rem 0.65rem;
  border-radius: 100px;
  letter-spacing: 0.02em;
}
.status-confirmed { background: #e8f0ee; color: var(--success); }
.status-awaiting { background: #fef3c7; color: #92400e; }
.status-completed { background: var(--cream-dark); color: var(--ink-soft); }
.status-cancelled { background: #fee2e2; color: var(--error); }

/* ─── Alerts / Messages ──────────────────────────────────────── */
.alert {
  padding: 1rem 1.25rem;
  border-radius: var(--radius);
  margin-bottom: 1.5rem;
  font-size: 0.95rem;
}
.alert-success { background: #e8f0ee; color: var(--success); border: 1px solid #c5ddd4; }
.alert-error { background: #fef2f2; color: var(--error); border: 1px solid #fecaca; }
.alert-info { background: #f0f4f8; color: var(--accent); border: 1px solid #d0dce8; }

/* ─── Footer ─────────────────────────────────────────────────── */
.site-footer {
  background: var(--ink);
  color: #a8a29e;
  padding: 4rem 0 2.5rem;
  margin-top: 4rem;
}
.site-footer a { color: #d6d3d1; }
.site-footer a:hover { color: white; }

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 2.5rem;
  margin-bottom: 3rem;
}

.footer-brand {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  color: var(--cream);
  margin-bottom: 0.75rem;
}
.footer-brand span { color: var(--warm); }

.footer-col h4 {
  font-family: var(--font-sans);
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #78716c;
  margin-bottom: 1rem;
}
.footer-col a {
  display: block;
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
}

.footer-bottom {
  border-top: 1px solid #292524;
  padding-top: 1.5rem;
  font-size: 0.8rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}

/* ─── Utility ────────────────────────────────────────────────── */
.mb-1 { margin-bottom: 0.5rem; }
.mb-2 { margin-bottom: 1rem; }
.mb-3 { margin-bottom: 1.5rem; }
.mb-4 { margin-bottom: 2rem; }
.mt-2 { margin-top: 1rem; }
.mt-3 { margin-top: 1.5rem; }
.mt-4 { margin-top: 2rem; }

.divider {
  height: 1px;
  background: var(--border);
  margin: 2.5rem 0;
}

.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  border: 0;
}

/* ─── Responsive ─────────────────────────────────────────────── */
@media (max-width: 900px) {
  .nav-main { display: none; }
  .nav-main.open {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: var(--header-h);
    left: 0; right: 0;
    background: var(--cream);
    border-bottom: 1px solid var(--border);
    padding: 1rem;
    gap: 0.25rem;
  }
  .nav-toggle { display: block; }
  .profile-hero { grid-template-columns: 1fr; gap: 1.5rem; }
  .profile-img { max-width: 280px; }
  .dash-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .form-row { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .hero { padding: 4rem 0 3rem; }
  .section { padding: 3.5rem 0; }
  .footer-grid { grid-template-columns: 1fr; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .btn { width: 100%; }
}

/* Service detail blocks on Experiences / Retreats pages */
.service-block {
  padding: 2.5rem 0;
  border-bottom: 1px solid var(--border);
}
.service-block:last-of-type { border-bottom: none; }
.service-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 2.5rem;
  align-items: center;
}
.service-img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  border-radius: var(--radius-lg);
  background: var(--cream-dark);
}
.service-list {
  margin: 1rem 0 1.5rem;
  padding-left: 1.2rem;
  color: var(--ink-soft);
  font-size: 0.95rem;
  line-height: 1.7;
}
.service-list li { margin-bottom: 0.25rem; }

@media (max-width: 800px) {
  .service-grid { grid-template-columns: 1fr; gap: 1.25rem; }
  .service-img { height: 200px; }
  #retreats-events .container { grid-template-columns: 1fr !important; }
}


/* Hero with background image */
.hero-with-image {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
  background: #1c1917;
}
.hero-with-image .hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.55;
}
.hero-with-image .hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(28,25,23,0.45) 0%, rgba(28,25,23,0.72) 100%);
}
.hero-with-image .container {
  position: relative;
  z-index: 2;
  padding: 4.5rem 1.5rem;
}
.hero-with-image h1 {
  color: #fafaf9;
  max-width: 16em;
  margin-left: auto;
  margin-right: auto;
}
.hero-with-image .lead {
  color: #e7e5e4;
  max-width: 32em;
  margin-left: auto;
  margin-right: auto;
}
.hero-with-image .btn-secondary {
  border-color: rgba(255,255,255,0.35);
  color: #fafaf9;
  background: transparent;
}
.hero-with-image .btn-secondary:hover {
  background: rgba(255,255,255,0.1);
}

/* Tighter friend grid */
.friends-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1.25rem;
}
.friend-card {
  border-radius: 10px;
}
.friend-card-body {
  padding: 0.9rem 1rem 1.1rem;
}
.friend-card-name {
  font-size: 1.05rem;
}
.friend-card-bio {
  font-size: 0.85rem;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Friend initial avatar (no photo) */
.friend-initial {
  width: 100%;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--cream-dark, #f5f0e8);
  color: var(--ink);
  font-family: var(--font-serif);
  font-size: 2.75rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  border-bottom: 1px solid var(--border);
}
.friend-card .friend-card-img { display: none; }

/* Layout helpers (refactored structure) */
.section-paper {
  background: var(--paper);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.section-dark {
  background: var(--ink);
  color: var(--cream);
}
.text-on-dark { color: var(--cream); margin-bottom: 0.75rem; }
.text-on-dark-muted { color: #a8a29e; max-width: 32em; margin: 0 auto 1.5rem; }
.btn-on-dark { border-color: #57534e; color: var(--cream); }
.section-intro { margin: 0 auto 2.5rem; max-width: 34em; }
.pricing-grid { max-width: 900px; margin: 0 auto; }
.pricing-card { padding: 1.75rem; text-align: center; }
.pricing-card-featured { border-color: var(--warm, #c4a574); }
.price {
  font-family: var(--font-serif);
  font-size: 2rem;
  margin: 0.5rem 0;
}
.price span { font-size: 1rem; color: var(--ink-soft); }
.brand-statement { max-width: 36em; }
.brand-line {
  font-family: var(--font-serif);
  font-size: 1.35rem;
  margin: 0 0 1rem;
}
.page-narrow { max-width: 720px; }
.page-form { max-width: 560px; }
.page-flow { max-width: 640px; margin: 0 auto; }

.section-divider-title {
  font-size: 1.5rem;
  margin: 2.5rem 0 1rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border);
}
.block-title { font-size: 1.15rem; margin-bottom: 0.5rem; }
.simple-list {
  padding-left: 1.25rem;
  color: var(--ink-soft);
  font-size: 0.95rem;
  line-height: 1.7;
}
.card-action { padding: 0 1.5rem 1.5rem; }
.text-muted { color: var(--ink-soft); }

/* ═══════════════════════════════════════════════════════════════
   HOME — editorial TFYH redesign
   Palette: cream / tan / charcoal / brown
   ═══════════════════════════════════════════════════════════════ */
.home-editorial {
  --home-cream:#f4eee4; --home-paper:#fbf7ef; --home-tan:#c7a77b;
  --home-brown:#74563c; --home-charcoal:#252321; --home-line:#d8c8b3;
  background:var(--home-paper); color:var(--home-charcoal);
}
.home-editorial .site-header { background:rgba(251,247,239,.95); border-color:var(--home-line); }
.home-editorial .logo, .home-editorial .nav-main a { color:var(--home-charcoal); }
.home-editorial main { overflow:hidden; }
.tfyh-hero,.tfyh-intro,.tfyh-how,.tfyh-experiences,.tfyh-situations { position:relative; }
.tfyh-hero { padding:4.5rem 0 4rem; background:var(--home-paper); }
.tfyh-hero-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:4rem; align-items:center; }
.tfyh-script { font-family:"Brush Script MT","Segoe Script",cursive; font-size:1.45rem; color:var(--home-brown); margin-bottom:1rem; transform:rotate(-2deg); width:max-content; border-bottom:2px solid var(--home-tan); padding:0 .25rem .2rem; }
.tfyh-script.centered { margin-left:auto; margin-right:auto; }
.tfyh-hero h1 { font-size:clamp(2.8rem,5.4vw,5rem); max-width:none; margin:0 0 1.5rem; line-height:.98; letter-spacing:-.045em; }
.tfyh-hero h1 em,.tfyh-intro h2 em { color:var(--home-brown); font-weight:400; }
.tfyh-hero-text { max-width:37rem; font-size:1.03rem; line-height:1.7; }
.tfyh-actions { display:flex; align-items:center; gap:2rem; margin:1.7rem 0 1.8rem; }
.tfyh-btn { display:inline-flex; align-items:center; justify-content:center; padding:.9rem 1.4rem; text-transform:uppercase; letter-spacing:.06em; font-size:.78rem; font-weight:700; border:1px solid var(--home-charcoal); }
.tfyh-btn-dark { background:var(--home-charcoal); color:var(--home-paper); }
.tfyh-btn-dark:hover { color:var(--home-paper); background:#393633; }
.tfyh-btn-cream { background:var(--home-cream); color:var(--home-charcoal); border-color:var(--home-cream); }
.tfyh-link { color:var(--home-charcoal); font-weight:650; font-size:.86rem; text-transform:uppercase; letter-spacing:.04em; border-bottom:2px solid var(--home-tan); }
.tfyh-trust-row { display:flex; gap:1.2rem; flex-wrap:wrap; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.tfyh-hero-art { position:relative; padding:1rem; }
.tfyh-hero-art:before { content:""; position:absolute; inset:4% 1% 0 7%; background:#e7dac7; transform:rotate(2.5deg); }
.tfyh-hero-art img { position:relative; width:100%; height:500px; object-fit:cover; filter:saturate(.85) contrast(1.03); clip-path:polygon(3% 2%,97% 0,100% 92%,94% 99%,5% 96%,0 89%,2% 8%); }
.tfyh-note,.tfyh-scribble,.tfyh-side-note { font-family:"Brush Script MT","Segoe Script",cursive; color:var(--home-charcoal); line-height:1.25; }
.tfyh-note { position:absolute; right:-1.5rem; bottom:-1.5rem; background:#e7dac7; padding:1.2rem 1.5rem; font-size:1.5rem; transform:rotate(-3deg); }
.tfyh-tape { position:absolute; z-index:3; width:120px; height:34px; background:rgba(199,167,123,.55); transform:rotate(-8deg); }
.tape-top { top:0; left:20%; }.tape-small { top:-12px; right:20%; width:90px; height:26px; }
.tfyh-intro { padding:4.8rem 0; background:var(--home-cream); border-top:1px solid var(--home-line); border-bottom:1px solid var(--home-line); }
.tfyh-intro-grid { display:grid; grid-template-columns:1fr 1.15fr .75fr; gap:3.2rem; align-items:center; }
.tfyh-polaroids { min-height:360px; position:relative; }
.polaroid { position:absolute; background:#fff; padding:.65rem .65rem 2.2rem; box-shadow:0 8px 25px rgba(37,35,33,.12); }
.polaroid img { width:100%; height:210px; object-fit:cover; }
.polaroid-a { width:72%; top:0; left:0; transform:rotate(-5deg); }.polaroid-b { width:58%; right:0; bottom:0; transform:rotate(6deg); }
.tfyh-scribble { position:absolute; bottom:-1rem; left:0; font-size:1.05rem; background:#e9ddcb; padding:.8rem 1rem; transform:rotate(-3deg); }
.tfyh-kicker { font-family:var(--font-serif); font-size:1.45rem; margin-bottom:.25rem; }
.tfyh-intro h2 { font-size:clamp(2rem,3.2vw,3rem); margin-bottom:1.3rem; }
.tfyh-intro-copy p { margin-bottom:1.1rem; }.tfyh-strong { font-weight:650; }
.tfyh-benefits { background:var(--home-charcoal); color:var(--home-cream); padding:2rem; transform:rotate(1deg); }
.tfyh-benefits h3 { color:var(--home-cream); text-transform:uppercase; letter-spacing:.08em; font-family:var(--font-sans); font-size:.82rem; margin-bottom:1.3rem; }
.tfyh-benefits ul { list-style:none; display:grid; gap:.85rem; font-size:.9rem; }.tfyh-benefits li:before { content:"✓"; color:var(--home-tan); margin-right:.6rem; }
.tfyh-how { padding:4.2rem 0; background:var(--home-paper); }.centered{text-align:center}.tfyh-how h2{font-size:clamp(2rem,3.3vw,3rem);margin-bottom:2.5rem}
.tfyh-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:0; }.tfyh-steps article { text-align:center; padding:0 1.5rem; position:relative; }.tfyh-steps article:not(:last-child):after { content:"→"; position:absolute; right:-.5rem; top:1.2rem; color:var(--home-tan); font-size:1.6rem; }
.tfyh-steps span { display:grid; place-items:center; width:48px; height:48px; margin:0 auto .8rem; border-radius:50%; background:#e8dbc8; font-family:var(--font-serif); }.tfyh-steps h3{font-size:1.15rem;margin-bottom:.45rem}.tfyh-steps p{font-size:.88rem;line-height:1.55}
.tfyh-experiences { padding:4.2rem 0; background:#eee2d1; }.tfyh-section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:1.8rem}.tfyh-section-head h2{font-size:clamp(2rem,3.4vw,3rem)}
.tfyh-moment-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}.moment-card{color:var(--home-charcoal)}.moment-card img{width:100%;aspect-ratio:1/1.05;object-fit:cover;filter:saturate(.8)}.moment-card span{display:block;text-align:center;margin-top:.65rem;font-size:.84rem;font-weight:700}
.tfyh-situations{padding:4.8rem 0;background:var(--home-paper)}.tfyh-situations-grid{display:grid;grid-template-columns:.9fr 1.3fr .55fr;gap:2.5rem;align-items:center}.tfyh-situations h2{font-size:clamp(2.2rem,4vw,3.6rem);margin-bottom:1.4rem}.tfyh-situation-list{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1.2rem;font-size:.9rem}.tfyh-wide-photo{position:relative}.tfyh-wide-photo img{width:100%;height:310px;object-fit:cover;clip-path:polygon(2% 3%,98% 0,100% 95%,3% 100%,0 10%)}.tfyh-side-note{font-size:1.45rem;transform:rotate(-4deg);border-bottom:2px solid var(--home-tan);padding-bottom:.6rem}
.tfyh-final{background:var(--home-charcoal);color:var(--home-cream);padding:3.5rem 0}.tfyh-final-inner{display:flex;justify-content:space-between;align-items:center;gap:2rem}.tfyh-final h2{color:var(--home-cream);font-size:clamp(2rem,3vw,3rem);margin:.2rem 0 .5rem}.tfyh-final .tfyh-script{color:#dcc5a5;border-color:#dcc5a5}
@media(max-width:900px){.tfyh-hero-grid,.tfyh-intro-grid,.tfyh-situations-grid{grid-template-columns:1fr}.tfyh-hero-art{max-width:680px}.tfyh-intro-grid{gap:2rem}.tfyh-polaroids{max-width:500px}.tfyh-benefits{transform:none}.tfyh-steps{grid-template-columns:1fr 1fr;gap:2rem}.tfyh-steps article:after{display:none}.tfyh-moment-grid{grid-template-columns:repeat(3,1fr)}.tfyh-side-note{display:none}}
@media(max-width:600px){.tfyh-hero{padding:3rem 0}.tfyh-hero h1{font-size:2.65rem}.tfyh-hero-grid{gap:2rem}.tfyh-hero-art img{height:380px}.tfyh-note{right:0}.tfyh-actions,.tfyh-final-inner,.tfyh-section-head{align-items:flex-start;flex-direction:column}.tfyh-trust-row{display:grid}.tfyh-steps{grid-template-columns:1fr}.tfyh-moment-grid{grid-template-columns:1fr 1fr}.tfyh-situation-list{grid-template-columns:1fr}.tfyh-polaroids{min-height:310px}}

/* ═══════════════════════════════════════════════════════════════
   Experiences — approved TFYH editorial/collage direction
   ═══════════════════════════════════════════════════════════════ */
.experience-editorial{background:#f7f0e6;color:#292522}
.experience-page{overflow:hidden;background:#f7f0e6}
.xp-hero{position:relative;padding:3.6rem 0 3.2rem;background:#f7f0e6;border-bottom:1px solid #d8c8b5}
.xp-hero:after{content:"";position:absolute;right:-9%;bottom:-30%;width:38%;height:54%;background:#c8a982;opacity:.16;transform:rotate(-7deg);clip-path:polygon(0 22%,100% 0,93% 80%,11% 100%)}
.xp-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:center;position:relative;z-index:1}
.xp-brush-label{display:inline-block;background:#292522;color:#f7f0e6;padding:.45rem .75rem;font-size:.73rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transform:rotate(-1deg);box-shadow:8px 5px 0 rgba(113,78,54,.17)}
.xp-hero h1{font-family:Georgia,serif;font-size:clamp(2.65rem,5.2vw,5.1rem);line-height:.93;letter-spacing:-.052em;margin:1rem 0 1.15rem;max-width:720px}
.xp-hero h1 em{color:#76543d;font-weight:400}
.xp-lead{max-width:580px;font-size:1rem;line-height:1.68;color:#4d4640}
.xp-actions{display:flex;align-items:center;gap:1.4rem;margin-top:1.35rem;flex-wrap:wrap}
.xp-text-link{font-weight:700;color:#493229;border-bottom:2px solid #c7a77c;padding-bottom:.22rem}
.xp-mini-note{display:inline-block;margin-top:1.8rem;font-family:"Segoe Print","Bradley Hand",cursive;color:#76543d;transform:rotate(-2deg);border-bottom:2px solid #c7a77c;padding:.15rem .35rem}
.xp-hero-collage{position:relative;min-height:485px}
.xp-photo{position:absolute;margin:0;background:#fffaf2;padding:.55rem;box-shadow:0 12px 28px rgba(46,37,31,.15)}
.xp-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.83) contrast(1.03)}
.xp-photo-main{right:0;top:10px;width:78%;height:390px;transform:rotate(2deg)}
.xp-photo-small{left:0;bottom:5px;width:43%;height:220px;transform:rotate(-5deg);z-index:2}
.xp-ticket-stub{position:absolute;right:3%;bottom:2%;z-index:3;background:#493229;color:#f7f0e6;padding:1rem 1.35rem;border:1px dashed #d9c8b4;font-family:Georgia,serif;font-size:1.3rem;transform:rotate(-2deg);box-shadow:0 8px 18px rgba(40,35,31,.18)}
.xp-ticket-stub span{display:block;font-family:"Segoe Print","Bradley Hand",cursive;font-size:.8rem;color:#d7b88d;margin-top:.25rem}
.xp-sticker{position:absolute;left:38%;top:3%;z-index:4;background:#c7a77c;color:#2c2723;padding:.7rem 1rem;font-family:"Segoe Print","Bradley Hand",cursive;font-size:.8rem;transform:rotate(-7deg)}
.xp-value-band{background:#2b2724;color:#f7f0e6;padding:2.25rem 0;border-top:8px solid #76543d}
.xp-value-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.xp-value-grid article{padding:0 1.25rem;border-right:1px solid rgba(247,240,230,.18);text-align:center}.xp-value-grid article:last-child{border-right:0}
.xp-icon{display:block;color:#c7a77c;font-size:1.4rem;min-height:2rem;margin-bottom:.35rem}.xp-value-grid h3{color:#fffaf2;font-family:var(--font-sans);font-size:.83rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem}.xp-value-grid p{font-size:.76rem;line-height:1.45;color:#d9d0c7}
.xp-intro-strip{padding:4rem 0;background:#efe4d6;border-bottom:1px solid #d7c5b0}
.xp-intro-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:3rem;align-items:center}
.xp-handline{font-family:"Segoe Print","Bradley Hand",cursive;color:#76543d;font-size:1rem;transform:rotate(-1deg);margin-bottom:.4rem}.xp-intro-copy h2,.xp-section-heading h2,.xp-package-copy h2,.xp-closing h2{font-size:clamp(2rem,3.7vw,3.4rem);line-height:1.02;margin:.35rem 0 1rem}.xp-intro-copy>p:not(.xp-handline){font-size:.94rem;line-height:1.65;margin-bottom:1.2rem}
.xp-intro-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem}.xp-intro-cards article{background:#fffaf2;border:1px solid #d7c5b0;padding:1rem 1.1rem;min-height:118px;box-shadow:6px 7px 0 rgba(118,84,61,.07)}.xp-intro-cards span{display:block;font-weight:800;text-transform:uppercase;font-size:.78rem;letter-spacing:.07em;color:#493229;margin-bottom:.4rem}.xp-intro-cards p{font-size:.82rem;line-height:1.45;color:#5c534b}
.xp-options{padding:4.5rem 0 5rem;background:#f7f0e6}
.xp-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.xp-section-heading>p{max-width:390px;font-size:.9rem;line-height:1.55;color:#60564e;text-align:right}
.xp-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.15rem}.xp-card{background:#fffaf2;border:1px solid #d7c5b0;box-shadow:0 8px 18px rgba(57,44,35,.07);position:relative}.xp-card:nth-child(2),.xp-card:nth-child(5){transform:translateY(18px)}.xp-card-image{height:210px;padding:.65rem .65rem 0}.xp-card-image img{height:100%;width:100%;object-fit:cover;filter:saturate(.85)}.xp-card-body{padding:1rem 1.05rem 1.2rem}.xp-card-tag{text-transform:uppercase;letter-spacing:.06em;color:#80644d;font-size:.67rem;font-weight:700;margin-bottom:.3rem}.xp-card h3{font-size:1.55rem;margin-bottom:.45rem}.xp-card-body>p:not(.xp-card-tag){font-size:.85rem;line-height:1.53;min-height:4.1em;color:#574e47}.xp-card a{display:inline-block;margin-top:.9rem;color:#493229;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid #c7a77c;padding-bottom:.2rem}
.xp-packages{padding:4.5rem 0;background:#2b2724;color:#f7f0e6;border-top:8px solid #76543d}
.xp-package-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:3rem;align-items:center}.xp-package-copy h2{color:#fffaf2}.xp-package-copy>p:not(.xp-handline){color:#d6cbc1;line-height:1.65;max-width:470px}.xp-package-note{display:inline-block;margin-top:1.3rem;padding:.65rem .85rem;border:1px dashed #c7a77c;color:#d8b98e;font-family:"Segoe Print","Bradley Hand",cursive;transform:rotate(-1deg)}
.xp-package-list{display:grid;gap:.8rem}.xp-package-list article{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;background:#f7f0e6;color:#2b2724;padding:1rem 1.1rem;border:1px solid #b89b78}.xp-package-list article.featured{background:#c7a77c}.xp-package-marker{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#493229;color:#f7f0e6;font-family:Georgia,serif}.xp-package-list h3{font-size:1.15rem;margin-bottom:.1rem}.xp-package-list p{font-size:.78rem;color:#5f554d}.xp-package-list strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.xp-closing{background:#76543d;color:#f7f0e6;padding:0}.xp-closing-grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:380px}.xp-closing-image{margin-left:calc((100vw - min(1120px,100vw))/2 * -1);min-width:0}.xp-closing-image img{width:100%;height:100%;min-height:380px;object-fit:cover;filter:saturate(.72) contrast(1.05)}.xp-closing-grid>div:last-child{padding:3.4rem;align-self:center}.xp-closing h2{color:#fffaf2}.xp-closing p:not(.xp-brush-label){max-width:500px;color:#eee4da;line-height:1.65;margin-bottom:1.25rem}
@media(max-width:900px){.xp-hero-grid,.xp-intro-grid,.xp-package-layout,.xp-closing-grid{grid-template-columns:1fr}.xp-hero-collage{min-height:420px}.xp-value-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.xp-value-grid article{border-right:0}.xp-card-grid{grid-template-columns:repeat(2,1fr)}.xp-card:nth-child(2),.xp-card:nth-child(5){transform:none}.xp-closing-image{margin-left:0}.xp-closing-grid>div:last-child{padding:2.5rem 0 3.5rem}}
@media(max-width:620px){.xp-hero{padding-top:2.4rem}.xp-hero h1{font-size:2.65rem}.xp-hero-collage{min-height:355px}.xp-photo-main{height:285px;width:86%}.xp-photo-small{height:155px;width:45%}.xp-ticket-stub{font-size:1rem;padding:.75rem}.xp-value-grid{grid-template-columns:1fr}.xp-value-grid article{padding:1rem 0;border-bottom:1px solid rgba(247,240,230,.16)}.xp-intro-cards,.xp-card-grid{grid-template-columns:1fr}.xp-section-heading{align-items:flex-start;flex-direction:column}.xp-section-heading>p{text-align:left}.xp-package-list article{grid-template-columns:auto 1fr}.xp-package-list strong{grid-column:2}.xp-closing-grid>div:last-child{padding:2.5rem 1rem}.xp-card-body>p:not(.xp-card-tag){min-height:auto}}


/* === TFYH Experiences: reference-layout redesign === */
.experience-reference-page{background:#f7f0e6;color:#282522}
.experience-reference-page .site-header{background:rgba(247,240,230,.96);border-color:#d7c5b0}
.xr-hero{background:#f7f0e6;padding:3rem 0 2.25rem;position:relative;overflow:hidden}
.xr-hero:before{content:"";position:absolute;inset:auto 0 0;height:18px;background:#2b2724;clip-path:polygon(0 30%,8% 55%,17% 28%,25% 64%,34% 35%,43% 68%,53% 32%,64% 60%,74% 35%,84% 65%,93% 30%,100% 52%,100% 100%,0 100%)}
.xr-hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:2.6rem;align-items:center}
.xr-brush{display:inline-block;background:#2b2724;color:#f7f0e6;padding:.45rem .75rem;font:800 .72rem/1.2 var(--font-sans);letter-spacing:.1em;transform:rotate(-1.5deg);box-shadow:8px 5px 0 rgba(118,84,61,.15)}
.xr-brush.small{font-size:.66rem}.xr-brush.light{background:#f7f0e6;color:#2b2724;box-shadow:8px 5px 0 rgba(199,167,124,.2)}
.xr-hero h1{font-family:Georgia,serif;font-size:clamp(2.9rem,5.7vw,5.8rem);line-height:.88;letter-spacing:-.06em;margin:1rem 0 1.2rem;max-width:720px}.xr-hero h1 em{font-weight:400;color:#76543d}
.xr-hero-copy>p:not(.xr-hand-note){font-size:1rem;line-height:1.65;max-width:590px;color:#4f4741}
.xr-hero-actions{display:flex;align-items:center;gap:1.3rem;margin-top:1.3rem;flex-wrap:wrap}.xr-underlink{font-weight:800;color:#493229;border-bottom:2px solid #c7a77c;padding-bottom:.2rem}
.xr-hand-note{font-family:"Segoe Print","Bradley Hand",cursive;color:#76543d;font-size:.93rem;margin-top:1.3rem;transform:rotate(-1deg)}.xr-hand-note.light{color:#d7b88d}
.xr-hero-art{position:relative;min-height:500px}.xr-paper-swipe{position:absolute;inset:3% 0 5% 12%;background:#2b2724;transform:rotate(3deg);clip-path:polygon(5% 5%,94% 0,100% 89%,12% 100%,0 20%)}
.xr-main-photo,.xr-side-photo{position:absolute;margin:0;background:#fffaf2;padding:.55rem;box-shadow:0 14px 28px rgba(42,34,29,.2)}.xr-main-photo img,.xr-side-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.04)}
.xr-main-photo{right:3%;top:4%;width:68%;height:410px;transform:rotate(2deg)}.xr-side-photo{left:2%;bottom:2%;width:39%;height:230px;transform:rotate(-5deg);z-index:3}
.xr-venue-tag{position:absolute;right:0;bottom:3%;background:#c7a77c;color:#2b2724;padding:.8rem 1rem;font:800 .82rem/1.15 var(--font-sans);letter-spacing:.08em;transform:rotate(-3deg);z-index:4}.xr-plan-note{position:absolute;left:5%;top:5%;z-index:5;font-family:"Segoe Print","Bradley Hand",cursive;color:#76543d;background:#f3e7d6;padding:.6rem .8rem;transform:rotate(-6deg)}
.xr-route-line{position:absolute;right:8%;top:14%;width:92px;height:92px;border:3px solid #76543d;border-left-color:transparent;border-radius:50%;z-index:5;opacity:.75}
.xr-dark-band{background:#2b2724;color:#f7f0e6;padding:2.6rem 0 2.8rem}.xr-band-kicker{text-align:center;color:#d7b88d;font-family:"Segoe Print","Bradley Hand",cursive;margin:0}.xr-dark-band h2{text-align:center;color:#fffaf2;font-size:clamp(1.9rem,3.5vw,3.25rem);margin:.35rem 0 2rem}.xr-band-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.xr-band-grid article{text-align:center;padding:0 1.25rem;border-right:1px solid rgba(247,240,230,.18)}.xr-band-grid article:last-child{border-right:0}.xr-line-icon{display:inline-flex;min-width:64px;height:34px;align-items:center;justify-content:center;border:1px solid #c7a77c;color:#c7a77c;font-size:.67rem;letter-spacing:.1em;margin-bottom:.65rem}.xr-band-grid h3{font:800 .82rem var(--font-sans);text-transform:uppercase;letter-spacing:.08em;color:#fffaf2}.xr-band-grid p{font-size:.78rem;line-height:1.55;color:#d9d0c7}
.xr-experiences{padding:4.5rem 0;background:#f7f0e6}.xr-work-grid{display:grid;grid-template-columns:.32fr .68fr;gap:2rem;align-items:start}.xr-section-intro{position:sticky;top:105px;padding:1.2rem 1rem 1.2rem 0}.xr-section-intro h2{font-size:clamp(2.15rem,3.7vw,3.5rem);line-height:.96;margin:1rem 0}.xr-section-intro p{line-height:1.65;color:#5a5048}.xr-scribble{font-family:"Segoe Print","Bradley Hand",cursive!important;color:#76543d!important;margin-top:1.25rem;transform:rotate(-2deg)}
.xr-experience-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem}.xr-experience-card{background:#fffaf2;border:1px solid #d7c5b0;padding:.65rem;box-shadow:8px 9px 0 rgba(118,84,61,.08)}.xr-experience-card:nth-child(2n){transform:translateY(22px)}.xr-experience-card img{width:100%;height:205px;object-fit:cover;filter:saturate(.82) contrast(1.03)}.xr-experience-card>div{padding:.9rem .55rem .75rem}.xr-experience-card span{font-family:"Segoe Print","Bradley Hand",cursive;color:#76543d;font-size:.78rem}.xr-experience-card h3{font-size:1.75rem;margin:.15rem 0 .35rem}.xr-experience-card p{font-size:.84rem;line-height:1.5;color:#5a514a}.xr-experience-card a{display:inline-block;margin-top:.75rem;font-weight:800;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#493229;border-bottom:2px solid #c7a77c}
.xr-packages{background:#efe3d4;padding:4.5rem 0;border-top:1px solid #d2bea5;border-bottom:12px solid #76543d}.xr-package-heading{display:grid;grid-template-columns:1fr .7fr;gap:3rem;align-items:end;margin-bottom:2rem}.xr-package-heading h2{font-size:clamp(2.2rem,4vw,3.8rem);margin:.85rem 0 0}.xr-package-heading p{line-height:1.6;color:#5b5149}.xr-ticket-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}.xr-ticket{position:relative;background:#fffaf2;border:1px solid #b89b78;padding:1.3rem 1.15rem 1.2rem;box-shadow:7px 7px 0 rgba(73,50,41,.09)}.xr-ticket:before,.xr-ticket:after{content:"";position:absolute;top:50%;width:18px;height:18px;background:#efe3d4;border-radius:50%;transform:translateY(-50%)}.xr-ticket:before{left:-10px}.xr-ticket:after{right:-10px}.xr-ticket.featured{background:#2b2724;color:#f7f0e6;transform:translateY(-12px)}.xr-ticket-top{font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;color:#76543d}.xr-ticket.featured .xr-ticket-top{color:#d7b88d}.xr-ticket h3{font-size:1.8rem;margin:.45rem 0}.xr-ticket p{font-size:.84rem;line-height:1.5;min-height:4.8em}.xr-ticket strong{display:block;margin:.85rem 0;font-family:Georgia,serif}.xr-ticket a{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:inherit;border-bottom:2px solid #c7a77c}
.xr-promo{background:#2b2724;color:#f7f0e6;padding:4.2rem 0}.xr-promo-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:3.5rem;align-items:center}.xr-device-wrap{position:relative;min-height:430px}.xr-phone{position:absolute;left:3%;top:0;width:245px;background:#181614;border:7px solid #0d0c0b;border-radius:34px;padding:12px;box-shadow:0 18px 35px rgba(0,0,0,.32);transform:rotate(-4deg)}.xr-phone-bar{width:70px;height:5px;border-radius:10px;background:#4b4641;margin:0 auto 10px}.xr-phone img{width:100%;height:275px;object-fit:cover;border-radius:20px 20px 5px 5px;filter:saturate(.78)}.xr-phone-copy{padding:1rem .5rem .7rem}.xr-phone-copy small{color:#c7a77c;letter-spacing:.08em}.xr-phone-copy strong{display:block;font-family:Georgia,serif;font-size:1.25rem;margin-top:.35rem}.xr-snapshot{position:absolute;right:2%;bottom:5%;width:255px;background:#f7f0e6;color:#2b2724;padding:.55rem;transform:rotate(5deg);box-shadow:0 14px 25px rgba(0,0,0,.3)}.xr-snapshot img{width:100%;height:170px;object-fit:cover}.xr-snapshot span{display:block;font-family:"Segoe Print","Bradley Hand",cursive;text-align:center;padding:.55rem}.xr-promo-copy h2{font-size:clamp(2.4rem,4.7vw,4.7rem);color:#fffaf2;line-height:.95;margin:1rem 0 .5rem}.xr-promo-copy h3{font-family:var(--font-sans);font-size:1rem;color:#d7b88d;text-transform:uppercase;letter-spacing:.06em}.xr-promo-copy>p{color:#d9d0c7;line-height:1.65;max-width:610px}.xr-email{margin-top:1.3rem}.xr-email label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;margin-bottom:.45rem}.xr-email>div{display:flex}.xr-email input{flex:1;padding:.9rem 1rem;border:0;background:#f7f0e6;color:#2b2724}.xr-email button{border:0;background:#c7a77c;color:#2b2724;font-weight:800;padding:.9rem 1.2rem;cursor:pointer}
.xr-final-cta{background:#76543d;color:#f7f0e6;padding:2.5rem 0}.xr-final-grid{display:flex;justify-content:space-between;align-items:center;gap:2rem}.xr-final-grid h2{color:#fffaf2;font-size:clamp(2rem,3.6vw,3.4rem);margin:.2rem 0}.xr-final-grid p{margin:0;color:#e8ddd2}
@media(max-width:900px){.xr-hero-grid,.xr-work-grid,.xr-package-heading,.xr-promo-grid{grid-template-columns:1fr}.xr-section-intro{position:static}.xr-band-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.xr-band-grid article{border-right:0}.xr-hero-art{min-height:420px}.xr-experience-grid{grid-template-columns:repeat(2,1fr)}.xr-device-wrap{min-height:400px}.xr-ticket-grid{grid-template-columns:1fr}.xr-ticket.featured{transform:none}.xr-final-grid{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.xr-hero{padding-top:2rem}.xr-hero h1{font-size:3rem}.xr-hero-art{min-height:350px}.xr-main-photo{height:285px;width:79%}.xr-side-photo{height:155px;width:42%}.xr-band-grid,.xr-experience-grid{grid-template-columns:1fr}.xr-experience-card:nth-child(2n){transform:none}.xr-ticket-grid{grid-template-columns:1fr}.xr-phone{width:210px}.xr-snapshot{width:190px}.xr-device-wrap{min-height:365px}.xr-email>div{flex-direction:column}.xr-final-grid{align-items:stretch}}

/* v7 compact scale + reference-layout correction */
html { font-size: 14px; }
body { line-height: 1.55; }
.container { width: min(1080px, calc(100% - 2.5rem)); }
.site-header { min-height: 66px; }
.header-inner { min-height: 66px; }
.logo { font-size: 1.15rem; }
.logo span { font-size: .56rem; }
.nav-main a { font-size: .77rem; }

/* Keep all approved pages from reading like a magnified display. */
.tfyh-hero h1 { font-size: clamp(2.25rem, 4.1vw, 3.85rem); line-height: .98; }
.tfyh-script { font-size: 1.1rem; }
.tfyh-hero-text { font-size: .9rem; max-width: 33rem; }
.tfyh-intro h2,.tfyh-how h2,.tfyh-section-head h2,.tfyh-situations h2,.tfyh-final h2 { font-size: clamp(1.65rem, 2.8vw, 2.55rem); }
.tfyh-note,.tfyh-side-note { font-size: 1.05rem; }

/* Find-a-Friend compact scale. */
.find-a-friend-page h1,
.find-a-friend-editorial h1,
.faf-page h1 { font-size: clamp(2.15rem, 4vw, 3.65rem) !important; line-height: .98 !important; }
.find-a-friend-page h2,
.find-a-friend-editorial h2,
.faf-page h2 { font-size: clamp(1.55rem, 2.8vw, 2.45rem) !important; }
.find-a-friend-page p,
.find-a-friend-page label,
.find-a-friend-editorial p,
.find-a-friend-editorial label { font-size: .88rem; }

/* Experiences: match the supplied editorial reference proportions. */
.xr-hero { padding: 2.1rem 0 1.6rem; }
.xr-hero-grid { grid-template-columns: .92fr 1.08fr; gap: 2rem; }
.xr-hero h1 { font-size: clamp(2.35rem, 4.35vw, 4.1rem); line-height: .93; margin: .8rem 0 1rem; }
.xr-hero-copy>p:not(.xr-hand-note) { font-size: .88rem; line-height: 1.55; max-width: 34rem; }
.xr-hero-art { min-height: 390px; }
.xr-main-photo { height: 320px; width: 67%; }
.xr-side-photo { height: 165px; width: 36%; }
.xr-venue-tag { font-size: .68rem; padding: .65rem .8rem; }
.xr-plan-note { font-size: .78rem; }
.xr-dark-band { padding: 2rem 0 2.15rem; }
.xr-dark-band h2 { font-size: clamp(1.5rem, 2.7vw, 2.35rem); margin: .25rem 0 1.45rem; }
.xr-band-grid article { padding: 0 1rem; }
.xr-band-grid h3 { font-size: .72rem; }
.xr-band-grid p { font-size: .7rem; }

.xr-experiences { padding: 3.2rem 0 3.6rem; }
.xr-reference-row { display: grid; grid-template-columns: .72fr 2.28fr; gap: 1.3rem; align-items: start; }
.xr-section-intro { position: static; padding: .4rem .5rem .5rem 0; }
.xr-section-intro h2 { font-size: clamp(1.8rem, 3vw, 2.7rem); line-height: 1; margin: .8rem 0 .9rem; }
.xr-section-intro p { font-size: .82rem; line-height: 1.55; }
.xr-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .85rem; }
.xr-service-card { background: #fffaf2; border: 1px solid #d7c5b0; padding: .48rem; box-shadow: 5px 6px 0 rgba(118,84,61,.08); }
.xr-service-card img { width: 100%; height: 145px; object-fit: cover; filter: saturate(.82) contrast(1.03); }
.xr-service-card>div { padding: .68rem .55rem .72rem; }
.xr-service-card h3 { font-size: 1.28rem; margin: 0 0 .25rem; }
.xr-service-card p { font-size: .74rem; line-height: 1.45; min-height: 4.4em; color: #5a514a; }
.xr-service-card a { display: inline-block; margin-top: .55rem; font-weight: 800; font-size: .62rem; text-transform: uppercase; letter-spacing: .04em; color: #493229; border-bottom: 2px solid #c7a77c; }

.xr-packages { padding: 3.2rem 0; }
.xr-package-heading { gap: 2rem; margin-bottom: 1.4rem; }
.xr-package-heading h2 { font-size: clamp(1.8rem, 3vw, 2.65rem); }
.xr-package-heading p { font-size: .82rem; }
.xr-ticket { padding: 1rem; }
.xr-ticket h3 { font-size: 1.38rem; }
.xr-ticket p { font-size: .75rem; }
.xr-promo { padding: 3.1rem 0; }
.xr-promo-grid { gap: 2.4rem; }
.xr-device-wrap { min-height: 350px; }
.xr-phone { width: 205px; }
.xr-phone img { height: 220px; }
.xr-snapshot { width: 215px; }
.xr-snapshot img { height: 135px; }
.xr-promo-copy h2 { font-size: clamp(2rem, 3.8vw, 3.5rem); }
.xr-promo-copy h3 { font-size: .84rem; }
.xr-promo-copy>p { font-size: .84rem; }
.xr-final-grid h2 { font-size: clamp(1.7rem, 2.9vw, 2.55rem); }
.site-footer { font-size: .82rem; }

@media (max-width: 900px) {
  .xr-reference-row { grid-template-columns: 1fr; }
  .xr-service-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  html { font-size: 13.5px; }
  .xr-hero h1,.tfyh-hero h1 { font-size: 2.45rem !important; }
  .xr-hero-art { min-height: 320px; }
  .xr-main-photo { height: 255px; }
  .xr-side-photo { height: 135px; }
  .xr-service-grid { grid-template-columns: 1fr; }
  .xr-service-card img { height: 205px; }
  .xr-service-card p { min-height: auto; }
}

/* v8 — Experiences page: close structural reproduction of supplied reference */
.mk-page{background:#f5efe6;color:#211d1a}.mk-page .container{max-width:1120px}.mk-hero{position:relative;overflow:hidden;padding:2.4rem 0 1.6rem;background:#f8f3eb}.mk-hero:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:18px;background:#292522;clip-path:polygon(0 35%,8% 65%,17% 35%,26% 62%,35% 38%,44% 68%,55% 33%,66% 63%,76% 37%,87% 66%,100% 35%,100% 100%,0 100%)}.mk-hero-grid{display:grid;grid-template-columns:47% 53%;align-items:center;gap:1.2rem}.mk-strip,.mk-brush{display:inline-block;background:#292522;color:#f7efe4;font:800 .72rem/1.1 var(--font-sans);letter-spacing:.06em;padding:.55rem .85rem;transform:rotate(-1deg)}.mk-hero h1{font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(3.1rem,6.1vw,5.9rem);font-weight:900;line-height:.84;letter-spacing:-.045em;text-transform:uppercase;margin:1rem 0 1.15rem;max-width:590px}.mk-hero h1 span{display:inline-block;color:#76543d;font-family:"Segoe Print","Bradley Hand",cursive;font-size:.58em;line-height:1.02;text-transform:none;letter-spacing:-.04em;transform:rotate(-2deg);border-bottom:4px solid #b89b78;padding-bottom:.08em}.mk-hero-copy>p{max-width:430px;font-size:.86rem;line-height:1.55}.mk-actions{display:flex;align-items:center;gap:1.25rem;margin-top:1.2rem}.mk-btn{display:inline-block;background:#292522;color:#fff8ee!important;font-size:.7rem;font-weight:900;letter-spacing:.04em;padding:.8rem 1.2rem}.mk-text-link{font-size:.7rem;font-weight:900;color:#493229!important;border-bottom:2px solid #b89b78}.mk-arrow-note{margin:1rem 0 0 15rem;font-family:"Segoe Print","Bradley Hand",cursive;font-size:.92rem;transform:rotate(-5deg);color:#493229}.mk-hero-collage{position:relative;min-height:470px}.mk-hero-main{position:absolute;right:6%;top:0;width:65%;height:430px;object-fit:cover;filter:saturate(.72) sepia(.12);clip-path:polygon(4% 2%,96% 0,100% 97%,2% 100%)}.mk-hero-small{position:absolute;left:1%;bottom:12%;width:35%;height:170px;object-fit:cover;border:8px solid #f7efe4;transform:rotate(-6deg);box-shadow:0 8px 20px #0002}.mk-tape{position:absolute;width:105px;height:27px;background:#c6aa82aa;z-index:4}.mk-tape.t1{right:49%;top:2%;transform:rotate(-10deg)}.mk-tape.t2{right:2%;bottom:9%;transform:rotate(8deg)}.mk-scribble-ring{position:absolute;right:-1%;top:8%;width:235px;height:235px;border:15px solid #9b7657;border-radius:50%;opacity:.38;z-index:2;transform:rotate(-13deg)}.mk-note-card{position:absolute;right:0;bottom:3%;background:#eee1cf;padding:1rem 1.1rem;font-family:"Segoe Print","Bradley Hand",cursive;font-size:.82rem;line-height:1.6;transform:rotate(3deg);z-index:5;box-shadow:0 6px 15px #0002}.mk-note-card span{color:#76543d}.mk-stamp{position:absolute;left:30%;top:8%;z-index:5;width:105px;height:105px;border:2px solid #76543d;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font:900 1.2rem var(--font-sans);color:#76543d;transform:rotate(-9deg);background:#f5efe6dd}.mk-stamp small{font-size:.45rem;line-height:1.2;letter-spacing:.08em}.mk-black-band{background:#292522;color:#f6ede2;padding:2rem 0 2.3rem;border-top:1px solid #292522}.mk-black-band>div>p{text-align:center;color:#c7a77c;font-family:"Segoe Print","Bradley Hand",cursive;font-size:.8rem}.mk-black-band h2{text-align:center;color:#fff8ee;font-family:"Segoe Print","Bradley Hand",cursive;font-size:1.8rem;margin:.25rem 0 1.6rem}.mk-four{display:grid;grid-template-columns:repeat(4,1fr)}.mk-four>div{text-align:center;padding:0 1.25rem;border-right:1px solid #ffffff25}.mk-four>div:last-child{border:0}.mk-four span{display:inline-block;color:#c7a77c;border:1px solid #c7a77c;padding:.35rem .6rem;font-size:.58rem;letter-spacing:.08em}.mk-four h3{font-family:Impact,"Arial Narrow",sans-serif;color:#fff8ee;text-transform:uppercase;font-size:1rem;margin:.55rem 0 .3rem;letter-spacing:.02em}.mk-four p{font-size:.7rem;line-height:1.45;color:#ddd1c5}.mk-work{padding:3.1rem 0 3.5rem;background:#f8f3eb}.mk-work-grid{display:grid;grid-template-columns:25% 75%;gap:1.2rem;align-items:start}.mk-work-intro{padding:.35rem .8rem 0 0}.mk-work-intro h2{font-family:Impact,"Arial Narrow",sans-serif;font-size:2.15rem;line-height:.96;text-transform:uppercase;margin:.8rem 0 1rem}.mk-work-intro h2 em{display:block;font-family:"Segoe Print","Bradley Hand",cursive;color:#76543d;text-transform:none;font-size:1.15em;line-height:1.05;transform:rotate(-2deg)}.mk-work-intro p{font-size:.8rem;line-height:1.55;margin-bottom:1.1rem}.mk-card-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.mk-card{background:#fdf8f0;border:1px solid #d6c5af;padding:.5rem;box-shadow:4px 5px 0 #76543d12}.mk-card img{width:100%;height:150px;object-fit:cover;filter:saturate(.75) sepia(.08)}.mk-card h3{font-family:"Segoe Print","Bradley Hand",cursive;font-size:1.25rem;color:#493229;margin:.55rem .4rem .2rem;transform:rotate(-1deg)}.mk-card p{font-size:.69rem;line-height:1.42;margin:0 .4rem .55rem;min-height:3.9em}.mk-card a{font-size:.61rem;font-weight:900;color:#493229!important;margin:.2rem .4rem .45rem;display:inline-block;border-bottom:2px solid #b89b78}.mk-packages{background:#eadcca;padding:2.8rem 0 3rem;border-top:1px solid #d0baa0}.mk-package-title{text-align:center;max-width:620px;margin:0 auto 1.5rem}.mk-package-title span{font-family:"Segoe Print","Bradley Hand",cursive;color:#76543d}.mk-package-title h2{font-family:Impact,"Arial Narrow",sans-serif;text-transform:uppercase;font-size:2.4rem;margin:.2rem 0}.mk-package-title p{font-size:.78rem}.mk-package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem;max-width:850px;margin:auto}.mk-package-grid article{background:#fbf5eb;border:1px solid #b99d7b;padding:1.15rem;min-height:180px}.mk-package-grid article.dark{background:#292522;color:#f7efe4;transform:translateY(-8px)}.mk-package-grid b{font-size:.58rem;letter-spacing:.08em;color:#76543d}.mk-package-grid .dark b{color:#c7a77c}.mk-package-grid h3{font-family:Impact,"Arial Narrow",sans-serif;text-transform:uppercase;font-size:1.55rem;margin:.4rem 0}.mk-package-grid .dark h3{color:#fff8ee}.mk-package-grid p{font-size:.73rem;line-height:1.45;min-height:4.2em}.mk-package-grid a{font-size:.62rem;font-weight:900;color:inherit!important;border-bottom:2px solid #b89b78}.mk-feature{background:#292522;color:#f7efe4;padding:3.2rem 0}.mk-feature-grid{display:grid;grid-template-columns:42% 58%;gap:2.5rem;align-items:center}.mk-device-scene{position:relative;min-height:380px}.mk-phone{position:absolute;left:8%;top:0;width:220px;background:#141210;border:7px solid #0c0b0a;border-radius:30px;padding:10px;transform:rotate(-5deg);box-shadow:0 16px 28px #0006}.mk-phone img{height:245px;width:100%;object-fit:cover;border-radius:18px 18px 4px 4px}.mk-phone div{padding:.75rem .35rem}.mk-phone small{display:block;color:#c7a77c;font-size:.52rem;letter-spacing:.07em}.mk-phone b{display:block;font-family:"Segoe Print","Bradley Hand",cursive;font-size:1rem;margin-top:.25rem}.mk-polaroid{position:absolute;right:0;bottom:0;width:205px;background:#f7efe4;padding:.5rem;color:#292522;transform:rotate(6deg);box-shadow:0 12px 22px #0005}.mk-polaroid img{width:100%;height:145px;object-fit:cover}.mk-polaroid span{display:block;text-align:center;font-family:"Segoe Print","Bradley Hand",cursive;padding:.45rem 0}.mk-brush.light{background:#f7efe4;color:#292522}.mk-feature-copy h2{font-family:Impact,"Arial Narrow",sans-serif;text-transform:uppercase;color:#fff8ee;font-size:3rem;line-height:.95;margin:.8rem 0 .4rem}.mk-feature-copy h3{font-family:"Segoe Print","Bradley Hand",cursive;color:#c7a77c;font-size:1.05rem}.mk-feature-copy p{font-size:.8rem;line-height:1.55;max-width:520px;margin:.8rem 0 1rem}.mk-feature form{display:flex;max-width:520px}.mk-feature input{flex:1;border:0;padding:.8rem .9rem;background:#f8f1e7}.mk-feature button{border:0;background:#b89b78;color:#211d1a;font-size:.65rem;font-weight:900;padding:.8rem 1rem}.mk-bottom{background:#76543d;color:#f7efe4;padding:1.4rem 0}.mk-bottom-grid{display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:1.5rem}.mk-bottom small{font-family:"Segoe Print","Bradley Hand",cursive}.mk-bottom h2{font-family:Impact,"Arial Narrow",sans-serif;text-transform:uppercase;color:#fff8ee;font-size:1.75rem;margin:.1rem 0}.mk-bottom p{font-size:.75rem}.mk-btn.tan{background:#c7a77c;color:#211d1a!important}
@media(max-width:900px){.mk-hero-grid,.mk-work-grid,.mk-feature-grid{grid-template-columns:1fr}.mk-hero-collage{min-height:430px}.mk-card-row{grid-template-columns:repeat(2,1fr)}.mk-four{grid-template-columns:repeat(2,1fr);gap:1.2rem}.mk-four>div{border:0}.mk-work-intro{max-width:500px}.mk-bottom-grid{grid-template-columns:1fr}.mk-package-grid{grid-template-columns:1fr}.mk-package-grid article.dark{transform:none}}@media(max-width:600px){.mk-hero h1{font-size:3.1rem}.mk-arrow-note{margin-left:7rem}.mk-hero-collage{min-height:350px}.mk-hero-main{height:320px}.mk-hero-small{height:125px}.mk-scribble-ring{width:170px;height:170px}.mk-card-row{grid-template-columns:1fr}.mk-card img{height:210px}.mk-four{grid-template-columns:1fr}.mk-feature-copy h2{font-size:2.3rem}.mk-device-scene{min-height:350px}.mk-feature form{flex-direction:column}}

/* v9 legibility correction — restore readable scale without magnifying pages */
html { font-size: 15.5px; }
body { line-height: 1.58; }
.container { width: min(1120px, calc(100% - 3rem)); }
.site-header { height: 78px; min-height: 78px; }
.header-inner { height: 78px; min-height: 78px; padding-inline: 1.65rem; }
.logo { font-size: 1.55rem; font-weight: 600; gap: .55rem; white-space: nowrap; }
.logo span { font-size: .76rem; font-weight: 500; letter-spacing: .02em; }
.nav-main { gap: .3rem; }
.nav-main a { font-size: .9rem; font-weight: 600; padding: .58rem .72rem; }
.nav-actions .btn { font-size: .84rem; padding: .62rem 1rem; }

/* Homepage: readable but still controlled. */
.tfyh-script { font-size: 1.28rem; }
.tfyh-hero h1 { font-size: clamp(2.65rem, 4.65vw, 4.35rem); }
.tfyh-hero-text { font-size: 1rem; }
.tfyh-intro h2,.tfyh-how h2,.tfyh-section-head h2,.tfyh-situations h2,.tfyh-final h2 {
  font-size: clamp(1.95rem, 3.15vw, 2.95rem);
}
.tfyh-note,.tfyh-side-note { font-size: 1.22rem; }

/* Find a Friend: restore legible headings, labels and form copy. */
.find-a-friend-page h1,
.find-a-friend-editorial h1,
.faf-page h1 { font-size: clamp(2.55rem, 4.5vw, 4.15rem) !important; }
.find-a-friend-page h2,
.find-a-friend-editorial h2,
.faf-page h2 { font-size: clamp(1.9rem, 3.1vw, 2.8rem) !important; }
.find-a-friend-page,
.find-a-friend-editorial,
.faf-page { font-size: 1rem; }
.find-a-friend-page label,
.find-a-friend-editorial label,
.faf-page label { font-size: .94rem; }

/* Experiences: match the reference's visible hierarchy, especially the intro. */
.mk-strip,.mk-brush { font-size: .79rem; }
.mk-hero h1 { font-size: clamp(3.5rem, 6.5vw, 6.25rem); }
.mk-hero-copy > p { font-size: .98rem; line-height: 1.62; }
.mk-btn,.mk-text-link { font-size: .78rem; }
.mk-arrow-note { font-size: 1.05rem; }
.mk-black-band > div > p { font-size: .92rem; }
.mk-black-band h2 { font-size: 2.15rem; }
.mk-four h3 { font-size: 1.08rem; }
.mk-four p { font-size: .8rem; }
.mk-work-intro h2 { font-size: clamp(2.65rem, 4.2vw, 3.75rem); line-height: .95; }
.mk-work-intro p { font-size: .94rem; line-height: 1.62; }
.mk-card h3 { font-size: 1.42rem; }
.mk-card p { font-size: .8rem; }
.mk-card a { font-size: .7rem; }
.mk-package-title h2 { font-size: 2.8rem; }
.mk-package-title p,.mk-package-grid p { font-size: .84rem; }
.mk-package-grid h3 { font-size: 1.72rem; }
.mk-feature-copy h2 { font-size: clamp(3rem, 4.8vw, 4.2rem); }
.mk-feature-copy h3 { font-size: 1.18rem; }
.mk-feature-copy p { font-size: .94rem; }
.mk-bottom h2 { font-size: 2.1rem; }
.mk-bottom p { font-size: .86rem; }

@media (max-width: 900px) {
  .site-header { height: auto; min-height: 72px; }
  .header-inner { height: auto; min-height: 72px; }
}
@media (max-width: 600px) {
  html { font-size: 15px; }
  .container { width: min(100% - 2rem, 1120px); }
  .logo { font-size: 1.35rem; }
  .logo span { font-size: .7rem; }
  .mk-hero h1 { font-size: 3.4rem; }
  .mk-work-intro h2 { font-size: 2.55rem; }
}

/* v10 — fix Experiences intro/card collision */
@media (min-width: 901px) {
  .mk-work-grid {
    grid-template-columns: minmax(280px, 31%) minmax(0, 69%);
    column-gap: 2.4rem;
  }
  .mk-work-intro {
    min-width: 0;
    padding-right: 0;
    max-width: 320px;
  }
  .mk-work-intro h2 {
    font-size: clamp(2.35rem, 3.2vw, 3.15rem);
    max-width: 8.5ch;
    overflow-wrap: normal;
  }
  .mk-work-intro p {
    max-width: 31ch;
  }
  .mk-card-row {
    min-width: 0;
    width: 100%;
  }
  .mk-card {
    min-width: 0;
  }
}

/* Retreats & Events — cohesive TFYH editorial layout */
.retreat-editorial-page{background:#efe7da;color:#2f2a26}.retreat-editorial-page .site-header{background:#f4eee5;border-bottom:1px solid rgba(65,54,45,.16)}
.re-hero{padding:3.8rem 0 3.4rem;background:#f3ede3}.re-hero-grid{display:grid;grid-template-columns:minmax(0,47%) minmax(0,53%);gap:3.2rem;align-items:center}.re-strip,.re-brush{display:inline-block;background:#322d29;color:#f6f0e8;padding:.46rem .72rem;font-size:.78rem;letter-spacing:.08em;font-weight:700}.re-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.25rem,5.8vw,5.6rem);line-height:.94;margin:1rem 0 1.2rem;letter-spacing:-.045em}.re-hero h1 em{font-weight:400;color:#8b684b}.re-hero-copy>p{max-width:34rem;font-size:1rem;line-height:1.7}.re-actions{display:flex;align-items:center;gap:1.2rem;margin-top:1.5rem}.re-btn{display:inline-block;padding:.78rem 1rem;background:#342f2b;color:#fff;text-decoration:none;font-size:.78rem;font-weight:700;letter-spacing:.05em}.re-text-link{font-size:.8rem;color:#342f2b;text-decoration:none;font-weight:700}.re-hand-note{margin-top:1.3rem;font-family:'Comic Sans MS','Bradley Hand',cursive;color:#775a45;font-size:1.05rem;transform:rotate(-2deg)}
.re-hero-collage{position:relative;min-height:510px}.re-main-img{position:absolute;right:4%;top:4%;width:74%;height:78%;object-fit:cover;box-shadow:0 16px 30px rgba(52,43,36,.16);transform:rotate(-2deg)}.re-small-img{position:absolute;left:2%;bottom:0;width:41%;height:36%;object-fit:cover;border:10px solid #f4eee5;box-shadow:0 12px 24px rgba(52,43,36,.14);transform:rotate(4deg)}.re-tape{position:absolute;background:#b99a73;opacity:.68;height:32px;z-index:3}.re-tape-a{width:130px;right:28%;top:-1%;transform:rotate(-7deg)}.re-tape-b{width:100px;left:3%;bottom:31%;transform:rotate(9deg)}.re-tag{position:absolute;right:0;bottom:5%;background:#3b3530;color:#f4eee5;padding:1rem 1.15rem;font-weight:700;line-height:1.4;letter-spacing:.06em;transform:rotate(2deg)}.re-ticket{position:absolute;left:8%;top:8%;border:1px solid #9d8368;background:#e6d2b8;padding:.9rem 1rem;font-weight:800;font-size:1.05rem;box-shadow:0 6px 16px rgba(53,43,34,.1);transform:rotate(-6deg)}.re-ticket small{display:block;font-size:.62rem;letter-spacing:.08em;margin-top:.2rem}
.re-band{background:#322d29;color:#f6f0e8;padding:2.8rem 0 3.1rem}.re-band>div>p{font-size:.82rem;letter-spacing:.12em;font-weight:700;text-align:center;margin-bottom:.4rem}.re-band h2{font-family:Georgia,'Times New Roman',serif;font-size:2.2rem;text-align:center;font-weight:400;margin-bottom:2rem}.re-band-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.16)}.re-band-grid>div{padding:1.2rem 1.3rem;background:#322d29}.re-band-grid span{font-size:.68rem;color:#c3a37f;font-weight:800;letter-spacing:.1em}.re-band-grid h3{font-size:1.05rem;margin:.4rem 0}.re-band-grid p{font-size:.82rem;line-height:1.55;color:#d7cdc2}
.re-lineup{padding:4.2rem 0;background:#eee5d8}.re-section-head{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:end;margin-bottom:2.3rem}.re-section-head h2,.re-more-copy h2,.re-expect h2,.re-signup-copy h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.03em}.re-section-head h2{font-size:clamp(2.5rem,4vw,3.6rem);margin:.8rem 0 0}.re-section-head>p{font-size:.94rem;line-height:1.6;color:#655a50;max-width:38rem}.re-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}.re-event-card{background:#f7f2ea;border:1px solid rgba(69,55,43,.16);display:grid;grid-template-columns:42% 58%;min-height:420px}.re-event-card>img{width:100%;height:100%;object-fit:cover;min-height:420px}.re-event-body{padding:1.35rem 1.45rem}.re-event-kicker{font-size:.68rem;letter-spacing:.1em;font-weight:800;color:#8b684b}.re-event-body h3{font-family:Georgia,'Times New Roman',serif;font-size:1.9rem;margin:.35rem 0 .45rem}.re-summary{font-size:.88rem;line-height:1.55;color:#62584f;margin-bottom:1rem}.re-event-card details{border-top:1px solid rgba(63,52,43,.15);padding:.7rem 0}.re-event-card summary{cursor:pointer;font-weight:800;font-size:.83rem;list-style:none}.re-event-card summary::-webkit-details-marker{display:none}.re-event-card summary:after{content:'+';float:right;color:#8b684b}.re-event-card details[open] summary:after{content:'–'}.re-event-card details p,.re-event-card details li{font-size:.78rem;line-height:1.5;color:#5f554d}.re-event-card details ul,.re-event-card details ol{padding-left:1.15rem;margin:.5rem 0 0}.re-event-card details p{margin:.5rem 0 0}
.re-more-events{background:#3a342f;color:#f4eee5;padding:3.6rem 0}.re-more-grid{display:grid;grid-template-columns:32% 68%;gap:2.6rem}.re-brush.light{background:#e3c9a8;color:#362f29}.re-more-copy h2{font-size:2.8rem;margin:.9rem 0}.re-more-copy p{color:#d3c9be;line-height:1.6}.re-mini-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.12)}.re-mini-list>div{background:#3a342f;padding:.95rem 1rem}.re-mini-list b{display:block;font-size:.9rem;margin-bottom:.25rem}.re-mini-list span{font-size:.76rem;color:#d6ccc1;line-height:1.45}
.re-expect{padding:3.7rem 0;background:#f3ede3}.re-expect-grid{display:grid;grid-template-columns:31% 69%;gap:2.4rem}.re-expect h2{font-size:2.8rem;margin:.9rem 0 0}.re-expect-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.re-expect-cards article{background:#e3d4c0;padding:1.2rem}.re-expect-cards b{font-size:.95rem}.re-expect-cards p{font-size:.82rem;line-height:1.55;color:#5b5148}
.re-signup{background:#2f2a26;color:#f6f0e8;padding:3.4rem 0}.re-signup-grid{display:grid;grid-template-columns:45% 55%;gap:2.5rem;align-items:center}.re-signup-photo{position:relative;min-height:350px}.re-signup-photo img{width:85%;height:320px;object-fit:cover;display:block;transform:rotate(-2deg);border:8px solid #eee6da}.re-polaroid-note{position:absolute;right:0;bottom:12%;background:#d7bea0;color:#342f2b;padding:.8rem 1rem;font-family:'Comic Sans MS','Bradley Hand',cursive;transform:rotate(3deg)}.re-signup-copy h2{font-size:clamp(2.6rem,4.5vw,4rem);margin:.9rem 0}.re-signup-copy>p{color:#d6ccc1;line-height:1.6;max-width:34rem}.re-signup form{display:flex;gap:.5rem;margin-top:1.2rem}.re-signup input{flex:1;min-width:0;background:#f7f2ea;border:0;padding:.85rem .9rem}.re-signup button{border:0;background:#c6a47c;color:#2f2924;padding:.85rem 1rem;font-weight:800;letter-spacing:.04em}.re-form-msg{font-size:.78rem;min-height:1.1em;margin-top:.55rem;color:#d9cdbf}
@media(max-width:980px){.re-hero-grid,.re-section-head,.re-more-grid,.re-expect-grid,.re-signup-grid{grid-template-columns:1fr}.re-hero-collage{min-height:470px}.re-band-grid{grid-template-columns:repeat(2,1fr)}.re-feature-grid{grid-template-columns:1fr}.re-expect-cards{grid-template-columns:1fr}.re-more-copy{max-width:42rem}.re-signup-photo{max-width:620px}}
@media(max-width:700px){.re-hero{padding-top:2.2rem}.re-hero h1{font-size:3.4rem}.re-hero-collage{min-height:390px}.re-main-img{width:80%;height:72%}.re-small-img{width:45%;height:32%}.re-band-grid,.re-mini-list{grid-template-columns:1fr}.re-event-card{grid-template-columns:1fr}.re-event-card>img{height:240px;min-height:240px}.re-signup form{flex-direction:column}.re-section-head h2,.re-more-copy h2,.re-expect h2{font-size:2.3rem}}

/* TFYH universal footer Safety modal */
.footer-link-button{display:block;background:none;border:0;padding:0;margin:0;color:inherit;font:inherit;text-align:left;cursor:pointer;text-decoration:none;line-height:1.9}.footer-link-button:hover{text-decoration:underline}
.safety-modal{position:fixed;inset:0;z-index:3000;display:none}.safety-modal.is-open{display:block}.safety-backdrop{position:absolute;inset:0;background:rgba(27,23,20,.72);backdrop-filter:blur(3px)}.safety-dialog{position:relative;width:min(900px,calc(100% - 2rem));max-height:calc(100vh - 2rem);overflow:auto;margin:1rem auto;background:#f6efe5;color:#2f2a26;border:1px solid #bca487;box-shadow:0 24px 70px rgba(0,0,0,.3);padding:2rem 2rem 1.6rem}.safety-close{position:absolute;right:1rem;top:.8rem;width:38px;height:38px;border:1px solid #7b6754;background:#f6efe5;color:#2f2a26;border-radius:50%;font-size:1.65rem;line-height:1;cursor:pointer}.safety-dialog-head{padding-right:3rem;max-width:720px}.safety-kicker{display:inline-block;background:#302a26;color:#f7f0e7;padding:.42rem .65rem;font-size:.72rem;font-weight:800;letter-spacing:.1em}.safety-dialog h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(2rem,4vw,3.35rem);line-height:1;margin:.75rem 0 .9rem}.safety-dialog-head p{line-height:1.65;color:#5b5149}.safety-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#c8b59e;margin-top:1.5rem}.safety-grid article{background:#efe3d3;padding:1.15rem 1.2rem}.safety-grid h3{font-size:1rem;margin:0 0 .4rem}.safety-grid p{font-size:.88rem;line-height:1.55;color:#5a5048;margin:0}.safety-note{margin-top:1.25rem;border-left:4px solid #7b5a42;background:#e6d5c0;padding:1rem 1.1rem;font-size:.88rem;line-height:1.55}.safety-actions{display:flex;align-items:center;gap:.8rem;margin-top:1.25rem}.safety-secondary{border:1px solid #5a4a3f;background:transparent;color:#2f2a26;padding:.72rem .95rem;font-weight:700;cursor:pointer}body.safety-modal-open{overflow:hidden}@media(max-width:850px){.safety-grid{grid-template-columns:1fr}}@media(max-width:560px){.safety-dialog{padding:1.35rem 1rem 1.15rem}.safety-actions{align-items:stretch;flex-direction:column}.safety-actions>*{width:100%;text-align:center}}


/* Pricing v1: separate Concierge Experiences from Friend Experiences */
.pricing-lane{margin-top:2.2rem}.pricing-lane-head{max-width:760px;margin:0 auto 1.4rem;text-align:center}.pricing-lane-head>span,.membership-intro>span,.addons-head>span,.corporate-callout span{font:800 .72rem/1.1 var(--font-sans);letter-spacing:.08em;color:#76543d}.pricing-lane-head h2{font-family:Georgia,'Times New Roman',serif;font-size:2rem;font-weight:400;line-height:1.08;margin:.45rem 0 .55rem;color:#2b2521}.pricing-lane-head p{font-size:.9rem;line-height:1.6;color:#5c5148}.pricing-card-grid{display:grid;gap:.9rem}.pricing-four{grid-template-columns:repeat(4,minmax(0,1fr))}.pricing-three{grid-template-columns:repeat(3,minmax(0,1fr))}.pricing-card{background:#fbf5eb;border:1px solid #b99d7b;padding:1.15rem;display:flex;flex-direction:column;min-width:0}.pricing-card.dark{background:#292522;color:#f7efe4}.pricing-card>b{font-size:.6rem;letter-spacing:.09em;color:#76543d}.pricing-card.dark>b{color:#c7a77c}.pricing-card h3{font-family:Georgia,'Times New Roman',serif;font-size:1.4rem;margin:.35rem 0 .25rem;line-height:1.08}.pricing-card.dark h3{color:#fff8ee}.pricing-card .price{font-weight:800;font-size:1.02rem;color:#76543d;margin:.2rem 0 .55rem}.pricing-card.dark .price{color:#d8b78e}.pricing-card>p{font-size:.78rem;line-height:1.48;margin-bottom:.6rem}.pricing-card ul{margin:.2rem 0 .85rem;padding-left:1.05rem}.pricing-card li{font-size:.72rem;line-height:1.45;margin:.2rem 0}.pricing-card a{margin-top:auto;font-size:.64rem;font-weight:900;color:inherit!important;border-bottom:2px solid #b89b78;align-self:flex-start}.membership-strip{margin:1.4rem 0 0;padding:1.3rem;background:#f6eee2;border:1px solid #d2bea4}.membership-intro{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.membership-intro h3{font-family:Georgia,'Times New Roman',serif;font-size:1.45rem;font-weight:400;margin:0}.membership-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.membership-grid article{background:#eadcca;padding:1rem}.membership-grid h4{font-size:.92rem;margin:0 0 .25rem}.membership-grid strong{display:block;color:#76543d;font-size:.88rem;margin-bottom:.4rem}.membership-grid p{font-size:.73rem;line-height:1.45;margin:0}.corporate-callout{margin-top:1rem;background:#342f2b;color:#f7efe4;padding:1.2rem 1.3rem;display:grid;grid-template-columns:1.1fr 1.2fr auto;gap:1.2rem;align-items:center}.corporate-callout span{color:#d0ad83}.corporate-callout h3{font-family:Georgia,'Times New Roman',serif;color:#fff8ee;font-size:1.15rem;font-weight:400;margin:.25rem 0 0}.corporate-callout p{font-size:.72rem;line-height:1.5;color:#ded2c5;margin:0}.corporate-callout a{font-size:.64rem;font-weight:900;color:#f7efe4!important;border-bottom:2px solid #b89b78;white-space:nowrap}.pricing-divider{display:flex;align-items:center;gap:1rem;margin:2.1rem 0 .2rem}.pricing-divider:before,.pricing-divider:after{content:'';height:1px;background:#bca78e;flex:1}.pricing-divider span{font-family:'Segoe Print','Bradley Hand',cursive;color:#76543d}.addons-wrap{margin-top:1.4rem}.addons-head{max-width:720px;margin-bottom:.8rem}.addons-head h3{font-family:Georgia,'Times New Roman',serif;font-size:1.35rem;font-weight:400;margin:.35rem 0}.addons-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.addons-grid article{background:#f5eadc;border:1px solid #d5c2a9;padding:.85rem}.addons-grid h4{font-size:.83rem;margin:0 0 .2rem}.addons-grid strong{display:block;color:#76543d;font-size:.76rem;margin-bottom:.3rem}.addons-grid p{font-size:.7rem;line-height:1.42;margin:0}.friend-memberships{margin-bottom:.2rem}@media(max-width:1000px){.pricing-four,.pricing-three{grid-template-columns:repeat(2,1fr)}.corporate-callout{grid-template-columns:1fr}.corporate-callout a{justify-self:start}}@media(max-width:700px){.pricing-four,.pricing-three,.membership-grid,.addons-grid{grid-template-columns:1fr}.membership-intro{display:block}.membership-intro h3{margin-top:.35rem}.pricing-lane-head h2{font-size:1.7rem}}
.package-decider{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;max-width:900px;margin:0 auto 2.25rem}.package-decider a{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.1rem;background:#fbf5eb;border:1px solid #b99d7b;color:#2b2521;text-decoration:none}.package-decider a:hover,.package-decider a:focus-visible{background:#292522;color:#fff8ee}.package-decider strong{font-family:Georgia,'Times New Roman',serif;font-size:1.05rem}.package-decider span{font-size:.78rem;line-height:1.45}@media(max-width:700px){.package-decider{grid-template-columns:1fr}}
