/* apps.bridgeconnectors.org landing page, Bridge design system (Sept 2026 tokens). */

@font-face{font-family:"Poppins";src:url(fonts/Poppins-Regular-latin.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url(fonts/Poppins-Medium-latin.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url(fonts/Poppins-SemiBold-latin.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url(fonts/Poppins-Bold-latin.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url(fonts/Poppins-ExtraBold-latin.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Dancing Script";src:url(fonts/DancingScript-SemiBold-latin.woff2) format("woff2");font-weight:600 700;font-style:normal;font-display:swap}
:root{
  /* Brand */
  --color-teal:#3aabaa; --color-navy:#1d2048; --color-gold:#e8a023; --color-crimson:#8c1a4a;
  --color-cream:#f6f1eb; --color-white:#ffffff; --color-slate:#4a4a5a;
  --color-border:#ebe6e0; --color-border-light:#f2ede7;
  --color-teal-10:rgba(58,171,170,.10); --color-teal-20:rgba(58,171,170,.20);
  --sans:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;
  --script:"Dancing Script",Georgia,cursive;
  --radius-lg:10px; --shadow-sm:0 2px 8px rgba(0,0,0,.08); --shadow-md:0 4px 16px rgba(0,0,0,.10);
  --focus-ring:0 0 0 3px rgba(58,171,170,.35); --ease:200ms ease; --ease-hover:120ms ease;
  --bg:var(--color-cream); --surface:var(--color-white); --ink:var(--color-navy); --body:var(--color-slate); --line:var(--color-border);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--body);font:400 15px/1.75 var(--sans)}
a{color:var(--ink);text-decoration-color:var(--color-teal);text-decoration-thickness:2px;text-underline-offset:3px;transition:opacity var(--ease-hover)}
a:hover{opacity:.88}
:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}
h1,h2,h3{color:var(--ink);margin:0}
.label{font:600 11px/1.5 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--body);margin:0}

/* Hero: full-bleed teal, white type at display size only */
.hero{position:relative;overflow:hidden;background:var(--color-teal);color:var(--color-white);padding:28px 16px 44px}
.hero-in{position:relative;z-index:1;max-width:1040px;margin:0 auto}
.logo{display:inline-block;line-height:0}
.logo img{height:40px;width:auto;filter:invert(1) brightness(10)}
.hero .label{color:var(--color-white);margin:28px 0 8px;font-size:12px}
.hero h1{color:var(--color-white);display:flex;flex-wrap:wrap;align-items:baseline;gap:0 14px;line-height:1.05}
.h-bold{font:800 clamp(2.2rem,7vw,3rem)/1.05 var(--sans);letter-spacing:-.01em}
.h-script{font:700 clamp(2.6rem,8.5vw,3.4rem)/1 var(--script)}
.rings{position:absolute;right:-70px;top:50%;width:300px;height:300px;transform:translateY(-50%);fill:none;stroke:rgba(255,255,255,.35);stroke-width:1.5;pointer-events:none}
.rings .disc{fill:rgba(255,255,255,.14);stroke:none}
@media(max-width:759px){.rings{opacity:.6}}
@media(min-width:760px){.hero{padding:36px 24px 64px}.rings{right:4%;width:340px;height:340px}.logo img{height:48px}}

.wrap{max-width:1040px;margin:0 auto;padding:24px 16px 56px}
.lead{font-size:16px;line-height:1.7;margin:12px 0 0;max-width:62ch}
.site-foot{background:var(--color-navy);color:var(--color-white);padding:40px 16px 48px}
.foot-in{max-width:1040px;margin:0 auto}
.foot-logo{height:36px;width:auto;filter:invert(1) brightness(10);margin-bottom:16px}
.site-foot p{margin:0 0 8px;max-width:75ch;font-size:12px;line-height:1.6;color:rgba(255,255,255,.88)}
.site-foot a{color:var(--color-white);text-decoration-color:var(--color-gold)}
