/* $1 Setup (Scroll WRX): page-scoped layout on top of scroll.css (LandingV2 + LandingMobileV2). Prefix: .do- */

/* Mobile surface swaps: LandingMobileV2 re-colours some panels (≤620 only) */
@media (max-width: 620px) {
  .do-m-cream {
    background: var(--cream); color: var(--ink-body); color-scheme: light;
    --c-heading: var(--ink); --c-text: var(--ink-body); --c-strong: var(--ink); --c-soft: var(--ink-body);
    --c-accent: var(--coral-ink); --c-card: var(--white); --c-card-border: rgba(26,26,26,0.08);
    --c-rule: rgba(26,26,26,0.12); --c-icon-bg: rgba(234,165,114,0.2);
  }
  .do-m-cream :focus-visible { outline-color: var(--coral-ink); }
  .do-m-charcoal { background: var(--charcoal); --c-card: var(--charcoal-mid); }
  .do-m-mid {
    background: var(--charcoal-mid); color: var(--slate); color-scheme: dark;
    --c-heading: var(--white); --c-text: var(--slate); --c-strong: var(--cream); --c-soft: var(--soft);
    --c-accent: var(--coral); --c-card: var(--charcoal); --c-card-border: var(--hair);
    --c-rule: var(--hair-2); --c-icon-bg: rgba(234,165,114,0.12);
  }
  .do-m-mid :focus-visible { outline-color: var(--coral); }
}
/* LandingV2 panels pad 112px, so content runs 1200 wide (Home runs 1152) */
main { --container: 1248px; }
.do-nowrap { white-space: nowrap; }

/* ── 1. Hero ── */
.do-hero { display: flex; flex-direction: column; justify-content: center; min-height: 980px; padding-block: 104px 96px; }
.do-hero .adwall__col { margin-top: -170px; }
.do-hero .adwall__col:nth-child(even) { margin-top: -80px; }
.do-hero__content { display: flex; flex-direction: column; align-items: flex-start; }
.do-hero__trust { margin-bottom: 30px; }
.do-hero__title { margin-bottom: 30px; text-wrap: initial; }
.do-hero__lead { max-width: 600px; margin-bottom: 40px; font-size: 19px; color: var(--light-blue); }
.do-hero__ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 20px; }
.do-hero__note { margin-top: 20px; font-size: 13px; line-height: 1.5; color: var(--slate); }
.do-hero__chip { gap: 10px; padding: 8px 16px 8px 10px; }
.do-hero__chip > span { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: var(--coral); }
.do-hero__chip > span svg { width: 9px; height: 9px; fill: var(--ink); }

@media (max-width: 1024px) {
  .do-hero { min-height: 860px; }
}
@media (max-width: 620px) {
  .do-hero, .hero-adwall.do-hero { min-height: 0; padding-block: 20px 28px; justify-content: flex-start; }
  .do-hero .adwall__col, .do-hero .adwall__col:nth-child(even) { margin-top: 0; }
  .do-hero::before { background: linear-gradient(180deg, rgba(17,17,17,0.66) 0%, rgba(17,17,17,0.8) 30%, rgba(17,17,17,0.9) 55%, #111111 72%); }
  .do-hero > .container { padding-top: 84px; }
  .do-hero__content { align-items: stretch; }
  .do-hero__trust { align-self: flex-start; margin-bottom: 20px; }
  .do-hero__title { margin-bottom: 18px; }
  .do-hero__title br { display: none; }
  .do-hero__lead { margin-bottom: 28px; font-size: 16px; color: var(--slate); }
  .do-hero__ctas { display: contents; }
  .do-hero__book { order: 1; width: 100%; }
  .do-hero__note { order: 2; margin-top: 12px; font-size: 12px; color: var(--meta); }
  .do-hero__chip { position: static; order: 4; align-self: flex-start; margin: 28px var(--gutter) 0; padding: 5px 11px 5px 6px; font-size: 11px; }
  .do-hero__chip > span { width: 18px; height: 18px; }
  .do-hero__chip > span svg { width: 8px; height: 8px; }
}

/* mobile logo strip: coral label like the mobile board */
.do-logos .logo-strip__label { color: var(--coral); font-size: 10px; }

/* ── 2. What's included ── */
.do-included__head { display: grid; grid-template-columns: minmax(0, 1fr) 500px; gap: 64px; align-items: center; margin-bottom: 60px; }
.do-included__copy { --flow-gap: 18px; }
.do-included__copy .lead { max-width: 520px; }
.do-included__img { width: 100%; height: 320px; object-fit: cover; border-radius: var(--radius-card); border: 1px solid rgba(242,241,237,0.1); }
.do-included { --grid-gap: 20px; }
@media (max-width: 1024px) {
  .do-included__head { grid-template-columns: minmax(0, 1fr) 380px; gap: 40px; }
  .do-included__img { height: 260px; }
}
@media (max-width: 900px) {
  .do-included__head { grid-template-columns: minmax(0, 1fr); gap: 32px; margin-bottom: 44px; }
  .do-included__img { height: clamp(220px, 44vw, 340px); }
}
@media (max-width: 620px) {
  .do-included__head { margin-bottom: 32px; }
  .do-included__copy { --flow-gap: 10px; }
  .do-included__copy .lead { font-size: 15px; }
  .do-included { --grid-gap: 12px; }
  .do-included .card { padding: 20px 16px; gap: 10px; }
  .do-included .icon-tile { width: 40px; height: 40px; border-radius: 8px; background: rgba(169,87,31,0.1); }
  .do-included h3 { font-size: 17px; line-height: 1.1; }
  .do-included .card > p { font-size: 13px; line-height: 1.6; }
}
@media (max-width: 360px) {
  .do-included.grid--m2 { grid-template-columns: minmax(0, 1fr); }
}

/* ── 3. Setup timeline ── */
.do-timeline__head > p { max-width: 640px; color: var(--soft); }
.do-steps { --grid-gap: 20px; margin: 0; }
.do-step { gap: 12px; padding: 32px 26px; border-color: rgba(149,173,197,0.1); }
.do-step__num { display: none; }
.do-step__body { display: flex; flex-direction: column; gap: 12px; }
.do-step__label { font: 700 11px/1.3 var(--font-body); letter-spacing: 2.5px; text-transform: uppercase; color: var(--coral); }
.do-step--launch { border-color: var(--coral); box-shadow: 0 18px 40px rgba(0,0,0,0.28); }
@media (max-width: 620px) {
  .do-timeline__head > p { font-size: 15px; color: var(--slate); }
  .do-steps { --grid-gap: 10px; }
  .do-step { flex-direction: row; align-items: flex-start; gap: 16px; padding: 20px; }
  .do-step__num { display: block; flex: none; width: 28px; font: 700 28px/1 var(--font-display); color: rgba(234,165,114,0.3); }
  .do-step--launch { border-color: rgba(234,165,114,0.4); box-shadow: none; }
  .do-step--launch .do-step__num { color: var(--coral); }
  .do-step__label { display: none; }
  .do-step__body { gap: 6px; }
  .do-step__body > p { font-size: 14px; line-height: 1.6; }
}

/* the running system (UI cards) */
.do-system { margin-top: 96px; padding-top: 72px; border-top: 1px solid var(--hair); }
.do-flow.ui-flow { grid-template-columns: 312px 72px minmax(0, 1fr) 72px minmax(0, 1fr); row-gap: 22px; }
.do-flow .ui-step-label { gap: 12px; color: var(--cream); }
.do-flow .ui-step-label b { font-size: 26px; line-height: 1; color: var(--coral); }
@media (min-width: 901px) { .do-flow .ui-flow__step:not(:first-child) > .ui-card { align-self: center; } }
.do-flow .ui-flow__arrow { align-self: center; margin-top: 0; }
.do-flow .ui-flow__arrow svg { width: 56px; height: 20px; }
.do-feed__avatar { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 22px; height: 22px; border-radius: 50%; background: var(--ink); overflow: hidden; }
.do-feed__avatar img { width: 16px; height: 16px; object-fit: contain; }
.do-flow .ui-feed__media img { object-position: center 42%; }
.do-flow .ui-feed__cta { background: var(--cream); }
.do-flow .ui-bubble:not(.ui-bubble--out) { max-width: 86%; background: var(--cream); }
.do-flow__time { display: flex; align-items: center; justify-content: flex-end; gap: 6px; padding-top: 2px; font-size: 12px; color: var(--ink-muted); }
.do-flow__time svg { width: 14px; height: 14px; }
.do-cal.ui-cal__event { padding: 0; border: 0; gap: 16px; }
.do-cal .ui-cal__day { height: 72px; border-radius: 12px; }
.do-cal .ui-cal__day b { font-size: 32px; }
.do-cal .ui-cal__what > span:first-child { font-size: 17px; }
.do-flow .ui-card__rule svg { color: var(--coral-ink); }
@media (max-width: 1100px) {
  .do-flow.ui-flow { grid-template-columns: minmax(0, 1fr) 56px minmax(0, 1fr) 56px minmax(0, 1fr); }
  .do-flow .ui-flow__arrow svg { width: 44px; }
}
@media (max-width: 900px) {
  .do-system { margin-top: 64px; padding-top: 48px; }
  .do-flow .ui-flow__arrow svg { width: 40px; }
}
.do-system-m { margin-top: 48px; }
.do-system-m__eyebrow { display: flex; margin-bottom: 20px; }
@media (max-width: 620px) {
  .do-flow .ui-step-label { color: var(--cream); font-size: 11px; }
  .do-flow .ui-step-label b { font-size: 20px; }
  .do-flow .ui-feed__media { aspect-ratio: 16 / 10; }
  .do-flow .ui-card { padding: 16px; gap: 12px; }
}

/* ── 4. 27 created (container yard) ── */
.do-yard__title { margin: 18px 0 24px; }
.do-yard__lead { margin-bottom: 36px; font-size: 17px; line-height: 1.7; color: var(--ink-body); }
.do-yard__stats { margin: 0; border-top: 1px solid rgba(26,26,26,0.12); }
.do-yard__stats > div { display: flex; flex-direction: row-reverse; justify-content: flex-end; align-items: center; gap: 24px; padding: 14px 0; border-bottom: 1px solid rgba(26,26,26,0.12); }
.do-yard__stats dd { flex: none; width: 150px; margin: 0; font: 700 64px/1 var(--font-display); text-transform: uppercase; color: var(--coral-ink); white-space: nowrap; }
.do-yard__stats dt { font-size: 16px; font-weight: 600; line-height: 1.35; color: var(--ink); }
.do-yard__note { display: flex; align-items: center; gap: 12px; margin-top: 28px; font-size: 15px; line-height: 1.6; color: var(--ink-body); }
.do-yard__note::before { content: ''; flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--coral-ink); }
@media (max-width: 1024px) {
  .do-yard .yard__content { max-width: calc(620px + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
  .do-yard .yard__band { margin-top: 40px; margin-bottom: calc(-1 * var(--pad-y)); }
}
@media (max-width: 620px) {
  .do-yard__title { margin: 10px 0 16px; }
  .do-yard__lead { margin-bottom: 28px; font-size: 15px; }
  .do-yard__stats { padding: 4px 20px; background: var(--charcoal); border: 0; border-radius: var(--radius-card); box-shadow: 0 18px 40px rgba(26,26,26,0.14); }
  .do-yard__stats > div { gap: 16px; padding: 20px 0; border-color: rgba(149,173,197,0.14); }
  .do-yard__stats > div:last-child { border-bottom: 0; }
  .do-yard__stats dd { width: 124px; font-size: 52px; line-height: .9; color: var(--coral); }
  .do-yard__stats dt { font-size: 15px; color: var(--white); }
  .do-yard__note { display: block; margin-top: 20px; padding-left: 12px; border-left: 2px solid var(--coral-ink); font-size: 13px; }
  .do-yard__note::before { display: none; }
  .do-yard .yard__band { margin-top: 24px; }
}

/* ── 5. Straight talk ── */
.do-straight { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 80px; align-items: center; }
.do-straight__copy { --flow-gap: 18px; }
.do-straight__copy h2 { margin-bottom: 6px; }
.do-straight__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.do-mini { display: flex; flex-direction: column; gap: 8px; padding: 36px 18px; text-align: center; background: var(--charcoal); border: 1px solid var(--hair); border-top: 2px solid var(--coral); border-radius: var(--radius-card); }
.do-mini__n { font: 700 44px/1 var(--font-display); text-transform: uppercase; color: var(--coral); }
.do-mini__label { font-size: 15px; font-weight: 600; color: var(--white); }
.do-mini__meta { font-size: 13px; line-height: 1.5; color: var(--slate); }
@media (max-width: 900px) {
  .do-straight { grid-template-columns: minmax(0, 1fr); gap: 36px; }
}
@media (max-width: 620px) {
  .do-straight { gap: 28px; }
  .do-straight__copy { --flow-gap: 10px; }
  .do-straight__stats { gap: 12px; }
  .do-mini { gap: 4px; padding: 24px 12px; }
  .do-mini__n { font-size: 52px; line-height: .9; }
  .do-mini__label { margin-top: 8px; font-size: 14px; }
  .do-mini__meta { font-size: 12px; }
}

/* ── Photo bands ── */
.do-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--inset); height: 460px; margin: 0 var(--inset) var(--inset); }
.do-photos__item { position: relative; overflow: hidden; border-radius: var(--radius-panel); background: var(--charcoal); }
.do-photos__item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.do-photos__item::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 45%; background: linear-gradient(180deg, rgba(17,17,17,0) 0%, rgba(17,17,17,0.45) 100%); }
@media (max-width: 1024px) { .do-photos { height: clamp(260px, 36vw, 380px); } }
.do-photo-m { height: 260px; }

/* ── 6. Andromeda ── */
.do-andromeda__head { margin-bottom: 56px; gap: 20px; }
.do-andromeda__head h2 { max-width: 1000px; }
.do-andromeda { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 72px; align-items: center; }
.do-andromeda__copy .lead + .lead { margin-top: 18px; }
.do-andromeda__copy p { font-size: 14px; line-height: 1.7; color: var(--slate); }
.do-andromeda__copy .lead { font-size: inherit; }
.do-andromeda__copy .lead:not(.do-andromeda__take) { color: var(--cream); }
.do-andromeda__copy > p + p { margin-top: 16px; }
.do-andromeda__copy strong { color: var(--cream); font-weight: 600; }
/* our-read-not-Meta's-claim aside, set apart so the attribution is unmistakable */
.do-andromeda__take { padding-left: 16px; border-left: 2px solid rgba(234,165,114,0.4); }
.do-diagram { margin: 0; padding: 40px 32px; background: var(--charcoal-mid); border: 1px solid var(--hair); border-radius: var(--radius-card); }
.do-diagram__nodes { display: flex; align-items: stretch; margin: 0; padding: 0; list-style: none; }
.do-node { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 10px; min-width: 0; padding: 22px 12px; text-align: center; background: rgba(234,165,114,0.08); border: 1px solid rgba(234,165,114,0.25); border-radius: 10px; }
.do-node > svg { width: 30px; height: 30px; fill: none; stroke: var(--coral); stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.do-node__t { font-size: 14px; line-height: 1.2; color: var(--coral); }
.do-node p { font-size: 12px; line-height: 1.55; color: var(--slate); }
.do-node__arrow { flex: none; display: flex; align-items: center; padding: 0 4px; }
.do-node__arrow svg { width: 30px; height: 20px; fill: none; stroke: var(--coral); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.do-diagram__cap { margin-top: 26px; text-align: center; font: 600 11px/1.4 var(--font-body); letter-spacing: 2px; text-transform: uppercase; color: var(--meta); }
@media (max-width: 1100px) {
  .do-andromeda { grid-template-columns: minmax(0, 1fr); gap: 44px; }
  .do-diagram { max-width: 720px; }
}
@media (max-width: 620px) {
  .do-andromeda__head { margin-bottom: 16px; }
  .do-andromeda { gap: 28px; }
  .do-andromeda__copy .lead { font-size: 15px; }
  .do-andromeda__copy .lead + .lead { margin-top: 14px; }
  .do-diagram { padding: 24px 20px; }
  .do-diagram__nodes { flex-direction: column; }
  .do-node { padding: 18px 16px; gap: 8px; }
  .do-node > svg { width: 26px; height: 26px; }
  .do-node__t { font-size: 15px; }
  .do-node__arrow { justify-content: center; padding: 6px 0; }
  .do-node__arrow svg { transform: rotate(90deg); width: 24px; }
  .do-diagram__cap { margin-top: 14px; font-size: 11px; font-weight: 400; letter-spacing: 0; text-transform: none; }
}

/* ── 7. Gallery ── */
.do-gallery__head { margin-bottom: 44px; }
.do-tabs { display: flex; flex-direction: column; align-items: center; text-align: center; }
.do-tabs .tabs__list { gap: 10px; padding: 0; border: 0; border-radius: 0; background: none; justify-content: center; }
.do-tabs .tabs__tab { padding: 9px 22px; border: 1px solid rgba(149,173,197,0.2); border-radius: 4px; letter-spacing: .5px; color: var(--slate); }
.do-tabs .tabs__tab:hover { border-color: rgba(234,165,114,0.5); color: var(--cream); }
.do-tabs .tabs__tab[aria-selected="true"] { background: var(--coral); border-color: var(--coral); color: var(--ink); }
.do-tabs .tabs__panel { margin-top: 22px; }
.do-tabs .tabs__panel p { max-width: 600px; margin: 0 auto; font-size: 16px; line-height: 1.7; color: var(--slate); }
ul.do-gallery { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; width: 100%; max-width: var(--container); margin: 44px auto 0; padding: 0 var(--gutter); list-style: none; }
.do-ad { position: relative; aspect-ratio: 427 / 760; overflow: hidden; border-radius: var(--radius-card); background: var(--charcoal); }
.do-ad img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease-out); }
.do-ad::before { content: ''; position: absolute; inset: 0; z-index: 1; background: rgba(0,0,0,0.18); }
.do-ad__play { position: absolute; left: 50%; top: 50%; z-index: 2; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin: -24px 0 0 -24px; border-radius: 50%; background: rgba(234,165,114,0.88); transition: transform .3s var(--ease-out); }
.do-ad__play svg { width: 18px; height: 18px; fill: var(--ink); }
.do-ad__name { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 36px 14px 14px; background: linear-gradient(to top, rgba(0,0,0,0.78), transparent); font-size: 12px; font-weight: 600; line-height: 1.35; letter-spacing: .3px; color: var(--white); }
.do-ad:hover img { transform: scale(1.04); }
.do-ad:hover .do-ad__play { transform: scale(1.08); }
@media (max-width: 1024px) { .do-gallery { gap: 12px; } .do-ad__name { padding: 28px 10px 10px; font-size: 11px; } }
@media (max-width: 900px) {
  ul.do-gallery { display: flex; gap: 12px; max-width: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
  .do-gallery::-webkit-scrollbar { display: none; }
  .do-ad { flex: none; width: 200px; scroll-snap-align: start; scroll-margin-left: var(--gutter); }
}
@media (max-width: 620px) {
  .do-gallery__head { margin-bottom: 24px; }
  .do-tabs { align-items: stretch; text-align: left; }
  .do-tabs .tabs__list { gap: 6px; }
  .do-tabs .tabs__list:not(.tabs__list--line) .tabs__tab { flex: 1 1 auto; padding: 10px 8px; font-size: 12px; white-space: nowrap; }
  .do-tabs .tabs__panel { margin-top: 16px; }
  .do-tabs .tabs__panel p { font-size: 15px; line-height: 1.6; margin: 0; }
  ul.do-gallery { margin-top: 24px; }
  .do-ad { width: 155px; border-radius: 12px; }
  .do-ad__play { width: 40px; height: 40px; margin: -20px 0 0 -20px; }
  .do-ad__play svg { width: 14px; height: 14px; }
  .do-ad__name { padding: 28px 10px 10px; font-size: 11px; }
}

/* ── 8. Proof ── */
.do-proof.stat-band--3 { border-top: 0; }
.do-proof .stat { padding: 4px 48px; }
.do-proof .stat:first-child { padding-left: 0; }
.do-proof .stat:last-child { padding-right: 0; }
.do-proof .stat + .stat { border-left-color: rgba(149,173,197,0.14); }
.do-proof .stat__n { margin-bottom: 14px; color: var(--coral); }
.do-proof .stat__label { margin-top: 0; color: var(--white); }
.do-proof__quote { margin-top: 14px; font-size: 15px; font-style: italic; line-height: 1.55; color: var(--soft); }
.do-proof__name { font-size: 12px; font-weight: 600; letter-spacing: .5px; color: var(--coral); }
@media (max-width: 1024px) {
  .do-proof .stat, .do-proof .stat:first-child, .do-proof .stat:last-child { padding: 32px 28px; }
}
@media (max-width: 620px) {
  .do-proof__head { margin-bottom: 32px; }
  .do-proof.stat-band--3 { display: flex; flex-direction: column; gap: 14px; background: none; border-radius: 0; overflow: visible; }
  .do-proof .stat, .do-proof .stat:first-child, .do-proof .stat:last-child { gap: 6px; padding: 24px 20px; background: var(--white); border: 1px solid rgba(26,26,26,0.08); border-top: 2px solid var(--coral); border-radius: var(--radius-card); }
  .do-proof .stat__n { margin-bottom: 0; font-size: 56px; line-height: .9; color: var(--coral-ink); }
  .do-proof .stat__label { margin-top: 8px; font-size: 15px; color: var(--ink); }
  .do-proof .stat__meta { font-size: 13px; color: var(--ink-body); }
  .do-proof__quote { margin-top: 4px; font-size: 13px; color: var(--ink-body); }
  .do-proof__name { font-size: 12px; color: var(--coral-ink); }
}

/* ── 9. Pricing ── */
.do-pricing__head { margin-bottom: 64px; }
.do-prices { --grid-gap: 20px; margin-bottom: 20px; }
.do-prices__cta { margin-top: 32px; }
.do-price { gap: 14px; padding: 45px 41px; }
.do-price--featured { padding: 44px 40px; border: 2px solid var(--coral); }
.do-price__badge { position: absolute; top: -14px; left: 40px; padding: 5px 14px; border-radius: 999px; background: var(--coral); font: 700 11px/1.3 var(--font-body); letter-spacing: 2px; text-transform: uppercase; color: var(--ink); }
.do-price__n { margin-top: 8px; font: 700 56px/1 var(--font-display); text-transform: uppercase; color: var(--coral); }
.do-price__n--white { color: var(--white); }
.do-price__n span, .do-reshoot__n span { margin-left: 4px; font-family: var(--font-body); font-weight: 300; text-transform: none; color: var(--slate); }
.do-price__n span { font-size: 22px; }
.do-price__t { font: 600 16px/1.3 var(--font-body); letter-spacing: 0; text-transform: none; color: var(--white); }


.do-reshoot { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "icon title price" "icon text price"; align-items: center; column-gap: 18px; margin-top: 20px; padding: 20px 28px; background: var(--charcoal); border: 1px solid rgba(149,173,197,0.12); border-radius: var(--radius-card); }
.do-reshoot__icon { grid-area: icon; }
.do-reshoot__t { grid-area: title; align-self: end; font: 600 12px/1.3 var(--font-body); letter-spacing: 2px; text-transform: uppercase; color: var(--slate); }
.do-reshoot__text { grid-area: text; align-self: start; margin-top: 4px; font-size: 15px; line-height: 1.55; color: var(--cream); }
.do-reshoot__n { grid-area: price; font: 700 44px/1 var(--font-display); text-transform: uppercase; color: var(--coral); white-space: nowrap; }
.do-reshoot__n span { margin-left: 6px; font-size: 15px; font-weight: 500; }
.do-pricing__fine { margin-top: 22px; font-size: 13px; line-height: 1.65; color: var(--meta); }

@media (max-width: 900px) {
  .do-price, .do-price--featured { padding: 36px 28px; }
  .do-price__badge { left: 28px; }
  .do-price__n { font-size: 46px; }
}
@media (max-width: 620px) {
  .do-pricing__head { margin-bottom: 36px; }
  .do-prices { --grid-gap: 14px; margin-bottom: 14px; }
  .do-price, .do-price--featured { gap: 6px; padding: 28px 22px; }
  .do-price--featured { margin-top: 6px; }
  .do-price__badge { top: -13px; left: 22px; padding: 3px 12px; font-size: 10px; }
  .do-price__n { font-size: 38px; letter-spacing: .5px; }
  .do-price__n span { font-size: 18px; letter-spacing: 0; }
  .do-price__t { margin-top: 2px; font-size: 15px; }
  .do-price > p:last-child { font-size: 14px; line-height: 1.6; }
  .do-reshoot { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "title price" "text text"; margin-top: 14px; padding: 18px; column-gap: 12px; }
  .do-reshoot__icon { display: none; }
  .do-reshoot__t { align-self: center; font-size: 11px; }
  .do-reshoot__text { margin-top: 8px; font-size: 14px; }
  .do-reshoot__n { font-size: 32px; }
  .do-reshoot__n span { display: none; }
  .do-pricing__fine { margin-top: 16px; font-size: 12px; }
}

/* ── 10. Our risk, up front: two check lists (to qualify / once we start) ── */
.do-guarantee__head { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 72px; margin-bottom: 56px; }
.do-guarantee__head > p { max-width: none; justify-self: stretch; }
.do-guarantee { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.do-checks-card { padding: 30px 36px 14px; background: var(--white); border: 1px solid rgba(26,26,26,0.08); border-radius: var(--radius-card); }
.do-checks__title { font: 600 12px/1.3 var(--font-body); letter-spacing: 2px; text-transform: uppercase; color: var(--coral-ink); }
ul.do-checks { display: flex; flex-direction: column; margin: 6px 0 0; padding: 0; list-style: none; }
.do-checks li { position: relative; padding: 22px 0 22px 44px; font-size: 16px; font-weight: 600; line-height: 1.45; color: var(--ink); }
.do-checks li + li { border-top: 1px solid rgba(26,26,26,0.08); }
.do-checks li::before { content: ''; position: absolute; left: 0; top: 19px; width: 28px; height: 28px; border-radius: 50%; background: rgba(234,165,114,0.22); }
.do-checks li::after { content: ''; position: absolute; left: 6px; top: 25px; width: 16px; height: 16px; background: var(--coral-ink);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat; }
@media (max-width: 900px) {
  .do-guarantee__head { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .do-guarantee__head > p { justify-self: start; max-width: 640px; }
  .do-guarantee { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 620px) {
  .do-guarantee__head { margin-bottom: 24px; gap: 14px; }
  .do-guarantee__head > p { font-size: 15px; }
  .do-guarantee { gap: 24px; }
  .do-checks-card { padding: 24px 22px; background: var(--charcoal); border-color: var(--hair); }
  .do-checks__title { color: var(--coral); }
  ul.do-checks { gap: 18px; margin-top: 18px; }
  .do-checks li { padding: 0 0 0 32px; font-size: 15px; line-height: 1.4; color: var(--cream); }
  .do-checks li + li { border-top: 0; }
  .do-checks li::before { display: none; }
  .do-checks li::after { left: 0; top: 1px; width: 20px; height: 20px; background: var(--coral); }
}

/* ── 12. FAQ ── */
.do-faq { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 80px; align-items: start; }
.do-faq__head { --flow-gap: 18px; }
.do-faq__list.faq { max-width: none; margin: 0; border-top: 1px solid var(--c-rule); }
.do-faq__list .faq__btn { padding: 24px 0; }
.do-faq__list .faq__inner { padding-right: 48px; }
@media (min-width: 901px) { .do-faq__head { position: sticky; top: calc(var(--navh) + 40px); } }
@media (max-width: 900px) {
  .do-faq { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 620px) {
  .do-faq { gap: 24px; }
  .do-faq__head { --flow-gap: 10px; }
  .do-faq__list.faq { border-top: 0; }
  .do-faq__list .faq__btn { padding: 18px 0; }
  .do-faq__list .faq__inner { padding-right: 0; }
}

/* ── 13. Final CTA ── */
/* This section stacks at every width (see .split--book): the booking widget needs
   the full container to render its calendar and time slots side by side. The old
   two-column rules are gone rather than overridden, because they were re-declared
   inside the media queries below and a later equal-specificity rule would have
   won there regardless of source order up here. */
.do-cta__grid.split--book { grid-template-columns: minmax(0, 1fr); gap: 48px; }
.do-cta__copy { --flow-gap: 0px; }
.do-cta__copy .eyebrow { margin-bottom: 20px; }
.do-cta__title { margin-bottom: 26px; }
.do-cta__lead { max-width: 520px; margin-bottom: 36px; color: var(--light-blue); }
@media (max-width: 1100px) {
  .do-nowrap { white-space: normal; }
  .do-cta__title br { display: none; }
}
@media (max-width: 900px) {
  .do-cta__book { max-width: 560px; }
}
@media (max-width: 620px) {
  .do-cta__copy .eyebrow { margin-bottom: 10px; }
  .do-cta__title { margin-bottom: 16px; }
  .do-cta__lead { margin-bottom: 28px; color: var(--slate); }
}

/* plan name above each price, and the link to the full plan page */
.do-price__plan { font-weight: 700; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: var(--slate); }
.do-price__link { margin-top: auto; padding-top: 6px; }
.do-reshoot__link { color: var(--coral); white-space: nowrap; }
