:root { --ri-ink:#112a2c; --ri-muted:#587173; --ri-deep:#041315; --ri-teal:#021c1e; --ri-lime:#a7ed3b; --ri-paper:#fbfaf5; --ri-white:#fff; --ri-line:rgba(17,42,44,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ri-paper); color:var(--ri-ink); font-family:Arial,Helvetica,sans-serif; line-height:1.6; }
a { color:#166b73; }
.skip-link { position:absolute; left:-9999px; top:.5rem; z-index:999; padding:.75rem 1rem; background:#fff; color:var(--ri-ink); }
.skip-link:focus { left:.5rem; }
.site-header { width:100%; min-height:104px; margin:0; padding:26px clamp(24px,5vw,62px); display:flex; align-items:center; justify-content:space-between; gap:2rem; background:var(--ri-teal); color:#fff; border:0; }
.site-header .brand { display:flex; align-items:center; gap:.85rem; color:#fff; text-decoration:none; }
.site-header .brand-symbol { width:44px; height:52px; object-fit:contain; }
.site-header .brand-copy { display:grid; line-height:1.12; }
.site-header .brand strong { color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:1.25rem; }
.site-header .brand small { color:rgba(255,255,255,.78); font-size:.72rem; }
.site-header .brand-tagline { margin-top:.28rem; color:var(--ri-lime); font-size:.68rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.site-header .main-nav { display:flex; align-items:center; flex-wrap:wrap; gap:clamp(.8rem,1.8vw,1.55rem); }
.site-header .main-nav a { color:#fff; font-size:.94rem; font-weight:700; text-decoration:none; }
.site-header .main-nav a:hover,.site-header .main-nav a:focus { color:var(--ri-lime); }
.fus-mobile-nav-toggle { display:none; }
main { width:100%; margin:0; }
.hero { width:100%; display:grid; grid-template-columns:minmax(0,1.55fr) minmax(250px,.45fr); gap:clamp(2rem,7vw,6rem); align-items:end; padding:clamp(4rem,9vw,8rem) max(1rem,calc((100% - 1180px)/2)); background:var(--ri-teal); color:#fff; }
.eyebrow { margin:0 0 .7rem; color:#78a93a; font-size:.82rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.hero .eyebrow { color:var(--ri-lime); }
h1,h2 { margin:0 0 1rem; font-family:Georgia,'Times New Roman',serif; line-height:1.04; }
h1 { max-width:860px; color:#fff; font-size:clamp(3rem,7.4vw,7.4rem); letter-spacing:-.035em; }
h2 { color:var(--ri-ink); font-size:clamp(2rem,4.5vw,3.8rem); }
.lead { max-width:760px; margin:1.4rem 0 0; color:rgba(255,255,255,.78); font-size:clamp(1.05rem,2vw,1.3rem); }
.hero aside { padding:1.7rem; border:1px solid rgba(255,255,255,.22); border-top:4px solid var(--ri-lime); background:rgba(255,255,255,.07); color:#fff; }
.hero aside strong { font-family:Georgia,'Times New Roman',serif; font-size:1.35rem; }
.hero aside ul { margin:.8rem 0 0; padding-left:1.2rem; color:rgba(255,255,255,.82); }
.form-section { width:min(1180px,calc(100% - 2rem)); margin:clamp(3rem,7vw,7rem) auto; display:grid; grid-template-columns:minmax(230px,.42fr) minmax(0,1fr); gap:clamp(2rem,7vw,6rem); padding:clamp(2rem,5vw,4.5rem); border:1px solid var(--ri-line); background:#fff; box-shadow:0 24px 70px rgba(4,19,21,.08); }
.form-intro { align-self:start; position:sticky; top:1.5rem; }
.form-intro p:not(.eyebrow) { color:var(--ri-muted); }
form { min-width:0; }
.field-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.field,fieldset { margin:0 0 1.5rem; }
label,legend { color:var(--ri-ink); font-weight:750; }
fieldset { padding:1.2rem; border:1px solid var(--ri-line); border-radius:0; background:#fdfcf8; }
legend { padding:0 .45rem; }
.hint { margin:-.15rem 0 .85rem; color:var(--ri-muted); font-size:.9rem; }
.optional { color:var(--ri-muted); font-size:.82rem; font-weight:500; }
input[type='text'],input[type='email'],textarea,select { width:100%; margin-top:.4rem; padding:.9rem; border:1px solid #91a3a4; border-radius:0; background:#fff; color:var(--ri-ink); font:inherit; }
textarea { min-height:132px; resize:vertical; }
input:focus,textarea:focus,select:focus { outline:3px solid rgba(167,237,59,.45); border-color:var(--ri-ink); }
.choice { display:flex; align-items:flex-start; gap:.7rem; margin:.62rem 0; font-weight:600; }
.choice input,.consent input { width:1.25rem; height:1.25rem; margin-top:.18rem; flex:0 0 auto; accent-color:#315f32; }
.privacy-box { margin:1.6rem 0; padding:1.25rem; border-left:5px solid var(--ri-lime); background:#f2f7ea; }
.privacy-box p { margin:.4rem 0 0; }
.consent { display:flex; align-items:flex-start; gap:.75rem; margin:1.5rem 0; font-weight:600; }
.submit-button,.button { display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:.9rem 1.5rem; border:1px solid var(--ri-lime); border-radius:0; background:var(--ri-lime); color:var(--ri-deep); font:inherit; font-weight:800; text-decoration:none; cursor:pointer; }
.submit-button:hover,.button:hover { background:#c0f56f; border-color:#c0f56f; }
.errors { margin-bottom:1.4rem; padding:1rem 1.2rem; border-left:5px solid #a33838; background:#fff0f0; }
.success { padding:clamp(1.5rem,5vw,3rem); border-left:5px solid var(--ri-lime); background:#eef8e8; }
.honeypot { position:absolute!important; left:-9999px!important; width:1px; height:1px; overflow:hidden; }
.site-footer { margin:0; padding:clamp(2.5rem,6vw,4.5rem) max(1rem,calc((100% - 1180px)/2)); background:var(--ri-deep); color:rgba(255,255,255,.72); }
.ri-footer-inner { display:grid; grid-template-columns:minmax(230px,1.1fr) minmax(170px,.65fr) minmax(280px,1.35fr); gap:clamp(2rem,6vw,5rem); align-items:start; }
.ri-footer-brand { display:flex; gap:1rem; align-items:center; }
.ri-footer-brand img { width:50px; height:62px; object-fit:contain; }
.ri-footer-brand div,.ri-footer-legal { display:grid; gap:.2rem; }
.ri-footer-brand strong { color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:1.25rem; }
.ri-footer-brand span { color:var(--ri-lime); font-size:.7rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.site-footer .ri-footer-nav { display:flex!important; flex-direction:column!important; align-items:flex-start!important; flex-wrap:nowrap!important; gap:.45rem!important; min-width:190px; }
.site-footer .ri-footer-nav a { display:block; width:auto!important; max-width:100%; white-space:nowrap; overflow-wrap:normal; word-break:normal; }
.ri-footer-nav a,.ri-footer-legal a { color:#fff; text-decoration:none; }
.ri-footer-nav a:hover,.ri-footer-legal a:hover { color:var(--ri-lime); }
.ri-footer-legal { font-size:.82rem; line-height:1.55; }
.ri-footer-legal strong { color:#fff; font-size:.9rem; text-transform:uppercase; letter-spacing:.08em; }
@media (max-width:900px) {
  .site-header { min-height:86px; padding:18px 24px; }
  .fus-mobile-nav-toggle { display:inline-flex; align-items:center; gap:.55rem; padding:.65rem .8rem; border:1px solid rgba(255,255,255,.4); background:transparent; color:#fff; font:inherit; font-weight:700; }
  .fus-mobile-nav-icon { display:grid; gap:4px; }
  .fus-mobile-nav-icon span { width:20px; height:2px; background:currentColor; }
  .site-header .main-nav { display:none; }
  .site-header .main-nav.fus-mobile-nav-open,.site-header .main-nav.is-open { display:grid; position:absolute; z-index:50; top:86px; left:0; right:0; padding:1.25rem 24px 1.5rem; background:var(--ri-deep); }
  .hero,.form-section { grid-template-columns:1fr; }
  .hero { gap:2rem; }
  .form-intro { position:static; }
  .ri-footer-inner { grid-template-columns:1fr 1fr; }
  .ri-footer-legal { grid-column:1/-1; }
}
@media (max-width:620px) {
  .site-header .brand small,.site-header .brand-tagline { display:none; }
  .site-header .brand strong { font-size:1.05rem; }
  .hero { padding-top:3.5rem; padding-bottom:4rem; }
  h1 { font-size:clamp(2.65rem,13vw,4rem); }
  .form-section { width:min(100% - 1rem,1180px); padding:1.25rem; }
  .field-row,.ri-footer-inner { grid-template-columns:1fr; }
  .ri-footer-legal { grid-column:auto; }
  .submit-button { width:100%; }
}
