/* Regency Leads, booked-call page. Loads after base.css. */

/* Hero: headline and the calendar card side by side */
.hero{padding:56px 0 64px}
.hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(320px,5fr);gap:56px;align-items:start}
.hero h1{margin-bottom:14px}
.hero .lead{margin-bottom:36px}
.bring-title{font-family:var(--serif);font-size:20px;color:var(--forest);margin-bottom:6px}
.bring{list-style:none;border-top:1px solid var(--line);max-width:520px}
.bring li{display:grid;grid-template-columns:22px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--line-soft);font-size:16px;line-height:1.45}
.bring svg{width:22px;height:22px;stroke:var(--forest);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-top:1px}
.bring b{font-weight:600;color:var(--ink)}
.bring span{color:var(--muted);display:block}
.partner-note{margin-top:16px;font-size:15px;color:var(--muted);max-width:520px}

.cal-card{background:var(--paper);border-radius:var(--r-card);box-shadow:var(--shadow);padding:28px 28px 24px;position:relative}
.cal-card::before{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid var(--line-soft);pointer-events:none}
.cal-label{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-text);display:flex;align-items:center;gap:10px;margin-bottom:14px}
.cal-label::after{content:"";flex:1;height:1px;background:var(--line-soft)}
.cal-date{font-family:var(--serif);font-size:30px;line-height:1.15;color:var(--forest);font-weight:500}
.cal-time{font-size:19px;margin-top:6px;color:var(--ink)}
.cal-meta{font-size:14px;color:var(--muted);margin-top:4px}
.cal-buttons{display:grid;gap:10px;margin-top:22px}
.cal-btn{display:flex;align-items:center;gap:12px;padding:0 16px;min-height:48px;border-radius:var(--r-control);background:var(--forest);color:var(--on-dark);font-weight:600;font-size:16px;text-decoration:none;border:0;cursor:pointer;transition:background .15s var(--ease),transform .15s var(--ease)}
.cal-btn:hover{background:var(--forest-hover);transform:translateY(-1px)}
.cal-btn:active{transform:translateY(0) scale(.99)}
.cal-btn .chip{width:28px;height:28px;border-radius:6px;background:var(--paper);display:grid;place-items:center;flex:none}
.cal-btn .chip svg{width:16px;height:16px}
.cal-note{font-size:14px;color:var(--muted);margin-top:16px}
.cal-empty{margin-top:12px;font-size:16px;color:var(--ink);line-height:1.5}
.cal-empty p{margin-top:6px;color:var(--muted);font-size:15px}


/* Program overview, inline. The same blocks as /overview minus pricing, ROI and
   escrow, scaled to the reading size of this page. */
.overview{border-top:1px solid var(--line-soft);padding-top:64px}
.ov-head{padding-bottom:48px}
.ov-head h2{margin-bottom:14px;max-width:24ch}
.ov-head h2 em{display:block;font-style:italic;color:var(--gold-text);font-size:.8em;margin-top:.1em}
.ov-head .lead{margin-bottom:24px}
.slide-num{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.checks{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 32px;max-width:760px}
.checks li{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:600;color:var(--forest)}
.checks li::before{content:"";width:20px;height:20px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23114944' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") center/100% no-repeat}
.ov-nav{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.ov-nav a{display:block;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:15px;color:var(--muted);text-decoration:none;background:var(--paper);transition:color .15s var(--ease),border-color .15s var(--ease)}
.ov-nav a:hover{color:var(--forest);border-color:var(--forest)}

.ov{padding:56px 0;border-top:1px solid var(--line-soft);scroll-margin-top:24px}
.ov h3{font-size:clamp(24px,2.8vw,32px);line-height:1.15;margin-bottom:10px;max-width:26ch}
.ov .lead{margin-bottom:28px;max-width:60ch;font-size:18px}
.ov .note{font-size:16px;color:var(--muted);margin-top:14px}

/* Screening questions */
.screen-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
.screen-col{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:22px 24px 20px}
.screen-label{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-text);margin-bottom:12px}
.qs{list-style:none;counter-reset:q;border-top:1px solid var(--line)}
.qs li{counter-increment:q;display:grid;grid-template-columns:30px 1fr;gap:2px 12px;padding:12px 0;border-bottom:1px solid var(--line-soft)}
.qs li::before{content:counter(q);grid-row:1/3;width:26px;height:26px;border-radius:50%;background:var(--forest);color:var(--on-dark);display:grid;place-items:center;font-size:14px;font-weight:600;margin-top:1px}
.qs b{display:block;font-size:17px;font-weight:600;color:var(--ink);line-height:1.3}
.qs span{display:block;font-size:15px;color:var(--muted);line-height:1.45}
.qs-call b{font-family:var(--serif);font-weight:500;font-size:18px;color:var(--forest)}
.screen-foot{margin-top:12px;font-size:15px;color:var(--muted);line-height:1.45}
.screen-then{list-style:none;margin-top:8px;display:grid;gap:6px}
.screen-then li{display:flex;align-items:baseline;gap:10px;font-size:15.5px;color:var(--ink);font-weight:600;line-height:1.4}
.screen-then li::before{content:"";width:10px;height:5px;flex:none;border-left:1.5px solid var(--forest);border-bottom:1.5px solid var(--forest);transform:rotate(-45deg) translateY(-2px)}

/* Funnel phones */
.phones{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;align-items:start}
.phone{margin:0}
.phone .screen{border-radius:28px;background:#141816;padding:4px;box-shadow:0 20px 34px -20px rgba(17,73,68,.45),0 2px 6px rgba(0,0,0,.12)}
.phone img{width:100%;height:auto;border-radius:25px;display:block}
.phone figcaption{margin-top:12px;font-size:15px;line-height:1.45}
.phone figcaption b{display:block;color:var(--forest);font-weight:600;margin-bottom:2px}
.phone figcaption span{color:var(--muted)}

/* Education */
.edu-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:40px;align-items:start}
.browser{margin:0;border-radius:10px;overflow:hidden;background:#141816;box-shadow:0 24px 44px -26px rgba(17,73,68,.5)}
.browser-bar{display:flex;align-items:center;gap:6px;padding:9px 12px;background:#22272a}
.browser-bar i{width:9px;height:9px;border-radius:50%;background:#4a5257}
.browser-bar span{margin-left:10px;font-size:13px;color:#9aa5a1;background:#2d3336;border-radius:6px;padding:3px 10px;flex:1;text-align:center}
.browser img{width:100%;height:auto;display:block}
.mail-flow{list-style:none;border-left:2px solid var(--line);margin-left:6px}
.mail-flow li{position:relative;padding:0 0 20px 22px}
.mail-flow li::before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--gold);border:2px solid var(--cream)}
.mail-flow li:last-child{padding-bottom:0}
.mail-flow small{display:block;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.mail-flow b{display:block;font-size:18px;font-weight:600;color:var(--ink);margin-bottom:3px}
.mail-flow span{font-size:16px;color:var(--muted);line-height:1.45;display:block}

/* Your calendar */
.cal-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,5fr);gap:40px;align-items:start}
.week{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:16px 16px 20px}
.week-head{display:grid;grid-template-columns:48px repeat(5,1fr);gap:6px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding-bottom:10px;border-bottom:1px solid var(--line-soft)}
.week-head span{text-align:center}
.week-body{display:grid;grid-template-columns:48px repeat(5,1fr);gap:6px;height:312px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 51px,var(--line-soft) 51px,var(--line-soft) 52px)}
.hours{display:grid;grid-template-rows:repeat(6,52px);font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.hours span{padding-top:4px}
.day{position:relative;border-left:1px solid var(--line-soft)}
.appt{position:absolute;left:4px;right:4px;top:calc((var(--r) - 1) * 52px + 3px);height:46px;border-radius:8px;padding:7px 9px;font-size:12.5px;line-height:1.3;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.appt b{display:block;font-weight:600}
.appt span{display:block;opacity:.85}
.appt.held{background:var(--forest);color:var(--on-dark)}
.appt.replaced{background:transparent;border:1.5px dashed var(--gold-text);color:var(--gold-text)}
.split{border-top:1px solid var(--line);padding-top:20px}
.split-label{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.split-label.you{color:var(--gold-text);margin-top:24px}
.ours-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}
.ours-list li{display:flex;align-items:center;gap:10px;font-size:16px;color:var(--ink)}
.ours-list li::before{content:"";width:10px;height:5px;border-left:1.5px solid var(--forest);border-bottom:1.5px solid var(--forest);transform:rotate(-45deg) translateY(-2px);flex:none}
.yours{border-left:2px solid var(--gold);padding:2px 0 2px 16px}
.yours b{display:block;font-family:var(--serif);font-weight:500;font-size:22px;color:var(--forest);margin-bottom:6px}
.yours span{display:block;font-size:16px;color:var(--muted);line-height:1.5}

/* Feedback loop */
.loop-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(320px,6fr);gap:40px;align-items:center}
.loop-grid .lead{margin-bottom:0}
.ring{position:relative;width:min(100%,520px);aspect-ratio:1;margin-left:auto}
.ring svg{position:absolute;inset:80px;width:calc(100% - 160px);height:calc(100% - 160px);display:block}
.node{position:absolute;width:170px;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:10px 12px;text-align:center}
.node b{display:block;font-size:16px;font-weight:600;color:var(--forest)}
.node span{display:block;font-size:14px;color:var(--muted);margin-top:2px}
.n1{left:50%;top:80px;transform:translate(-50%,-50%)}.n2{right:0;top:50%;transform:translateY(-50%)}.n3{left:50%;bottom:80px;transform:translate(-50%,50%)}.n4{left:0;top:50%;transform:translateY(-50%)}
.ring-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:130px;text-align:center;font-size:14px;color:var(--muted);line-height:1.4}

/* Guarantee, the dark band */
.ov.guarantee{background:var(--forest-deep);color:var(--on-dark);border-top:0}
.ov.guarantee h3{color:var(--on-dark);margin-bottom:24px}
.ov.guarantee .slide-num{color:var(--gold)}
.quads{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--on-dark-line);border:1px solid var(--on-dark-line);border-radius:6px;overflow:hidden}
.quads>div{background:var(--forest-deep);padding:26px 28px}
.quads small{display:block;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.quads b{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(34px,4vw,46px);line-height:1;color:var(--on-dark);margin-bottom:8px}
.quads b sup{font-size:.45em;vertical-align:top;margin-left:2px}
.quads strong{display:block;font-size:18px;font-weight:600;color:var(--on-dark);margin-bottom:6px}
.quads p{font-size:16px;color:var(--on-dark-muted);line-height:1.5;max-width:none}

/* Real cost */
.compare-wrap{overflow-x:auto;margin-top:8px}
.compare{width:100%;min-width:720px;border-collapse:collapse;table-layout:fixed;font-size:16px;line-height:1.35}
.compare col.lbl{width:15%}.compare col.us{width:22%}
.compare th,.compare td{padding:18px 14px 18px 0;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line-soft)}
.compare th{font-family:var(--serif);font-weight:500;font-size:18px;color:var(--ink);padding-top:0;padding-bottom:14px;border-bottom:1px solid var(--line)}
.compare td:first-child{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.compare td{color:var(--muted)}
.compare tr:last-child td{border-bottom:0}
.compare td.us{color:var(--forest);font-weight:600;padding-left:18px;border-left:1px solid var(--line)}
.compare td.us::before{content:"";display:inline-block;width:11px;height:6px;border-left:2px solid var(--forest);border-bottom:2px solid var(--forest);transform:rotate(-45deg) translateY(-3px);margin-right:10px}
.compare th.us{color:var(--forest);padding-left:18px;border-left:1px solid var(--line)}


/* Timeline */
.timeline{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:2px solid var(--line);margin-top:24px}
.timeline li{padding:22px 20px 0 0;position:relative}
.timeline li::before{content:"";position:absolute;top:-2px;left:0;width:40px;height:2px;background:var(--gold)}
.timeline small{display:block;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-text);margin-bottom:6px}
.timeline b{display:block;font-family:var(--serif);font-weight:500;font-size:20px;color:var(--forest);margin-bottom:6px;line-height:1.2;text-wrap:balance}
.timeline span{font-size:16px;color:var(--muted);line-height:1.5;display:block;max-width:26ch}
.timeline.steps{grid-template-columns:repeat(4,1fr);margin-top:28px}
#disputes .compare-wrap{margin-top:40px}
#disputes .note{margin-top:20px;color:var(--muted);font-size:15px}
.compare.disputes{min-width:0;font-size:16px}
.compare.disputes col.what{width:60%}.compare.disputes col.us{width:40%}
.compare.disputes td:first-child{font-size:16px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink)}
.compare.disputes td.us{font-weight:600}

@media (max-width:980px){
  .edu-grid,.cal-grid,.loop-grid,.screen-grid{grid-template-columns:1fr;gap:28px}
  .phones{grid-template-columns:repeat(3,1fr)}
  .ring{margin:0 auto}
  .ring svg{inset:65px;width:calc(100% - 130px);height:calc(100% - 130px)}
  .n1{top:65px}.n3{bottom:65px}
  .node{width:140px}
  .quads{grid-template-columns:1fr}
  .timeline,.timeline.steps{grid-template-columns:1fr;border-top:0;border-left:2px solid var(--line);padding-left:18px}
  .timeline li{padding:0 0 22px}
  .timeline li::before{top:6px;left:-20px;width:2px;height:18px}
}
@media (max-width:640px){
  .overview{padding-top:48px}
  .ov{padding:44px 0}
  .checks{grid-template-columns:1fr;gap:10px}
  .screen-col{padding:18px 16px}
  .checks li{font-size:16px}
  .phones{grid-template-columns:1fr 1fr;gap:14px}
  .quads>div{padding:20px 18px}
  .week{overflow-x:auto}
  .week-head,.week-body{min-width:520px}
  .ring{width:min(100%,340px)}
  .ring svg{inset:56px;width:calc(100% - 112px);height:calc(100% - 112px)}
  .n1{top:56px}.n3{bottom:56px}
  .node{width:118px;padding:8px 8px}
  .node b{font-size:13.5px}.node span{font-size:12px}
  .ring-center{width:100px;font-size:12px}
}

/* Entrance: one authored moment on the hero, from a visible resting state */
@media (prefers-reduced-motion:no-preference){
  .hero-grid>*{animation:rise .7s var(--ease) both}
  .hero-grid>:nth-child(2){animation-delay:.12s}
  @keyframes rise{from{opacity:.001;transform:translateY(14px)}to{opacity:1;transform:none}}
}

/* Responsive */
@media (max-width:980px){
.hero-grid{grid-template-columns:1fr;gap:40px}
  .cal-card{max-width:560px}
}
@media (max-width:640px){
  .hero{padding:36px 0 48px}
  .hero .lead{font-size:17px;margin-bottom:28px}
  .cal-card{padding:22px 20px 20px}
  .cal-date{font-size:26px}
}

/* Preparation links and stable email destinations. */
.prep-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.prep-nav a{display:inline-flex;align-items:center;min-height:44px;padding:9px 14px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--forest);font-size:15px;font-weight:600;text-decoration:none}
.prep-nav a:hover{border-color:var(--forest)}
.prep-nav a:focus-visible,.welcome-intro a:focus-visible{outline:2px solid var(--forest);outline-offset:4px}
.welcome-intro{padding:20px 0;margin-bottom:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.welcome-intro h2{font-size:26px;margin-bottom:8px}
.welcome-intro p{font-size:17px;line-height:1.55}
.welcome-intro iframe,.welcome-intro video{width:100%;aspect-ratio:16/9;border:0;border-radius:8px;margin-top:16px}
#overview,#questions,#prepare,#welcome-video,details.faq{scroll-margin-top:24px}
details.faq:target{border-color:var(--forest)}
@media(max-width:640px){.prep-nav{display:grid;grid-template-columns:1fr 1fr}.prep-nav a{justify-content:center}.hero .lead{margin-bottom:20px}}
