/* type.css — one type system for every page (Oct 2026).
   Jost for headings and body (Krup style), Cormorant Garamond for serif accents.
   Loaded LAST on every page so it wins over style.css / landing.css / home.css. */
:root {
  --font-heading: 'Jost', system-ui, sans-serif;
  --font-body: 'Jost', system-ui, sans-serif;
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --fs-h1: clamp(1.8rem, 3.6vw, 2.8rem);
  --fs-h2: clamp(1.5rem, 2.8vw, 2.2rem);
  --fs-h3: 1.35rem;
  --fs-body: 1rem;
  --fs-eyebrow: 0.72rem;
}
body { font-family: var(--font-body); font-weight: 300; }
p, li { font-size: var(--fs-body); }

/* page titles and section titles: Jost light, uppercase, same sizes everywhere */
.dh-hero__title, .dh-pagehero__title, .hv-hero h1 {
  font-family: var(--font-heading); font-weight: 300; text-transform: uppercase;
  letter-spacing: 0.04em; font-size: var(--fs-h1); line-height: 1.18;
}
.dh-h2, .dh-cta__title, .hv-couples h2, .hv-service h3 {
  font-family: var(--font-heading); font-weight: 300; text-transform: uppercase;
  letter-spacing: 0.05em; font-size: var(--fs-h2); line-height: 1.2;
}
/* serif statements keep their italics but share the same scale */
.hv-statement h2 { font-size: var(--fs-h1); }
.hv-meet h2 { font-size: var(--fs-h2); }
/* small titles on cards: Cormorant, one size */
.dh-card h3, .dh-step__title, .dh-value h3, .hv-promise__item h3, .dh-faq summary, .dh-faq__q {
  font-family: var(--font-display); font-weight: 500; font-size: var(--fs-h3);
}
.dh-eyebrow, .hv-eyebrow { font-family: var(--font-heading); font-size: var(--fs-eyebrow); letter-spacing: 0.3em; }
h1, h2 { font-weight: 300; }
h3, h4 { font-weight: 400; }
main li { font-size: 0.95rem !important; line-height: 1.6; }
/* availability: one job per day, booked = red */
.dh-cal__pips { display: none; }

/* Oct 2026 lead fixes: Founding Rate note (Home + Contact), skip-to-form link */
.dh-booking__note { font-size: 0.95rem; line-height: 1.7; margin: 0 0 22px; padding: 14px 16px; border-left: 2px solid var(--color-maroon, #6B2737); background: rgba(107, 39, 55, 0.04); text-align: left; }
.dh-skip { display: inline-block; margin-top: 14px; font-size: 0.78rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--color-maroon, #6B2737); border-bottom: 1px solid currentColor; padding-bottom: 3px; text-decoration: none; }
/* About: long story paragraphs read better left-aligned on a phone */
#story .dh-split__body > p:not(.dh-eyebrow) { text-align: left; }

/* Availability calendar, Oct 2026: compact 3-months-a-row grid (layout from the
   Cherryta reference) in Dua Hati's light palette: ivory panel, maroon dates,
   booked = solid maroon circle with a white number, past / not open yet = grey. */
.dh-cal { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 24px 10px; background: #FFFDF9; color: #2E2622; padding: 22px 12px 24px; border: 1px solid #E5DCD2; border-radius: 4px; }
.dh-cal__month { background: none !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; }
.dh-cal__title { font-family: var(--font-heading) !important; font-weight: 500 !important; font-size: 0.8rem !important; letter-spacing: 0.04em; text-transform: uppercase; color: #6B2737 !important; text-align: left !important; margin: 0 0 6px !important; }
.dh-cal__yr { font-size: 0.55rem; color: #A0856B; letter-spacing: 0.06em; font-weight: 400; }
.dh-cal__grid { gap: 0 !important; border-left: 1px solid #EDE5DC; border-top: 1px solid #EDE5DC; }
.dh-cal__dow { font-size: 0.5rem !important; font-weight: 500; color: #7A6F6A !important; padding: 2px 0 4px; text-align: center; border-right: 1px solid #EDE5DC; border-bottom: 1px solid #EDE5DC; }
.dh-cal__blank { border-right: 1px solid #EDE5DC; border-bottom: 1px solid #EDE5DC; }
.dh-cal__day { min-height: 0 !important; aspect-ratio: 1 / 1; padding: 0 !important; border: 0 !important; border-right: 1px solid #EDE5DC !important; border-bottom: 1px solid #EDE5DC !important; border-radius: 0 !important; background: none !important; color: #6B2737 !important; display: flex !important; align-items: center; justify-content: center; font-family: var(--font-body); }
.dh-cal__num { font-size: 0.6rem !important; font-weight: 400; line-height: 1; width: 88%; aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; border-radius: 50%; }
.dh-cal__day[data-state="full"] .dh-cal__num { background: #6B2737; color: #fff; }
.dh-cal__day[data-state="partial"] .dh-cal__num { background: linear-gradient(135deg, #6B2737 0 50%, #F1DCE0 50% 100%); color: #fff; text-shadow: 0 0 2px #6B2737; }
.dh-cal__day[data-state="past"], .dh-cal__day[data-state="closed"] { color: #C9BEB4 !important; cursor: default; }
.dh-cal__day[aria-pressed="true"] { outline: 0 !important; }
.dh-cal__day[aria-pressed="true"] .dh-cal__num { box-shadow: 0 0 0 1.5px #6B2737; }
.dh-cal__day:focus-visible { outline: 1px solid #6B2737 !important; outline-offset: -2px; }
.dh-cal__later { grid-column: 1 / -1; display: flex; flex-direction: column; justify-content: center; text-align: left; border: 1px dashed #C9BEB4 !important; background: #F7F1E8 !important; padding: 14px 16px !important; }
.dh-cal__later p { margin: 0 0 6px; color: #2E2622; }
.dh-cal__later-when { font-size: 0.62rem !important; letter-spacing: 0.14em; text-transform: uppercase; color: #A0856B !important; }
.dh-cal__later-title { font-family: var(--font-display); font-style: italic; font-size: 1.35rem !important; line-height: 1.15; color: #6B2737 !important; }
.dh-cal__later-text { font-size: 0.8rem !important; line-height: 1.45; }
.dh-cal__later-btn { align-self: flex-start; margin-top: 4px; font-size: 0.66rem; letter-spacing: 0.14em; text-transform: uppercase; color: #6B2737; border-bottom: 1px solid #6B2737; padding-bottom: 2px; text-decoration: none; }
.dh-cal__swatch { border-radius: 50% !important; }
.dh-cal__swatch[data-state="open"] { background: #FFFDF9 !important; border: 1px solid #6B2737 !important; }
.dh-cal__swatch[data-state="full"] { background: #6B2737 !important; border-color: #6B2737 !important; }
.dh-cal__swatch[data-state="partial"] { background: linear-gradient(135deg, #6B2737 0 50%, #F1DCE0 50% 100%) !important; border: 1px solid #6B2737 !important; }
.dh-cal__swatch[data-state="closed"] { background: #DDD4C8 !important; border-color: #DDD4C8 !important; }
@media (min-width: 760px) {
  .dh-cal { gap: 34px 30px; padding: 34px 32px 38px; }
  .dh-cal__title { font-size: 1.05rem !important; }
  .dh-cal__dow { font-size: 0.66rem !important; }
  .dh-cal__num { font-size: 0.85rem !important; width: 76%; }
  .dh-cal__later { padding: 20px 24px !important; }
  .dh-cal__yr { font-size: 0.7rem; }
  .dh-cal__later-when, .dh-cal__later-btn { font-size: 0.68rem !important; }
  .dh-cal__later-title { font-size: 1.5rem !important; }
  .dh-cal__later-text { font-size: 0.85rem !important; }
}
/* Phones: full width panel, square edges, like the reference. */
@media (max-width: 759px) {
  .dh-cal { margin-inline: calc(50% - 50vw); border-inline: 0; border-radius: 0; }
  /* 2 months a row on phones: 3 a row made each date ~16px, too small to read or tap */
  .dh-cal { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 28px 18px; padding: 24px 18px 26px; }
  .dh-cal__title { font-size: 0.92rem !important; margin-bottom: 8px !important; }
  .dh-cal__yr { font-size: 0.66rem; }
  .dh-cal__dow { font-size: 0.6rem !important; padding: 3px 0 5px; }
  .dh-cal__num { font-size: 0.8rem !important; width: 84%; }
}
#availability { scroll-margin-top: 70px; }

/* 16 Oct 2026: legend sits above the calendar */
.dh-cal__legend { margin: 0 0 14px !important; justify-content: center; }

/* Blog article (Oct 2026) */
.dh-article { max-width: 42rem; margin: 0 auto; padding: 3.5rem 1.5rem 2rem; line-height: 1.75; }
.dh-article__head { margin-bottom: 2rem; }
.dh-article__head .dh-pagehero__title { font-size: clamp(1.9rem, 7vw, 2.8rem); line-height: 1.15; margin: .4rem 0 .8rem; text-transform: none; letter-spacing: 0; }
.dh-article__byline { font-size: .9rem; opacity: .75; }
.dh-article__lead { font-size: 1.35rem; font-style: italic; font-family: 'Cormorant Garamond', Georgia, serif; }
.dh-article h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.7rem; font-weight: 500; line-height: 1.25; margin: 2.4rem 0 .7rem; }
.dh-article p { margin: 0 0 1rem; }
.dh-article__list { list-style: none; padding: 0; margin: 0 0 1rem; }
.dh-article__list li { margin: 0 0 .7rem; }
.dh-article a { text-decoration: underline; text-underline-offset: 3px; }
.dh-article .dh-faq__item { margin-bottom: .6rem; }

/* Journal hub (Oct 2026) */
.dh-journal { display: grid; gap: 1.2rem; max-width: 46rem; margin: 0 auto; }
.dh-journal__card { display: block; padding: 1.6rem 1.6rem 1.3rem; border: 1px solid rgba(107,39,55,.18); border-radius: 6px; background: #fff; color: inherit; text-decoration: none; transition: border-color .2s; }
.dh-journal__card:hover { border-color: rgba(107,39,55,.5); }
.dh-journal__meta { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; opacity: .7; margin: 0 0 .5rem; }
.dh-journal__title { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.6rem; font-weight: 500; line-height: 1.25; margin: 0 0 .6rem; text-transform: none; letter-spacing: 0; }
.dh-journal__card p { margin: 0 0 .8rem; }
.dh-journal__more { font-size: .9rem; text-decoration: underline; text-underline-offset: 3px; }
.dh-article__back { font-size: .9rem; margin: 0 0 .8rem; }

/* 29 Oct 2026: make photos and videos harder to save (long-press, drag). Screenshots can't be blocked. */
img, video { -webkit-user-drag: none; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }

/* 29 Oct 2026: For Creators page */
.dh-shop { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; max-width: 1000px; margin: 0 auto; }
.dh-shop__card { border: 1px solid rgba(0,0,0,0.12); background: #fff; padding: 28px 24px; display: flex; flex-direction: column; gap: 10px; }
.dh-shop__card h3 { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 1.6rem; margin: 0; }
.dh-shop__price { font-family: 'Cormorant Garamond', serif; font-size: 1.9rem; margin: 0; }
.dh-shop__card p { margin: 0; line-height: 1.55; }
.dh-shop__card .dh-btn { margin-top: auto; align-self: flex-start; }
.dh-shop__note { text-align: center; margin-top: 26px; font-size: 0.88rem; opacity: 0.8; }
@media (max-width: 860px) { .dh-shop { grid-template-columns: 1fr; max-width: 420px; } }

/* 29 Oct 2026: "More" button matches the nav links (size, weight, baseline) */
.dh-nav .dh-more__btn { font-weight: 300; line-height: inherit; font-size: 0.82rem; white-space: nowrap; }
@media (min-width: 961px) { .dh-nav { align-items: baseline; } .dh-nav .dh-more__btn { font-size: 0.78rem; } }
@media (min-width: 961px) and (max-width: 1180px) { .dh-nav .dh-more__btn { font-size: 0.73rem; } }
.dh-shop__list { list-style: none; margin: 4px 0 6px; padding: 0; font-size: 0.9rem; line-height: 1.45; }
.dh-shop__list li { position: relative; padding: 5px 0 5px 18px; border-top: 1px solid rgba(0,0,0,0.07); }
.dh-shop__list li::before { content: "\2713"; position: absolute; left: 0; top: 5px; font-size: 0.8rem; color: var(--color-maroon, #6b2737); }
.dh-shop__launch { font-size: 0.82rem; opacity: 0.75; margin-top: -6px !important; }
