
@layer reset, base, layout, components, pages, utilities;

@layer reset {
*{box-sizing:border-box;}



html{scroll-behavior:smooth;}
}

@layer base {
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.7;color:#3d4a58;background:#f4f1ec;}
.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#1d5b79;font-weight:700;margin:0 0 8px;}
.page-title{font-family:Georgia,serif;font-size:36px;font-weight:400;line-height:1.15;color:#16212e;margin:0 0 6px;}
.subtitle{font-size:15px;color:#6b7785;margin:0 0 26px;}
.page h3{font-family:Georgia,serif;font-size:23px;font-weight:400;color:#16212e;margin:34px 0 12px;line-height:1.25;}
.page h4{font-size:15px;font-weight:700;color:#16212e;margin:22px 0 8px;}
.page p{margin:0 0 16px;overflow-wrap:break-word;word-break:break-word;}
img, .cover-image{max-width:100%;height:auto;}
.lead{font-size:17px;color:#2f3d4b;}
.rule{height:1px;background:#e4ded4;margin:30px 0;border:0;}
.cover-image{display:block;width:100%;max-width:620px;height:auto;margin:0 auto;border:1px solid #e4ded4;box-shadow:0 10px 28px rgba(22,33,46,.16);border-radius:3px;}
.page h3 .badge{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
}

@layer layout {
.topbar{background:#16212e;color:#fff;border-bottom:3px solid #1d5b79;padding:16px 28px;}
.topbar-inner{max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:16px;}
.topbar h1{margin:0;font-family:Georgia,serif;font-size:20px;font-weight:400;letter-spacing:.4px;line-height:1.2;}
.topbar p{margin:2px 0 0;font-size:12px;letter-spacing:.8px;color:#9fb3c2;text-transform:none;}
.layout{max-width:1240px;margin:0 auto;padding:32px 28px 8px;display:flex;gap:36px;align-items:flex-start;}
.sidebar{flex:0 0 270px;position:sticky;top:24px;background:#fff;border:1px solid #e4ded4;border-radius:4px;padding:18px 0;box-shadow:0 1px 2px rgba(22,33,46,.04);}
.sidebar h2{margin:0 0 10px;padding:0 20px;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:#6b7785;font-weight:700;}
.content{flex:1 1 auto;min-width:0;}
.footer-meta .copyright{display:inline-block;margin-top:8px;}
.footer-meta{max-width:1240px;margin:0 auto;padding:8px 28px 28px;font-size:12px;color:#5f6b78;text-align:center;}
.topbar-line2{margin:2px 0 0;font-size:12px;letter-spacing:.8px;color:#9fb3c2;text-transform:none;}
.topbar-line3{margin:2px 0 0;font-size:12px;letter-spacing:.4px;color:#9fb3c2;font-style:italic;text-transform:none;}
/* Booking banner link */
 .topbar-inner{flex-wrap:wrap;justify-content:space-between;}
}

@layer components {
.nav-list{list-style:none;margin:0;padding:0;}
.nav-link{display:block;padding:9px 20px;border-left:3px solid transparent;color:#3d4a58;text-decoration:none;font-size:14px;line-height:1.4;transition:background .15s,color .15s,border-color .15s;}
.nav-link:hover{background:#f7f9fb;color:#1d5b79;}
.nav-link.active{background:#eef4f8;border-left-color:#1d5b79;color:#14495f;font-weight:600;}
.nav-link .part-tag{display:block;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#6b7785;font-weight:700;}
.nav-link.active .part-tag{color:#1d5b79;}
.page{background:#fff;border:1px solid #e4ded4;border-radius:4px;padding:52px 60px 44px;box-shadow:0 1px 3px rgba(22,33,46,.05);margin-bottom:24px;}

.page{overflow-wrap:break-word;}
.callout{background:#eef4f8;border-left:4px solid #1d5b79;padding:20px 24px;margin:26px 0;border-radius:0 3px 3px 0;}
.callout .callout-title{font-family:Georgia,serif;font-size:17px;color:#14495f;margin:0 0 8px;font-weight:400;}
.callout p:last-child{margin-bottom:0;}
.callout.gold{background:#fdf6e3;border-left-color:#b8860b;}
.callout.gold .callout-title{color:#8a6408;}
table{width:100%;border-collapse:collapse;margin:22px 0 26px;font-size:14px;}
caption{text-align:left;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:#6b7785;font-weight:700;padding-bottom:8px;}
th{background:#16212e;color:#fff;text-align:left;font-weight:600;font-size:12px;letter-spacing:1px;text-transform:uppercase;padding:11px 14px;vertical-align:top;}
td{padding:11px 14px;border-bottom:1px solid #efeae2;vertical-align:top;line-height:1.6;}
tbody tr:nth-child(even){background:#fafbfc;}
td strong{color:#16212e;}
.compare{display:flex;flex-wrap:wrap;gap:20px;margin:24px 0 30px;}
.compare-card{flex:1 1 260px;border:1px solid #e4ded4;border-top:3px solid #1d5b79;border-radius:3px;padding:20px 22px;background:#fdfefe;}
.compare-card h4{margin:0 0 12px;font-family:Georgia,serif;font-size:20px;font-weight:400;color:#16212e;}
.compare-card dl{margin:0;font-size:14px;}
.compare-card dt{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:#1d5b79;font-weight:700;margin-top:12px;}
.compare-card dt:first-child{margin-top:0;}
.compare-card dd{margin:2px 0 0;line-height:1.6;}
.chapter-list{list-style:none;margin:24px 0 0;padding:0;}
.chapter-list li{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid #efeae2;}
.chapter-list li:first-child{border-top:1px solid #efeae2;}
.ch-num{flex:0 0 auto;min-width:42px;height:42px;padding:0 8px;display:flex;align-items:center;justify-content:center;background:#eef4f8;color:#14495f;font-family:Georgia,serif;font-size:17px;border-radius:3px;}
.ch-body{flex:1 1 auto;}
.ch-body h3{font-family:Georgia,serif;font-size:19px;font-weight:400;color:#16212e;margin:0 0 4px;line-height:1.35;}
.ch-body p{margin:0;font-size:14px;color:#6b7785;line-height:1.6;}
.summary{border:1px solid #e4ded4;border-top:3px solid #16212e;background:#fbfaf8;padding:22px 26px 18px;border-radius:3px;margin:34px 0 0;}
.summary h4{margin:0 0 12px;font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:#16212e;font-weight:700;}
.summary ul{margin:0;padding-left:20px;}
.summary li{margin-bottom:8px;font-size:15px;line-height:1.65;}
.summary li:last-child{margin-bottom:0;}
.summary strong{color:#16212e;}
.pager{display:flex;gap:16px;margin-top:40px;padding-top:22px;border-top:1px solid #e4ded4;}
.pager a{flex:1 1 0;display:block;background:#fff;border:1px solid #e4ded4;border-radius:3px;padding:12px 16px;font-size:13px;color:#3d4a58;text-decoration:none;text-align:left;}
.pager a:hover{border-color:#1d5b79;color:#14495f;background:#eef4f8;}
.pager a.next{text-align:right;}
.pager .dir{display:block;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:#6b7785;margin-bottom:3px;font-weight:700;}
.folio{margin-top:26px;text-align:center;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:#a9b2bc;}
ul.tight,ol.tight{padding-left:22px;margin:0 0 16px;}
ul.tight li,ol.tight li{margin-bottom:6px;}
.cover-page{padding:34px 40px 40px;text-align:center;background:linear-gradient(180deg,#fff 0%,#fbfaf8 100%);}
.cover-page .eyebrow{margin-bottom:14px;}
.cover-frame{max-width:760px;margin:0 auto;}
.cover-caption{margin:20px auto 0;max-width:620px;color:#6b7785;font-size:14px;}
.cover-enter{display:inline-block;margin-top:12px;padding:11px 20px;background:#1d5b79;color:#fff;text-decoration:none;border-radius:3px;font-size:13px;font-weight:600;letter-spacing:.2px;}
.cover-enter:hover{background:#14495f;}
.nav-link .part-tag{margin-bottom:1px;}
.answer{color:#14495f;font-weight:600;}
.drill-item{margin:0 0 12px;padding:12px 14px;background:#fafbfc;border:1px solid #efeae2;border-radius:3px;}
.drill-item .q{margin:0 0 6px;}
.kbd{display:inline-block;padding:1px 6px;border:1px solid #cfd6dd;border-radius:3px;background:#f7f9fb;font-size:12px;font-family:ui-monospace,monospace;}
.two-col{display:flex;flex-wrap:wrap;gap:24px;margin:18px 0 26px;}
.two-col > div{flex:1 1 280px;}
.badge{display:inline-block;font-size:10px;letter-spacing:1px;text-transform:uppercase;background:#eef4f8;color:#14495f;padding:2px 7px;border-radius:3px;font-weight:700;margin-left:6px;vertical-align:middle;}
.drill-answer{display:none;margin-top:10px;padding:10px 12px;background:#eef4f8;border-left:3px solid #1d5b79;border-radius:3px;font-size:14px;}
.drill-answer.open{display:block;}
.btn-reveal{font-size:12px;padding:6px 10px;border:1px solid #1d5b79;background:#fff;color:#1d5b79;border-radius:3px;cursor:pointer;margin-top:6px;}
.btn-reveal:hover{background:#1d5b79;color:#fff;}
.mobile-toggle{display:none;width:100%;padding:10px 16px;background:#16212e;color:#fff;border:0;text-align:left;font-size:13px;letter-spacing:.8px;text-transform:uppercase;cursor:pointer;}
.mobile-toggle span{float:right;}
.kbd-hint{font-size:11px;color:#6b7785;margin-left:8px;}
.ex-block{margin:34px 0 0;padding:24px 26px;background:#fbfaf8;border:1px solid #e4ded4;border-top:3px solid #b8860b;border-radius:3px;}
.ex-block .eyebrow{color:#8a6408;}
.booking-banner{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#f2c14e;color:#16212e;text-decoration:none;font-weight:700;font-size:15px;line-height:1.3;padding:12px 22px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.35);transition:transform .15s,background .15s,box-shadow .15s;white-space:nowrap;}
.booking-banner:hover,.booking-banner:focus-visible{background:#f7cf6b;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.4);}
.booking-banner:focus-visible{outline:3px solid #fff;outline-offset:2px;}
.booking-banner .arrow{transition:transform .15s;}
.booking-banner:hover .arrow{transform:translateX(3px);}
.ch-num{min-width:52px;}
.ch-link{display:flex;gap:18px;width:100%;color:inherit;text-decoration:none;}
.ch-link:hover .ch-body h3{color:#1d5b79;}
.ch-link:focus-visible{outline:2px solid #1d5b79;outline-offset:2px;}
.table-wrap{display:block;max-width:100%;width:100%;overflow-x:auto;margin:22px 0 26px;-webkit-overflow-scrolling:touch;}
.table-wrap table{margin:0;min-width:0;width:max-content;}
.compare-card h4 a:hover{color:#1d5b79 !important;}



.btn-reveal{margin:0 0 8px;}
.ans{display:block;}
.ans.ans-inline{display:inline-block;vertical-align:middle;}
.ans > summary{
  cursor:pointer;
  list-style:none;
  font-size:11px;
  letter-spacing:1.2px;
  text-transform:uppercase;
  color:#1d5b79;
  font-weight:700;
  padding:2px 0;
}
.ans > summary::-webkit-details-marker{display:none;}
.ans > summary::marker{content:"";}
.ans > summary .ans-label::before{content:"Show";}
.ans[open] > summary .ans-label::before{content:"Hide";}
.ans-body{
  display:block;
  margin-top:6px;
  padding:10px 12px;
  background:#eef4f8;
  border-left:3px solid #1d5b79;
  border-radius:3px;
  font-size:14px;
}
td .ans-body{color:#14495f;font-weight:600;}
.ans.ans-inline .ans-body{
  display:inline-block;
  margin:0 0 0 6px;
  padding:2px 8px;
  font-weight:600;
}

.badge{background:#fdf6e3;color:#8a6408;}
}

@layer pages {
/* Page-specific overrides preserved here if needed */
}

@layer utilities {
@media (max-width:900px){
 .layout{flex-direction:column;align-items:stretch;padding:16px 16px 8px;gap:16px;}
 .sidebar{position:static;flex:0 0 auto;width:100%;max-width:100%;padding:14px 0;box-sizing:border-box;}
 .content{width:100%;max-width:100%;min-width:0;overflow:visible;}
 .page{width:100%;max-width:100%;box-sizing:border-box;padding:24px 16px;overflow-wrap:break-word;word-wrap:break-word;overflow:visible;}
 .page p, .page li, .page td, .page th, .page dd, .page dt, .ch-body, .callout, .summary, .compare-card{overflow-wrap:break-word;word-break:break-word;}
 .page-title{font-size:26px;line-height:1.2;overflow-wrap:break-word;}
 .cover-page{padding:24px 16px;}
 .compare{flex-direction:column;}
 .compare-card{flex:1 1 100%;min-width:0;}
 .two-col{flex-direction:column;}
 .two-col > div{flex:1 1 100%;min-width:0;}
 .sidebar.collapsed .nav-list, .sidebar.collapsed h2{display:none;}
 .mobile-toggle{display:block;width:100%;box-sizing:border-box;}
 .nav-list{flex-direction:column;overflow:visible;width:100%;}
 .nav-list li{flex:1 1 auto;width:100%;}
 .nav-link{white-space:normal;width:100%;box-sizing:border-box;}
 .table-wrap table{min-width:520px;}
}

@media print {
  body { background:#fff; }
  .topbar, .sidebar, .pager, .folio { display:none !important; }
  .layout { display:block; max-width:none; padding:0; }
  .page {
    border:0;
    box-shadow:none;
    padding:0 0 30px;
  }
}

@media (min-width:601px){.booking-banner{margin-left:auto;}}

@media (max-width:600px){
  .topbar{padding:14px 16px;}
  .topbar-inner{flex-direction:column;align-items:stretch;gap:12px;}
  .booking-banner{width:100%;white-space:normal;text-align:center;padding:12px 16px;}
}
.visually-hidden{
      position:absolute;width:1px;height:1px;padding:0;margin:-1px;
      overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
    }
.chapter-title{font-size:30px;margin-top:6px;}
.card-link{color:inherit;text-decoration:none;}
.card-desc{font-size:14px;margin:0;color:#6b7785;}
.w-50{width:50%;}
.d-block{display:block;}
.flex-none{flex:none;}
.mb-8{margin-bottom:8px;}
.link-underline-accent{color:#1d5b79;text-decoration:underline;text-underline-offset:3px;}
.w-38{width:38%;}
.w-30{width:30%;}
.footer-sep{margin:0 8px;color:#9fb3c2;}
.mb-0{margin-bottom:0;}
.w-22{width:22%;}
.w-32{width:32%;}
.w-34{width:34%;}
.w-26{width:26%;}
.w-44{width:44%;}
.w-42{width:42%;}
.chapter-title-sm{font-size:26px;margin-top:6px;}
.mt-10{margin-top:10px;}
.link-accent-bold{color:#1d5b79;text-decoration:underline;font-weight:600;}
.w-78{width:78%;}
.w-47{width:47%;}
.w-31{width:31%;}
.w-40{width:40%;}
.w-28{width:28%;}
.w-56{width:56%;}
.w-16{width:16%;}
.subtitle-inline{font-size:20px;color:#6b7785;}
.items-start{align-items:start;}
.mt-0{margin-top:0;}
.footer-links{margin:8px 0 4px;}


}


.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
.skip-link:focus{position:fixed;left:16px;top:16px;width:auto;height:auto;padding:10px 14px;background:#16212e;color:#fff;z-index:10000;border-radius:4px;text-decoration:none;font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,.3);}
