/* Veltrion Laboratories — shared stylesheet */
:root{
  --navy:#14213D; --navy-2:#1C2C4E; --teal:#006D77; --gold:#C9A04E;
  --ink:#1A1A1A; --muted:#5B6472; --line:#E4E6EC; --bg:#FFFFFF; --bg-soft:#F6F7F9; --steel:#9FB0C9;
  --maxw:1120px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"Lora",Georgia,serif; font-size:17px; line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.eyebrow,.nav,.btn,.wm,.stat-n,label,input,select,textarea,button{font-family:"Inter",Helvetica,Arial,sans-serif;}
a{color:var(--teal); text-decoration:none;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
.narrow{max-width:760px;}
.eyebrow{font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--teal); font-weight:700; margin:0 0 10px;}
h2{font-size:30px; line-height:1.15; letter-spacing:-.01em; color:var(--navy); font-weight:700; margin:0 0 14px;}
h3{font-size:14px; letter-spacing:.06em; text-transform:uppercase; color:var(--navy); font-weight:700; margin:0 0 8px;}
p{margin:0 0 14px;}
.section{padding:74px 0; border-top:1px solid var(--line);}
.lead{font-size:21px; line-height:1.5; color:var(--navy);}
:focus-visible{outline:3px solid var(--teal); outline-offset:2px;}
.rule-gold{width:64px; height:3px; background:var(--gold); border:0; margin:0 0 26px;}

/* Header */
header{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
.hbar{display:flex; align-items:center; justify-content:space-between; height:72px;}
.brand{display:flex; align-items:center; gap:12px;}
.brand img{height:42px; width:auto; display:block;}
.wm{display:flex; flex-direction:column; line-height:1;}
.wm .n{font-weight:800; font-size:17px; letter-spacing:.14em; color:var(--navy);}
.wm .s{font-size:8.5px; letter-spacing:.30em; color:var(--navy); font-weight:700; margin-top:3px;}
nav.nav{display:flex; gap:26px; align-items:center; font-size:14px; font-weight:500;}
nav.nav a{color:var(--navy);}
nav.nav a:hover{color:var(--teal);}
.btn{display:inline-block; background:var(--navy); color:#fff; padding:11px 20px; border-radius:3px; font-size:14px; font-weight:600; letter-spacing:.02em; cursor:pointer; border:0;}
.btn:hover{background:#0E1830;}
.btn.gold{background:var(--gold); color:var(--navy);}
.btn.gold:hover{background:#B98E3C;}
.btn.lg{padding:15px 28px; font-size:15px;}
.btn.block{display:block; width:100%; text-align:center;}
.btn.ghost{background:transparent; border:1px solid #3A4A66; color:#fff;}
.menu-tgl{display:none; background:none; border:0; padding:8px; cursor:pointer;}
.menu-tgl svg{display:block;}

/* Hero */
.hero{background:var(--navy); color:#fff; padding:96px 0 90px; position:relative; overflow:hidden;}
.hero.compact{padding:64px 0 56px;}
.hero .mark-bg{position:absolute; right:-60px; top:50%; transform:translateY(-50%); width:520px; opacity:.06;}
.hero .eyebrow{color:var(--gold);}
.hero h1{font-family:"Inter",sans-serif; font-size:50px; line-height:1.06; letter-spacing:-.02em; font-weight:800; margin:0 0 20px; max-width:16ch;}
.hero.compact h1{font-size:38px;}
.hero p{font-size:20px; line-height:1.55; color:#C8D2E0; max-width:62ch;}
.hero .cta{margin-top:30px; display:flex; gap:14px; flex-wrap:wrap;}

/* Stat strip */
.stats{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.stat{background:#fff; padding:26px 22px;}
.stat-n{font-size:15px; font-weight:700; color:var(--teal); letter-spacing:.04em; margin-bottom:6px;}
.stat-d{font-size:15px; color:var(--muted); line-height:1.45;}

/* Cards */
.grid{display:grid; gap:22px;}
.g2{grid-template-columns:repeat(2,1fr);}
.g3{grid-template-columns:repeat(3,1fr);}
.card{border:1px solid var(--line); border-top:3px solid var(--teal); padding:24px 22px; background:#fff;}
.card h3{color:var(--navy);}
.card p{font-size:15.5px; line-height:1.6; color:var(--ink); margin:0;}
.card.alt{border-top-color:var(--gold);}

/* Differentiators */
.diff{display:grid; grid-template-columns:1.1fr 1fr; gap:22px;}
.diff .feat{padding:22px 0; border-bottom:1px solid var(--line);}
.diff .feat:last-child{border-bottom:0;}
.diff .feat p{font-size:16px; color:var(--muted); margin:6px 0 0;}
.panel{background:var(--navy); color:#fff; padding:34px 30px; align-self:start;}
.panel .eyebrow{color:var(--gold);}
.panel h3{color:#fff; font-size:18px; text-transform:none; letter-spacing:0; margin-bottom:12px;}
.panel p{color:#C8D2E0; font-size:15.5px;}

/* Engage list */
.engage{display:grid; grid-template-columns:repeat(2,1fr); gap:0 40px;}
.engage .row{display:grid; grid-template-columns:30px 1fr; gap:14px; padding:18px 0; border-bottom:1px solid var(--line);}
.engage .row .no{font-family:"Inter",sans-serif; font-weight:700; color:var(--teal); font-size:14px;}
.engage .row p{font-size:15.5px; color:var(--muted); margin:4px 0 0;}

/* Pricing / paygate */
.price-card{background:#fff; border:1px solid var(--line); border-top:4px solid var(--gold); padding:38px 34px; max-width:560px;}
.price-tag{font-family:"Inter",sans-serif; font-weight:800; color:var(--navy); font-size:46px; letter-spacing:-.02em; line-height:1; margin:6px 0 4px;}
.price-tag .cur{font-size:22px; vertical-align:super; font-weight:700; color:var(--teal);}
.price-sub{color:var(--muted); font-size:14px; margin:0 0 22px;}
.price-list{list-style:none; padding:0; margin:0 0 26px;}
.price-list li{position:relative; padding:9px 0 9px 28px; border-bottom:1px solid var(--line); font-size:15.5px; color:var(--ink);}
.price-list li:before{content:"✓"; position:absolute; left:0; top:9px; color:var(--teal); font-weight:700;}
.note{background:var(--bg-soft); border-left:3px solid var(--teal); padding:14px 18px; font-size:14.5px; color:var(--muted); margin:18px 0;}
.note.warn{border-left-color:var(--gold);}

/* Forms */
.form-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px 22px;}
.field{display:flex; flex-direction:column; gap:6px;}
.field.full{grid-column:1 / -1;}
label{font-size:13px; font-weight:600; color:var(--navy); letter-spacing:.01em;}
label .req{color:#C0392B;}
input,select,textarea{
  font-size:15px; padding:12px 14px; border:1px solid var(--line); border-radius:4px;
  background:#fff; color:var(--ink); width:100%;
}
input:focus,select:focus,textarea:focus{border-color:var(--teal); outline:none; box-shadow:0 0 0 3px rgba(0,109,119,.12);}
textarea{min-height:120px; resize:vertical; font-family:"Inter",sans-serif;}
.hint{font-size:12.5px; color:var(--muted); margin:0;}
.consent{display:flex; gap:10px; align-items:flex-start; font-family:"Inter",sans-serif; font-size:13.5px; color:var(--muted); line-height:1.5;}
.consent input{width:auto; margin-top:3px;}

/* Legal / prose pages */
.prose{font-size:16.5px; color:var(--ink);}
.prose h2{font-size:22px; margin:34px 0 10px;}
.prose h3{font-size:13px; margin:22px 0 6px;}
.prose ul,.prose ol{margin:0 0 16px; padding-left:22px;}
.prose li{margin:0 0 7px;}
.prose .meta{color:var(--muted); font-size:14px; font-family:"Inter",sans-serif;}
.toc{background:var(--bg-soft); border:1px solid var(--line); padding:20px 24px; margin:0 0 30px; font-family:"Inter",sans-serif; font-size:14.5px;}
.toc ul{list-style:none; margin:0; padding:0; columns:2; column-gap:30px;}
.toc li{margin:0 0 7px;}

/* Contact */
.contact{background:var(--bg-soft);}
.contact-card{background:var(--navy); color:#fff; padding:44px 40px; display:grid; grid-template-columns:1.2fr 1fr; gap:30px; align-items:center;}
.contact-card h2{color:#fff;}
.contact-card p{color:#C8D2E0;}
.contact-card .det{font-family:"Inter",sans-serif; font-size:15px; line-height:1.9;}
.contact-card .det a{color:#fff;}
.contact-card .det .k{color:var(--steel); display:inline-block; width:74px;}

/* Footer */
footer{background:#0E1830; color:#8294AE; font-family:"Inter",sans-serif; font-size:12.5px; padding:34px 0;}
footer .wrap{display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap;}
footer a{color:#B7C4D6;}
footer .fnav{display:flex; gap:18px; flex-wrap:wrap; margin-bottom:8px;}
footer .conf{color:#9FB0C9;}

.confbar{background:var(--gold); color:var(--navy); text-align:center; font-family:"Inter",sans-serif; font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; padding:7px;}

@media(max-width:860px){
  .g3,.g2,.diff,.engage,.stats,.contact-card,.form-grid{grid-template-columns:1fr;}
  .toc ul{columns:1;}
  .hero h1{font-size:36px;} .hero{padding:64px 0;}
  h2{font-size:25px;}
  .hero .mark-bg{opacity:.05; width:360px; right:-100px;}
  .menu-tgl{display:inline-flex;}
  nav.nav{
    position:absolute; top:72px; left:0; right:0;
    flex-direction:column; align-items:stretch; gap:0;
    background:#fff; border-bottom:1px solid var(--line);
    box-shadow:0 12px 24px rgba(20,33,61,.10);
    display:none;
  }
  nav.nav.open{display:flex;}
  nav.nav a{padding:16px 28px; border-top:1px solid var(--line);}
  nav.nav a.btn{margin:16px 28px; text-align:center; border-top:0;}
}
