.elementor-2422 .elementor-element.elementor-element-669d17b{--display:flex;}/* Start custom CSS for html, class: .elementor-element-813f5b9 */:root{
    --ink:#00273E;
    --ink-soft:#48566A;
    --paper:#ffffff;
    --paper-dim:#ECE4D3;
    --orange:#CAA978;
    --teal:#CAA978;
    --gold:#CAA978;
    --line: rgba(16,30,43,0.14);
  }

  *{box-sizing:border-box;}

  /* ---------- top bar ---------- */
  .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:22px 28px;
    max-width:920px;
    margin:0 auto;
    font-size:11.5px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--ink-soft);
  }
  .topbar .mark{ color:var(--ink); font-weight:600; }
  .topbar .mark span{ color:var(--orange); }

  /* ---------- hero ---------- */
  .hero{ padding:38px 0 10px; }
  .eyebrow{
    font-size:11.5px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--teal);
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:22px;
  }
  .eyebrow::before{
    content:"";
    width:22px;height:1px;
    background:var(--teal);
    display:inline-block;
  }
  h1{
    font-optical-sizing:auto;
    font-weight:600;
    font-size:clamp(2.1rem, 5.4vw, 3.5rem);
    line-height:1.06;
    letter-spacing:-0.01em;
    margin:0 0 22px;
  }
  h1 em{ font-style:italic; font-weight:500; color:var(--teal); }
  .dek{
    font-style:italic;
    font-weight:500;
    font-size:clamp(1.05rem,1.6vw,1.25rem);
    line-height:1.5;
    color:var(--ink-soft);
    max-width:640px;
    margin:0 0 46px;
  }

  /* ---------- gap diagram (signature element) ---------- */
  .gap-diagram{
    position:relative;
    padding:34px 0 22px;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    margin-bottom:8px;
  }
  .gap-label{
    text-align:center;
    font-size:11px;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--ink-soft);
    margin-bottom:26px;
  }
  .gap-label .status{
    color:var(--orange);
    font-weight:600;
  }
  .gap-track{
    position:relative;
    height:64px;
    display:flex;
    align-items:center;
  }
  .gap-line{
    position:absolute;
    left:0; right:0; top:50%;
    height:1px;
    transform:translateY(-50%);
    background-image:linear-gradient(to right, var(--ink-soft) 40%, transparent 0%);
    background-size:8px 1px;
    background-repeat:repeat-x;
    opacity:0.5;
  }
  .gap-node{
    position:relative;
    z-index:2;
    width:11px;height:11px;
    border-radius:50%;
    background:var(--ink);
    flex-shrink:0;
  }
  .gap-node.end{ background:var(--teal); }
  .gap-node-label{
    position:absolute;
    top:20px;
    font-size:10.5px;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--ink-soft);
    white-space:nowrap;
  }
  .gap-node.start .gap-node-label{ left:-4px; }
  .gap-node.end .gap-node-label{ right:-4px; text-align:right; }

  .bridge-deck{
    position:absolute;
    z-index:1;
    top:50%;
    left:16px;
    height:6px;
    transform:translateY(-50%);
    background:var(--orange);
    width:0%;
    border-radius:3px;
    transition:width 1.6s cubic-bezier(.16,1,.3,1);
  }
  .gap-diagram.play .bridge-deck{ width:calc(100% - 32px); }

  .gap-time{
    position:absolute;
    top:-30px;
    left:50%;
    transform:translateX(-50%);
    font-weight:600;
    font-size:0.95rem;
    color:var(--ink-soft);
    white-space:nowrap;
    transition:color 1s ease .9s;
  }
  .gap-diagram.play .gap-time{ color:var(--orange); }

  /* stat row */
  .stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-bottom:1px solid var(--line);
    margin-bottom:54px;
  }
  .stat{
    padding:22px 18px 26px;
    border-left:1px solid var(--line);
  }
  .stat:first-child{ border-left:none; padding-left:0; }
  .stat .num{
    font-weight:600;
    font-size:clamp(1.4rem,3vw,2rem);
    line-height:1;
    margin-bottom:8px;
    color:var(--ink);
  }
  .stat .num .accent{ color:var(--orange); }
  .stat .label{
    font-size:10px;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--ink-soft);
    line-height:1.4;
  }

  /* ---------- lead paragraph ---------- */
  .lead{
    font-weight:400;
    font-size:clamp(1.05rem,1.6vw,1.2rem);
    line-height:1.65;
    color:var(--ink);
    margin-bottom:20px;
  }
  .lead::first-letter{
    font-size:3.6em;
    font-weight:600;
    float:left;
    line-height:0.85;
    padding-right:10px;
    padding-top:4px;
    color:var(--teal);
  }

  p.body-text{
    font-size:1.02rem;
    line-height:1.75;
    color:#26313F;
    margin:0 0 22px;
    max-width:680px;
  }

  /* ---------- section headers ---------- */
  .section{ padding:46px 0 8px; opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; }
  .section.in{ opacity:1; transform:translateY(0); }
  .section-head{
    display:flex;
    align-items:baseline;
    gap:14px;
    margin-bottom:26px;
    border-top:1px solid var(--line);
    padding-top:26px;
  }
  .section-head .sec-mark{
    font-size:11px;
    color:var(--gold);
    letter-spacing:0.06em;
  }
  h2{
    font-weight:600;
    font-size:clamp(1.4rem,2.6vw,1.85rem);
    margin:0;
    letter-spacing:-0.005em;
  }

  /* ---------- quote block ---------- */
  blockquote{
    margin:32px 0 34px;
    padding:4px 0 4px 26px;
    border-left:3px solid var(--orange);
    max-width:680px;
  }
  blockquote p{
    font-style:italic;
    font-weight:500;
    font-size:clamp(1.05rem,1.9vw,1.3rem);
    line-height:1.55;
    color:var(--ink);
    margin:0 0 12px;
  }
  blockquote cite{
    font-style:normal;
    font-size:11px;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--ink-soft);
  }

  /* inline stat chip */
  .chip{
    font-weight:600;
    font-size:0.92em;
    background:var(--paper-dim);
    border:1px solid var(--line);
    border-radius:3px;
    padding:1px 7px;
    white-space:nowrap;
    color:var(--ink);
  }

  /* ---------- process strip ---------- */
  .process{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    margin:34px 0 40px;
    position:relative;
  }
  .process::before{
    content:"";
    position:absolute;
    top:13px; left:0; right:0;
    height:0px;
    background:var(--line);
  }
  .step{
    position:relative;
    padding:0 18px 0 0;
  }
  .step:first-child{ padding-left:0; }
  .step .step-num{
    display:flex;
    align-items:center;
    gap:10px;
    font-family:'IBM Plex Mono',monospace;
    font-size:11px;
    color:var(--orange);
    margin-bottom:14px;
  }
  .step .step-num::before{
    content:"";
    width:9px;height:9px;
    border-radius:50%;
    background:var(--orange);
    position:relative;
    z-index:2;
  }
  .step h3{
    font-family:'Fraunces',serif;
    font-weight:600;
    font-size:1.02rem;
    margin:0 0 8px;
  }
  .step p{
    font-size:0.92rem;
    line-height:1.6;
    color:var(--ink-soft);
    margin:0;
  }

  /* ---------- rate arrow ---------- */
  .rate-line{
    display:flex;
    align-items:center;
    gap:14px;
    font-size:1rem;
    margin:8px 0 30px;
    color:var(--ink-soft);
  }
  .rate-line .from{ text-decoration:line-through; opacity:0.55; }
  .rate-line .to{ color:var(--teal); font-weight:600; font-size:1.15em; }
  .rate-line .arrow{ color:var(--gold); }

  /* ---------- closing ---------- */
  .closing{
    padding:56px 0 18px;
    border-top:1px solid var(--line);
    margin-top:20px;
  }
  .closing blockquote{
    border:none;
    border-top:1px solid var(--line);
    padding:34px 0 0;
    max-width:100%;
  }
  .closing blockquote p{
    font-size:clamp(1.25rem,2.8vw,1.7rem);
    text-align:left;
    max-width:760px;
  }



  @media (max-width:640px){
    .stats{ grid-template-columns:repeat(2,1fr); }
    .stat:nth-child(3){ border-left:none; padding-left:0; }
    .stat:nth-child(odd){ border-left:none; padding-left:0; }
    .stat:nth-child(even){ border-left:1px solid var(--line); }
    .process{ grid-template-columns:1fr; gap:22px; }
    .process::before{ display:none; }
    .step{ padding:0; padding-left:20px; border-left:1px solid var(--line); }
    .gap-node-label{ font-size:9px; }
  }

  @media (prefers-reduced-motion: reduce){
    .section{ opacity:1 !important; transform:none !important; }
    .bridge-deck{ transition:none; }
    .gap-time{ transition:none; }
  }/* End custom CSS */