*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#001233;--ink:#12183a;--mid:#4a4a5a;--muted:#808090;
  --rule:#d6d6e0;--bg:#f4f4ef;--white:#fff;--black:#0d0d0d;
  --gold:#b8920c;--gold-lt:#e4c040;
  --fd:'EB Garamond',Georgia,serif;
  --fb:'Barlow',system-ui,sans-serif;
  --tr:.24s ease;--max:1320px;--nh:82px;
}
html{scroll-behavior:smooth}
body{font-family:var(--fb);font-weight:400;color:var(--black);background:var(--white);overflow-x:hidden;-webkit-font-smoothing:antialiased}
nav{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--nh);background:rgba(255,255,255,.97);border-bottom:1px solid var(--rule)}
.ni{width:100%;max-width:var(--max);margin:0 auto;padding:0 2.5rem;display:flex;align-items:center;justify-content:space-between;height:100%}
.logo{display:flex;align-items:center;gap:.55rem;text-decoration:none}
.logo img{height:58px;width:auto;display:block}
.nlinks{display:flex;list-style:none}
.nlinks a{display:block;padding:0 1rem;height:var(--nh);line-height:var(--nh);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--mid);text-decoration:none;border-bottom:2px solid transparent;transition:color var(--tr),border-color var(--tr)}
.nlinks a:hover,.nlinks a.active{color:var(--navy);border-bottom-color:var(--navy)}
.ncta{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--white);background:var(--navy);padding:.52rem 1.3rem;text-decoration:none;transition:background var(--tr)}
.ncta:hover{background:#0a2060}
.wrap{max-width:var(--max);margin:0 auto;padding:0 2.5rem}
.pt{padding-top:var(--nh)}
.sec-label{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--muted);display:flex;align-items:center;gap:.75rem;margin-bottom:2.5rem;border-top:2px solid var(--navy);padding-top:.75rem}
.sec-h{font-family:var(--fd);font-size:clamp(2rem,3vw,3.2rem);font-weight:400;line-height:1.18;color:var(--navy);letter-spacing:-.01em}
.sec-h em{font-style:italic;color:var(--gold)}
.sec-sub{font-size:.92rem;line-height:1.82;font-weight:300;color:var(--mid);max-width:520px;margin-top:1rem}
.bw{background:var(--white);color:var(--navy);padding:.72rem 1.9rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;text-decoration:none;display:inline-block;transition:background var(--tr)}
.bw:hover{background:var(--gold-lt)}
.bn{background:var(--navy);color:var(--white);padding:.72rem 1.9rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;text-decoration:none;display:inline-block;transition:background var(--tr)}
.bn:hover{background:#0a2060}
footer{background:var(--black);color:rgba(255,255,255,.4);border-top:1px solid rgba(255,255,255,.06)}
.ft-top{max-width:var(--max);margin:0 auto;padding:2.75rem 2.5rem 2rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:3rem;border-bottom:1px solid rgba(255,255,255,.05)}
.ft-logo img{height:82px;width:auto;background:var(--white);border-radius:10px;padding:6px;filter:none}
.ft-links{display:flex;gap:2rem;flex-wrap:wrap;justify-content:center}
.ft-links a{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.3);text-decoration:none;transition:color var(--tr)}
.ft-links a:hover{color:rgba(255,255,255,.8)}
.ft-bot{max-width:var(--max);margin:0 auto;padding:1.1rem 2.5rem;font-size:.62rem;letter-spacing:.04em;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}
@media(max-width:700px){.nlinks{display:none}.ncta{font-size:.65rem;padding:.45rem .9rem}}

/* Performance/accessibility and quote-form enhancements */
img{max-width:100%;height:auto}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold-lt);outline-offset:3px}
.quote-form input,.quote-form select,.quote-form textarea{width:100%}
.quote-form button[disabled]{opacity:.65;cursor:not-allowed}
.form-status{margin-top:1rem;font-size:.86rem;line-height:1.55;color:var(--navy)}
.form-status.success{color:#126b35}.form-status.error{color:#9b1c1c}
@media(max-width:900px){
  div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}
  div[style*="padding:7rem 5rem"]{padding:5rem 2rem!important}
}
@media(max-width:700px){.ni{padding:0 1.25rem}.wrap{padding:0 1.25rem}.ft-top{grid-template-columns:1fr;text-align:center}.ft-bot{justify-content:center;text-align:center}}

/* Rosenex logo integration */
@media(max-width:700px){.logo img{height:48px}.ft-logo img{height:72px}}

/* Rosenex Connect footer buttons */
.rx-connect-btn{display:inline-block;margin:10px 10px 12px 0;padding:9px 14px;background:#d4af37;color:#0b0b0b!important;text-decoration:none;border-radius:4px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.rx-linktree{display:inline-block;margin:10px 0 12px;color:#d4af37!important;text-decoration:none;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.rx-connect-btn:hover{background:#f0c94a}
.rx-linktree:hover{color:#fff!important}


/* PWA install button */
.install-app-btn{display:none;position:fixed;right:18px;bottom:18px;z-index:9999;border:0;border-radius:999px;background:#d4af37;color:#0b0b0b;padding:12px 18px;font:600 12px/1.1 'Barlow',system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 10px 30px rgba(0,0,0,.25);cursor:pointer}.pwa-install-ready .install-app-btn{display:inline-flex}.install-app-btn:hover{background:#f0c94a}@media(max-width:700px){.install-app-btn{left:16px;right:16px;justify-content:center}}
