:root {
    --paper:#f7f5ef;
    --ink:#202b27;
    --green:#183d36;
    --muted:#56615b;
    --line:#d8dbd1;
    --accent:#956444;
    --serif:Georgia,'Times New Roman',serif;
    --sans:Arial,Helvetica,sans-serif;
}

* {
    box-sizing:border-box;
}

html {
    scroll-behavior:smooth;
    scroll-padding-top:24px;
}

body {
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:var(--sans);
    -webkit-font-smoothing:antialiased;
}

a {
    color:inherit;
    text-decoration:none;
}

a:hover {
    color:var(--accent);
}

a:focus-visible {
    outline:3px solid #af6539;
    outline-offset:6px;
}

img {
    display:block;
    max-width:100%;
}

h1,h2,h3,p,figure {
    margin:0;
}

h1,h2,h3 {
    font-family:var(--serif);
    font-weight:400;
}

p {
    line-height:1.75;
}

.page-shell {
    width:min(1344px,calc(100% - 96px));
    margin-inline:auto;
}

.eyebrow {
    font-size:10px;
    letter-spacing:2px;
    line-height:1.7;
    font-weight:600;
    text-transform:uppercase;
}

.edition-bar {
    border-bottom:1px solid var(--line);
    font-size:9px;
    letter-spacing:1.6px;
    text-transform:uppercase;
}

.edition-bar .page-shell {
    display:flex;
    justify-content:space-between;
    align-items:center;
    min-height:35px;
}

.site-header {
    min-height:124px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:36px;
}

.wordmark {
    display:inline-block;
    font-family:var(--serif);
    font-style:italic;
    font-size:22px;
    line-height:.9;
}

.wordmark>span {
    display:block;
    font-size:31px;
    letter-spacing:2.5px;
    font-style:normal;
    margin-top:8px;
}

.brand-dot {
    color:var(--accent);
}

.site-header nav {
    display:flex;
    gap:34px;
    align-items:center;
}

.site-header nav a {
    font-size:12px;
    padding-block:15px;
}

.site-header nav a[aria-current] {
    text-decoration:underline;
    text-underline-offset:7px;
}

.header-link {
    font-size:11px;
    border-bottom:1px solid var(--ink);
    padding-block:12px;
}

.header-link span {
    margin-left:24px;
}

.demo-note {
    padding:8px 24px;
    background:#ece9df;
    text-align:center;
    font-size:10px;
    color:#51574e;
    letter-spacing:.3px;
}

.hero {
    padding-top:28px;
}

.hero-topline {
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:17px;
}

.hero-topline>span:last-child {
    font-family:var(--serif);
    font-size:15px;
    font-style:italic;
    color:var(--muted);
}

.hero-picture {
    position:relative;
    height:590px;
    overflow:hidden;
    background:var(--green);
}

.hero-picture>img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 50%;
}

.hero-shade {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(5,20,17,.72),rgba(5,20,17,.12) 90%),linear-gradient(0deg,rgba(5,20,17,.7),transparent 80%);
}

.hero-copy {
    position:absolute;
    left:5%;
    bottom:10%;
    color:#fff;
    max-width:650px;
    padding-right:24px;
}

.hero-copy .eyebrow {
    font-size:10px;
    letter-spacing:2.3px;
}

.hero h1 {
    font-size:clamp(52px,6.3vw,91px);
    line-height:1.02;
    margin:20px 0 24px;
    max-width:620px;
    letter-spacing:-3px;
    text-wrap:balance;
}

.hero-copy p {
    font-size:13px;
    max-width:365px;
    line-height:1.8;
    margin-bottom:25px;
}

.light-link {
    font-size:11px;
    letter-spacing:.3px;
    display:inline-flex;
    gap:38px;
    align-items:center;
    border-bottom:1px solid #ffffff8c;
    padding-bottom:11px;
    color:white;
    min-height:44px;
}

.light-link:hover {
    color:#e3d3bb;
}

.light-link span {
    font-size:20px;
}

.hero-caption {
    position:absolute;
    right:4%;
    bottom:8%;
    color:white;
    text-align:right;
}

.hero-caption>span:first-child {
    font-size:9px;
    letter-spacing:2px;
    line-height:1.9;
    display:block;
}

.hero-index {
    display:block;
    font-family:var(--serif);
    font-size:78px;
    line-height:1.2;
}

.hero-bottom {
    display:flex;
    gap:24px;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid var(--line);
    padding-block:23px;
}

.hero-bottom>span:first-child {
    font-size:8px;
    letter-spacing:2px;
}

.hero-bottom>span:nth-child(2) {
    font-family:var(--serif);
    font-size:20px;
    font-style:italic;
}

.hero-bottom a {
    font-size:10px;
    display:flex;
    align-items:center;
    gap:14px;
    min-height:30px;
}

.hero-bottom a>span {
    font-size:24px;
}

.stories-section {
    padding-block:82px 94px;
}

.section-heading {
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:25px;
    margin-bottom:34px;
}

.section-heading h2 {
    font-size:clamp(29px,3vw,42px);
    letter-spacing:-1px;
    margin-top:13px;
    line-height:1.15;
}

.text-link {
    display:inline-flex;
    font-size:11px;
    gap:23px;
    align-items:center;
    border-bottom:1px solid var(--ink);
    min-height:44px;
    padding-bottom:6px;
}

.text-link span {
    font-size:19px;
}

.story-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:32px;
}

.card-visual {
    position:relative;
}

.story-card .image-link {
    display:block;
    position:relative;
    overflow:hidden;
}

.story-card img {
    width:100%;
    height:auto;
    aspect-ratio:1.42;
    object-fit:cover;
    transition:transform .4s ease;
}

.story-card .image-link:hover img {
    transform:scale(1.025);
}

.sponsor-label {
    position:absolute;
    left:12px;
    bottom:12px;
    padding:7px 11px;
    background:var(--paper);
    color:var(--ink);
    font-size:8px;
    letter-spacing:.7px;
}

.card-meta {
    display:flex;
    justify-content:space-between;
    text-transform:uppercase;
    letter-spacing:1.6px;
    font-size:9px;
    margin:22px 0 11px;
}

.card-meta>span:last-child {
    color:var(--muted);
}

.story-card :is(h2,h3) {
    font-size:30px;
    line-height:1.15;
    letter-spacing:-.6px;
    margin-bottom:13px;
    text-wrap:balance;
}

.story-card p {
    font-size:12px;
    color:var(--muted);
    margin-bottom:17px;
}

.story-card .text-link {
    font-size:10px;
    min-height:36px;
}

.collection-feature {
    background:var(--green);
    color:var(--paper);
}

.collection-grid {
    display:grid;
    grid-template-columns:1fr 1.1fr;
    min-height:540px;
}

.collection-copy {
    padding:65px 65px 45px 0;
    display:flex;
    align-items:flex-start;
    flex-direction:column;
}

.collection-copy .eyebrow {
    font-size:9px;
}

.collection-copy h2 {
    font-size:clamp(54px,5.7vw,82px);
    line-height:1.04;
    letter-spacing:-2px;
    margin-block:25px;
}

.collection-copy h2>span {
    color:#d8a779;
}

.collection-copy p {
    font-size:12px;
    max-width:280px;
    color:#e0e5df;
    margin-bottom:22px;
}

.collection-grid>img {
    width:100%;
    height:100%;
    object-fit:cover;
    max-height:565px;
}

.collection-detail {
    border-top:1px solid #ffffff50;
    margin-top:auto;
    padding-top:28px;
    width:100%;
    font-size:8px;
    letter-spacing:1.6px;
    display:flex;
    align-items:center;
    gap:17px;
}

.collection-detail>span {
    font-size:30px;
}

.explore-section {
    padding-block:85px 100px;
}

.section-heading>p {
    font-family:var(--serif);
    font-size:20px;
    font-style:italic;
}

.section-links {
    border-top:1px solid var(--line);
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
}

.section-links a {
    display:flex;
    align-items:center;
    gap:15px;
    border-bottom:1px solid var(--line);
    padding:30px 20px 30px 0;
}

.section-links a>span:nth-child(2) {
    font-family:var(--serif);
    font-size:23px;
}

.section-links a>span:last-child {
    margin-left:auto;
    font-size:22px;
}

.section-number {
    font-size:9px;
    color:var(--muted);
}

.site-footer {
    background:#eaece3;
    padding-block:55px 22px;
}

.footer-top {
    display:grid;
    grid-template-columns:1.5fr 1fr 1.1fr;
    gap:55px;
    padding-bottom:50px;
}

.footer-top p {
    font-size:12px;
    margin-top:24px;
    color:var(--muted);
}

.footer-top nav {
    display:grid;
    margin-top:18px;
    gap:13px;
    font-size:11px;
}

.footer-about p {
    margin-top:17px;
}

.footer-about>a {
    font-size:11px;
    display:inline-block;
    border-bottom:1px solid var(--ink);
    margin-top:15px;
    padding-block:10px;
}

.footer-bottom {
    padding-top:22px;
    border-top:1px solid #cfd4c7;
    display:flex;
    justify-content:space-between;
    font-size:9px;
    color:var(--muted);
}

.skip-link {
    position:fixed;
    top:-100px;
    left:20px;
    z-index:20;
    background:white;
    padding:16px;
}

.skip-link:focus {
    top:10px;
}

.listing-section {
    padding-block:40px 100px;
}

.breadcrumb-link {
    color:var(--muted);
    font-size:10px;
    margin-bottom:25px;
    border:0;
}

.listing-intro {
    margin:20px 0 55px;
    max-width:700px;
}

.listing-intro h1 {
    font-size:clamp(46px,7vw,84px);
    letter-spacing:-2px;
    margin-block:17px;
}

.listing-intro h1>span {
    color:var(--accent);
}

.listing-intro p {
    font-family:var(--serif);
    font-size:23px;
    color:var(--muted);
}

.article-section {
    padding-block:25px 90px;
}

.article-heading {
    max-width:850px;
    margin:15px auto 45px;
    text-align:center;
}

.article-heading h1 {
    font-size:clamp(43px,6vw,78px);
    line-height:1.1;
    letter-spacing:-2px;
    margin-block:23px;
}

.article-heading>p {
    font-family:var(--serif);
    font-size:23px;
    color:var(--muted);
    margin-bottom:25px;
}

.article-heading .article-sponsor {
    font-family:var(--sans);
    font-size:11px;
    letter-spacing:1px;
    margin-top:20px;
}

.article-byline {
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:1.2px;
}

.article-image img {
    width:100%;
    max-height:650px;
    object-fit:cover;
}

.article-image figcaption {
    font-size:10px;
    color:var(--muted);
    margin-top:12px;
}

.article-body {
    max-width:670px;
    margin:50px auto;
    font-family:var(--serif);
    font-size:21px;
}

.article-body p {
    margin-bottom:25px;
}

.article-body p:first-child::first-letter {
    float:left;
    font-size:70px;
    line-height:1;
    padding-right:12px;
}

.contact-panel {
    max-width:820px;
    margin:45px auto;
    background:#eaece3;
    padding:40px;
}

.contact-panel h2 {
    font-size:32px;
    margin:15px 0 25px;
}

.contact-panel p {
    font-size:14px;
    margin-top:12px;
}

.empty-state {
    padding-block:50px;
    font-family:var(--serif);
    font-size:24px;
}

@media(min-width:1600px) {
    .hero-picture {
        height:670px;
    }

}

@media(max-width:1100px) {
    .page-shell {
        width:calc(100% - 56px);
    }

    .header-link {
        display:none;
    }

    .site-header nav {
        gap:26px;
    }

    .hero-picture {
        height:570px;
    }

    .hero-copy {
        max-width:600px;
    }

    .story-grid {
        gap:22px;
    }

    .story-card :is(h2,h3) {
        font-size:26px;
    }

    .collection-copy {
        padding-right:35px;
    }

    .section-links {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .footer-top {
        gap:30px;
    }

}

@media(max-width:700px) {
    .page-shell {
        width:calc(100% - 36px);
    }

    .edition-bar .page-shell {
        font-size:7px;
        letter-spacing:1px;
        min-height:30px;
    }

    .edition-bar .page-shell>span:last-child {
        max-width:120px;
        text-align:right;
        line-height:1.5;
        padding-block:5px;
    }

    .site-header {
        flex-direction:column;
        gap:18px;
        min-height:0;
        padding-block:25px 12px;
    }

    .wordmark {
        font-size:19px;
        text-align:center;
    }

    .wordmark>span {
        font-size:29px;
    }

    .site-header nav {
        width:100%;
        justify-content:space-between;
        gap:8px;
        border-top:1px solid var(--line);
        padding-top:6px;
    }

    .site-header nav a {
        font-size:10px;
        padding-block:12px;
    }

    .demo-note {
        font-size:9px;
        padding-inline:18px;
        line-height:1.6;
    }

    .hero {
        padding-top:20px;
    }

    .hero-topline {
        gap:15px;
    }

    .hero-topline .eyebrow {
        font-size:8px;
        letter-spacing:1.3px;
    }

    .hero-topline>span:last-child {
        font-size:12px;
        max-width:140px;
        text-align:right;
    }

    .hero-picture {
        height:550px;
    }

    .hero-picture>img {
        object-position:59% center;
    }

    .hero-copy {
        left:7%;
        bottom:8%;
        right:4%;
        padding:0;
    }

    .hero h1 {
        font-size:56px;
        letter-spacing:-2px;
        margin-block:20px;
        max-width:320px;
    }

    .hero-copy .eyebrow {
        font-size:8px;
        letter-spacing:1.5px;
    }

    .hero-copy p {
        font-size:12px;
        max-width:260px;
    }

    .hero-caption {
        display:none;
    }

    .hero-bottom {
        flex-wrap:wrap;
        gap:10px;
        padding-block:20px;
    }

    .hero-bottom>span:first-child {
        font-size:7px;
        letter-spacing:1.3px;
    }

    .hero-bottom>span:nth-child(2) {
        font-size:17px;
    }

    .hero-bottom a {
        width:100%;
        justify-content:center;
        margin-top:5px;
        font-size:9px;
    }

    .stories-section {
        padding-block:55px;
    }

    .section-heading {
        display:block;
        margin-bottom:28px;
    }

    .section-heading h2 {
        font-size:34px;
        max-width:340px;
    }

    .section-heading>a {
        margin-top:15px;
    }

    .story-grid {
        grid-template-columns:1fr;
        gap:40px;
    }

    .story-card img {
        aspect-ratio:1.45;
    }

    .story-card :is(h2,h3) {
        font-size:31px;
        max-width:340px;
    }

    .story-card p {
        font-size:13px;
    }

    .card-meta {
        margin-top:17px;
    }

    .collection-grid {
        grid-template-columns:1fr;
        width:100%;
    }

    .collection-copy {
        padding:45px 28px;
    }

    .collection-copy h2 {
        font-size:68px;
    }

    .collection-copy p {
        max-width:300px;
        font-size:13px;
    }

    .collection-detail {
        margin-top:30px;
        padding-top:15px;
    }

    .collection-grid>img {
        height:350px;
    }

    .explore-section {
        padding-block:55px;
    }

    .section-heading>p {
        margin-top:15px;
    }

    .section-links {
        grid-template-columns:1fr;
    }

    .section-links a {
        padding-block:20px;
    }

    .section-links a>span:nth-child(2) {
        font-size:28px;
    }

    .footer-top {
        grid-template-columns:1fr 1fr;
        gap:35px;
    }

    .footer-top>div:first-child {
        grid-column:span 2;
    }

    .footer-top>div:first-child .wordmark {
        text-align:left;
    }

    .footer-top p {
        font-size:11px;
    }

    .footer-top .eyebrow {
        font-size:8px;
    }

    .footer-top {
        padding-bottom:35px;
    }

    .footer-bottom {
        flex-wrap:wrap;
        gap:14px;
        line-height:1.6;
        font-size:8px;
    }

    .footer-bottom>span:last-child {
        width:100%;
    }

    .listing-section {
        padding-block:20px 60px;
    }

    .listing-intro {
        margin-bottom:35px;
    }

    .listing-intro h1 {
        font-size:49px;
        overflow-wrap:anywhere;
    }

    .listing-intro p {
        font-size:20px;
    }

    .article-heading h1 {
        font-size:45px;
        letter-spacing:-1px;
    }

    .article-heading>p {
        font-size:20px;
    }

    .article-body {
        margin-block:35px;
        font-size:20px;
    }

    .contact-panel {
        padding:25px;
    }

    .contact-panel h2 {
        font-size:28px;
    }

    .article-image img {
        min-height:280px;
        object-fit:cover;
    }

    .article-heading .eyebrow {
        font-size:9px;
    }

    .btn {
        min-height:44px;
        display:inline-flex;
        align-items:center;
    }

}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto;
    }

    *,*::before,*::after {
        transition:none!important;
        animation:none!important;
    }

}

/* Bilingual navigation and content notices. */
.wordmark .brand-name { font-size: clamp(20px, 2vw, 28px); letter-spacing: -1px; margin: 0; font-style: normal; }
.site-header { gap: 24px; }
.site-header nav { gap: 22px; }
.site-header .language-switch { display: flex; gap: 12px; font-size: 11px; }
.language-switch a, .language-switch span { min-width: 24px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.language-switch [aria-current] { font-weight: 700; text-decoration: underline; text-underline-offset: 6px; }
.language-switch [aria-disabled] { color: var(--muted); opacity: .7; }
.original-note, .translation-note { font-size: 11px; color: var(--muted); }
.original-note { border-left: 2px solid var(--accent); padding-left: 8px; }
.article-heading .article-date { font-family: var(--sans); font-size: 11px; margin-top: 16px; }
.translation-note { margin-block: 24px; }
@media (max-width: 1100px) and (min-width: 701px) { .site-header { flex-wrap: wrap; padding-block: 24px; gap: 15px; } .site-header>nav:not(.language-switch) { order: 3; flex-basis: 100%; justify-content: space-between; } }
@media (max-width: 700px) { .site-header { position: relative; padding-top: 58px; gap: 20px; } .site-header .language-switch { position: absolute; top: 3px; right: 0; width: auto; border: 0; gap: 9px; padding: 0; } .site-header>nav:not(.language-switch) { gap: 7px; flex-wrap: wrap; } .site-header nav a { font-size: 10px; } .wordmark .brand-name { font-size: 27px; } .hero h1 { font-size: 51px; } }

/* Public paths and provenance remain readable without scripts. */
.editorial-breadcrumbs { padding-block: 20px 0; font-family: var(--sans); font-size: 12px; }
.editorial-breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; padding: 0; margin: 0; list-style: none; }
.editorial-breadcrumbs li { display: inline; overflow-wrap: anywhere; }
.editorial-breadcrumbs li + li::before { content: '/'; margin-right: 8px; color: var(--muted); }
.editorial-breadcrumbs a { display: inline-block; padding-block: 8px; text-underline-offset: 4px; }
.editorial-breadcrumbs [aria-current] { color: var(--muted); }
.article-sources { padding-block: 24px; overflow-wrap: anywhere; }
.article-sources h2, .contact-panel h2 { font-size: clamp(24px, 3vw, 34px); }

/* TD-06: same editorial components in private compositions; no commercial activation. */
.content-disclosure{display:inline-block;font:600 11px/1.5 sans-serif;letter-spacing:.04em}.hero-copy>.content-disclosure,.collection-copy>.content-disclosure{background:var(--paper);color:var(--ink);padding:6px 10px;margin-bottom:12px}.composition-preview-bar{padding:16px 24px;background:#20382e;color:#fff;font:14px/1.6 system-ui,sans-serif}.composition-preview-bar a{color:inherit;text-decoration:underline}.composition-preview-bar strong{display:block}
.hero-copy>.content-disclosure{display:table;max-width:100%;margin:0 0 12px;overflow-wrap:anywhere}

/* TD-07: organic discovery reuses the existing cards and mobile stacking. */
.discovery-section { border-top: 1px solid var(--line); }
.discovery-compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 700px) { .discovery-compact { grid-template-columns: minmax(0, 1fr); } }

/* Server-verified editorial session only; guest navigation has no access link. */
.editorial-account-menu{position:relative;flex-shrink:0;font:12px var(--sans);z-index:20}.editorial-account-menu summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;list-style-position:inside}.editorial-account-menu summary:focus-visible,.editorial-account-links a:focus-visible,.editorial-account-links button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.editorial-account-links{position:absolute;right:0;top:100%;min-width:200px;padding:12px;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 8px 24px #0002}.editorial-account-links a,.editorial-account-links button{display:flex;width:100%;min-height:44px;align-items:center;padding:8px 12px;text-align:left;background:transparent;border:0;color:inherit;font:inherit;text-decoration:none}.editorial-account-links a:hover,.editorial-account-links button:hover{background:#00000008}.editorial-account-links form{margin:0}.editorial-account-links button{cursor:pointer}@media(max-width:700px){.editorial-account-menu{position:absolute;top:3px;left:0}.editorial-account-links{left:0;right:auto}}

.ga4-consent { padding-block:24px; color:var(--ink); }
.ga4-consent p { max-width:76ch; line-height:1.6; }
.ga4-consent-actions { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:12px; }
.ga4-consent button { min-height:44px; padding:10px 16px; border:1px solid var(--green); background:var(--paper); color:var(--green); font:inherit; cursor:pointer; }
.ga4-consent button:hover { background:var(--green); color:var(--paper); }
.ga4-consent button:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
