/* AC49 / R49 MAIN — editorial hub continuity */
:root{--ac49-ivory:#f4efe5;--ac49-paper:#faf7f0;--ac49-ink:#10252a;--ac49-muted:#667174;--ac49-bronze:#a97c4c;--ac49-line:rgba(16,37,42,.16);--ac49-dark:#0b2025}
.ac49-hub{background:var(--ac49-paper);color:var(--ac49-ink)}
.ac49-hub-wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.ac49-hub-hero{padding:clamp(72px,9vw,132px) 0 clamp(54px,7vw,96px);border-bottom:1px solid var(--ac49-line);background:linear-gradient(180deg,var(--ac49-ivory),var(--ac49-paper))}
.ac49-hub-kicker{margin:0 0 18px;font:600 12px/1.2 "Manrope",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--ac49-bronze)}
.ac49-hub-hero h1{max-width:940px;margin:0;font-family:"Newsreader",Georgia,serif;font-size:clamp(48px,7.2vw,104px);font-weight:500;line-height:.95;letter-spacing:-.045em;color:var(--ac49-ink)}
.ac49-hub-lead{max-width:760px;margin:28px 0 0;font-size:clamp(18px,2vw,23px);line-height:1.55;color:#42545a}
.ac49-hub-section{padding:clamp(58px,7vw,94px) 0;border-bottom:1px solid var(--ac49-line)}
.ac49-hub-head{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:54px;align-items:start;margin-bottom:42px}
.ac49-hub-head h2{margin:0;font-family:"Newsreader",Georgia,serif;font-size:clamp(34px,4vw,56px);font-weight:500;line-height:1.02;letter-spacing:-.03em}
.ac49-hub-head p{margin:4px 0 0;max-width:650px;color:#536267;font-size:17px;line-height:1.7}
.ac49-editorial-list{border-top:1px solid var(--ac49-line)}
.ac49-editorial-row{display:grid;grid-template-columns:76px minmax(0,1fr) 28px;gap:22px;align-items:start;padding:26px 0;border-bottom:1px solid var(--ac49-line);text-decoration:none;color:inherit}
.ac49-editorial-row:hover .ac49-row-title,.ac49-editorial-row:focus-visible .ac49-row-title{color:#7e5a35}
.ac49-row-num{padding-top:4px;font:600 11px/1.2 "Manrope",sans-serif;letter-spacing:.12em;color:var(--ac49-bronze)}
.ac49-row-title{display:block;font-family:"Newsreader",Georgia,serif;font-size:clamp(23px,2.4vw,34px);line-height:1.08;letter-spacing:-.02em;transition:color .18s ease}
.ac49-row-desc{display:block;margin-top:8px;color:#5c696c;font-size:15px;line-height:1.55;max-width:780px}
.ac49-row-arrow{font-size:22px;color:var(--ac49-bronze)}
.ac49-hub-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.ac49-text-link{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 2px;border-bottom:1px solid var(--ac49-bronze);font-weight:600;text-decoration:none;color:var(--ac49-ink)}
.ac49-feature-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ac49-line);border-bottom:1px solid var(--ac49-line)}
.ac49-feature{padding:30px 34px 34px 0;border-right:1px solid var(--ac49-line)}
.ac49-feature+ .ac49-feature{padding-left:34px}.ac49-feature:last-child{border-right:0}
.ac49-feature small{display:block;margin-bottom:12px;color:var(--ac49-bronze);font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.ac49-feature h3{margin:0 0 12px;font-family:"Newsreader",Georgia,serif;font-size:28px;font-weight:500;line-height:1.08}
.ac49-feature p{margin:0 0 18px;color:#5a676b;line-height:1.6}.ac49-feature a{color:inherit;font-weight:600;text-decoration:none;border-bottom:1px solid var(--ac49-bronze)}
.ac49-hub-close{padding:clamp(62px,8vw,108px) 0;background:var(--ac49-dark);color:#f5efe4}
.ac49-hub-close .ac49-hub-head{margin:0}.ac49-hub-close h2{color:#f8f0e3}.ac49-hub-close p{color:#c7d0d0}.ac49-hub-close a{color:#f5efe4}

/* R49 MAIN — current main-site navigation rail. */
.ac49-feature-rail--main{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.ac49-feature-rail--main{grid-template-columns:1fr}}

/* R49 MAIN — responsive hub contract */
@media (max-width:900px){
  .ac49-hub-wrap{width:min(100% - 34px,1180px)}
  .ac49-hub-head{grid-template-columns:1fr;gap:18px}
  .ac49-feature-rail,.ac49-feature-rail--main{grid-template-columns:1fr}
  .ac49-feature,.ac49-feature + .ac49-feature{padding:26px 0;border-right:0;border-bottom:1px solid var(--ac49-line)}
  .ac49-feature:last-child{border-bottom:0}
}
@media (max-width:560px){
  .ac49-hub-wrap{width:min(100% - 28px,1180px)}
  .ac49-hub-hero{padding-top:58px}
  .ac49-editorial-row{grid-template-columns:42px minmax(0,1fr) 20px;gap:12px;padding:22px 0}
  .ac49-row-desc{font-size:14px}
  .ac49-hub-actions{display:block}
  .ac49-text-link{margin-bottom:14px}
}
