:root {
  --bg: #eeeae1;
  --paper: #fffdf8;
  --paper-strong: #ffffff;
  --ink: #241f1b;
  --muted: #6f675f;
  --line: #d7d0c5;
  --line-dark: #b7ada0;
  --accent: #8b2f32;
  --accent-dark: #5f1f27;
  --gold: #b18a4a;
  --deep: #1d1a18;
  --cream: #f8f3e9;
  --sand: #e8dfcf;
  --sage: #dfe4d8;
  --mist: #e5e2dc;
  --rose: #eadbda;
  --ochre: #eadfc5;
  --shadow: 0 8px 28px rgba(45,35,25,.07);
  --shell: 1280px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--bg); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.6; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--accent); }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { font-family: Georgia, "Times New Roman", serif; line-height: 1.08; letter-spacing: -.018em; }
h1 { font-size: clamp(2.25rem,4.5vw,4.8rem); margin-bottom: 22px; }
h2 { font-size: clamp(1.75rem,2.8vw,2.8rem); margin-bottom: 0; }
h3 { font-size: clamp(1.12rem,1.55vw,1.55rem); margin-bottom: 10px; }
ul,ol { margin-top: 0; }
.page-shell { width: min(calc(100% - 40px), var(--shell)); margin-inline: auto; }
.section-gap { padding-block: 48px; }
.panel { background: var(--paper); border: 1px solid var(--line); box-shadow: var(--shadow); }
.skip-link { position: fixed; top: -100px; left: 18px; z-index: 1000; padding: 10px 16px; background: #fff; border: 2px solid var(--accent); }
.skip-link:focus { top: 18px; }
.utility-bar { background: var(--deep); color: #ece7df; font-size: .78rem; letter-spacing: .025em; }
.utility-inner { min-height: 34px; display: flex; align-items: center; gap: 12px; }
.utility-separator { width: 1px; height: 12px; background: #6e665e; }
.site-header { background: var(--paper-strong); border-bottom: 1px solid var(--line); }
.brand-row { min-height: 132px; display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.brand-block { display: grid; gap: 6px; }
.brand { font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.4rem,5vw,4.2rem); font-weight: 700; line-height: .9; letter-spacing: .11em; color: var(--accent-dark); }
.brand-block p { margin: 0; color: var(--muted); font-size: .9rem; letter-spacing: .03em; }
.header-promo { width: min(500px,47%); border-left: 3px solid var(--gold); padding: 12px 18px; display: grid; gap: 4px; background: #f4f0e8; }
.header-promo-label { color: var(--accent); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.header-promo strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.05rem; }
.menu-toggle { display: none; }
.main-nav { border-top: 1px solid var(--line); border-bottom: 3px solid var(--accent-dark); background: #fbf9f4; }
.nav-inner { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); }
.nav-inner a { padding: 14px 12px; display: grid; place-items: center; text-align: center; font-size: .76rem; font-weight: 850; text-transform: uppercase; letter-spacing: .045em; border-right: 1px solid var(--line); min-width: 0; }
.nav-inner a:first-child { border-left: 1px solid var(--line); }
.nav-inner a:hover { color: #fff; background: var(--accent); }
.kicker { margin-bottom: 7px; color: var(--accent); font-size: .72rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.light-kicker { color: #e3c690; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 24px; padding-bottom: 14px; border-bottom: 2px solid var(--ink); }
.section-heading > p { max-width: 590px; margin: 0; color: var(--muted); }
.compact-heading { margin-bottom: 8px; padding-bottom: 10px; }
.compact-heading h2 { font-size: 1.5rem; }
.section-more { margin-top: 24px; text-align: right; font-weight: 850; color: var(--accent-dark); }
.image-slot { position: relative; margin: 0; overflow: hidden; background: #ddd6ca; }
.image-slot img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .2s ease; }
.image-slot.has-image img { opacity: 1; }
.image-slot.has-image .photo-placeholder { opacity: 0; }
.photo-placeholder { position: absolute; inset: 0; display: grid; place-content: center; gap: 4px; overflow: hidden; color: #625a52; background: linear-gradient(135deg,rgba(255,255,255,.58),rgba(255,255,255,0) 45%), repeating-linear-gradient(135deg,#dcd6cc 0,#dcd6cc 13px,#e8e3da 13px,#e8e3da 26px); border: 1px solid var(--line-dark); text-align: center; font-size: .72rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; transition: opacity .2s ease; }
.photo-placeholder::before,.photo-placeholder::after { content:""; position:absolute; inset:50% auto auto 50%; width:140%; height:1px; background:rgba(70,63,56,.2); transform-origin:center; }
.photo-placeholder::before { transform:translate(-50%,-50%) rotate(28deg); }
.photo-placeholder::after { transform:translate(-50%,-50%) rotate(-28deg); }
.photo-placeholder span,.photo-placeholder small { position:relative; z-index:1; background:rgba(245,242,235,.9); padding:3px 7px; }
.photo-placeholder small { font-weight:500; letter-spacing:.03em; text-transform:none; }
.photo-hero { aspect-ratio: 16/9; }
.photo-wide { aspect-ratio: 16/9; }
.photo-card { aspect-ratio: 16/10; }
.photo-category { aspect-ratio: 16/10; }
.photo-article { aspect-ratio: 16/9; }
.lead-layout { display:grid; grid-template-columns:minmax(0,2.15fr) minmax(320px,.85fr); gap:24px; align-items:start; }
.lead-story { overflow:hidden; }
.lead-copy { padding:clamp(24px,4vw,46px); }
.lead-copy h1 { font-size:clamp(2.1rem,4vw,4.35rem); }
.lead-text { max-width:840px; font-family:Georgia,"Times New Roman",serif; font-size:1.12rem; color:#4d463f; }
.important-box { padding:20px; }
.important-list { list-style:none; padding:0; margin:0; counter-reset:important; }
.important-list li { counter-increment:important; border-bottom:1px solid var(--line); }
.important-list li:last-child { border-bottom:0; }
.important-list a { display:grid; grid-template-columns:32px 1fr; gap:10px; padding:11px 0; align-items:start; }
.important-list a::before { content:counter(important,decimal-leading-zero); color:var(--gold); font-family:Georgia,"Times New Roman",serif; font-size:1.05rem; font-weight:700; }
.important-list span { display:block; color:var(--accent); font-size:.64rem; font-weight:850; text-transform:uppercase; letter-spacing:.07em; }
.important-list strong { display:block; font-family:Georgia,"Times New Roman",serif; line-height:1.22; }
.topic-strip { background:var(--accent-dark); color:#fff; }
.topic-strip-inner { min-height:50px; display:flex; align-items:center; gap:18px; overflow-x:auto; white-space:nowrap; }
.topic-strip strong { color:#e6ca95; font-size:.74rem; text-transform:uppercase; letter-spacing:.08em; }
.topic-strip a { font-family:Georgia,"Times New Roman",serif; }
.categories-overview { padding-top:38px; }
.category-pill-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.category-pill { background:var(--paper); border:1px solid var(--line); padding:18px; display:grid; gap:7px; }
.category-pill strong { font-family:Georgia,"Times New Roman",serif; font-size:1.25rem; }
.category-pill span { color:var(--muted); font-size:.9rem; }
.category-showcase { border-block:1px solid rgba(90,70,50,.12); }
.theme-cream { background:var(--cream); }
.theme-sand { background:var(--sand); }
.theme-sage { background:var(--sage); }
.theme-mist { background:var(--mist); }
.theme-rose { background:var(--rose); }
.theme-gold { background:var(--ochre); }
.theme-main { background:var(--cream); }
.story-card { overflow:hidden; min-width:0; }
.card-copy { padding:18px; }
.card-copy p:last-child { margin-bottom:0; color:var(--muted); }
.section-main h3 { font-size:clamp(1.55rem,2.5vw,2.55rem); }
.category-layout { display:grid; gap:18px; }
.layout-a { grid-template-columns:repeat(12,minmax(0,1fr)); }
.layout-a .item-0 { grid-column:span 7; grid-row:span 2; }
.layout-a .item-1,.layout-a .item-2 { grid-column:span 5; display:grid; grid-template-columns:42% 1fr; }
.layout-a .item-1 .image-slot,.layout-a .item-2 .image-slot { aspect-ratio:auto; min-height:100%; }
.layout-a .item-3,.layout-a .item-4,.layout-a .item-5 { grid-column:span 4; }
.layout-b { grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr); grid-template-rows:repeat(5,auto); }
.layout-b .item-0 { grid-row:1/6; }
.layout-b .item-1,.layout-b .item-2,.layout-b .item-3,.layout-b .item-4,.layout-b .item-5 { grid-column:2; display:grid; grid-template-columns:125px 1fr; }
.layout-b .section-small .image-slot { min-height:100%; aspect-ratio:auto; }
.layout-b .section-small .card-copy { padding:13px; }
.layout-b .section-small .card-copy p:not(.kicker) { display:none; }
.layout-c { grid-template-columns:repeat(5,minmax(0,1fr)); }
.layout-c .item-0 { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr); }
.layout-c .item-0 .image-slot { min-height:380px; aspect-ratio:auto; }
.layout-c .item-1,.layout-c .item-2,.layout-c .item-3,.layout-c .item-4,.layout-c .item-5 { grid-column:span 1; }
.layout-c .section-small h3 { font-size:1.13rem; }
.layout-c .section-small .card-copy p:not(.kicker) { display:none; }
.layout-d { grid-template-columns:repeat(12,minmax(0,1fr)); }
.layout-d .item-0,.layout-d .item-1 { grid-column:span 6; }
.layout-d .item-2,.layout-d .item-3,.layout-d .item-4,.layout-d .item-5 { grid-column:span 3; }
.layout-d .item-2 h3,.layout-d .item-3 h3,.layout-d .item-4 h3,.layout-d .item-5 h3 { font-size:1.14rem; }
.layout-d .item-2 p:not(.kicker),.layout-d .item-3 p:not(.kicker),.layout-d .item-4 p:not(.kicker),.layout-d .item-5 p:not(.kicker) { display:none; }
.layout-e { grid-template-columns:repeat(12,minmax(0,1fr)); }
.layout-e .item-0 { grid-column:span 8; grid-row:span 2; }
.layout-e .item-0 .image-slot { aspect-ratio:16/9; }
.layout-e .item-1,.layout-e .item-2 { grid-column:span 4; }
.layout-e .item-3,.layout-e .item-4,.layout-e .item-5 { grid-column:span 4; }
.layout-f { grid-template-columns:repeat(12,minmax(0,1fr)); grid-template-rows:auto auto auto; align-items:stretch; }
.layout-f .item-0 { grid-column:4/10; grid-row:1/3; }
.layout-f .item-1 { grid-column:1/4; grid-row:1; }
.layout-f .item-2 { grid-column:1/4; grid-row:2; }
.layout-f .item-3 { grid-column:10/13; grid-row:1; }
.layout-f .item-4 { grid-column:10/13; grid-row:2; }
.layout-f .item-5 { grid-column:1/13; grid-row:3; display:grid; grid-template-columns:minmax(220px,32%) 1fr; }
.layout-f .item-5 .image-slot { min-height:100%; aspect-ratio:auto; }
.layout-f .section-small h3 { font-size:1.13rem; }
.layout-f .section-small .card-copy p:not(.kicker) { display:none; }
.layout-f .item-5 .card-copy p:not(.kicker) { display:block; }
.layout-f .story-card { height:100%; }
.layout-f .photo-placeholder small { overflow-wrap:anywhere; word-break:break-word; max-width:90%; justify-self:center; }
.focus-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.about-strip { background:var(--accent-dark); color:#fff; padding-block:50px; }
.about-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:38px; }
.about-grid p { color:#eadfd8; }
.breadcrumbs { padding:16px 0; display:flex; flex-wrap:wrap; gap:8px; color:var(--muted); font-size:.82rem; }
.breadcrumbs i { font-style:normal; color:var(--line-dark); }
.category-hero { border-block:1px solid var(--line); }
.category-hero-grid { padding-block:42px; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr); align-items:center; gap:48px; }
.category-lead { max-width:720px; font-family:Georgia,"Times New Roman",serif; font-size:1.2rem; color:#4c453e; }
.category-description { max-width:1040px; }
.category-copy-section { margin-bottom:38px; }
.category-copy-section h2 { margin-bottom:16px; }
.category-copy-section p { font-family:Georgia,"Times New Roman",serif; font-size:1.06rem; color:#4b443e; }
.archive-section { background:#e8e2d7; border-top:1px solid var(--line); }
.archive-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.archive-card h3 { font-size:1.28rem; }
.archive-card .card-copy p { font-size:.9rem; }
.article-page { max-width:980px; padding-bottom:56px; }
.article-header { padding:32px 0 26px; }
.article-header h1 { max-width:950px; }
.article-deck { max-width:850px; font-family:Georgia,"Times New Roman",serif; font-size:1.2rem; color:#514942; }
.article-badge { padding:5px 9px; border:1px solid var(--line-dark); color:var(--muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; }
/* Expanded article text: wider and centered beneath the hero image. */
.article-body { width:min(100%,920px); margin:38px auto; }
.article-body h2 { margin-bottom:18px; }
.article-body p { font-family:Georgia,"Times New Roman",serif; font-size:1.13rem; line-height:1.78; color:#443d37; }
.related-section { background:#e6e0d6; border-top:1px solid var(--line); }
.related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.static-page { max-width:860px; padding-block:44px 72px; }
.static-page h2 { margin:34px 0 14px; }
.static-page p { font-family:Georgia,"Times New Roman",serif; font-size:1.08rem; color:#48413b; }
.static-lead { font-size:1.25rem !important; }
.site-footer { background:#151311; color:#d7d0c7; padding-top:46px; }
.footer-grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:38px; padding-bottom:38px; }
.footer-brand strong { display:block; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:2rem; letter-spacing:.1em; }
.footer-brand p { max-width:360px; color:#9f978e; }
.footer-grid h2 { color:#fff; font-family:Inter,ui-sans-serif,sans-serif; font-size:.8rem; text-transform:uppercase; letter-spacing:.1em; margin-bottom:14px; }
.footer-grid ul { list-style:none; padding:0; }
.footer-grid a { display:block; padding:5px 0; color:#bdb5ac; font-size:.9rem; }
.footer-bottom { border-top:1px solid #3b3632; padding:18px 0 26px; color:#8f877f; font-size:.8rem; }
@media (max-width:1100px) {
  .nav-inner { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .lead-layout,.category-hero-grid { grid-template-columns:1fr; }
  .important-list { columns:2; column-gap:28px; }
  .important-list li { break-inside:avoid; }
  .category-pill-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .layout-a,.layout-d,.layout-e,.layout-f { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .layout-a > *, .layout-d > *, .layout-e > *, .layout-f > * { grid-column:auto !important; grid-row:auto !important; }
  .layout-a .item-1,.layout-a .item-2 { display:block; }
  .layout-b { grid-template-columns:1fr; grid-template-rows:auto; }
  .layout-b .item-0,.layout-b .item-1,.layout-b .item-2,.layout-b .item-3,.layout-b .item-4,.layout-b .item-5 { grid-column:auto; grid-row:auto; }
  .layout-c { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .layout-c .item-0 { grid-column:1/-1; }
  .layout-c .item-1,.layout-c .item-2,.layout-c .item-3,.layout-c .item-4,.layout-c .item-5 { grid-column:auto; }
  .archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-grid { grid-template-columns:1fr 1fr; }
  .about-grid > div { grid-column:1/-1; }
}
@media (max-width:760px) {
  .page-shell { width:min(calc(100% - 24px),var(--shell)); }
  .section-gap { padding-block:32px; }
  .utility-inner { font-size:.68rem; }
  .utility-inner .utility-separator,.utility-inner span:nth-of-type(2) { display:none; }
  .brand-row { min-height:auto; padding-block:24px; flex-direction:column; align-items:flex-start; }
  .header-promo { width:100%; }
  .menu-toggle { width:calc(100% - 24px); margin:0 auto 10px; display:flex; align-items:center; justify-content:center; gap:10px; padding:11px 14px; border:1px solid var(--line-dark); background:#f7f3ec; color:var(--ink); font-weight:850; text-transform:uppercase; letter-spacing:.07em; }
  .menu-icon { display:grid; gap:3px; }
  .menu-icon i { width:18px; height:2px; background:currentColor; display:block; }
  .main-nav { display:none; }
  .main-nav.is-open { display:block; }
  .nav-inner { width:100%; display:grid; grid-template-columns:1fr; padding:0 12px 12px; }
  .nav-inner a { border:1px solid var(--line); border-top:0; justify-items:start; text-align:left; padding:13px 14px; }
  .nav-inner a:first-child { border-left:1px solid var(--line); border-top:1px solid var(--line); }
  .important-list { columns:1; }
  .section-heading { display:block; }
  .section-heading > p { margin-top:10px; }
  .category-pill-grid,.focus-grid,.archive-grid,.related-grid,.footer-grid { grid-template-columns:1fr; }
  .category-layout,.layout-a,.layout-b,.layout-c,.layout-d,.layout-e,.layout-f { grid-template-columns:1fr; }
  .category-layout > * { grid-column:auto !important; grid-row:auto !important; }
  .category-layout .story-card { display:block !important; }
  .category-layout .image-slot { aspect-ratio:16/10 !important; min-height:0 !important; }
  .category-layout .card-copy p { display:block !important; }
  .about-grid { grid-template-columns:1fr; }
  .about-grid > div { grid-column:auto; }
  .article-page { padding-inline:0; }
  .article-header { padding-top:20px; }
  .article-body p { font-size:1.05rem; }
}
@media (max-width:480px) {
  h1 { font-size:2.25rem; }
  .lead-copy { padding:22px; }
  .important-box { padding:16px; }
  .category-hero-grid { padding-block:28px; gap:24px; }
}
/* Important links: keep category and title in the text column. */
.important-list a::before { grid-row: 1 / span 2; }
.important-list span,
.important-list strong { grid-column: 2; }
