@charset "UTF-8";
/* AIRBEAR website · styles matched to the Fall 2026 investor deck */

/* ---------- Fonts (self-hosted, SIL Open Font License) ---------- */
@font-face{font-family:"Caladea";src:url("/assets/fonts/caladea-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Caladea";src:url("/assets/fonts/caladea-latin-700-italic.woff2") format("woff2");font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:"Caladea";src:url("/assets/fonts/caladea-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Caladea";src:url("/assets/fonts/caladea-latin-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Lato";src:url("/assets/fonts/lato-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Lato";src:url("/assets/fonts/lato-latin-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Lato";src:url("/assets/fonts/lato-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

/* ---------- Tokens (sampled from the deck) ---------- */
:root{
  --ink:#141a26;          /* deck title-slide navy */
  --ink-2:#1a2231;        /* raised navy panel */
  --ink-line:#2c3648;     /* rules on navy */
  --cream:#f2eee6;        /* headline white on navy */
  --on-dark:#cdd5e0;      /* body text on navy */
  --on-dark-muted:#9aa5b4;
  --sky:#9dbbd9;          /* italic accent + CTA on navy */
  --sky-hover:#c3d7eb;
  --paper:#fbfbf8;        /* deck slide ground */
  --stone:#f3f2ec;        /* deck card fill */
  --stone-2:#eceae2;
  --rule:#d8d6ce;
  --ghost:#ebe8e0;        /* big slide numerals */
  --heading:#1a2436;      /* headline navy on paper */
  --body:#525a66;         /* body grey on paper */
  --blue:#1f4e79;         /* bars, numerals, eyebrows */
  --blue-ital:#2a587f;    /* italic accent on paper */
  --serif:"Caladea",Cambria,Georgia,"Times New Roman",serif;
  --sans:"Lato",Carlito,"Segoe UI",Arial,Helvetica,sans-serif;
  --max:1240px;
  --gutter:clamp(20px,4vw,48px);
  color-scheme:dark;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--on-dark);font-family:var(--sans);font-size:1.0625rem;line-height:1.65;font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:700;text-wrap:balance}
h1 em,h2 em{font-style:italic;font-weight:700}
:focus-visible{outline:3px solid var(--sky);outline-offset:4px}
.paper :focus-visible,.stone :focus-visible{outline-color:var(--blue)}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.skip-link{position:absolute;left:16px;top:-80px;z-index:50;padding:12px 16px;background:var(--cream);color:var(--ink);font-weight:700}
.skip-link:focus{top:16px}

.eyebrow{font-family:var(--sans);font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;line-height:1.5}

/* ---------- Buttons & links ---------- */
.button{display:inline-flex;align-items:center;gap:28px;padding:17px 24px;background:var(--sky);color:var(--ink);font-family:var(--sans);font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border:0;cursor:pointer;transition:background-color .2s ease}
.button:hover{background:var(--sky-hover)}
.button span{font-size:1rem;letter-spacing:0}
.text-link{display:inline-flex;align-items:center;gap:18px;padding:12px 0;border-bottom:1px solid currentColor;font-size:.9375rem;transition:color .2s ease}
.text-link:hover{color:var(--sky)}

/* ---------- Header ---------- */
.site-header{background:var(--ink);border-bottom:1px solid var(--ink-line)}
.header-inner{display:flex;align-items:center;gap:40px;padding-block:26px}
.wordmark{font-family:var(--serif);font-weight:700;font-size:1.75rem;letter-spacing:.04em;line-height:1;color:var(--cream)}
.brand-point{color:var(--sky)}
.main-nav{display:flex;gap:32px;margin-left:auto;font-size:.9375rem}
.main-nav a:hover{color:var(--sky)}
.header-contact{padding:10px 16px;border:1px solid var(--sky);color:var(--sky);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;transition:background-color .2s,color .2s}
.header-contact span{margin-left:10px;letter-spacing:0}
.header-contact:hover{background:var(--sky);color:var(--ink)}

/* ---------- Hero (deck title slide) ---------- */
.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);background:var(--ink)}
.hero-copy{position:relative;padding-block:clamp(56px,7vw,96px) clamp(56px,6vw,88px);padding-left:max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)));padding-right:clamp(24px,4vw,64px)}
.hero .eyebrow{color:var(--sky);margin-bottom:28px}
.hero h1{font-size:clamp(3.4rem,6.6vw,6.25rem);line-height:.98;letter-spacing:-.012em;color:var(--cream)}
.hero h1 em{color:var(--sky)}
.bar{display:block;width:92px;height:5px;margin:34px 0 30px;background:var(--sky)}
.hero-description{max-width:30em;font-size:1.1875rem;line-height:1.6;color:var(--on-dark)}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 30px;margin-top:38px}
.hero-actions .text-link{color:var(--cream);border-color:#5b6a80}
.hero-image{position:relative;min-height:600px;overflow:hidden;background:#2a1d0c}
.hero-image picture,.hero-image img{position:absolute;inset:0;width:100%;height:100%}
.hero-image img{object-fit:cover;object-position:50% 18%}
.hero-image::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(to bottom,rgba(10,14,22,0),rgba(10,14,22,.82));pointer-events:none}
.hero-image figcaption{position:absolute;left:32px;right:32px;bottom:30px;z-index:1;display:flex;flex-direction:column;gap:6px;color:#fff;font-size:.9375rem}
.hero-image figcaption span:first-child{font-size:.6875rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--sky-hover)}

/* Radar rings (deck motif) */
.radar{position:absolute;pointer-events:none;fill:none;stroke:rgba(157,187,217,.28);stroke-width:.8}
.radar line{stroke:rgba(157,187,217,.55)}
.radar .blip{fill:rgba(195,215,235,.85);stroke:none}
.radar-hero{top:30px;right:clamp(16px,2.5vw,40px);width:clamp(130px,12vw,176px);height:auto}
.radar .sweep{transform-origin:100px 100px;animation:sweep 9s linear infinite}
.radar .blip{animation:blip 3s ease-in-out infinite}
.radar .blip-2{animation-delay:1.4s}
@keyframes sweep{to{transform:rotate(360deg)}}
@keyframes blip{0%,100%{opacity:.25}50%{opacity:1}}

/* ---------- Mission strip ---------- */
.mission-strip{background:var(--ink);border-top:1px solid var(--ink-line);border-bottom:1px solid var(--ink-line)}
.mission-inner{display:flex;justify-content:space-between;align-items:baseline;gap:12px 40px;flex-wrap:wrap;padding-block:26px}
.mission-strip p{font-size:1rem}
.mission-lead{font-family:var(--serif);font-style:italic;font-weight:700;font-size:1.25rem!important;color:var(--sky)}

/* ---------- Sections ---------- */
.section{padding-block:clamp(72px,9vw,120px)}
.paper{background:var(--paper);color:var(--body)}
.stone{background:var(--stone);color:var(--body)}
.dark{background:var(--ink-2);color:var(--on-dark)}
.darker{background:var(--ink);color:var(--on-dark)}

/* Deck slide header: eyebrow, ghost numeral, title, short bar on hairline, lede */
.sec-head{position:relative;margin-bottom:clamp(40px,5vw,64px)}
.sec-head .eyebrow{color:var(--blue);margin-bottom:18px}
.ghost{position:absolute;top:-.18em;right:0;font-family:var(--serif);font-weight:700;font-size:clamp(4.5rem,9vw,7.5rem);line-height:1;color:var(--ghost);pointer-events:none;user-select:none}
.stone .ghost{color:var(--stone-2)}
.sec-head h2{position:relative;font-size:clamp(2.4rem,4.6vw,3.75rem);line-height:1.04;letter-spacing:-.01em;color:var(--heading);max-width:15em}
.sec-head h2 em{color:var(--blue-ital)}
.sec-rule{position:relative;display:block;height:2px;margin:26px 0 22px;background:var(--rule)}
.sec-rule::before{content:"";position:absolute;left:0;top:-2px;width:92px;height:5px;background:var(--blue)}
.lede{max-width:40em;font-size:1.1875rem;line-height:1.6;color:var(--body)}

/* Platform steps: deck product cards */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.step{background:var(--stone);border:1px solid var(--stone-2);border-top:6px solid var(--blue);padding:30px 28px 34px}
.step-num{display:block;font-family:var(--serif);font-weight:700;font-size:1.375rem;color:var(--blue);font-variant-numeric:tabular-nums}
.step h3{margin:22px 0 12px;font-size:1.75rem;line-height:1.15;color:var(--heading)}
.step p{font-size:1rem}

.record-note{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px 40px;align-items:baseline;margin-top:44px;padding:4px 0 4px 26px;border-left:5px solid var(--blue)}
.record-note .eyebrow{color:var(--blue)}
.record-text{font-family:var(--serif);font-style:italic;font-weight:700;font-size:1.375rem;line-height:1.35;color:var(--heading)}
.qualification{margin-top:28px;max-width:52em;font-size:.8125rem;font-style:italic;color:#7b818a}

/* Applications: deck market table */
.app-list{list-style:none;margin:0;padding:0;border-top:2px solid var(--rule)}
.app-list li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 48px;align-items:baseline;padding:30px 0;border-bottom:2px solid var(--rule)}
.app-list h3{font-size:1.625rem;line-height:1.2;color:var(--heading)}
.app-list p{font-size:1.0625rem}

/* Accountability */
.account-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px 72px;align-items:end}
.dark .eyebrow,.darker .eyebrow{color:var(--sky);margin-bottom:22px}
.dark h2,.darker h2{font-size:clamp(2.5rem,4.8vw,4rem);line-height:1.04;letter-spacing:-.01em;color:var(--cream)}
.dark h2 em,.darker h2 em{color:var(--sky)}
.account-body{display:grid;gap:18px;justify-items:start;max-width:34em}
.account-body .text-link{margin-top:10px;color:var(--cream);border-color:#5b6a80}

/* Contact */
.contact{position:relative;overflow:hidden}
.radar-contact{position:static;display:block;width:clamp(150px,14vw,190px);height:auto;margin-top:56px}
.contact-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:48px 80px;align-items:start}
.contact-intro>p:not(.eyebrow){margin-top:26px;max-width:24em;font-size:1.125rem}
.contact h2{font-size:clamp(2.6rem,5.2vw,4.5rem)}

.contact-form{display:grid;gap:22px;padding:clamp(24px,3vw,40px);background:var(--ink-2);border:1px solid var(--ink-line);border-top:6px solid var(--sky)}
.field-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
.field{display:grid;gap:8px}
.field label{font-size:.6875rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--on-dark-muted)}
.field input,.field select,.field textarea{width:100%;padding:12px 14px;background:var(--ink);color:var(--cream);border:1px solid var(--ink-line);border-radius:0;font:inherit;font-size:1rem;line-height:1.4}
.field textarea{resize:vertical;min-height:130px}
.field select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%239dbbd9' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 1px var(--sky)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.form-status{font-size:.9375rem;color:var(--on-dark)}
.form-status.is-ok{color:#a8d5b5}
.form-status.is-error{color:#f0b3a8}
.contact-form .button[disabled]{opacity:.6;cursor:progress}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);border-top:1px solid var(--ink-line)}
.footer-inner{display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px;padding-block:30px}
.site-footer .wordmark{font-size:1.4rem}
.site-footer p{font-size:.8125rem;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-muted)}
.site-footer small{margin-left:auto;font-size:.8125rem;color:var(--on-dark-muted)}

/* ---------- 404 ---------- */
.notfound{min-height:60vh;display:grid;align-content:center}
.notfound h1{font-size:clamp(2.8rem,6vw,4.5rem);line-height:1.02;color:var(--cream)}
.notfound h1 em{color:var(--sky)}
.notfound p{margin:24px 0 32px;max-width:32em}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .hero-image{min-height:560px}
  .steps{gap:16px}
  .step{padding:26px 22px 30px}
  .account-grid,.contact-grid{gap:40px 48px}
}
@media (max-width:900px){
  .hero{grid-template-columns:1fr}
  .hero-copy{padding-left:var(--gutter);padding-right:var(--gutter)}
  .hero-image{min-height:0;height:clamp(360px,70vw,560px)}
  .hero-image img{object-position:50% 22%}
  .steps{grid-template-columns:1fr}
  .step{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:12px;padding:24px 22px}
  .step-num{grid-row:span 2;padding-top:4px}
  .step h3{margin:0 0 8px}
  .account-grid,.contact-grid{grid-template-columns:1fr}
  .account-grid{align-items:start}
  .radar-contact{display:none}
}
@media (max-width:640px){
  body{font-size:1rem}
  .header-inner{gap:18px;padding-block:20px}
  .wordmark{font-size:1.45rem}
  .main-nav{gap:18px;font-size:.875rem}
  .header-contact{display:none}
  .hero-copy{padding-block:48px 52px}
  .radar-hero{top:22px;width:120px;opacity:.7}
  .hero h1{font-size:clamp(3rem,14vw,4.25rem)}
  .hero-description{font-size:1.0625rem}
  .button{padding:16px 20px;gap:20px}
  .hero-image figcaption{left:20px;right:20px;bottom:22px}
  .ghost{font-size:4rem;top:-.1em}
  .lede{font-size:1.0625rem}
  .record-note{grid-template-columns:1fr;padding-left:18px}
  .record-text{font-size:1.2rem}
  .app-list li{grid-template-columns:1fr;padding:24px 0}
  .app-list h3{font-size:1.45rem}
  .field-row{grid-template-columns:1fr}
  .site-footer small{margin-left:0;width:100%}
}
@media (max-width:360px){
  .main-nav{gap:12px;font-size:.8125rem}
  .wordmark{font-size:1.3rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
