/* =======================
   CSS RESET & NORMALIZE
   ======================= */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,main,menu,nav,output,ruby,section,summary,time,mark,audio,video {
  margin:0;
  padding:0;
  border:0;
  font-size:100%;
  font:inherit;
  vertical-align:baseline;
  box-sizing:border-box;
}

html {
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 16px;
  color: #264653;
  background-color:#F5F6FA; /* accent bg */
  -webkit-text-size-adjust:100%;
  -ms-text-size-adjust:100%;
  scroll-behavior:smooth;
}
body {
  font-family: 'Roboto', Arial, sans-serif;
  background: #F5F6FA;
  color: #264653;
  line-height:1.6;
}
img {
  max-width:100%;
  height:auto;
  display:block;
}
a {
  color: #264653;
  text-decoration:none;
  transition: color 0.2s;
}
a:hover,a:focus {
  color: #2a9d8f;
  text-decoration:underline;
}
ul,ol {
  margin-left: 2em;
  margin-bottom:16px;
}
li {
  margin-bottom: 8px;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Montserrat', Arial, sans-serif;
  font-weight: 700;
  color: #264653;
  line-height:1.2;
  letter-spacing: -0.5px;
  margin-bottom: 16px;
}
h1 { font-size: 2.75rem; margin-bottom: 24px; }
h2 { font-size: 2rem;   margin-bottom: 20px; }
h3 { font-size: 1.35rem; margin-bottom: 14px; }
h4 { font-size: 1.125rem; margin-bottom: 10px; }

p, .text-section p, .content-wrapper p {
  font-size: 1rem;
  margin-bottom: 16px;
  color: #264653;
}
strong { font-weight:700; }

/* =====================
   FLEX CONTAINER UTILS
   ===================== */
.container {
  width:100%;
  max-width:1200px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing:border-box;
}
.content-wrapper {
  display:flex;
  flex-direction:column;
  gap:32px;
  align-items:flex-start;
}

/* Section Spacing Consistency */
section, .section {
  margin-bottom:60px;
  padding: 40px 20px;
  background:transparent;
}
@media (max-width:768px) {
  section, .section { padding: 32px 10px; margin-bottom: 36px; }
  .content-wrapper {gap:20px;}
}

/* ===============
   HEADER & NAV
   =============== */
header {
  width:100%;
  background: #fff;
  box-shadow: 0 4px 18px rgba(38,70,83,0.06);
  border-bottom: 2px solid #E9C46A;
  position: sticky;
  top:0; left:0; right:0;
  z-index:100;
}
header .container {
  padding-top:0;
  padding-bottom:0;
}
header .content-wrapper {
  flex-direction:row;
  align-items:center;
  gap:32px;
  justify-content: space-between;
  min-height: 72px; /* keep branded spacing */
}
.logo img {
  height:44px;
  width:auto;
  display:block;
}
header nav {
  display:flex;
  gap:22px;
}
header nav a {
  font-family:'Montserrat', Arial, sans-serif;
  font-size: 1rem;
  color: #264653;
  font-weight: 500;
  letter-spacing:0.2px;
  position:relative;
  padding: 6px 0;
  transition: color 0.18s;
}
header nav a:hover, header nav a:focus {
  color: #2a9d8f;
}
.btn-primary {
  background: #264653;
  color: #fff !important;
  border: none;
  font-family: 'Montserrat', Arial, sans-serif;
  padding: 14px 32px;
  border-radius: 28px;
  font-weight: 700;
  font-size: 1.01rem;
  box-shadow: 0 2px 16px rgba(38,70,83,0.07);
  cursor:pointer;
  margin-left:18px;
  transition: background 0.14s, box-shadow .18s;
}
.btn-primary:hover, .btn-primary:focus {
  background: #2a9d8f;
  color:#fff;
  box-shadow:0 7px 18px 0 rgba(38,70,83,0.13);
}
.btn-secondary {
  background: #E9C46A;
  color: #264653 !important;
  font-family: 'Montserrat', Arial, sans-serif;
  padding: 12px 26px;
  border-radius: 21px;
  font-weight:600;
  font-size: 0.97rem;
  border: none;
  box-shadow:0 2px 10px rgba(38,70,83,0.07);
  cursor:pointer;
  transition: background 0.17s, color .17s, box-shadow .18s;
}
.btn-secondary:hover, .btn-secondary:focus {
  background: #fff3cd;
  color: #264653;
  box-shadow:0 7px 14px 0 rgba(233,196,106,0.14);
}

/* Hamburger (mobile menu toggle) */
.mobile-menu-toggle {
  background:none;
  border:none;
  font-size:2rem;
  padding: 0 10px;
  color: #264653;
  cursor:pointer;
  display:none;
  z-index:104;
  transition: color .13s;
  margin-left:8px;
}
.mobile-menu-toggle:focus,
.mobile-menu-toggle:hover {
  color:#2a9d8f;
}

@media (max-width: 1024px) {
  header .content-wrapper nav {
    display: none;
  }
  .mobile-menu-toggle {
    display:inline-block;
  }
  .btn-primary {margin-left:0;}
}
@media (max-width: 580px) {
  header .content-wrapper {
    gap:12px;
    min-height:54px;
    padding: 10px 0;
  }
  .logo img {height:34px;}
}

/* ===============
   MOBILE MENU
   =============== */
.mobile-menu {
  position:fixed;
  top:0; right:0;
  width:100vw; height:100vh;
  background:rgba(38,70,83,0.96);
  box-shadow: -4px 0 18px rgba(38,70,83,0.07);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:30px 20px 12px 20px;
  transform: translateX(105vw);
  transition:transform 0.33s cubic-bezier(.49,-0.01,.06,1);
  z-index:120;
  opacity:1;
}
.mobile-menu.open {
  transform: translateX(0);
}
.mobile-menu-close {
  background: none;
  border: none;
  color: #fff;
  font-size: 2rem;
  align-self:flex-end;
  cursor: pointer;
  margin-bottom:20px;
  transition:color .14s;
}
.mobile-menu-close:hover,
.mobile-menu-close:focus {color:#E9C46A;}
.mobile-nav {
  display: flex;
  flex-direction: column;
  gap: 22px;
  width: 100%;
}
.mobile-nav a {
  color: #fff;
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 1.12rem;
  font-weight:500;
  letter-spacing: 0.4px;
  padding: 13px 0;
  border-radius: 8px;
  transition: background 0.15s, color 0.18s;
}
.mobile-nav a:hover, .mobile-nav a:focus {
  background: #E9C46A;
  color: #264653;
}
@media (min-width:1025px) {
  .mobile-menu, .mobile-menu-toggle {display:none !important;}
}

/* Horizontal sticky bar fix */
body.mobile-menu-open {
  overflow:hidden;
}

/* =====================
   MAIN & SECTION LAYOUT
   ===================== */
main {
  width:100%;
  background:#F5F6FA;
}

.card-container {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
.card {
  background: #fff;
  border-radius: 16px;
  box-shadow:0 2px 16px rgba(38,70,83,0.07);
  margin-bottom: 20px;
  position:relative;
  padding: 28px 26px;
  min-width:260px;
  max-width: 100%;
  flex: 1 1 310px;
  display: flex;
  flex-direction:column;
  justify-content:center;
  transition: box-shadow 0.18s, transform .18s;
}
.card:hover, .card:focus-within {
  box-shadow:0 7px 26px 0 rgba(38,70,83,0.12);
  transform:translateY(-2px) scale(1.011);
}

.content-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: space-between;
}
.text-image-section {
  display: flex;
  align-items: center;
  gap: 30px;
  flex-wrap: wrap;
}
@media (max-width:768px) {
  .text-image-section {
    flex-direction:column;
    align-items: flex-start;
    gap:18px;
  }
}

/* ===============
   HERO SECTION
   =============== */
section:first-of-type .content-wrapper {
  align-items:flex-start;
  gap:26px;
}
section:first-of-type h1 {
  color: #264653;
  font-size:2.7rem;
  margin-bottom:18px;
}
@media (max-width:580px) {
  section:first-of-type h1 {font-size:2rem;}
}

/* ===============
   FEATURES GRID
   =============== */
.features-grid {
  display:flex;
  flex-wrap:wrap;
  gap: 28px;
  margin: 12px 0 0 0;
}
.feature {
  background: #fff;
  border-radius: 14px;
  box-shadow:0 1px 8px rgba(38,70,83,0.05);
  padding: 26px 20px 22px 20px;
  flex: 1 1 220px;
  min-width:190px;
  max-width: 270px;
  text-align: left;
  display:flex;
  flex-direction:column;
  align-items: flex-start;
  gap:12px;
  transition: box-shadow .17s;
}
.feature img {
  width:44px; height:44px;
  margin-bottom:6px;
}
.feature h3 {
  font-size:1.1rem;
  color: #264653;
  margin-bottom:6px;
}
.feature p {
  font-size: 0.98rem;
  color: #587286;
}
.feature:hover, .feature:focus-within {
  box-shadow:0 4px 14px 0 rgba(38,70,83,0.14);
}
@media (max-width:900px) {
  .features-grid {justify-content:center;gap:18px;}
  .feature {min-width:160px;max-width:calc(50% - 11px);}
}
@media (max-width:600px) {
  .features-grid {flex-direction:column;gap:14px;}
  .feature {max-width:100%;width:100%;}
}

/* ===============
   VALUES GRID (About)
   =============== */
.values-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  margin: 12px 0 0 0;
}
.value-icon {
  background: #fff;
  border-radius: 14px;
  box-shadow:0 1px 8px rgba(233,196,106,0.07), 0 0.5px 4px rgba(38,70,83,0.04);
  padding: 26px 18px 22px 18px;
  flex: 1 1 215px;
  min-width:170px;
  max-width: 260px;
  display:flex;
  flex-direction:column;
  align-items: flex-start;
  gap:10px;
  text-align:left;
  transition: box-shadow .16s;
}
.value-icon img {
  width:38px; height:38px;
  margin-bottom:4px;
}
.value-icon h3 {font-size:1.06rem;color:#264653;margin-bottom:4px;}
.value-icon p {font-size: 0.96rem;color: #587286;}
.value-icon:hover, .value-icon:focus-within {
  box-shadow:0 3px 10px 0 rgba(38,70,83,0.11);
}
@media (max-width:800px) {
  .values-grid {gap:12px;}
  .value-icon {min-width:130px;max-width:calc(50% - 7px);padding:22px 10px 18px 12px;}
}
@media (max-width:540px) {
  .values-grid {flex-direction:column;gap:8px;}
  .value-icon {max-width:100%;width:100%;padding:16px 8px 14px 10px;}
}

/* ===============
   GUIDES GRID
   =============== */
.guides-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
.guide-card {
  background: #fff;
  border-radius: 13px;
  box-shadow:0 1px 8px rgba(38,70,83,0.07);
  padding: 26px 22px 20px 22px;
  min-width:220px;
  flex: 1 1 280px;   
  max-width:370px;
  margin-bottom:20px;
  display:flex;
  flex-direction:column;
  gap:9px;
  transition: box-shadow .18s, transform .13s;
}
.guide-card span {font-size: 0.92rem;color:#587286;}
.guide-card:hover, .guide-card:focus-within {box-shadow:0 3px 14px 0 rgba(38,70,83,0.11);transform:translateY(-2px) scale(1.01);}
@media (max-width:820px) {
  .guides-grid {gap:12px;}
  .guide-card {min-width:160px;max-width:calc(50% - 7px);}
}
@media (max-width:600px) {
  .guides-grid {flex-direction:column;gap:10px;}
  .guide-card {max-width:100%;width:100%;}
}

.guides-preview-list {
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  gap: 20px;
  margin-bottom:20px;
}
.guide-snippet {
  background: #fff;
  border-radius:10px;
  box-shadow:0 1px 7px rgba(38,70,83,0.04);
  padding:18px 16px 14px 16px;
  flex:1 1 222px;
  min-width:120px;
  max-width:350px;
  margin-bottom:8px;
  display:flex;
  flex-direction:column;
  gap:4px;
  transition: box-shadow .15s;
}
.guide-snippet:hover, .guide-snippet:focus-within {box-shadow:0 3px 10px 0 rgba(38,70,83,0.1);}
@media (max-width:660px) {
  .guides-preview-list {flex-direction:column;gap:8px;}
  .guide-snippet {max-width:100%;width:100%;}
}

/* ===============
   TRAININGS GRID
   =============== */
.trainings-grid {
  display:flex;
  flex-wrap:wrap;
  gap:22px;
}
.training-card {
  background:#fff;
  border-radius:13px;
  box-shadow:0 1px 8px rgba(38,70,83,0.06);
  padding: 26px 22px 20px 22px;
  min-width:200px;
  flex:1 1 250px;
  max-width: 320px;
  margin-bottom:20px;
  display:flex;
  flex-direction:column;
  gap:8px;
  transition: box-shadow .16s;
}
.training-card span {font-size:0.9rem;color:#587286;}
.training-card:hover, .training-card:focus-within {box-shadow:0 3px 14px 0 rgba(38,70,83,0.09);}
@media (max-width:880px) {
  .trainings-grid {gap:11px;}
  .training-card {min-width:130px;max-width:calc(50% - 7px);}
}
@media (max-width:600px) {
  .trainings-grid {flex-direction:column;gap:8px;}
  .training-card {max-width:100%;width:100%;}
}

/* ===============
   BLOG POSTS GRID
   =============== */
.blog-posts-grid {
  display:flex;
  flex-wrap:wrap;
  gap: 24px;
  margin-top:10px;
  margin-bottom:14px;
}
.blog-post {
  background: #fff;
  border-radius:12px;
  box-shadow: 0 1px 7px rgba(38,70,83,0.06);
  padding:22px 19px 17px 19px;
  min-width:170px;
  max-width: 350px;
  flex:1 1 240px;
  margin-bottom:10px;
  display:flex;
  flex-direction:column;
  gap:7px;
  transition: box-shadow .16s;
}
.blog-post a {
  color: #264653;
  font-weight: 600;
  font-size:0.98rem;
  transition: color .15s;
}
.blog-post a:hover, .blog-post a:focus {
  color: #2a9d8f;
}
.blog-post:hover, .blog-post:focus-within {
  box-shadow:0 4px 14px 0 rgba(38,70,83,0.13);
}
@media (max-width:750px) {
  .blog-posts-grid {flex-direction:column;gap:11px;}
  .blog-post {max-width:100%;width:100%;}
}

.filters-section {
  margin-top:16px;
  display:flex;
  align-items:center;
  gap:13px;
  color: #587286;
  font-size: 0.99rem;
}
.filters-section strong {
  color:#264653;
  font-weight:600;
}

/* ===============
   BENEFITS/LISTS
   =============== */
.benefits-list {
  list-style: none;
  padding: 0;
  margin: 16px 0 0 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.benefits-list li {
  display: flex;
  flex-direction:row;
  align-items:center;
  gap: 13px;
  font-size: 1rem;
  color: #264653;
  background: #fff;
  border-radius: 11px;
  padding: 14px 14px 14px 10px;
  box-shadow: 0 1px 5px rgba(38,70,83,0.03);
}
.benefits-list li img {width:30px;height:30px;}

.categories-list {
  font-size:1rem;
  color:#264653;
  margin-top:12px;
  padding: 8px 12px;
  background: #F5F6FA;
  border-radius:7px;
  display: flex;
  align-items:center;
  gap:8px;
  font-family:'Montserrat', Arial, sans-serif;
}

/* =====================
   TESTIMONIALS & CARDS
   ===================== */
.testimonials-slider, .testimonials-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 8px;
}
.testimonial-card {
  background: #fff;
  border-radius: 14px;
  box-shadow:0 1px 9px rgba(38,70,83,0.08);
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 20px;
  padding: 20px;
  flex: 1 1 260px;
  min-width: 200px;
  max-width:360px;
  margin-bottom: 20px;
  position: relative;
  color:#222;
  transition: box-shadow .16s, transform .11s;
}
.testimonial-card p {
  color: #222;
  font-size:1rem;
  letter-spacing:-0.01em;
  font-style:italic;
  margin-bottom: 0;
}
.testimonial-meta {
  color: #264653;
  font-size: 0.97rem;
  font-weight: 600;
  margin-top: 0px;
}
.testimonial-card:hover, .testimonial-card:focus-within {
  box-shadow:0 7px 26px 0 rgba(38,70,83,0.14);
  transform:translateY(-1.5px) scale(1.008);
}
@media (max-width:900px) {
  .testimonials-slider, .testimonials-grid {gap:14px;}
  .testimonial-card {min-width:120px;max-width:calc(50% - 8px);padding:16px;}
}
@media (max-width:600px) {
  .testimonials-slider, .testimonials-grid {flex-direction:column;gap:8px;}
  .testimonial-card {max-width:100%;width:100%;}
}

/* =====================
   CONTACT DATA GRID
   ===================== */
.contact-data-grid {
  display: flex;
  flex-wrap:wrap;
  gap: 24px;
  margin-top: 10px;
}
.contact-data-grid > div {
  background:#fff;
  border-radius:12px;
  box-shadow:0 1px 7px rgba(38,70,83,0.07);
  padding:14px 13px 14px 14px;
  font-size:1rem;
  color:#264653;
  display:flex;
  align-items:center;
  gap:7px;
  min-width:190px;
  max-width:340px;
  margin-bottom:12px;
  transition: box-shadow .13s;
}
.contact-data-grid > div img {width:23px;height:23px;}
.contact-data-grid > div:hover, .contact-data-grid > div:focus-within {
  box-shadow:0 3px 13px 0 rgba(38,70,83,0.11);
}
@media (max-width:600px) {
  .contact-data-grid {flex-direction:column;gap:8px;}
  .contact-data-grid > div {max-width:100%;width:100%;}
}

/* ===============
   GENERAL UTILITIES
   =============== */
.text-section {
  display:flex;
  flex-direction:column;
  gap:18px;
  align-items:flex-start;
  margin-bottom: 0;
}
.text-section h3 {margin-top:14px;}
.text-section ul {
  margin-top:0;
}
.subscribe-form-mockup {
  background:#fff;
  border-radius:9px;
  box-shadow: 0 1px 8px rgba(38,70,83,0.03);
  padding:18px 18px 16px 18px;
  margin:16px 0 0 0;
}

/* ===============
   FOOTER
   =============== */
footer {
  background: #264653;
  color: #fff !important;
  padding: 0;
  width:100%;
}
footer .container {padding-top:0;padding-bottom:0;}
footer .content-wrapper {
  flex-direction:row;
  align-items:flex-start;
  justify-content: space-between;
  gap:36px;
  padding:44px 0 24px 0;
}
.footer-logo img {height:34px;display:block;}
footer nav {
  display:flex;
  flex-direction:column;
  gap:10px;
}
footer nav a {
  color:#fff;
  font-family:'Montserrat',Arial,sans-serif;
  font-size:1.02rem;
  margin-bottom:2px;
  letter-spacing:0.14px;
  font-weight:400;
  transition: color .15s;
}
footer nav a:hover,footer nav a:focus{color:#E9C46A;text-decoration:underline;}
.footer-contact {
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-top:8px;
  font-size:0.93rem;
  color:#eee;
}
.footer-contact img {width:19px;height:19px;vertical-align:middle;margin-right:5px;}
@media (max-width:900px) {
  footer .content-wrapper {flex-direction:column;gap:13px;padding:30px 0 16px 0;}
  .footer-logo img {height:26px;}
}

/* ==============
   MODALS/OVERLAYS
   ============== */
.modal-overlay {
  position:fixed;
  top:0; left:0; right:0; bottom:0;
  background:rgba(38,70,83,0.7);
  z-index:5000;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  pointer-events:none;
  transition:opacity .24s;
}
.modal-overlay.open {
  opacity:1;
  pointer-events:auto;
}
.cookie-modal {
  background:#fff;
  border-radius:16px;
  max-width:420px;
  box-shadow:0 7px 32px rgba(38,70,83,0.17);
  padding:34px 24px 30px 24px;
  display:flex;
  flex-direction: column;
  gap:18px;
  position:relative;
  z-index:5002;
  font-size:1rem;
}
.cookie-modal h3 {
  font-size:1.3rem;
  margin-bottom:9px;
  color: #264653;
}
.cookie-modal .cookie-categories {
  display:flex;
  flex-direction:column;
  gap:14px;
  margin:12px 0 0 0;
}
.cookie-modal .cookie-category {
  display:flex;
  align-items:center;
  gap:10px;
}
.cookie-modal .cookie-category label {
  font-size:1rem;
  color:#264653;
  font-weight:500;
}
.cookie-modal .toggle-switch {
  width:34px;height:19px;
  display:inline-block;
  position:relative;
}
.toggle-switch input[type="checkbox"] {
  display:none;
}
.toggle-switch span {
  position:absolute;
  left:0; top:0;
  width:34px; height:19px;
  background:#E9C46A;
  border-radius:13px;
  transition:background .14s;
}
.toggle-switch span:after {
  content:'';
  display:block;
  width:15px; height:15px;
  background:#fff;
  border-radius:50%;
  position:absolute;
  top:2px; left:2px;
  box-shadow:0 1px 2px rgba(38,70,83,0.08);
  transition:left .15s;
}
.toggle-switch input[type="checkbox"]:checked + span {
  background:#2a9d8f;
}
.toggle-switch input[type="checkbox"]:checked + span:after {
  left:17px;
}
.cookie-modal .modal-actions {
  display:flex;
  flex-direction:row;
  gap: 18px;
  margin-top:16px;
  justify-content:flex-end;
}
.cookie-modal .btn-primary {
  font-size:0.98rem;
  padding:10px 24px;
}
.cookie-modal .btn-secondary {
  font-size:0.98rem;
  padding:9px 19px;
}

/* ================
   COOKIE CONSENT BANNER
   ================ */
.cookie-banner {
  position:fixed;
  left:0; right:0;
  bottom:0;
  z-index:1500;
  background:#fff;
  color:#264653;
  box-shadow:0 -3px 17px rgba(38,70,83,0.13);
  border-top:2px solid #E9C46A;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  padding:16px 28px 17px 28px;
  gap:32px;
  min-height:72px;
  animation:cookiebanner-in 0.6s cubic-bezier(.48,.04,.46,.97);
}
@keyframes cookiebanner-in {
  0% {transform:translateY(90px);opacity:0;}
  100% {transform:translateY(0);opacity:1;}
}
.cookie-banner .cookie-text {
  font-family:'Roboto',Arial,sans-serif;
  font-size: 1rem;
  color:#264653;
  max-width: 600px;
}
.cookie-banner .cookie-actions {
  display:flex;
  flex-direction:row;
  gap:13px;
}
.cookie-banner .btn-primary,
.cookie-banner .btn-secondary {
  font-size:0.97rem;
  padding:10px 20px;
  min-width: 70px;
}
@media (max-width:800px) {
  .cookie-banner {flex-direction:column;align-items:flex-start;gap:10px;padding:14px 9px;}
  .cookie-banner .cookie-actions {gap:8px;}
}
@media (max-width:440px) {
  .cookie-banner {min-height:unset;gap:7px;}
}

/* =====================
   MISC: THANK YOU PAGE BUTTON
   ===================== */
.text-section .btn-primary {
  margin-top:18px;
}

/* ===============
   MEDIA QUERIES RESPONSIVE
   =============== */
@media (max-width:1023px) {
  .container {max-width:98vw;}
}
@media (max-width:700px) {
  h1{font-size:2rem;}
  h2{font-size:1.3rem;}
  .footer-contact p, .footer-contact {
    font-size: 0.92rem;
  }
}
@media (max-width:520px) {
  .container {padding:0 3vw;}
  section, .section {padding: 18px 2vw 28px 2vw;}
  .btn-primary, .btn-secondary {font-size:0.98rem;padding:11px 12px;}
  .testimonial-card, .feature, .guide-card, .training-card, .value-icon {padding:12px 6px 14px 6px;}
}

/* ===============
   ACCESSIBILITY FOCUS
   =============== */
:focus {
  outline:2px solid #E9C46A;
  outline-offset:2px;
}

/* =====================
   END OF CSS
   ===================== */
