/* ============================================================
   /watch and /talk/booked — single-purpose pages.
   Loaded only by those two pages. Every rule is scoped to .funnel,
   so style.css pages (/, /p, /show, the content pages) cannot change.
   World: DESIGN.md — paper, navy ink, gold hairlines, Fraunces over Figtree.
   ============================================================ */

.funnel .fwrap{max-width:1040px;margin:0 auto;padding:0 26px}

/* masthead: the mark and one gold rule under it, nothing else */
.funnel .fhead{padding:24px 0 0}
.funnel .fhead .logo{display:inline-flex;flex-direction:column;align-items:flex-start;text-decoration:none}
.funnel .fhead .logo img{height:44px;width:auto;display:block}
.funnel .fhead .logo::after{content:"";display:block;width:44px;height:1px;background:var(--gold);margin-top:12px;transform-origin:left center}

/* first screen */
.funnel .fhero{padding:clamp(24px,2.6vw,32px) 0 clamp(40px,5vw,64px);border-top:0}
.funnel .fhero h1{font-size:clamp(38px,5.2vw,60px);font-weight:600;line-height:1.04;letter-spacing:-.024em;max-width:15ch;color:var(--ink)}
.funnel .fhero .sub{margin:16px 0 0;font-size:clamp(19px,1.6vw,22px);line-height:1.5;color:var(--ink-2);max-width:60rem}

/* after the guide form: one plain line under the subhead, not a box (audit round 1, A3) */
.funnel .fdone{margin:12px 0 0;padding:0;background:none;border:0;font-size:17px;line-height:1.5;color:var(--ink);max-width:60rem}
.funnel .fdone[hidden],.funnel .flink[hidden],.funnel .fdone span[hidden]{display:none}
.funnel .fdone svg{width:18px;height:18px;margin:0 6px 0 0;vertical-align:-3px;color:var(--navy)}
.funnel .fdone a{color:var(--navy);font-weight:700;text-decoration:underline;text-underline-offset:4px}

/* the screen: a square-cornered still, like the photographs elsewhere */
.funnel .fvideo{position:relative;max-width:800px;margin:clamp(24px,2.4vw,28px) 0 0;aspect-ratio:16/9;background:#1A1D24;overflow:hidden}
.funnel .fvideo video{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;background:#1A1D24}
.funnel .fsoon{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;
  padding:clamp(20px,3.6vw,46px);color:#FFF;pointer-events:none;
  background:linear-gradient(180deg,rgba(26,29,36,0) 28%,rgba(26,29,36,.55) 62%,rgba(26,29,36,.86) 100%)}
.funnel .fsoon::before{content:"";width:44px;height:1px;background:#D8B87E;margin-bottom:16px}
.funnel .fsoon strong{font-family:var(--font-display);font-weight:500;font-size:clamp(26px,3.6vw,46px);line-height:1.06;letter-spacing:-.02em}
.funnel .fsoon span{margin-top:10px;font-size:clamp(17px,1.4vw,19px);line-height:1.45;color:#F3F1EC;max-width:42ch}
.funnel .fvideo.is-ready .fsoon{display:none}
/* desktop: the screen fills the column, but never pushes the first button below the fold */
@media (min-width:861px){
  .funnel .fvideo{max-width:none;width:min(100%,max(480px,calc((100svh - 420px) * 16 / 9)))}
  /* the thank-you line (and the call line) take height too: the screen gives it back */
  .funnel .fhero.has-done .fvideo{width:min(100%,max(420px,calc((100svh - 470px) * 16 / 9)))}
  .funnel .fhero.has-call .fvideo{width:min(100%,max(400px,calc((100svh - 500px) * 16 / 9)))}
}

/* actions */
.funnel .fcta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 30px;margin:24px 0 0}
.funnel .fcta .btn{min-height:56px;font-size:17.5px;padding:15px 30px}
.funnel .flink{display:inline-flex;align-items:center;min-height:44px;color:var(--gold-ink);font-weight:700;font-size:17.5px;
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.funnel .flink:hover{color:var(--ink)}
.funnel .fmicro{margin:12px 0 0;font-size:17px;color:var(--ink-2)}

/* sections */
.funnel section.fsec{padding:clamp(60px,7vw,96px) 0}
.funnel h2.fh{font-size:clamp(29px,3.6vw,42px);font-weight:600;max-width:20ch;color:var(--ink)}
.funnel h2.fh::before{content:"";display:block;width:44px;height:1px;background:var(--gold);margin:0 0 20px}
.funnel h2.fh:focus{outline:none}
.funnel h2.fh:focus-visible{outline:2px solid var(--navy);outline-offset:6px}
.funnel .flead{margin:14px 0 0;font-size:18.5px;line-height:1.55;color:var(--ink-2);max-width:56ch}
.funnel .ftap{margin:10px 0 0;font-size:18.5px;font-weight:700;color:var(--ink)}

/* on the call: a ruled list, the way a printed program sets it */
.funnel .fcall{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:64px;align-items:start}
.funnel .fsteps{list-style:none;margin:30px 0 0;padding:0;border-bottom:1px solid var(--rule)}
.funnel .fsteps li{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:6px 36px;padding:22px 0;border-top:1px solid var(--rule)}
.funnel .fsteps b{font-family:var(--font-display);font-weight:600;font-size:clamp(20px,2vw,23px);line-height:1.22;letter-spacing:-.015em;color:var(--navy)}
.funnel .fsteps span{font-size:17.5px;line-height:1.55;color:var(--ink-2)}
.funnel .fbenny{margin:4px 0 0}
.funnel .fbenny img{display:block;width:176px;height:176px;border-radius:0;object-fit:cover}
.funnel .fbenny figcaption{margin-top:18px;font-size:17px;line-height:1.5;color:var(--ink-2)}
.funnel .fbenny figcaption b{display:block;font-family:var(--font-display);font-size:23px;font-weight:600;letter-spacing:-.015em;color:var(--ink)}
.funnel .fbenny figcaption a{color:var(--navy);font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* the calendar sits on the tinted band */
.funnel section.fbook{background:var(--surface-2);border-top-color:transparent}

/* questions: four pairs, ruled, no boxes */
.funnel .ffaq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px;margin:30px 0 0}
.funnel .ffaq > div{padding:22px 0 24px;border-top:1px solid var(--rule)}
.funnel .ffaq dt{text-wrap:balance;font-family:var(--font-display);font-size:clamp(21px,2.1vw,25px);font-weight:600;line-height:1.2;letter-spacing:-.015em;color:var(--ink)}
.funnel .ffaq dd{margin:8px 0 0;font-size:17.5px;line-height:1.55;color:var(--ink-2);max-width:40ch}

/* close */
.funnel section.fclose{padding-top:0;border-top:0}
.funnel .fclose-in{border-top:1px solid var(--rule);padding-top:clamp(48px,6vw,72px)}
.funnel .fline{margin:0;font-family:var(--font-display);font-size:clamp(27px,3.3vw,40px);font-weight:500;line-height:1.14;letter-spacing:-.02em;max-width:21ch;color:var(--ink);text-wrap:balance}

/* booked: what happens next, in order */
.funnel .fnext{list-style:none;counter-reset:step;margin:30px 0 0;padding:0;border-bottom:1px solid var(--rule)}
.funnel .fnext li{counter-increment:step;display:grid;grid-template-columns:52px minmax(0,1fr);gap:4px 22px;padding:22px 0;border-top:1px solid var(--rule)}
.funnel .fnext li::before{content:counter(step);grid-row:1 / span 2;font-family:var(--font-display);font-size:40px;font-weight:500;line-height:1;color:var(--navy)}
.funnel .fnext b{font-family:var(--font-display);font-size:clamp(21px,2.1vw,25px);font-weight:600;line-height:1.2;letter-spacing:-.015em;color:var(--ink)}
.funnel .fnext span{font-size:17.5px;line-height:1.55;color:var(--ink-2)}

/* booked: three optional questions */
.funnel .fprep{display:grid;gap:20px;max-width:40rem;margin:28px 0 0}
.funnel .fprep label{display:grid;gap:8px;font-size:17px;font-weight:600;color:var(--ink)}
.funnel .fprep input,.funnel .fprep textarea{width:100%;font:inherit;font-size:17.5px;font-weight:400;color:var(--ink);background:var(--surface);
  border:1px solid var(--field,#8C8577);border-radius:10px;padding:13px 16px;min-height:52px}
.funnel .fprep textarea{min-height:128px;line-height:1.5;resize:vertical}
.funnel .fprep input::placeholder,.funnel .fprep textarea::placeholder{color:var(--ink-3)}
.funnel .fprep input:focus-visible,.funnel .fprep textarea:focus-visible{outline:2px solid var(--navy);outline-offset:3px;border-color:var(--navy)}
.funnel .fprep .btn{justify-self:start;font-size:17.5px}
.funnel .fnote{margin:16px 0 0;font-size:17px;line-height:1.55;color:var(--ink-2);max-width:56ch}
.funnel .fnote a{display:inline-flex;align-items:center;min-height:44px;color:var(--navy);font-weight:700;text-decoration:underline;text-underline-offset:4px}

/* the broker footer sits on the same column as the page */
.funnel footer .wrap{max-width:1040px;padding:0 26px}

/* phones */
@media (max-width:860px){
  .funnel .fwrap,.funnel footer .wrap{padding:0 20px}
  .funnel section.fsec{padding:56px 0}
  .funnel .fcall{grid-template-columns:1fr;gap:0}
  .funnel .fcall > div{display:contents}
  .funnel .fcall .fsteps{order:1}
  .funnel .fbenny{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;align-items:center;order:2;margin:28px 0 0}
  .funnel .fcall .fcta{order:3}
  .funnel .fbenny img{width:96px;height:96px}
  .funnel .fbenny figcaption{margin:0}
  .funnel .fsteps li{grid-template-columns:1fr}
  .funnel .ffaq{grid-template-columns:1fr}
  .funnel .fcta{gap:10px 24px}
  .funnel .fcta .btn{width:100%}
  .funnel .fprep .btn{justify-self:stretch}
}
@media (max-width:600px){
  .funnel .fvideo{margin-left:-20px;margin-right:-20px}
  /* phones: a smaller mark (the site nav's size), and after the guide form the
     hero tightens so the first book button stays on a 375x667 screen */
  .funnel .fhead{padding-top:16px}
  .funnel .fhead .logo img{height:36px}
  .funnel .fhead .logo::after{margin-top:10px}
  .funnel .fhero.has-done{padding-top:16px}
  .funnel .fhero.has-done h1{font-size:32px}
  .funnel .fhero.has-done .sub{margin-top:10px;font-size:17px}
  .funnel .fhero.has-done .fvideo{margin-top:14px}
  .funnel .fhero.has-done .fcta{margin-top:14px}
  .funnel .fhero.has-call .sub{display:none}
}

/* one entrance: the rule under the mark draws, the headline and screen rise */
@media (prefers-reduced-motion:no-preference){
  .funnel .fhead .logo::after{animation:fdraw .9s cubic-bezier(.16,1,.3,1) .2s both}
  .funnel .fhero h1{animation:frise .7s cubic-bezier(.16,1,.3,1) both}
  .funnel .fvideo,.funnel .fnext{animation:frise .8s cubic-bezier(.16,1,.3,1) .1s both}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@keyframes fdraw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes frise{from{opacity:.001;transform:translateY(10px)}to{opacity:1;transform:none}}

/* /talk on this template (audit round 1, A4): a longer H1 and a paragraph lead */
.funnel .ftalk h1{max-width:22ch}
.funnel .ftalk .sub{max-width:62ch}
.funnel .fhero .fnote{margin-top:10px}
