/* =====================================================================
   Free 15-minute discovery call (landing + thank-you). Page-only pieces;
   everything else is site.css + services.css (the heads-up .note and the
   arrow motif live in site.css "Round 4").
   ===================================================================== */

/* hero: copy, an ink tile carrying the arrow, the deal card */
.disc-hero .svc-hero__copy .note { margin-top: 30px; }
.disc-hero__tile { grid-column: 1 / -1; min-height: 240px; display: flex; flex-direction: column; gap: 6px; padding: 22px 22px 26px; }
.disc-hero__num { display: flex; align-items: flex-end; gap: 12px; margin-top: 6px; }
.disc-hero__num .num { font-size: clamp(96px, 5vw + 60px, 150px); line-height: 0.82; letter-spacing: -0.06em; }
.disc-hero__unit { padding-bottom: 6px; font-size: 16px; font-weight: 700; line-height: 1.2; color: #fff; }
.disc-hero__line { position: relative; z-index: 1; margin-top: auto; max-width: 24ch; font-size: 16px; font-weight: 600; line-height: 1.4; color: var(--n300); }
.disc-hero__arrow { display: none; right: 6%; top: 42%; width: min(50%, 270px); }
@media (min-width: 1024px) { .disc-hero__arrow { display: block; } }   /* phones and tablets: the tile is too narrow to keep the arrow clear of the text */
.disc-hero__plus { right: 9%; top: 12%; width: 22px; }
.disc-hero__deal .svc-price .num { font-size: clamp(38px, 1.4vw + 28px, 50px); }
@media (min-width: 768px) {
  .disc-hero__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .disc-hero__tile { grid-column: 1 / 4; min-height: 300px; }
  .disc-hero__deal { grid-column: 4 / 7; }
}
@media (min-width: 1024px) {
  .disc-hero__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; }
  .disc-hero .svc-hero__copy { grid-column: 1 / 8; grid-row: 1 / 3; padding-top: 24px; }
  .disc-hero__tile { grid-column: 8 / 13; grid-row: 1; min-height: 330px; }
  .disc-hero__deal { grid-column: 8 / 13; grid-row: 2; }
}

/* what happens: three five-minute blocks */
@media (min-width: 768px) {
  .how2--3 .how2__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .how2--3 .how2__step:last-child { grid-column: auto; }
}
@media (min-width: 1200px) {
  .how2--3 .how2__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .how2--3 .how2__step:not(:last-child)::after { top: 76px; }
}

/* the calendar: a pressable-looking frame around the Calendly widget */
.disc-book__note { margin-top: 36px; max-width: 720px; }
.disc-cal {
  position: relative; margin-top: 28px; padding: 6px; min-height: 400px;
  background: #fff; border: 2px solid var(--ink); border-radius: var(--r-tile); box-shadow: 6px 6px 0 var(--ink);
}
.disc-cal::before {           /* quiet loading state until Calendly paints its iframe over it */
  content: "Loading the calendar…"; position: absolute; left: 50%; top: 120px; transform: translateX(-50%);
  font-size: 14px; font-weight: 700; color: var(--n600);
}
.disc-cal.is-failed::before { content: "The calendar did not load. Use the link below."; }
.calendly-inline-widget { position: relative; z-index: 1; border-radius: calc(var(--r-tile) - 6px); overflow: hidden; }
@media (max-width: 767px) {
  .disc-cal { padding: 0; box-shadow: 4px 4px 0 var(--ink); }
  .calendly-inline-widget { height: 1000px !important; }   /* the inline style says 700px; phones need the room */
}
.disc-cal__noscript { position: relative; z-index: 2; padding: 32px 20px; text-align: center; }
.disc-cal__fallback { margin-top: 18px; font-size: 15px; font-weight: 600; color: var(--n600); }
.disc-cal__fallback .link { color: var(--ink); }

/* two testimonials side by side from tablet up */
@media (min-width: 768px) {
  .disc-quotes .quotes__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
}

.disc-faq { margin-top: 40px; max-width: 820px; }
.disc-faq__wa { margin-top: 20px; }

/* thank-you */
.disc-ty .note { margin-top: 26px; }
.disc-ty__side { display: grid; gap: var(--gap); align-self: center; }
.disc-ty__side .prep { padding: 24px 22px; }
@media (min-width: 768px) {
  .disc-ty .ty-hero__grid { align-items: center; }
  .disc-ty .ty-hero__copy { padding-bottom: 48px; }
  .disc-ty__side { padding-bottom: 48px; }
}
.disc-next { display: grid; gap: var(--gap); }
@media (min-width: 1024px) { .disc-next { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: stretch; } }

/* Round 7: who takes the free call, impossible to miss */
.disc-who strong { display: block; margin-bottom: 4px; font-size: 1.12em; font-weight: 800; line-height: 1.3; }
.disc-hero .disc-who strong { font-size: 1.2em; }

/* Round 7: the discovery call is step 1 of managed ads: a back link above the H1, and what the call is for above the calendar */
.disc-back { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 14px; font-size: 15px; font-weight: 700; }
.disc-back .i { width: 18px; height: 18px; }
.disc-for { margin-top: 12px; }
