:root{
  --ink:#12192B;--ink-soft:#2B3450;--paper:#EEEBE2;--paper-raise:#F7F5EE;
  --brass:#A9803D;--brass-deep:#7C5B26;--teal:#1E5C52;--line:#D9D3C2;
  --serif:'Iowan Old Style','Georgia','Times New Roman',serif;
  --sans:-apple-system,'Inter','Helvetica Neue',Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
.utility{background:var(--ink);color:#D9D3C2;font-size:13px;}
.utility .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:8px;padding-bottom:8px;}
.utility a{opacity:.85;}
.utility a:hover{opacity:1;color:var(--brass);}
.utility .sep{opacity:.35;margin:0 10px;}
header.main{background:var(--paper-raise);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;overflow:visible;}
header.main .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px;gap:16px;overflow:visible;}
nav.primary{overflow:visible;}
.logo{display:flex;align-items:center;}
.logo img{height:56px;width:auto;}
.header-actions{display:flex;gap:12px;}
nav.primary{display:flex;align-items:center;gap:30px;}
nav.primary>a{font-size:14.5px;color:var(--ink-soft);}
nav.primary>a:hover{color:var(--ink);}
.nav-dropdown{position:relative;}
.nav-dropdown-toggle{
  font:inherit;font-size:14.5px;color:var(--ink-soft);display:inline-flex;align-items:center;gap:4px;
  background:none;border:none;padding:0;cursor:pointer;
}
.nav-dropdown-toggle .caret{font-size:11px;opacity:.7;}
.nav-dropdown.is-open .nav-dropdown-toggle,.nav-dropdown-toggle:hover{color:var(--ink);}
.nav-dropdown-menu{
  display:none;position:absolute;top:100%;left:0;min-width:280px;max-height:70vh;overflow-y:auto;
  background:var(--paper-raise);border:1px solid var(--line);border-radius:3px;padding:8px 0;
  box-shadow:0 12px 32px rgba(18,25,43,.12);z-index:200;margin-top:4px;
}
.nav-dropdown.is-open .nav-dropdown-menu{display:block;}
.nav-dropdown-menu a{
  display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;
  font-size:13.5px;color:var(--ink-soft);
}
.nav-dropdown-menu a:hover{background:rgba(169,128,61,.08);color:var(--ink);}
.nav-dropdown-menu .menu-all{font-weight:600;color:var(--ink);border-bottom:1px solid var(--line);margin-bottom:4px;padding-bottom:12px;}
.nav-dropdown-menu .menu-count{font-size:12px;color:var(--brass-deep);white-space:nowrap;}
.btn{display:inline-block;padding:11px 20px;border-radius:2px;font-size:14px;font-weight:600;border:1px solid var(--ink);}
.btn-solid{background:var(--ink);color:var(--paper-raise);}
.btn-solid:hover{background:var(--ink-soft);}
.btn-line{border-color:var(--line);color:var(--ink);}
.btn-line:hover{border-color:var(--ink);}
.crumb{padding:16px 0;font-size:12.5px;color:var(--ink-soft);border-bottom:1px solid var(--line);}
.crumb a:hover{color:var(--brass-deep);}
.crumb span{margin:0 6px;opacity:.5;}
.course-hero{padding:44px 0 40px;border-bottom:1px solid var(--line);}
.course-hero .wrap{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;align-items:start;}
.badge-row{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap;}
.badge{font-size:11.5px;font-weight:600;letter-spacing:.3px;padding:5px 11px;border-radius:2px;border:1px solid var(--line);color:var(--ink-soft);}
.badge.brass{border-color:var(--brass);color:var(--brass-deep);background:rgba(169,128,61,.08);}
h1.course-title{font-family:var(--serif);font-weight:400;font-size:36px;line-height:1.15;max-width:24ch;}
.course-sub{margin-top:16px;font-size:16px;color:var(--ink-soft);max-width:56ch;line-height:1.65;}
.glance{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:28px;}
.glance-item{background:var(--paper-raise);padding:14px 16px;}
.glance-item span{display:block;font-size:11px;color:var(--ink-soft);letter-spacing:.3px;text-transform:uppercase;margin-bottom:4px;}
.glance-item b{font-family:var(--serif);font-size:16px;font-weight:400;}
.meta-strip{display:flex;gap:32px;margin-top:28px;flex-wrap:wrap;}
.meta-item span{display:block;font-size:11.5px;color:var(--ink-soft);letter-spacing:.3px;text-transform:uppercase;margin-bottom:4px;}
.meta-item b{font-family:var(--serif);font-size:18px;font-weight:400;}
.enrol-card{background:var(--paper-raise);border:1px solid var(--line);border-radius:3px;padding:26px;position:sticky;top:90px;}
.price-row{display:flex;align-items:baseline;gap:10px;}
.price-row .price{font-family:var(--serif);font-size:30px;}
.price-note{font-size:12.5px;color:var(--ink-soft);}
.enrol-card .btn{width:100%;text-align:center;margin-top:18px;padding:13px;}
.enrol-info-link{display:block;text-align:center;margin-top:14px;font-size:13.5px;color:var(--brass-deep);}
.enrol-info-link:hover{text-decoration:underline;}
.enrol-list{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);}
.enrol-list li{list-style:none;font-size:13.5px;color:var(--ink-soft);padding:7px 0;display:flex;justify-content:space-between;}
.enrol-list li b{color:var(--ink);font-weight:600;}
section{padding:52px 0;border-bottom:1px solid var(--line);}
.content-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;}
h2.h2{font-family:var(--serif);font-weight:400;font-size:25px;margin-bottom:18px;}
p.body-text{font-size:15px;color:var(--ink-soft);line-height:1.75;margin-bottom:14px;max-width:62ch;}
p.body-text a{color:var(--brass-deep);text-decoration:underline;}
.answer-block{max-width:66ch;}
.answer-block .body-text{max-width:none;}
.split-note{font-size:14px;color:var(--ink-soft);line-height:1.65;padding:14px 16px;border-left:3px solid var(--brass);background:rgba(169,128,61,.06);margin-top:8px;max-width:62ch;}
.fact-dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:13.5px;}
.fact-dl dt{color:var(--ink-soft);}
.fact-dl dd{margin:0;font-weight:600;}
.fees-box{background:var(--paper-raise);border:1px solid var(--line);padding:24px;border-radius:3px;}
.fees-box .fee-amount{font-family:var(--serif);font-size:34px;margin-bottom:10px;}
.foot-note{font-size:12.5px;color:var(--ink-soft);line-height:1.65;max-width:34ch;margin-top:12px;}
.foot-note a{color:var(--brass-deep);text-decoration:underline;}
.hub-intro{margin-top:18px;font-size:15px;color:var(--ink-soft);line-height:1.75;max-width:none;width:100%;}
.page-hero .hub-intro{max-width:none;}
.static-prose{max-width:72ch;}
.page-hero > .wrap > p:not(.hub-intro){max-width:none;}
.static-prose p{font-size:15px;color:var(--ink-soft);line-height:1.75;margin-bottom:16px;}
.static-prose a{color:var(--brass-deep);text-decoration:underline;}
ul.check-list{margin-top:6px;}
ul.check-list li{list-style:none;padding:9px 0 9px 26px;position:relative;font-size:14.5px;color:var(--ink-soft);border-bottom:1px solid var(--line);}
ul.check-list li::before{content:"✓";position:absolute;left:0;color:var(--brass-deep);font-weight:700;}
ul.check-list li:last-child{border-bottom:none;}
.sidebar-box{background:var(--paper-raise);border:1px solid var(--line);border-radius:3px;padding:24px;margin-bottom:20px;}
.sidebar-box h3{font-family:var(--serif);font-size:16.5px;font-weight:400;margin-bottom:12px;}
.sidebar-box p{font-size:13.5px;color:var(--ink-soft);line-height:1.65;}
.sidebar-box .accred-mark{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.sidebar-box .accred-mark svg{width:34px;height:34px;flex:none;}
.for-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.for-item{background:var(--paper-raise);padding:22px;}
.for-item b{font-family:var(--serif);font-size:15.5px;font-weight:400;display:block;margin-bottom:6px;}
.for-item span{font-size:13px;color:var(--ink-soft);}
.faq{border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);padding:16px 0;}
.faq summary{font-size:15px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;}
.faq summary::-webkit-details-marker{display:none;}
.faq p{font-size:13.5px;color:var(--ink-soft);margin-top:10px;line-height:1.65;max-width:60ch;}
.info-band{background:var(--paper-raise);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.info-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start;}
.info-form label{display:block;font-size:12.5px;color:var(--ink-soft);margin-bottom:6px;font-weight:600;}
.info-form input[type="email"],.info-form input[type="text"]{
  width:100%;border:1px solid var(--line);background:#fff;padding:12px 14px;font:inherit;font-size:14.5px;
  border-radius:2px;color:var(--ink);margin-bottom:12px;
}
.info-form input:focus{outline:none;border-color:var(--brass-deep);}
.info-form .btn{width:100%;text-align:center;margin-top:4px;padding:13px;cursor:pointer;}
.info-form .form-note{font-size:12.5px;color:var(--ink-soft);margin-top:10px;}
.info-form .form-success{display:none;padding:14px;border:1px solid var(--line);background:#fff;font-size:14px;color:var(--ink-soft);margin-top:12px;}
.info-form.is-sent .form-success{display:block;}
.info-form.is-sent .form-fields{display:none;}
.info-includes{border-left:1px solid var(--line);padding-left:40px;}
.info-includes h3{font-family:var(--serif);font-size:18px;font-weight:400;margin-bottom:14px;}
.info-includes ul{list-style:none;}
.info-includes li{position:relative;padding:8px 0 8px 22px;font-size:14px;color:var(--ink-soft);border-bottom:1px solid var(--line);}
.info-includes li:last-child{border-bottom:none;}
.info-includes li::before{content:"✓";position:absolute;left:0;color:var(--brass-deep);font-weight:700;}
.sidebar-box .mini-form input[type="email"]{
  width:100%;border:1px solid var(--line);background:#fff;padding:10px 12px;font:inherit;font-size:14px;
  border-radius:2px;color:var(--ink);margin:10px 0;
}
.sidebar-box .mini-form .btn{width:100%;text-align:center;cursor:pointer;}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.rel-card{background:var(--paper-raise);padding:24px;}
.rel-card .k{font-family:var(--serif);color:var(--brass-deep);font-size:13px;}
.rel-card b{display:block;font-family:var(--serif);font-size:16.5px;font-weight:400;margin:8px 0 10px;}
.rel-card a.go{font-size:13px;color:var(--brass-deep);}
footer{padding:56px 0 30px;}
.foot-top{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:40px;padding-bottom:40px;border-bottom:1px solid var(--line);}
.foot-brand .logo img{height:72px;width:auto;margin-bottom:14px;}
.foot-brand p{font-size:13.5px;color:var(--ink-soft);line-height:1.7;max-width:30ch;}
.foot-col h4{font-size:12.5px;letter-spacing:.4px;color:var(--ink-soft);margin-bottom:14px;font-weight:600;}
.foot-col a{display:block;font-size:13.5px;color:var(--ink);margin-bottom:10px;}
.foot-col a:hover{color:var(--brass-deep);}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:22px;font-size:12px;color:var(--ink-soft);flex-wrap:wrap;gap:10px;}
.page-hero{padding:48px 0 28px;border-bottom:1px solid var(--line);}
.page-hero h1{font-family:var(--serif);font-weight:400;font-size:40px;margin-bottom:12px;max-width:none;}
.page-hero > .wrap > p{color:var(--ink-soft);max-width:none;width:100%;font-size:16px;line-height:1.65;}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.filters input,.filters select{
  border:1px solid var(--line);background:var(--paper-raise);padding:10px 12px;font:inherit;font-size:14px;border-radius:2px;color:var(--ink);
}
.filters input{min-width:240px;flex:1;}
.spec-filter{margin-top:22px;}
.spec-label{display:block;font-size:12px;letter-spacing:.4px;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;font-weight:600;}
.spec-chips{display:flex;flex-wrap:wrap;gap:8px;}
.chip{
  border:1px solid var(--line);background:var(--paper-raise);padding:8px 14px;border-radius:2px;
  font:inherit;font-size:13px;color:var(--ink-soft);cursor:pointer;display:inline-block;text-decoration:none;
}
.chip:hover{border-color:var(--ink);color:var(--ink);}
.chip.active{background:var(--ink);border-color:var(--ink);color:var(--paper-raise);}
.list-meta{font-size:13px;color:var(--ink-soft);margin:18px 0;}
.pagination{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;padding:36px 0 48px;}
.pagination button,.pagination a{
  min-width:38px;height:38px;padding:0 10px;border:1px solid var(--line);background:var(--paper-raise);
  font:inherit;font-size:13.5px;color:var(--ink);border-radius:2px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
}
.pagination button:hover:not(:disabled),.pagination a:hover{border-color:var(--ink);}
.pagination button.active,.pagination a.active{background:var(--ink);border-color:var(--ink);color:var(--paper-raise);}
.pagination button:disabled{opacity:.4;cursor:not-allowed;}
.pagination .page-info{font-size:13px;color:var(--ink-soft);padding:0 10px;}
.ledger{border-top:1px solid var(--line);}
.ledger-row{display:grid;grid-template-columns:70px 1.5fr 1fr auto;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);}
.ledger-row[hidden]{display:none!important;}
.ledger-price{font-family:var(--serif);font-size:18px;color:var(--brass-deep);}
.ledger-name{font-size:15.5px;}
.ledger-name a:hover{color:var(--brass-deep);}
.ledger-meta{font-size:13px;color:var(--ink-soft);}
.ledger-cta{font-size:13px;color:var(--ink);border:1px solid var(--line);padding:8px 14px;border-radius:2px;white-space:nowrap;}
.ledger-cta:hover{border-color:var(--ink);}
.empty{padding:40px 0;color:var(--ink-soft);}
@media(max-width:860px){
  .course-hero .wrap,.content-grid{grid-template-columns:1fr;gap:32px;}
  .enrol-card{position:static;}
  .glance{grid-template-columns:1fr 1fr;}
  nav.primary{display:none;}
  .logo img{height:44px;}
  .for-grid,.rel-grid{grid-template-columns:1fr;}
  h1.course-title{font-size:28px;max-width:none;}
  .ledger-row{grid-template-columns:60px 1fr;}
  .ledger-meta,.ledger-cta{grid-column:2/3;}
  .page-hero h1{font-size:32px;}
  .foot-top{grid-template-columns:1fr 1fr;}
  .info-grid{grid-template-columns:1fr;gap:28px;}
  .info-includes{border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:24px;}
}
