/* Lavender Waves Farm — shared styles
   "Luxuriously rustic" design language ported from the approved
   homepage concept (Oct 13): Great Vibes script + Playfair Display
   headings + Jost body, ivory/cream + deep plum + antique gold
   palette, aged-paper ground, Victorian filigree corners, swelled
   and ornamental rules, and fine-stationery photo framing
   (ivory mats, thin double-rule borders). */

:root {
  /* Palette sampled from the farm's own logo: deep aubergine-plum
     (#37124e / #2a0b3d) paired with antique gold (#b88746). */
  --bg: #faf6ec;
  --surface: #fffdf6;
  --surface-2: #f3ecdb;
  --ink: #37124e;
  --ink-soft: #6a5c78;
  --line: #ddd0b2;
  --plum: #37124e;
  --plum-deep: #2a0b3d;
  --lav: #5f4479;
  --lav-soft: #f1e7d3;
  --gold: #b88746;
  --gold-bright: #dcb26a;
  --gold-text: #8a6527;
  --gold-line: #c9ab72;
  --heading: #37124e;
  --accent: #4e2c6e;
  --mat: #fffdf6;
  --btn-ink: #2a0b3d;
  --radius: 14px;
  --shadow: 0 10px 30px rgba(55,18,78,.12);
  --maxw: 1180px;

  /* Legacy variable aliases (older page inline styles) */
  --lav-deep: var(--plum);
  --lav-pale: var(--lav-soft);
  --cream: var(--bg);
  --paper: var(--surface);
  --sage: #7c8a5a;

  /* --- Victorian ornament assets (from the approved concept) --- */
  /* Aged paper grain */
  --paper-img: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.30 0 0 0 0 0.20 0 0 0 0 0.06 0 0 0 0.14 0'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23p)'/%3E%3C/svg%3E");
  /* A "swelled" rule: hairline-thin at the ends, swelling gently
     in the middle — the profile of a Victorian printed rule. */
  --swell: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M0 5 C25 0.6 75 0.6 100 5 C75 9.4 25 9.4 0 5 Z' fill='%23b88746'/%3E%3C/svg%3E");
  /* Printer's ornamental rule: tapered hairlines, bead dots and
     a diamond at the center. */
  --orn-rule: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12'%3E%3Cg stroke='%23b88746' stroke-width='1.2' fill='none'%3E%3Cpath d='M6 6 H76'/%3E%3Cpath d='M124 6 H194'/%3E%3C/g%3E%3Ccircle cx='6' cy='6' r='1.7' fill='%23b88746'/%3E%3Ccircle cx='194' cy='6' r='1.7' fill='%23b88746'/%3E%3Ccircle cx='86' cy='6' r='1.5' fill='%23b88746'/%3E%3Ccircle cx='114' cy='6' r='1.5' fill='%23b88746'/%3E%3Cpath d='M100 1.2 L105.4 6 L100 10.8 L94.6 6 Z' fill='%23b88746'/%3E%3C/svg%3E");
  /* Filigree corner: a double-stepped scroll turning the corner,
     with a small diamond bead on the diagonal. */
  --corner: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23b88746'%3E%3Cpath d='M22 3.2 H10.5 Q3.2 3.2 3.2 10.5 V22' stroke-width='1.4'/%3E%3Cpath d='M22 7.4 H11.5 Q7.4 7.4 7.4 11.5 V22' stroke-width='0.9' opacity='0.6'/%3E%3C/g%3E%3Cpath d='M13.6 12.4 l1.8 1.8 -1.8 1.8 -1.8 -1.8 Z' fill='%23b88746'/%3E%3C/svg%3E");
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #180d26;
    --surface: #221432;
    --surface-2: #1d1029;
    --ink: #f2eee6;
    --ink-soft: #c9bcd8;
    --line: #453258;
    --plum: #3a2358;
    --lav: #c3b0e8;
    --lav-soft: #2a1a3e;
    --gold: #c79a54;
    --gold-text: #dcb26a;
    --gold-line: #7d6540;
    --heading: #f4efe4;
    --accent: #d9c6f2;
    --mat: #2a1c3c;
    --shadow: 0 10px 30px rgba(0,0,0,.35);
  }
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: "Jost", system-ui, -apple-system, sans-serif;
  color: var(--ink);
  background: var(--bg);
  background-image: var(--paper-img);
  line-height: 1.6;
  font-size: 17px;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, .serif {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 600;
  color: var(--heading);
  line-height: 1.15;
  margin: 0 0 0.5em;
}

h1 { font-size: 2.7rem; }
h2 { font-size: 2rem; text-shadow: 0 1px 0 rgba(255,253,246,.9), 0 -1px 1px rgba(55,18,78,.13); }
h3 { font-size: 1.3rem; }

p { margin: 0 0 1em; }
a { color: var(--accent); }
img { max-width: 100%; display: block; }

.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }

/* Editorial eyebrow: letterspaced small-caps in antique gold with a
   swelled Victorian rule. Left-aligned with a trailing rule by
   default (the concept's kicker); centered with flanking rules in
   centered heads, heroes and CTA bands. */
.eyebrow {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  text-transform: uppercase;
  letter-spacing: 0.28em;
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--gold-text);
  margin-bottom: 0.9em;
}
.eyebrow::after {
  content: "";
  width: 46px; height: 7px; flex: none;
  background: var(--swell) center / 100% 100% no-repeat;
  opacity: .85;
}
.section-head:not(.left) .eyebrow,
.hero-inner .eyebrow,
.cta-band .eyebrow { justify-content: center; }
.section-head:not(.left) .eyebrow::before,
.hero-inner .eyebrow::before,
.cta-band .eyebrow::before {
  content: "";
  width: 46px; height: 7px; flex: none;
  background: var(--swell) center / 100% 100% no-repeat;
  opacity: .85;
}

/* ---------- Header ---------- */
.site-header {
  background: var(--plum-deep);
  color: #fff;
  position: sticky;
  top: 0;
  z-index: 50;
  /* Crown-molding edge under the top bar */
  border-bottom: 3px double var(--gold-line);
  box-shadow: 0 1px 0 rgba(255,253,246,.25), 0 8px 20px -14px rgba(55,18,78,.5);
}
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 12px 24px;
  max-width: var(--maxw);
  margin: 0 auto;
}
.brand { display: flex; align-items: center; gap: 14px; text-decoration: none; }
.brand img { height: 52px; width: auto; }
.brand .brand-name {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.01em;
  text-shadow: 0 1px 0 rgba(0,0,0,.3);
}
.main-nav { display: flex; gap: 26px; flex-wrap: wrap; }
.main-nav a {
  color: #e9e2f4;
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}
.main-nav a:hover, .main-nav a[aria-current="page"] { color: var(--gold-bright); text-decoration: underline; text-underline-offset: 5px; }

/* ---------- Hero ---------- */
.hero {
  position: relative;
  color: #fff;
  text-align: center;
  background-size: cover;
  background-position: center;
}
.hero::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(rgba(42,11,61,0.42), rgba(42,11,61,0.62));
}
.hero-inner { position: relative; padding: 110px 24px 96px; max-width: 880px; margin: 0 auto; }
/* Filigree corners on the hero panel */
.hero-inner::before, .hero-inner::after {
  content: "";
  position: absolute;
  width: 32px; height: 32px;
  background: var(--corner) center / contain no-repeat;
  opacity: .55;
  pointer-events: none;
}
.hero-inner::before { top: 26px; left: 6px; }
.hero-inner::after { bottom: 26px; right: 6px; transform: rotate(180deg); }
/* The grand title treatment: script in the spirit of the logo */
.hero h1 {
  font-family: "Great Vibes", "Playfair Display", cursive;
  font-weight: 400;
  color: #fff;
  font-size: clamp(52px, 8vw, 86px);
  line-height: 1.15;
  margin: 0 0 0.25em;
  text-shadow: 0 2px 1px rgba(0,0,0,.35), 0 -1px 0 rgba(255,255,255,.09);
}
.hero p { font-size: 1.2rem; color: #f5f1e8; }
.hero .eyebrow { color: var(--gold-bright); }

/* ---------- Buttons ---------- */
.btn {
  display: inline-block;
  background: var(--plum);
  color: #fff;
  text-decoration: none;
  padding: 13px 30px;
  border-radius: 999px;
  font-weight: 600;
  letter-spacing: 0.04em;
  border: 2px solid var(--plum);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25), inset 0 -2px 0 rgba(0,0,0,.22), 0 4px 12px rgba(55,18,78,.25);
}
.btn:hover { background: var(--plum-deep); border-color: var(--plum-deep); }
.btn.light {
  background: transparent; border-color: rgba(255,255,255,.75); color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), inset 0 -1px 0 rgba(0,0,0,.25);
}
.btn.light:hover { border-color: var(--gold-bright); color: var(--gold-bright); background: transparent; }
.btn.gold {
  background: var(--gold-bright); border-color: var(--gold-bright); color: var(--btn-ink);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5), inset 0 -2px 0 rgba(122,84,20,.45), 0 10px 26px rgba(0,0,0,.28);
}
.btn.gold:hover { background: #e8c887; border-color: #e8c887; }

/* ---------- Sections ---------- */
.section { padding: 78px 0; }
.section.alt { background: var(--surface-2); background-image: var(--paper-img); }
.section.lav { background: var(--lav-soft); background-image: var(--paper-img); }
.section-head { max-width: 760px; margin: 0 auto 42px; text-align: center; }
.section-head.left { margin-left: 0; text-align: left; }
.section-head.left .eyebrow { justify-content: flex-start; }

/* Gazebo divider — the line-drawn gazebo from the farm's own logo,
   embossed between swelled gold rules. */
.divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 6px 24px;
}
.divider::before, .divider::after {
  content: "";
  flex: 0 1 190px;
  height: 9px;
  background: var(--swell) center / 100% 100% no-repeat;
  opacity: .85;
}
.divider img {
  width: 74px; height: 74px; flex: none; opacity: 0.92;
  filter: drop-shadow(0 1px 0 rgba(255,253,246,.9)) drop-shadow(0 -1px 1px rgba(55,18,78,.30));
}

/* ---------- Cards / grids ---------- */
.grid { display: grid; gap: 26px; }
.grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 860px) {
  .grid.cols-2, .grid.cols-3 { grid-template-columns: 1fr; }
  .hero h1 { font-size: clamp(44px, 11vw, 60px); }
  h1 { font-size: 2.1rem; }
}

.card {
  position: relative;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 30px 28px;
  box-shadow: inset 0 1px 0 rgba(255,253,246,.75), inset 0 -1px 0 rgba(55,18,78,.05), 0 10px 22px -12px rgba(55,18,78,.22);
}
/* Filigree corners on cards — top-left and bottom-right pair */
.card::before, .card::after {
  content: "";
  position: absolute;
  width: 24px; height: 24px;
  background: var(--corner) center / contain no-repeat;
  opacity: .75;
  pointer-events: none;
}
.card::before { top: 5px; left: 5px; }
.card::after { bottom: 5px; right: 5px; transform: rotate(180deg); }
.card h3 { margin-bottom: 0.35em; }
.card ul { margin: 0.4em 0 0; padding-left: 1.15em; }
.card li { margin-bottom: 0.3em; }
.card.featured { border: 2px solid var(--gold); }
.card .tag {
  position: absolute; top: -13px; left: 24px;
  background: var(--gold); color: #fff;
  font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em;
  padding: 3px 12px; border-radius: 999px; text-transform: uppercase;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5), inset 0 -2px 0 rgba(122,84,20,.4), 0 3px 8px rgba(55,18,78,.25);
}
.price-from { font-family: "Playfair Display", Georgia, serif; font-size: 1.5rem; color: var(--plum); }
.price-from small { font-size: 0.85rem; color: var(--ink-soft); font-family: inherit; }

/* ---------- Pricing tables ---------- */
.table-scroll {
  overflow-x: auto;
  border: 1px solid var(--gold-line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}
table.pricing { border-collapse: collapse; width: 100%; min-width: 720px; font-size: 0.96rem; }
table.pricing caption {
  text-align: left; font-family: "Playfair Display", Georgia, serif; font-size: 1.15rem; color: var(--plum);
  padding: 16px 18px 4px;
}
table.pricing th, table.pricing td { padding: 9px 12px; text-align: right; white-space: nowrap; }
table.pricing th:first-child, table.pricing td:first-child { text-align: left; font-weight: 600; }
table.pricing thead th { background: var(--plum); color: #fff; font-weight: 600; }
table.pricing thead .tier-sub th { background: var(--lav); font-size: 0.85rem; }
table.pricing tbody tr:nth-child(even) { background: var(--surface-2); }
table.pricing tbody tr:hover { background: var(--lav-soft); }
.fineprint { font-size: 0.88rem; color: var(--ink-soft); max-width: 860px; }
.fineprint li { margin-bottom: 0.35em; }

/* ---------- Add-ons list ---------- */
.addon-list { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 44px; }
@media (max-width: 860px) { .addon-list { grid-template-columns: 1fr; } }
.addon {
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  padding: 10px 2px;
  border-bottom: 1px solid var(--line);
  border-image: linear-gradient(90deg, transparent, var(--line) 8%, var(--line) 92%, transparent) 1;
}
.addon .a-name { font-weight: 600; }
.addon > .a-name { flex: 1; }
.addon .a-desc { display: block; font-weight: 400; color: var(--ink-soft); font-size: 0.92rem; }
.addon .a-price { font-family: "Playfair Display", Georgia, serif; color: var(--plum); white-space: nowrap; }
/* Add-on photo: a small mounted print beside the item */
.addon .a-photo {
  width: 92px; height: 68px; flex: none;
  object-fit: cover;
  background: var(--mat);
  padding: 3px;
  border: 1px solid var(--gold-line);
  border-radius: 3px;
  box-shadow: inset 0 0 0 2px var(--mat), inset 0 0 0 3px var(--gold-line), 0 6px 12px -6px rgba(55,18,78,.3);
}

/* ---------- Photo band & figures ----------
   Fine-stationery framing: ivory mat with a thin double rule
   (outer border + inset hairlines), stepped like crown molding,
   with the soft shadow of a print mounted on the page. */
.photo-band { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.photo-band img {
  border-radius: 4px; height: 272px; width: 100%; object-fit: cover;
  background: var(--mat);
  padding: 10px;
  border: 1px solid var(--gold-line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), inset 0 -1px 1px rgba(84,58,16,.28), inset 0 0 0 5px var(--mat), inset 0 0 0 6px var(--gold-line), inset 0 0 0 10px var(--mat), inset 0 0 0 11px var(--gold-line), 0 22px 38px -14px rgba(55,18,78,.35), 0 6px 14px rgba(55,18,78,.14);
}
/* Residents band (homepage): four across, natural aspect — the
   animals are shown whole, never cropped to a fixed height. */
.photo-band.four { grid-template-columns: repeat(4, 1fr); align-items: start; }
.photo-band.natural img { height: auto; object-fit: initial; }
@media (max-width: 860px) { .photo-band.four { grid-template-columns: repeat(2, 1fr); } }
.plan-figure {
  position: relative;
  background: var(--surface); border: 1px solid var(--gold-line); border-radius: 4px; padding: 18px; margin: 0;
  box-shadow: inset 0 1px 0 rgba(255,253,246,.75), 0 22px 38px -14px rgba(55,18,78,.3), 0 6px 14px rgba(55,18,78,.12);
}
.plan-figure img { width: 100%; height: 340px; object-fit: contain; }
.plan-figure figcaption { text-align: center; font-size: 0.92rem; color: var(--ink-soft); margin-top: 12px; }
@media (max-width: 860px) { .plan-figure img { height: auto; } }
@media (max-width: 860px) { .photo-band { grid-template-columns: 1fr; } .photo-band img { height: 232px; } }

/* ---------- CTA band ---------- */
.cta-band {
  position: relative;
  background: var(--plum-deep); color: #fff; text-align: center; padding: 72px 24px;
  border-top: 3px double var(--gold-line);
  box-shadow: inset 0 1px 0 rgba(220,178,106,.35);
}
.cta-band::before, .cta-band::after {
  content: "";
  position: absolute;
  width: 32px; height: 32px;
  background: var(--corner) center / contain no-repeat;
  opacity: .55;
  pointer-events: none;
}
.cta-band::before { top: 12px; left: 12px; }
.cta-band::after { bottom: 12px; right: 12px; transform: rotate(180deg); }
.cta-band h2 { color: #fff; text-shadow: none; }
.cta-band p { color: #e9e2f4; max-width: 640px; margin: 0 auto 26px; }

/* ---------- Footer ---------- */
.site-footer {
  background: var(--plum-deep); color: #cfc4e2; padding: 54px 0 34px; font-size: 0.95rem;
  border-top: 3px double var(--gold-line);
  box-shadow: inset 0 1px 0 rgba(220,178,106,.35);
}
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 36px; }
@media (max-width: 860px) { .footer-grid { grid-template-columns: 1fr; } }
.site-footer h3 { color: #fff; font-size: 1.05rem; text-shadow: none; }
.site-footer a { color: #e9e2f4; }
.footer-logo { height: 64px; width: auto; margin-bottom: 14px; }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.15);
  border-image: linear-gradient(90deg, transparent, rgba(255,255,255,.22) 12%, rgba(255,255,255,.22) 88%, transparent) 1;
  margin-top: 36px; padding-top: 20px; font-size: 0.85rem; color: #a99cc4;
}

/* ---------- Utility ---------- */
.center { text-align: center; }
.note-box {
  position: relative;
  background: var(--surface); border: 1px solid var(--line); border-left: 4px solid var(--gold);
  border-radius: 8px; padding: 18px 22px; max-width: 860px;
  box-shadow: inset 0 1px 0 rgba(255,253,246,.75), 0 10px 22px -12px rgba(55,18,78,.22);
}
.badge-superhost {
  display: inline-block; background: var(--gold); color: #fff; border-radius: 999px;
  padding: 4px 14px; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.05em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5), inset 0 -2px 0 rgba(122,84,20,.4);
}

/* Rules that taper away at their ends (used on quiet separators) */
hr.orn {
  border: none; height: 12px; margin: 34px auto; max-width: 460px;
  background-image: var(--orn-rule);
  background-repeat: no-repeat;
  background-position: center;
  background-size: min(460px, 88%) 12px;
}

/* ---------- Contact form ---------- */
.contact-form { max-width: 640px; }
.contact-form label {
  display: block; font-weight: 600; color: var(--plum); margin: 16px 0 6px;
}
.contact-form label:first-of-type { margin-top: 0; }
.contact-form input, .contact-form textarea {
  width: 100%; box-sizing: border-box; padding: 11px 14px;
  border: 1px solid var(--line); border-radius: 8px;
  font: inherit; color: var(--ink); background: var(--surface);
}
.contact-form input:focus, .contact-form textarea:focus {
  outline: 2px solid var(--gold-line); border-color: var(--gold);
}
.contact-form textarea { min-height: 130px; resize: vertical; }
.contact-form button { margin-top: 20px; cursor: pointer; font: inherit; }

/* ---------- Blog posts ---------- */
.post-title { font-family: "Playfair Display", Georgia, serif; color: var(--heading); font-weight: 600; font-size: 2.3rem; line-height: 1.2; margin: 10px 0 8px; text-shadow: 0 1px 0 rgba(255,253,246,.9), 0 -1px 1px rgba(55,18,78,.13); }
.post-meta { color: var(--gold-text); font-size: 0.9rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 22px; }
.post-img {
  width: 100%; display: block; border-radius: 4px;
  background: var(--mat);
  padding: 10px;
  border: 1px solid var(--gold-line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), inset 0 -1px 1px rgba(84,58,16,.28), inset 0 0 0 5px var(--mat), inset 0 0 0 6px var(--gold-line), inset 0 0 0 10px var(--mat), inset 0 0 0 11px var(--gold-line), 0 22px 38px -14px rgba(55,18,78,.35), 0 6px 14px rgba(55,18,78,.14);
}
.post-body h2 { font-family: "Playfair Display", Georgia, serif; color: var(--heading); font-weight: 600; margin: 34px 0 12px; }
.post-body h3 { color: var(--heading); margin: 26px 0 10px; }
.post-body p { margin-bottom: 16px; line-height: 1.65; }
.post-body ul, .post-body ol { margin: 0 0 16px 22px; line-height: 1.65; }
.post-body li { margin-bottom: 6px; }

/* ---------- FAQ ---------- */
.faq-list { max-width: 860px; margin: 0 auto; }
.faq-item { margin-bottom: 30px; }
.faq-item h3 { color: var(--heading); margin-bottom: 8px; }
.faq-item p { line-height: 1.65; }

/* ---------- Dark-mode adjustments (concept palette) ---------- */
@media (prefers-color-scheme: dark) {
  h2, .post-title { text-shadow: 0 1px 1px rgba(0,0,0,.5), 0 -1px 0 rgba(255,255,255,.10); }
  .divider img { filter: drop-shadow(0 1px 0 rgba(255,255,255,.16)) drop-shadow(0 -1px 1px rgba(0,0,0,.55)); }
  .card, .note-box { box-shadow: inset 0 1px 0 rgba(255,255,255,.07), inset 0 -1px 0 rgba(0,0,0,.3), 0 10px 22px -12px rgba(0,0,0,.5); }
  .photo-band img, .post-img { box-shadow: inset 0 1px 0 rgba(255,255,255,.22), inset 0 -1px 1px rgba(0,0,0,.4), inset 0 0 0 5px var(--mat), inset 0 0 0 6px var(--gold-line), inset 0 0 0 10px var(--mat), inset 0 0 0 11px var(--gold-line), 0 22px 38px -14px rgba(0,0,0,.6), 0 6px 14px rgba(0,0,0,.35); }
  .site-header { box-shadow: 0 1px 0 rgba(255,255,255,.06), 0 8px 20px -14px rgba(0,0,0,.6); }
  .price-from, .addon .a-price, table.pricing caption, .contact-form label { color: var(--gold-text); }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
.card .sale-photo { width: 100%; border-radius: 8px; margin-bottom: 12px; border: 5px solid #fffdf6; outline: 1px solid rgba(184,135,70,.55); box-shadow: 0 10px 24px rgba(42,11,61,.18); }
