/* Royal Drips — /start/ ad landing page. Loaded only on that page, after style.css. */
body.lp { background: #0b0b0d; color: #e9e5da; }
body.lp .account-opt { display: none; }              /* no account upsell before the first request */
.lp a { color: inherit; }

/* nav: logo, phone, one button. No menu to wander off through. */
.lp-nav { position: fixed; inset: 0 0 auto 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 12px max(20px, 4vw); background: rgba(11,11,13,.94); border-bottom: 1px solid var(--gold-border); }
.lp-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.lp-brand img { width: 46px; height: 46px; }
.lp-brand span { font-family: 'Cinzel', serif; font-size: 18px; letter-spacing: .08em; color: var(--gold2); }
.lp-nav-actions { display: flex; align-items: center; gap: 18px; }
.lp-phone { font-size: 15px; letter-spacing: .04em; text-decoration: none; color: #fff; }
.lp-btn { display: inline-block; padding: 13px 24px; background: linear-gradient(135deg, var(--gold), var(--gold2)); color: #14100a !important; font: 600 13px/1 'Jost', sans-serif;
  letter-spacing: .12em; text-transform: uppercase; text-decoration: none; border: 0; cursor: pointer; }
.lp-btn:hover { background: var(--gold3); }
.lp-btn.ghost { background: transparent; color: #fff !important; border: 1px solid var(--gold-border2); }
.lp-btn.ghost:hover { background: var(--gold-dim); }

.lp-wrap { width: min(1180px, 100% - 40px); margin-inline: auto; }
.lp-eyebrow { display: block; font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--gold); margin-bottom: 18px; }
.lp h1, .lp h2 { font-family: 'Cinzel', serif; font-weight: 500; letter-spacing: .02em; color: #fff; margin: 0; line-height: 1.12; }
.lp h2 { font-size: clamp(28px, 4vw, 44px); }

/* hero: text left, one real photo right, caption hanging off it */
.lp-hero { padding: 120px 0 56px; }
.lp-hero-grid { display: grid; grid-template-columns: 7fr 5fr; gap: clamp(28px, 5vw, 72px); align-items: end; }
.lp-hero h1 { font-size: clamp(34px, 5.6vw, 66px); margin-bottom: 22px; }
.lp-hero p.lead { font-size: clamp(16px, 1.6vw, 20px); line-height: 1.6; color: rgba(255,255,255,.82); max-width: 34em; margin: 0 0 30px; }
.lp-cta { display: flex; flex-wrap: wrap; gap: 14px; }
.lp-photo { position: relative; margin: 0; }
.lp-photo img { display: block; width: 100%; height: clamp(380px, 38vw, 500px); object-fit: cover; object-position: 50% 22%; border: 1px solid var(--gold-border2); }
.lp-photo figcaption { position: absolute; left: -18px; bottom: 22px; background: #0b0b0d; border: 1px solid var(--gold-border2); padding: 12px 16px; font-size: 13px; letter-spacing: .06em; line-height: 1.4; }
.lp-photo figcaption b { display: block; font-family: 'Cinzel', serif; font-weight: 500; font-size: 15px; color: var(--gold2); letter-spacing: .08em; }
.lp-facts { list-style: none; margin: 46px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--gold-border); }
.lp-facts li { padding: 18px 20px 0 0; font-size: 14px; letter-spacing: .04em; color: rgba(255,255,255,.85); }
.lp-facts li b { display: block; font-family: 'Cinzel', serif; font-weight: 500; font-size: 16px; color: var(--gold2); margin-bottom: 4px; letter-spacing: .06em; }

/* offer: a band, not a popup */
.lp-offer { border-block: 1px solid var(--gold-border2); background: linear-gradient(90deg, rgba(201,165,53,.10), rgba(201,165,53,.03)); }
.lp-offer .lp-wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 32px; padding-block: 26px; }
.lp-offer h2 { font-size: clamp(22px, 3vw, 32px); }
.lp-offer p { margin: 8px 0 0; color: rgba(255,255,255,.8); max-width: 46em; line-height: 1.55; font-size: 15px; }

.lp-sec { padding: clamp(56px, 8vw, 100px) 0; }
.lp-health { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(28px, 6vw, 84px); align-items: start; }
.lp-health figure { margin: 0; }
.lp-health figure img { display: block; width: 100%; height: auto; border: 1px solid var(--gold-border); }
.lp-health figcaption { margin-top: 10px; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.6); }
.lp-health .intro { font-size: 18px; line-height: 1.6; color: rgba(255,255,255,.82); margin: 18px 0 34px; max-width: 34em; }
.lp-points { list-style: none; margin: 0; padding: 0; counter-reset: p; }
.lp-points li { counter-increment: p; display: grid; grid-template-columns: 52px 1fr; gap: 6px 14px; padding: 22px 0; border-top: 1px solid var(--gold-border); }
.lp-points li::before { content: "0" counter(p); font-family: 'Cinzel', serif; color: var(--gold); font-size: 20px; grid-row: span 2; }
.lp-points h3 { margin: 0; font: 500 19px/1.3 'Cinzel', serif; color: #fff; letter-spacing: .02em; }
.lp-points p { margin: 0; color: rgba(255,255,255,.75); line-height: 1.6; font-size: 15px; }
.lp-fine { margin-top: 26px; font-size: 13px; color: rgba(255,255,255,.6); line-height: 1.55; }

/* real footage */
.lp-clips { background: #08080a; border-block: 1px solid var(--gold-border); }
.lp-clips-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 10px 30px; margin-bottom: 28px; }
.lp-clips-row { display: grid; grid-template-columns: repeat(3, minmax(0, 260px)); gap: 20px; justify-content: start; }
.lp-clips-row video { display: block; width: 100%; aspect-ratio: 9 / 16; object-fit: cover; background: #000; border: 1px solid var(--gold-border); }

.lp-menu { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(28px, 6vw, 84px); }
.lp-prices { list-style: none; margin: 0; padding: 0; }
.lp-prices li { display: flex; align-items: baseline; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--gold-border); font-size: 17px; }
.lp-prices li span:first-child { flex: 1; }
.lp-prices li span:last-child { font-family: 'Cinzel', serif; color: var(--gold2); font-size: 19px; }
.lp-menu .note { margin-top: 18px; color: rgba(255,255,255,.7); font-size: 14px; line-height: 1.6; }

.lp-how { display: grid; grid-template-columns: 7fr 5fr; gap: clamp(28px, 5vw, 64px); align-items: center; }
.lp-how .vid-wrap { margin: 0; max-width: none; }
.lp-steps { list-style: none; margin: 22px 0 0; padding: 0; }
.lp-steps li { padding: 16px 0; border-top: 1px solid var(--gold-border); line-height: 1.5; color: rgba(255,255,255,.85); }
.lp-steps li b { font-family: 'Cinzel', serif; font-weight: 500; color: var(--gold2); margin-right: 8px; }

/* the form */
#request { padding: clamp(56px, 8vw, 96px) 0; background: var(--dark1, #101013); border-top: 1px solid var(--gold-border); }
#request .head { max-width: 40em; margin-bottom: 34px; }
#request .head p { color: rgba(255,255,255,.78); line-height: 1.6; margin: 14px 0 0; }
.lp-more { grid-column: 1 / -1; margin: 6px 0 14px; border: 1px solid var(--gold-border); padding: 0 16px; }
.lp-more summary { cursor: pointer; padding: 14px 0; font-size: 14px; letter-spacing: .06em; color: var(--gold2); }
.lp-more[open] { padding-bottom: 8px; }
.lp-addon-hint { margin: 0 0 12px; font-size: 14px; color: var(--gold2); }

.lp-faq details { border-top: 1px solid var(--gold-border); padding: 18px 0; }
.lp-faq details:last-child { border-bottom: 1px solid var(--gold-border); }
.lp-faq summary { cursor: pointer; font: 500 18px/1.4 'Cinzel', serif; color: #fff; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.lp-faq summary::after { content: "+"; color: var(--gold); font-size: 22px; line-height: 1; }
.lp-faq details[open] summary::after { content: "–"; }
.lp-faq p { margin: 12px 0 0; color: rgba(255,255,255,.78); line-height: 1.65; max-width: 46em; }

.lp-foot { padding: 34px 0 110px; border-top: 1px solid var(--gold-border); font-size: 13px; color: rgba(255,255,255,.6); line-height: 1.7; }
.lp-foot a { text-decoration: underline; }

.lp-sticky { display: none; }
@media (max-width: 860px) {
  .lp-hero { padding-top: 96px; }
  .lp-hero-grid, .lp-health, .lp-menu, .lp-how { grid-template-columns: 1fr; }
  .lp-photo { max-width: 420px; }
  .lp-photo img { height: auto; aspect-ratio: 4 / 5; }
  .lp-photo figcaption { left: -12px; }
  .lp-facts { grid-template-columns: 1fr 1fr; }
  .lp-phone { display: none; }
  .lp-clips-row { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; padding-bottom: 8px; }
  .lp-clips-row video { flex: 0 0 62%; max-width: 250px; scroll-snap-align: start; }
  .lp-sticky { display: flex; position: fixed; inset: auto 0 0 0; z-index: 60; gap: 10px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: rgba(11,11,13,.97); border-top: 1px solid var(--gold-border2); }
  .lp-sticky a { flex: 1; text-align: center; padding: 15px 10px; }
}

/* why-IV section (home + /start/) */
.lp-why { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(28px, 6vw, 84px); align-items: start; }
.lp-why .intro { font-size: 18px; line-height: 1.6; color: rgba(255,255,255,.82); margin: 18px 0 28px; max-width: 34em; }
.lp-why-fine { grid-column: 1 / -1; margin-top: 4px; }
.lp-fit { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 22px; }
.lp-fit li { padding: 12px 0; border-top: 1px solid var(--gold-border); font-size: 14px; color: rgba(255,255,255,.75); line-height: 1.4; }
.lp-fit li b { display: block; font-family: 'Cinzel', serif; font-weight: 500; color: var(--gold2); font-size: 15px; letter-spacing: .06em; margin-bottom: 2px; }
@media (max-width: 860px) { .lp-why { grid-template-columns: 1fr; } }

.lp-proof { margin: 22px 0 0; font-size: 15px; letter-spacing: .06em; color: rgba(255,255,255,.85); }
.lp-proof b { font-family: 'Cinzel', serif; font-weight: 500; color: var(--gold2); font-size: 17px; }
.lp-proof span { color: var(--gold); margin: 0 10px; }

/* ── LIGHT VERSION (2026-10-14): first screen, clinician section and the form are warm ivory with dark text ── */
body.lp h1, body.lp h2, body.lp .lp-points h3, body.lp .lp-faq summary, body.lp .lp-facts li b, body.lp .lp-proof b { font-family: 'Playfair Display', Georgia, serif; text-transform: none; letter-spacing: 0; }
body.lp h1 { font-weight: 700; font-size: clamp(32px, 4.6vw, 56px); line-height: 1.1; }
body.lp h2 { font-weight: 700; }
body.lp .lp-points h3 { font-weight: 700; font-size: 20px; }
body.lp .lp-faq summary { font-weight: 600; }

.lp-light { background: #F7F4EC; color: #202124; }
.lp-light h1, .lp-light h2, .lp-light h3 { color: #1b1b1d; }
.lp-light .lp-eyebrow { color: #735A17; }
.lp-light .lead, .lp-light .intro, .lp-light p, .lp-light .lp-points p { color: #3a3a3c; }
.lp-light .lp-fine, .lp-light figcaption { color: #5b5b5b; }
.lp-light a:not(.lp-btn) { color: #735A17; }
.lp-light .lp-btn.ghost { color: #202124 !important; border-color: #202124; }
.lp-light .lp-btn.ghost:hover { background: rgba(0,0,0,.05); }
.lp-light .lp-facts { border-top-color: #ddd5c2; }
.lp-light .lp-facts li { color: #3a3a3c; } .lp-light .lp-facts li b { color: #735A17; }
.lp-light .lp-proof { color: #3a3a3c; } .lp-light .lp-proof b, .lp-light .lp-proof span { color: #735A17; }
.lp-light .lp-points li { border-top-color: #ddd5c2; } .lp-light .lp-points li::before { color: #735A17; }
.lp-light .lp-photo img, .lp-light .lp-health figure img { border-color: #d8d2c2; }

/* first screen: headline, then the photo, then the text and buttons (phones); text left / photo right (computers) */
.lp-hero { padding: 108px 0 48px; }
.lp-hero-grid { grid-template-areas: "head photo" "body photo"; grid-template-rows: auto 1fr; align-items: start; }
.lp-hero-head { grid-area: head; align-self: end; } .lp-hero-body { grid-area: body; } .lp-photo { grid-area: photo; }
.lp-hero h1 { margin-bottom: 0; }
.lp-hero .lead { margin: 18px 0 26px; font-size: clamp(17px, 1.6vw, 20px); }
.lp-reassure { margin: 14px 0 0; font-size: 14px; }
.lp-photo img { height: clamp(380px, 38vw, 500px); }
.lp-photo figcaption.lp-cap { position: static; left: auto; bottom: auto; background: none; border: 0; padding: 10px 0 0; font-size: 13px; letter-spacing: .02em; color: #5b5b5b; }

/* the form on ivory: white fields, large dark text, clear borders */
.lp #request.lp-light { background: #F7F4EC; border-top: 0; color-scheme: light; }
#request.lp-light .head p { color: #3a3a3c; }
#request.lp-light .form-group label, #request.lp-light .coupon-row label { font-size: 15px; font-weight: 600; text-transform: none; letter-spacing: 0; color: #202124; }
#request.lp-light .form-group input, #request.lp-light .form-group select, #request.lp-light .form-group textarea, #request.lp-light .coupon-input input {
  background: #fff; color: #202124; border: 1px solid #767676; border-radius: 6px; font-size: 17px; }
#request.lp-light .form-group input::placeholder, #request.lp-light .form-group textarea::placeholder, #request.lp-light .coupon-input input::placeholder { color: #8a8a8a; }
#request.lp-light .form-group input:focus, #request.lp-light .form-group select:focus, #request.lp-light .form-group textarea:focus, #request.lp-light .coupon-input input:focus {
  border-color: #735A17; outline: 3px solid rgba(115,90,23,.3); outline-offset: 1px; }
#request.lp-light .form-group select option { background: #fff; color: #202124; }
#request.lp-light .addon-check { background: #fff; border-color: #cfc8b6; }
#request.lp-light .addon-check-name { color: #202124; } #request.lp-light .addon-check-price { color: #735A17; }
#request.lp-light .addon-check input:checked ~ .addon-check-body .addon-check-name, #request.lp-light .addon-check input:checked ~ .addon-check-tick { color: #735A17; }
#request.lp-light .sms-consent, #request.lp-light .sms-consent span, #request.lp-light .consent-check { color: #3a3a3c; }
#request.lp-light .sms-consent strong { color: #202124; }
#request.lp-light .quote-box { border-color: #d8d2c2; }
#request.lp-light .quote-line { color: #3a3a3c; } #request.lp-light .quote-line span:last-child { color: #202124; }
#request.lp-light .quote-total { border-top-color: #d8d2c2; } #request.lp-light .quote-total span:last-child { color: #735A17; }
#request.lp-light .quote-fine, #request.lp-light .form-note, #request.lp-light .add-person-note, #request.lp-light .opt { color: #5b5b5b; opacity: 1; }
#request.lp-light .form-error { color: #b3261e; }
#request.lp-light .coupon-msg.good { color: #0b6b57; } #request.lp-light .coupon-msg.bad { color: #b3261e; } #request.lp-light .coupon-msg { color: #3a3a3c; }
#request.lp-light .btn-outline { color: #202124; border-color: #202124; background: transparent; }
#request.lp-light .lp-more { border-color: #d8d2c2; background: #fff; } #request.lp-light .lp-more summary, #request.lp-light .lp-addon-hint { color: #735A17; }
#request.lp-light .person-card { border-color: #d8d2c2; background: #fff; }
#request.lp-light .booking-info-card { background: #fff; border: 1px solid #e2dccb; color: #202124; }
#request.lp-light .booking-info-card h4 { color: #202124; } #request.lp-light .booking-info-card p { color: #3a3a3c; }
#request.lp-light .booking-divider { background: #e2dccb; }

@media (max-width: 860px) {
  .lp-hero { padding-top: 92px; }
  .lp-hero-grid { grid-template-areas: "head" "photo" "body"; gap: 18px; }
  .lp-photo { max-width: none; margin: 0; }
  .lp-photo img { height: 300px; aspect-ratio: auto; object-position: 50% 18%; }
}
.lp-light.lp-hero p.lead { color: #3a3a3c; }
.lp-light .lp-health .intro, .lp-light .lp-points p { color: #3a3a3c; }

/* ── PHONE BOOKING BAR (2026-10-14): ivory bar, slides in after the first screen, hidden while the form is on screen ── */
@media (max-width: 860px) {
  body.lp { padding-bottom: 84px; }
  .lp-sticky { align-items: stretch; gap: 10px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
    background: #F7F4EC; border-top: 1px solid #d8d2c2; box-shadow: 0 -8px 24px -6px rgba(22,22,20,.12);
    transform: translateY(110%); transition: transform .25s ease; }
  .lp-sticky.show { transform: none; }
  .lp-sticky .lp-btn { flex: 1; display: flex; flex-direction: column; justify-content: center; padding: 11px 10px; line-height: 1.2; }
  .lp-sticky .lp-btn small { display: block; margin-top: 3px; font-size: 11px; letter-spacing: .02em; text-transform: none; font-weight: 500; opacity: .85; }
  .lp-sticky a.lp-sticky-call { flex: 0 0 92px; display: flex; align-items: center; justify-content: center; border: 1px solid #202124;
    color: #202124 !important; padding: 0; font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; }
}
@media (max-width: 860px) and (prefers-reduced-motion: reduce) { .lp-sticky { transition: none; } }

/* ── CALL-BACK FORM (2026-10-15): name + phone on the first screen of /start/ ── */
.lp-cb { margin: 26px 0 0; padding: 18px 0 0; border-top: 1px solid #ddd5c2; max-width: 560px; }
.lp-cb-h { margin: 0 0 12px; font-size: 16px; color: #3a3a3c; } .lp-cb-h b { color: #202124; }
.lp-cb-row { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; align-items: end; }
.lp-cb-f span { display: block; font-size: 13px; font-weight: 600; color: #202124; margin-bottom: 5px; }
.lp-cb-f input { width: 100%; box-sizing: border-box; height: 48px; padding: 0 12px; background: #fff; color: #202124; border: 1px solid #767676;
  border-radius: 6px; font: inherit; font-size: 17px; color-scheme: light; }
.lp-cb-f input:focus { border-color: #735A17; outline: 3px solid rgba(115,90,23,.3); outline-offset: 1px; }
.lp-cb .lp-btn { height: 48px; padding: 0 18px; white-space: nowrap; }
.lp-cb-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.lp-cb-fine { margin: 10px 0 0; font-size: 13px; color: #5b5b5b; }
.lp-cb-msg { margin: 8px 0 0; font-size: 15px; min-height: 0; } .lp-cb-msg:empty { display: none; } .lp-cb-msg.bad { color: #b3261e; }
.lp-cb-done { margin: 0; padding: 14px 16px; background: #fff; border: 1px solid #d8d2c2; border-left: 3px solid #735A17; font-size: 16px; color: #202124; }
.lp-cb-done a { color: #735A17; font-weight: 600; }
@media (max-width: 600px) {
  .lp-cb-row { grid-template-columns: 1fr; }
  .lp-cb .lp-btn { width: 100%; }
}

/* ── FIRST-VISIT STRIP + NAME ON MICHAL'S PHOTO (2026-10-16) ── */
.lp-strip { display: block; max-width: 1180px; margin: -22px auto 30px; padding: 11px 16px; background: #efe4c4; color: #3a3a3c;
  text-align: center; font-size: 15px; text-decoration: none; border: 1px solid #e2d3a6; }
.lp-strip b { color: #1f1f21; }
.lp-strip:hover { background: #ead9ab; }
.lp-light .lp-photo { position: relative; }
.lp-light .lp-photo figcaption.lp-cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 48px 22px 18px;
  background: linear-gradient(transparent, rgba(16, 14, 10, .72)); color: #fff; font-size: 14px; letter-spacing: 0; }
.lp-light .lp-photo figcaption.lp-cap b { display: block; font-family: 'Playfair Display', Georgia, serif; font-size: 26px; font-weight: 700; line-height: 1.15; }
.lp-light .lp-photo figcaption.lp-cap span { display: block; margin-top: 3px; opacity: .92; }
@media (max-width: 860px) {
  .lp-strip { margin: 0 16px 20px; font-size: 14px; }
  .lp-light .lp-photo figcaption.lp-cap b { font-size: 22px; }
}
