/* Two-plan site + polish pass. Loaded only when FRONT_OFFICE_ENABLED (demo), so the live site is unchanged. */

/* general polish (all flag-on pages) */
:target{scroll-margin-top:76px}
code{font-family:var(--mono);font-size:.9em;font-weight:700;background:rgba(20,184,166,.18);padding:1px 5px;border-radius:3px}
.band.dark code{background:rgba(20,184,166,.16);color:var(--hivis)}
.band.dark .fo-ex code{background:#DBEAFE;color:var(--ink)}
.ex-timeline code{font-size:.85em}
.v2 .band h2{margin-bottom:.5em}
.v2 .hero{padding:56px 0 64px}
.v2 .lead{margin-bottom:0}
.v2 .chips li{font-size:12px}
.heronext{margin:18px 0 0;color:var(--on-dark-muted);font-size:15.5px}
.heronext a{color:var(--hivis);font-weight:700}
.heronext a:after{content:" \2192"}
.v2 .feat h3,.v2 .tickets h3{font-size:18.5px}
.v2 .tickets li{padding:24px 22px 20px}

/* Front Office section */
.fo-land .fo-intro{max-width:720px;font-size:18.5px;color:var(--on-dark)}
.fo-rows{display:grid;gap:26px;margin:38px 0 30px}
.fo-row{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;background:var(--ink2);border:2px solid var(--steel);border-radius:var(--r);padding:30px 32px;position:relative;overflow:hidden}
.fo-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:repeating-linear-gradient(-45deg,var(--hivis) 0 10px,var(--ink) 10px 20px)}
.fo-row:nth-child(even) .fo-copy{order:2}
.fo-copy h3{font-family:var(--head);font-weight:800;font-size:clamp(26px,3.2vw,34px);line-height:1.05;text-transform:uppercase;letter-spacing:.01em;color:#fff;margin:4px 0 .45em}
.fo-copy p{color:var(--on-dark)}
.fo-copy .ticks li{color:var(--on-dark);margin:8px 0;font-size:16px}
.fo-copy .ticks li:before{color:var(--hivis)}
.fo-num{font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--orange)}
.fo-ex{background:#fbfaf7;color:var(--ink);border:2px solid #0d0f12;border-radius:var(--r);box-shadow:8px 8px 0 var(--orange);padding:0 0 12px;font-size:15px}
.fo-ex .excap{font-size:12.5px;color:var(--muted);margin:10px 16px 0;text-align:right}
.exhead{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;background:var(--ink);color:var(--hivis);font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:9px 16px;margin-bottom:8px}
.exhead span+span{color:var(--on-dark-muted)}
.ex-call .line{margin:8px 16px;line-height:1.45}
.ex-call .line b{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ex-call .line.ai b{color:var(--orange-d)}
.exout{margin:12px 16px 0;padding:10px 12px;background:#DBEAFE;border:1.5px dashed #1E40AF;border-radius:var(--r);font-family:var(--mono);font-size:13px;line-height:1.55}
.exout span{display:block;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:11.5px;color:#0F172A;margin-bottom:2px}
.ex-sms{padding:12px 14px 14px;max-width:380px;justify-self:center;width:100%;border-radius:24px;border-width:8px}
.ex-sms .bubble{max-width:92%}
.ex-timeline ol{list-style:none;margin:0;padding:16px 16px 4px 16px;position:relative}
.ex-timeline li{display:grid;grid-template-columns:62px 1fr;gap:12px;margin:0 0 14px;position:relative}
.ex-timeline li:not(:last-child):after{content:"";position:absolute;left:30px;top:28px;bottom:-16px;width:2px;background:var(--line)}
.ex-timeline .day{display:block;text-align:center;font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--hivis);border:1.5px solid var(--ink);border-radius:3px;padding:4px 0;height:fit-content;position:relative;z-index:1}
.ex-timeline li.stop .day{background:var(--ink);color:#fff}
.ex-timeline p{margin:0;line-height:1.45}
.ex-report dl{margin:6px 16px 0}
.ex-report dl div{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:9px 0;border-bottom:1px dashed var(--line)}
.ex-report dt{font-weight:650}
.ex-report dd{margin:0;width:54px;height:14px;border-radius:3px;background:repeating-linear-gradient(90deg,#e6e1d4 0 8px,#efebe1 8px 16px)}
.fo-rules{list-style:none;padding:0;margin:0 0 6px;display:flex;flex-wrap:wrap;gap:10px}
.fo-rules li{font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--hivis);border:1px solid rgba(45,212,191,.55);padding:6px 11px;border-radius:3px}
.fo-rules li:before{content:"\2713  ";color:var(--orange)}

/* pricing: two plans */
.pricehead{max-width:760px}
.pricehead p{color:var(--on-dark)}
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:30px 0 34px;align-items:stretch}
.plancard{background:#fff;color:var(--ink);border:2px solid var(--ink);border-radius:var(--r);padding:28px 28px 22px;box-shadow:8px 8px 0 rgba(0,0,0,.35);display:flex;flex-direction:column;position:relative}
.plancard.featured{border-color:var(--orange);box-shadow:10px 10px 0 var(--orange)}
.plancard .plan{font-family:var(--head);font-size:30px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--ink);margin:0}
.planfor{color:var(--muted);margin:0 0 14px;font-size:15.5px}
.plancard .price{font-size:68px}
.planterms{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:0 0 10px}
.planterms .trial{margin:0}
.planterms .setup{font-weight:800;font-size:15px;background:#DBEAFE;border:1.5px solid var(--orange-d);color:var(--ink);padding:2px 10px;border-radius:3px}
.nosetup{font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.plancard ul{flex:1}
.plancard ul li{color:var(--ink);font-size:16px}
.plancard .btn{margin:20px 0 12px}
.ribbon{position:absolute;top:-15px;left:24px;margin:0;background:var(--hivis);color:var(--ink);border:2px solid var(--ink);font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:3px}
.plantable-wrap{background:#fff;border:2px solid var(--ink);border-radius:var(--r);overflow:hidden}
table.plantable{font-size:15.5px;color:var(--ink)}
.plantable thead th{background:var(--ink2);color:#fff;font-family:var(--head);font-size:19px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:11px 14px;border:0;text-align:center}
.plantable thead th:first-child{background:var(--ink2)}
.plantable tbody th{font-weight:650;padding:11px 14px;border-bottom:1px solid var(--line)}
.plantable td{text-align:center;padding:11px 14px;color:var(--ink);white-space:nowrap}
.plantable td.y{font-weight:750}
.plantable td.y:before{content:"\2713  ";color:var(--orange-d);font-weight:900}
.plantable td.n{color:#9aa1a9}
.plantable tbody tr:last-child th,.plantable tbody tr:last-child td{border-bottom:0;background:#DBEAFE}
.plantable td:last-child{background:#fffaf5}
.plantable tbody tr:last-child td:last-child{background:#DBEAFE}

/* faq groups */
.faqgroup{font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:30px 0 8px}
.faqgroup:first-of-type{margin-top:12px}
details p{line-height:1.6}

/* /start v2 */
.startv2 .page{padding-top:28px}
.start2{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px 40px;max-width:1040px;margin:0 auto;align-items:start}
.starthead{grid-column:1/-1}
.starthead h1{margin-bottom:.25em}
.starthead .lede{max-width:640px;margin-bottom:0}
.progress{list-style:none;display:flex;flex-wrap:wrap;gap:8px 22px;padding:0;margin:0 0 20px;font-size:14px;font-weight:650;color:var(--muted)}
.progress li{display:flex;align-items:center;gap:8px}
.progress span{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:2px solid #c9c3b6;font-size:13px;font-weight:800}
.progress li.on{color:var(--ink)}
.progress li.on span{background:var(--orange);border-color:var(--ink);color:var(--ink)}
.plansummary{grid-column:2;grid-row:2 / span 2;position:sticky;top:84px;background:#fff;border:2px solid var(--ink);border-radius:var(--r);box-shadow:var(--hard);padding:22px;overflow:hidden}
.plansummary:before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:repeating-linear-gradient(45deg,var(--hivis) 0 10px,var(--ink) 10px 20px)}
.plansummary.fo{border-color:var(--orange);box-shadow:6px 6px 0 var(--orange)}
.plansummary .plan{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:6px 0 2px}
.plansummary h2{font-size:34px;margin:0 0 4px}
.plansummary .price{font-size:54px;margin:0 0 6px}
.plansummary .setup{font-weight:700;margin:0 0 10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.plansummary .trial{margin:0}
.due{background:var(--paper);border-radius:var(--r);padding:10px 12px;margin:0 0 12px;font-size:15px}
.due b{font-family:var(--head);font-size:26px;margin-left:6px;vertical-align:-2px}
.due span{display:block;color:var(--muted);font-size:13.5px}
.founding{background:#DBEAFE;border:2px solid #1D4ED8;border-radius:var(--r);padding:10px 12px;color:#0F172A;font-size:14.5px}
.plansummary .ticks li{font-size:15.5px;margin:7px 0}
.switch{border-top:1px dashed var(--line);padding-top:12px;margin:12px 0 0;font-size:14.5px;color:var(--muted)}
.switch a{font-weight:700}
.startform{grid-column:1;min-width:0}
.startform form.stack{margin-top:0}
fieldset{border:0;padding:0;margin:0 0 18px;min-width:0}
fieldset+fieldset{border-top:1px solid var(--line);padding-top:16px}
legend{float:left;width:100%;font-family:var(--head);font-weight:800;font-size:24px;line-height:1.1;text-transform:uppercase;letter-spacing:.02em;padding:0;margin:4px 0 0}
legend+*{clear:both}
.hint{font-weight:500;color:var(--muted);font-size:14px}
.hint:before{content:"\00b7  "}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.shortname{border:0;border-radius:0;margin:8px 0 0;background:transparent}
.shortname summary{padding:4px 0;font-weight:650;font-size:14.5px;color:var(--orange-d)}
.shortname summary:after{display:none}
.shortname[open] summary{border-bottom:0}
.shortname label{margin-top:6px!important}
.shortname p{padding:6px 0 0}
.choice{display:flex!important;gap:12px;align-items:flex-start;border:2px solid #c9c3b6;border-radius:var(--r);padding:12px 14px;margin:10px 0!important;font-weight:400!important;cursor:pointer}
.choice:has(input:checked){border-color:var(--ink);background:#DBEAFE}
.choice input{margin-top:4px;width:18px;height:18px;flex:0 0 18px;accent-color:var(--orange)}
.choice .muted{font-size:14.5px}

/* tablet / phone */
@media (max-width:900px){
  .fo-row{grid-template-columns:1fr;gap:24px;padding:26px 22px 24px 26px}
  .fo-row:nth-child(even) .fo-copy{order:0}
  .plans{grid-template-columns:1fr;max-width:560px;gap:34px}
  .start2{grid-template-columns:1fr}
  .plansummary{grid-column:1;grid-row:auto;position:relative;top:auto}
}
@media (max-width:700px){
  .v2 .mobilebar .btn.ghost{flex:0 0 auto}
}
@media (max-width:520px){
  .v2 .hero{padding:32px 0 46px}
  .v2 .chips{gap:6px}
  .v2 .chips li{font-size:11.5px;padding:4px 8px}
  .fo-ex{box-shadow:5px 5px 0 var(--orange)}
  .fo-row{padding:22px 16px 20px 22px}
  .plancard{padding:24px 20px 18px}
  .plancard .price{font-size:58px}
  .plancard.featured{box-shadow:6px 6px 0 var(--orange)}
  .plantable{font-size:14px}
  .plantable thead th{font-size:16px;padding:9px 8px}
  .plantable tbody th,.plantable td{padding:9px 8px}
  .plantable td{white-space:normal}
  .row2{grid-template-columns:1fr}
  .progress{font-size:13px;gap:6px 14px}
  .plansummary .price{font-size:48px}
}
