:root{
    --green-900:#0F3F0B;
    --gray-900:#454545;
    --gray-800:#2B2B2B;
    --muted:#717D96;
    --accent-green:#0D9335;
    --text:#222;
    --bg:#fff;
    --footer-bg:#F5F5F5;
    --yellow:#F7CA64;
  
    --header-pad-x:60px;
    --header-pad-top:24px;
    --header-gap-bottom:4px;
  
    --footer-pad-left:60px;
    --footer-pad-right:156px;
    --footer-pad-y:40px;
  
    --radius-pill:200px;
  
    --spot-opacity:.72;
    --spot-saturate:135%;
    --spot-contrast:112%;
    --spot-bright:1;       
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji",sans-serif;
  color:var(--text);background:var(--bg);
  display:flex;flex-direction:column;min-height:100vh; 
  overflow-x:hidden;
}
body.overflow-hidden{overflow:hidden}

.site-header{
  position:fixed;top:0;left:0;right:0;z-index:2000;background:#fff;
  padding:var(--header-pad-top) var(--header-pad-x) 0;
  margin-bottom:var(--header-gap-bottom);
}
.header-inner{display:flex;align-items:center;justify-content:space-between}
.brand-logo-with-text{height:28px;width:auto}
.header-actions{display:flex;align-items:center;gap:20px}
.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:none;cursor:pointer;white-space:nowrap}
.btn-primary{
  background:var(--green-900);color:#fff;font-weight:600;font-size:13px;
  line-height:32px;height:32px;min-width:148px;padding:0 16px;border-radius:var(--radius-pill)
}
.link-contact{color:var(--green-900);text-decoration:none;font-weight:500;font-size:13px}
.link-contact:hover{text-decoration:underline}

.site-main{flex:1 0 auto}
.hero{position:relative;padding:48px 60px 120px}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:24px;max-width:1360px;margin:0}
.hero-title{margin:0 0 24px;color:var(--gray-900);font-weight:800;font-size:40px;line-height:1}
.hero-subtitle{margin:0;color:var(--gray-800);font-weight:500;font-size:16px;line-height:24px;max-width:640px}
.hero-visual{display:flex;justify-content:flex-end}
.hero-image{max-width:100%;height:auto;display:block}
  
.hero-bar{position:absolute;left:0;right:0;bottom:0;height:120px;background:var(--green-900);display:flex;align-items:center}
.hero-cta{margin-left:60px;display:flex;align-items:center;gap:40px}
.btn-cta{background:var(--yellow);color:var(--gray-800);font-weight:600;font-size:13px;line-height:32px;height:32px;min-width:156px;padding:0 16px;border-radius:var(--radius-pill)}
.cta-contact-text{color:var(--yellow);text-decoration:none;font-weight:600;font-size:13px}
.cta-contact-text:hover{text-decoration:underline}

.trusted{padding-top:40px}
.trusted-inner{padding-left:60px;padding-right:60px}
.trusted-label{color:var(--gray-900);font-weight:700;font-size:14px;line-height:1}
.trusted-logos{display:flex;align-items:center;gap:60px;margin-top:16px;margin-bottom:80px}
.trusted-logo{height:36px;width:auto;display:block}

.benefits::before,
.policy-main::before,
.policy-main::after,
.modal-content::before{
  background:url("images/green_spot.svg") no-repeat center/contain;
  filter:saturate(var(--spot-saturate)) contrast(var(--spot-contrast)) brightness(var(--spot-bright));
  opacity:var(--spot-opacity);
  pointer-events:none;
}

.benefits{position:relative;padding-left:60px;padding-right:60px;padding-bottom:120px}
.benefits::before{
  content:""; position:absolute;
  width:393px;height:460px;
  left:50%; top:10px;    
  transform:translateX(-50%);
  z-index:0;
}
.benefits-title{position:relative; z-index:1; margin:0 0 32px;color:var(--gray-900);font-weight:800;font-size:40px;line-height:1}
.benefits-grid{
  position:relative; z-index:1;
  margin-left:128px;
  display:grid;grid-template-columns:1fr 1fr;
  column-gap:80px;row-gap:60px;max-width:1160px;
}
.benefit{display:grid;grid-template-columns:auto 1fr;column-gap:32px;align-items:flex-start}
.benefit-icon{width:56px;height:auto;display:block}
.benefit-head{margin:0 0 10px;color:var(--gray-900);font-weight:800;font-size:24px;line-height:1}
.benefit-text{margin:0;color:var(--gray-800);font-weight:500;font-size:16px;line-height:24px}

.ai-band{background:#005614;height:344px;position:relative;overflow:hidden}
.ai-inner{
  height:100%;
  max-width:1440px;
  margin:0 auto;
  display:grid;
  grid-template-columns:445px 513px;
  column-gap:179px;
  padding:100px 44px 100px 60px;
  position:relative;
}
.ai-title{
  margin:0;color:#fff;font-weight:800;font-size:40px;line-height:1;
  width:445px;max-width:445px;
}
.ai-right{position:relative;width:513px;max-width:513px}
.ai-text{margin:0;color:#fff;font-weight:400;font-size:18px;line-height:28px;max-width:513px}
.ai-chip{position:absolute;top:65px;right:152px;display:block;z-index:1}
.ai-circle{position:absolute;right:44px;bottom:19px;display:block;z-index:1}

.steps-section{position:relative;padding:120px 20px 120px}
.steps-section::after{
  content:""; position:absolute;
  width:293px;height:360px;
  left:50%; transform:translateX(-50%);
  bottom:70px;
  z-index:0;
}
.steps-title{
  margin:0 0 60px 60px;
  color:#454545; font-weight:800; font-size:40px; line-height:normal;
}
.steps-visual{
  margin-left:98px;margin-right:70px;
  display:flex;justify-content:center;flex-direction:column;align-items:center;
  position:relative; z-index:1;
}
.steps-image{display:block;width:95%;height:auto}
.steps-labels{display:block;margin-top:30px;width:100%;height:auto;margin-left:30px}
.steps-cta-title{margin:120px 0 30px;text-align:center;color:#454545;font-weight:800;font-size:40px;line-height:normal; position:relative; z-index:1}
.steps-cta-actions{display:flex;justify-content:center; position:relative; z-index:1}

.steps-cta{
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.steps-cta::after{
  content: "";
  position: absolute;
  left: 50%;
  top: -10px; 
  transform: translateX(-50%);
  width: 393px;
  height: 460px;
  background: url("images/green_spot.svg") no-repeat center/contain;
  filter: saturate(135%) contrast(112%);
  opacity: .70;
  pointer-events: none;
  z-index: 0;
}

.site-footer{
  background:var(--footer-bg);flex-shrink:0;
  padding:var(--footer-pad-y) var(--footer-pad-right) var(--footer-pad-y) var(--footer-pad-left);
  min-height:200px;
}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:stretch;column-gap:24px}
.footer-logo-with-text{height:28px;width:auto;margin-bottom:16px}
.address{margin:0;font-style:normal;font-weight:500;font-size:16px;line-height:24px;color:#333}
.footer-links{justify-self:center;align-self:end;display:flex;gap:28px}
.footer-link{font-weight:500;font-size:16px;line-height:24px;color:#333;text-decoration:none}
.footer-link:hover{text-decoration:underline}
.footer-contact{justify-self:end;align-self:start}
.footer-title{margin:0 0 8px;color:var(--gray-900);font-weight:800;font-size:24px;line-height:1}
.footer-contact-lines{font-weight:500;font-size:16px;line-height:24px}
.footer-contact-lines a{color:#333;text-decoration:none}
.footer-contact-lines a:hover{text-decoration:underline}

.modal[aria-hidden="true"]{display:none}
.modal[aria-hidden="false"]{display:block}
.modal{z-index:2001;}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5)}
.modal-dialog{position:fixed;inset:0;display:grid;place-items:center;padding:16px}
.modal-content{
  position:relative;width:700px;height:324px;background:#fff;border-radius:0;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.25)
}
.modal-content::before{
  content:""; position:absolute;
  left:-80px; top:-60px; width:520px; height:520px; opacity:.55;
}
.modal-content--tall{height:416px}
.modal-body{position:relative; z-index:1; height:100%;padding:40px;display:flex;flex-direction:column}
.modal-title{margin:0 0 20px;color:var(--gray-900);font-weight:700;font-size:28px;line-height:1}
.modal-title .accent{color:var(--accent-green)}
.modal-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;align-items:start}
.modal-left{display:flex;flex-direction:column}
.modal-desc{margin:0 0 20px;color:var(--muted);font-weight:400;font-size:14px;line-height:19px;max-width:267px}
.checkbox{display:flex;align-items:flex-start;gap:8px}
.checkbox input{margin-top:2px;width:16px;height:16px;flex:0 0 auto}
.checkbox span{color:var(--muted);font-weight:400;font-size:12px;line-height:16px}
.checkbox .inline-policy-link{color:#2B2B2B;text-decoration:underline}
.modal-right{margin-top:-48px}
.field{display:block;margin:0 0 12px}
.field-label{display:block;margin-bottom:6px;color:var(--muted);font-weight:400;font-size:11px;line-height:16px}
.field-input{
  width:313px;height:40px;border:none;border-radius:3px;
  padding:0 10px;font-size:14px;outline:none;color:#222;background:rgba(215,229,217,0.6);
}
.field-input.is-empty{background:rgba(215,229,217,0.2)}
.field-input:focus{box-shadow:0 0 0 1px rgba(15,63,11,0.35)}
.field-textarea{
  width:313px;height:120px;border:none;border-radius:3px;
  padding:10px;font-size:14px;outline:none;color:#222;background:rgba(215,229,217,0.6);resize:none
}
.field-textarea.is-empty{background:rgba(215,229,217,0.2)}
.field-textarea:focus{box-shadow:0 0 0 1px rgba(15,63,11,0.35)}
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus,
textarea:-webkit-autofill, textarea:-webkit-autofill:hover, textarea:-webkit-autofill:focus{
  -webkit-box-shadow:0 0 0 1000px rgba(215,229,217,0.6) inset !important;
  box-shadow:0 0 0 1000px rgba(215,229,217,0.6) inset !important;
  -webkit-text-fill-color:#222 !important;
}
.modal-actions{margin-top:auto;display:flex;justify-content:flex-end;gap:40px}
.btn-text{background:none;border:none;color:#071E3D;cursor:pointer;font-weight:500;font-size:14px;line-height:20px}
.btn-send{background:#005614;color:#fff;border:none;cursor:pointer;font-weight:500;font-size:14px;line-height:20px;width:113px;height:36px;border-radius:100px}
.btn-send:disabled{opacity:.5;cursor:not-allowed}

.policy-main{position:relative;flex:1 0 auto;padding:48px 60px 100px;max-width:1040px}
.policy-main::before{
  content:""; position:absolute;
  width:682px; height:838px;
  top:0; right:0;
  z-index:0;
}
.policy-main::after{
  content:""; position:absolute;
  width:682px; height:838px;
  bottom:0; left:0; 
  z-index:0;
}
.policy-back{
  display:inline-flex;align-items:center;gap:8px;color:#2B2B2B;text-decoration:none;
  font-weight:500;font-size:13px;line-height:150%;letter-spacing:.065px;margin-left:0; position:relative; z-index:1;
}
.policy-back svg{width:16px;height:16px;display:block}
.policy-title{position:relative; z-index:1; margin:15px 0 32px 0;color:#454545;font-weight:800;font-size:40px;line-height:normal}
.policy-effective{position:relative; z-index:1; margin:0 0 20px 0;color:#454545;font-weight:800;font-size:24px;line-height:normal}
.policy-intro{position:relative; z-index:1; margin:0;color:#2B2B2B;font-weight:500;font-size:16px;line-height:24px;max-width:760px}
.policy-intro a {color:#2B2B2B}
.policy-h2{position:relative; z-index:1; margin:40px 0 20px;color:#454545;font-weight:800;font-size:24px;line-height:normal}
.policy-list{position:relative; z-index:1; margin:0; padding-left:20px; color:#2B2B2B; font-weight:500; font-size:16px; line-height:24px;}
.policy-list li{margin:8px 0;}
.policy-contact-block{position:relative; z-index:1; margin-top:20px; color:#2B2B2B; font-weight:500; font-size:16px; line-height:24px;}
.policy-contact-block a{color:#2B2B2B}

@media (max-width:1100px){
  .hero-grid{grid-template-columns:1fr;gap:32px}
  .hero-visual{justify-content:center}
  .hero-subtitle{max-width:720px}

  .benefits-grid{grid-template-columns:1fr;margin-left:60px}

  .ai-inner{grid-template-columns:1fr;row-gap:24px;height:auto;padding:60px 24px}
  .ai-band{height:auto}
  .ai-right{position:static;margin-top:12px; width:100%;max-width:513px}
  .benefits::before{transform:translateX(-50%) scale(.95);}
  .steps-section::after{transform:translateX(-50%) scale(.95);}
  .policy-main::before{transform:scale(.9);}
  .policy-main::after{transform:scale(.9);}
}

@media (max-width:960px){
  .site-header{padding-left:20px;padding-right:20px}
  .hero{padding-left:20px;padding-right:20px}
  .hero-cta{margin-left:20px}

  .trusted-inner{padding-left:20px;padding-right:20px}
  .benefits{padding-left:20px;padding-right:20px}
  .benefits-grid{margin-left:20px}

  .steps-section{padding:100px 16px 100px}
  .steps-title{margin-left:20px}
  .steps-cta-title{margin-top:100px}

  .site-footer{padding:24px 20px;min-height:auto}
  .footer-grid{column-gap:8px} 
  .footer-contact{justify-self:start;align-self:start}

  .modal-content{width:min(700px,92vw);height:auto}
  .modal-grid{grid-template-columns:1fr}
  .modal-right{margin-top:0}
  .field-input,.field-textarea{width:100%}
  .ai-chip{top:35px;right:45px}
  .policy-main{padding:32px 32px 80px;}
}

@media (max-width:720px){
  .steps-cta-title{font-size:34px}
  .steps-labels{margin-left:10px}
  .policy-title{font-size:34px}
  .policy-effective{font-size:20px}
  .footer-grid{grid-template-columns:1fr;row-gap:16px;align-items:start} 
  .footer-links{justify-self:start;align-self:start}

  .benefits::before{width:240px;height:295px;top:120px;left:52%;}
  .steps-section::after{width:240px;height:295px;bottom:60px;}
  .policy-main::before,
  .policy-main::after{width:520px;height:640px;}
  .steps-visual{ margin-left:18px;margin-right:20px; }
  .header-actions{gap:5px}
  .policy-main{padding:16px 16px 40px;}
  .site-header{width: 100vw}
}

@media (max-width:480px){
  .ai-right{position:static;margin-top:12px; width:100%;max-width:320px}
  .ai-title{ width:100%;max-width:320px}
  .steps-cta-title{font-size:30px}
}
