
html.lenis {
  height: auto;
}
.lenis.lenis-smooth {
  scroll-behavior: auto;
}
.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}
.lenis.lenis-stopped {
  overflow: hidden;
}

/* Bridge Harbor — "One load, start to finish" three screens, 2026-09-16.
   Replaces the PO-to-Paid tabs in THE PRODUCT section. Layout and copy ported
   from the landing-v2 flow section; screenshots are the current flat mockups. */
.bh-screen{display:contents}
.bh-shot-txt,.bh-shot{grid-column:1/-1;min-width:0;width:100%}
.bh-shot{display:flex;flex-direction:column;margin-top:1em}
.bh-shot-txt{align-self:center}
.bh-shot-kicker{margin-bottom:1em;color:var(--colors--neutral-500)}
.bh-shot-body{max-width:52ch;margin:1em 0 0}
.bh-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));margin-top:1.25em;border-top:1px solid var(--colors--neutral-300)}
.bh-chip{padding:.9em 1.5em .9em 0;border-bottom:1px solid var(--colors--neutral-300);min-width:0}
.bh-chip .k{display:block;font-family:var(--mono);font-size:var(--font-size--xs);text-transform:uppercase;color:var(--colors--neutral-400);margin-bottom:.45em}
.bh-chip .v{font-size:var(--font-size--large);letter-spacing:-.02em;line-height:1.15;overflow-wrap:anywhere}
.bh-chip .v small{font-size:.6em}
.bh-chip.hot .v{color:var(--colors--yellow)}
.bh-shot .product-frame-img{height:auto;max-width:100%}
/* Side by side from tablet up; below 768 the screen stacks under its copy. */
@media(min-width:768px){
  .bh-shot-txt{grid-column:1/6;padding:2em 0;margin-top:0}
  .bh-shot{grid-column:6/13;margin-top:0}
  .bh-screen.flip .bh-shot-txt{grid-column:8/13}
  .bh-screen.flip .bh-shot{grid-column:1/8}
}
@media(min-width:768px) and (max-width:991px){
  .bh-screen:not(.flip) .bh-shot-txt{padding-right:1.5rem}
  .bh-screen.flip .bh-shot-txt{padding-left:1.5rem}
  .bh-shot-txt .display-xl{font-size:1.6rem;line-height:1.15}
  .bh-shot-body{font-size:1rem;line-height:1.5}
  .bh-chips{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* Bridge Harbor — "One flow, end to end" workflow band, 2026-09-16.
   Second section under the hero, rebuilt on the light system per Sahil's
   flow §2–4: one compact workflow + one product screenshot + proof stats.
   Amber (#E8A33D) is rationed to the moving truck and the hot chips. */
.bh-ops{padding-top:7em;padding-bottom:7em}
.bh-ops-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2.5em,5vw,5em);align-items:center}
.bh-ops-label{margin-bottom:1.6em}
.bh-ops-sub{margin-top:.8em;max-width:36em;color:var(--colors--neutral-500);font-size:var(--font-size--base)}
.bh-ops-strip{margin-top:2em;max-width:34em}
.bh-ops-striplabel{color:var(--colors--neutral-400)}
.bh-ops-track{position:relative;display:flex;justify-content:space-between;align-items:flex-start;margin-top:1.6em;padding-top:.95em;min-width:0}
.bh-ops-line,.bh-ops-fill{position:absolute;left:0;top:0;height:1px;width:100%}
.bh-ops-line{background:var(--colors--neutral-300)}
.bh-ops-fill{background:#E8A33D;width:0;animation:bhFill 8s infinite}
.bh-ops-node{position:relative;flex:1 1 0;min-width:0;text-align:center;font-family:var(--mono);font-size:.78em;text-transform:uppercase;letter-spacing:.04em}
.bh-ops-node::before{content:"";position:absolute;top:-.82em;left:50%;margin-left:-.25em;width:.5em;height:.5em;border-radius:50%;border:1.5px solid var(--colors--yellow);background:var(--colors--white)}
.bh-ops-truck{position:absolute;top:-.6em;left:0;width:.95em;height:.95em;color:#E8A33D;animation:bhTruck 8s infinite}
.bh-ops-truck svg{width:100%;height:100%;display:block}
.bh-ops-stats{margin-top:2.2em}
.bh-ops-statlabel{color:var(--colors--neutral-400)}
.bh-ops-statrow{display:flex;gap:3em;margin-top:1em;border-top:1px solid var(--colors--neutral-300);padding-top:1.2em}
.bh-ops-stat{display:flex;flex-direction:column;gap:.3em}
.bh-ops-stat .v{font-size:var(--font-size--2xl);letter-spacing:-.02em;line-height:1}
.bh-ops-stat .k{font-family:var(--mono);font-size:.68em;text-transform:uppercase;letter-spacing:.08em;color:var(--colors--neutral-400)}
.bh-ops-media{min-width:0}
.bh-ops-img{display:block;width:100%;height:auto;border:1px solid var(--colors--neutral-300);border-radius:var(--corners--small)}
.bh-ops .vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
@keyframes bhTruck{0%{left:0;animation-timing-function:cubic-bezier(.45,0,.25,1)}78%,100%{left:calc(100% - .95em)}}
@media(max-width:991px){.bh-ops-grid{grid-template-columns:1fr}.bh-ops-media{margin-top:1em}}
@media(max-width:640px){.bh-ops-node{font-size:.58em;letter-spacing:.01em}.bh-ops-statrow{gap:1.5em;flex-wrap:wrap}.bh-ops{padding-top:4.5em;padding-bottom:4.5em}}
@media(max-width:400px){.bh-ops-node{font-size:.52em;letter-spacing:0}}
@media(prefers-reduced-motion:reduce){.bh-ops-fill,.bh-ops-truck{animation:none}}
/* Bridge Harbor — the "No more ___." statement moves into the hero, 2026-09-25.
   It was a standalone centred section under the hero; it now runs over the video in
   the slot the HOME kicker used to hold, above the hairline. It carries .display-7xl
   so it tracks the headline's size at every breakpoint. The headline block and the
   CTAs keep their original size and left/right layout.
   It stays outside the 12-column grid: inside it, the element only spanned part of
   the track set at mobile widths, squeezing the phrase into a narrow column. */
.bh-hero-statement{margin:0;font-weight:300;color:rgba(255,255,255,.72)}
/* .bh-roll's token colour is harbor navy, which would vanish on the video. */
.bh-hero-statement .bh-roll{color:#fff}
.hero-top .bh-hero-statement{width:100%;margin:0 0 .25em}
/* The headline is deliberately NOT .hero-headline-text: a Webflow IX3 timeline in
   site.js targets that class, splits it into words and staggers them in. Renaming the
   wrapper opts the h1 out of the animation without patching the shared bundle. These
   three rules are what .hero-headline-text contributed. */
.bh-hero-headline{max-width:70ch}
@media(max-width:991px){.bh-hero-headline{font-size:3.5rem}}
@media(max-width:479px){.bh-hero-headline{max-width:25ch}}
/* Headline (and the statement, which shares .display-7xl) a step down from the stock
   ~80px, scoped to the hero so the two stay matched. */
@media(min-width:992px){
  .hero .display-7xl{font-size:clamp(3.75rem,4.6vw,4.375rem);line-height:1.06}
}
/* The headline sits a step under the statement above it, so the two contrast rather
   than competing, and breaks after "Platform". The break is dropped on narrow
   screens, where the first line would no longer fit the gutters. */
.hero .bh-hero-headline .display-7xl{font-size:2.25rem;line-height:1.08}
@media(min-width:768px){.hero .bh-hero-headline .display-7xl{font-size:3rem}}
@media(min-width:992px){.hero .bh-hero-headline .display-7xl{font-size:clamp(3rem,3.5vw,3.3rem)}}
@media(max-width:600px){.bh-hero-br{display:none}}
/* Bridge Harbor — use cases as a desk ledger, 2026-09-25.
   Ported from usecases-variation.html. The one product idiom the marketing page had
   not already spent: a table with mono column heads, hairline rows and a stage on
   every line. Replaces the three BEHIND THE SCREENS cards. Everything is scoped to
   .bh-usecases; tokens, .mono-text, .display-3xl, .divider and .label-wrap come from
   site.css. No amber — six equal workflows have no hot item. */
.bh-usecases{--soft:#6b6b6b;--ease-bh:cubic-bezier(.22,.61,.36,1);padding-top:3em;padding-bottom:4.5em}
.bh-usecases ._12-column-grid{grid-row-gap:2.75em}
.bh-usecases .sec-rule{grid-column:1/-1}
.bh-usecases .sec-label{grid-column:1/-1}
.bh-usecases .sec-head{grid-column:1/-1;display:flex;flex-direction:column;gap:.5em}
.bh-usecases .sec-head .display-3xl{font-weight:300}
.bh-usecases .lede{margin:.35em 0 0;max-width:52ch;color:var(--colors--neutral-500)}
@media(min-width:992px){
  .bh-usecases{padding-top:3.5em;padding-bottom:5em}
  .bh-usecases ._12-column-grid{grid-row-gap:3.5em}
  .bh-usecases .sec-label{grid-column:1/5;grid-row:2;padding-top:.55em}
  .bh-usecases .sec-head{grid-column:5/13;grid-row:2}
}
.bh-usecases .ledger{grid-column:1/-1;position:relative;margin-top:1.25em}
/* the spine draws downward as the ledger lands */
.bh-usecases .ledger-spine{position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--colors--neutral-300)}
.bh-anim .bh-usecases .ledger-spine{position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--colors--neutral-300);transform:scaleY(0);transform-origin:top;transition:transform 1.05s var(--ease-bh) .12s}
.bh-anim .bh-usecases .ledger.reveal-in .ledger-spine{transform:scaleY(1)}
.bh-usecases .row{display:grid;grid-template-columns:1fr;gap:.55em;padding:1.6em 0 1.6em 1.6rem;border-bottom:1px solid var(--colors--neutral-300)}
.bh-usecases .row.head{padding-top:0;padding-bottom:.9em;border-bottom:1px solid var(--colors--neutral-600);color:var(--soft)}
@media(min-width:840px){
  .bh-usecases .row{grid-template-columns:4.75rem minmax(0,1.05fr) minmax(0,1.3fr) 11rem;align-items:baseline;column-gap:1.5rem;row-gap:0;padding:1.9em 0 1.9em 1.6rem}
  .bh-usecases .row.head{padding-top:0;padding-bottom:1em}
}
/* circled numeral — the device from the values panels */
.bh-usecases .num{display:flex;align-items:center}
.bh-usecases .num i{display:flex;align-items:center;justify-content:center;font-style:normal;width:2.3rem;height:2.3rem;border-radius:50%;border:1px solid var(--colors--neutral-300);font-family:var(--mono);font-size:.82rem;letter-spacing:0;color:var(--colors--neutral-500);font-variant-numeric:tabular-nums;transition:border-color .3s ease,color .3s ease}
.bh-usecases .row:hover .num i{border-color:var(--colors--yellow);color:var(--colors--yellow)}
.bh-usecases .work{font-weight:400;letter-spacing:-.04em;line-height:1.15;color:var(--colors--neutral-600);font-size:clamp(1.3rem,1.55vw,1.6rem);margin:0}
.bh-usecases .said{color:var(--soft);font-size:clamp(.98rem,1.05vw,1.08rem);line-height:1.45;max-width:46ch;margin:0}
.bh-usecases .stage{display:flex;align-items:center;gap:.7rem;justify-content:flex-start}
@media(min-width:840px){.bh-usecases .stage{justify-content:flex-end}}
.bh-usecases .stage .tag{font-family:var(--mono);text-transform:uppercase;font-size:.72rem;letter-spacing:.02em;padding:.45em .8em;border:1px solid var(--colors--neutral-300);border-radius:var(--corners--small);color:var(--colors--neutral-500);white-space:nowrap;background:var(--colors--white);transition:border-color .3s ease,color .3s ease,background .3s ease}
.bh-usecases .row:hover .stage .tag{border-color:var(--colors--yellow);color:var(--colors--white);background:var(--colors--yellow)}
/* the long arrow from HOW WE WORK, held back until the row is read */
.bh-usecases .stage .arrow{width:2.1rem;height:1px;background:var(--colors--neutral-400);position:relative;flex:0 0 auto;opacity:0;transform:translateX(-.5rem);transition:opacity .3s ease,transform .3s var(--ease-bh)}
.bh-usecases .stage .arrow::after{content:"";position:absolute;right:0;top:-2.5px;width:6px;height:6px;border-top:1px solid var(--colors--neutral-400);border-right:1px solid var(--colors--neutral-400);transform:rotate(45deg)}
.bh-usecases .row:hover .stage .arrow{opacity:1;transform:none}
@media(max-width:839px){.bh-usecases .stage .arrow{display:none}}
/* rows arrive in order, once */
.bh-usecases .row[data-row]{transition:opacity .55s ease,transform .55s var(--ease-bh)}
.bh-anim .bh-usecases .ledger:not(.reveal-in) .row[data-row]{opacity:0;transform:translateY(14px)}
.bh-usecases .ledger.reveal-in .row[data-row="0"]{transition-delay:.10s}
.bh-usecases .ledger.reveal-in .row[data-row="1"]{transition-delay:.19s}
.bh-usecases .ledger.reveal-in .row[data-row="2"]{transition-delay:.28s}
.bh-usecases .ledger.reveal-in .row[data-row="3"]{transition-delay:.37s}
.bh-usecases .ledger.reveal-in .row[data-row="4"]{transition-delay:.46s}
.bh-usecases .ledger.reveal-in .row[data-row="5"]{transition-delay:.55s}
.bh-usecases .ledger.reveal-in .row[data-row="6"]{transition-delay:.64s}
.bh-usecases .ledger[data-reveal]{transform:none}
@media(prefers-reduced-motion:reduce){
  .bh-usecases .ledger-spine{transform:scaleY(1);transition:none}
  .bh-usecases .ledger .row[data-row]{opacity:1;transform:none;transition:none}
  .bh-usecases .num i,.bh-usecases .stage .tag,.bh-usecases .stage .arrow{transition:none}
  .bh-usecases .stage .arrow{opacity:1;transform:none}
}
/* Use cases, driven by the lens: a rail on the left opens one workflow at a time
   and the held frame on the right cross-fades to match. Ported from
   capabilities-lens-variation.html. Documents reuses the trade record until a
   documents capture exists. */
.bh-usecases .lens-rail{grid-column:1/-1}
.bh-usecases .lens-shot{grid-column:1/-1;margin-top:2em}
.bh-usecases .lens-shot .frame-well{aspect-ratio:16/9}
@media(min-width:992px){
  .bh-usecases .lens-rail{grid-column:1/5;grid-row:3;padding-right:1.5rem;margin-top:2.25em;align-self:center}
  .bh-usecases .lens-shot{grid-column:5/13;grid-row:3;margin-top:2.25em;align-self:center}
}
/* Rail rows borrow the FAQ row: a hairline, a title, and a "+" that turns. */
.bh-usecases .rail-row{border-bottom:1px solid var(--colors--neutral-300)}
.bh-usecases .rail-row:last-child{border-bottom:0}
.bh-usecases .lens{display:block;width:100%;position:relative;padding:1.15em 2.2em .95em 0;background:none;border:0;cursor:pointer;text-align:left;font:inherit;color:inherit;letter-spacing:inherit}
.bh-usecases .lens .n{display:block;color:var(--colors--neutral-400);margin-bottom:.5em;transition:color .3s ease}
.bh-usecases .lens .t2{display:block;font-weight:300;letter-spacing:-.045em;line-height:1.1;font-size:clamp(1.2rem,1.5vw,1.6rem);color:var(--soft);transition:color .35s ease}
.bh-usecases .lens::after{content:"+";position:absolute;right:0;top:1.1em;font-family:var(--mono);font-size:1.2em;line-height:1;color:var(--colors--neutral-400);transition:transform .35s ease,color .35s ease}
.bh-usecases .lens[aria-selected="true"] .n{color:var(--colors--yellow)}
.bh-usecases .lens[aria-selected="true"] .t2{color:var(--colors--neutral-600)}
.bh-usecases .lens[aria-selected="true"]::after{transform:rotate(45deg);color:var(--colors--yellow)}
.bh-usecases .lens:hover .t2{color:var(--colors--neutral-600)}
.bh-usecases .lens-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease-bh),opacity .3s ease;opacity:0}
.bh-usecases .rail-row[data-open] .lens-body{grid-template-rows:1fr;opacity:1}
.bh-usecases .lens-body>div{overflow:hidden;min-height:0}
.bh-usecases .lens-body p{margin:0;padding:0 2.2em 1.4em 0;max-width:44ch;color:var(--colors--neutral-500);font-size:clamp(.98rem,1.05vw,1.1rem);line-height:1.5}
/* The held frame — matted, with the offset outer rule. */
.bh-usecases .bh-shot{display:flex;flex-direction:column}
.bh-usecases .frame-well{position:relative;width:100%;aspect-ratio:2400/1030;background:var(--colors--white)}
.bh-usecases .shot-img{display:block;width:100%;height:100%;object-fit:cover;object-position:top left}
/* Film clips are 16:9: fit the frame width fully (small white bars blend into the
   white mat) instead of cropping the right-hand UI off. Screenshots keep cover. */
.bh-usecases .shot-layer video.shot-img{object-fit:contain;object-position:center top;background:#fff}
.bh-usecases .shot-layer{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .45s ease;pointer-events:none}
.bh-usecases .shot-layer[data-on]{opacity:1}
@media(prefers-reduced-motion:reduce){
  .bh-usecases .shot-layer,.bh-usecases .lens-body,.bh-usecases .lens .t2,.bh-usecases .lens::after,.bh-usecases .lens .n{transition:none}
  }
/* Bridge Harbor — the restored record section, 2026-09-25.
   Its full-width rule has to be placed explicitly: the grid's named areas start at
   row 2, so an unplaced divider lands in a single column and reads as a stub. */
.bh-record{padding-top:3em;padding-bottom:6em}
.bh-record ._12-column-grid{grid-row-gap:1.75em}
.bh-record .divider{grid-area:1/1/2/13;width:100%}
.bh-record #bh-product-heading .display-3xl{margin-bottom:.35em}
.bh-product{padding-top:5em;padding-bottom:3.5em}
@media(max-width:991px){
  .bh-record{padding-top:2.5em;padding-bottom:4em}
  .bh-record .divider{grid-area:auto;grid-column:1/-1}
  .bh-product{padding-top:3.5em;padding-bottom:2.5em}
}
/* Hot chips: the one rationed amber accent in the product screens. */
.bh-chip.hot{background:rgba(232,163,61,.12);border-color:rgba(232,163,61,.55)}
.bh-chip.hot .k{color:#9A6716}
.bh-chip.hot .v{color:#032437}
/* Bridge Harbor — product screens: matted frame + floating figure cards, 2026-09-25.
   Adopted from the v2 site's overlapping stat cards, rebuilt on our tokens: hairline
   borders, near-square radius, solid ground fill instead of glass and drop shadows.
   The cards sit over the screenshot's outer edge and pop in with the section reveal. */
.bh-shot-stage{position:relative}
/* One hairline around each screenshot. */
.product-frame{background:var(--colors--white)}
.bh-shot-stage .product-frame-img{display:block}

@media(min-width:992px){
  /* Cards leave the flow and ride the frame's outer edge. */
  /* Cards ride the frame's inner edge, the side facing the copy, so they never
     cover the screenshot's own sidebar. On a flipped screen that is the right. */
  .bh-chips{position:absolute;top:50%;left:-1.25rem;transform:translateY(-50%);display:grid;gap:.6rem;width:min(14rem,46%);margin:0;border-top:0;z-index:3}
  .bh-screen.flip .bh-chips{left:auto;right:-1.25rem}
  .bh-screen.flip .bh-shot[data-reveal] .bh-chip{transform:translateX(16px) scale(.97)}
  .bh-screen.flip .bh-shot[data-reveal].reveal-in .bh-chip{transform:none}
  .bh-chip{background:var(--colors--white);border:1px solid var(--colors--neutral-300);border-radius:var(--corners--small);padding:.7em .95em;min-width:0}
  .bh-chip .k{font-size:.72rem;margin-bottom:.3em}
  .bh-chip .v{font-size:1.2rem}
  /* Opaque tint — a translucent fill would let the screenshot read through the card. */
  .bh-chip.hot{background:#FBF1E1;border-color:rgba(232,163,61,.55)}
  /* Pop-in, staggered, driven by the existing [data-reveal] observer. */
  .bh-shot[data-reveal] .bh-chip{opacity:0;transform:translateX(-16px) scale(.97);transition:opacity .5s ease,transform .5s cubic-bezier(.22,1,.36,1)}
  .bh-shot[data-reveal].reveal-in .bh-chip{opacity:1;transform:none}
  .bh-shot[data-reveal].reveal-in .bh-chip:nth-child(1){transition-delay:.22s}
  .bh-shot[data-reveal].reveal-in .bh-chip:nth-child(2){transition-delay:.34s}
  .bh-shot[data-reveal].reveal-in .bh-chip:nth-child(3){transition-delay:.46s}
  /* Copy column: larger, centred on the frame. */
  .bh-shot-txt{align-self:center}
  /* Gutter between the copy and the screenshot it sits beside — on a flipped screen
     the frame (and its floating cards) is on the left, otherwise it is on the right. */
  .bh-screen.flip .bh-shot-txt{padding-left:4rem}
  .bh-screen:not(.flip) .bh-shot-txt{padding-right:4rem}
  .bh-shot-txt .display-xl{font-size:clamp(1.9rem,2.5vw,2.6rem);line-height:1.1;letter-spacing:-.035em}
  .bh-shot-body{font-size:clamp(1.05rem,1.2vw,1.28rem);line-height:1.5;max-width:42ch;margin-top:1.1em}
  .bh-shot-kicker{font-size:.8em}
}
@media(prefers-reduced-motion:reduce){
  .bh-shot[data-reveal] .bh-chip{opacity:1;transform:none;transition:none}
}
/* Email contact next to the final CTA (Sahil §2: email/contact action). */
.cta-contact{margin-top:1.4em;font-size:.72em;letter-spacing:.06em;color:rgba(255,255,255,.75)}
.cta-contact a{color:#fff;text-decoration:underline;text-underline-offset:3px}
/* Bridge Harbor — density + experience polish, 2026-09-16.
   Change: homepage-density-responsive-polish (openspec). Bounded content column,
   summary-card row, CSS-only mini-UIs, defensive scroll reveals. */
/* These sections use the site container like every other section, so their
   edges and rules line up with the hero, nav and footer. */
/* FAQ Section — smaller and centered */
.bh-faq-section{padding-top:7em;padding-bottom:7em;background-color:var(--colors--white)}
/* Newsroom sits directly above on the grey; trim its bottom padding so the two
   sections meet at the colour change instead of across a wide empty band. */
.section:has(.slider-component){padding-bottom:5em}
.bh-faq-inner{max-width:780px;margin-inline:auto;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}
.bh-faq-label{justify-content:center;margin-bottom:1.1em}
.bh-faq-heading{text-align:center;margin-bottom:2.5em;max-width:36em}
.bh-faq-heading .display-3xl{margin-bottom:.35em}
.bh-faq-sub{color:var(--colors--neutral-500);font-size:var(--font-size--base)}
.bh-faq-list{width:100%;text-align:left}
.bh-faq-list .faq-row{border-top:1px solid var(--colors--neutral-300);padding:1.35em .5em;cursor:pointer}
.bh-faq-list .faq-row:last-child{border-bottom:1px solid var(--colors--neutral-300)}
.bh-faq-list .faq-row .display-l{font-size:1.18em;font-weight:500;letter-spacing:-.015em;line-height:1.35;padding-right:1.6em;position:relative;transition:color .25s ease}
.bh-faq-list .faq-row:hover .display-l{color:var(--colors--blue)}
.bh-faq-list .faq-row .display-l::after{content:"+";position:absolute;right:0;top:0;font-family:var(--mono);font-size:1.2em;font-weight:300;line-height:1;transition:transform .35s ease;color:var(--colors--neutral-400)}
.bh-faq-list .faq-row.open .display-l::after{transform:rotate(45deg);color:var(--colors--yellow)}
.bh-faq-list .faq-row .faq-a{height:0;overflow:hidden;color:var(--colors--neutral-500);font-size:.95em;line-height:1.6;max-width:68ch}
@media(max-width:640px){.bh-faq-section{padding-top:4em;padding-bottom:4em}.bh-faq-list .faq-row .display-l{font-size:1.05em}}
/* Get Started subline */
.bh-cta-sub{display:block;max-width:34rem;margin-left:auto;margin-right:auto;font-size:clamp(1.05rem,1.4vw,1.3rem);line-height:1.45;margin-top:.9em;font-weight:400;letter-spacing:-.01em;color:rgba(255,255,255,.88)}
.bh-product ._12-column-grid{grid-row-gap:2.5em}
@media(min-width:768px){.bh-product ._12-column-grid{grid-auto-flow:dense}}
.bh-sum-intro{grid-column:1/-1;width:100%;margin-top:5em;display:flex;flex-direction:column;gap:1.25em}
.bh-sum-rule{width:100%;margin-bottom:.5em}
.bh-sum-label{margin-bottom:0}
.bh-sum-title{font-size:clamp(1.5rem,2.4vw,2.25rem);font-weight:500;letter-spacing:-.02em;line-height:1.25;color:#032437;margin:0}
.bh-sum{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5em;width:100%;min-width:0;margin-top:1.5em}
.bh-sum-card{background:var(--colors--white);border:1px solid var(--colors--neutral-300);border-radius:var(--corners--small);padding:2.2em 2em;display:flex;flex-direction:column;min-width:0;box-shadow:0 1px 3px rgba(0,0,0,0.02);transition:border-color .2s ease,box-shadow .2s ease}
.bh-sum-card:hover{border-color:rgba(3,36,55,.25);box-shadow:0 4px 16px rgba(3,36,55,.06)}
.bh-cap-ic{width:2.6em;height:2.6em;display:flex;align-items:center;justify-content:center;background:#032437;color:#fff;border-radius:var(--corners--medium);margin-bottom:1.25em}
.bh-cap-ic svg{width:1.3em;height:1.3em;stroke:#fff}
.bh-sum-card .bh-shot-kicker{font-family:var(--mono);font-size:.75em;letter-spacing:.08em;color:var(--colors--neutral-400);margin-bottom:.45em;text-transform:uppercase}
.bh-sum-card h3.display-l{font-size:1.35em;font-weight:600;line-height:1.3;letter-spacing:-.015em;margin-bottom:.6em;color:#032437}
.bh-sum-card .bh-cap-p{font-size:.92em;line-height:1.55;color:var(--colors--neutral-500);margin:0 0 1.75em 0}
.bh-mock{margin-top:auto;padding-top:1.25em;border-top:1px solid #f1f3f5;display:flex;flex-direction:column;gap:.55em}
.bh-mock-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5em}
.bh-m{border:1px solid var(--colors--neutral-300);border-radius:var(--corners--small);padding:.6em .75em;display:flex;flex-direction:column;gap:.25em;background:#fff}
.bh-m .k{font-family:var(--mono);font-size:.68em;text-transform:uppercase;letter-spacing:.08em;color:var(--colors--neutral-400)}
.bh-m .v{font-size:1.05em;font-weight:600;letter-spacing:-.01em;color:#032437}
.bh-m.hot{background:rgba(232,163,61,.09);border-color:rgba(232,163,61,.45)}
.bh-m.hot .k{color:#9A6716}
.bh-m.hot .v{color:#032437}
.bh-alert{display:grid;grid-template-columns:auto 1fr;column-gap:.6em;align-items:center;padding:.65em .8em;border:1px solid var(--colors--neutral-300);border-radius:var(--corners--small);background:#fafbfc}
.bh-alert-dot{grid-row:1/3;width:.5em;height:.5em;border-radius:50%;background:#E8A33D;animation:bhBlink 1.6s ease-in-out infinite}
.bh-alert-k{font-family:var(--mono);font-size:.72em;text-transform:uppercase;letter-spacing:.08em;color:#9A6716}
.bh-alert-v{font-size:.85em;line-height:1.35;color:var(--colors--neutral-500)}
.bh-except{display:grid;grid-template-columns:auto 1fr auto;column-gap:.65em;align-items:center;border:1px solid var(--colors--neutral-300);border-radius:var(--corners--small);padding:.65em .8em;background:#fafbfc;animation:bhBreathe 3.2s ease-in-out infinite}
.bh-except:nth-child(2){animation-delay:-1.6s}
.bh-except svg{width:1.15em;height:1.15em;color:#E8A33D}
.bh-except-content{display:flex;flex-direction:column;gap:.15em;min-width:0}
.bh-except-content .bh-alert-k{font-family:var(--mono);font-size:.72em;text-transform:uppercase;letter-spacing:.08em;color:#9A6716}
.bh-except-content .bh-alert-v{font-size:.85em;line-height:1.35;color:var(--colors--neutral-500)}
.bh-tag-neg{font-family:var(--mono);font-size:.7em;font-weight:500;color:#b91c1c;background:#fee2e2;padding:.25em .55em;border-radius:4px;white-space:nowrap}
.bh-tag-warn{font-family:var(--mono);font-size:.7em;font-weight:500;color:#9A6716;background:rgba(232,163,61,.15);padding:.25em .55em;border-radius:4px;white-space:nowrap}
.bh-chain-card{border:1px solid var(--colors--neutral-300);border-radius:var(--corners--small);background:#fafbfc;padding:.65em .75em;display:flex;flex-direction:column;gap:.6em}
.bh-chain-flow{display:flex;align-items:center;gap:.4em;justify-content:space-between}
.bh-pill{font-family:var(--mono);font-size:.7em;text-transform:uppercase;letter-spacing:.05em;padding:.35em .65em;border:1px solid var(--colors--neutral-300);border-radius:10em;background:#fff;color:#032437;animation:bhStep 6s infinite}
.bh-pill:nth-child(1){animation-delay:0s}
.bh-pill:nth-child(3){animation-delay:-2s}
.bh-pill:nth-child(5){animation-delay:-4s}
.bh-arrow{color:var(--colors--neutral-400);font-size:.75em}
.bh-chain-splits{display:grid;grid-template-columns:1fr 1fr;gap:.4em;padding-top:.5em;border-top:1px dashed var(--colors--neutral-300)}
.bh-split-row{display:flex;flex-direction:column;gap:.15em}
.bh-split-row .k{font-family:var(--mono);font-size:.64em;color:var(--colors--neutral-400);text-transform:uppercase;letter-spacing:.06em}
.bh-split-row .v{font-size:.85em;font-weight:600;color:#032437}
.bh-split-row .v small{font-size:.7em;font-weight:400;color:var(--colors--neutral-500)}
@keyframes bhStep{0%,25%{background:#032437;border-color:#032437;color:#fff}33%,100%{background:#fff;border-color:var(--colors--neutral-300);color:#032437}}
@keyframes bhBlink{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes bhBreathe{0%,100%{border-color:var(--colors--neutral-300)}50%{border-color:var(--colors--neutral-400)}}
/* Scroll reveals: hidden only once the head script marks the page (.bh-anim),
   hard fallback in the script, reduced-motion bypasses everything. */
.bh-anim [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.bh-anim [data-reveal].reveal-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.bh-anim [data-reveal]{opacity:1;transform:none;transition:none}.bh-pill,.bh-alert-dot,.bh-except{animation:none}}
@media(max-width:991px){.bh-sum{grid-template-columns:1fr;gap:1.25em}.bh-sum-card{padding:1.6em 1.4em}.bh-product ._12-column-grid{grid-row-gap:1.75em}.bh-tight{padding-top:3.5em;padding-bottom:3.5em}}
/* Bridge Harbor — "No more ___" statement (first section under the hero), 2026-09-16.
   Ported from the landing-v2 build's deal-film card (ONE LOAD. ONE RECORD.):
   same content and voice, styled on the live grid. The roll cycles the three
   pains; reduced motion holds the first phrase. */
.bh-statement-rule{grid-area:1/1/2/-1}
.bh-statement-label{grid-area:2/1/3/5}
.bh-statement-body{grid-area:2/1/3/-1;text-align:center}
.bh-statement-body .display-3xl{margin-left:auto;margin-right:auto}
.bh-statement-body .display-3xl{margin-bottom:.5em}
.bh-roll{display:inline-grid;vertical-align:bottom;color:var(--colors--yellow)}
.bh-roll>span{grid-area:1/1;opacity:0;transform:translateY(.35em);transition:opacity .45s ease,transform .45s ease}
.bh-roll>span.is-on{opacity:1;transform:none}
.bh-roll>span.is-off{transform:translateY(-.35em)}
@media(min-width:992px){.bh-roll>span{white-space:nowrap}}
@media(max-width:991px){
  .bh-statement-rule,.bh-statement-label,.bh-statement-body{grid-area:auto;grid-column:1/-1}
}
.bh-ba-table{grid-column:1/-1;margin-top:2.5em}
.bh-ba-head,.bh-ba-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr) minmax(0,3fr);gap:0 2.5em;align-items:start}
.bh-ba-head{padding-bottom:.9em;color:var(--colors--neutral-500)}
.bh-ba-row{padding:1.6em 0;border-top:1px solid var(--colors--neutral-300)}
.bh-ba-k{color:var(--colors--neutral-500)}
.bh-ba p{margin:0;font-size:var(--font-size--large);line-height:1.35;letter-spacing:-.01em}
.bh-ba-now{color:var(--colors--neutral-500)}
.bh-ba-after{color:inherit}
@media (max-width:767px){.bh-ba-head{display:none}.bh-ba-row{grid-template-columns:1fr;gap:.6em}.bh-ba-now::before{content:"Today: ";font-family:var(--mono);font-size:var(--font-size--xs);text-transform:uppercase}.bh-ba-after::before{content:"With Bridge Harbor: ";font-family:var(--mono);font-size:var(--font-size--xs);text-transform:uppercase}}

/* ---- Hero final (Hero Final.dc.html): quiet nav over the film, inverted-scale hero ---- */
.bh-home #Hero{padding-top:0}
.bh-h2-wrap{position:relative;justify-content:space-between;align-items:stretch;padding-top:92px;padding-bottom:0}
.bh-h2-top{display:flex;flex-direction:column;gap:1.25em;width:100%}
.bh-h2-h1{margin:0;min-height:44px;display:flex;align-items:center;font-size:28px;line-height:1.1;letter-spacing:-.04em;font-weight:500;color:#fff}
.bh-h2-rule{border-top:1px solid #bfbfbf85}
.bh-h2-bottom{display:flex;flex-direction:column;gap:1.75rem}
.bh-h2-statement{margin:0;display:block;font-size:clamp(48px,9vw,80px);line-height:1;letter-spacing:-.06em;font-weight:300;color:rgba(255,255,255,.6)}
.bh-h2-no{display:block}
.bh-h2-statement .bh-roll{display:grid;color:#fff}
.bh-h2-statement .bh-roll>span{align-self:start;text-wrap:balance}
.bh-h2-cta{display:flex;flex-direction:column;gap:.75rem}
.bh-h2-btn{display:flex;align-items:center;justify-content:center;height:48px;box-sizing:border-box;border:1px solid transparent;border-radius:.1rem;font-size:.9375rem;font-weight:500;letter-spacing:-.01em;text-decoration:none;transition:background-color .2s ease,border-color .2s ease}
.bh-h2-btn--solid{background:#fff;color:#032437}
.bh-h2-btn--solid:hover{background:#eef2f4}
.bh-h2-btn--ghost{border-color:rgba(255,255,255,.55);color:#fff}
.bh-h2-btn--ghost:hover{background:rgba(255,255,255,.12);border-color:#fff}
.bh-h2-btn:focus-visible{outline:2px solid #fff;outline-offset:3px}
.bh-home .hero-content{padding-left:1rem;padding-right:1rem;padding-bottom:2rem}
.bh-home .nav-bar:not(.is-scrolled),.bh-home.bh-menu-open .nav-bar{background-color:transparent;border-bottom-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
.bh-home .nav-bar:not(.is-scrolled) .bh-mark,.bh-home.bh-menu-open .bh-mark{filter:brightness(0) invert(1)}
.bh-home .nav-bar:not(.is-scrolled) .bh-wordmark,.bh-home.bh-menu-open .bh-wordmark{color:#fff}
.bh-home .nav-bar:not(.is-scrolled) .bh-nav-cta{display:none}
.bh-home .nav-bar:not(.is-scrolled) .bh-nav-login,.bh-home.bh-menu-open .bh-nav-login{display:inline-flex;align-items:center;color:#fff;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;height:44px;padding:0 .6rem;margin-left:auto}
.bh-home .nav-bar:not(.is-scrolled) .bh-nav-login:hover{background:none;color:rgba(255,255,255,.8)}
.bh-home .nav-bar:not(.is-scrolled) .bh-nav-login::before{display:none}
.bh-home .nav-bar:not(.is-scrolled) .menu-icon-wrap,.bh-home.bh-menu-open .menu-icon-wrap{background-color:transparent;border-color:rgba(255,255,255,.3)}
.bh-home .nav-bar:not(.is-scrolled) .top-line,.bh-home .nav-bar:not(.is-scrolled) .bottom-line,.bh-home.bh-menu-open .top-line,.bh-home.bh-menu-open .bottom-line{background-color:#fff}
.bh-home .nav-bar:not(.is-scrolled) .button-menu:hover .menu-icon-wrap{background-color:rgba(255,255,255,.12)}
/* mobile menu: glass over the film */
.bh-home .nav-content{background-color:rgba(3,36,55,.72);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:#fff;justify-content:flex-start;padding:92px 1rem 2rem;gap:0}
.bh-home .nav-content .nav-menu{display:flex;flex-direction:column;width:100%;flex:1;gap:0}
.bh-home .nav-content .mono-text{color:rgba(255,255,255,.6);padding:.5rem 0 .75rem}
.bh-home .nav-content .nav-link-list{border-top:1px solid rgba(255,255,255,.18);width:100%}
.bh-home .nav-content .nav-link-item{border-bottom:1px solid rgba(255,255,255,.18)}
.bh-home .nav-content .nav-link{display:flex;align-items:center;justify-content:space-between;height:64px;font-size:28px;letter-spacing:-.04em;font-weight:400;color:rgba(255,255,255,.78)}
.bh-home .nav-content .nav-link.w--current{color:#fff}
.bh-home .nav-content .nav-link::after{content:"";width:28px;height:14px;opacity:.5;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 14' fill='none' stroke='%23fff' stroke-width='1.5'%3E%3Cpath d='M0 7h26M20 1l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat}
.bh-home .nav-content .nav-link.w--current::after{opacity:1}
.bh-home .nav-content .nav-menu{align-items:stretch}
.bh-home .nav-content .nav-block,.bh-home .nav-content .nav-link-list,.bh-home .nav-content .nav-link-item,.bh-home .nav-content .nav-link-wrap{width:100%;align-items:stretch}
.bh-home .nav-content .contact-button-wrap .button-alt .button-text-wrap,.bh-home .nav-content .contact-button-wrap .button-alt .display-xs{color:#032437!important;opacity:1!important;transform:none!important}
.bh-home .nav-content .button-text-wrap{position:static;height:auto}
.bh-home .nav-content .divider{display:none}
.bh-home .nav-content .nav-block:last-of-type{margin-top:auto;width:100%}
.bh-home .nav-content .nav-block:last-of-type .mono-text,.bh-home .nav-content .bh-menu-email[href^="mailto"]{display:none}
.bh-home .nav-content .contact-button-wrap{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;width:100%}
.bh-home .nav-content .contact-button-wrap .button-wrap{order:2;width:100%}
.bh-home .nav-content .contact-button-wrap .button-alt{width:100%;height:48px;justify-content:center;background:#fff;border:1px solid #fff;border-radius:.1rem}
.bh-home .nav-content .contact-button-wrap .button-alt .display-xs{color:#032437}
.bh-home .nav-content .contact-button-wrap .button-background{display:none}
.bh-home .nav-content a.bh-menu-email[href*="sign-in"]{order:1;display:flex;align-items:center;justify-content:center;height:48px;box-sizing:border-box;border:1px solid rgba(255,255,255,.55);border-radius:.1rem;color:#fff;font-size:.9375rem;font-weight:500;text-decoration:none}
@media(min-width:992px){
  .bh-h2-wrap{padding-top:calc(72px + 1em)}
  .bh-home .hero-content{padding-left:2em;padding-right:2em;padding-bottom:2.25em}
  .bh-h2-h1{padding-right:calc(44px + 18em)}
  .bh-h2-statement{font-size:clamp(64px,7vw,104px)}
  .bh-h2-statement .bh-roll{display:inline-grid}
  .bh-h2-statement .bh-roll>span{white-space:nowrap}
  .bh-h2-cta{position:absolute;top:calc(72px + 1em);right:0;flex-direction:row;gap:.75rem}
  .bh-h2-btn{height:44px;padding:0 1.25rem}
  .bh-home .nav-bar .container-nav{height:72px;padding:0 2em;gap:3rem}
  .bh-home .bh-nav{position:static;transform:none;order:2;margin-left:auto;gap:1.75rem}
  .bh-home .bh-nav-link{padding:.5rem 0;border-radius:0;font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
  .bh-home .bh-nav-link::after{display:none}
  .bh-home .bh-nav-link.is-current{border-bottom:1px solid currentColor}
  .bh-home .nav-bar:not(.is-scrolled) .bh-nav-link{color:rgba(255,255,255,.62)}
  .bh-home .nav-bar:not(.is-scrolled) .bh-nav-link:hover{color:#fff;background:none}
  .bh-home .nav-bar:not(.is-scrolled) .bh-nav-link.is-current{color:#fff}
  .bh-home .nav-bar:not(.is-scrolled) .bh-nav-login{margin-left:0;order:3;position:relative;padding:0}
  .bh-home .nav-bar:not(.is-scrolled) .bh-nav-login::before{display:block;left:-.9rem;background-color:rgba(255,255,255,.25)}
}
