/* BRDG — Regatta Stationery. Shared styles for getbrdg.com.
   Versioned filename: /assets/* is cached immutable for a year by _headers,
   so a style change ships as a new vN filename, never as an edit in place. */

:root{
  --paper:#f7f6f2; --card:#fdfdfb; --navy:#0c1a33; --navy2:#12233f; --navy-line:#1d3050;
  --ink:#152238; --ink2:#5d6879; --ink3:#666f7d; --line:#e7e6df; --line2:#dcdbd2;
  --red:#c8102e; --gold:#b9974e; --on-navy:#c3cddd; --on-navy2:#7d8dab; --foil:#e9edf5;
  --hero:url("/assets/hero.jpg");
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,sans-serif;
  background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;
  font-size:16px;line-height:1.5;overflow-x:hidden}
a{color:inherit}
img{display:block;max-width:100%}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}

.eyebrow{font-size:11px;font-weight:800;letter-spacing:.28em;text-transform:uppercase;
  color:var(--ink3)}
.eyebrow.on-navy{color:var(--on-navy2)}
.eyebrow .dot{color:var(--red)}

/* ── top bar ─────────────────────────────────────────── */
header{position:absolute;top:0;left:0;right:0;z-index:20}
header.solid{position:static;background:var(--navy)}
.bar{display:flex;align-items:center;justify-content:space-between;padding:26px 24px;
  max-width:1160px;margin:0 auto}
.brand{display:flex;flex-direction:column;gap:8px;text-decoration:none;padding:8px 0;margin:-8px 0}
.brand b{font-size:19px;font-weight:800;letter-spacing:.38em;color:#fff;line-height:1}
.brand .cord{height:2px;width:44px;background:var(--red);position:relative}
.brand .cord::after{content:"";position:absolute;right:-7px;top:-1.5px;width:5px;height:5px;
  border-radius:50%;background:var(--gold)}
.navlinks{display:flex;align-items:center;gap:30px}
.navlinks a{color:var(--on-navy);text-decoration:none;font-size:12px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;transition:color .2s}
.navlinks a:hover{color:#fff}
.navlinks a[aria-current="page"]{color:#fff}
.navlinks .btn-nav{border:1px solid rgba(255,255,255,.28);padding:12px 22px;color:#fff}
.navlinks .btn-nav:hover{background:#fff;color:var(--navy);border-color:#fff}
@media(max-width:820px){.navlinks a:not(.btn-nav){display:none}}

/* ── hero ────────────────────────────────────────────── */
.hero{position:relative;min-height:92vh;display:flex;align-items:flex-end;padding-top:110px;
  background:var(--navy);color:#fff;overflow:hidden}
.hero .bg{position:absolute;inset:0;background-image:var(--hero);
  background-size:cover;background-position:center;filter:saturate(.85) brightness(.58)}
.hero .veil{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(8,16,32,.74) 0%,rgba(8,16,32,.40) 38%,rgba(8,16,32,.90) 100%)}
.hero .inner{position:relative;z-index:2;padding:0 24px 10vh;max-width:1160px;
  margin:0 auto;width:100%}
.hero h1{font-size:clamp(34px,5.2vw,64px);font-weight:800;letter-spacing:-.035em;
  line-height:1.04;max-width:32ch;margin:22px 0 0}
.hero h1 em{font-style:normal;color:#fff;border-bottom:3px solid var(--red);padding-bottom:2px}
.hero p{margin:26px 0 0;font-size:clamp(15px,1.5vw,19px);color:var(--on-navy);
  max-width:58ch;line-height:1.7;font-weight:500}
.hero p strong{color:#fff;font-weight:700}

/* the pitch line, set as a quoted display element */
.pitch{margin:32px 0 0;border-left:3px solid var(--red);padding:4px 0 4px 22px;
  max-width:44ch}
.pitch q{quotes:"\201C" "\201D";display:block;font-size:clamp(19px,2.3vw,27px);
  font-weight:800;letter-spacing:-.02em;line-height:1.28;color:#fff}
.pitch q::before{margin-left:-.42em}
.pitch q::after{margin-left:-.06em}
.pitch .said{display:block;margin-top:14px;font-size:11px;font-weight:800;
  letter-spacing:.2em;text-transform:uppercase;color:var(--on-navy2)}
/* over the hero photograph the muted labels drop under AA at the photo's lightest pixel (card #70) */
.hero .eyebrow.on-navy,.hero .pitch .said{color:var(--foil)}
.pitch.ink{border-left-color:var(--red)}
.pitch.ink q{color:var(--navy)}
.pitch.ink .said{color:var(--ink3)}

.ctas{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:36px}
.cta{display:inline-flex;align-items:center;gap:11px;background:#fff;
  color:var(--navy);text-decoration:none;padding:16px 30px;font-weight:800;font-size:13px;
  letter-spacing:.16em;text-transform:uppercase;transition:transform .2s,box-shadow .2s}
.cta:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.3)}
.cta .arw{color:var(--red)}
.cta.dark{background:var(--navy);color:#fff}
.cta.dark:hover{background:var(--navy2)}
.cta.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.32)}
.cta.ghost:hover{background:rgba(255,255,255,.08);box-shadow:none}
.cta.ghost .arw{color:var(--gold)}

/* ── subpage masthead (no photograph) ────────────────── */
.phead{background:var(--navy);color:#fff;padding:9vh 0 10vh;position:relative}
.phead::after{content:"";position:absolute;bottom:0;left:24px;right:24px;height:2px;
  background:linear-gradient(90deg,var(--red) 0,var(--red) 90px,transparent 90px)}
.phead .grid{display:grid;grid-template-columns:1.18fr .82fr;gap:58px;align-items:end}
.phead h1{font-size:clamp(30px,4.7vw,58px);font-weight:800;letter-spacing:-.035em;
  line-height:1.05;max-width:20ch;margin:20px 0 0}
.phead h1 em{white-space:nowrap}
.phead h1 em{font-style:normal;border-bottom:3px solid var(--red);padding-bottom:2px}
.phead p{margin-top:24px;font-size:clamp(15px,1.4vw,18.5px);color:var(--on-navy);
  line-height:1.72;font-weight:500;max-width:60ch}

/* right-hand column of the subpage masthead */
.pnote{border-left:2px solid var(--navy-line);padding-left:26px}
.pnote .cap{display:block;font-size:10.5px;font-weight:800;letter-spacing:.2em;
  text-transform:uppercase;color:var(--on-navy2);margin-bottom:6px}
.pnote ul{list-style:none}
.pnote li{border-top:1px solid var(--navy-line);padding:13px 0;font-size:14.5px;
  color:var(--on-navy);line-height:1.55;font-weight:500}
.pnote li strong{display:block;color:#fff;font-weight:800;font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;margin-bottom:5px}
@media(max-width:900px){
  .phead .grid{grid-template-columns:1fr;gap:38px}
  .pnote{border-left:0;border-top:2px solid var(--red);padding-left:0;padding-top:22px}
}

/* ── prose + numbered list sections ──────────────────── */
.band{padding:13vh 0}
.band.paper{background:var(--paper)}
.band.card{background:var(--card);border-top:1px solid var(--line2);
  border-bottom:1px solid var(--line2)}
.lead{max-width:800px;margin-bottom:72px}
.lead h2{font-size:clamp(26px,3.7vw,45px);font-weight:800;letter-spacing:-.03em;
  color:var(--navy);line-height:1.12;margin:18px 0 0}
.lead h2 em{font-style:normal;border-bottom:3px solid var(--red);padding-bottom:1px}
.lead p{margin-top:22px;font-size:clamp(15px,1.3vw,18px);color:var(--ink2);
  line-height:1.75;font-weight:500;max-width:64ch}
.lead p + p{margin-top:16px}

.svc-list{display:grid;gap:0}
.svc{display:grid;grid-template-columns:120px 1fr;gap:36px;padding:38px 0;
  border-top:1px solid var(--line2);align-items:start}
.svc:last-child{border-bottom:1px solid var(--line2)}
.svc .no{font-size:44px;font-weight:800;letter-spacing:-.03em;color:var(--navy);
  font-variant-numeric:tabular-nums;line-height:.9;transition:color .3s}
.svc .no span{color:var(--ink3);font-size:18px;vertical-align:super}
.svc h3{font-size:clamp(19px,2vw,24px);font-weight:800;letter-spacing:-.02em;
  color:var(--navy);margin-bottom:12px}
.svc p{font-size:15.5px;color:var(--ink2);line-height:1.7;font-weight:500;max-width:60ch}
.svc p + p{margin-top:12px}
.svc:hover .no{color:var(--red)}
@media(max-width:680px){.svc{grid-template-columns:1fr;gap:14px;padding:30px 0}
  .svc .no{font-size:34px}}

/* ── navy band with photograph ───────────────────────── */
.about{position:relative;background:var(--navy);color:#fff;padding:15vh 0}
.about .bg{position:absolute;inset:0;background-image:var(--hero);
  background-size:cover;background-position:center 30%;opacity:.16;filter:grayscale(.3)}
.about .veil{position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(8,16,32,.95) 30%,rgba(8,16,32,.6) 100%)}
.about .inner{position:relative;z-index:2}
.about h2{font-size:clamp(25px,3.5vw,43px);font-weight:800;letter-spacing:-.03em;
  line-height:1.15;max-width:22ch;margin:20px 0 0}
.about h2 em{font-style:normal;color:#fff;border-bottom:3px solid var(--red);padding-bottom:2px}
.about p{margin-top:26px;font-size:clamp(15px,1.3vw,18px);color:var(--on-navy);
  line-height:1.8;font-weight:500;max-width:62ch}
.about p + p{margin-top:16px}
.about .lnk{display:inline-flex;align-items:center;gap:10px;margin-top:12px;color:#fff;
  text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;border-bottom:2px solid var(--gold);padding:18px 0 6px}
.about .lnk:hover{border-color:#fff}

/* ── figures grid ────────────────────────────────────── */
.stats .head{max-width:660px;margin-bottom:58px}
.stats h2{font-size:clamp(24px,3.2vw,38px);font-weight:800;letter-spacing:-.03em;
  color:var(--navy);margin-top:16px}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  border:1px solid var(--line2);background:var(--card)}
.stat{padding:38px 30px;border-left:1px solid var(--line)}
.stat:first-child{border-left:0;position:relative}
.stat:first-child::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--navy)}
.stat .big{font-size:clamp(42px,5vw,60px);font-weight:800;letter-spacing:-.04em;
  color:var(--navy);font-variant-numeric:tabular-nums;line-height:1}
.stat .lbl{font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink3);margin:16px 0 8px}
.stat .desc{font-size:13.5px;color:var(--ink2);line-height:1.6;font-weight:500}
@media(max-width:860px){.stat-grid{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(3){border-left:0}
  .stat:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:480px){.stat-grid{grid-template-columns:1fr}
  .stat{border-left:0;border-bottom:1px solid var(--line)}
  .stat:last-child{border-bottom:0}}

/* ── step-by-step walkthrough ────────────────────────── */
.steps{counter-reset:step;border-top:1px solid var(--line2);max-width:840px}
.steps li{counter-increment:step;list-style:none;display:grid;
  grid-template-columns:58px 1fr;gap:26px;padding:30px 0;
  border-bottom:1px solid var(--line2);align-items:baseline}
.steps li::before{content:counter(step);font-size:15px;font-weight:800;
  letter-spacing:.06em;color:var(--navy);font-variant-numeric:tabular-nums;
  border-bottom:2px solid var(--red);padding-bottom:4px;width:fit-content}
.steps p{font-size:16px;color:var(--ink);line-height:1.66;font-weight:500}
.steps p .q{color:var(--ink2);display:block;margin-top:8px;font-size:14.5px}
@media(max-width:600px){.steps li{grid-template-columns:1fr;gap:10px;padding:24px 0}}

/* ── build-state disclosure ──────────────────────────── */
.honest{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line2);
  background:var(--card)}
.honest > div{padding:34px 30px;border-left:1px solid var(--line)}
.honest > div:first-child{border-left:0}
.honest b{display:block;font-size:11px;font-weight:800;letter-spacing:.2em;
  text-transform:uppercase;color:var(--navy);margin-bottom:14px;padding-bottom:12px;
  border-bottom:1px solid var(--line)}
.honest p{font-size:14.5px;color:var(--ink2);line-height:1.68;font-weight:500}
.honest .now b{color:var(--navy)}
.honest .next b{color:var(--red)}
@media(max-width:820px){.honest{grid-template-columns:1fr}
  .honest > div{border-left:0;border-bottom:1px solid var(--line)}
  .honest > div:last-child{border-bottom:0}}

/* ── closing band + footer ───────────────────────────── */
.close{background:var(--navy);color:#fff;padding:14vh 0 0;position:relative}
.close::before{content:"";position:absolute;top:0;left:24px;right:24px;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold) 20%,var(--gold) 80%,transparent);
  opacity:.5}
.close .inner{text-align:center;max-width:780px;margin:0 auto;padding-bottom:13vh}
.close h2{font-size:clamp(27px,4.3vw,52px);font-weight:800;letter-spacing:-.035em;
  line-height:1.08;margin:20px 0 0}
.close p{margin:22px auto 0;font-size:clamp(15px,1.4vw,18px);color:var(--on-navy);
  line-height:1.72;font-weight:500;max-width:54ch}
.close .sig{margin-top:30px;font-size:12px;font-weight:800;letter-spacing:.18em;
  text-transform:uppercase;color:var(--on-navy2);line-height:1.9}
.close .sig span{color:var(--on-navy)}

.site-foot{background:var(--navy);color:#fff}
footer{border-top:1px solid var(--navy-line);padding:44px 0 40px}
.foot{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;
  flex-wrap:wrap}
.foot .fbrand b{font-size:16px;font-weight:800;letter-spacing:.38em;color:#fff}
.foot .fbrand p{margin-top:12px;font-size:12.5px;color:var(--on-navy2);max-width:38ch;
  line-height:1.65;font-weight:500}
.foot-links{display:flex;gap:56px;flex-wrap:wrap}
.foot-col b{font-size:10px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;
  color:var(--on-navy2);display:block;margin-bottom:16px}
.foot-col a{display:block;color:var(--on-navy);text-decoration:none;font-size:13px;
  font-weight:600;margin-bottom:11px;transition:color .2s}
.foot-col a:hover{color:#fff}
/* touch: each footer link is a 44px row; same rhythm, bigger target */
@media(max-width:820px){.foot-col b{margin-bottom:4px}.foot-col a{padding:12px 0;margin-bottom:0;min-height:44px}}
.legal{border-top:1px solid var(--navy-line);margin-top:40px;padding-top:24px;
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.legal p{font-size:11.5px;color:var(--on-navy2);font-weight:500;line-height:1.65;max-width:74ch}

/* ── accessibility ───────────────────────────────────── */
.skip{position:absolute;left:24px;top:-60px;z-index:100;background:#fff;color:var(--navy);
  padding:13px 20px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  text-decoration:none;transition:top .2s}
.skip:focus{top:16px}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.hero a:focus-visible,.about a:focus-visible,.close a:focus-visible,
.phead a:focus-visible,.navlinks a:focus-visible{outline-color:#fff}

/* ── the handover, on a phone: frame strip (card #78) ── */
/* Scrolls inside its own container; the page never scrolls sideways. Frames are the
   product's own 390px captures, shown flat: no bezel, no shadow, square corners. */
.path{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;list-style:none;
  padding-bottom:18px;overscroll-behavior-x:contain}
.path:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.path li{flex:0 0 260px;scroll-snap-align:start}
.path img{width:260px;height:auto;border:1px solid var(--line2);background:var(--card)}
.path figcaption{margin-top:14px;font-size:14.5px;font-weight:700;color:var(--navy);line-height:1.4}
.path .n{display:block;font-size:11px;font-weight:800;letter-spacing:.2em;color:var(--ink3);margin-bottom:6px}

/* ── reveal on scroll (progressive enhancement only) ─── */
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.22,1,.36,1),
  transform .8s cubic-bezier(.22,1,.36,1)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}}

/* ── Night Watch (Regatta Glass) ─────────────────────── */
/* prefers-color-scheme only; the site has no toggle. Screen only, so a printed page
   stays stationery. Tokens follow design/regatta-dark-reference.html and the
   one-pager's swap: --navy becomes the foil, so navy-as-background is restated. */
@media screen and (prefers-color-scheme: dark){
  :root{
    --paper:#0a1225; --card:rgba(15,26,51,.55); --navy:#e9edf5; --navy2:#fff; --navy-line:#20304f;
    --ink:#e9edf5; --ink2:#b6c1d4; --ink3:#8d9ab2; --line:#1b2947; --line2:#243456;
    --red:#e8536d; --gold:#cfa95e; --on-navy2:#8d9ab2;
  }
  /* Layered night atmosphere: navy lift high right, brass whisper low left. The layers
     are viewport-fixed, so the darkest stop sits under them as a solid fallback, or
     cream would show wherever a fixed background is not painted. */
  body{background:
      radial-gradient(1200px 800px at 85% -10%,#16294d 0%,transparent 60%),
      radial-gradient(900px 700px at 0% 100%,rgba(207,169,94,.06) 0%,transparent 55%),
      linear-gradient(160deg,#0a1225 0%,#060d1d 100%);
    background-attachment:fixed;background-color:#060d1d}
  .band.paper{background:transparent}
  header.solid,.hero,.phead,.about,.close,.site-foot{background:#060d1d}
  /* glass panels; square corners stay */
  .stat-grid,.honest{-webkit-backdrop-filter:blur(18px) saturate(1.1);
    backdrop-filter:blur(18px) saturate(1.1);border-color:rgba(233,237,245,.08);
    border-top-color:rgba(233,237,245,.14);box-shadow:0 10px 28px rgba(0,0,0,.28)}
  /* the ONE glow per page: the build-state disclosure, brass (index, agents, handover) */
  .honest{box-shadow:0 0 44px rgba(207,169,94,.14)}
  /* primary buttons invert to foil and carry navy ink */
  .cta{background:#e9edf5;color:#0a1225}
  .cta.dark,.skip,.navlinks .btn-nav:hover{color:#0a1225}
}
