:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#e9f0f5;background:#0b1521}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:21px max(5%,calc((100vw - 1170px)/2));background:#101f30;border-bottom:1px solid #27384a;flex-wrap:wrap}.brand{text-decoration:none;color:white;font-weight:850;letter-spacing:.06em;font-size:17px}.brand span{color:#55d4aa}nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}nav a{color:#d1e1eb;text-decoration:none;font-size:14px}nav a:hover,a{color:#57d7af}main{max-width:1170px;padding:42px 20px 80px;margin:auto;min-height:80vh}.hero{display:grid;grid-template-columns:1.55fr 1fr;align-items:center;gap:40px;padding:40px 0 65px}.hero h1{font-size:clamp(38px,5vw,62px);line-height:1.08;letter-spacing:-.035em}.hero em{color:#58dfb3;font-style:normal}.hero p{font-size:17px;line-height:1.65;color:#b9cbd8}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:#69d4b0;font-size:12px;font-weight:800}.panel{background:#142639;border:1px solid #2a3e52;border-radius:16px;padding:25px;margin:16px 0}.three,.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.narrow{max-width:610px;margin:20px auto}.muted{color:#b4c3d2}h1{font-size:34px}h2{font-size:23px}h3{font-size:17px}p{line-height:1.55}form{display:grid;gap:15px}form.inline,td form{display:inline}label{display:grid;gap:7px;font-size:14px;font-weight:650}input,textarea,select{width:100%;font:inherit;border:1px solid #446078;border-radius:9px;background:#0b1928;color:#fff;padding:12px}textarea{min-height:110px}button,.button{display:inline-block;width:fit-content;border:0;border-radius:9px;background:#58d6a9;color:#09201b;font-weight:800;padding:12px 20px;text-decoration:none;font:inherit;cursor:pointer}.button{font-weight:800}.button.alt{background:#244259;color:#e4eef4}.actions{display:flex;gap:12px;flex-wrap:wrap}.quiet{background:none;color:#b7c7d2;padding:0}.small{padding:7px 10px;font-size:12px}.danger{background:#f2acaf;color:#571a21}.error{border:1px solid #d47d7d;background:#4b2732;border-radius:8px;padding:10px}.scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:530px}td,th{text-align:left;border-bottom:1px solid #334a5d;padding:12px 8px;font-size:13px}th{color:#a9c3d1}.horizontal{display:flex;align-items:end;flex-wrap:wrap}.check{display:flex;align-items:center;font-weight:400}.check input{width:auto}footer{text-align:center;border-top:1px solid #263b4e;color:#8ea3b6;padding:25px;font-size:12px}@media(max-width:750px){.hero,.three,.cards{grid-template-columns:1fr}.hero{padding-top:0}main{padding:20px 15px 50px}header{padding:18px}nav{gap:12px}.panel{padding:18px}}

.compact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.invoice-table{min-width:620px}.invoice-table input{min-width:0}.invoice-table td{padding:8px 4px}.invoice-table td:last-child{width:75px}details.panel{margin:0}details summary{cursor:pointer;padding:4px 0}details .compact-grid{margin-top:18px}#invoice-total{align-self:center;margin-left:auto}@media(max-width:700px){.compact-grid{grid-template-columns:1fr}}

/* Homepage promotional film */
.home-promo{padding:30px;margin:10px 0 30px;border:1px solid #3d3d65;border-radius:18px;background:linear-gradient(140deg,#14223a,#16152f 65%,#0e1829)}
.home-promo-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:20px}
.home-promo-heading>div:first-child{max-width:660px}
.home-promo-heading h2{font-size:clamp(24px,3vw,35px);margin:5px 0}
.home-promo-heading p:not(.eyebrow){color:#c4d1de;margin:8px 0}
.home-promo-video{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:12px;background:#080e20;border:1px solid #3b365e}
.promo-pending{width:100%;aspect-ratio:16/9;max-height:510px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:12px;border:1px dashed #5a4e88;background:#10152b;color:#d9d1eb;padding:20px}
.home-promo-disclaimer{font-size:12px;margin:14px 0 0}
@media(max-width:750px){.home-promo{padding:16px}.home-promo-heading{gap:10px}.home-promo-heading .actions{width:100%}}

