:root{
  --navy:#0b2343;
  --navy2:#102f58;
  --red:#d3131f;
  --ink:#10213d;
  --muted:#5e6775;
  --line:#d7dde5;
  --white:#ffffff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.5}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e4e8ee}
.nav-wrap{height:84px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand img{width:235px;height:62px;object-fit:contain;object-position:left center}
.nav-links{display:flex;align-items:center;gap:28px;font-size:.78rem;font-weight:900;text-transform:uppercase}
.nav-links a{padding:31px 0 27px}
.nav-links a:first-child{border-bottom:2px solid var(--red)}
.nav-button{background:var(--red);color:#fff;padding:13px 16px!important;border:0!important}
.menu-toggle{display:none;background:var(--navy);color:#fff;border:0;padding:11px 14px;font-weight:800}
.hero{position:relative;min-height:600px;background:url('assets/hero.jpg') center/cover no-repeat}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.96) 23%,rgba(255,255,255,.55) 42%,rgba(255,255,255,.06) 67%)}
.hero-content{position:relative;min-height:600px;display:flex;align-items:center}
.hero-copy{max-width:430px;padding:70px 0}
.eyebrow{text-transform:uppercase;font-size:.76rem;font-weight:900;letter-spacing:.08em;margin:0 0 12px}
.hero h1{font-size:clamp(3rem,6vw,5.7rem);line-height:.91;margin:0 0 18px;text-transform:uppercase;letter-spacing:-.045em}
.hero-sub{font-size:1.35rem;font-weight:800;max-width:380px}
.mini-rule{display:flex;align-items:center;gap:14px;color:var(--red);margin-bottom:18px;width:230px}
.mini-rule span{height:1px;background:var(--red);flex:1}
.mini-rule.centered{margin:0 auto 15px}
.button{display:inline-flex;padding:14px 25px;font-size:.78rem;text-transform:uppercase;font-weight:900;border:0;cursor:pointer}
.button.red{background:var(--red);color:#fff}
.audience-bar{background:var(--navy);color:#fff;border-top:2px solid var(--red)}
.audience-row{display:grid;grid-template-columns:repeat(5,1fr)}
.audience-item{text-align:center;padding:24px 14px;border-right:1px solid rgba(255,255,255,.22)}
.audience-item:last-child{border-right:0}
.audience-item .icon{font-size:2rem;margin-bottom:7px}
.audience-item strong,.audience-item span{display:block;text-transform:uppercase}
.audience-item strong{font-size:.9rem}
.audience-item span{font-size:.78rem;color:rgba(255,255,255,.82)}
.section{padding:85px 0}
.section-title{text-align:center;max-width:680px;margin:0 auto 48px}
.section-title h2{font-size:2.7rem;margin:0 0 10px;text-transform:uppercase;letter-spacing:-.035em}
.section-title p{color:var(--muted)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.service-grid article{text-align:center;padding:18px 35px;border-right:1px solid var(--line)}
.service-grid article:last-child{border-right:0}
.service-icon{font-size:2.4rem;color:var(--navy);margin-bottom:14px}
.service-grid h3{text-transform:uppercase;font-size:1rem;margin:0 0 12px}
.service-grid p{font-size:.9rem;color:var(--muted)}
.split-section{display:grid;grid-template-columns:.83fr 1.17fr;align-items:stretch;background:#f8f9fb}
.split-copy{padding:70px max(40px,calc((100vw - 1180px)/2));padding-right:60px}
.split-copy h2{font-size:clamp(2.6rem,5vw,4.8rem);line-height:1;margin:0 0 22px;text-transform:uppercase}
.split-copy p{color:var(--muted);max-width:560px}
.red-text{color:var(--red)}
.split-photo img{width:100%;height:100%;object-fit:cover;min-height:420px}
.benefit-row{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line)}
.benefit-row div{text-align:center;padding:26px 15px;border-right:1px solid var(--line)}
.benefit-row div:last-child{border-right:0}
.benefit-row span{display:block;font-size:2rem;color:var(--red);margin-bottom:8px}
.benefit-row strong{display:block;text-transform:uppercase;font-size:.82rem}
.contact-section{background:var(--navy);color:#fff;padding:78px 0}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px}
.contact-grid h2{font-size:clamp(2.6rem,5vw,4.6rem);line-height:1;margin:0 0 18px;text-transform:uppercase}
.contact-links{display:grid;gap:8px;margin-top:28px;font-weight:900}
form{display:grid;gap:14px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:grid;gap:7px;text-transform:uppercase;font-size:.72rem;font-weight:900}
input,textarea,select{width:100%;padding:13px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;font:inherit}
select option{color:#111}
footer{padding:27px 0;background:#fff}
.footer-wrap{display:flex;justify-content:space-between;gap:20px;font-size:.78rem}
.footer-wrap div{display:flex;gap:24px;font-weight:800;text-transform:uppercase}
@media(max-width:900px){
  .menu-toggle{display:block}
  .nav-links{display:none;position:absolute;top:84px;left:0;right:0;background:#fff;padding:18px 22px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}
  .nav-links.open{display:flex}
  .nav-links a{padding:7px 0}
  .hero-overlay{background:rgba(255,255,255,.82)}
  .audience-row{grid-template-columns:repeat(2,1fr)}
  .audience-item{border-bottom:1px solid rgba(255,255,255,.18)}
  .service-grid{grid-template-columns:1fr 1fr;gap:25px}
  .service-grid article:nth-child(2){border-right:0}
  .split-section,.contact-grid{grid-template-columns:1fr}
  .split-copy{padding:65px 28px}
  .benefit-row{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .brand img{width:180px}
  .hero-copy{padding:80px 0}
  .hero h1{font-size:3.6rem}
  .audience-row{grid-template-columns:1fr}
  .service-grid{grid-template-columns:1fr}
  .service-grid article{border-right:0;border-bottom:1px solid var(--line)}
  .benefit-row{grid-template-columns:1fr}
  .field-row{grid-template-columns:1fr}
  .footer-wrap{flex-direction:column}
  .footer-wrap div{flex-wrap:wrap}
}

/* Updated branding, footer, legal pages and form */
.nav-wrap{height:102px}.brand img{width:310px;height:84px}.nav-links a:first-child{border-bottom:0}
.home-contact{background:var(--navy);color:#fff;padding:60px 0}.home-contact-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.home-contact h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1;margin:0 0 10px;text-transform:uppercase}
.contact-hero{background:var(--navy);color:#fff;padding:88px 0}.contact-hero h1{font-size:clamp(3rem,6vw,5.6rem);line-height:1;margin:0 0 22px;text-transform:uppercase;max-width:850px}.contact-hero p{max-width:760px;font-size:1.12rem}.contact-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.contact-info h2,.form-card h2{font-size:2.5rem;text-transform:uppercase;margin-top:0}.contact-info h3{font-size:.8rem;text-transform:uppercase;color:var(--red);margin:28px 0 5px}.contact-info a{font-weight:800}.form-card{background:#f5f7fa;padding:34px;border-top:5px solid var(--red)}.form-card input,.form-card textarea,.form-card select{border:1px solid #c8d0da;background:#fff;color:#111}.honeypot{position:absolute;left:-9999px}.form-status{min-height:1.5em;margin:0;font-weight:800}.form-status.success{color:#167c3f}.form-status.error{color:#b30f21}
.legal-page{padding:70px 0}.legal-content{max-width:820px}.legal-content h1{font-size:clamp(3rem,6vw,5rem);line-height:1;text-transform:uppercase;margin:0 0 8px}.legal-content .updated{color:var(--muted);font-weight:700}.legal-content h2{margin-top:34px;text-transform:uppercase;font-size:1.2rem}.legal-content a{color:var(--red);font-weight:800}.legal-content li{margin:7px 0}
footer{padding:55px 0 25px;background:#fff;border-top:1px solid var(--line)}.footer-main{display:grid;grid-template-columns:1.4fr .7fr .7fr;gap:50px;padding-bottom:40px}.footer-brand img{width:330px;height:105px;object-fit:contain;object-position:left center;margin-bottom:18px}.footer-brand p{max-width:430px;color:var(--muted)}.footer-main h3{font-size:.8rem;text-transform:uppercase;color:var(--red)}.footer-main>div:not(.footer-brand){display:flex;flex-direction:column;gap:9px}.footer-main a{font-weight:700}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:.78rem}.footer-bottom div{display:flex;gap:24px;font-weight:800;text-transform:uppercase}
@media(max-width:900px){.nav-wrap{height:86px}.brand img{width:235px;height:70px}.nav-links{top:86px}.home-contact-inner{align-items:flex-start;flex-direction:column}.contact-layout{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:560px){.brand img{width:205px}.footer-main{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-brand img{width:285px}.footer-bottom{flex-direction:column}.footer-bottom div{flex-wrap:wrap}}

.submission-frame{display:none}

/* Confirmation page */
.thank-you-page{min-height:72vh;display:grid;place-items:center;padding:70px 20px;background:linear-gradient(135deg,#f5f7fa 0%,#fff 60%)}
.thank-you-card{width:min(760px,100%);background:#fff;border-top:7px solid var(--red);box-shadow:0 22px 60px rgba(11,35,67,.14);padding:58px;text-align:center}
.thank-you-mark{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:0 auto 24px;background:var(--navy);color:#fff;font-size:2rem;font-weight:900}
.thank-you-card h1{font-size:clamp(3.5rem,8vw,6.5rem);line-height:.9;text-transform:uppercase;margin:0 0 24px}
.thank-you-lead{font-size:1.35rem;font-weight:800}.thank-you-card>p{max-width:610px;margin-left:auto;margin-right:auto}
.thank-you-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:32px 0 22px}.button.outline{border:1px solid var(--navy);color:var(--navy);background:#fff}
.thank-you-contact{font-size:.9rem}.thank-you-contact a{font-weight:900;color:var(--red)}

/* Internal admin launcher. Protect with Cloudflare Access. */
.admin-body{background:#eef2f7}.admin-page{min-height:100vh;display:grid;place-items:center;padding:35px 20px}.admin-panel{width:min(980px,100%);background:#fff;padding:48px;box-shadow:0 20px 60px rgba(11,35,67,.15);border-top:7px solid var(--red)}
.admin-logo{width:300px;height:88px;object-fit:contain;object-position:left center;margin-bottom:30px}.admin-panel h1{font-size:clamp(3rem,7vw,5.5rem);line-height:.95;text-transform:uppercase;margin:0 0 18px}.admin-intro{max-width:680px;color:var(--muted);font-size:1.08rem}
.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:34px 0}.admin-tile{border:1px solid var(--line);padding:28px;display:grid;gap:7px;transition:.2s}.admin-tile:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(11,35,67,.1);border-color:var(--navy)}.admin-tile span{font-size:2rem;color:var(--red)}.admin-tile strong{font-size:1.15rem;text-transform:uppercase}.admin-tile small{color:var(--muted)}
.admin-warning{background:#fff5e8;border-left:5px solid #d98200;padding:18px;font-size:.9rem}.admin-warning code{font-weight:800}
button:disabled{opacity:.62;cursor:wait}
@media(max-width:650px){.thank-you-card,.admin-panel{padding:35px 24px}.admin-grid{grid-template-columns:1fr}.admin-logo{width:245px}.thank-you-actions{flex-direction:column}.thank-you-actions .button{justify-content:center}}

/* Lead Desk */
.admin-body{background:#eef2f6}.crm-shell{min-height:100vh;padding:28px}.crm-header{max-width:1500px;margin:auto;display:flex;align-items:center;gap:24px;background:#fff;padding:20px 28px;border-top:5px solid var(--red);box-shadow:0 12px 35px rgba(11,35,67,.08)}.crm-header img{width:250px;height:78px;object-fit:contain;object-position:left}.crm-header h1{margin:0;text-transform:uppercase;font-size:2rem}.crm-header .eyebrow{margin:0}.crm-actions{margin-left:auto;display:flex;gap:10px}.crm-secondary{background:#fff;color:var(--navy);border:1px solid #cbd3dd}.crm-unlock{max-width:620px;margin:80px auto;background:#fff;padding:40px;border-top:5px solid var(--red);box-shadow:0 18px 50px rgba(11,35,67,.1)}.crm-unlock form{display:grid;grid-template-columns:1fr auto;gap:10px}.crm-dashboard{max-width:1500px;margin:22px auto}.crm-summary{display:grid;grid-template-columns:repeat(3,150px) 1fr;gap:14px;margin-bottom:18px}.crm-summary>div{background:#fff;padding:18px;border-left:4px solid var(--red)}.crm-summary span{display:block;font-size:2rem;font-weight:900}.crm-summary small{text-transform:uppercase;font-weight:900}.crm-summary button{justify-self:end;align-self:center}.crm-layout{display:grid;grid-template-columns:410px 1fr;gap:18px;min-height:680px}.crm-list,.crm-detail{background:#fff;box-shadow:0 12px 35px rgba(11,35,67,.07)}.crm-list-head{padding:18px;border-bottom:1px solid var(--line);display:grid;gap:10px}.crm-list-head input{padding:11px}.crm-lead{width:100%;display:grid;grid-template-columns:95px 1fr;text-align:left;gap:3px 12px;padding:16px 18px;background:#fff;border:0;border-bottom:1px solid #e6eaf0;cursor:pointer;color:var(--ink)}.crm-lead:hover,.crm-lead.active{background:#f4f7fa}.crm-lead strong{font-size:1rem}.crm-lead small{grid-column:2;color:var(--muted)}.crm-status{display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:900;text-transform:uppercase;padding:5px 8px;border-radius:999px;background:#e8edf3;color:#334}.status-new{background:#fff0c7;color:#725500}.status-contacted{background:#dcecff;color:#124b82}.status-quoted{background:#eadfff;color:#5d2b91}.status-booked{background:#d9f4e3;color:#17663a}.status-closed{background:#e5e7ea;color:#525862}.crm-detail{padding:28px}.crm-detail-head{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:20px}.crm-detail-head h2{font-size:2rem;margin:10px 0 0}.crm-detail-head p{margin:0;color:var(--muted)}.crm-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.crm-fields div{background:var(--soft);padding:13px}.crm-fields small,.crm-fields strong{display:block}.crm-fields small{text-transform:uppercase;color:var(--red);font-weight:900;font-size:.66rem}.crm-message{padding:18px;border-left:4px solid var(--red);background:#f8f9fb}.crm-message h3{margin-top:0}.crm-form{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.crm-form h3{margin:0 0 12px;text-transform:uppercase}.crm-form select,.crm-form textarea,.crm-form input{margin-bottom:10px}.crm-empty{padding:45px;color:var(--muted);text-align:center}@media(max-width:900px){.crm-shell{padding:10px}.crm-header{align-items:flex-start;flex-wrap:wrap}.crm-header img{width:210px}.crm-actions{margin-left:0;width:100%;flex-wrap:wrap}.crm-summary{grid-template-columns:repeat(3,1fr)}.crm-summary button{grid-column:1/-1;justify-self:start}.crm-layout{grid-template-columns:1fr}.crm-fields{grid-template-columns:1fr 1fr}}@media(max-width:560px){.crm-unlock form{grid-template-columns:1fr}.crm-summary{grid-template-columns:1fr 1fr}.crm-fields{grid-template-columns:1fr}.crm-header h1{font-size:1.45rem}}

/* =========================================================
   LEAD DESK FINAL OVERRIDES
   ========================================================= */
[hidden] { display: none !important; }

.admin-body input,
.admin-body textarea,
.admin-body select {
  width: 100%;
  background: #ffffff !important;
  color: #10213d !important;
  -webkit-text-fill-color: #10213d !important;
  caret-color: #10213d !important;
  border: 1px solid #cbd3dd !important;
  opacity: 1 !important;
  font: inherit;
}

.admin-body input::placeholder,
.admin-body textarea::placeholder {
  color: #687386 !important;
  -webkit-text-fill-color: #687386 !important;
  opacity: 1 !important;
}

.admin-body select option {
  color: #10213d !important;
  background: #ffffff !important;
}

.admin-body .crm-form { display: block; }
.admin-body .crm-form input,
.admin-body .crm-form textarea,
.admin-body .crm-form select {
  display: block;
  margin: 0 0 12px;
}
.admin-body .crm-form textarea {
  min-height: 135px;
  resize: vertical;
  line-height: 1.5;
}
.admin-body .crm-fields div { background: #f5f7fa; }
.admin-body .form-status { min-height: 1.5em; margin: 10px 0 0; }
.admin-body .form-status.error { color: #b30f21; }
.admin-body .form-status.success { color: #167c3f; }
.admin-body .crm-summary { grid-template-columns: repeat(5, minmax(110px, 1fr)) auto; }

@media (max-width: 900px) {
  .admin-body .crm-summary { grid-template-columns: repeat(2, 1fr); }
  .admin-body .crm-summary button { grid-column: 1 / -1; }
}
