body
{
   background-color: #FFFFFF;
   color: #000000;
   font-family: Arial;
   font-weight: normal;
   font-size: 13px;
   line-height: 1.1875;
   margin: 0;
   padding: 0;
}
#wb_header
{
   clear: both;
   position: -webkit-sticky;
   position: sticky;
   top: 0;
   z-index: 7776;
   table-layout: fixed;
   display: table;
   text-align: center;
   width: 100%;
   background-color: #FFFFFF;
   background-image: none;
   border: 0px solid #CCCCCC;
   border-radius: 0px;
   box-sizing: border-box;
   margin: 0;
   box-shadow: 0px 4px 8px rgba(0,0,0,0.19);
}
#header
{
   box-sizing: border-box;
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   padding: 25px 0 10px 0;
   margin-right: auto;
   margin-left: auto;
   max-width: 1024px;
}
#header > .col-1
{
   box-sizing: border-box;
   font-size: 0;
   min-height: 1px;
   padding-right: 15px;
   padding-left: 15px;
   position: relative;
}
#header > .col-1
{
   flex: 0 0 auto;
}
#header > .col-1
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   flex-basis: 100%;
   max-width: 100%;
   display: flex;
   flex-wrap: wrap;
   align-content: flex-start;
   align-self: stretch;
   align-items: flex-start;
   justify-content: flex-start;
   text-align: left;
}
@media (max-width: 480px)
{
#header > .col-1
{
   flex-basis: 100% !important;
   max-width: 100% !important;
}
}
#wb_IconFont4
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #245580;
   border-radius: 0px;
   text-align: center;
   margin: 0;
   padding: 0;
   vertical-align: top;
   display:inline-block;
   position:relative;
}
#IconFont4
{
   height: 45px;
   width: 45px;
   display: flex;
   flex-wrap: nowrap;
   justify-content: center;
}
#IconFont4 i
{
   color: #0963AD;
   display: inline-block;
   font-size: 45px;
   line-height: 45px;
   vertical-align: middle;
}
#wb_IconFont4:hover #IconFont4 i
{
   color: #337AB7;
}
#wb_Text5 
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #000000;
   border-radius: 0px;
   padding: 0;
   margin: 0;
   text-align: left;
}
#wb_Text5 div
{
   text-align: left;
}
#wb_Text5
{
   display: block;
   margin: 0;
   box-sizing: border-box;
   width: 100%;
}
.headerMenu .nav
{
   font-family: Georgia;
   font-weight: normal;
   font-size: 13px;
   font-style: normal;
   color: #008080;
   text-align: left;
   text-transform: none;
}
#headerMenu, .headerMenu .nav, .headerMenu *
{
   margin: 0;
   padding: 0;
   box-sizing: border-box;
   line-height: 1;
   list-style: none;
}
.headerMenu .nav:before,
.headerMenu .nav:after 
{
   content: " ";
   display: table;
}
.headerMenu .nav:after 
{
   clear: both;
}
.headerMenu .nav a 
{
   text-decoration: none;
}
.headerMenu .nav ul
{
   margin-top: 0;
   margin-bottom: 0;
}
.headerMenu .nav ul ul
{
   margin-bottom: 0;
}
.headerMenu .container 
{
   margin-right: auto;
   margin-left: auto;
   padding: 0;
}
.headerMenu .container:before,
.headerMenu .container:after 
{
   content: " ";
   display: table;
}
.headerMenu .container:after 
{
   clear: both;
}
.headerMenu .collapse 
{
   display: none;
}
.headerMenu .collapse.show 
{
   display: block;
}
.headerMenu .collapsing 
{
   position: relative;
   height: 0;
   overflow: hidden;
   transition: height .35s ease;
}
.headerMenu .arrow, .headerMenu .arrow-right
{
   display: inline-block;
   margin-left: 4px;
   width: 0;
   height: 0;
   vertical-align: middle;
   border-top: 4px solid #000;
   border-right: 4px solid transparent;
   border-left: 4px solid transparent;
   border-bottom: 0 dotted;
   }
.headerMenu .dropdown 
{
   position: relative;
}
.headerMenu .dropdown-toggle:focus 
{
   outline: 0;
}
.headerMenu .dropdown-menu 
{
   position: absolute;
   top: 100%;
   left: 0;
   z-index: 1000;
   display: none;
   float: left;
   min-width: 160px;
   padding: 5px 0;
   margin: 2px 0 0;
   list-style: none;
   font-size: 13px;
   background-color: transparent;
   background-image: none;
   border: 1px solid rgba(197,197,197,1.00);
   border-radius: 0px;
   background-clip: padding-box;
}
.headerMenu .dropdown-menu .divider
{
   height: 1px;
   margin: 9px 0;
   overflow: hidden;
   background-color: #C5C5C5;
}
.headerMenu .dropdown-menu > li > a
{
   display: block;
   padding: 3px 20px 3px 20px;
   clear: both;
   line-height: 1.428571429;
   color: #008080;
   text-transform: none;
   white-space: nowrap;
}
.headerMenu .dropdown-menu > li > a:hover,
.headerMenu .dropdown-menu > li > a:focus 
{
   text-decoration: none;
   color: #007BFF;
   background-color: transparent;
   background-image: none;
}
.headerMenu .dropdown-menu > li > a.active,
.headerMenu .dropdown-menu > li > a.active:hover,
.headerMenu .dropdown-menu > li > a.active:focus
{
   color: #007BFF;
   background-color: transparent;
   background-image: none;
   text-decoration: none;
   outline: 0;
}
.headerMenu .show > .dropdown-menu
{
   display: block;
}
.headerMenu .show > a
{
   outline: 0;
}
.headerMenu .dropdown-header
{
   display: block;
   padding: 3px 20px;
   line-height: 1.428571429;
   color: #aeaeae;
}
.headerMenu .dropdown-backdrop
{
   position: fixed;
   left: 0;
   right: 0;
   bottom: 0;
   top: 0;
   z-index: 990;
}
.headerMenu .nav > li 
{
   position: relative;
   display: block;
}
.headerMenu .nav > li > a
{
   position: relative;
   display: block;
   padding: 16px 15px 16px 15px;
}
.headerMenu .nav .show > a,
.headerMenu .nav .show > a:hover,
.headerMenu .nav .show > a:focus
{
    border-color: #343A40;
}
.headerMenu .nav .nav-divider
{
   height: 1px;
   margin: 9px 0;
   overflow: hidden;
   background-color: #C5C5C5;
}
.headerMenu .nav .arrow
{
   border-top-color: #343A40;
   border-bottom-color: #343A40;
}
.headerMenu
{
   position: relative;
}
.headerMenu:before,
.headerMenu:after
{
   content: " ";
   display: table;
}
.headerMenu:after
{
   clear: both;
}
.headerMenu .navbar-header:before,
.headerMenu .navbar-header:after
{
   content: " ";
   display: table;
}
.headerMenu .navbar-header:after
{
   clear: both;
}
.headerMenu-navbar-collapse 
{
   overflow-x: visible;
   -webkit-overflow-scrolling: touch;
}
.headerMenu-navbar-collapse:before,
.headerMenu-navbar-collapse:after
{
   content: " ";
   display: table;
}
.headerMenu-navbar-collapse:after
{
   clear: both;
}
.headerMenu-navbar-collapse.show
{
   overflow-y: auto;
}
.headerMenu .navbar-toggle 
{
   position: relative;
   float: right;
   width: 52px;
   height: 54px;
   padding: 16px 15px 16px 15px;
   background-color: transparent;
   border: 1px solid transparent;
   border-radius: 0px;
}
.headerMenu .navbar-toggle .line
{
   background-color: #008080;
}
.headerMenu .navbar-toggle .line
{
   display: block;
   width: 22px;
   height: 4px;
   border-radius: 0px;
   transition: all 500ms linear;
}
.headerMenu .navbar-toggle .line
{
   margin: 4px auto;
}
.headerMenu .navbar-toggle  .line:first-child
{
   margin-top: 0px !important;
}
.headerMenu .navbar-toggle  .line:last-child
{
   margin-bottom: 0px !important;
}
.headerMenu .navbar-nav
{
   margin: 6px -15px;
}
.headerMenu .navbar-nav > li > .dropdown-menu
{
   margin-top: 0;
}
.headerMenu .navbar-nav > li > a
{
   color: #008080;
}
.headerMenu .navbar-nav > li > a:hover,
.headerMenu .navbar-nav > li > a:focus
{
   background-color: transparent;
   background-image: none;
   color: #007BFF;
   text-decoration: none;
}
.headerMenu .navbar-nav > li > a.active,
.headerMenu .navbar-nav > li > a.active:hover,
.headerMenu .navbar-nav > li > a.active:focus
{
   color: #007BFF;
   background-color: transparent;
   background-image: none;
}
.headerMenu .navbar-toggle
{
   border: 1px solid transparent;
}
.headerMenu .navbar-toggle:hover,
.headerMenu .navbar-toggle:focus
{
   background-color: transparent;
}
.headerMenu-navbar-collapse
{
   border-color: rgba(197,197,197,1.00);
}
.headerMenu .navbar-nav > .dropdown > a:hover .arrow,
.headerMenu .navbar-nav > .dropdown > a:focus .arrow
{
   border-top-color: #007BFF;
   border-bottom-color: #007BFF;
}
.headerMenu .navbar-nav > .show > a,
.headerMenu .navbar-nav > .show > a:hover,
.headerMenu .navbar-nav > .show > a:focus
{
   background-color: transparent;
   background-image: none;
   color: #007BFF;
}
.headerMenu .navbar-nav > .show > a .arrow,
.headerMenu .navbar-nav > .show > a:hover .arrow,
.headerMenu .navbar-nav > .show > a:focus .arrow
{
   border-top-color: #007BFF;
   border-bottom-color: #007BFF;
}
.headerMenu .navbar-nav > .dropdown > a .arrow
{
   border-top-color: #008080;
   border-bottom-color: #008080;
}
.headerMenu .navbar-link
{
   color: #008080;
}
.headerMenu .navbar-link:hover
{
   color: #007BFF;
}
.headerMenu .navbar-header
{
   color: #008080;
}
@media (min-width: 1920px) 
{
.headerMenu .navbar-right .dropdown-menu
{
   right: 0;
   left: auto;
}
.headerMenu .navbar-header
{
   float: left;
}
.headerMenu-navbar-collapse
{
   width: auto;
   border-top: 0;
   box-shadow: none;
}
.headerMenu-navbar-collapse.collapse
{
   display: block!important;
   height: auto!important;
   padding-bottom: 0;
   overflow: visible!important;
}
.headerMenu-navbar-collapse.show
{
   overflow-y: auto;
}
.headerMenu .navbar-toggle
{
   display: none;
}
.headerMenu .navbar-nav
{
   float: left;
   margin: 0;
}
.headerMenu .navbar-nav > li
{
   float: left;
}
.headerMenu .container > .navbar-header,
.headerMenu .container > .headerMenu-navbar-collapse
{
   margin-right: 0;
   margin-left: 0;
}
.headerMenu .navbar-nav > .dropdown > a:hover .arrow,
.headerMenu .navbar-nav > .dropdown > a:focus .arrow
{
   border-top-color: #007BFF;
   border-bottom-color: #007BFF;
}
}
@media (max-width: 1920px) 
{
.headerMenu 
{
   background-color: transparent;
   background-image: none;
   border: 1px solid rgba(255,255,255,0.00);
}
.headerMenu .navbar-nav
{
   margin: 0;
   background-color: transparent;
   background-image: none;
}
.headerMenu .navbar-nav .show .dropdown-menu
{
   position: static !important;
   transform: translate3d(0px, 0px, 0px) !important;
   float: none;
   width: auto;
   margin-top: 0;
   background-color: transparent;
   border: 0;
   box-shadow: none;
}
.headerMenu .navbar-nav .show .dropdown-menu > li > a,
.headerMenu .navbar-nav .show .dropdown-menu .dropdown-header
{
   padding: 5px 15px 5px 15px;
}
.headerMenu .navbar-nav .show .dropdown-menu > li > a
{
   line-height: 20px;
}
}
@media (min-width: 1920px) 
{
.headerMenu 
{
   background-color: transparent;
   background-image: none;
   border: 1px solid rgba(255,255,255,0.00);
   border-radius: 0px;
}
.headerMenu .navbar-nav > li > a
{
   color: #008080;
}
.headerMenu .navbar-nav > li > a:hover,
.headerMenu .navbar-nav > li > a:focus
{
   color: #007BFF;
   background-color: transparent;
   background-image: none;
}
.headerMenu .navbar-nav > li > a.active,
.headerMenu .navbar-nav > li > a.active:hover,
.headerMenu .navbar-nav > li > a.active:focus
{
   color: #007BFF;
   background-color: transparent;
   background-image: none;
}
.headerMenu .navbar-nav > .show > a,
.headerMenu .navbar-nav > .show > a:hover,
.headerMenu .navbar-nav > .show > a:focus
{
   background-color: transparent;
   background-image: none;
   color: #007BFF;
}
.headerMenu .navbar-nav > .dropdown > a:hover .arrow
{
   border-top-color: #007BFF;
   border-bottom-color: #007BFF;
}
.headerMenu .navbar-nav > .dropdown > a .arrow
{
   border-top-color: #008080;
   border-bottom-color: #008080;
}
.headerMenu .navbar-nav > li > a.active > .arrow,
.headerMenu .navbar-nav > li > a.active:hover > .arrow,
.headerMenu .navbar-nav > li > a.active:focus > .arrow
{
   border-top-color: #007BFF;
   border-bottom-color: #007BFF;
}
.headerMenu .navbar-nav > .show > a .arrow,
.headerMenu .navbar-nav > .show > a:hover .arrow,
.headerMenu .navbar-nav > .show > a:focus .arrow
{
   border-top-color: #007BFF;
   border-bottom-color: #007BFF;
}
.headerMenu .navbar-link
{
   color: #008080;
}
.headerMenu .navbar-link:hover 
{
   color: #fff;
}
}
#headerMenu-logo
{
   float: left;
}
#headerMenu-logo img
{
   border-width: 0;
   height: auto;
   max-width: 100%;
}
#headerMenu i
{
   font-size: 16px;
   position: relative;
   left: 0;
   top: 0;
   margin-right: 4px;
   width: 16px;
}
#wb_headerMenu
{
   z-index: 1111 !important;
}
#wb_LayoutGrid1
{
   clear: both;
   position: relative;
   table-layout: fixed;
   display: table;
   text-align: center;
   width: 100%;
   background-color: #FFFACD;
   background-image: none;
   border: 0px solid #CCCCCC;
   border-radius: 0px;
   box-sizing: border-box;
   margin: 0;
}
#LayoutGrid1
{
   box-sizing: border-box;
   padding: 50px 15px 50px 15px;
   margin-right: auto;
   margin-left: auto;
   max-width: 1024px;
}
#LayoutGrid1 > .row
{
   margin-right: -15px;
   margin-left: -15px;
}
#LayoutGrid1 > .row > .col-1
{
   box-sizing: border-box;
   font-size: 0;
   min-height: 1px;
   padding-right: 15px;
   padding-left: 15px;
   position: relative;
}
#LayoutGrid1 > .row > .col-1
{
   float: left;
}
#LayoutGrid1 > .row > .col-1
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   width: 100%;
   text-align: center;
}
#LayoutGrid1:before,
#LayoutGrid1:after,
#LayoutGrid1 .row:before,
#LayoutGrid1 .row:after
{
   display: table;
   content: " ";
}
#LayoutGrid1:after,
#LayoutGrid1 .row:after
{
   clear: both;
}
@media (max-width: 480px)
{
#LayoutGrid1 > .row > .col-1
{
   float: none;
   width: 100% !important;
}
}
#wb_headingTitle
{
   background-color: #D2B48C;
   background-image: none;
   border: 0px solid transparent;
   border-radius: 0px;
   box-sizing: border-box;
   vertical-align: top;
   margin: 0;
   padding: 0;
   text-align: center;
}
#headingTitle
{
   color: #191970;
   font-family: Georgia;
   font-weight: bold;
   font-style: normal;
   font-size: 27px;
   margin: 0;
   text-align: center;
   text-transform: none;
}
#wb_LayoutGrid2
{
   clear: both;
   position: relative;
   table-layout: fixed;
   display: table;
   text-align: center;
   width: 100%;
   background-color: #708090;
   background-image: none;
   border: 0px solid #87CEEB;
   border-radius: 0px;
   box-sizing: border-box;
   margin: 0;
}
#LayoutGrid2
{
   box-sizing: border-box;
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   padding: 50px 0 50px 0;
   margin-right: auto;
   margin-left: auto;
}
#LayoutGrid2 > .col-1, #LayoutGrid2 > .col-2, #LayoutGrid2 > .col-3
{
   box-sizing: border-box;
   font-size: 0;
   min-height: 1px;
   padding-right: 15px;
   padding-left: 15px;
   position: relative;
}
#LayoutGrid2 > .col-1, #LayoutGrid2 > .col-2, #LayoutGrid2 > .col-3
{
   flex: 0 0 auto;
}
#LayoutGrid2 > .col-1
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   flex-basis: 33.33333333%;
   max-width: 33.33333333%;
   display: flex;
   flex-wrap: wrap;
   align-content: flex-start;
   align-self: stretch;
   align-items: flex-start;
   justify-content: center;
   text-align: center;
}
#LayoutGrid2 > .col-2
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   flex-basis: 33.33333333%;
   max-width: 33.33333333%;
   display: flex;
   flex-wrap: wrap;
   align-content: flex-start;
   align-self: stretch;
   align-items: flex-start;
   justify-content: flex-start;
   text-align: left;
}
#LayoutGrid2 > .col-3
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   flex-basis: 33.33333333%;
   max-width: 33.33333333%;
   display: flex;
   flex-wrap: wrap;
   align-content: flex-start;
   align-self: stretch;
   align-items: flex-start;
   justify-content: flex-start;
   text-align: left;
}
@media (max-width: 768px)
{
#LayoutGrid2 > .col-1, #LayoutGrid2 > .col-2, #LayoutGrid2 > .col-3
{
   flex-basis: 100% !important;
   max-width: 100% !important;
}
}
#wb_Text3 
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #000000;
   border-radius: 0px;
   padding: 0;
   margin: 0;
   text-align: center;
}
#wb_Text3 div
{
   text-align: center;
}
#wb_Text3
{
   display: block;
   margin: 0;
   box-sizing: border-box;
   width: 100%;
}
#wb_Text1 
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #000000;
   border-radius: 0px;
   padding: 0;
   margin: 0;
   text-align: center;
}
#wb_Text1 div
{
   text-align: center;
}
#wb_Text1
{
   display: block;
   margin: 0;
   box-sizing: border-box;
   width: 100%;
}
#wb_Text2 
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #000000;
   border-radius: 0px;
   padding: 0;
   margin: 0;
   text-align: center;
}
#wb_Text2 div
{
   text-align: center;
}
#wb_Text2
{
   display: block;
   margin: 0;
   box-sizing: border-box;
   width: 100%;
}
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  :root {
    --green: #2d6a4f;
    --green-light: #52b788;
    --green-pale: #d8f3dc;
    --gold: #b5924c;
    --gold-light: #f0e6d3;
    --dark: #1a1a2e;
    --text: #2c2c3a;
    --muted: #6b7280;
    --white: #ffffff;
    --cream: #faf8f5;
  }

  body {
    font-family: 'Source Sans 3', sans-serif;
    background: var(--cream);
    color: var(--text);
    font-size: 15px;
    line-height: 1.7;
  }

  .page {
    max-width: 820px;
    margin: 0 auto;
    background: var(--white);
    box-shadow: 0 4px 40px rgba(0,0,0,0.10);
  }

  .header {
    background: var(--green);
    color: var(--white);
    padding: 48px 56px 40px;
    position: relative;
    overflow: hidden;
  }
  .header::before {
    content: '';
    position: absolute;
    top: -60px; right: -60px;
    width: 260px; height: 260px;
    border-radius: 50%;
    background: rgba(255,255,255,0.06);
  }
  .header::after {
    content: '';
    position: absolute;
    bottom: -80px; left: 40px;
    width: 180px; height: 180px;
    border-radius: 50%;
    background: rgba(255,255,255,0.04);
  }
  .header-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
    flex-wrap: wrap;
  }
  .org-name {
    font-family: 'Playfair Display', serif;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.5px;
    line-height: 1.2;
  }
  .org-name span { color: var(--green-light); }
  .org-tagline {
    font-size: 13px;
    font-style: italic;
    color: rgba(255,255,255,0.72);
    margin-top: 6px;
  }
  .badge {
    background: var(--gold);
    color: var(--white);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 2px;
    white-space: nowrap;
    align-self: flex-start;
    margin-top: 4px;
  }
  .header-title {
    margin-top: 32px;
    border-top: 1px solid rgba(255,255,255,0.2);
    padding-top: 28px;
  }
  .field-label {
    font-size: 11px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--green-light);
    font-weight: 600;
    margin-bottom: 4px;
  }
  .field-title {
    font-family: 'Playfair Display', serif;
    font-size: 38px;
    font-weight: 700;
    line-height: 1.1;
  }
  .field-sub {
    font-size: 14px;
    color: rgba(255,255,255,0.7);
    margin-top: 6px;
  }

  .section { padding: 44px 56px; }
  .section + .section { border-top: 1px solid #f0ece8; }
  .section-label {
    font-size: 11px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--green);
    margin-bottom: 20px;
  }
  .section-title {
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 6px;
  }

  .periods {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  .period-card {
    border: 1.5px solid var(--green-pale);
    border-radius: 6px;
    padding: 24px 26px;
    background: #f9fdfb;
  }
  .period-card.winter { border-color: #dde8f5; background: #f7faff; }
  .period-card .period-type {
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--green);
    margin-bottom: 8px;
  }
  .period-card.winter .period-type { color: #3a6ea8; }
  .period-card .period-dates {
    font-family: 'Playfair Display', serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 4px;
  }
  .period-card .period-weeks { font-size: 13px; color: var(--muted); }

  .curriculum { width: 100%; border-collapse: collapse; margin-top: 8px; }
  .curriculum thead tr { background: var(--green); color: var(--white); }
  .curriculum thead th {
    padding: 12px 18px;
    text-align: left;
    font-size: 12px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    font-weight: 600;
  }
  .curriculum thead th:last-child { text-align: center; }
  .curriculum tbody tr:nth-child(even) { background: #f7fdf9; }
  .curriculum tbody td {
    padding: 13px 18px;
    font-size: 14px;
    color: var(--text);
    border-bottom: 1px solid #eef5f1;
  }
  .curriculum tbody td:last-child { text-align: center; }
  .curriculum tfoot td {
    padding: 14px 18px;
    font-weight: 700;
    font-size: 14px;
    background: var(--dark);
    color: var(--white);
  }
  .curriculum tfoot td:last-child { text-align: center; }
  .hours-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--green);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    width: 32px;
    height: 32px;
    border-radius: 50%;
  }
  .hours-badge.total { background: var(--gold); }

  .table-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    margin-top: 8px;
  }
  .table-split-label {
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 12px;
  }
  .label-summer { color: #2d6a4f; }
  .label-winter { color: #3a6ea8; }

  .exam-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-top: 8px;
  }
  .exam-card {
    background: var(--green-pale);
    border-radius: 6px;
    padding: 18px 14px;
    text-align: center;
  }
  .exam-card .exam-day {
    font-family: 'Playfair Display', serif;
    font-size: 15px;
    font-weight: 700;
    color: var(--green);
    margin-bottom: 4px;
  }
  .exam-card .exam-date {
    font-size: 22px;
    font-weight: 700;
    font-family: 'Playfair Display', serif;
    color: var(--dark);
    line-height: 1;
    margin-bottom: 6px;
  }
  .exam-card .exam-month { font-size: 12px; color: var(--muted); margin-bottom: 10px; }
  .exam-card .exam-time { font-size: 12px; font-weight: 600; color: var(--text); }
  .exam-card .exam-subject {
    display: inline-block;
    margin-top: 10px;
    background: var(--green);
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 20px;
    line-height: 1.4;
  }

  .pricing-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 8px;
  }
  .price-card { border-radius: 8px; padding: 28px; }
  .price-card.summer { background: var(--green-pale); border: 1.5px solid #b7e4c7; }
  .price-card.winter { background: var(--gold-light); border: 1.5px solid #dfc99a; }
  .price-card .price-label {
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 10px;
  }
  .price-card.summer .price-label { color: var(--green); }
  .price-card.winter .price-label { color: var(--gold); }
  .price-card .price-amount {
    font-family: 'Playfair Display', serif;
    font-size: 40px;
    font-weight: 700;
    color: var(--dark);
    line-height: 1;
    margin-bottom: 6px;
  }
  .price-card .price-note { font-size: 13px; color: var(--muted); line-height: 1.6; }
  .price-card .price-discount {
    margin-top: 12px;
    background: var(--gold);
    color: #fff;
    display: inline-block;
    padding: 4px 12px;
    border-radius: 2px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
  }
  .installments { margin-top: 12px; font-size: 13px; color: var(--text); font-weight: 600; }

  .benefits-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 8px;
  }
  .benefit-item {
    display: flex;
    gap: 13px;
    align-items: flex-start;
    background: var(--cream);
    border-radius: 6px;
    padding: 16px 18px;
    border-left: 3px solid var(--green-light);
  }
  .benefit-icon { font-size: 18px; flex-shrink: 0; margin-top: 1px; }
  .benefit-text { font-size: 13.5px; color: var(--text); line-height: 1.55; }

  .meeting-banner {
    background: var(--dark);
    color: #fff;
    border-radius: 6px;
    padding: 22px 28px;
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: 8px;
  }
  .meeting-date-box {
    background: var(--gold);
    border-radius: 4px;
    padding: 12px 20px;
    text-align: center;
    flex-shrink: 0;
  }
  .meeting-date-box .mday { font-family: 'Playfair Display', serif; font-size: 30px; font-weight: 700; line-height: 1; }
  .meeting-date-box .mmonth { font-size: 12px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; margin-top: 2px; }
  .meeting-info .mtitle { font-family: 'Playfair Display', serif; font-size: 17px; font-weight: 600; margin-bottom: 4px; }
  .meeting-info .mdesc { font-size: 13px; color: rgba(255,255,255,0.7); }

  .footer {
    background: var(--green);
    color: rgba(255,255,255,0.85);
    text-align: center;
    padding: 28px 40px;
    font-size: 13px;
  }
  .footer strong { color: #fff; font-size: 14px; }

  @media print {
    body { background: white; }
    .page { box-shadow: none; }
    .section { padding: 32px 48px; }
  }
