:root{
  --navy:#0B132B;
  --navy-deep:#06101f;
  --green:#1E5A3A;
  --green-light:#6f9633;
  --graphite:#2F3133;
  --aluminum:#C0C0C0;
  --white:#FFFFFF;
  --mist:#edf0ed;
  --line:rgba(192,192,192,.25);
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--navy-deep);color:var(--white);font-family:Montserrat,Arial,sans-serif}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px max(20px,calc((100% - var(--max))/2));background:rgba(6,16,31,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.brand{
  display:flex;
  align-items:center;
  flex:0 1 330px;
  width:min(330px,32vw);
  height:68px;
  overflow:visible;
}

.brand img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:contain;
  object-position:left center;
}
nav{display:flex;align-items:center;gap:24px}
nav a{color:#fff;text-decoration:none;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}
.button{border:1px solid var(--green-light);background:linear-gradient(180deg,#6c9431,#3f681f);color:#fff;padding:15px 24px;text-transform:uppercase;font-weight:800;letter-spacing:.06em;border-radius:3px;box-shadow:inset 0 1px rgba(255,255,255,.18)}
.button:hover{filter:brightness(1.08);transform:translateY(-1px)}
.button-small{padding:11px 16px}
.hero{min-height:610px;position:relative;overflow:hidden;display:grid;grid-template-columns:1.1fr .78fr;gap:46px;align-items:center;padding:72px max(22px,calc((100% - var(--max))/2));background:radial-gradient(circle at 75% 35%,rgba(30,90,58,.23),transparent 32%),linear-gradient(135deg,#071528 0%,#0B132B 58%,#07101c 100%)}
.mesh-field{position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(111,150,51,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(111,150,51,.35) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(90deg,transparent 0%,black 58%,black 100%)}
.hero-content,.program-card{position:relative;z-index:1}
.eyebrow{color:#79a844;text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:.78rem}
h1,h2{margin:.25em 0;line-height:1.02}
h1{font-size:clamp(3rem,6vw,6.1rem);max-width:780px;letter-spacing:-.055em}
h1 span{color:#71933b}
.hero-copy{font-size:1.12rem;line-height:1.72;max-width:690px;color:#e2e6e5}
.hero-actions{display:flex;align-items:center;gap:22px;margin-top:30px}
.text-link{color:#fff;text-underline-offset:5px}
.privacy-note{font-size:.78rem;color:#adb7b5;margin-top:16px}
.program-card{background:linear-gradient(145deg,rgba(11,19,43,.97),rgba(3,12,24,.98));border:1px solid #62822e;border-radius:14px;padding:34px;box-shadow:0 24px 60px rgba(0,0,0,.38)}
.program-card h2{font-size:clamp(2.5rem,4vw,4rem)}
.program-card p{line-height:1.6;color:#e4e8e7}
.program-card small{display:block;color:#aeb6b3;line-height:1.5;margin-top:18px}
.product-list{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:20px}
.product-list span{text-align:center;color:#c7d7bc;font-size:.72rem;text-transform:uppercase}
.section{background:#f5f5f2;color:#0B132B;padding:76px max(22px,calc((100% - var(--max))/2))}
#audiences{
  background:
    linear-gradient(
      to bottom,
      rgba(245,245,242,.78) 0%,
      rgba(245,245,242,.84) 48%,
      rgba(245,245,242,.94) 100%
    ),
    url("assets/survey-lake-background.webp") center 38%/cover no-repeat;
}
.section-heading{text-align:center;max-width:760px;margin:0 auto 38px}
.section-heading h2{font-size:clamp(2.3rem,4vw,4rem)}
.section-heading p:last-child{color:#596268;line-height:1.6}
.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.role-card{min-height:220px;padding:26px 20px;background:#fff;border:1px solid #d8dcd8;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;color:#0B132B;box-shadow:0 8px 22px rgba(11,19,43,.05)}
.role-card:hover,.role-card:focus{border-color:#6f9633;box-shadow:0 14px 30px rgba(30,90,58,.14);transform:translateY(-3px)}
.role-icon{font-size:2.6rem;color:#1E5A3A}
.role-card strong{text-transform:uppercase;text-align:center}
.role-card small{max-width:210px;line-height:1.5;color:#616b70}
.precision-standard{padding:70px max(22px,calc((100% - var(--max))/2));background:#071528;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.precision-standard>div:first-child{max-width:820px}
.precision-standard h2{font-size:clamp(2.2rem,4vw,4rem)}
.standard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:34px}
.standard-grid article{background:#0B132B;padding:26px}
.standard-grid strong{color:#7ea545;text-transform:uppercase}
.standard-grid p{color:#c3cbc9;line-height:1.5}
.experience{padding:72px max(22px,calc((100% - var(--max))/2));display:grid;grid-template-columns:1.3fr .55fr .55fr;gap:26px;align-items:center;background:#eef0ed;color:#0B132B}
.experience h2{font-size:clamp(2.1rem,4vw,3.7rem)}
.experience-copy p:last-child{color:#596268;line-height:1.7}
.experience figure{margin:0;border:1px solid #c8ccc9;background:#fff;padding:10px}
.experience img{width:100%;display:block}
footer{padding:30px max(22px,calc((100% - var(--max))/2));display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:30px;background:#06101f;border-top:1px solid var(--line)}
footer img{
  width:270px;
  height:auto;
  max-height:64px;
  object-fit:contain;
}
footer div{display:flex;gap:10px;font-size:.78rem}
footer p{color:#7da246;text-transform:uppercase;letter-spacing:.1em}
.modal[hidden]{display:none}
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}
.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(7px)}
.survey-shell{
  position:relative;
  width:min(820px,100%);
  max-height:92vh;
  overflow:auto;
  background:#f7f7f4;
  color:#0B132B;
  border-radius:10px;
  box-shadow:0 30px 90px rgba(0,0,0,.55)
}
.modal-close{position:absolute;right:16px;top:13px;border:0;background:transparent;font-size:2rem;z-index:2}
.progress{height:7px;background:#d9ddd8}
.progress span{display:block;height:100%;width:0;background:#557d28;transition:width .25s}
.survey-step{padding:42px}
.survey-step h2{font-size:2.2rem;margin-bottom:10px}
.survey-step>p{color:#5e686d;line-height:1.6}
.field{margin:22px 0}
.field label,.field legend{display:block;font-weight:800;margin-bottom:10px}
.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=number],.field select,.field textarea{width:100%;padding:14px;border:1px solid #bdc4bf;border-radius:4px;background:#fff}
.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.choice{display:flex;gap:9px;align-items:flex-start;padding:13px;border:1px solid #d0d5d1;border-radius:5px;background:#fff}
.survey-actions{display:flex;justify-content:space-between;gap:12px;margin-top:30px}
.button-secondary{background:#fff;border:1px solid #65706d;color:#0B132B;padding:13px 20px;border-radius:3px}
.success{text-align:center;padding:64px 42px}
.success h2{font-size:2.8rem}
.success .reference{display:inline-block;margin-top:15px;padding:10px 14px;background:#e2e9dc;color:#2d531c;font-weight:800}
@media(max-width:900px){
  nav a{display:none}.brand{width:min(260px,45vw);height:60px}
  .hero{grid-template-columns:1fr;padding-top:44px}
  .role-grid{grid-template-columns:repeat(2,1fr)}
  .standard-grid{grid-template-columns:1fr 1fr}
  .experience{grid-template-columns:1fr 1fr}.experience-copy{grid-column:1/-1}
  footer{grid-template-columns:1fr;text-align:center}footer img{margin:auto}footer div{justify-content:center}
}
@media(max-width:560px){
  .site-header{height:72px;gap:10px;padding-inline:14px}.brand{width:min(190px,52vw);height:52px}.button-small{font-size:.7rem;padding:9px}
  .hero{padding-top:34px;min-height:auto}.program-card{padding:24px}
  .product-list{grid-template-columns:repeat(3,1fr)}
  .role-grid,.standard-grid,.experience{grid-template-columns:1fr}
  .survey-step{padding:34px 22px}.choice-grid{grid-template-columns:1fr}
  .hero-actions{align-items:flex-start;flex-direction:column}
}
body.modal-open{overflow:hidden}
.role-card:focus-visible,.button:focus-visible,.button-secondary:focus-visible,.modal-close:focus-visible,a:focus-visible{outline:3px solid #9bc95e;outline-offset:3px}
.error-message{color:#9b1c1c;font-weight:700;margin-top:8px}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.share-box{margin-top:28px;padding:22px;border:1px solid rgba(20,48,59,.16);border-radius:18px;background:rgba(255,255,255,.72)}
.share-box h3{margin:0 0 8px}.share-box .field{display:block;margin:18px 0 0}.share-box input[readonly]{width:100%;margin-top:8px}.share-status{min-height:1.4em;font-weight:700}

/* v1.1 customer-experience update */
.program-card strong{color:#fff}
.program-support{font-size:.95rem;color:#c7d2cf!important}
.program-button{width:100%;margin-top:22px}
.survey-shell::before{
  content:"";
  position:absolute;
  inset:28px;
  pointer-events:none;
  opacity:.055;
  border:9px solid #1e5a3a;
  box-shadow:inset 0 0 0 3px #0b132b;
  background-image:
    linear-gradient(rgba(11,19,43,.5) 1px,transparent 1px),
    linear-gradient(90deg,rgba(11,19,43,.5) 1px,transparent 1px);
  background-size:10px 10px;
  z-index:0;
}
.survey-shell::after{
  content:"";
  position:absolute;
  top:28px;
  bottom:28px;
  left:50%;
  width:5px;
  transform:translateX(-50%);
  background:#1e5a3a;
  opacity:.035;
  pointer-events:none;
  z-index:0;
}
.progress,.modal-close,#surveyContent{position:relative;z-index:1}
.choice input{margin-top:3px;flex:0 0 auto}
.choice span{line-height:1.45}
@media(max-width:560px){
  .survey-shell::before{inset:18px;border-width:6px;background-size:9px 9px}
  .survey-shell::after{top:18px;bottom:18px}
}
