/* ============================================================
   site.css — Mobile Up Technology Systems
   Unified design system for all 7 pages.
   ------------------------------------------------------------
   Pages (each applies its body class):
     index.html                      page-home
     trusted-boater.html             page-tb
     investor-relations.html         page-investor
     about.html                      page-about
     partners-insurance.html         page-partner-ins
     partners-law-enforcement.html   page-partner-le
     partners-marina.html            page-partner-marina

   Typography: Inter throughout, 17px body for older eyes.
   Common components (nav, btn, container, section, eyebrow,
   section-title, form fields, footer) are global. Page-scoped
   rules cover only layouts unique to one page.
   ============================================================ */


/* ===== Reset ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}


/* ===== Tokens ===== */
:root{
  --ink:#0A1628;--ink2:#0F2040;
  --teal:#1D9E75;--teal-l:#3DC496;--teal-gl:#E1F5EE;
  --sky:#2A8EC4;--sky-l:#5BB3E0;
  --amber:#E8A020;--amber-l:#FDF0D5;
  --gold:#B8903A;--gold-l:#F7EDD6;
  --purple:#9B72CF;
  --off:#F2F6FA;--white:#FFFFFF;
  --text:#1A2E45;--muted:#5A7A8A;
  --border:rgba(10,22,40,0.1);
}


/* ===== Body & base typography (Inter) ===== */
body{
  font-family:'Inter',sans-serif;
  font-size:17px;line-height:1.7;font-weight:400;
  background:var(--white);color:var(--text);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* Partner gate pages sit on dark navy and center their card */
body.page-partner-ins,
body.page-partner-le,
body.page-partner-marina{
  background:var(--ink);
  min-height:100vh;
  display:flex;flex-direction:column;
}

/* Headings — Inter, no display fonts */
h1,h2,h3,h4{
  font-family:'Inter',sans-serif;
  color:var(--ink);
  line-height:1.15;
  letter-spacing:-0.015em;
}
h1{font-size:clamp(36px,4.5vw,52px);font-weight:800;}
h2{font-size:clamp(26px,3.2vw,38px);font-weight:700;}
h3{font-size:20px;font-weight:700;}
strong{font-weight:600;}


/* ===== Containers & sections ===== */
.container{max-width:1100px;margin:0 auto;}
.section{padding:88px 48px;}
@media(max-width:600px){.section{padding:64px 20px;}}


/* ===== Eyebrow / section title / section body =====
   The same look applies wherever a small uppercase tracked
   label appears — multiple legacy class names are unified
   here so the text styling is consistent across all pages. */
.eyebrow,.section-label,.tc-title.eyebrow-style{
  display:inline-block;
  font-size:12px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--teal);
  margin-bottom:14px;
}
.section-title,.gate-header h1{
  font-family:'Inter',sans-serif;
  font-size:clamp(28px,3.4vw,42px);
  font-weight:800;line-height:1.15;
  color:var(--ink);
  margin-bottom:18px;
  letter-spacing:-0.02em;
}
.section-title em,.gate-header h1 em{font-style:normal;color:var(--teal);}
.section-body{
  font-size:17px;line-height:1.75;
  color:var(--muted);font-weight:400;
  max-width:680px;
}


/* ===== Buttons ===== */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 28px;
  border-radius:8px;
  font-family:'Inter',sans-serif;
  font-size:15px;font-weight:600;
  text-decoration:none;cursor:pointer;border:none;
  transition:all .2s;
}
.btn-teal{background:var(--teal);color:white;}
.btn-teal:hover{background:var(--teal-l);transform:translateY(-1px);box-shadow:0 6px 20px rgba(29,158,117,.3);}
.btn-outline{background:transparent;color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.25);}
.btn-outline:hover{background:rgba(255,255,255,.07);color:white;}
.btn-ghost{background:rgba(255,255,255,.08);color:white;border:1px solid rgba(255,255,255,.18);}
.btn-ghost:hover{background:rgba(255,255,255,.13);}
.btn-light{background:white;color:var(--ink);border:1px solid var(--border);}
.btn-light:hover{background:var(--off);}
/* Legacy aliases */
.btn-gold{background:var(--teal);color:white;}
.btn-gold:hover{background:var(--teal-l);transform:translateY(-1px);box-shadow:0 6px 20px rgba(29,158,117,.3);}
.cta-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;border-radius:8px;font-family:'Inter',sans-serif;font-size:15px;font-weight:600;text-decoration:none;transition:all .2s;}
.cta-btn.teal{background:var(--teal);color:white;}
.cta-btn.ghost{background:rgba(255,255,255,.08);color:white;border:1px solid rgba(255,255,255,.18);}
.cta-btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,.2);}


/* ===== Top nav (shared, dark) ===== */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 48px;
  background:rgba(10,22,40,0.97);
  backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;}
.nav-logo-ico,.nav-ico,.nav-shield,.nav-logo-img{
  width:36px;height:36px;border-radius:8px;
  background:linear-gradient(135deg,var(--teal),var(--sky));
  display:flex;align-items:center;justify-content:center;
}
.nav-logo-ico svg,.nav-ico svg,.nav-shield svg,.nav-logo-img svg{width:18px;height:18px;}
.nav-brand,.nav-wm{font-family:'Inter',sans-serif;font-size:16px;font-weight:700;color:white;letter-spacing:-0.01em;}
.nav-brand span,.nav-wm span{color:var(--teal-l);}
.nav-links{display:flex;gap:28px;align-items:center;}
.nav-links a{
  color:rgba(255,255,255,.65);text-decoration:none;
  font-size:14px;font-weight:500;
  transition:color .2s;
}
.nav-links a:hover{color:white;}
.nav-back,.nav-home{color:rgba(255,255,255,.42)!important;font-size:13px!important;text-decoration:none;}
.nav-back:hover,.nav-home:hover{color:white!important;}
.nav-cta{
  background:var(--teal);color:white!important;
  padding:9px 20px;border-radius:6px;
  font-weight:600!important;font-size:14px!important;
}
.nav-cta:hover{background:var(--teal-l)!important;}

/* Partner pages — nav is non-fixed (sits at top of card layout) */
body.page-partner-ins nav,
body.page-partner-le nav,
body.page-partner-marina nav{
  position:relative;
  background:transparent;backdrop-filter:none;
  padding:18px 48px;
}


/* ===== Form fields (shared) ===== */
.field{display:flex;flex-direction:column;gap:6px;}
.field label{
  font-size:11px;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);
}
.field input,.field select,.field textarea{
  padding:12px 14px;
  border:1.5px solid var(--border);
  border-radius:8px;
  font-family:'Inter',sans-serif;font-size:15px;
  color:var(--text);background:white;
  outline:none;
  transition:border-color .2s,box-shadow .2s;
}
.field input::placeholder,.field textarea::placeholder{color:rgba(0,0,0,.32);}
.field input:focus,.field select:focus,.field textarea:focus{
  border-color:var(--teal);
  box-shadow:0 0 0 3px rgba(29,158,117,.12);
}
.field textarea{min-height:88px;resize:vertical;}

/* Dark form fields inside partner gate cards */
body.page-partner-ins .field label,
body.page-partner-le .field label,
body.page-partner-marina .field label{color:rgba(255,255,255,.55);}
body.page-partner-ins .field input,
body.page-partner-ins .field select,
body.page-partner-le .field input,
body.page-partner-le .field select,
body.page-partner-marina .field input,
body.page-partner-marina .field select,
body.page-partner-marina .field textarea{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.15);
  color:white;
}
body.page-partner-ins .field input::placeholder,
body.page-partner-le .field input::placeholder,
body.page-partner-marina .field input::placeholder,
body.page-partner-marina .field textarea::placeholder{color:rgba(255,255,255,.32);}
body.page-partner-ins .field input:focus,
body.page-partner-ins .field select:focus,
body.page-partner-le .field input:focus,
body.page-partner-le .field select:focus,
body.page-partner-marina .field input:focus,
body.page-partner-marina .field select:focus,
body.page-partner-marina .field textarea:focus{
  border-color:var(--teal-l);
  box-shadow:0 0 0 3px rgba(61,196,150,.18);
}
body.page-partner-ins .field select option,
body.page-partner-le .field select option,
body.page-partner-marina .field select option{background:var(--ink);color:white;}

/* Submit button (shared) */
.submit-btn{
  width:100%;
  padding:15px 28px;
  background:var(--teal);color:white;
  border:none;border-radius:8px;
  font-family:'Inter',sans-serif;
  font-size:16px;font-weight:600;
  cursor:pointer;margin-top:14px;
  transition:all .2s;
}
.submit-btn:hover{background:var(--teal-l);transform:translateY(-1px);box-shadow:0 6px 20px rgba(29,158,117,.3);}


/* ===== Footer (shared) ===== */
footer{
  background:#060E1A;
  padding:28px 48px;
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:14px;
  border-top:1px solid rgba(255,255,255,.05);
}
footer a{text-decoration:none;}
footer p{font-size:13px;color:rgba(255,255,255,.4);}
.footer-links a{font-size:13px;color:rgba(255,255,255,.4);text-decoration:none;margin-left:20px;transition:color .2s;}
.footer-links a:hover{color:rgba(255,255,255,.75);}
@media(max-width:600px){footer{padding:24px 20px;}}


/* ===== Animations ===== */
@keyframes rise{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.3;}}
.rise{animation:rise .8s ease both;}
.rise-1{animation-delay:.1s;}
.rise-2{animation-delay:.2s;}
.rise-3{animation-delay:.3s;}
.rise-4{animation-delay:.4s;}


/* ===== Footnotes bar (shared) ===== */
.stat-ref{font-size:10px;vertical-align:super;color:var(--teal);font-weight:600;margin-left:1px;}
.footnotes-bar{
  background:#020D1A;
  border-top:2px solid rgba(29,158,117,.25);
  padding:24px 48px;
  font-size:12px;color:rgba(255,255,255,.45);
  line-height:1.85;
}
.footnotes-bar strong{color:rgba(255,255,255,.65);display:block;margin-bottom:10px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;}
.footnotes-bar a{color:rgba(29,158,117,.7);text-decoration:none;}
.footnotes-bar a:hover{color:var(--teal-l);}
.fn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:6px 32px;}
@media(max-width:600px){.footnotes-bar{padding:20px;}}


/* ============================================================
   PAGE: HOME — index.html
   ============================================================ */
body.page-home .hero{
  min-height:88vh;background:var(--ink);
  display:flex;align-items:center;
  padding:110px 48px 80px;
  position:relative;overflow:hidden;
}
body.page-home .hero-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(29,158,117,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(29,158,117,.05) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;}
body.page-home .hero-glow{position:absolute;top:-300px;right:-200px;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(42,142,196,.1) 0%,transparent 70%);pointer-events:none;}
body.page-home .hero-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:center;position:relative;z-index:1;width:100%;}
@media(max-width:860px){body.page-home .hero-inner{grid-template-columns:1fr;gap:48px;}}
body.page-home .hero-tag{display:inline-block;background:rgba(29,158,117,.1);border:1px solid rgba(29,158,117,.25);color:var(--teal-l);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border-radius:6px;margin-bottom:22px;}
body.page-home .hero h1{font-size:clamp(40px,5vw,64px);font-weight:800;color:white;letter-spacing:-0.02em;line-height:1.1;margin-bottom:22px;}
body.page-home .hero h1 .accent{color:var(--teal-l);display:block;}
body.page-home .hero-desc{font-size:17px;color:rgba(255,255,255,.7);line-height:1.7;margin-bottom:32px;font-weight:400;max-width:520px;}
body.page-home .hero-desc strong{color:white;font-weight:500;}
body.page-home .hero-ctas{display:flex;gap:12px;flex-wrap:wrap;}

/* Hero products card stack */
body.page-home .hero-products{display:flex;flex-direction:column;gap:14px;}
body.page-home .hp{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:22px 24px;text-decoration:none;transition:all .3s;display:block;}
body.page-home .hp:hover{background:rgba(255,255,255,.08);transform:translateX(4px);}
body.page-home .hp-header{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
body.page-home .hp-ico{width:40px;height:40px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
body.page-home .hp-ico.tb{background:rgba(29,158,117,.2);border:1px solid rgba(29,158,117,.3);}
body.page-home .hp-ico.sb{background:rgba(232,160,32,.15);border:1px solid rgba(232,160,32,.3);}
body.page-home .hp-ico svg{width:18px;height:18px;}
body.page-home .hp-name{font-size:17px;font-weight:700;color:white;letter-spacing:-0.01em;}
body.page-home .hp-tag-lbl{font-size:11px;color:rgba(255,255,255,.45);margin-top:2px;font-weight:500;letter-spacing:.04em;}
body.page-home .hp-desc{font-size:14px;color:rgba(255,255,255,.6);line-height:1.65;}
body.page-home .hp-link{font-size:13px;color:var(--teal-l);font-weight:600;margin-top:10px;display:block;}

/* Tagline bar */
body.page-home .tagline-bar{background:var(--teal);padding:18px 48px;text-align:center;}
body.page-home .tagline-bar p{font-size:14px;font-weight:600;letter-spacing:.06em;color:white;text-transform:uppercase;}
body.page-home .tagline-bar span{opacity:.6;}

/* Products section */
body.page-home .products-section{padding:88px 48px;background:var(--off);}
body.page-home .products-section .eyebrow,
body.page-home .products-section .section-label,
body.page-home .industries-section .eyebrow,
body.page-home .industries-section .section-label,
body.page-home .contact-section .eyebrow,
body.page-home .contact-section .section-label{display:block;text-align:center;margin-left:auto;margin-right:auto;}
body.page-home .products-section .section-title,
body.page-home .industries-section .section-title,
body.page-home .contact-section .section-title{text-align:center;}
body.page-home .products-section .section-body,
body.page-home .industries-section .section-body,
body.page-home .contact-section .section-body{text-align:center;margin:0 auto;}
body.page-home .prod-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:52px;}
@media(max-width:768px){body.page-home .prod-grid{grid-template-columns:1fr;}}
body.page-home .hp-ico.be{background:rgba(91,179,224,.15);border:1px solid rgba(91,179,224,.35);}
body.page-home .prod-card.be .prod-header{background:var(--ink);}
body.page-home .prod-card.be .prod-header-tag{color:var(--sky-l);}
body.page-home .prod-card.be .prod-link{background:rgba(42,142,196,.12);color:var(--sky);}
body.page-home .prod-card.be .prod-link:hover{background:var(--sky);color:white;}
body.page-home .prod-card{border-radius:16px;overflow:hidden;border:1px solid var(--border);transition:all .3s;background:white;}
body.page-home .prod-card:hover{box-shadow:0 16px 48px rgba(29,158,117,.1);transform:translateY(-4px);}
body.page-home .prod-header{padding:32px 32px 24px;}
body.page-home .prod-card.tb .prod-header{background:var(--ink);}
body.page-home .prod-card.sb .prod-header{background:var(--ink2);}
body.page-home .prod-header-tag{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px;display:block;}
body.page-home .prod-card.tb .prod-header-tag{color:var(--teal-l);}
body.page-home .prod-card.sb .prod-header-tag{color:var(--amber);}
body.page-home .prod-name{font-size:30px;font-weight:800;color:white;line-height:1.05;letter-spacing:-0.02em;margin-bottom:8px;}
body.page-home .prod-tagline{font-size:14px;color:rgba(255,255,255,.6);line-height:1.55;}
body.page-home .prod-body{padding:28px 32px;background:white;}
body.page-home .prod-desc{font-size:15px;color:var(--muted);line-height:1.7;margin-bottom:20px;}
body.page-home .prod-features{list-style:none;display:flex;flex-direction:column;gap:9px;margin-bottom:24px;}
body.page-home .prod-features li{font-size:14px;color:var(--text);display:flex;align-items:flex-start;gap:8px;line-height:1.55;}
body.page-home .prod-features li::before{content:'\2713';flex-shrink:0;color:var(--teal);font-weight:700;}
body.page-home .prod-link{display:inline-flex;align-items:center;gap:6px;padding:11px 22px;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s;}
body.page-home .prod-card.tb .prod-link{background:var(--teal-gl);color:var(--teal);}
body.page-home .prod-card.tb .prod-link:hover{background:var(--teal);color:white;}
body.page-home .prod-card.sb .prod-link{background:var(--amber-l);color:#8a5800;}
body.page-home .prod-card.sb .prod-link:hover{background:var(--amber);color:var(--ink);}

/* Services */
body.page-home .services-section{padding:88px 48px;background:var(--ink);}
body.page-home .services-section .section-title{color:white;text-align:left;}
body.page-home .services-section .eyebrow,
body.page-home .services-section .section-label{display:block;text-align:left;color:var(--teal-l);}
body.page-home .services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;margin-top:48px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.07);border-radius:14px;overflow:hidden;}
body.page-home .svc{background:var(--ink);padding:32px 26px;transition:background .25s;}
body.page-home .svc:hover{background:rgba(29,158,117,.08);}
body.page-home .svc-ico{width:42px;height:42px;border-radius:9px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
body.page-home .svc-ico.t{background:rgba(29,158,117,.2);}
body.page-home .svc-ico.s{background:rgba(42,142,196,.18);}
body.page-home .svc-ico.a{background:rgba(232,160,32,.18);}
body.page-home .svc-ico svg{width:18px;height:18px;}
body.page-home .svc-title{font-size:16px;font-weight:700;color:white;margin-bottom:8px;letter-spacing:-0.01em;}
body.page-home .svc-body{font-size:14px;color:rgba(255,255,255,.6);line-height:1.65;}

/* Industries */
body.page-home .industries-section{padding:72px 48px;background:var(--off);}
body.page-home .ind-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px;justify-content:center;}
body.page-home .ind-pill{background:white;border:1px solid var(--border);border-radius:100px;padding:9px 20px;font-size:14px;font-weight:500;color:var(--text);transition:all .2s;}
body.page-home .ind-pill:hover{background:var(--teal-gl);border-color:rgba(29,158,117,.25);color:var(--teal);}
body.page-home .ind-pill.featured{background:var(--ink);color:white;border-color:var(--ink);}

/* CTA */
body.page-home .cta-section{background:var(--ink2);padding:80px 48px;text-align:center;position:relative;overflow:hidden;}
body.page-home .cta-section::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(29,158,117,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(29,158,117,.04) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;}
body.page-home .cta-inner{position:relative;z-index:1;}
body.page-home .cta-section h2{font-size:clamp(32px,4vw,46px);font-weight:800;color:white;letter-spacing:-0.02em;line-height:1.1;margin-bottom:14px;}
body.page-home .cta-section h2 span{color:var(--teal-l);}
body.page-home .cta-section p{font-size:17px;color:rgba(255,255,255,.65);max-width:540px;margin:0 auto 36px;line-height:1.7;}
body.page-home .cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

/* Contact */
body.page-home .contact-section{padding:80px 48px;background:var(--off);}
body.page-home .contact-inner{max-width:760px;margin:32px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:24px;}
@media(max-width:600px){body.page-home .contact-inner{grid-template-columns:1fr;}}
body.page-home .contact-card{background:white;border:1px solid var(--border);border-radius:14px;padding:28px;text-align:left;}
body.page-home .cc-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--teal);margin-bottom:10px;}
body.page-home .cc-title{font-size:18px;font-weight:700;color:var(--ink);margin-bottom:6px;letter-spacing:-0.01em;}
body.page-home .cc-body{font-size:14px;color:var(--muted);line-height:1.65;}
body.page-home .cc-link{display:block;margin-top:14px;color:var(--teal);font-size:14px;font-weight:600;text-decoration:none;}
body.page-home .cc-link:hover{color:var(--ink);}

@media(max-width:600px){
  body.page-home nav{padding:14px 20px;}
  body.page-home .hero,body.page-home .products-section,body.page-home .services-section,body.page-home .industries-section,body.page-home .cta-section,body.page-home .contact-section{padding:64px 20px;}
  body.page-home .tagline-bar{padding:16px 20px;}
}


/* ============================================================
   PAGE: TRUSTED-BOATER — trusted-boater.html
   ============================================================ */
body.page-tb .hero{
  min-height:88vh;background:var(--ink);
  display:flex;flex-direction:column;justify-content:center;
  padding:110px 48px 80px;
  position:relative;overflow:hidden;
}
body.page-tb .hero-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(29,158,117,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(29,158,117,.06) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;}
body.page-tb .hero-glow{position:absolute;top:-200px;right:-200px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(42,142,196,.12) 0%,transparent 70%);pointer-events:none;}
body.page-tb .hero-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;position:relative;z-index:1;}
@media(max-width:860px){body.page-tb .hero-inner{grid-template-columns:1fr;gap:48px;}}
body.page-tb .hero-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(29,158,117,.12);border:1px solid rgba(29,158,117,.3);color:var(--teal-l);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border-radius:6px;margin-bottom:22px;}
body.page-tb .hero-tag::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--teal-l);animation:pulse 2s infinite;}
body.page-tb .hero h1{font-size:clamp(42px,5.2vw,64px);font-weight:800;color:white;letter-spacing:-0.02em;line-height:1.05;margin-bottom:8px;}
body.page-tb .hero h1 .accent{color:var(--teal-l);display:block;}
body.page-tb .hero h1 .sub{font-size:clamp(26px,3.4vw,42px);color:rgba(255,255,255,.55);font-weight:600;display:block;margin-top:6px;}
body.page-tb .hero-desc{font-size:17px;color:rgba(255,255,255,.7);line-height:1.7;margin:24px 0 32px;max-width:480px;}
body.page-tb .hero-desc strong{color:white;font-weight:500;}
body.page-tb .hero-ctas{display:flex;gap:12px;flex-wrap:wrap;}

/* Architecture diagram */
body.page-tb .hero-visual{position:relative;}
body.page-tb .arch-diagram{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:28px;}
body.page-tb .arch-label{font-size:11px;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.1em;margin-bottom:18px;font-weight:600;}
body.page-tb .arch-nodes{display:flex;flex-direction:column;gap:10px;}
body.page-tb .arch-node{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:8px;border:1px solid;}
body.page-tb .arch-node.tb{background:rgba(29,158,117,.12);border-color:rgba(29,158,117,.35);}
body.page-tb .arch-node.ins{background:rgba(42,142,196,.1);border-color:rgba(42,142,196,.3);}
body.page-tb .arch-node.le{background:rgba(184,144,58,.1);border-color:rgba(184,144,58,.3);}
body.page-tb .arch-node.mar{background:rgba(74,111,165,.12);border-color:rgba(74,111,165,.3);}
body.page-tb .arch-node.gov{background:rgba(155,114,207,.1);border-color:rgba(155,114,207,.25);}
body.page-tb .arch-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
body.page-tb .arch-node.tb .arch-dot{background:var(--teal-l);}
body.page-tb .arch-node.ins .arch-dot{background:var(--sky-l);}
body.page-tb .arch-node.le .arch-dot{background:var(--amber);}
body.page-tb .arch-node.mar .arch-dot{background:#4A6FA5;}
body.page-tb .arch-node.gov .arch-dot{background:#B472CF;}
body.page-tb .arch-node-name{font-size:13px;font-weight:600;flex:1;}
body.page-tb .arch-node.tb .arch-node-name{color:var(--teal-l);}
body.page-tb .arch-node.ins .arch-node-name{color:var(--sky-l);}
body.page-tb .arch-node.le .arch-node-name{color:var(--amber);}
body.page-tb .arch-node.mar .arch-node-name{color:#8BA3BF;}
body.page-tb .arch-node.gov .arch-node-name{color:#C4A0E0;}
body.page-tb .arch-node-tag{font-size:11px;color:rgba(255,255,255,.45);}
body.page-tb .arch-center{display:flex;align-items:center;justify-content:center;padding:14px 0;position:relative;}
body.page-tb .arch-center::before{content:'';position:absolute;left:20px;right:20px;height:1px;background:linear-gradient(90deg,transparent,rgba(29,158,117,.4),transparent);}
body.page-tb .arch-center-badge{background:rgba(29,158,117,.2);border:1px solid rgba(29,158,117,.4);border-radius:100px;padding:7px 16px;font-size:12px;font-weight:600;color:var(--teal-l);letter-spacing:.05em;text-transform:uppercase;position:relative;z-index:1;}

/* Stats bar */
body.page-tb .stats-bar{background:var(--ink2);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);padding:28px 48px;}
body.page-tb .stats-inner{max-width:1100px;margin:0 auto;display:flex;gap:0;flex-wrap:wrap;}
body.page-tb .stat{flex:1;min-width:160px;padding:0 32px;border-right:1px solid rgba(255,255,255,.07);text-align:center;}
body.page-tb .stat:first-child{padding-left:0;}
body.page-tb .stat:last-child{border-right:none;}
body.page-tb .stat-num{font-size:30px;font-weight:800;color:var(--teal-l);line-height:1;margin-bottom:4px;letter-spacing:-0.02em;}
body.page-tb .stat-lbl{font-size:11px;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.08em;font-weight:500;}

/* Platform overview */
body.page-tb .platform-section{padding:88px 48px;background:var(--off);}
body.page-tb .platform-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;margin-top:52px;background:var(--border);border:1px solid var(--border);border-radius:14px;overflow:hidden;}
body.page-tb .pf{background:white;padding:32px 28px;transition:background .25s;}
body.page-tb .pf:hover{background:var(--teal-gl);}
body.page-tb .pf-ico{width:42px;height:42px;border-radius:9px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
body.page-tb .pf-ico.t{background:var(--teal-gl);}
body.page-tb .pf-ico.s{background:#E8F4FB;}
body.page-tb .pf-ico.a{background:var(--amber-l);}
body.page-tb .pf-ico.g{background:var(--gold-l);}
body.page-tb .pf-ico svg{width:19px;height:19px;}
body.page-tb .pf-title{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:8px;letter-spacing:-0.01em;}
body.page-tb .pf-body{font-size:14px;color:var(--muted);line-height:1.65;}
body.page-tb .pf-body strong{color:var(--text);font-weight:600;}

/* Institutional partners */
body.page-tb .partners-section{padding:88px 48px;background:var(--ink);}
body.page-tb .partners-section .section-title{color:white;}
body.page-tb .partners-section .eyebrow,
body.page-tb .partners-section .section-label{color:var(--teal-l);}
body.page-tb .partners-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:48px;}
body.page-tb .pc{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:30px;transition:all .3s;}
body.page-tb .pc:hover{background:rgba(255,255,255,.07);transform:translateY(-2px);}
body.page-tb .pc-header{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
body.page-tb .pc-ico{width:46px;height:46px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
body.page-tb .pc-ico.law{background:rgba(232,160,32,.15);border:1px solid rgba(232,160,32,.3);}
body.page-tb .pc-ico.ins{background:rgba(42,142,196,.15);border:1px solid rgba(42,142,196,.3);}
body.page-tb .pc-ico.gov{background:rgba(184,114,207,.15);border:1px solid rgba(184,114,207,.3);}
body.page-tb .pc-ico svg{width:20px;height:20px;}
body.page-tb .pc-name{font-size:17px;font-weight:700;color:white;letter-spacing:-0.01em;}
body.page-tb .pc-type{font-size:12px;color:rgba(255,255,255,.5);margin-top:3px;font-weight:500;}
body.page-tb .pc-body{font-size:14px;color:rgba(255,255,255,.65);line-height:1.7;}
body.page-tb .pc-body strong{color:rgba(255,255,255,.9);}
body.page-tb .pc-features{list-style:none;margin-top:14px;display:flex;flex-direction:column;gap:8px;}
body.page-tb .pc-features li{font-size:13px;color:rgba(255,255,255,.6);display:flex;align-items:flex-start;gap:8px;line-height:1.55;}
body.page-tb .pc-features li::before{content:'\2192';flex-shrink:0;color:var(--teal-l);}

/* Carrier strip */
body.page-tb .carrier-strip{margin-top:24px;background:rgba(42,142,196,.06);border:1px solid rgba(42,142,196,.2);border-radius:10px;padding:18px 22px;}
body.page-tb .cs-label{font-size:11px;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px;font-weight:600;}
body.page-tb .cs-row{display:flex;gap:24px;flex-wrap:wrap;align-items:center;}
body.page-tb .cs-item{display:flex;align-items:center;gap:7px;}
body.page-tb .cs-dot{width:6px;height:6px;border-radius:50%;background:var(--sky-l);}

/* Data architecture */
body.page-tb .arch-section{padding:88px 48px;background:var(--off);}
body.page-tb .arch-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-top:52px;}
@media(max-width:768px){body.page-tb .arch-grid{grid-template-columns:1fr;gap:40px;}}
body.page-tb .arch-table{width:100%;border-collapse:collapse;border-radius:10px;overflow:hidden;border:1px solid var(--border);}
body.page-tb .arch-table th{padding:14px 16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;text-align:left;background:var(--ink);color:rgba(255,255,255,.6);}
body.page-tb .arch-table th.col-tb{background:var(--teal);color:white;}
body.page-tb .arch-table td{padding:14px 16px;font-size:14px;border-bottom:1px solid var(--border);vertical-align:top;}
body.page-tb .arch-table tr:last-child td{border-bottom:none;}
body.page-tb .arch-table td:first-child{font-weight:600;color:var(--ink);background:var(--off);}
body.page-tb .arch-table td.col-old{color:var(--muted);}
body.page-tb .arch-table td.col-tb,body.page-tb .arch-table td.col-td{background:var(--teal-gl);color:var(--text);}
body.page-tb .arch-table td.col-tb strong,body.page-tb .arch-table td.col-td strong{color:var(--teal);}
body.page-tb .arch-features{display:flex;flex-direction:column;gap:18px;margin-top:24px;}
body.page-tb .af{display:flex;gap:14px;align-items:flex-start;}
body.page-tb .af-ico{width:36px;height:36px;border-radius:8px;background:var(--teal-gl);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
body.page-tb .af-ico svg{width:16px;height:16px;}
body.page-tb .af-title{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:4px;}
body.page-tb .af-body{font-size:14px;color:var(--muted);line-height:1.6;}

/* Government section */
body.page-tb .govt-section{padding:88px 48px;background:var(--ink2);}
body.page-tb .govt-section .section-title{color:white;}
body.page-tb .govt-section .eyebrow,
body.page-tb .govt-section .section-label{color:var(--teal-l);}
body.page-tb .govt-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:48px;}
@media(max-width:768px){body.page-tb .govt-grid{grid-template-columns:1fr;}}
body.page-tb .gc{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:28px;}
body.page-tb .gc-num{font-size:36px;font-weight:800;color:var(--teal-l);line-height:1;margin-bottom:8px;letter-spacing:-0.02em;}
body.page-tb .gc-title{font-size:15px;font-weight:700;color:white;margin-bottom:8px;}
body.page-tb .gc-body{font-size:14px;color:rgba(255,255,255,.6);line-height:1.65;}
body.page-tb .allegiant-banner{margin-top:24px;background:rgba(29,158,117,.08);border:1px solid rgba(29,158,117,.2);border-radius:10px;padding:20px 24px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
body.page-tb .ab-text{flex:1;min-width:240px;}
body.page-tb .ab-title{font-size:15px;font-weight:700;color:white;margin-bottom:4px;}
body.page-tb .ab-body{font-size:14px;color:rgba(255,255,255,.6);line-height:1.6;}
body.page-tb .ab-link{font-size:14px;color:var(--teal-l);text-decoration:none;font-weight:600;white-space:nowrap;}
body.page-tb .ab-link:hover{color:white;}

/* Investment */
body.page-tb .invest-section{padding:88px 48px;background:var(--off);}
body.page-tb .invest-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:48px;}
@media(max-width:768px){body.page-tb .invest-grid{grid-template-columns:1fr;}}
body.page-tb .inv-card{border-radius:14px;padding:32px;}
body.page-tb .inv-card.gold{background:linear-gradient(135deg,rgba(184,144,58,.15),rgba(232,160,32,.08));border:1px solid rgba(184,144,58,.3);}
body.page-tb .inv-card.dark{background:var(--ink);border:1px solid rgba(255,255,255,.08);}
body.page-tb .inv-num{font-size:30px;font-weight:800;line-height:1;margin-bottom:8px;letter-spacing:-0.02em;}
body.page-tb .inv-card.gold .inv-num{color:var(--gold);}
body.page-tb .inv-card.dark .inv-num{color:var(--teal-l);}
body.page-tb .inv-title{font-size:16px;font-weight:700;margin-bottom:8px;}
body.page-tb .inv-card.gold .inv-title{color:var(--ink);}
body.page-tb .inv-card.dark .inv-title{color:white;}
body.page-tb .inv-body{font-size:14px;line-height:1.7;}
body.page-tb .inv-card.gold .inv-body{color:var(--muted);}
body.page-tb .inv-card.dark .inv-body{color:rgba(255,255,255,.65);}

/* Boater callout (consumer audience pointer) */
body.page-tb .boater-callout{margin-top:48px;background:linear-gradient(135deg,rgba(29,158,117,.12),rgba(42,142,196,.08));border:1px solid rgba(29,158,117,.3);border-radius:14px;padding:32px 36px;display:flex;align-items:center;gap:28px;flex-wrap:wrap;}
body.page-tb .boater-callout .bc-text{flex:1;min-width:260px;}
body.page-tb .boater-callout .bc-eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-l);margin-bottom:8px;}
body.page-tb .boater-callout .bc-title{font-size:22px;font-weight:800;color:white;letter-spacing:-0.01em;line-height:1.2;margin-bottom:8px;}
body.page-tb .boater-callout .bc-body{font-size:15px;color:rgba(255,255,255,.7);line-height:1.65;}
@media(max-width:600px){body.page-tb .boater-callout{padding:28px 22px;}}

/* CTA */
body.page-tb .cta-section{background:var(--ink);padding:80px 48px;text-align:center;position:relative;overflow:hidden;}
body.page-tb .cta-section::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(29,158,117,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(29,158,117,.04) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;}
body.page-tb .cta-inner{position:relative;z-index:1;}
body.page-tb .cta-section h2{font-size:clamp(32px,4.5vw,52px);font-weight:800;color:white;line-height:1.1;letter-spacing:-0.02em;margin-bottom:14px;}
body.page-tb .cta-section h2 span{color:var(--teal-l);}
body.page-tb .cta-section p{font-size:17px;color:rgba(255,255,255,.65);max-width:560px;margin:0 auto 36px;line-height:1.7;}
body.page-tb .cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
body.page-tb .cta-disclaimer{font-size:12px;color:rgba(255,255,255,.32);margin-top:20px;}

@media(max-width:600px){
  body.page-tb nav{padding:14px 20px;}
  body.page-tb .hero,body.page-tb .platform-section,body.page-tb .partners-section,body.page-tb .arch-section,body.page-tb .govt-section,body.page-tb .invest-section,body.page-tb .cta-section{padding:64px 20px;}
  body.page-tb .stats-bar{padding:24px 20px;}
  body.page-tb .stat{min-width:130px;padding:0 16px;}
}


/* ============================================================
   PAGE: INVESTOR — investor-relations.html
   ============================================================ */
body.page-investor .hero{
  min-height:88vh;background:var(--ink);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:110px 48px 80px;
  position:relative;overflow:hidden;
}
body.page-investor .hero-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(29,158,117,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(29,158,117,.05) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;}
body.page-investor .hero-glow{position:absolute;top:-260px;left:50%;transform:translateX(-50%);width:780px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(184,144,58,.1) 0%,transparent 70%);pointer-events:none;}
body.page-investor .hero-inner{position:relative;z-index:1;max-width:880px;margin:0 auto;width:100%;}
body.page-investor .round-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(184,144,58,.12);border:1px solid rgba(184,144,58,.3);color:#D4A654;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border-radius:6px;margin-bottom:24px;animation:rise .8s ease both;}
body.page-investor .round-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:#D4A654;animation:pulse 2s infinite;}
body.page-investor .hero h1{font-size:clamp(40px,5vw,64px);font-weight:800;color:white;letter-spacing:-0.02em;line-height:1.1;margin-bottom:22px;animation:rise .9s ease .1s both;}
body.page-investor .hero h1 .accent{color:var(--teal-l);display:block;}
body.page-investor .hero h1 .accent-gold{color:#D4A654;display:block;}
body.page-investor .hero-sub{font-size:17px;color:rgba(255,255,255,.7);line-height:1.7;max-width:620px;margin:0 auto 32px;animation:rise 1s ease .2s both;}
body.page-investor .hero-sub strong{color:white;font-weight:500;}
body.page-investor .hero-ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-bottom:48px;animation:rise 1.1s ease .3s both;}
body.page-investor .hero-metrics{display:flex;gap:36px;flex-wrap:wrap;justify-content:center;animation:rise 1.2s ease .4s both;}
body.page-investor .hm{text-align:center;}
body.page-investor .hm-num{font-size:36px;font-weight:800;line-height:1;letter-spacing:-0.02em;}
body.page-investor .hm-lbl{font-size:11px;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.08em;margin-top:6px;font-weight:500;}

body.page-investor .lead-inv-section{background:var(--ink2);}
body.page-investor .li-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-top:48px;}
@media(max-width:768px){body.page-investor .li-grid{grid-template-columns:1fr;gap:40px;}}
body.page-investor .li-visual{background:rgba(184,144,58,.08);border:1px solid rgba(184,144,58,.22);border-radius:14px;padding:40px 36px;}
body.page-investor .li-logo{display:flex;align-items:center;gap:14px;margin-bottom:28px;}
body.page-investor .li-icon{width:54px;height:54px;border-radius:12px;background:rgba(184,144,58,.18);border:1px solid rgba(184,144,58,.3);display:flex;align-items:center;justify-content:center;}
body.page-investor .li-icon svg{width:24px;height:24px;}
body.page-investor .li-name{font-size:22px;font-weight:800;color:white;letter-spacing:-0.01em;line-height:1;}
body.page-investor .li-type{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#D4A654;margin-top:6px;}
body.page-investor .li-stats{display:flex;flex-direction:column;gap:0;}
body.page-investor .li-stat{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.07);}
body.page-investor .li-stat:last-child{border-bottom:none;}
body.page-investor .li-stat-l{font-size:14px;color:rgba(255,255,255,.6);}
body.page-investor .li-stat-r{font-size:14px;font-weight:600;color:#D4A654;}
body.page-investor .li-text .section-title{color:white;}
body.page-investor .li-text .section-body{color:rgba(255,255,255,.65);}
body.page-investor .li-quote{margin-top:24px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:22px 24px;}
body.page-investor .li-quote-text{font-size:15px;font-style:italic;color:rgba(255,255,255,.78);line-height:1.7;margin-bottom:10px;}
body.page-investor .li-quote-attr{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.45);}

body.page-investor .traction-section{background:var(--off);}
body.page-investor .traction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px;}
@media(max-width:768px){body.page-investor .traction-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){body.page-investor .traction-grid{grid-template-columns:1fr;}}
body.page-investor .tc{background:white;border:1px solid var(--border);border-radius:14px;padding:28px 22px;text-align:center;transition:all .3s;}
body.page-investor .tc:hover{box-shadow:0 10px 36px rgba(29,158,117,.1);transform:translateY(-3px);border-color:rgba(29,158,117,.25);}
body.page-investor .tc-num{font-size:34px;font-weight:800;color:var(--teal);line-height:1;margin-bottom:10px;letter-spacing:-0.02em;}
body.page-investor .tc-title{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:6px;}
body.page-investor .tc-body{font-size:13px;color:var(--muted);line-height:1.6;}
body.page-investor .moat-grid{display:flex;flex-direction:column;gap:12px;margin-top:48px;}
body.page-investor .moat{background:white;border:1px solid var(--border);border-radius:12px;padding:22px 24px;display:flex;gap:16px;align-items:flex-start;transition:all .25s;}
body.page-investor .moat:hover{border-color:var(--teal);background:var(--teal-gl);}
body.page-investor .moat-ico{width:38px;height:38px;border-radius:8px;background:var(--teal-gl);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
body.page-investor .moat-ico svg{width:16px;height:16px;}
body.page-investor .moat-title{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:4px;}
body.page-investor .moat-body{font-size:14px;color:var(--muted);line-height:1.6;}

body.page-investor .market-section{background:white;}
body.page-investor .market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px;}
@media(max-width:768px){body.page-investor .market-grid{grid-template-columns:1fr;}}
body.page-investor .mkt{background:var(--off);border:1px solid var(--border);border-radius:14px;padding:28px;text-align:center;}
body.page-investor .mkt-size{font-size:38px;font-weight:800;line-height:1;margin-bottom:8px;letter-spacing:-0.02em;}
body.page-investor .mkt.tam .mkt-size{color:var(--ink);}
body.page-investor .mkt.sam .mkt-size{color:var(--teal);}
body.page-investor .mkt.som .mkt-size{color:var(--sky);}
body.page-investor .mkt-title{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;}
body.page-investor .mkt.tam .mkt-title{color:var(--muted);}
body.page-investor .mkt.sam .mkt-title{color:var(--teal);}
body.page-investor .mkt.som .mkt-title{color:var(--sky);}
body.page-investor .mkt-body{font-size:14px;color:var(--muted);line-height:1.6;}

body.page-investor .contact-section{background:var(--off);padding:88px 48px;}
body.page-investor .contact-inner{max-width:720px;margin:0 auto;}
body.page-investor .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:600px){body.page-investor .form-grid{grid-template-columns:1fr;}}
body.page-investor .field.span2{grid-column:span 2;}
body.page-investor .nda-note{font-size:13px;color:var(--muted);text-align:center;margin-top:14px;line-height:1.6;}
body.page-investor .success-box{display:none;background:var(--teal-gl);border:1px solid rgba(29,158,117,.3);border-radius:14px;padding:36px;text-align:center;}
body.page-investor .success-box.show{display:block;}
body.page-investor .success-box h3{font-size:24px;font-weight:800;color:var(--teal);margin-bottom:8px;letter-spacing:-0.01em;}
body.page-investor .success-box p{font-size:15px;color:var(--muted);}

body.page-investor .disclaimer{background:var(--ink2);padding:40px 48px;}
body.page-investor .disclaimer p{font-size:12px;color:rgba(255,255,255,.4);line-height:1.85;max-width:960px;margin:0 auto;}

@media(max-width:600px){
  body.page-investor nav{padding:14px 20px;}
  body.page-investor .hero,body.page-investor .section,body.page-investor .contact-section{padding:64px 20px;}
  body.page-investor .disclaimer{padding:32px 20px;}
}


/* ============================================================
   PAGE: ABOUT — about.html
   ============================================================ */
body.page-about .hero{
  min-height:60vh;background:var(--ink);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:130px 48px 80px;
  position:relative;overflow:hidden;
}
body.page-about .hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% 40%,rgba(29,158,117,.14) 0%,transparent 65%);pointer-events:none;}
body.page-about .hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--teal),var(--sky),var(--teal));}
body.page-about .hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(29,158,117,.12);border:1px solid rgba(29,158,117,.3);color:var(--teal-l);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border-radius:6px;margin-bottom:24px;animation:rise .8s ease both;}
body.page-about .hero h1{font-size:clamp(40px,5vw,60px);font-weight:800;color:white;line-height:1.1;letter-spacing:-0.02em;max-width:820px;margin-bottom:22px;animation:rise .9s ease .1s both;}
body.page-about .hero h1 em{font-style:normal;color:var(--teal-l);}
body.page-about .hero-sub{font-size:17px;color:rgba(255,255,255,.7);max-width:680px;line-height:1.7;animation:rise 1s ease .2s both;}
body.page-about .hero-sub strong{color:white;font-weight:500;}

body.page-about .mission-section{background:var(--off);padding:88px 48px;}
body.page-about .mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;margin-top:32px;}
@media(max-width:768px){body.page-about .mission-grid{grid-template-columns:1fr;gap:40px;}}
body.page-about .mission-text p{font-size:17px;line-height:1.75;color:var(--muted);margin-bottom:18px;}
body.page-about .mission-text p strong{color:var(--text);font-weight:600;}
body.page-about .mission-text p:last-child{margin-bottom:0;}
body.page-about .mission-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
body.page-about .ms{background:white;border:1px solid var(--border);border-radius:14px;padding:24px;text-align:center;}
body.page-about .ms-num{font-size:30px;font-weight:800;color:var(--teal);line-height:1;margin-bottom:6px;letter-spacing:-0.02em;}
body.page-about .ms-lbl{font-size:13px;color:var(--muted);line-height:1.45;}

body.page-about .problem-section{background:var(--ink);padding:88px 48px;}
body.page-about .problem-section .section-title{color:white;}
body.page-about .problem-section .section-body{color:rgba(255,255,255,.65);}
body.page-about .problem-section .eyebrow{color:var(--teal-l);}
body.page-about .prob-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:48px;}
body.page-about .prob-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:28px;transition:all .3s;}
body.page-about .prob-card:hover{background:rgba(29,158,117,.1);border-color:rgba(29,158,117,.3);transform:translateY(-3px);}
body.page-about .prob-ico{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
body.page-about .prob-ico.t{background:rgba(29,158,117,.2);}
body.page-about .prob-ico.s{background:rgba(74,184,232,.2);}
body.page-about .prob-ico.a{background:rgba(245,166,35,.18);}
body.page-about .prob-ico svg{width:20px;height:20px;}
body.page-about .prob-title{font-size:16px;font-weight:700;color:white;margin-bottom:8px;letter-spacing:-0.01em;}
body.page-about .prob-body{font-size:14px;color:rgba(255,255,255,.65);line-height:1.65;}

body.page-about .team-section{background:white;padding:88px 48px;}
body.page-about .team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:48px;}
body.page-about .team-card{background:var(--off);border:1px solid var(--border);border-radius:16px;padding:32px 28px;transition:all .3s;text-align:center;}
body.page-about .team-card:hover{box-shadow:0 12px 40px rgba(29,158,117,.1);transform:translateY(-3px);border-color:rgba(29,158,117,.25);}
body.page-about .team-avatar{width:72px;height:72px;border-radius:50%;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;letter-spacing:-0.01em;}
body.page-about .av-green{background:var(--teal-gl);color:var(--teal);}
body.page-about .av-sky{background:#D8EFFA;color:#185FA5;}
body.page-about .av-amber{background:var(--amber-l);color:#633806;}
body.page-about .av-purple{background:#EDE6F8;color:#534AB7;}
body.page-about .team-name{font-size:18px;font-weight:700;color:var(--ink);margin-bottom:4px;letter-spacing:-0.01em;}
body.page-about .team-title{font-size:12px;font-weight:600;color:var(--teal);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;}
body.page-about .team-bio{font-size:14px;color:var(--muted);line-height:1.65;}
body.page-about .team-contact{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:13px;color:var(--teal);text-decoration:none;font-weight:600;transition:color .2s;}
body.page-about .team-contact:hover{color:var(--ink);}

body.page-about .partners-section{background:var(--ink2);padding:88px 48px;}
body.page-about .partners-section .section-title{color:white;}
body.page-about .partners-section .eyebrow{color:#D4A654;}
body.page-about .partners-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:48px;}
body.page-about .partner-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:28px;transition:all .3s;}
body.page-about .partner-card:hover{background:rgba(255,255,255,.07);transform:translateY(-3px);}
body.page-about .partner-logo-area{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
body.page-about .partner-ico{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
body.page-about .partner-ico.gold{background:rgba(184,144,58,.18);border:1px solid rgba(184,144,58,.3);}
body.page-about .partner-ico.teal{background:rgba(29,158,117,.2);border:1px solid rgba(29,158,117,.3);}
body.page-about .partner-ico.sky{background:rgba(74,184,232,.2);border:1px solid rgba(74,184,232,.3);}
body.page-about .partner-ico.amber{background:rgba(232,160,32,.15);border:1px solid rgba(232,160,32,.25);}
body.page-about .partner-ico svg{width:20px;height:20px;}
body.page-about .partner-name{font-size:17px;font-weight:700;color:white;letter-spacing:-0.01em;}
body.page-about .partner-type{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:3px;}
body.page-about .partner-desc{font-size:14px;color:rgba(255,255,255,.65);line-height:1.65;}
body.page-about .partner-link{display:inline-flex;align-items:center;gap:5px;margin-top:12px;font-size:13px;color:var(--teal-l);text-decoration:none;font-weight:600;}
body.page-about .partner-link:hover{color:white;}
body.page-about .ins-partner-strip{margin-top:20px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:24px 28px;}
body.page-about .ipl{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:16px;}
body.page-about .ip-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
body.page-about .ip-item{display:flex;align-items:center;gap:10px;}
body.page-about .ip-dot{width:8px;height:8px;border-radius:50%;background:var(--teal);}
body.page-about .ip-name{font-size:15px;font-weight:600;color:white;}
body.page-about .ip-sub{font-size:11px;color:rgba(255,255,255,.4);}
body.page-about .ip-div{width:1px;height:28px;background:rgba(255,255,255,.08);}

body.page-about .timeline-section{background:var(--off);padding:88px 48px;}
body.page-about .timeline{position:relative;max-width:720px;margin:48px auto 0;padding-left:32px;}
body.page-about .timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--teal),var(--sky));}
body.page-about .tl-item{position:relative;padding:0 0 40px 32px;}
body.page-about .tl-item:last-child{padding-bottom:0;}
body.page-about .tl-dot{position:absolute;left:-7px;top:4px;width:14px;height:14px;border-radius:50%;border:2px solid white;}
body.page-about .tl-item.done .tl-dot{background:var(--teal);border-color:var(--teal);}
body.page-about .tl-item.active .tl-dot{background:var(--sky);border-color:var(--sky);box-shadow:0 0 0 4px rgba(74,184,232,.2);}
body.page-about .tl-item.future .tl-dot{background:rgba(0,0,0,.18);border-color:rgba(0,0,0,.18);}
body.page-about .tl-date{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin-bottom:8px;}
body.page-about .tl-item.active .tl-date{color:var(--sky);}
body.page-about .tl-item.future .tl-date{color:var(--muted);}
body.page-about .tl-title{font-size:18px;font-weight:700;color:var(--ink);margin-bottom:6px;letter-spacing:-0.01em;}
body.page-about .tl-body{font-size:14px;color:var(--muted);line-height:1.65;}
body.page-about .tl-badge{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:100px;margin-top:10px;}
body.page-about .badge-done{background:var(--teal-gl);color:var(--teal);}
body.page-about .badge-active{background:#D8EFFA;color:#185FA5;}
body.page-about .badge-future{background:white;color:var(--muted);border:1px solid var(--border);}

body.page-about .cta-section{background:var(--ink);padding:80px 48px;text-align:center;}
body.page-about .cta-section h2{font-size:clamp(32px,4vw,46px);font-weight:800;color:white;line-height:1.1;letter-spacing:-0.02em;margin-bottom:16px;}
body.page-about .cta-section p{font-size:17px;color:rgba(255,255,255,.65);max-width:560px;margin:0 auto 32px;line-height:1.7;}
body.page-about .cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

@media(max-width:600px){
  body.page-about nav{padding:14px 20px;}
  body.page-about .hero,body.page-about .mission-section,body.page-about .problem-section,body.page-about .team-section,body.page-about .partners-section,body.page-about .timeline-section,body.page-about .cta-section{padding:64px 20px;}
}


/* ============================================================
   PAGE: PARTNER GATE PAGES — partners-insurance, -law-enforcement, -marina
   Shared centered "gate-card" modal layout used by all three.
   ============================================================ */
body.page-partner-ins .gate-wrap,
body.page-partner-le .gate-wrap,
body.page-partner-marina .gate-wrap{
  flex:1;display:flex;align-items:center;justify-content:center;
  padding:48px 24px;
}
body.page-partner-ins .gate-card,
body.page-partner-le .gate-card,
body.page-partner-marina .gate-card{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.09);
  border-radius:18px;
  max-width:820px;width:100%;overflow:hidden;
}

body.page-partner-ins .gate-header,
body.page-partner-le .gate-header,
body.page-partner-marina .gate-header{
  padding:44px 48px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
body.page-partner-ins .gate-header{background:linear-gradient(135deg,rgba(155,114,207,.18),rgba(29,158,117,.13));}
body.page-partner-le .gate-header{background:linear-gradient(135deg,rgba(74,184,232,.13),rgba(29,158,117,.1));}
body.page-partner-marina .gate-header{background:linear-gradient(135deg,rgba(29,158,117,.18),rgba(74,184,232,.1));}

body.page-partner-ins .gate-eyebrow,
body.page-partner-le .gate-badge,
body.page-partner-marina .gate-badge{
  display:inline-block;font-size:11px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;
  padding:5px 14px;border-radius:6px;
  margin-bottom:18px;
}
body.page-partner-ins .gate-eyebrow{color:var(--purple);background:rgba(155,114,207,.14);border:1px solid rgba(155,114,207,.3);}
body.page-partner-le .gate-badge{color:var(--sky-l);background:rgba(74,184,232,.13);border:1px solid rgba(74,184,232,.3);}
body.page-partner-marina .gate-badge{color:var(--teal-l);background:rgba(29,158,117,.15);border:1px solid rgba(29,158,117,.35);}

body.page-partner-ins .gate-header h1,
body.page-partner-le .gate-header h1,
body.page-partner-marina .gate-header h1{
  font-size:clamp(28px,3.6vw,40px);
  font-weight:800;color:white;line-height:1.15;
  letter-spacing:-0.02em;margin-bottom:14px;
}
body.page-partner-ins .gate-header h1 em{font-style:normal;color:var(--teal-l);}
body.page-partner-le .gate-header h1 em{font-style:normal;color:var(--sky-l);}
body.page-partner-marina .gate-header h1 em{font-style:normal;color:var(--teal-l);}

body.page-partner-ins .gate-header p,
body.page-partner-le .gate-header p,
body.page-partner-marina .gate-header p{
  font-size:16px;color:rgba(255,255,255,.7);
  line-height:1.7;max-width:580px;
}
body.page-partner-ins .gate-header p strong,
body.page-partner-le .gate-header p strong,
body.page-partner-marina .gate-header p strong{color:white;font-weight:500;}

/* Insurance teaser bullets */
body.page-partner-ins .teaser{padding:32px 48px;border-bottom:1px solid rgba(255,255,255,.07);}
body.page-partner-ins .teaser-label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:16px;display:block;}
body.page-partner-ins .teaser-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:560px){body.page-partner-ins .teaser-grid{grid-template-columns:1fr;}}
body.page-partner-ins .teaser-item{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:rgba(255,255,255,.7);line-height:1.55;}
body.page-partner-ins .ti-dot{width:6px;height:6px;border-radius:50%;background:var(--teal);flex-shrink:0;margin-top:7px;}
body.page-partner-ins .teaser-item strong{color:white;font-weight:600;}

/* LE & Marina open-stats sections */
body.page-partner-le .open-teaser,
body.page-partner-marina .open-stats{padding:28px 48px;border-bottom:1px solid rgba(255,255,255,.07);}
body.page-partner-le .ot-label,
body.page-partner-marina .ot-label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:14px;display:block;}
body.page-partner-le .ot-stats,
body.page-partner-marina .stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;}
body.page-partner-le .ot-stat,
body.page-partner-marina .stat-box{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:18px;text-align:center;}
body.page-partner-le .ot-num{font-size:28px;font-weight:800;color:var(--sky-l);line-height:1;margin-bottom:6px;letter-spacing:-0.02em;}
body.page-partner-marina .stat-num{font-size:26px;font-weight:800;color:var(--teal-l);line-height:1;margin-bottom:6px;letter-spacing:-0.02em;}
body.page-partner-le .ot-lbl,
body.page-partner-marina .stat-lbl{font-size:12px;color:rgba(255,255,255,.6);line-height:1.45;}

/* LE & Marina gated-teaser bullets */
body.page-partner-le .gated-teaser,
body.page-partner-marina .gated-teaser{padding:28px 48px;border-bottom:1px solid rgba(255,255,255,.07);}
body.page-partner-le .gt-label,
body.page-partner-marina .gt-label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:14px;display:block;}
body.page-partner-le .gt-items,
body.page-partner-marina .gt-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:560px){body.page-partner-le .gt-items,body.page-partner-marina .gt-grid{grid-template-columns:1fr;}}
body.page-partner-le .gt-item,
body.page-partner-marina .gt-item{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:rgba(255,255,255,.65);line-height:1.55;}
body.page-partner-le .gt-item strong,
body.page-partner-marina .gt-item strong{color:white;font-weight:600;}
body.page-partner-le .gt-dot{width:6px;height:6px;border-radius:50%;background:var(--sky-l);flex-shrink:0;margin-top:7px;}
body.page-partner-marina .gt-dot{width:6px;height:6px;border-radius:50%;background:var(--teal-l);flex-shrink:0;margin-top:7px;}

body.page-partner-le .lock-msg,
body.page-partner-marina .lock-msg{
  background:rgba(74,184,232,.07);border:1px solid rgba(74,184,232,.18);
  border-radius:10px;padding:14px 18px;margin-top:18px;
  font-size:14px;color:rgba(255,255,255,.6);
  display:flex;align-items:center;gap:10px;
}
body.page-partner-marina .lock-msg{background:rgba(29,158,117,.07);border-color:rgba(29,158,117,.18);}
body.page-partner-le .lock-msg svg,
body.page-partner-marina .lock-msg svg{flex-shrink:0;}

/* Marina segment toggle */
body.page-partner-marina .seg-toggle{padding:28px 48px 0;display:flex;gap:12px;flex-wrap:wrap;}
body.page-partner-marina .seg-btn{
  padding:11px 22px;border-radius:8px;
  border:1.5px solid rgba(255,255,255,.18);
  background:transparent;color:rgba(255,255,255,.6);
  font-family:'Inter',sans-serif;font-size:14px;font-weight:600;
  cursor:pointer;transition:all .2s;
}
body.page-partner-marina .seg-btn.active.marina{background:var(--teal);border-color:var(--teal);color:white;}
body.page-partner-marina .seg-btn.active.rv{background:var(--amber);border-color:var(--amber);color:var(--ink);}
body.page-partner-marina .seg-btn:hover:not(.active){border-color:rgba(255,255,255,.32);color:rgba(255,255,255,.85);}

/* Form area inside gate-card */
body.page-partner-ins .gate-form,
body.page-partner-le .gate-form,
body.page-partner-marina .gate-form{padding:32px 48px 36px;}
body.page-partner-ins .gate-form-title,
body.page-partner-le .gate-form-title,
body.page-partner-marina .gate-form-title{font-size:18px;font-weight:700;color:white;margin-bottom:6px;letter-spacing:-0.01em;}
body.page-partner-ins .gate-form-sub,
body.page-partner-le .gate-form-sub,
body.page-partner-marina .gate-form-sub{font-size:14px;color:rgba(255,255,255,.6);margin-bottom:24px;line-height:1.6;}

body.page-partner-ins .form-row,
body.page-partner-le .form-row,
body.page-partner-marina .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
@media(max-width:560px){
  body.page-partner-ins .form-row,
  body.page-partner-le .form-row,
  body.page-partner-marina .form-row{grid-template-columns:1fr;}
}
body.page-partner-marina .field.s2{grid-column:span 2;}

body.page-partner-ins .gate-note,
body.page-partner-le .gate-note,
body.page-partner-marina .gate-note{
  font-size:12px;color:rgba(255,255,255,.45);
  text-align:center;margin-top:14px;line-height:1.6;
}

/* Success state */
body.page-partner-ins .success,
body.page-partner-le .success,
body.page-partner-marina .success{display:none;padding:48px;text-align:center;}
body.page-partner-ins .success.show,
body.page-partner-le .success.show,
body.page-partner-marina .success.show{display:block;}
body.page-partner-ins .success h2,
body.page-partner-le .success h2,
body.page-partner-marina .success h2{font-size:26px;font-weight:800;margin-bottom:12px;letter-spacing:-0.02em;}
body.page-partner-ins .success h2{color:var(--teal-l);}
body.page-partner-le .success h2{color:var(--sky-l);}
body.page-partner-marina .success h2{color:var(--teal-l);}
body.page-partner-ins .success p,
body.page-partner-le .success p,
body.page-partner-marina .success p{font-size:15px;color:rgba(255,255,255,.7);line-height:1.7;margin-bottom:24px;}
body.page-partner-ins .success a,
body.page-partner-le .success a,
body.page-partner-marina .success a{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--teal);color:white;
  padding:13px 28px;border-radius:8px;
  font-size:15px;font-weight:600;text-decoration:none;
  transition:all .2s;
}
body.page-partner-ins .success a:hover,
body.page-partner-le .success a:hover,
body.page-partner-marina .success a:hover{background:var(--teal-l);transform:translateY(-1px);}

@media(max-width:600px){
  body.page-partner-ins .gate-header,body.page-partner-ins .teaser,body.page-partner-ins .gate-form,
  body.page-partner-le .gate-header,body.page-partner-le .open-teaser,body.page-partner-le .gated-teaser,body.page-partner-le .gate-form,
  body.page-partner-marina .gate-header,body.page-partner-marina .open-stats,body.page-partner-marina .gated-teaser,body.page-partner-marina .seg-toggle,body.page-partner-marina .gate-form{padding-left:24px;padding-right:24px;}
  body.page-partner-ins .success,
  body.page-partner-le .success,
  body.page-partner-marina .success{padding:36px 24px;}
}


/* ============================================================
   PAGE: METHODOLOGY — methodology.html
   Standalone reference page for statistical sources.
   ============================================================ */
body.page-methodology .hero{
  min-height:50vh;background:var(--ink);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:130px 48px 64px;
  position:relative;overflow:hidden;
}
body.page-methodology .hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% 40%,rgba(29,158,117,.12) 0%,transparent 65%);pointer-events:none;}
body.page-methodology .hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--teal),var(--sky),var(--teal));}
body.page-methodology .hero-eyebrow{display:inline-block;background:rgba(29,158,117,.12);border:1px solid rgba(29,158,117,.3);color:var(--teal-l);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border-radius:6px;margin-bottom:20px;}
body.page-methodology .hero h1{font-size:clamp(34px,4.2vw,52px);font-weight:800;color:white;line-height:1.1;letter-spacing:-0.02em;max-width:780px;margin-bottom:18px;}
body.page-methodology .hero-sub{font-size:17px;color:rgba(255,255,255,.7);max-width:640px;line-height:1.7;}

body.page-methodology .methodology-section{background:var(--off);padding:72px 48px;}
body.page-methodology .ref-section{margin-bottom:56px;}
body.page-methodology .ref-section:last-child{margin-bottom:0;}
body.page-methodology .ref-section-title{font-size:22px;font-weight:700;color:var(--ink);letter-spacing:-0.01em;margin-bottom:6px;}
body.page-methodology .ref-section-desc{font-size:15px;color:var(--muted);line-height:1.65;margin-bottom:24px;max-width:640px;}
body.page-methodology .ref-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px;}
body.page-methodology .ref-card{background:white;border:1px solid var(--border);border-radius:14px;padding:24px;transition:all .25s;}
body.page-methodology .ref-card:hover{border-color:rgba(29,158,117,.25);box-shadow:0 6px 22px rgba(29,158,117,.06);}
body.page-methodology .ref-num{display:inline-block;font-size:12px;font-weight:600;color:var(--teal);letter-spacing:.06em;margin-bottom:8px;background:var(--teal-gl);padding:3px 10px;border-radius:100px;}
body.page-methodology .ref-title{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:8px;letter-spacing:-0.01em;line-height:1.35;}
body.page-methodology .ref-body{font-size:14px;color:var(--muted);line-height:1.65;}
body.page-methodology .ref-body strong{color:var(--text);font-weight:600;}

body.page-methodology .closing-note{background:white;border:1px solid var(--border);border-left:3px solid var(--teal);border-radius:10px;padding:24px 28px;margin-top:40px;}
body.page-methodology .closing-note p{font-size:14px;color:var(--muted);line-height:1.7;}
body.page-methodology .closing-note p strong{color:var(--text);font-weight:600;}

@media(max-width:600px){
  body.page-methodology nav{padding:14px 20px;}
  body.page-methodology .hero{padding:110px 20px 48px;}
  body.page-methodology .methodology-section{padding:56px 20px;}
}

/* ============================================================
   Detail / partner-full pages — extends body.page-tb
   Used by le-partner.html, florida-le.html, insurance-partner.html, marina-partner.html
   ============================================================ */

/* Small uppercase label inside a .pf card (eyebrow above the title) */
.pf-eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-l);margin-bottom:10px;display:block;}

/* Vessel grid (LE-partner hero visual) */
body.page-le .vessel-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:18px;}
body.page-le .v-dot{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border-radius:8px;font-size:11px;font-weight:700;}
body.page-le .v-dot.v-green{background:rgba(29,158,117,.18);border:1px solid rgba(29,158,117,.5);color:#3DC496;}
body.page-le .v-dot.v-amber{background:rgba(232,160,32,.18);border:1px solid rgba(232,160,32,.5);color:#FFB347;}
body.page-le .v-dot.v-red{background:rgba(232,74,74,.2);border:1px solid rgba(232,74,74,.5);color:#FF6B6B;}
body.page-le .vessel-legend{display:flex;flex-direction:column;gap:8px;font-size:13px;color:rgba(255,255,255,.7);}
body.page-le .vl{display:flex;align-items:center;gap:10px;}
body.page-le .vl .v-dot{flex-shrink:0;border-radius:4px;}

/* Govt-grid in detail pages — make sure 4-up layouts adapt */
body.page-tb .govt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:36px;}
@media(max-width:768px){body.page-tb .govt-grid{grid-template-columns:1fr;}}

/* Stats bar — make sure stats wrap cleanly on narrow viewports */
body.page-tb .stats-inner{display:flex;flex-wrap:wrap;justify-content:center;gap:24px 40px;}

/* Marina pricing — keep .inv-grid two-up on tablet, stack on phone */
body.page-marina .invest-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));}

/* Carrier strip styling refinement for ins-partner page */
body.page-ins .carrier-strip{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:24px 28px;}
body.page-ins .cs-row{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;}
body.page-ins .cs-item{display:flex;align-items:center;gap:10px;}
body.page-ins .cs-dot{width:8px;height:8px;border-radius:50%;background:var(--teal-l);}
body.page-ins .cs-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:14px;display:block;}

/* Dark variant — applies to .platform-section or .arch-section that hosts .pc/.gc cards or white inline text */
body.page-tb .platform-section.dark,
body.page-tb .arch-section.dark{background:var(--ink);}
body.page-tb .platform-section.dark .section-title,
body.page-tb .arch-section.dark .section-title{color:white;}
body.page-tb .platform-section.dark .section-title em,
body.page-tb .arch-section.dark .section-title em{color:var(--teal-l);}
body.page-tb .platform-section.dark .section-body,
body.page-tb .arch-section.dark .section-body{color:rgba(255,255,255,.65);}
body.page-tb .platform-section.dark .section-label,
body.page-tb .arch-section.dark .section-label{color:var(--teal-l);}
body.page-tb .platform-section.dark .pf,
body.page-tb .arch-section.dark .pf{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);}
body.page-tb .platform-section.dark .pf:hover,
body.page-tb .arch-section.dark .pf:hover{background:rgba(255,255,255,.07);}
body.page-tb .platform-section.dark .pf-title,
body.page-tb .arch-section.dark .pf-title{color:white;}
body.page-tb .platform-section.dark .pf-body,
body.page-tb .arch-section.dark .pf-body{color:rgba(255,255,255,.65);}
body.page-tb .platform-section.dark .pf-body strong,
body.page-tb .arch-section.dark .pf-body strong{color:white;}
body.page-tb .platform-section.dark .pf-eyebrow,
body.page-tb .arch-section.dark .pf-eyebrow{color:var(--teal-l);}
/* arch-table inside .arch-section.dark — keep readable on dark */
body.page-tb .arch-section.dark .arch-table{color:rgba(255,255,255,.85);}
body.page-tb .arch-section.dark .arch-table th{background:rgba(255,255,255,.04);color:rgba(255,255,255,.7);border-color:rgba(255,255,255,.08);}
body.page-tb .arch-section.dark .arch-table td{border-color:rgba(255,255,255,.08);}
body.page-tb .arch-section.dark .arch-table .col-old{color:rgba(255,255,255,.5);}

/* BOSS Score gauge (insurance-partner hero visual) */
body.page-ins .boss-gauge{margin-top:24px;}
body.page-ins .boss-bar{position:relative;display:flex;height:42px;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.1);}
body.page-ins .boss-zone{flex:1;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:white;}
body.page-ins .boss-zone.green{background:linear-gradient(135deg,rgba(29,158,117,.45),rgba(61,196,150,.35));}
body.page-ins .boss-zone.amber{background:linear-gradient(135deg,rgba(232,160,32,.45),rgba(253,176,84,.35));}
body.page-ins .boss-zone.red{background:linear-gradient(135deg,rgba(232,74,74,.45),rgba(255,107,107,.35));}
body.page-ins .boss-marker{position:absolute;top:-26px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;}
body.page-ins .boss-marker-lbl{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-l);margin-bottom:4px;background:var(--ink);padding:3px 8px;border-radius:4px;border:1px solid rgba(61,196,150,.4);}
body.page-ins .boss-marker-dot{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--teal-l);}
body.page-ins .boss-scale{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:rgba(255,255,255,.4);font-weight:600;}
body.page-ins .boss-scale span:nth-child(2){margin-left:auto;margin-right:auto;}
body.page-ins .boss-tiers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;}
body.page-ins .boss-tier{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:14px 16px;}
body.page-ins .boss-tier .bt-weight{font-size:22px;font-weight:800;color:var(--teal-l);line-height:1;letter-spacing:-0.02em;}
body.page-ins .boss-tier .bt-name{font-size:12px;font-weight:700;color:white;margin-top:6px;letter-spacing:.02em;}
body.page-ins .boss-tier .bt-body{font-size:12px;color:rgba(255,255,255,.55);margin-top:4px;line-height:1.5;}
body.page-ins .boss-foot{margin-top:16px;font-size:12px;color:rgba(255,255,255,.5);line-height:1.55;font-style:italic;}

/* Mobile responsiveness for new pages */
@media(max-width:600px){
  body.page-tb .stats-inner{gap:18px 24px;}
  body.page-le .vessel-grid{grid-template-columns:repeat(5,1fr);gap:6px;}
  body.page-le .v-dot{font-size:9px;}
  body.page-ins .boss-tiers{grid-template-columns:1fr;}
}
