/* ECCN.help — home page, v5. Light, quiet, professional.
   SELF-CONTAINED: the page that loads this has no other stylesheet, so the
   site header, nav and footer are styled here too. The old home.css and
   style.css are gone from this host along with the application they belonged
   to; nothing may depend on them. */

*,*::before,*::after{box-sizing:border-box}
.v5-body{margin:0;font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;
  color:#16202E;background:#fff;-webkit-font-smoothing:antialiased}
.v5-body a{color:inherit}

/* ---- site header ---- */
.v5-nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);
  backdrop-filter:saturate(1.6) blur(8px);border-bottom:1px solid #E8EBEF}
.v5-nav-in{display:flex;align-items:center;gap:28px;height:62px}
.v5-logo{font-size:21px;font-weight:700;letter-spacing:-.01em;text-decoration:none;color:#12233F}
.v5-logo-dot{color:#C0451B}
.v5-logo-b{color:#B08A3E}
.v5-links{display:flex;gap:22px;margin-left:8px}
.v5-links a{font-size:14.5px;font-weight:500;color:#5D6B80;text-decoration:none;
  padding:4px 0;border-bottom:2px solid transparent;transition:.15s}
.v5-links a:hover{color:#12233F}
.v5-links a.active{color:#12233F;border-bottom-color:#C0451B}
.v5-nav-right{margin-left:auto;display:flex;align-items:center;gap:12px}
.v5-btn-sm{padding:9px 18px;font-size:14px}
.v5-burger{display:none;width:38px;height:38px;border:1px solid #E1E5EA;border-radius:8px;
  background:#fff;cursor:pointer;padding:9px 8px}
.v5-burger span{display:block;height:2px;background:#12233F;border-radius:2px}
.v5-burger span+span{margin-top:4px}

/* ---- site footer ---- */
.v5-foot{border-top:1px solid #E8EBEF;background:#fff;padding:26px 0;font-size:13px;color:#7A8698}
.v5-foot-in{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.v5-foot-links{display:flex;gap:20px}
.v5-foot-links a{text-decoration:none;color:#5D6B80}
.v5-foot-links a:hover{color:#C0451B}
.v5-sep{color:#D6DBE2;margin:0 6px}


.v5-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.v5-h1{font-size:clamp(30px,4vw,46px);line-height:1.14;font-weight:700;letter-spacing:-.02em;
  color:#12233F;margin:0 0 18px}
.v5-h1 em{font-style:normal;color:#C0451B}
.v5-h2{font-size:clamp(22px,2.4vw,30px);line-height:1.25;font-weight:700;letter-spacing:-.01em;
  color:#12233F;margin:0 0 26px}
.v5-lede{font-size:16.5px;line-height:1.68;color:#5D6B80;margin:0 0 26px;max-width:56ch}
.v5-eyebrow{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:#8A6A28;background:#FBF3E3;border:1px solid #E8D6AC;
  border-radius:99px;padding:5px 13px;margin-bottom:20px}

/* ---- hero ---- */
.v5-hero{background:linear-gradient(180deg,#fff 0%,#F7F8FA 100%);padding:64px 0 72px;
  border-bottom:1px solid #E8EBEF}
/* start, not center. Centring made the panel's vertical position depend on its
   own height — and its height changes as the walk runs, so it drifted up and
   down while playing. Top-aligned, it begins on the same line as the
   disclaimer and stays there. */
.v5-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}

.v5-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}
/* .v5-btn is used on BOTH <a> and <button>. A bare <button> brings the
   browser's own font, its own line-height and — the visible symptom — an arrow
   cursor instead of a pointer, so the reset has to be part of the class rather
   than assumed from the element. */
.v5-btn{display:inline-block;padding:12px 26px;border-radius:8px;font-size:15px;font-weight:600;
  text-decoration:none;transition:.16s;border:1px solid transparent;cursor:pointer;
  font-family:inherit;line-height:1.2;text-align:center;-webkit-appearance:none;appearance:none}
.v5-btn:disabled{cursor:not-allowed;opacity:.6}
.v5-btn:focus-visible{outline:2px solid #2E4A78;outline-offset:2px}
.v5-btn-primary{background:#C0451B;color:#fff}
.v5-btn-primary:hover{background:#A5390F}
.v5-btn-ghost{background:#fff;color:#12233F;border-color:#D6DBE2}
.v5-btn-ghost:hover{border-color:#12233F}
.v5-btn-lg{padding:15px 34px;font-size:16px;white-space:nowrap}

.v5-points{list-style:none;margin:0;padding:0}
.v5-points li{position:relative;padding-left:27px;margin-bottom:11px;font-size:14.5px;
  line-height:1.6;color:#42506480}
.v5-points li{color:#425064}
.v5-tick{position:absolute;left:0;top:6px;width:16px;height:16px;border-radius:50%;
  background:#E4F1EB;border:1px solid #B7DCCB}
.v5-tick::after{content:'';position:absolute;left:4.5px;top:2px;width:4px;height:8px;
  border:solid #1F6247;border-width:0 2px 2px 0;transform:rotate(45deg)}

/* ---- the mock-up ---- */
.v5-demo{background:#fff;border:1px solid #E1E5EA;border-radius:14px;
  box-shadow:0 30px 60px -34px rgba(11,23,40,.34);overflow:hidden}
.v5-demo-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;
  background:linear-gradient(180deg,#12233F,#0B1728);border-bottom:2px solid #D9B166}
.v5-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.24)}
.v5-demo-title{margin-left:8px;font-size:12.5px;font-weight:600;color:#C7D2E4;letter-spacing:.02em}
.v5-demo-body{padding:20px 22px 22px}

/* The verdict is toggled with the `hidden` attribute, which removes it from the
   layout entirely — so the panel grew by its height the moment it appeared.
   Keep it in the flow and hide it visually instead: the space is reserved from
   first paint, the panel never resizes, and no magic pixel height is needed
   because the reservation is the element's own real height. */
.v5-verdict[hidden]{display:block;visibility:hidden}

.v5-item{display:flex;gap:12px;align-items:baseline;padding-bottom:16px;margin-bottom:16px;
  border-bottom:1px solid #EEF1F4}
.v5-item-k{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8994A5}
.v5-item-v{font-size:14.5px;color:#16202E;min-height:21px}
.v5-caret{display:inline-block;width:7px;height:15px;background:#C0451B;vertical-align:-2px;
  margin-left:2px;animation:v5blink 1s steps(2) infinite}
@keyframes v5blink{0%,50%{opacity:1}51%,100%{opacity:0}}

.v5-stages{list-style:none;margin:0;padding:0;counter-reset:v5s}
.v5-stages li{counter-increment:v5s;position:relative;padding:9px 0 9px 40px;opacity:.34;
  transition:opacity .3s}
.v5-stages li::before{content:counter(v5s);position:absolute;left:0;top:8px;width:24px;height:24px;
  border-radius:50%;display:grid;place-items:center;font-size:11.5px;font-weight:700;
  background:#F1F3F6;color:#8994A5;border:1px solid #E1E5EA;transition:.3s}
.v5-stages li b{display:block;font-size:13.5px;font-weight:600;color:#16202E}
.v5-stages li span{display:block;font-size:12px;color:#7A8698;margin-top:1px}
.v5-stages li.on{opacity:1}
.v5-stages li.on::before{background:#FBF3E3;border-color:#E8D6AC;color:#8A6A28}
.v5-stages li.done{opacity:1}
.v5-stages li.done::before{content:'';background:#1F6247;border-color:#1F6247}
.v5-stages li.done::after{content:'';position:absolute;left:8.5px;top:13px;width:5px;height:10px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}

.v5-verdict{margin-top:6px;border:1px solid #E1E5EA;border-left:4px solid #C0451B;
  border-radius:0 10px 10px 0;padding:16px 18px;background:#FCFDFE;animation:v5in .34s ease both}
@keyframes v5in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.v5-verdict-hd{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}
.v5-eccn{font-family:'Spline Sans Mono',ui-monospace,monospace;font-size:20px;font-weight:600;color:#12233F}
.v5-conf{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:#8A6A28;background:#FBF3E3;border:1px solid #E8D6AC;border-radius:99px;padding:3px 9px}
.v5-verdict-rows div{display:flex;justify-content:space-between;gap:16px;font-size:12.5px;
  padding:5px 0;border-bottom:1px dashed #EEF1F4}
.v5-verdict-rows div:last-child{border-bottom:0}
.v5-verdict-rows span{color:#7A8698}
.v5-verdict-rows b{color:#16202E;font-weight:600;text-align:right}
.v5-verdict-note{margin:12px 0 0;font-size:11.5px;line-height:1.55;color:#8994A5}
.v5-replay{margin-top:12px;padding:7px 15px;cursor:pointer;font-family:inherit;border:1px solid #D6DBE2;border-radius:6px;
  background:#fff;font-size:12.5px;font-weight:600;color:#425064;cursor:pointer;transition:.15s}
.v5-replay:hover{border-color:#C0451B;color:#C0451B}

/* ---- bands ---- */
.v5-band{padding:66px 0;background:#fff}
.v5-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.v5-card{background:#fff;border:1px solid #E8EBEF;border-radius:12px;padding:22px 24px;transition:.18s}
.v5-card:hover{border-color:#D6DBE2;box-shadow:0 14px 34px -24px rgba(11,23,40,.3);transform:translateY(-2px)}
.v5-card h3{font-size:16px;font-weight:700;color:#12233F;margin:0 0 8px}
.v5-card p{font-size:13.5px;line-height:1.62;color:#5D6B80;margin:0}

.v5-closing{padding:56px 0;background:#F7F8FA;border-top:1px solid #E8EBEF}
.v5-closing-in{display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap}
.v5-closing .v5-h2{margin-bottom:10px}
.v5-closing .v5-lede{margin:0;max-width:60ch}

@media (max-width:960px){
  .v5-hero-grid{grid-template-columns:1fr;gap:40px}
  .v5-cards{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .v5-hero{padding:44px 0 52px}
  .v5-cards{grid-template-columns:1fr}
  .v5-closing-in{flex-direction:column;align-items:flex-start}
  .v5-demo-body{padding:18px 16px 18px}
  /* Stacked on a phone the panel is the last thing on screen, so reserving
     space for the verdict would leave a hole. Let it collapse there. */
  .v5-verdict[hidden]{display:none}
}
@media (prefers-reduced-motion:reduce){
  .v5-demo *,.v5-card{animation:none!important;transition:none!important}
}

@media (max-width:860px){
  .v5-links{position:absolute;top:62px;left:0;right:0;background:#fff;border-bottom:1px solid #E8EBEF;
    flex-direction:column;gap:0;padding:8px 24px 14px;display:none}
  .v5-links.open{display:flex}
  .v5-links a{padding:11px 0;border-bottom:1px solid #F1F3F6}
  .v5-burger{display:block}
}

/* ---- interior pages: About, Contact, Blog (EH22) ------------------------- */
.v5-page{padding:52px 0 72px}
.v5-prose{max-width:820px}
.v5-prose .v5-h1{margin-bottom:24px}
.v5-prose .v5-h2{margin:38px 0 14px}
.v5-prose p{font-size:15.5px;line-height:1.72;color:#425064;margin:0 0 16px;max-width:72ch}
.v5-list{list-style:none;margin:0 0 8px;padding:0}
.v5-list li{position:relative;padding-left:22px;margin-bottom:10px;font-size:15px;line-height:1.68;color:#425064}
.v5-list li::before{content:'';position:absolute;left:2px;top:9px;width:6px;height:6px;
  border-radius:50%;background:#C0451B}
.v5-list li b{color:#12233F}
.v5-inline-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}

/* contact */
.v5-contact{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:8px 0 12px}
.v5-contact-card{border:1px solid #E8EBEF;border-radius:12px;padding:20px 22px;background:#fff}
.v5-contact-card h3{margin:0 0 6px;font-size:15.5px;font-weight:700;color:#12233F}
.v5-contact-card p{margin:0 0 10px;font-size:13.5px;color:#7A8698}
.v5-contact-link{font-size:14.5px;font-weight:600;color:#C0451B;text-decoration:none}
.v5-contact-link:hover{text-decoration:underline}
.v5-faq details{border:1px solid #E8EBEF;border-radius:10px;padding:14px 18px;margin-bottom:10px;background:#fff}
.v5-faq summary{cursor:pointer;font-size:15px;font-weight:600;color:#12233F;list-style:none}
.v5-faq summary::-webkit-details-marker{display:none}
.v5-faq summary::before{content:'+';display:inline-block;width:18px;color:#C0451B;font-weight:700}
.v5-faq details[open] summary::before{content:'\2212'}
.v5-faq p{margin:10px 0 0 18px;font-size:14px;line-height:1.66;color:#5D6B80}

/* blog */
.v5-posts{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:30px}
.v5-post{border:1px solid #E8EBEF;border-radius:12px;padding:22px 24px;background:#fff;transition:.18s}
.v5-post:hover{border-color:#D6DBE2;box-shadow:0 14px 34px -24px rgba(11,23,40,.3);transform:translateY(-2px)}
.v5-post h2{margin:0 0 9px;font-size:17.5px;line-height:1.34;font-weight:700}
.v5-post h2 a{color:#12233F;text-decoration:none}
.v5-post h2 a:hover{color:#C0451B}
.v5-post p{margin:0 0 14px;font-size:13.5px;line-height:1.62;color:#5D6B80}
.v5-post-cat{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:#8A6A28;background:#FBF3E3;border:1px solid #E8D6AC;
  border-radius:99px;padding:3px 10px;margin-bottom:11px}
.v5-post-meta{display:flex;align-items:center;gap:9px;font-size:12px;color:#8994A5}
.v5-post-dot{width:3px;height:3px;border-radius:50%;background:#C9D0DA}
.v5-empty{padding:40px 0;text-align:center;color:#8994A5}

/* article */
.v5-back{display:inline-block;margin-bottom:18px;font-size:13.5px;font-weight:600;
  color:#5D6B80;text-decoration:none}
.v5-back:hover{color:#C0451B}
.v5-article-meta{margin:0 0 28px;padding-bottom:22px;border-bottom:1px solid #E8EBEF}
.v5-article-body{font-size:16px;line-height:1.78;color:#2C3849}
.v5-article-body h2{font-size:24px;font-weight:700;color:#12233F;margin:38px 0 14px;line-height:1.3}
.v5-article-body h3{font-size:19px;font-weight:700;color:#12233F;margin:30px 0 12px}
.v5-article-body p{margin:0 0 17px}
.v5-article-body ul,.v5-article-body ol{margin:0 0 18px;padding-left:24px}
.v5-article-body li{margin-bottom:8px}
.v5-article-body a{color:#C0451B}
.v5-article-body table{width:100%;border-collapse:collapse;margin:0 0 22px;font-size:14px;display:block;overflow-x:auto}
.v5-article-body th,.v5-article-body td{border:1px solid #E8EBEF;padding:9px 12px;text-align:left}
.v5-article-body th{background:#F7F8FA;font-weight:600;color:#12233F}
.v5-article-body blockquote{margin:0 0 20px;padding:14px 20px;border-left:3px solid #D9B166;
  background:#FCFAF5;color:#5D4B2A}
.v5-article-body code{font-family:'Spline Sans Mono',ui-monospace,monospace;font-size:13.5px;
  background:#F1F3F6;border-radius:4px;padding:2px 6px}
.v5-article-body img{max-width:100%;height:auto;border-radius:8px}

@media (max-width:760px){
  .v5-posts,.v5-contact{grid-template-columns:1fr}
}

/* ---- sign-up / reset (EH23) ---------------------------------------------- */
.v5-authwrap{display:flex;justify-content:center}
.v5-auth{width:100%;max-width:440px;background:#fff;border:1px solid #E8EBEF;border-radius:14px;
  padding:34px 34px 28px;box-shadow:0 24px 60px -34px rgba(11,23,40,.3)}
.v5-auth-h{font-size:25px;font-weight:700;letter-spacing:-.01em;color:#12233F;margin:0 0 8px}
.v5-auth-sub{font-size:13.5px;line-height:1.62;color:#7A8698;margin:0 0 22px}
.v5-auth-form label{display:block;font-size:11.5px;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;color:#7A8698;margin:0 0 6px}
.v5-auth-form input{width:100%;padding:11px 14px;margin-bottom:16px;border:1px solid #DCE0E6;
  border-radius:7px;font-family:inherit;font-size:15px;color:#16202E;background:#FBFCFD;
  outline:none;transition:.15s}
.v5-auth-form input:focus{border-color:#2E4A78;box-shadow:0 0 0 3px rgba(46,74,120,.14);background:#fff}
.v5-auth-hint{margin:-10px 0 16px;font-size:12px;color:#8994A5}
.v5-auth-go{width:100%;padding:12px;border:0;cursor:pointer;font-size:15px}
.v5-auth-msg{padding:11px 14px;border-radius:7px;font-size:13.5px;line-height:1.55;margin-bottom:18px}
.v5-auth-msg.err{background:#F6E4DD;border:1px solid #E7BDAF;color:#8E3113}
.v5-auth-msg.ok{background:#E4F1EB;border:1px solid #B7DCCB;color:#1F6247}
.v5-auth-alt{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  margin-top:20px;padding-top:16px;border-top:1px solid #EEF1F4}
.v5-auth-alt a{font-size:13px;color:#5D6B80;text-decoration:none}
.v5-auth-alt a:hover{color:#C0451B}

/* ---- auth modal (EH25) ---------------------------------------------------
   Replaces the standalone sign-in page. Same light palette as the rest of the
   public site; the panel is the only thing that changes between views. */
#ehAuthOverlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;
  justify-content:center;padding:20px;background:rgba(11,23,40,.55);
  backdrop-filter:blur(3px);animation:ehaFade .16s ease both;overflow-y:auto}
#ehAuthOverlay[hidden]{display:none}
@keyframes ehaFade{from{opacity:0}to{opacity:1}}
.eha-modal{position:relative;width:100%;max-width:410px;background:#fff;border-radius:14px;
  padding:32px 32px 26px;box-shadow:0 40px 80px -30px rgba(11,23,40,.55);
  animation:ehaUp .2s ease both;margin:auto}
@keyframes ehaUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.eha-x{position:absolute;top:12px;right:14px;width:30px;height:30px;border:0;background:transparent;
  font-size:22px;line-height:1;color:#8994A5;cursor:pointer;border-radius:7px}
.eha-x:hover{background:#F1F3F6;color:#12233F}
.eha-mark{font-size:21px;font-weight:700;color:#12233F;margin-bottom:16px}
.eha-mark .eha-dot{color:#C0451B}
.eha-mark .eha-b{color:#B08A3E}
.eha-modal h2{font-size:22px;font-weight:700;color:#12233F;margin:0 0 7px;letter-spacing:-.01em}
.eha-sub{font-size:13.5px;line-height:1.6;color:#7A8698;margin:0 0 20px}
.eha-btn{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;margin-bottom:10px;
  border:1px solid #DCE0E6;border-radius:9px;background:#fff;font-family:inherit;font-size:14.5px;
  font-weight:600;color:#12233F;cursor:pointer;transition:.15s;text-align:left}
.eha-btn:hover:not(:disabled){border-color:#12233F;background:#FAFBFC}
.eha-btn:disabled{opacity:.55;cursor:not-allowed}
.eha-li{background:#0A66C2;border-color:#0A66C2;color:#fff}
.eha-li:disabled{background:#EDF1F6;border-color:#DCE0E6;color:#7A8698}
/* RT43: the LinkedIn button keeps its colours on hover (the generic .eha-btn:hover turned it white) */
.eha-li:hover:not(:disabled){background:#0A66C2;border-color:#0A66C2;color:#fff}
.eha-soon{margin-left:auto;font-style:normal;font-size:9.5px;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;color:#8994A5;border:1px solid #DCE0E6;border-radius:99px;padding:2px 7px}
.eha-ghost{background:#FAFBFC}
.eha-or{display:flex;align-items:center;gap:12px;margin:14px 0;color:#A6AFBC;font-size:12px}
.eha-or::before,.eha-or::after{content:'';flex:1;height:1px;background:#E8EBEF}
.eha-legal{margin:16px 0 0;font-size:11.5px;line-height:1.55;color:#8994A5;text-align:center}
.eha-legal a,.eha-check a{color:#C0451B}
.eha-back{border:0;background:transparent;padding:0;margin:0 0 12px;font-family:inherit;
  font-size:13px;font-weight:600;color:#7A8698;cursor:pointer}
.eha-back:hover{color:#C0451B}
.eha-modal label{display:block;font-size:11.5px;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;color:#7A8698;margin:0 0 6px}
.eha-modal input[type=text],.eha-modal input[type=email],.eha-modal input[type=password]{
  width:100%;padding:11px 13px;margin-bottom:14px;border:1px solid #DCE0E6;border-radius:7px;
  font-family:inherit;font-size:15px;color:#16202E;background:#FBFCFD;outline:none;transition:.15s}
.eha-modal input:focus{border-color:#2E4A78;box-shadow:0 0 0 3px rgba(46,74,120,.14);background:#fff}
.eha-caplabel{text-transform:none;font-size:13px;font-weight:600;color:#425064;letter-spacing:0}
.eha-check{display:flex;align-items:flex-start;gap:9px;margin-bottom:14px;text-transform:none;
  font-size:12.5px;font-weight:400;color:#5D6B80;letter-spacing:0;line-height:1.5}
.eha-check input{width:15px;height:15px;margin:2px 0 0;flex:0 0 15px}
.eha-hint{margin:-8px 0 14px;font-size:11.5px;color:#8994A5}
.eha-submit{width:100%;padding:12px;border:0;border-radius:8px;background:#C0451B;color:#fff;
  font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:.15s}
.eha-submit:hover:not(:disabled){background:#A5390F}
.eha-submit:disabled{opacity:.6;cursor:default}
.eha-msg{padding:10px 13px;border-radius:7px;font-size:13px;line-height:1.5;margin-bottom:14px}
.eha-msg.err{background:#F6E4DD;border:1px solid #E7BDAF;color:#8E3113}
.eha-msg.ok{background:#E4F1EB;border:1px solid #B7DCCB;color:#1F6247}
.eha-alt{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px;
  padding-top:14px;border-top:1px solid #EEF1F4}
.eha-alt button{border:0;background:transparent;padding:0;font-family:inherit;font-size:12.5px;
  color:#5D6B80;cursor:pointer}
.eha-alt button:hover{color:#C0451B}
@media (max-width:480px){ .eha-modal{padding:26px 22px 22px} }
@media (prefers-reduced-motion:reduce){ #ehAuthOverlay,.eha-modal{animation:none} }

/* Anything clickable should say so. These are the controls that are <button>
   elements for behavioural reasons but read as links or cards. */
.v5-burger,.eha-x,.eha-btn,.eha-back,.eha-submit,.eha-alt button,
.v5-links button,.v5-nav-right button{cursor:pointer}
.eha-btn:disabled,.eha-submit:disabled{cursor:not-allowed}

/* ---- home page sections (EH30) ------------------------------------------ */
.v5-disc{margin:0 0 22px;padding:13px 16px;border-left:3px solid #D9B166;background:#FCFAF5;
  border-radius:0 8px 8px 0;font-size:12.5px;line-height:1.62;color:#5D4B2A;max-width:62ch}
.v5-disc strong{color:#8A6A28}
.v5-disc a{color:#C0451B;text-decoration:underline}
.v5-band-alt{background:#F7F8FA;border-top:1px solid #E8EBEF;border-bottom:1px solid #E8EBEF}
.v5-band .v5-lede{margin-bottom:34px}

/* the ordered walk */
.v5-steps{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.v5-steps li{position:relative;padding:20px 24px 20px 68px;background:#fff;border:1px solid #E8EBEF;
  border-radius:12px}
.v5-step-n{position:absolute;left:22px;top:20px;width:30px;height:30px;border-radius:50%;
  display:grid;place-items:center;font-size:13.5px;font-weight:700;color:#8A6A28;
  background:#FBF3E3;border:1px solid #E8D6AC}
.v5-steps h3{margin:2px 0 6px;font-size:16.5px;font-weight:700;color:#12233F}
.v5-steps p{margin:0;font-size:14px;line-height:1.66;color:#5D6B80;max-width:76ch}

/* two-column feature block */
.v5-split{display:grid;grid-template-columns:1.5fr 1fr;gap:38px;align-items:start}
.v5-quote{background:#12233F;color:#D7DEE9;border-radius:12px;padding:26px 28px;
  border-left:4px solid #D9B166}
.v5-quote p{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:16.5px;line-height:1.66;font-style:italic}

.v5-cards-3{grid-template-columns:repeat(3,1fr)}

@media (max-width:960px){
  .v5-split{grid-template-columns:1fr;gap:26px}
  .v5-cards-3{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .v5-cards-3{grid-template-columns:1fr}
  .v5-steps li{padding:18px 18px 18px 60px}
  .v5-step-n{left:16px}
}

/* .v5-body a{color:inherit} outranks .v5-btn-primary on specificity (0,1,1 vs
   0,1,0), so a primary button rendered as an <a> lost its white text. Anchors
   carrying a button class must not inherit link colour. */
.v5-body a.v5-btn-primary,.v5-body a.v5-btn-primary:hover{color:#fff}
.v5-body a.v5-btn-ghost{color:#12233F}

/* ---- Enterprise Solutions (EH32) ---------------------------------------- */
.v5-ent-hero{padding:48px 0 76px;background:linear-gradient(180deg,#fff 0%,#F7F8FA 100%)}
.v5-ent-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:52px;align-items:start}
.v5-ent-copy .v5-h1{font-size:clamp(28px,3.4vw,40px);margin-bottom:16px}
.v5-ent-copy .v5-h2{font-size:21px;margin:38px 0 16px}
.v5-ent-copy .v5-lede a{color:#C0451B}
.v5-ent-copy p{font-size:15px;line-height:1.72;color:#425064;max-width:70ch}

.v5-ent-note{margin:22px 0 8px;padding:15px 18px;border-left:3px solid #D9B166;background:#FCFAF5;
  border-radius:0 8px 8px 0;font-size:13.5px;line-height:1.66;color:#5D4B2A;max-width:70ch}
.v5-ent-note strong{color:#8A6A28}

.v5-deploys{display:grid;gap:14px}
.v5-deploys article{border:1px solid #E8EBEF;border-radius:12px;padding:18px 22px;background:#fff}
.v5-deploys h3{margin:0 0 6px;font-size:16px;font-weight:700;color:#12233F}
.v5-deploys p{margin:0;font-size:14px;line-height:1.66;color:#5D6B80}

.v5-ent-tw{margin-top:40px;padding:22px 24px;border-radius:12px;background:#12233F;color:#C7D2E4;
  border-left:4px solid #D9B166}
.v5-ent-tw-k{font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#8FA3C0}
.v5-ent-tw-v{display:inline-block;margin-top:3px;font-family:Georgia,serif;font-size:22px;font-weight:700;
  color:#fff;text-decoration:none}
.v5-ent-tw-v:hover{color:#D9B166}
.v5-ent-tw p{margin:10px 0 0;font-size:13.5px;line-height:1.62;color:#A9B8CE;max-width:none}

/* the form — sticky, because the page is long and the call is the point */
/* Sticky is right for a short form. It is wrong for the calendar, which is
   taller than most viewports — pinned, its lower half becomes unreachable. The
   wrapper drops out of sticky whenever it contains the embed. */
.v5-ent-form-wrap{position:sticky;top:86px}
.v5-ent-form-wrap:has(.v5-cal){position:static}
.v5-ent-form{background:#fff;border:1px solid #E1E5EA;border-radius:14px;padding:28px 28px 24px;
  box-shadow:0 30px 60px -34px rgba(11,23,40,.34)}
.v5-ent-form h2{margin:0 0 7px;font-size:21px;font-weight:700;color:#12233F}
.v5-ent-form-sub{margin:0 0 20px;font-size:13.5px;line-height:1.6;color:#7A8698}
.v5-ent-form label{display:block;font-size:11.5px;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;color:#7A8698;margin:0 0 6px}
.v5-ent-form label.v5-opt span{font-weight:400;letter-spacing:0;text-transform:none;color:#A6AFBC}
.v5-ent-form input,.v5-ent-form select,.v5-ent-form textarea{width:100%;padding:11px 13px;
  margin-bottom:15px;border:1px solid #DCE0E6;border-radius:7px;font-family:inherit;font-size:14.5px;
  color:#16202E;background:#FBFCFD;outline:none;transition:.15s}
.v5-ent-form textarea{resize:vertical;min-height:76px}
.v5-ent-form select{cursor:pointer}
.v5-ent-form input:focus,.v5-ent-form select:focus,.v5-ent-form textarea:focus{
  border-color:#2E4A78;box-shadow:0 0 0 3px rgba(46,74,120,.14);background:#fff}
.v5-ent-go{width:100%;padding:13px;font-size:15.5px}
.v5-ent-fine{margin:12px 0 0;font-size:11.5px;line-height:1.55;color:#8994A5}
.v5-ent-alt{margin-top:14px;text-align:center;font-size:13px;color:#7A8698}
.v5-ent-alt a{color:#C0451B}

/* the honeypot: out of sight without display:none, which some bots check for */
.v5-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

@media (max-width:980px){
  .v5-ent-grid{grid-template-columns:1fr;gap:36px}
  .v5-ent-form-wrap{position:static;order:-1}   /* form first on a phone */
}

/* ---- inline Cal.com booking (EH34) --------------------------------------
   The embed sizes its own iframe, so this only gives it room and keeps the
   panel from collapsing while the script loads. */
.v5-cal{min-height:560px;margin:4px -8px 0;overflow:hidden}
.v5-cal iframe{width:100%;border:0}
@media (max-width:980px){ .v5-cal{min-height:620px;margin:4px 0 0} }

/* ---- RT44: rule-based, no AI ------------------------------------------------ */
.v5-noai-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 14px}
.v5-noai-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:#12233F;color:#fff;
  font-size:13px;font-weight:600;letter-spacing:.3px}
.v5-noai-sub{font-size:13px;font-weight:600;letter-spacing:.2px;color:#C0451B}   /* RT46: ember */
.v5-h1-accent{color:#C0451B}
.v5-hero-side{display:flex;flex-direction:column;gap:20px;min-width:0}
.v5-same{background:#fff;border:1px solid #DCE0E6;border-radius:14px;box-shadow:0 12px 32px rgba(18,35,63,.08);overflow:hidden}
.v5-same-hd{padding:14px 18px;border-bottom:1px solid #E4E7EC;display:flex;justify-content:space-between;align-items:center;
  font-size:13px;font-weight:600;color:#12233F}
.v5-same-hd em{font-style:normal;font-size:12px;padding:3px 10px;border-radius:999px;background:#E7F4EE;color:#1F5A43}
.v5-same-bd{padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.v5-same-item{margin:0;font-size:14px;line-height:1.5;color:#344054}
.v5-same-item b{color:#12233F}
.v5-same-runs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v5-same-runs div{border:1px solid #E4E7EC;border-radius:10px;padding:12px 14px;background:#FBFCFD}
.v5-same-runs small{display:block;font-size:11.5px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:#5D6B80}
.v5-same-runs b{display:block;font-family:'Spline Sans Mono',ui-monospace,monospace;font-size:24px;color:#12233F;margin-top:4px}
.v5-same-runs span{font-size:12.5px;color:#5D6B80}
.v5-same-by{border-top:2px solid #D9B166;padding-top:10px}
.v5-same-by small{display:block;font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:#B08A3E}
.v5-same-by p{margin:4px 0;font-size:14px;line-height:1.5;color:#344054}
.v5-same-by code{font-family:'Spline Sans Mono',ui-monospace,monospace;font-size:12px;color:#5D6B80}

.v5-trust{background:#12233F;padding:0}
.v5-trust-in{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.v5-trust-in li{display:flex;gap:14px;align-items:flex-start;padding:24px 22px;border-right:1px solid #25385A}
.v5-trust-in li:last-child{border-right:0}
.v5-trust-ic{width:40px;height:40px;flex-shrink:0;border-radius:10px;background:#1C3050;display:flex;align-items:center;justify-content:center}
.v5-trust-in b{display:block;font-size:15.5px;color:#fff}
.v5-trust-in div span{display:block;font-size:13.5px;line-height:1.5;color:#C9D2DF;margin-top:4px}

.v5-why-hd{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:28px}
.v5-why-hd .v5-h2{margin:10px 0 0}
.v5-why-hd .v5-lede{margin:0;font-size:15.5px}
.v5-cmp{border:1px solid #DCE0E6;border-radius:14px;overflow:hidden;background:#fff}
.v5-cmp-row{display:grid;grid-template-columns:260px minmax(0,1fr) minmax(0,1fr);border-bottom:1px solid #E4E7EC;font-size:15px;line-height:1.5}
.v5-cmp-row:last-child{border-bottom:0}
.v5-cmp-row > *{padding:15px 20px}
.v5-cmp-row b{color:#12233F;font-weight:600}
.v5-cmp-head{background:#F3F5F8;font-size:13px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:#5D6B80}
.v5-cmp-head span:last-child{background:#12233F;color:#fff}
.v5-cmp-ai{color:#5D6B80}
.v5-cmp-us{color:#16202E;background:#F7F9FC;font-weight:500}
.v5-cmp-row:not(.v5-cmp-head) .v5-cmp-us::before{content:"✓";color:#2E7D5B;font-weight:700;margin-right:8px}
.v5-why-cta{margin-top:22px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  background:#fff;border:1px solid #E4E7EC;border-radius:12px;padding:16px 22px;font-size:15px;color:#344054}

.v5-seo-hd{max-width:900px;margin-bottom:26px}
.v5-seo-hd .v5-h2{margin:10px 0 12px}
.v5-seo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.v5-seo-grid article{background:#fff;border:1px solid #E4E7EC;border-radius:12px;padding:20px 22px}
.v5-seo-grid h3{margin:0 0 8px;font-size:16.5px;color:#12233F}
.v5-seo-grid p{margin:0;font-size:14.5px;line-height:1.65;color:#5D6B80}

@media (max-width:960px){
  .v5-trust-in{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v5-trust-in li:nth-child(2){border-right:0}
  .v5-trust-in li{border-bottom:1px solid #25385A}
  .v5-why-hd{grid-template-columns:1fr;gap:12px}
  .v5-cmp-row{grid-template-columns:1fr}
  .v5-cmp-row > *{padding:8px 16px}
  .v5-cmp-row b{padding-top:14px}
  .v5-cmp-head{display:none}
  .v5-cmp-ai::before{content:"AI tools: ";font-weight:600}
  .v5-seo-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .v5-trust-in{grid-template-columns:1fr}
  .v5-trust-in li{border-right:0}
  .v5-seo-grid{grid-template-columns:1fr}
  .v5-same-runs{grid-template-columns:1fr}
}

/* RT46: the hero's right column holds only the "same item" card now */
.v5-hero-side{padding-top:6px}

/* RT47: the hero lede in dark ink; the promises under the "same item" card */
.v5-lede-dark{color:#243042}
.v5-points-side{background:#fff;border:1px solid #E4E7EC;border-radius:14px;padding:18px 20px 8px}
.v5-points-side li{color:#243042}

/* RT48: "Built to be checked" — heading and lede side by side, a 3 × 2 grid with the quote as the sixth card */
.v5-chk-hd{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:28px}
.v5-chk-hd .v5-h2{margin:0}
.v5-chk-hd .v5-lede{margin:0;max-width:none;color:#344054}
.v5-chk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.v5-chk{background:#fff;border:1px solid #E4E7EC;border-radius:14px;padding:22px 24px;display:flex;flex-direction:column;gap:8px}
.v5-chk-ic{width:40px;height:40px;border-radius:10px;background:#F1F4F9;display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.v5-chk b{font-size:16.5px;color:#12233F}
.v5-chk p{margin:0;font-size:14.5px;line-height:1.65;color:#5D6B80}
.v5-chk-quote{background:#12233F;border-color:#12233F;justify-content:center;box-shadow:inset 3px 0 0 #D9B166}
.v5-chk-quote p{font-family:Georgia,'Times New Roman',serif;font-size:16.5px;line-height:1.66;font-style:italic;color:#D7DEE9}
/* RT48: the search-content heading and paragraph use the full width, no early line breaks */
.v5-seo-hd{max-width:none}
.v5-seo-hd .v5-lede{max-width:none}
.v5-seo-hd .v5-h2{max-width:none;font-size:clamp(20px,2.2vw,27px)}   /* one line at desktop width */
@media (max-width:960px){
  .v5-chk-hd{grid-template-columns:1fr;gap:12px}
  .v5-chk-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){ .v5-chk-grid{grid-template-columns:1fr} }

/* RT49: "How a determination is reached" — its intro runs as one paragraph across the width */
#how-it-works .v5-lede{max-width:none}
/* RT49: "Built to be checked" — heading, then the intro as one full-width paragraph, then the six cards */
.v5-chk-hd{display:block;margin-bottom:28px}
.v5-chk-hd .v5-h2{margin:0 0 12px}
.v5-chk-hd .v5-lede{margin:0;max-width:none}
