@import url("css/csstyles.css");

:root{
    --editorial-bg:#f5f0e8;
    --editorial-paper:#fbf7f1;
    --editorial-paper-strong:#fffdf9;
    --editorial-line:rgba(92, 73, 53, 0.12);
    --editorial-line-strong:rgba(92, 73, 53, 0.2);
    --editorial-text:#231d18;
    --editorial-muted:#62574d;
    --editorial-soft:#8f8173;
    --editorial-accent:#7f6245;
    --editorial-shadow:0 28px 60px rgba(45, 30, 17, 0.08);
}

html{
    scroll-behavior:smooth;
}

body.editorial-body{
    font-family:"Avenir Next", "Segoe UI", Arial, sans-serif;
    background:
        radial-gradient(circle at top left, rgba(232, 220, 204, 0.78), transparent 30%),
        linear-gradient(180deg, #faf6f0 0%, #f3ede4 54%, #f7f2ea 100%);
    color:var(--editorial-text);
    padding-top:96px;
    line-height:1.75;
}

.editorial-body::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(90deg, rgba(255,255,255,0.2) 0, transparent 18%, transparent 82%, rgba(255,255,255,0.2) 100%);
    opacity:0.45;
}

.editorial-body header{
    background:rgba(248, 242, 233, 0.86);
    border-bottom:1px solid rgba(95, 76, 54, 0.08);
    backdrop-filter:blur(18px);
}

.editorial-body .nav-container{
    max-width:1240px;
    padding:24px 24px 18px;
    align-items:center;
}

.editorial-body .brand{
    display:flex;
    align-items:center;
    gap:16px;
    max-width:430px;
}

.editorial-body .logo,
.editorial-body h1,
.editorial-body h2,
.editorial-body h3{
    font-family:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
}

.editorial-body .logo{
    font-size:2.05rem;
    letter-spacing:-0.04em;
    line-height:1.24;
    display:inline-flex;
    align-items:center;
    white-space:nowrap;
}

.editorial-body .brand-sub{
    max-width:220px;
    font-size:0.62rem;
    line-height:1.45;
    letter-spacing:0.14em;
    color:#85796d;
    text-transform:uppercase;
}

.editorial-body nav{
    gap:0;
    flex-wrap:nowrap;
    white-space:nowrap;
}

.editorial-body nav .nav-item{
    position:relative;
    display:inline-flex;
    align-items:center;
}

.editorial-body nav a{
    margin-left:22px;
    font-size:0.8rem;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:#655a50;
    min-height:44px;
    display:inline-flex;
    align-items:center;
}

.editorial-body nav .desktop-label{
    display:inline !important;
    visibility:visible !important;
    position:static !important;
    width:auto !important;
    height:auto !important;
    overflow:visible !important;
}

.editorial-body nav .mobile-label{
    display:none !important;
    visibility:hidden !important;
    position:absolute !important;
    width:0 !important;
    height:0 !important;
    overflow:hidden !important;
}

.editorial-body nav .nav-submenu{
    position:absolute;
    top:calc(100% + 12px);
    right:0;
    display:flex;
    flex-direction:column;
    gap:0;
    min-width:220px;
    padding:10px 0;
    border:1px solid rgba(95, 76, 54, 0.12);
    border-radius:16px;
    background:rgba(251, 247, 241, 0.98);
    box-shadow:0 16px 32px rgba(31, 24, 18, 0.08);
    white-space:nowrap;
    z-index:1100;
}

.editorial-body nav .nav-submenu[hidden]{
    display:none;
}

.editorial-body nav .nav-submenu a{
    margin-left:0;
    padding:10px 18px;
    min-height:auto;
    font-size:0.72rem;
    letter-spacing:0.12em;
}

.editorial-body nav .nav-item.is-open > a{
    color:#111;
}

.site-shell{
    max-width:1320px;
    padding:0 36px 0;
}

.editorial-hero{
    min-height:auto;
    grid-template-columns:minmax(0, 1.35fr) minmax(340px, 0.65fr);
    gap:72px;
    padding:100px 0 80px;
    align-items:end;
}

.editorial-hero-copy{
    padding:18px 0 0;
}

.eyebrow,
.section-kicker,
.note-label,
.card-tag{
    font-size:0.72rem;
    letter-spacing:0.18em;
    color:#8d7e70;
}

.editorial-hero h1{
    max-width:860px;
    font-size:clamp(4.2rem, 8vw, 7.4rem);
    line-height:0.9;
    margin:18px 0 26px;
}

.hero-lead{
    max-width:640px;
    font-size:1.23rem;
    line-height:1.95;
    color:var(--editorial-muted);
    margin-bottom:34px;
}

.hero-actions{
    gap:24px;
}

.hero-btn{
    padding:15px 28px;
    border-radius:999px;
    background:#1f1a15;
    color:#f8f2ea;
    box-shadow:0 14px 28px rgba(31, 24, 18, 0.12);
    transition:background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.hero-btn:hover{
    background:#2c241d;
    transform:translateY(-1px);
    box-shadow:0 18px 34px rgba(31, 24, 18, 0.16);
}

.text-link{
    font-size:0.92rem;
    letter-spacing:0.04em;
    border-bottom-color:rgba(67,59,52,0.22);
}

.hero-panel{
    align-self:stretch;
}

.hero-note{
    position:relative;
    padding:42px 38px;
    border:1px solid var(--editorial-line);
    border-radius:32px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.74), rgba(251,247,241,0.96)),
        linear-gradient(135deg, #efe4d4, #d2b28f);
    box-shadow:var(--editorial-shadow);
}

.hero-note::before{
    content:"";
    position:absolute;
    inset:22px;
    border:1px solid rgba(126, 99, 70, 0.08);
    border-radius:24px;
}

.hero-note > *{
    position:relative;
}

.hero-note h2{
    font-size:2.25rem;
    line-height:1;
    margin:20px 0 18px;
}

.hero-note p{
    margin-bottom:22px;
    color:#5e544b;
}

.hero-points{
    gap:14px;
}

.hero-points li{
    padding-left:22px;
    font-size:0.98rem;
}

.editorial-intro{
    grid-template-columns:minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap:56px;
    padding:18px 0 96px;
}

.editorial-intro h2{
    font-size:2.85rem;
    line-height:1.02;
}

.editorial-intro p{
    margin-top:34px;
    max-width:720px;
    font-size:1.08rem;
    line-height:1.95;
}

.section{
    padding:126px 0;
}

.section-soft{
    padding:92px 44px;
    border-radius:40px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.58), rgba(252,248,241,0.9));
    box-shadow:inset 0 0 0 1px rgba(219, 207, 193, 0.55);
}

.section-heading{
    max-width:780px;
    margin-bottom:44px;
}

.section-heading h2{
    font-size:3rem;
    line-height:0.98;
    margin:12px 0 18px;
}

.section-heading p:last-child{
    max-width:640px;
    font-size:1.08rem;
    line-height:1.9;
    color:var(--editorial-muted);
}

.feature-grid{
    gap:28px;
}

.feature-grid-three{
    grid-template-columns:repeat(3, minmax(0, 1fr));
}

.feature-card{
    border:none;
    border-radius:28px;
    background:rgba(255,255,255,0.72);
    box-shadow:none;
    transition:transform 0.28s ease, background 0.28s ease, box-shadow 0.28s ease;
}

.feature-card:hover{
    transform:translateY(-8px);
    background:rgba(255,255,255,0.9);
    box-shadow:0 24px 50px rgba(46, 31, 17, 0.09);
}

.feature-card img,
.card-media{
    aspect-ratio:4 / 4.4;
    border-radius:28px 28px 0 0;
}

.card-content{
    padding:24px 8px 6px;
    gap:12px;
}

.card-content h3{
    font-size:1.7rem;
    line-height:1;
}

.card-content p{
    max-width:30ch;
    line-height:1.85;
    color:var(--editorial-muted);
}

.card-link{
    padding-top:4px;
    font-size:0.92rem;
    letter-spacing:0.04em;
    color:#3c3228;
}

.feature-card-static .card-link{
    font-weight:500;
    color:#746658;
}

.link-section{
    padding-top:108px;
}

.link-columns{
    gap:32px;
}

.link-panel{
    padding:36px 34px;
    border-radius:30px;
    border:none;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.74), rgba(247,240,232,0.95));
    box-shadow:0 20px 44px rgba(49, 35, 20, 0.06);
}

.link-panel h3{
    font-size:2rem;
    line-height:1.02;
    margin-bottom:16px;
}

.link-panel p{
    max-width:44ch;
    line-height:1.88;
    margin-bottom:20px;
}

.link-panel a{
    padding:14px 0;
    border-top:1px solid rgba(126, 102, 74, 0.12);
    font-size:1rem;
}

.cta-section{
    padding:40px 0 132px;
}

.cta-card{
    padding:74px 34px 78px;
    border-radius:40px;
    background:
        radial-gradient(circle at top, rgba(255,255,255,0.55), transparent 34%),
        linear-gradient(180deg, #efe3d3 0%, #d7ba99 100%);
    box-shadow:0 30px 68px rgba(62, 43, 24, 0.1);
}

.cta-card h2{
    font-size:3.6rem;
    line-height:0.95;
    margin:14px 0 18px;
}

.cta-card p{
    max-width:760px;
    margin:0 auto 30px;
    font-size:1.08rem;
    line-height:1.9;
}

.article-shell{
    max-width:1260px;
    padding:80px 36px 120px;
}

.article-landing-hero{
    grid-template-columns:minmax(0, 1.2fr) minmax(360px, 0.8fr);
    gap:72px;
    margin-bottom:56px;
    align-items:end;
}

.article-landing-copy{
    padding:20px 0 0;
    position:relative;
}

.article-landing-copy h1{
    max-width:880px;
    font-size:clamp(3.5rem, 6.3vw, 5.8rem);
    line-height:0.92;
    margin:18px 0 22px;
}

.article-landing-copy p{
    max-width:660px;
    font-size:1.1rem;
    line-height:1.95;
}

.article-landing-copy > p:not(.eyebrow):first-of-type::first-letter{
    float:left;
    font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif;
    font-size:4.9rem;
    line-height:0.8;
    padding-right:10px;
    padding-top:6px;
    color:#6f5840;
}

.article-hero-art{
    min-height:460px;
    border:none;
    border-radius:34px;
    box-shadow:0 26px 58px rgba(46, 31, 17, 0.1);
    position:relative;
    overflow:hidden;
}

.article-hero-art img{
    width:100%;
    height:100%;
    min-height:460px;
    display:block;
    object-fit:cover;
}

.article-hero-art::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.02), rgba(19,14,10,0.08)),
        linear-gradient(135deg, rgba(255,255,255,0.18), transparent 42%);
}

.back-home{
    margin-top:22px;
    font-size:0.92rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:#6d5e4f;
}

.article-landing-intro{
    gap:34px;
    margin:10px 0 56px;
    align-items:start;
}

.article-landing-intro h2{
    font-size:2.45rem;
    line-height:1.02;
    margin-bottom:16px;
}

.article-landing-intro p{
    max-width:70ch;
    line-height:1.92;
}

.solutions-intro{
    max-width:760px;
    margin:64px auto 24px;
    padding:0 20px;
    text-align:center;
    font-size:1.04rem;
    line-height:1.72;
    color:#5d554e;
}

.curated-solutions{
    max-width:1080px;
    margin:20px auto 96px;
    padding:0 20px;
}

.curated-solutions .solution-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:24px;
    align-items:stretch;
}

.curated-solutions .solution-card{
    position:relative;
    display:flex;
    flex-direction:column;
    height:100%;
    padding:20px;
    border:1px solid #e9e2d8;
    border-radius:20px;
    background:#fcfaf7;
    box-shadow:0 14px 30px rgba(31,24,18,0.05);
    transition:transform 0.2s ease, box-shadow 0.2s ease;
}

.curated-solutions .solution-card:hover{
    transform:translateY(-4px);
    box-shadow:0 22px 42px rgba(31,24,18,0.09);
}

.curated-solutions .solution-card img{
    width:100%;
    height:200px;
    object-fit:cover;
    border-radius:12px;
    margin-bottom:16px;
}

.curated-solutions .solution-card h3{
    margin-bottom:8px;
}

.curated-solutions .solution-card p{
    flex-grow:1;
    line-height:1.7;
    margin-bottom:16px;
    color:#655d56;
}

.curated-solutions .btn{
    display:block;
    width:100%;
    margin-top:auto;
    padding:10px 18px;
    background:#ece6dd;
    color:#433c36;
    border-radius:30px;
    text-decoration:none;
    text-align:center;
    font-size:14px;
    line-height:1.3;
    transition:background 0.2s ease, transform 0.2s ease;
}

.curated-solutions .btn:hover{
    background:#e2d9ce;
    transform:translateY(-1px);
}

.card-trust-line{
    margin:0 0 10px;
    font-size:12px;
    color:#8a7f74;
    line-height:1.4;
}

.mobile-first-solution,
.mobile-first-disclosure,
.mobile-solution-bridge{
    display:none;
}

.solutions-disclosure{
    max-width:1080px;
    margin:14px auto 36px;
    padding:0 20px;
    text-align:center;
    font-size:13px;
    color:#8a7f74;
}

.article-side-card,
.article-links,
.article-section{
    border:none;
    background:rgba(255,255,255,0.76);
    box-shadow:0 22px 48px rgba(46, 31, 17, 0.06);
}

.article-side-card,
.article-links{
    border-radius:28px;
}

.article-side-card{
    padding:30px 28px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.84), rgba(248,241,233,0.92));
    position:relative;
    overflow:hidden;
}

.article-side-card::before,
.article-links::before,
.article-section::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(122, 94, 63, 0.18), transparent);
}

.article-side-card h3{
    font-size:1.6rem;
    line-height:1.04;
    margin-bottom:12px;
}

.article-side-card p{
    line-height:1.85;
    margin-bottom:16px;
}

.article-side-card a,
.article-links a{
    padding:12px 0;
    border-top:1px solid rgba(126, 102, 74, 0.12);
}

.article-layout{
    gap:34px;
    grid-template-columns:minmax(0, 1fr) minmax(300px, 0.48fr);
    align-items:start;
}

.article-main{
    gap:34px;
}

.article-section{
    padding:42px 38px;
    border-radius:34px;
    position:relative;
    overflow:hidden;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.9), rgba(249,243,236,0.82));
}

.article-section h2{
    font-size:2.3rem;
    line-height:1.02;
    margin-bottom:18px;
    max-width:16ch;
}

.article-section h3{
    font-size:1.45rem;
    line-height:1.06;
    margin:30px 0 10px;
}

.article-section p{
    line-height:1.95;
    margin-bottom:18px;
    max-width:66ch;
}

.idea-list{
    gap:14px;
    padding-left:24px;
    line-height:1.9;
    max-width:64ch;
}

.article-aside{
    gap:24px;
    top:122px;
}

.article-links{
    padding:30px 28px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.84), rgba(248,241,233,0.92));
    position:relative;
    overflow:hidden;
}

.article-links h2{
    font-size:1.75rem;
    line-height:1.04;
    margin-bottom:12px;
}

.article-links p{
    line-height:1.85;
    margin-bottom:16px;
}

.editorial-body footer{
    background:#181410;
    color:#b9ada0;
    padding:72px 8%;
}

.editorial-body footer a{
    color:#e5dacd;
}

.lead-story-card,
.issues-feature{
    position:relative;
}

.lead-story-card::after,
.issues-feature::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(135deg, rgba(255,255,255,0.14), transparent 34%);
}

@media(max-width:1100px){
    .editorial-body .nav-container{
        padding:22px 16px 16px;
    }

    .site-shell,
    .article-shell{
        padding-left:24px;
        padding-right:24px;
    }

    .editorial-hero,
    .article-landing-hero{
        gap:42px;
    }

    .section-soft{
        padding:72px 28px;
    }
}

@media(max-width:900px){
    body.editorial-body{
        padding-top:84px;
    }

    .editorial-body .nav-container{
        align-items:center;
    }

    .editorial-body .brand{
        max-width:320px;
    }

    .site-shell{
        padding:0 18px;
    }

    .editorial-hero{
        grid-template-columns:1fr;
        gap:34px;
        padding:64px 0 56px;
    }

    .editorial-intro{
        gap:24px;
        padding-bottom:72px;
    }

    .feature-grid,
    .feature-grid-three,
    .link-columns,
    .article-landing-intro,
    .article-layout,
    .article-landing-hero{
        grid-template-columns:1fr;
    }

    .hero-note,
    .link-panel,
    .cta-card,
    .article-side-card,
    .article-links,
    .article-section{
        box-shadow:0 18px 42px rgba(46, 31, 17, 0.06);
    }

    .article-landing-copy > p:not(.eyebrow):first-of-type::first-letter{
        font-size:4rem;
        padding-right:8px;
    }

    .curated-solutions{
        margin:0 auto 56px;
        padding:0 20px;
    }

    .mobile-first-solution{
        display:block;
        max-width:760px;
        margin:32px auto 8px;
        padding:0 20px;
    }

    .mobile-first-solution .solution-card{
        position:relative;
        display:flex;
        flex-direction:column;
        height:100%;
        padding:20px;
        border:1px solid #e9e2d8;
        border-radius:20px;
        background:#fcfaf7;
        box-shadow:0 14px 30px rgba(31,24,18,0.05);
    }

    .mobile-first-solution .solution-card img{
        width:100%;
        height:200px;
        object-fit:cover;
        border-radius:12px;
        margin-bottom:16px;
    }

    .mobile-first-solution .solution-card h3{
        margin-bottom:8px;
    }

    .mobile-first-solution .solution-card p{
        flex-grow:1;
        line-height:1.7;
        margin-bottom:16px;
        color:#655d56;
    }

    .mobile-first-solution .btn{
        display:block;
        width:100%;
        margin-top:auto;
        padding:10px 18px;
        background:#ece6dd;
        color:#433c36;
        border-radius:30px;
        text-decoration:none;
        text-align:center;
        font-size:14px;
        line-height:1.3;
    }

    .mobile-solution-bridge{
        display:block;
        max-width:760px;
        margin:4px auto 22px;
        padding:0 8px;
        color:#655d56;
    }

    .mobile-solution-bridge p{
        margin-bottom:14px;
        line-height:1.7;
    }

    .curated-solutions .solution-grid{
        display:block;
    }

    .curated-solutions .solution-card{
        margin-bottom:18px;
    }

    .curated-solutions .solution-card:first-child{
        display:none;
    }

    .solutions-disclosure{
        margin:14px auto 28px;
    }

    .solutions-intro{
        margin:52px auto 20px;
        font-size:0.98rem;
        padding:0 12px;
    }
}

@media(max-width:768px){
    body.editorial-body{
        padding-top:96px;
    }

    .editorial-body .nav-container{
        padding:14px 14px 12px;
        align-items:flex-start;
    }

    .editorial-body .brand{
        gap:6px;
        flex:0 0 auto;
    }

    .editorial-body .logo{
        font-size:1.55rem;
        line-height:1.18;
    }

    .editorial-body .brand-sub{
        max-width:190px;
        font-size:0.54rem;
        letter-spacing:0.1em;
        line-height:1.38;
    }

    .editorial-body nav{
        flex:0 1 auto;
        justify-content:flex-end;
        align-items:center;
        gap:0;
        overflow:visible;
        flex-wrap:nowrap;
    }

    .editorial-body nav a{
        margin-right:10px;
        margin-left:0;
        font-size:0.7rem;
        flex:0 0 auto;
        justify-content:center;
        min-width:0;
    }

    .editorial-body nav .desktop-label{
        display:none !important;
        visibility:hidden !important;
        position:absolute !important;
        width:0 !important;
        height:0 !important;
        overflow:hidden !important;
    }

    .editorial-body nav .mobile-label{
        display:inline !important;
        visibility:visible !important;
        position:static !important;
        width:auto !important;
        height:auto !important;
        overflow:visible !important;
    }

    .editorial-body nav .nav-submenu{
        position:static;
        top:auto;
        left:auto;
        right:auto;
        min-width:100%;
        margin-top:8px;
    }

    .editorial-body nav .nav-item{
        flex:0 0 auto;
        flex-direction:column;
        align-items:stretch;
    }

    .editorial-body nav .nav-item > a{
        width:100%;
    }

    .editorial-body nav .nav-submenu a{
        width:100%;
        justify-content:flex-start;
        text-align:left;
    }

    .site-shell{
        padding:0 14px;
    }

    .editorial-hero{
        padding:46px 0 40px;
    }

    .editorial-hero h1{
        font-size:clamp(3rem, 18vw, 4.6rem);
    }

    .hero-lead,
    .editorial-intro p,
    .section-heading p:last-child,
    .link-panel p,
    .cta-card p,
    .article-landing-copy p,
    .article-landing-intro p,
    .article-side-card p,
    .article-links p,
    .article-section p,
    .idea-list{
        line-height:1.82;
    }

    .section{
        padding:86px 0;
    }

    .section-soft{
        padding:54px 18px;
        border-radius:28px;
    }

    .section-heading{
        margin-bottom:34px;
    }

    .section-heading h2,
    .editorial-intro h2,
    .cta-card h2,
    .article-landing-intro h2,
    .article-section h2{
        font-size:2.1rem;
    }

    .feature-card img,
    .card-media{
        aspect-ratio:4 / 4.6;
    }

    .card-content{
        padding:20px 4px 2px;
    }

    .card-content h3{
        font-size:1.45rem;
    }

    .link-panel,
    .cta-card,
    .hero-note,
    .article-side-card,
    .article-links,
    .article-section{
        padding:24px 20px;
        border-radius:24px;
    }

    .article-shell{
        padding:44px 14px 92px;
    }

    .article-landing-copy h1{
        font-size:clamp(2.8rem, 14vw, 4.1rem);
    }

    .article-hero-art{
        min-height:320px;
    }

    .article-landing-copy > p:not(.eyebrow):first-of-type::first-letter{
        font-size:3.2rem;
        line-height:0.82;
        padding-top:4px;
    }

    .article-section{
        padding:28px 22px;
        border-radius:26px;
    }

    .article-section h2{
        max-width:none;
    }
}

/* Homepage push to 11 */

.home-editorial{
    position:relative;
}

.cover-hero{
    display:grid;
    grid-template-columns:minmax(0, 1.35fr) minmax(300px, 0.55fr);
    gap:38px;
    align-items:end;
    padding:120px 0 52px;
}

.cover-hero-main{
    max-width:960px;
}

.cover-hero-main h1{
    max-width:980px;
    font-size:clamp(4.6rem, 9vw, 8.8rem);
    line-height:0.88;
    margin:14px 0 26px;
}

.cover-hero-rail{
    display:grid;
    gap:18px;
    align-self:stretch;
}

.rail-card,
.mini-note,
.journal-note,
.style-text-panel,
.pathway-block,
.issue-link-card{
    background:rgba(255,255,255,0.7);
    box-shadow:0 22px 50px rgba(46, 31, 17, 0.06);
}

.rail-card{
    padding:28px 26px;
    border-radius:28px;
}

.rail-card h2{
    font-size:2rem;
    line-height:0.98;
    margin:14px 0 12px;
}

.rail-card p{
    color:var(--editorial-muted);
    line-height:1.85;
}

.rail-list{
    display:grid;
    gap:0;
    padding:8px 0 0;
}

.rail-list a{
    display:block;
    padding:14px 0;
    color:#32281f;
    text-decoration:none;
    border-top:1px solid rgba(126, 102, 74, 0.14);
    font-size:0.96rem;
}

.lead-story{
    display:grid;
    grid-template-columns:minmax(0, 1.2fr) minmax(280px, 0.55fr);
    gap:30px;
    align-items:stretch;
    padding:8px 0 76px;
}

.lead-story-card{
    display:grid;
    grid-template-columns:minmax(320px, 0.95fr) minmax(0, 1.05fr);
    gap:0;
    overflow:hidden;
    border-radius:36px;
    background:#f8f3eb;
    box-shadow:0 30px 68px rgba(45, 31, 18, 0.09);
}

.lead-story-art{
    min-height:560px;
    border-radius:0;
}

.lead-story-copy{
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:42px 40px 40px;
}

.lead-story-copy h2{
    font-size:3.2rem;
    line-height:0.94;
    margin:14px 0 18px;
}

.lead-story-copy p{
    max-width:34ch;
    font-size:1.08rem;
    line-height:1.95;
    color:var(--editorial-muted);
    margin-bottom:18px;
}

.lead-story-notes{
    display:grid;
    gap:22px;
}

.mini-note{
    padding:30px 28px;
    border-radius:28px;
}

.mini-note h3{
    font-size:1.7rem;
    line-height:1.02;
    margin:10px 0 12px;
}

.mini-note p{
    color:var(--editorial-muted);
    line-height:1.85;
}

.section-heading-wide{
    max-width:920px;
}

.journal-grid{
    display:grid;
    grid-template-columns:minmax(0, 1.15fr) minmax(280px, 0.72fr) minmax(240px, 0.48fr);
    gap:26px;
    align-items:start;
}

.journal-feature,
.journal-card,
.style-story{
    display:block;
    color:inherit;
    text-decoration:none;
}

.journal-feature .card-media{
    min-height:580px;
    border-radius:32px;
}

.journal-copy{
    padding:20px 8px 6px;
}

.journal-copy h3{
    font-size:2rem;
    line-height:0.98;
    margin:10px 0 12px;
}

.journal-copy p{
    max-width:32ch;
    color:var(--editorial-muted);
    line-height:1.86;
    margin:0;
}

.journal-stack{
    display:grid;
    gap:26px;
}

.journal-card .card-media{
    min-height:276px;
    border-radius:28px;
}

.journal-note{
    padding:32px 28px;
    border-radius:30px;
    position:sticky;
    top:118px;
}

.journal-note h3{
    font-size:2rem;
    line-height:1;
    margin:10px 0 14px;
}

.journal-note p{
    color:var(--editorial-muted);
    line-height:1.88;
    margin-bottom:18px;
}

.fixes-layout{
    display:grid;
    grid-template-columns:minmax(0, 1.15fr) minmax(280px, 0.55fr);
    gap:28px;
    align-items:start;
}

.issues-feature{
    display:grid;
    grid-template-columns:minmax(320px, 0.94fr) minmax(0, 1.06fr);
    overflow:hidden;
    border-radius:34px;
    background:#f7f2eb;
    box-shadow:0 28px 62px rgba(45, 31, 18, 0.08);
}

.issues-feature-media img{
    width:100%;
    height:100%;
    min-height:520px;
    object-fit:cover;
    display:block;
}

.issues-feature-copy{
    padding:38px 36px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
}

.issues-feature-copy h3{
    font-size:2.55rem;
    line-height:0.97;
    margin:10px 0 14px;
}

.issues-feature-copy p{
    max-width:34ch;
    color:var(--editorial-muted);
    line-height:1.92;
    margin-bottom:16px;
}

.issues-column{
    display:grid;
    gap:18px;
}

.issue-link-card{
    display:block;
    text-decoration:none;
    color:inherit;
    padding:28px 24px;
    border-radius:26px;
    transition:transform 0.24s ease, box-shadow 0.24s ease;
}

.issue-link-card:hover{
    transform:translateY(-6px);
    box-shadow:0 24px 50px rgba(46, 31, 17, 0.08);
}

.issue-link-card h3{
    font-size:1.65rem;
    line-height:1.02;
    margin:10px 0 10px;
}

.issue-link-card p{
    color:var(--editorial-muted);
    line-height:1.82;
    margin:0;
}

.style-editorial{
    overflow:hidden;
}

.style-columns{
    display:grid;
    grid-template-columns:minmax(0, 0.85fr) minmax(0, 0.75fr) minmax(280px, 0.48fr);
    gap:28px;
    align-items:start;
}

.style-story .card-media{
    min-height:450px;
    border-radius:30px;
}

.style-story-copy{
    padding:20px 8px 6px;
}

.style-story-copy h3{
    font-size:2rem;
    line-height:0.98;
    margin:10px 0 12px;
}

.style-story-copy p{
    max-width:30ch;
    color:var(--editorial-muted);
    line-height:1.85;
}

.style-story-offset{
    margin-top:84px;
}

.style-text-panel{
    padding:34px 30px;
    border-radius:30px;
    min-height:100%;
}

.style-text-panel h3{
    font-size:2.15rem;
    line-height:0.98;
    margin:10px 0 14px;
}

.style-text-panel p{
    color:var(--editorial-muted);
    line-height:1.9;
    margin-bottom:18px;
}

.explore-shell{
    padding-bottom:120px;
}

.explore-hero{
    max-width:860px;
    padding:112px 0 54px;
}

.explore-hero h1{
    font-size:clamp(3.8rem, 7vw, 6.8rem);
    line-height:0.9;
    margin:14px 0 18px;
}

.explore-hero p{
    max-width:680px;
    color:var(--editorial-muted);
    font-size:1.08rem;
    line-height:1.92;
}

.explore-section{
    scroll-margin-top:100px;
}

.real-life-shell{
    padding-bottom:120px;
}

.real-life-hero{
    padding-bottom:34px;
}

.real-life-hero h1{
    font-size:clamp(2.6rem, 4.8vw, 4.4rem);
    line-height:0.96;
    margin:12px 0 14px;
}

.real-life-hero p{
    max-width:620px;
    font-size:1rem;
    line-height:1.82;
}

.real-story{
    display:grid;
    grid-template-columns:minmax(320px, 0.92fr) minmax(0, 1.08fr);
    gap:34px;
    align-items:stretch;
    padding:44px 0;
}

.real-story-reverse{
    grid-template-columns:minmax(0, 1.08fr) minmax(320px, 0.92fr);
}

.real-story-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px 18px;
    margin-bottom:10px;
    color:#8b847c;
    font-size:0.75rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
}

.real-story-media{
    height:100%;
}

.real-story-media img{
    width:100%;
    height:100%;
    display:block;
    border-radius:4px;
    box-shadow:0 24px 52px rgba(46, 31, 17, 0.08);
    background:#f1ebe3;
    object-fit:cover;
}

.real-story-copy{
    padding:0;
    height:100%;
    display:flex;
    flex-direction:column;
}

.real-story-copy h2{
    font-size:clamp(2.4rem, 4vw, 4rem);
    line-height:0.96;
    margin:0 0 18px;
}

.byline{
    font-size:13px;
    color:#7a746c;
    margin-top:6px;
    margin-bottom:8px;
    letter-spacing:0.3px;
    text-transform:uppercase;
    font-family:var(--body-font);
}

.story-note{
    max-width:68ch;
    margin:0 0 18px;
    color:#8a837b;
    font-size:0.92rem;
    line-height:1.75;
}

.story-insight{
    max-width:68ch;
    margin:0 0 18px;
    color:#2b241d;
    font-size:0.98rem;
    line-height:1.82;
    font-style:italic;
    font-weight:500;
}

.story-insight strong{
    font-style:normal;
    font-weight:600;
}

.story-submit{
    max-width:68ch;
    margin:12px 0 22px;
    color:#7a746c;
    font-family:var(--heading-font);
    font-size:0.98rem;
    font-weight:600;
    line-height:1.7;
}

.story-submit a{
    color:inherit;
    text-underline-offset:3px;
}

.real-story-copy p{
    max-width:68ch;
    color:var(--editorial-muted);
    line-height:1.92;
    margin:0 0 16px;
}

.story-end{
    max-width:68ch;
    color:var(--editorial-muted);
    font-family:inherit;
    font-size:1rem;
    line-height:1.92;
    margin:0 0 16px;
}

.real-story-links{
    display:grid;
    gap:0;
    max-width:420px;
    margin:22px 0 18px;
}

.real-story-links a{
    display:block;
    padding:12px 0;
    border-top:1px solid rgba(126, 102, 74, 0.14);
    color:#32281f;
    text-decoration:none;
}

.submit-shell{
    max-width:980px;
    padding-bottom:120px;
}

.submit-hero{
    padding-bottom:32px;
}

.submit-hero h1{
    font-size:clamp(2.7rem, 5vw, 4.7rem);
    line-height:0.95;
    margin:12px 0 14px;
}

.submit-panel{
    max-width:760px;
    padding:34px 0 0;
}

.submit-intro{
    max-width:680px;
    margin-bottom:28px;
}

.submit-intro p{
    color:var(--editorial-muted);
    line-height:1.9;
    margin:0 0 14px;
}

.submit-status{
    max-width:680px;
    margin:0 0 24px;
    padding:14px 18px;
    border-radius:8px;
    font-size:0.95rem;
    line-height:1.7;
    background:#f3ede4;
    color:#564b41;
}

.submit-status--success{
    background:#eef1ea;
    color:#4c5a44;
}

.submit-status--blocked,
.submit-status--error,
.submit-status--duplicate,
.submit-status--rate,
.submit-status--validation{
    background:#f6eee6;
    color:#67584b;
}

.story-form{
    display:grid;
    gap:14px;
    max-width:680px;
}

.story-form label{
    font-size:0.82rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:#6b6056;
}

.story-form input,
.story-form select,
.story-form textarea{
    width:100%;
    border:1px solid rgba(106, 87, 66, 0.18);
    border-radius:8px;
    background:#fffdfa;
    color:#2d241c;
    font:inherit;
    padding:14px 16px;
    line-height:1.6;
    transition:border-color 0.2s ease, box-shadow 0.2s ease;
}

.story-form textarea{
    min-height:280px;
    resize:vertical;
}

.story-form input:focus,
.story-form select:focus,
.story-form textarea:focus{
    outline:none;
    border-color:rgba(83, 66, 50, 0.42);
    box-shadow:0 0 0 4px rgba(154, 135, 114, 0.10);
}

.checkbox-row{
    display:grid;
    grid-template-columns:22px 1fr;
    gap:12px;
    align-items:start;
    margin:6px 0 8px;
    text-transform:none;
    letter-spacing:0;
    font-size:0.95rem;
    color:var(--editorial-muted);
}

.checkbox-row input{
    margin-top:3px;
    min-height:20px;
}

.story-form .hero-btn{
    justify-self:start;
    min-height:48px;
}

.story-form .hero-btn:disabled{
    opacity:0.56;
    cursor:not-allowed;
    transform:none;
    box-shadow:0 14px 28px rgba(31, 24, 18, 0.06);
}

.honeypot-field{
    position:absolute;
    left:-9999px;
    width:1px;
    height:1px;
    overflow:hidden;
}

.turnstile-wrap{
    display:grid;
    gap:10px;
    margin:4px 0 8px;
}

.turnstile-note{
    margin:0;
    color:#7a746c;
    font-size:0.9rem;
    line-height:1.7;
}

@media(max-width:900px){
    .real-story,
    .real-story-reverse{
        grid-template-columns:1fr;
        gap:22px;
        align-items:start;
    }
}

@media(max-width:768px){
    .real-story{
        padding:28px 0;
    }

    .real-life-hero h1{
        font-size:clamp(2.1rem, 9vw, 3rem);
    }

    .real-life-hero p{
        font-size:0.96rem;
    }

    .real-story-meta{
        margin-bottom:8px;
        font-size:0.7rem;
        letter-spacing:0.06em;
    }

    .real-story-copy h2{
        font-size:clamp(2rem, 11vw, 3rem);
    }

    .submit-hero h1{
        font-size:clamp(2.2rem, 10vw, 3.2rem);
    }

    .story-form textarea{
        min-height:220px;
    }
}

.pathways{
    padding-top:108px;
}

.pathways-header{
    max-width:700px;
    margin-bottom:36px;
}

.pathways-header h2{
    font-size:3rem;
    line-height:0.98;
    margin-top:10px;
}

.pathways-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:28px;
}

.pathway-block{
    padding:34px 30px;
    border-radius:30px;
}

.pathway-block h3{
    font-size:2rem;
    line-height:1;
    margin-bottom:12px;
}

.pathway-block p{
    color:var(--editorial-muted);
    line-height:1.86;
    margin-bottom:16px;
}

.pathway-block a{
    display:block;
    text-decoration:none;
    color:#30261d;
    padding:13px 0;
    border-top:1px solid rgba(126, 102, 74, 0.14);
}

@media(max-width:1100px){
    .cover-hero,
    .lead-story,
    .journal-grid,
    .fixes-layout,
    .style-columns{
        grid-template-columns:1fr;
    }

    .journal-note{
        position:static;
    }

    .style-story-offset{
        margin-top:0;
    }
}

@media(max-width:900px){
    .cover-hero{
        padding:86px 0 40px;
    }

    .lead-story-card,
    .issues-feature{
        grid-template-columns:1fr;
    }

    .lead-story-art,
    .issues-feature-media img{
        min-height:360px;
    }

    .pathways-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:768px){
    .cover-hero{
        padding:54px 0 28px;
        gap:24px;
    }

    .cover-hero-main h1{
        font-size:clamp(3.2rem, 16vw, 5.1rem);
    }

    .lead-story{
        padding-bottom:42px;
    }

    .lead-story-copy,
    .issues-feature-copy{
        padding:28px 22px;
    }

    .lead-story-copy h2,
    .issues-feature-copy h3,
    .pathways-header h2{
        font-size:2.2rem;
    }

    .journal-feature .card-media,
    .style-story .card-media{
        min-height:320px;
    }

    .journal-card .card-media{
        min-height:220px;
    }

    .rail-card,
    .mini-note,
    .journal-note,
    .issue-link-card,
    .style-text-panel,
    .pathway-block{
        padding:24px 20px;
        border-radius:24px;
    }

    .journal-copy h3,
    .style-story-copy h3,
    .mini-note h3,
    .issue-link-card h3,
    .pathway-block h3{
        font-size:1.7rem;
    }

    .explore-hero{
        padding:68px 0 34px;
    }

    .explore-hero h1{
        font-size:clamp(2.9rem, 14vw, 4.5rem);
    }
}

/* Hero refresh */

.cover-hero--editorial{
    position:relative;
    width:100%;
    min-height:88vh;
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    border-radius:0 0 32px 32px;
    background:#e9e1d6;
    box-shadow:0 28px 60px rgba(40, 28, 18, 0.10);
    isolation:isolate;
    padding:0;
    gap:0;
}

.cover-hero-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    display:block;
}

.cover-hero-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg, rgba(24, 19, 15, 0.54) 0%, rgba(24, 19, 15, 0.34) 32%, rgba(24, 19, 15, 0.14) 58%, rgba(24, 19, 15, 0.08) 100%),
        linear-gradient(180deg, rgba(24, 19, 15, 0.04) 0%, rgba(24, 19, 15, 0.16) 100%);
    z-index:1;
}

.cover-hero-content{
    position:relative;
    z-index:2;
    max-width:640px;
    padding:0 28px 56px;
    color:#f7f1e8;
}

.cover-hero-kicker{
    margin:0 0 14px;
    font-size:0.72rem;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:rgba(247, 241, 232, 0.82);
    font-family:"Avenir Next","Segoe UI",Arial,sans-serif;
}

.cover-hero-content h1{
    margin:0 0 16px;
    font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif;
    font-size:clamp(2.8rem, 6.3vw, 5.8rem);
    line-height:0.92;
    letter-spacing:-0.04em;
    text-wrap:balance;
    text-shadow:0 10px 30px rgba(0,0,0,0.16);
    max-width:700px;
}

.cover-hero-content p{
    margin:0 0 24px;
    max-width:34ch;
    font-size:1.05rem;
    line-height:1.85;
    color:rgba(247, 241, 232, 0.92);
    font-family:"Avenir Next","Segoe UI",Arial,sans-serif;
}

.cover-hero-content .hero-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 22px;
    border-radius:999px;
    background:#f5eee4;
    color:#201914;
    text-decoration:none;
    font-size:0.9rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    box-shadow:0 14px 28px rgba(0,0,0,0.12);
    transition:background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.cover-hero-content .hero-btn:hover{
    background:#fffaf4;
    transform:translateY(-1px);
    box-shadow:0 18px 34px rgba(0,0,0,0.16);
}

@media (max-width: 768px){
    .cover-hero--editorial{
        min-height:82vh;
        border-radius:0 0 24px 24px;
    }

    .cover-hero-overlay{
        background:
            linear-gradient(180deg, rgba(24, 19, 15, 0.16) 0%, rgba(24, 19, 15, 0.52) 100%),
            linear-gradient(90deg, rgba(24, 19, 15, 0.28) 0%, rgba(24, 19, 15, 0.12) 100%);
    }

    .cover-hero-content{
        padding:0 18px 32px;
        max-width:100%;
    }

    .cover-hero-content h1{
        font-size:clamp(2.45rem, 11.7vw, 3.8rem);
    }

    .cover-hero-content p{
        font-size:0.98rem;
        max-width:28ch;
    }
}
