.hero { display:block; float:left; width: 100%; margin:0; text-align:center;margin-top:50px; }
.hero__in { width: 1280px; margin:0 auto;position: relative;height:640px; }
/* The markup uses hero_img with an underscore; the hyphenated selector alone
   never matched, so this image had no reserved size at all on desktop. */
.hero-img, .hero_img {display:block;float:left;width: 1280px;height:640px;aspect-ratio: 2 / 1;z-index: 0;}
.hero__panel { position: absolute;bottom:20%;right: 50px;z-index: 1;width: 460px;height:40%;display: block;padding: 5% 40px 5% 40px;background-color:#284257;color:#fff;}
.hero__title { font-weight: 400; color:#fff; line-height:120%; margin:0 0 50px 0;font-size:38px;text-align:left; }
.hero__desc1 { font-size: 18px; color:#fff; font-weight:300; line-height:140%;margin:50px 0;text-align:left;}
.hero__desc2 { font-size: 16px; line-height:140%; color:#fff; font-weight:500; text-align:right; opacity:0.9; margin:-30px 0 30px 0; }
.hero__button_bg { width:100%; display:block; float:left; margin:0; }
.hero__button_in { width:220px; margin:0 auto; }
.hero__button { display:block; float:left; text-align:center; padding: 12px 40px; font-size: 14px; font-weight:500; color: #F7F7F7; background-color:#194C8E; text-decoration: none; text-transform:uppercase; transition: background-color 0.3s ease, color 0.3s ease; font-family: "Roboto", sans-serif; }
.hero__button::after { display: block; float:right; margin:5px; content: ""; width: 10px; height: 10px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none'%3E%3Ccircle cx='4.28599' cy='1.42857' r='1.42857' fill='%23F7F7F7'/%3E%3Ccircle cx='4.28599' cy='8.57143' r='1.42857' fill='%23F7F7F7'/%3E%3Ccircle cx='7.8571' cy='4.99954' r='1.42857' fill='%23F7F7F7'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; }
.hero__button:hover { background-color: #284257; }
.steps { display:block; float:left; width:100%; padding:0; margin:20px 0; }
.step { display:block; float:left; width:20%; padding:20px 2% 10px 2%; margin:10px 1% 10px 0; background-color:#F7F7F7; text-align:left; min-height:190px; }
.step:hover { background-color:#e1e1e1; }
.step img { }
.step-badge { display:block; float:left; width:100%; text-align:right; font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:0.05em; color:#194C8E; font-family:"Roboto", sans-serif; margin:0 0 8px 0; }
.step span { font-family: "EB Garamond", serif; font-size:24px; }
.step p { font-size:14px; }
.home_theory_block { padding: 100px 0; display: block; float:left; width:100%; }
.home_theory_container { width: 1280px; margin: 0 auto; }
.home_theory_content { display: block; float:left; width:100%; align-items: center; justify-content: space-between; }
.home_theory_text { display: block; float:left; max-width:735px; margin:80px 0; }
.home_theory_heading { font-size: 16px; font-weight: 400; line-height: 140%; color:#194C8E; text-transform:uppercase; font-family: "Roboto", sans-serif; }
.home_theory_subheading { font-size: 30px; font-family: "EB Garamond", serif; line-height: 140%; letter-spacing:-1px; font-weight: 400; }
.home_theory_description { font-size: 16px; line-height: 140%; margin: 20px 0; font-family: "Roboto", sans-serif; }
.home_theory_button { display: block; float:left; padding: 12px 40px; font-size: 14px; font-weight:500; color: #F7F7F7; background-color:#194C8E; text-decoration: none; text-transform:uppercase; transition: background-color 0.3s ease, color 0.3s ease; font-family: "Roboto", sans-serif; }
.home_theory_button::after { display: block; float:right; margin:5px; content: ""; width: 10px; height: 10px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none'%3E%3Ccircle cx='4.28599' cy='1.42857' r='1.42857' fill='%23F7F7F7'/%3E%3Ccircle cx='4.28599' cy='8.57143' r='1.42857' fill='%23F7F7F7'/%3E%3Ccircle cx='7.8571' cy='4.99954' r='1.42857' fill='%23F7F7F7'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; }
.home_theory_button:hover { background-color: #284257; }
.home_theory_image { display:block; float:right; position:relative; }
.home_theory_image img { width: 400px; height: auto; aspect-ratio: 1 / 1; display: block; }
.home_theory_quote { position:absolute; bottom:0; left:0; width:100%; box-sizing:border-box; padding:24px 24px 40px 24px; background:linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.4) 70%, transparent 100%); color:#fff; text-align:right; }
.home_theory_quote_text { font-family:"Roboto", sans-serif; font-size:24px; font-style:italic; line-height:120%; margin:0 0 10px 0; color:#fff; }
.home_theory_quote_text::before { content:"\201C"; }
.home_theory_quote_text::after { content:"\201D"; }
.home_theory_quote_author { font-size:18px; font-weight:500; margin:0; opacity:0.9; color:#fff; }
.home_types_block { padding: 100px 0; display: block; float:left; width:100%; background-color:#F7F7F7; }
.home_types_container { width: 1280px; margin: 0 auto; }
.home_types_content { display: block; float:left; width:100%; align-items: center; justify-content: space-between; }
.home_types_text { display: block; float:right; max-width:735px; margin:80px 0; }
.home_types_heading { font-size: 16px; font-weight: 400; line-height: 140%; color:#194C8E; text-transform:uppercase; font-family: "Roboto", sans-serif; }
.home_types_subheading { font-size: 30px; font-family: "EB Garamond", serif; line-height: 140%; letter-spacing:-1px; font-weight: 400; }
.home_types_description { font-size: 16px; line-height: 140%; margin: 20px 0; font-family: "Roboto", sans-serif; }
.home_types_button { display: block; float:left; padding: 12px 40px; font-size: 14px; font-weight:500; color: #F7F7F7; background-color:#194C8E; text-decoration: none; text-transform:uppercase; transition: background-color 0.3s ease, color 0.3s ease; font-family: "Roboto", sans-serif; }
.home_types_button::after { display: block; float:right; margin:5px; content: ""; width: 10px; height: 10px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none'%3E%3Ccircle cx='4.28599' cy='1.42857' r='1.42857' fill='%23F7F7F7'/%3E%3Ccircle cx='4.28599' cy='8.57143' r='1.42857' fill='%23F7F7F7'/%3E%3Ccircle cx='7.8571' cy='4.99954' r='1.42857' fill='%23F7F7F7'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; }
.home_types_button:hover { background-color: #284257; }
.home_types_image { display:block; float:left; }
.home_types_image img { width: 400px; height: auto; aspect-ratio: 1 / 1; display: block; }
.home_prefooter_block { padding: 100px 0 40px 0; display: block; float:left; width:100%; }
.home_prefooter_container { width: 1280px; margin: 0 auto; }
.home_prefooter_content { display: block; float:left; width:100%; align-items: center; }
.home_prefooter_text { display: block; float:left; width:100%; margin:0; }
.home_prefooter_heading { font-size: 30px; font-weight: 400; line-height: 140%; color:#434244; font-family: "EB Garamond", serif; text-align:center; }
.home_prefooter_button { display: block; width: fit-content; margin:60px auto; padding: 12px 40px; font-size: 14px; font-weight:500; color: #F7F7F7; background-color:#194C8E; text-decoration: none; text-transform:uppercase; transition: background-color 0.3s ease, color 0.3s ease; font-family: "Roboto", sans-serif; }
.home_prefooter_button::after { display: block; float:right; margin:5px; content: ""; width: 10px; height: 10px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none'%3E%3Ccircle cx='4.28599' cy='1.42857' r='1.42857' fill='%23F7F7F7'/%3E%3Ccircle cx='4.28599' cy='8.57143' r='1.42857' fill='%23F7F7F7'/%3E%3Ccircle cx='7.8571' cy='4.99954' r='1.42857' fill='%23F7F7F7'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; }
.home_prefooter_button:hover { background-color: #284257; }

@media (max-width: 1279px) {
.hero { padding:0 0 50px 0; background-color:#fff;margin-top:20px; }
.hero__in { display:block; float:left; width: 100%; height:auto; margin: 0; }
.hero__in img {display:block; float:left; width: 100%; height:auto; aspect-ratio: 2 / 1; margin: 0;}
.hero__panel { display:block; float:left;width:90%; padding:20px 5%;top:0;right:0;position:relative; }
.hero__title { font-size:30px;margin:20px 0 20px 0;line-height:120%;text-align:left;}
.hero__desc1 { font-size:16px;text-align:left; margin:20px 0 50px 0;}
.hero__desc2 { font-size:14px;text-align:right;font-weight:500;opacity:0.9;margin:0 0 20px 0; }
.steps, .steps ol { display:block; float:left; width: 90%; margin:20px 5%; padding:0; }
.step { width:90%; margin:10px 0; padding:10px 5%; min-height:0; }
  .home_theory_block { width: 100%; padding:0; background-color:#fff; }
  .home_types_block { width: 100%; padding:0; background-color:#F7F7F7; }
  .home_theory_container { width: 100%; }
  .home_theory_text, .home_types_text, .home_prefooter_text { width:90%; margin:0; padding:70px 5%; }
  .home_theory_heading, .home_types_heading { font-size:14px; }
  .home_theory_subheading, .home_types_subheading, .home_prefooter_heading { font-size:30px; line-height:140%; }
  .home_theory_description, .home_types_description { font-size:14px; line-height:140%; }
  .home_theory_image img { width: 100%; height: auto; aspect-ratio: 1 / 1; }
  .home_theory_image, .home_types_image { width:100%; height:auto; }
  .home_theory_quote { padding:20px 6% 32px 6%; }
  .home_theory_quote_text { font-size:24px; }
  .home_theory_quote_author { font-size:16px; }
  .home_types_container { width: 100%; }
  .home_types_image img { width: 100%; height: auto; aspect-ratio: 1 / 1; }
  .home_prefooter_block { width: 100%; margin:0; padding:0; }
  .home_prefooter_container { width: 100%; }
}