/* Unified brand, October 2026: Call and Text us are real buttons beside Book; sticky phone bar shows all three */
.phone-bar { grid-template-columns: auto auto 1fr !important; }
.phone-bar a:not(.go) { width: auto !important; height: 44px !important; min-height: 44px !important; border-radius: 0 !important; padding: 0 14px !important; border-color: var(--ink); }
#book .aside .actions { margin-top: 10px; }
@media (max-width: 560px) {
  .actions:has(a[href^="sms:"]) > .btn-gold { flex: 1 1 100%; }
  .actions:has(a[href^="sms:"]) > a.btn[href^="tel:"], .actions > a.btn[href^="sms:"] { flex: 1 1 0; }
}
/* longer service names in the top menu: keep each on one line */
@media (min-width: 1061px) { .nav a { white-space: nowrap; } }
@media (min-width: 1061px) and (max-width: 1360px) { .hdr .bar, .nav { gap: 18px; } .nav a, .hdr .book { letter-spacing: .1em; } }
/* question lists: no underline, so two-line questions stay readable */
.faq-list details.more summary { display: flex; background: none; line-height: 1.5; }

/* chosen answers: dark card with a gold edge instead of a white block */
.form .choice input:checked + span { background: rgba(232, 163, 35, .1); color: var(--ink); border-color: var(--gold); box-shadow: inset 3px 0 0 var(--gold); }

/* home, staging and interior design: compact rhythm, about 40px between sections on phones and 64px on computers */
.compact .section { padding-block: 20px; }
.compact .section.tight { padding-top: 0; }
.compact .head { margin-bottom: 18px; gap: 8px; }
.compact .title { margin-top: 8px; }
.compact .rule { margin-top: 12px; }
.compact .mt-lg { margin-top: 24px; }
.compact .scene-row { gap: 20px; }
.compact .agent-points { gap: 20px; }
.compact .rv { gap: 20px; }
.compact .rv-q { padding-top: 44px; }
.compact .rv-item figcaption { margin-top: 16px; }
.compact figure.scene { margin-bottom: 0; }
.compact .faq-list { margin-top: 0; }
/* reviews: the box fits the review on screen, not the longest one */
.compact .rv-q { position: relative; }
.compact .rv-item:not(.on) { position: absolute; top: 44px; left: 0; right: 0; }
@media (min-width: 761px) {
  .compact .section { padding-block: 32px; }
  .compact .head { margin-bottom: 28px; }
  .compact .scene-row { gap: 40px; }
}

/* home hero on phones: the video gets the top of the screen with no text on it; headline and buttons sit below it */
@media (max-width: 760px) {
  .hero-v { display: block; min-height: 0; height: auto; padding-top: min(62svh, 540px); }
  .hero-v .hero-poster, .hero-v .hero-video, .hero-v .hv-slides img { inset: 0 0 auto 0; height: min(62svh, 540px); }
  .hero-v::after { inset: 0 0 auto 0; height: min(62svh, 540px); background: linear-gradient(180deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,0) 22%, rgba(0,0,0,0) 72%, var(--night) 100%); }
  .hero-v .copy { padding-top: 4px; padding-bottom: 32px; }
  .hero-v .copy > .sig { display: none; }
  .hero-v h1 { margin-top: 0; }
  .hero-v .sub { text-shadow: none; }
  /* compact: one small gold button, the two services as small text links */
  .hero-v .actions { gap: 4px 22px; align-items: center; margin-top: 16px; }
  .hero-v .actions .btn-gold { flex: 0 0 100%; min-height: 42px; }
  .hero-v .actions .btn-gold + .btn-line { margin-top: 4px; }
  .hero-v .actions .btn-line { flex: 0 0 auto; min-height: 0; padding: 12px 0 3px; border: 0; border-bottom: 1px solid var(--gold); background: none; }
}

/* owner, Oct 29: smaller text and less empty space on every page (phones first) */
.title { font-size: clamp(2rem, 3.6vw, 3.25rem); margin-top: 10px; }
.title.sm { font-size: clamp(1.6rem, 2.6vw, 2.25rem); }
.hero h1 { font-size: clamp(2.25rem, 4.6vw, 4rem); }
.hero.short h1 { font-size: clamp(2.25rem, 5vw, 4.25rem); }
.hero-v h1 { font-size: clamp(2rem, 3.4vw, 3rem); }
.lead { font-size: 1.125rem; }
.section { padding-block: clamp(48px, 6vw, 80px); }
.head { margin-bottom: clamp(20px, 2.5vw, 32px); }
.rule { margin-top: 14px; }
.mt-lg { margin-top: clamp(24px, 3vw, 40px); }
.page-top { padding-top: calc(var(--header) + clamp(24px, 4vw, 56px)); padding-bottom: clamp(16px, 2.5vw, 32px); }
@media (max-width: 760px) {
  body { font-size: .875rem; line-height: 1.6; }
  .title { font-size: clamp(1.45rem, 6.4vw, 1.75rem); margin-top: 6px; }
  .title.sm, .showcase .head .title { font-size: clamp(1.3rem, 5.6vw, 1.5rem); }
  .hero h1, .hero.short h1, .hero-v h1 { font-size: clamp(1.5rem, 7vw, 1.9rem); }
  .hero .sub { font-size: .8125rem; }
  .lead, .page-top .lead { font-size: .9375rem; line-height: 1.55; }
  .sig { font-size: .625rem; }
  .card p, .agent-points p { font-size: .8125rem; }
  .agent-points h3 { font-size: 1rem; }
  .steps h3 { font-size: 1.5rem; }
  .prose { font-size: .9375rem; line-height: 1.7; }
  .prose h2 { font-size: 1.5rem; }
  .prose h3 { font-size: 1.05rem; }
  .rv-item blockquote { font-size: 1.05rem; }
  .section { padding-block: 28px; }
  .compact .section { padding-block: 20px; }
  .head { margin-bottom: 16px; gap: 8px; }
  .rule { margin-top: 10px; }
  .mt-lg { margin-top: 20px; }
  .page-top { padding-top: calc(var(--header) + 20px); padding-bottom: 12px; }
  .page-top .lead { margin-top: 10px; }
}
