/* =====================================================================
   Theme 06 — "Ivy"   (traditional collegiate)
   Loaded after theme.css. Tokens + presentation only; section markup and
   page data are identical to every other theme.
   Identity: forest green and old gold on cream, Libre Baskerville headings
   over a Lato body, double rules, thin gold frames, square corners and a
   classic green navigation bar.
   ===================================================================== */

:root{
  --sec-y:clamp(64px,8vw,104px);
  --radius:0;
  --radius-sm:0;
  --shadow-1:0 1px 2px rgba(31,42,36,.05),0 3px 12px rgba(31,42,36,.05);
  --shadow-2:0 12px 30px rgba(31,42,36,.10),0 2px 8px rgba(31,42,36,.05);
  --shadow-3:0 22px 56px rgba(20,49,38,.22);
  --gold:var(--accent);
  --gold-soft:rgba(184,137,43,.16);
}
body{background:var(--surface)}
h1,h2{font-weight:400;letter-spacing:0}
h3,h4,h5{font-weight:700;letter-spacing:0}
h1,h2,h3,h4,h5{color:var(--brand-dark)}
a:hover{color:var(--accent)}

/* ---------- top bar ---------- */
.topbar{background:var(--surface-2);color:var(--brand-dark);font-size:12.5px;border-bottom:1px solid var(--line);letter-spacing:.02em}
.topbar a{color:var(--brand-dark)}
.topbar a:hover{color:var(--accent)}
.topbar-links a{border-left-color:var(--line)}
.topbar-social a{background:rgba(31,77,58,.1);color:var(--brand)}
.topbar-social a:hover{background:var(--brand);color:#fff}

/* ---------- masthead ---------- */
.masthead{background:var(--surface);border-bottom:0}
.masthead-in{padding:26px 22px 22px}
.brand{gap:18px}
.brand-mark{width:68px;height:68px}
.brand-txt strong{font-size:27px;font-weight:400;color:var(--brand-dark);letter-spacing:.01em}
.brand-txt small{letter-spacing:.24em;font-size:11px;color:var(--brand);font-weight:700}
.brand-txt em{color:var(--accent);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:10.5px}
.mh-info svg{stroke:var(--accent)}
.mh-info b{font-family:var(--font-display);font-weight:700;font-size:14px}
.mh-info small{color:var(--muted);letter-spacing:.12em}

/* ---------- navigation: green bar between gold rules ---------- */
.navbar{background:var(--brand);border-top:1px solid var(--accent);border-bottom:1px solid var(--accent);box-shadow:0 3px 0 var(--surface-2),0 6px 20px rgba(20,49,38,.16)}
.nav-item > a{color:#eef3ef;font-size:12.6px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;padding:17px 15px}
.nav-item > a::after{height:2px;bottom:0;left:15px;right:15px;background:var(--accent)}
.nav-item:hover > a,.nav-item.is-active > a{color:#fff;background:rgba(255,255,255,.06)}
.nav-tools button{color:#eef3ef}
.nav-tools button:hover{background:rgba(255,255,255,.1)}
.drop{background:var(--surface);border-top:2px solid var(--accent);box-shadow:var(--shadow-3)}
.drop a{color:var(--ink);font-size:13.8px}
.drop a:hover{background:var(--surface-2);border-left-color:var(--accent);color:var(--brand)}
.mega{background:var(--surface);border-top:2px solid var(--accent)}
.mega-col h4{font-family:var(--font-display);color:var(--brand);font-size:12px;letter-spacing:.14em;border-bottom-color:var(--line)}
.mega-col a{color:var(--ink)}
.mega-col a:hover{color:var(--brand)}
.mega-promo{background:var(--brand-dark);border-left:3px solid var(--accent);border-radius:0}
.mega-promo h5{font-weight:400}
.mega-promo p{color:#c9d6cd}
.searchbar{background:var(--surface)}

/* ---------- controls ---------- */
.btn{border-radius:0;text-transform:uppercase;letter-spacing:.11em;font-size:12.4px;font-weight:700;padding:14px 24px}
.btn-lg{font-size:12.8px;padding:16px 30px}
.btn-sm{font-size:11.4px;padding:10px 16px}
.btn-primary:hover{transform:none;box-shadow:none;background:var(--brand-dark)}
.btn-accent{color:#2a1f05}
.btn-accent:hover{color:#2a1f05;transform:none;box-shadow:none}
.btn-ghost{border-color:var(--brand);color:var(--brand)}
.btn-ghost:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.btn-outline{border-color:var(--accent-light);color:#fff}
.btn-outline:hover{background:var(--accent);border-color:var(--accent);color:#2a1f05}
.tab{border-radius:0;text-transform:uppercase;letter-spacing:.08em;font-size:11.8px;font-weight:700;background:var(--surface)}
.tab:hover{border-color:var(--accent);color:var(--brand)}
.tab.is-active{background:var(--brand);border-color:var(--brand)}

/* ---------- hero: forest overlay with a thin gold frame ---------- */
.hero{background:var(--brand-dark)}
.hero::before{content:'';position:absolute;inset:18px;border:1px solid rgba(217,180,92,.45);z-index:3;pointer-events:none}
.hero-track{height:clamp(470px,64vh,620px)}
.slide::after{background:linear-gradient(100deg,rgba(20,49,38,.95) 0%,rgba(20,49,38,.78) 40%,rgba(20,49,38,.3) 80%,rgba(20,49,38,.15) 100%)}
.slide .kicker{color:var(--accent-light);letter-spacing:.24em;font-size:11px}
.slide .kicker::before{background:var(--accent-light);width:34px;height:1px}
.slide .kicker::after{content:'';width:34px;height:1px;background:var(--accent-light)}
.slide h1{font-size:clamp(32px,4.8vw,56px);font-weight:400;line-height:1.1;letter-spacing:0}
.slide h1 em{color:var(--accent-light);font-style:italic}
.slide .lede{color:#d9e2dc}
.hero-ui{bottom:38px}
.hero-dots button{height:2px;border-radius:0;background:rgba(255,255,255,.35)}
.hero-dots button.is-active{background:var(--accent-light)}
.hero-arrows button{border-radius:0;border-color:rgba(217,180,92,.6);background:transparent}
.hero-arrows button:hover{background:var(--accent);border-color:var(--accent);color:#2a1f05}

/* ---------- quick access ---------- */
.quick{margin-top:-40px;background:transparent}
.quick-grid{background:var(--surface);border:1px solid var(--line);border-top:3px double var(--accent);border-radius:0;box-shadow:var(--shadow-2)}
.quick-item{padding:22px 16px;border-right-color:var(--line)}
.quick-item:hover{background:var(--brand);transform:none}
.qi-ic{border-radius:0;background:transparent;border:1px solid var(--accent);color:var(--brand)}
.quick-item:hover .qi-ic{background:transparent;border-color:var(--accent-light);color:var(--accent-light)}
.quick-item b{font-family:var(--font-display);font-size:13.6px}

/* ---------- ticker ---------- */
.ticker{background:var(--surface-2);border-block-color:var(--line)}
.ticker-label{background:var(--brand);color:#fff;letter-spacing:.18em;font-size:11px}
.ticker-label::after{border-left-color:var(--brand)}
.ticker-move a{color:var(--ink);border-left-color:var(--line)}
.tag{background:var(--gold-soft);color:#7a5a14;border-radius:0;letter-spacing:.1em}
.tag-new{background:var(--brand);color:#fff}

/* ---------- section rhythm ---------- */
.kicker{letter-spacing:.24em;font-size:11px;color:var(--accent);font-weight:700}
.kicker::before{width:34px;height:1px;background:var(--accent)}
.sec-head.center .kicker::after{width:34px;height:1px;background:var(--accent)}
.sec-head{margin-bottom:46px}
.sec-head h2{font-size:clamp(28px,3.4vw,42px);font-weight:400;line-height:1.15}
.sec-head h2::after{content:'';display:block;width:56px;height:2px;background:var(--accent);margin-top:18px}
.sec-head.center h2::after{margin-left:auto;margin-right:auto}
.sec-head p{font-size:16.5px;margin-top:16px}
.sec-alt{background:var(--surface-2);border-block:1px solid var(--line)}
.sec-head-row .btn-ghost{border-color:var(--line);color:var(--brand)}

/* ---------- about ---------- */
.split-art{z-index:0}
.split-art::before{content:'';position:absolute;inset:-16px 16px 16px -16px;border:1px solid var(--accent);z-index:-1;pointer-events:none}
.art-main{border-radius:0;box-shadow:none}
.art-badge{background:var(--brand-dark);border-bottom:2px solid var(--accent);border-radius:0;box-shadow:var(--shadow-2)}
.art-badge b{color:var(--accent-light);font-weight:400}
.art-badge span{color:#c9d6cd;letter-spacing:.14em}
.split h2{font-weight:400}
.split p{color:var(--ink)}
.tick-list svg{stroke:var(--accent)}
.signature{border-top:1px solid var(--line)}
.sig-mark{border-radius:0;background:var(--brand);font-weight:400}

/* ---------- statistics: forest band between double gold rules ---------- */
.stats{background:var(--brand-dark);border-block:3px double var(--accent)}
.stats::before{display:none}
.stat-grid{background:rgba(217,180,92,.28)}
.stat{background:var(--brand-dark);padding:34px 18px}
.stat b{color:var(--accent-light);font-weight:400}
.stat span{color:#c9d6cd;letter-spacing:.06em;text-transform:uppercase;font-size:11.5px;margin-top:11px}

/* ---------- cards ---------- */
.card,.feat,.mini-card,.fcard,.place-num,.ccard,.panel,.form-wrap,.table-wrap,.acc-item,.event-mini,.dl-item,
.press a,.side-nav,.side-card,.filterbar,.map-frame,.empty,.chip,.rlogo,.gal,.lb-art,.fig-art,.fac-item,.doc-list li,.date-chip{border-radius:0}
.card{background:#fff;padding:28px 26px 26px}
.card::before{height:2px}
.card:hover{transform:none;border-color:var(--accent);box-shadow:var(--shadow-2)}
.card-ic{border-radius:0;background:transparent;border:1px solid var(--accent);color:var(--brand)}
.card h3{font-size:17.5px;font-weight:700;line-height:1.35}
.card h3 a:hover{color:var(--accent)}
.card-badge{background:var(--gold-soft);color:#7a5a14;border-radius:0;letter-spacing:.1em}
.card-meta svg{stroke:var(--accent)}
.link-more{text-transform:uppercase;letter-spacing:.1em;font-size:11.8px;color:var(--brand)}
.link-more:hover{color:var(--accent)}
.mini-card{background:#fff;border-top:2px solid var(--accent)}

/* ---------- features ---------- */
.feat{background:#fff}
.feat:hover{transform:none;border-color:var(--accent);box-shadow:var(--shadow-2)}
.feat-ic{border-radius:0;background:var(--brand);color:var(--accent-light)}
.feat h3{font-size:16.5px}

/* ---------- notice board ---------- */
.panel{background:#fff}
.panel-head{background:var(--surface-2)}
.panel-head button{text-transform:uppercase;letter-spacing:.08em;font-size:11.8px}
.panel-head button.is-active{border-bottom-color:var(--accent);background:#fff;color:var(--brand)}
.date-chip{background:var(--brand);border-color:var(--brand)}
.date-chip b{color:var(--accent-light);font-weight:400}
.date-chip span{color:#c9d6cd}
.notice:hover{background:var(--surface-2)}
.panel-foot{background:var(--surface-2)}
.event-mini,.dl-item{background:#fff}
.event-mini:hover{transform:none;border-color:var(--accent);box-shadow:none}
.dl-item:hover{border-color:var(--accent);background:#fff}
.dl-ic{background:var(--gold-soft);color:#7a5a14}
.dl-item svg{stroke:var(--brand)}

/* ---------- message ---------- */
.msg-art{z-index:0}
.msg-art::before{content:'';position:absolute;inset:-14px 14px 14px -14px;border:1px solid var(--accent);z-index:-1;pointer-events:none}
.msg-portrait{border-radius:0;box-shadow:none}
.msg-name{background:var(--brand-dark);border-bottom:2px solid var(--accent);border-radius:0}
.msg-name b{font-weight:400}
.msg-name span{color:#c9d6cd;letter-spacing:.1em;text-transform:uppercase;font-size:11px}
.msg-quote{border-left:2px solid var(--accent);font-style:italic;font-weight:400;color:var(--brand-dark)}
.msg-body p{color:var(--ink)}
.avatar{border-radius:0;background:var(--brand);font-weight:400}

/* ---------- placement & gallery ---------- */
.place-num{background:#fff;border-bottom:2px solid var(--accent)}
.place-num:hover{border-color:var(--line);border-bottom-color:var(--accent);box-shadow:var(--shadow-2)}
.place-num b{color:var(--brand);font-weight:400}
.rlogo{background:#fff;font-weight:400;letter-spacing:.02em;color:var(--brand-dark)}
.rlogo:hover{border-color:var(--accent);color:var(--brand);box-shadow:none}
.gal::after{background:linear-gradient(180deg,transparent 42%,rgba(20,49,38,.9))}
.gal figcaption em{color:var(--accent-light)}
.lb-close,.lb-nav{border-radius:0}

/* ---------- testimonials, press, chips ---------- */
.tst blockquote{font-style:italic;font-weight:400;color:var(--brand-dark)}
.quote-mark{color:var(--accent);opacity:.7}
.tst-dots button.is-active{background:var(--accent)}
.press a{background:#fff}
.press a:hover{transform:none;border-color:var(--accent);box-shadow:none}
.press-src{color:var(--accent)}
.chip{background:#fff}
.chip:hover{border-color:var(--accent);color:var(--brand);background:#fff;transform:none}

/* ---------- call to action ---------- */
.cta{background:var(--brand-dark);border-block:3px double var(--accent)}
.cta::before{background:rgba(184,137,43,.18)}
.cta::after{display:none}
.cta h2{font-weight:400;color:#fff}
.cta p{color:#c9d6cd}
.cta .btn-primary{background:var(--accent);color:#2a1f05}
.cta .btn-primary:hover{background:var(--accent-light)}

/* ---------- inner pages ---------- */
.phero{background:var(--brand-dark);border-bottom:3px double var(--accent)}
.phero::after{background:linear-gradient(95deg,rgba(20,49,38,.96),rgba(20,49,38,.7))}
.phero .container{padding-block:clamp(50px,6.5vw,84px)}
.phero h1{font-weight:400;font-size:clamp(28px,4vw,46px)}
.phero p{color:#c9d6cd}
.crumbs{color:#a9bcb0;letter-spacing:.06em;text-transform:uppercase;font-size:11px}
.crumbs a{color:#d9e2dc}
.crumbs a:hover{color:var(--accent-light)}
.phero-program .pill-lg{border-radius:0;border-color:rgba(217,180,92,.5);background:rgba(255,255,255,.06)}
.phero-program .pill-lg small{color:#c9d6cd}
.side-nav{background:#fff}
.side-nav h4{background:var(--brand);letter-spacing:.16em}
.side-nav a:hover,.side-nav a.is-active{border-left-color:var(--accent);color:var(--brand);background:var(--surface-2)}
.side-card{background:var(--brand-dark);border-bottom:2px solid var(--accent)}
.side-card h4{font-weight:400}
.prose > h2{font-weight:400}
.prose > h2::after,.page-body .sec-head h2::after{background:var(--accent);height:2px}
.page-body .sec-head h2{font-weight:400}
.prose ul li::before,.bullets li::before{background:var(--accent);border-radius:0;width:6px;height:6px}
.fig figcaption{border-left-color:var(--accent)}
.fac-item{background:#fff}
.fac-item h4{color:var(--brand)}
.doc-list li{background:#fff}
.doc-list li:hover{border-color:var(--accent);box-shadow:none}
.table-wrap{background:#fff}
.data-table th{background:var(--brand);letter-spacing:.12em;font-size:11.8px}
.data-table tbody tr:nth-child(even){background:#faf8f2}
.data-table tbody tr:hover{background:var(--surface-2)}
.pill{border-radius:0}
.acc-item{background:#fff}
.acc-item.is-open{border-color:var(--accent);box-shadow:none}
.acc-head{font-weight:700;font-size:16px}
.acc-ic{border-radius:0;background:var(--surface-2)}
.acc-item.is-open .acc-ic{background:var(--accent);color:#2a1f05}
.dept-tags span{border-radius:0;background:#fff}
.step-num{border-radius:0;border-color:var(--brand);color:var(--brand);font-weight:400;background:var(--surface)}
.step:hover .step-num{background:var(--brand);color:#fff;transform:none}
.step::before{background:var(--line)}
.fcard{background:#fff}
.fcard:hover{transform:none;border-color:var(--accent);box-shadow:var(--shadow-2)}
.fcard .avatar{border-radius:0}
.form-wrap{background:#fff;box-shadow:none}
.field input,.field select,.field textarea{border-radius:0}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(31,77,58,.12)}
.form-ok{border-radius:0}
.ccard{background:#fff}
.ccard:hover{transform:none;border-color:var(--accent);box-shadow:var(--shadow-2)}
.ccard .card-ic{background:var(--brand);color:var(--accent-light);border:0}
.map-frame{background:#fff}
.filterbar{background:#fff;box-shadow:none}
.filterbar select,.filterbar input{border-radius:0}
.filterbar select:focus,.filterbar input:focus{border-color:var(--brand)}
.pager button{border-radius:0;background:#fff}
.pager button:hover:not(:disabled){border-color:var(--accent);color:var(--brand)}
.pager button.is-active{background:var(--brand);border-color:var(--brand)}

/* ---------- footer ---------- */
.footer{background:var(--brand-dark);border-top:3px double var(--accent);color:#c9d6cd}
.footer h4{letter-spacing:.18em;border-bottom-color:rgba(255,255,255,.12)}
.footer h4::after{background:var(--accent);width:40px}
.footer a{color:#c9d6cd}
.footer a:hover{color:var(--accent-light)}
.f-brand strong{font-weight:400}
.f-brand span{color:#a9bcb0}
.f-about p{color:#b9c9be}
.f-contact svg{stroke:var(--accent)}
.f-social a{border-radius:0;background:transparent;border:1px solid rgba(217,180,92,.45)}
.f-social a:hover{background:var(--accent);border-color:var(--accent);color:#2a1f05;transform:none}
.f-bottom{color:#a9bcb0}
.f-bottom strong{color:var(--accent-light)}
.rail{display:none}
.totop{border-radius:0;background:var(--brand);border:1px solid var(--accent)}

@media (max-width:1180px){ .quick-item{border-bottom-color:var(--line)} }
@media (max-width:1024px){ .split-art::before,.msg-art::before{display:none} }
@media (max-width:860px){
  .masthead-in{padding:16px 22px}
  .brand-mark{width:50px;height:50px}
  .brand-txt strong{font-size:20px}
  .hero::before{display:none}
  .nav-item > a{text-transform:none;letter-spacing:0;font-size:14.5px;color:var(--ink)}
  .quick{margin-top:0}
  .quick-grid{border-top:1px solid var(--line)}
}
