/* Caliche — the home page sections (after the hero, which lives in main.css). */

/* ---------------------------------------------------------------- why */
.why__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(40px,7vw,120px);align-items:start}
.why__head{position:sticky;top:calc(var(--header-h) + 40px);display:grid;gap:22px}
.why__list>li{display:grid;grid-template-columns:clamp(84px,8vw,120px) minmax(0,1fr);gap:clamp(16px,2vw,28px);align-items:baseline}
.why__k{font-size:14.5px;font-weight:650;font-variant-caps:all-small-caps;letter-spacing:.12em;color:var(--clay-ink)}
@media (max-width:900px){.why__grid{grid-template-columns:minmax(0,1fr)}.why__head{position:static}}
@media (max-width:520px){.why__list>li{grid-template-columns:minmax(0,1fr);gap:6px}}

/* ---------------------------------------------------------------- how it works: three steps on one drawn line */
.how .section-head{max-width:60rem}
.steps{--p:1;position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3.4vw,56px)}
.steps::before,.steps::after{content:"";position:absolute;left:28px;right:calc(33.33% - 28px - clamp(28px,3.4vw,56px) * 2 / 3);top:28px;height:1px;background:var(--line-2)}
.steps::after{background:var(--clay);height:2px;top:27.5px;transform-origin:left center;transform:scaleX(var(--p))}
.step{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-content:start}
@media (min-width:901px){.steps{row-gap:14px}.step{grid-row:span 4;grid-template-rows:subgrid}}
.step .n{position:relative;z-index:1;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;border:1px solid var(--line-2);background:var(--bone);
  font-size:26px;font-style:italic;font-weight:440;color:var(--stone);font-variant-numeric:lining-nums;transition:color .5s ease,border-color .5s ease,background-color .5s ease}
.steps:not(.is-scrub) .n,.steps[data-at="1"] .step:nth-child(1) .n,.steps[data-at="2"] .step:nth-child(-n+2) .n,.steps[data-at="3"] .step .n{color:var(--clay-ink);border-color:var(--clay);background:var(--paper)}
.step h3{font-size:clamp(24px,1vw + 18px,32px);font-weight:520;letter-spacing:-.014em;line-height:1.15;margin-top:12px}
.step p{margin:0;color:var(--ink-2);max-width:30em}
@media (max-width:900px){
  .steps{grid-template-columns:minmax(0,1fr);gap:40px;padding-left:76px}
  .steps::before,.steps::after{left:27.5px;right:auto;top:28px;bottom:var(--line-end,28px);width:1px;height:auto}
  .steps::after{width:2px;left:27px;transform-origin:center top;transform:scaleY(var(--p))}
  .step .n{position:absolute;left:-76px;top:0}
  .step h3{margin-top:10px}
}

/* the small evidence card under each step */
.snip{align-self:start;margin:10px 0 0;border:1px solid var(--line-2);background:var(--paper);font-size:15.5px;font-variant-numeric:tabular-nums lining-nums;max-width:420px}
.snip figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:13.5px;font-weight:650;font-variant-caps:all-small-caps;letter-spacing:.11em;color:var(--stone)}
.snip figcaption span{color:var(--clay-ink)}
.snip dl{margin:0;padding:4px 14px 6px}
.snip dl>div{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px dashed var(--line)}
.snip dl>div:last-child{border-bottom:0}
.snip dt{color:var(--stone)}
.snip dd{margin:0;font-weight:540;text-align:right}
.snip .miss dd{color:var(--clay-ink);font-style:italic;font-weight:500}
.snip .ok dd{color:var(--verified)}
.snip .ok dd svg{display:inline-block;width:15px;height:15px;vertical-align:-2px;margin-right:4px}
.sms{padding:16px 14px 18px;background:linear-gradient(var(--paper),var(--bone))}
.sms__from{display:block;text-align:center;font-size:12.5px;color:var(--stone);margin-bottom:10px;letter-spacing:.02em}
.sms__b{position:relative;margin:0;max-width:92%;padding:11px 14px;border-radius:18px 18px 18px 5px;background:#E6DFD1;color:var(--ink);font-size:15.5px;line-height:1.42;overflow-wrap:anywhere}
.sms__b a{color:var(--clay-ink)}

/* ---------------------------------------------------------------- sample lead (night band) */
.sample{overflow:hidden}
.sample__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px clamp(40px,6vw,110px);align-items:end;margin-bottom:clamp(44px,5vw,80px)}
.sample__head h2{margin-top:18px}
.sample__intro{display:grid;gap:16px;justify-items:start}
.sample__intro .lede{max-width:26em;margin:0}
.sample__note{font-size:15.5px;color:rgba(244,241,234,.6);max-width:30em;margin:0}
.sample__card{position:relative;max-width:640px;margin:0 auto}
.anno{position:absolute;z-index:2;margin:0;display:flex;gap:6px;color:var(--caliche);pointer-events:none}
.anno .hand{font-size:clamp(28px,1vw + 18px,36px);white-space:nowrap}
.anno svg{width:76px;height:44px;flex:none;overflow:visible}
.anno svg path{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.anno--a{right:calc(100% + 18px);top:27%;flex-direction:column;align-items:flex-end;transform:rotate(-4deg)}
.anno--b{left:calc(100% + 18px);top:63%;flex-direction:column;align-items:flex-start;transform:rotate(3deg)}
.anno--c{right:calc(100% + 14px);bottom:22px;align-items:flex-end;transform:rotate(-3deg)}
.anno--c svg{order:2;margin-bottom:6px}
@media (max-width:1239.98px){
  .sample__card{display:grid;gap:6px}
  .anno{position:static;transform:none;justify-content:center;align-items:center!important;flex-direction:row!important}
  .anno svg{display:none}
  .anno--a{order:-1}
  .anno .hand{font-size:30px}
}
@media (max-width:900px){.sample__head{grid-template-columns:minmax(0,1fr);align-items:start}}
/* ---------------------------------------------------------------- who it's for */
.who__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(40px,6vw,110px);align-items:start}
.who__head{position:sticky;top:calc(var(--header-h) + 40px);display:grid;gap:20px}
.who__groups{display:grid;gap:clamp(40px,5vw,64px)}
.who__group h3{font-size:15px;font-weight:650;font-variant-caps:all-small-caps;letter-spacing:.12em;color:var(--clay-ink);padding-bottom:14px;border-bottom:1px solid var(--line-2);margin-bottom:18px}
.trades{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.18em 0;font-size:clamp(23px,1.25vw + 15px,34px);line-height:1.28;letter-spacing:-.012em;font-weight:420}
.trades li{display:inline}
.trades li:not(:last-child)::after{content:"·";color:var(--clay);margin:0 .38em;font-weight:600}
.trades li:nth-child(even){font-style:italic}
.notfor{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:start;padding:22px 24px;border:1px solid var(--line-2);background:var(--bone);max-width:44em}
.notfor strong{font-weight:620}
.notfor p{margin:0;color:var(--ink-2)}
.notfor .x{width:22px;height:22px;color:var(--clay-ink);margin-top:3px}
@media (max-width:900px){.who__grid{grid-template-columns:minmax(0,1fr)}.who__head{position:static}}

/* ---------------------------------------------------------------- pricing summary */
.pricing-home .section-head{max-width:62rem}
.pricing-home__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 28px;margin-top:30px}
.pricing-home__foot p{margin:0;font-size:18px;max-width:40em}

/* ---------------------------------------------------------------- verified */
.verified__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(40px,6vw,110px);align-items:start}
.verified__head{position:sticky;top:calc(var(--header-h) + 40px);display:grid;gap:22px}
@media (max-width:900px){.verified__grid{grid-template-columns:minmax(0,1fr)}.verified__head{position:static}}

/* ---------------------------------------------------------------- FAQ preview */
.faq-home__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(40px,6vw,110px);align-items:start}
.faq-home__head{display:grid;gap:22px;justify-items:start}
.faq-aside{position:sticky;top:calc(var(--header-h) + 40px);display:grid;gap:18px;justify-items:start}
.faq-aside p{margin:0;color:var(--ink-2);max-width:24em}
.faq-aside a:not(.link-arrow){color:var(--clay-ink)}
.faq-aside__links{display:grid;gap:10px;justify-items:start;margin-top:6px!important}
@media (max-width:900px){.faq-aside{position:static;order:2;padding-top:12px}}
@media (max-width:900px){.faq-home__grid{grid-template-columns:minmax(0,1fr)}}

/* ---------------------------------------------------------------- the meaning band: a dictionary entry over the ground */
.meaning{--p:1;position:relative;overflow:hidden;padding-top:clamp(88px,10vw,150px)}
.meaning__inner{position:relative;z-index:1;display:grid;gap:clamp(14px,1.6vw,22px);text-align:center;justify-items:center}
.meaning__entry{margin:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px 14px;font-size:clamp(20px,1vw + 15px,27px);color:var(--ink-2)}
.meaning__entry .hw{font-weight:640;letter-spacing:.01em;color:var(--ink)}
.meaning__entry .pr{font-style:italic}
.meaning__entry .ps{font-size:.82em;font-weight:620;font-variant-caps:all-small-caps;letter-spacing:.12em;color:var(--clay-deep)}
.meaning__def{max-width:16em;color:var(--ink)}
.meaning__def em{color:var(--clay-deep)}
.meaning__plate{position:relative;margin-top:clamp(18px,3vw,40px);height:clamp(190px,27.5vw,420px);overflow:hidden}
.meaning__plate img{position:absolute;left:50%;top:0;width:max(100%,900px);max-width:none;height:auto;transform:translateX(-50%)}
.meaning__plate.is-scrub img{clip-path:inset(0 0 calc((1 - var(--p)) * 78%) 0)}
.meaning__plate::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(transparent,var(--caliche));pointer-events:none}

/* ---------------------------------------------------------------- signup band */
.start{position:relative;overflow:hidden}
.start__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,110px);align-items:start}
.start__copy{position:sticky;top:calc(var(--header-h) + 40px);display:grid;gap:24px}
.start__list{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:12px;color:var(--on-night-2)}
.start__list li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;line-height:1.45}
.start__list svg{width:18px;height:18px;margin-top:3px;color:var(--ember)}
.start .plate{position:absolute;left:0;right:0;bottom:0;height:min(42%,380px);background:url('../img/plate-contours.webp') center bottom/cover no-repeat;filter:invert(1);opacity:.1;pointer-events:none}
@media (max-width:1000px){.start__grid{grid-template-columns:minmax(0,1fr)}.start__copy{position:static}}

/* ---------------------------------------------------------------- inner pages */
.pricing-cta{margin-top:30px}
.ptable-wrap{position:relative;overflow-x:auto;border-top:1px solid var(--line-2);-webkit-overflow-scrolling:touch}
.ptable-wrap:focus-visible{outline-offset:4px}
.ptable{width:100%;min-width:760px;border-collapse:collapse;font-size:16.5px;line-height:1.45}
.ptable th,.ptable td{text-align:left;vertical-align:top;padding:16px 18px;border-bottom:1px solid var(--line)}
.ptable thead th{font-size:15px;font-weight:650;font-variant-caps:all-small-caps;letter-spacing:.11em;color:var(--clay-ink);border-bottom:1px solid var(--line-2);padding-top:20px}
.ptable thead th small{display:block;font-size:22px;font-variant-caps:normal;letter-spacing:-.01em;font-weight:440;color:var(--ink);font-variant-numeric:lining-nums}
.ptable tbody th{font-weight:560;width:30%;padding-left:0}
.ptable td{color:var(--ink-2);width:23.3%}
.ptable td+td,.ptable th+td{border-left:1px solid var(--line)}
.ptable .yes{display:inline-flex;vertical-align:-3px;color:var(--verified)}
.ptable .yes svg{width:18px;height:18px}
.ptable .no{color:var(--stone)}
/* keep the row labels in view while the plan columns scroll sideways */
.ptable tbody th,.ptable thead th:first-child{position:sticky;left:0;z-index:1;background:var(--bone)}
.ptable tbody th{box-shadow:inset -1px 0 0 var(--line)}
@media (max-width:640px){.ptable{table-layout:fixed;width:584px;min-width:584px;font-size:15.5px}.ptable th:first-child{width:128px}.ptable th,.ptable td{padding:14px 12px}.ptable tbody th{padding-left:0;font-size:15px}}

.sample-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,2.6vw,40px);align-items:start}
.sample-item{margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.sample-item figcaption{display:grid;gap:8px;min-height:7.2em}
.sample-item figcaption p{margin:0;color:var(--on-night-2);font-size:16.5px}
.sample-item .lead{max-width:none}
.sample-item .redact{width:4em}
.sample-item .lead__facts{grid-template-columns:minmax(0,1fr)}
.sample-item .lead__facts>div:nth-child(odd){padding-right:0}
.sample-item .lead__facts>div:nth-child(even){padding-left:0;border-left:0}
@media (max-width:1180px){.sample-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sample-item:last-child{grid-column:1/-1;max-width:640px}}
@media (max-width:760px){.sample-grid{grid-template-columns:minmax(0,1fr)}.sample-item figcaption{min-height:0}}

.vlist--detail .small{margin-top:-2px}

.thanks__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(40px,6vw,100px);align-items:start}
.thanks__grid .prose h2{margin-top:0}
.pro-card{display:grid;gap:14px;padding:clamp(24px,3vw,40px);border:1px solid var(--line-2);background:var(--bone)}
.pro-card p{margin:0}
.pro-card .btn{justify-self:start;margin-top:8px}
@media (max-width:900px){.thanks__grid{grid-template-columns:minmax(0,1fr)}}

.signup-page{padding-top:clamp(48px,6vw,88px)}
@media (max-width:1000px){.signup-page .start__grid>:last-child{order:-1}}  /* on phones the form comes first; what happens next follows */
.signup-page .start__copy,.page-hero + .section .start__copy{color:var(--ink)}
.next{list-style:none;margin:0;padding:0;display:grid;gap:20px;border-top:1px solid var(--line-2);padding-top:22px}
.next li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:start}
.next__n{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--clay);color:var(--clay-ink);font-style:italic;font-size:19px}
.next p{margin:0;color:var(--ink-2)}
.next strong{color:var(--ink);font-weight:600}
