/* ============================================================================
   Generic Divi baseline (rebuilt).
   The original Divi theme CSS/JS (style.css + et-cache/*) was never archived by
   Wayback — every stylesheet reference 404'd. This file gives the Divi Builder
   markup (et_pb_section / _row / _column / _module / _text / _button / _image)
   a clean, readable generic layout. Goal per skill Step 5-I: readable + tidy,
   not pixel-perfect reproduction of the original theme.
   ========================================================================== */

/* ---- reset / base ---- */
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;color:var(--bd-ink,#333);background:#fff;
  font-family:'Montserrat','Open Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;line-height:1.7;
}
img{max-width:100%;height:auto;border:0;vertical-align:middle;}
a{text-decoration:none;}
h1,h2,h3,h4,h5,h6{color:#1c1c1c;line-height:1.25;font-weight:600;margin:.6em 0 .4em;}
h1{font-size:2.1rem;} h2{font-size:1.7rem;} h3{font-size:1.35rem;} h4{font-size:1.15rem;}
p{margin:0 0 1.1em;}
ul,ol{margin:0 0 1.1em;padding-left:1.4em;}
hr{border:0;border-top:1px solid var(--bd-line,#e6e9ec);margin:1.8em 0;}

/* ---- Divi layout primitives ---- */
.et_pb_section{position:relative;padding:54px 0;background-color:#fff;}
.et_pb_section.et_pb_with_background{background-size:cover;background-position:center;}
.et_pb_row{
  width:80%;max-width:1080px;margin:0 auto;position:relative;
  display:flex;flex-wrap:wrap;gap:30px;
}
.et_pb_row_1_1,.et_pb_row .et_pb_column_4_4{gap:0;}
.et_pb_column{flex:1 1 0;min-width:220px;}
.et_pb_column_4_4{flex-basis:100%;}
.et_pb_column_1_2{flex:1 1 44%;}
.et_pb_column_1_3{flex:1 1 28%;}
.et_pb_column_1_4{flex:1 1 20%;}
.et_pb_column_2_3{flex:1 1 62%;}
.et_pb_column_3_4{flex:1 1 70%;}
.et_pb_module{margin-bottom:22px;}
.et_pb_module:last-child{margin-bottom:0;}
.et_pb_text{overflow-wrap:break-word;}
.et_pb_text_align_center,.et_pb_text_align_center *{text-align:center;}
.et_pb_text_align_right{text-align:right;}

/* fullwidth sections / headers */
.et_pb_fullwidth_section,.et_pb_section_fullwidth{padding:0;}
.et_pb_fullwidth_header{padding:80px 0;}
.et_pb_fullwidth_header .et_pb_fullwidth_header_container{width:80%;max-width:1080px;margin:0 auto;}

/* images */
.et_pb_image{margin-bottom:22px;}
.et_pb_image img{display:block;}
.et_pb_image.et_pb_image_align_center,.et_pb_module.et_pb_image_align_center{text-align:center;}
.et_pb_image.et_pb_image_align_center img{margin-left:auto;margin-right:auto;}

/* buttons */
.et_pb_button,a.et_pb_button{
  display:inline-block;padding:.55em 1.4em;border-radius:4px;
  font-weight:600;line-height:1.6;cursor:pointer;transition:.2s ease;
}
.et_pb_button_module_wrapper{margin-bottom:22px;}

/* blurbs / icons if present */
.et_pb_blurb .et_pb_main_blurb_image{margin-bottom:14px;}
.et_pb_blurb_content{max-width:550px;}

/* ---- header / primary nav ---- */
#main-header{
  position:relative;z-index:999;box-shadow:0 1px 3px rgba(0,0,0,.08);
}
.et_fixed_nav #main-header{position:sticky;top:0;}
#main-header .container,#et-top-navigation{
  width:80%;max-width:1080px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  min-height:66px;
}
#main-header .container{width:80%;}
.logo_container{display:flex;align-items:center;flex-shrink:0;}
.logo_container a{
  font-size:1.35rem;font-weight:700;color:var(--bd-accent-dark,#003e54);
  letter-spacing:.02em;white-space:nowrap;
}
.logo_container img{max-height:46px;width:auto;}
#et-top-navigation{width:auto;flex:1;justify-content:flex-end;}
#top-menu-nav{}
#top-menu,ul.nav{
  list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:2px;
}
#top-menu li{position:relative;}
#top-menu>li>a,ul.nav>li>a{
  display:block;padding:10px 14px;font-size:.9rem;font-weight:600;white-space:nowrap;
}
/* dropdown sub-menus */
#top-menu li .sub-menu,ul.nav li ul.sub-menu{
  display:none;position:absolute;top:100%;left:0;min-width:220px;
  background:#fff;list-style:none;margin:0;padding:8px 0;
  box-shadow:0 6px 20px rgba(0,0,0,.12);border-radius:4px;z-index:1000;
}
#top-menu li:hover>.sub-menu,ul.nav li:hover>ul.sub-menu{display:block;}
#top-menu .sub-menu li a{display:block;padding:8px 18px;font-size:.88rem;color:#2b2b2b;white-space:nowrap;}
#top-menu .sub-menu li a:hover{background:#f2f7fa;color:var(--bd-accent,#009fe3);}
#top-menu .sub-menu .sub-menu{top:0;left:100%;}

/* mobile menu artifacts — keep hidden (no JS toggle) */
.et_mobile_menu,#et_mobile_nav_menu,.mobile_nav,.et_pb_menu__mobile-menu{display:none!important;}

/* ---- footer template ---- */
.et-l--footer{padding:0;}
.et-l--footer .et_pb_section{background-color:transparent;padding:44px 0;}
.et-l--footer .et_pb_row{color:inherit;}
.et-l--footer h1,.et-l--footer h2,.et-l--footer h3,.et-l--footer h4{color:#fff;}
#main-footer{padding:44px 0;}
#footer-bottom{background:rgba(0,0,0,.18);padding:16px 0;}
#footer-bottom .container{width:80%;max-width:1080px;margin:0 auto;text-align:center;font-size:.85rem;}

/* ---- responsive ---- */
@media (max-width:980px){
  .et_pb_row{width:90%;gap:22px;}
  #main-header .container,#et-top-navigation{width:90%;flex-wrap:wrap;}
  .et_pb_column,.et_pb_column_1_2,.et_pb_column_1_3,.et_pb_column_1_4,
  .et_pb_column_2_3,.et_pb_column_3_4{flex:1 1 100%;}
  #top-menu,ul.nav{justify-content:center;}
}
@media (max-width:600px){
  body{font-size:15px;}
  .et_pb_section{padding:38px 0;}
  h1{font-size:1.7rem;}h2{font-size:1.4rem;}
}
