body.single-post {
    background:var(--ap-color-bg);
}

.ap-single-magazine {
    background:
        radial-gradient(circle at top right, rgba(191,161,122,.12), transparent 34rem),
        var(--ap-color-bg);
    color:var(--ap-color-text);
}

.ap-magazine-hero {
    max-width:1380px;
    margin:0 auto;
    padding:78px 24px 72px;
}

.ap-magazine-hero__inner {
    max-width:980px;
    margin:0 auto 48px;
    text-align:center;
}

.ap-magazine-back,
.ap-magazine-meta,
.ap-magazine-aside__eyebrow,
.ap-magazine-related__head span,
.ap-magazine-card time,
.ap-magazine-pagination span {
    font-family:var(--ap-font-body);
    font-size:11px;
    font-weight:400;
    line-height:1.3;
    letter-spacing:.06em;
    text-transform:none;
}

.ap-magazine-back {
    display:inline-flex;
    margin-bottom:32px;
    color:var(--ap-color-accent-dark);
    text-decoration:none;
}

.ap-magazine-back::before {
    content:'';
    width:42px;
    height:1px;
    margin:auto 12px auto 0;
    background:currentColor;
}

.ap-magazine-back:hover {
    color:var(--ap-color-accent);
}

.ap-magazine-meta {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px 18px;
    margin-bottom:24px;
    color:var(--ap-color-muted);
}

.ap-magazine-meta span:not(:last-child)::after,
.ap-magazine-meta time::after {
    content:'·';
    margin-left:18px;
    color:var(--ap-color-line);
}

.ap-magazine-title {
    max-width:980px;
    margin:0 auto;
    font-family:var(--ap-font-heading);
    font-size:clamp(52px,7vw,66px);
    font-weight:300;
    line-height:.92;
    letter-spacing:-.055em;
    color:var(--ap-color-title);
    text-transform:none;
}

.ap-magazine-excerpt {
    max-width:860px;
    margin:30px auto 0;
    font-family:var(--ap-font-body);
    font-size:clamp(18px,1.4vw,22px);
    font-weight:300;
    line-height:1.5;
    letter-spacing:-.01em;
    color:var(--ap-color-soft-ink);
    text-align:center;
    text-transform:none;
}

@media (max-width:767px) {
    .ap-magazine-excerpt {
        max-width:100%;
        margin-top:22px;
        font-size:clamp(17px,4.8vw,18px);
        line-height:1.5;
    }
}

.ap-magazine-hero__media {
    margin:0;
    overflow:hidden;
    border:1px solid var(--ap-color-line);
    background:#eee8df;
}

.ap-magazine-hero__image {
    display:block;
    width:100%;
    height:min(68vh,760px);
    object-fit:cover;
}

.ap-magazine-body {
    display:grid;
    grid-template-columns:minmax(0,760px) 260px;
    gap:clamp(48px,7vw,112px);
    max-width:1160px;
    margin:0 auto;
    padding:88px 24px 104px;
    border-bottom:1px solid var(--ap-color-line);
}

.ap-magazine-content {
    color:var(--ap-color-text);
    font-family:var(--ap-font-body);
    font-size:18px;
    font-weight:300;
    line-height:1.82;
    letter-spacing:-.012em;
}

.ap-magazine-content > *:first-child {
    margin-top:0;
}

.ap-magazine-content p {
    margin:0 0 28px;
}

.ap-magazine-content strong {
    color:var(--ap-color-title);
    font-weight:500;
}

.ap-magazine-content em {
    color:var(--ap-color-title);
}

.ap-magazine-content blockquote {
    margin:52px 0;
    padding:0 0 0 34px;
    border-left:1px solid var(--ap-color-accent);
    color:var(--ap-color-title);
    font-family:var(--ap-font-heading);
    font-size:clamp(28px,3vw,46px);
    font-weight:300;
    line-height:1.08;
    letter-spacing:-.035em;
}

.ap-magazine-content blockquote p {
    margin:0;
}

.ap-magazine-content h2,
.ap-magazine-content h3 {
    margin:58px 0 22px;
    color:var(--ap-color-title);
    text-transform:none;
}

.ap-magazine-content img {
    display:block;
    max-width:100%;
    height:auto;
    margin:46px 0;
}

.ap-magazine-page-links {
    margin-top:38px;
}

.ap-magazine-aside {
    position:sticky;
    top:110px;
    align-self:start;
    color:var(--ap-color-muted);
}

.ap-magazine-aside__block {
    padding:0 0 28px;
    margin:0 0 28px;
    border-bottom:1px solid var(--ap-color-line);
}

.ap-magazine-aside__eyebrow {
    display:block;
    margin-bottom:14px;
    color:var(--ap-color-title);
}

.ap-magazine-aside p {
    margin:0;
    font-size:14px;
    line-height:1.65;
}

.ap-magazine-share {
    display:grid;
}

.ap-magazine-share a,
.ap-magazine-copy {
    display:flex;
    align-items:center;
    min-height:42px;
    padding:0;
    border:0;
    border-bottom:1px solid var(--ap-color-line);
    background:transparent;
    color:var(--ap-color-text);
    font:inherit;
    font-size:14px;
    line-height:1.2;
    text-align:left;
    text-decoration:none;
    text-transform:none;
    cursor:pointer;
    transition:color .25s ease, padding-left .25s ease;
}

.ap-magazine-share a:hover,
.ap-magazine-copy:hover {
    color:var(--ap-color-accent-dark);
    padding-left:6px;
}

.ap-magazine-pagination {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:1160px;
    margin:0 auto;
    border-right:1px solid var(--ap-color-line);
    border-bottom:1px solid var(--ap-color-line);
    border-left:1px solid var(--ap-color-line);
}

.ap-magazine-pagination__item {
    min-height:150px;
    padding:30px;
}

.ap-magazine-pagination__item + .ap-magazine-pagination__item {
    border-left:1px solid var(--ap-color-line);
}

.ap-magazine-pagination__item--next {
    text-align:right;
}

.ap-magazine-pagination span {
    display:block;
    margin-bottom:14px;
    color:var(--ap-color-muted);
}

.ap-magazine-pagination a {
    color:var(--ap-color-title);
    font-family:var(--ap-font-heading);
    font-size:clamp(24px,2.4vw,38px);
    font-weight:300;
    line-height:1.08;
    letter-spacing:-.035em;
    text-decoration:none;
    text-transform:none;
}

.ap-magazine-pagination a:hover {
    color:var(--ap-color-accent-dark);
}

.ap-magazine-related {
    max-width:1280px;
    margin:0 auto;
    padding:84px 24px 110px;
}

.ap-magazine-related__head {
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:24px;
    margin-bottom:34px;
}

.ap-magazine-related__head span {
    color:var(--ap-color-accent-dark);
}

.ap-magazine-related__head h2 {
    margin:0;
    font-family:var(--ap-font-heading);
    font-size:clamp(36px,4vw,62px);
    font-weight:300;
    letter-spacing:-.045em;
    color:var(--ap-color-title);
    text-transform:none;
}

.ap-magazine-related__grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-top:1px solid var(--ap-color-line);
    border-left:1px solid var(--ap-color-line);
}

.ap-magazine-card {
    border-right:1px solid var(--ap-color-line);
    border-bottom:1px solid var(--ap-color-line);
}

.ap-magazine-card a {
    display:block;
    min-height:100%;
    color:inherit;
    text-decoration:none;
}

.ap-magazine-card__media {
    display:block;
    aspect-ratio:1.08;
    overflow:hidden;
    background:#eee8df;
}

.ap-magazine-card__media img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .9s cubic-bezier(.19,1,.22,1), filter .9s cubic-bezier(.19,1,.22,1);
}

.ap-magazine-card:hover img {
    transform:scale(1.035);
    filter:saturate(.95) contrast(1.03);
}

.ap-magazine-card__copy {
    display:grid;
    gap:10px;
    padding:24px;
}

.ap-magazine-card time {
    color:var(--ap-color-muted);
}

.ap-magazine-card strong {
    color:var(--ap-color-title);
    font-family:var(--ap-font-body);
    font-size:18px;
    font-weight:300;
    line-height:1.32;
    text-transform:none;
}

@media (max-width:900px) {
    .ap-magazine-hero {
        padding:56px 16px 48px;
    }

    .ap-magazine-hero__image {
        height:auto;
        aspect-ratio:4 / 5;
    }

    .ap-magazine-body {
        grid-template-columns:1fr;
        gap:42px;
        padding:58px 18px 68px;
    }

    .ap-magazine-aside {
        position:static;
        order:2;
    }

    .ap-magazine-pagination {
        grid-template-columns:1fr;
        margin:0 18px;
    }

    .ap-magazine-pagination__item + .ap-magazine-pagination__item {
        border-top:1px solid var(--ap-color-line);
        border-left:0;
    }

    .ap-magazine-pagination__item--next {
        text-align:left;
    }

    .ap-magazine-related__head {
        display:block;
    }

    .ap-magazine-related__head h2 {
        margin-top:12px;
    }

    .ap-magazine-related__grid {
        grid-template-columns:1fr;
    }
}

/* Magazine v2 — refined editorial sidebar, reliable sticky and quotes */
.ap-magazine-aside {
    position:relative;
    top:auto;
    align-self:stretch;
    min-width:0;
    color:var(--ap-color-muted);
}

.ap-magazine-aside__sticky {
    position:sticky;
    top:clamp(88px, 10vh, 124px);
    max-height:calc(100vh - 150px);
    overflow:auto;
    overscroll-behavior:contain;
    scrollbar-width:none;
    border:1px solid var(--ap-color-line);
    background:rgba(255,255,255,.3);
}

.admin-bar .ap-magazine-aside__sticky {
    top:calc(clamp(88px, 10vh, 124px) + 32px);
    max-height:calc(100vh - 182px);
}

.ap-magazine-aside__sticky::-webkit-scrollbar {
    display:none;
}

.ap-magazine-aside__intro {
    padding:26px 24px 28px;
    background:color-mix(in srgb, var(--ap-color-accent) 7%, transparent);
    border-bottom:1px solid var(--ap-color-line);
}

.ap-magazine-aside__share-block {
    padding:26px 24px 20px;
}

.ap-magazine-aside__eyebrow {
    display:block;
    margin:0 0 12px;
    color:var(--ap-color-title);
    font-size:12px;
    font-weight:500;
    line-height:1.35;
    letter-spacing:.02em;
    text-transform:none;
}

.ap-magazine-aside p {
    margin:0;
    color:var(--ap-color-muted);
    font-size:14px;
    font-weight:300;
    line-height:1.65;
    letter-spacing:-.01em;
}

.ap-magazine-share {
    display:grid;
    margin-top:4px;
}

.ap-magazine-share a,
.ap-magazine-copy {
    appearance:none !important;
    -webkit-appearance:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-height:48px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-bottom:1px solid var(--ap-color-line) !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:var(--ap-color-text) !important;
    font-family:var(--ap-font-body) !important;
    font-size:14px !important;
    font-weight:300 !important;
    line-height:1.2 !important;
    letter-spacing:.045em !important;
    text-align:left !important;
    text-decoration:none !important;
    text-transform:none !important;
    cursor:pointer;
    transition:color .25s ease, transform .25s ease !important;
}

.ap-magazine-share a > span:last-child,
.ap-magazine-copy > span:last-child {
    color:var(--ap-color-accent-dark);
    font-size:13px;
    transform:translateX(0);
    transition:transform .25s ease;
}

.ap-magazine-share a:hover,
.ap-magazine-copy:hover {
    color:var(--ap-color-accent-dark) !important;
    padding-left:0 !important;
}

.ap-magazine-share a:hover > span:last-child,
.ap-magazine-copy:hover > span:last-child {
    transform:translateX(3px);
}

.ap-magazine-content blockquote {
    position:relative;
    margin:58px 0;
    padding:42px 44px 40px 56px;
    border:0;
    background:color-mix(in srgb, var(--ap-color-accent) 10%, #fff);
    color:var(--ap-color-title);
    font-family:var(--ap-font-heading);
    font-size:clamp(28px,3.1vw,44px);
    font-style:italic;
    font-weight:300;
    line-height:1.18;
    letter-spacing:-.035em;
}

.ap-magazine-content blockquote::before {
    content:'“';
    position:absolute;
    top:14px;
    left:18px;
    color:var(--ap-color-accent-dark);
    font-family:Georgia, serif;
    font-size:58px;
    font-style:normal;
    line-height:1;
    opacity:.85;
}

.ap-magazine-content blockquote::after {
    content:'';
    position:absolute;
    right:0;
    bottom:0;
    width:72px;
    height:1px;
    background:var(--ap-color-accent-dark);
}

.ap-magazine-content blockquote p {
    margin:0;
}

@media (max-width:900px) {
    .ap-magazine-aside {
        position:static;
        align-self:auto;
    }

    .ap-magazine-aside__sticky {
        position:static;
        max-height:none;
        overflow:visible;
    }
}

@media (max-width:600px) {
    .ap-magazine-content blockquote {
        margin:42px 0;
        padding:34px 28px 32px 42px;
        font-size:26px;
    }

    .ap-magazine-content blockquote::before {
        top:12px;
        left:14px;
        font-size:46px;
    }
}

/* Magazine v3 — refined editorial sidebar and quote blocks */
.ap-magazine-aside__sticky {
    border: 1px solid var(--ap-color-line);
    background: rgba(255,255,255,.34);
    box-shadow: 0 18px 45px rgba(35,28,19,.035);
    overflow: hidden;
}

.ap-magazine-aside__intro {
    padding: 28px 26px 26px;
    background: linear-gradient(180deg, rgba(183,150,127,.075), rgba(183,150,127,.025));
}

.ap-magazine-aside__share-block {
    padding: 24px 26px 22px;
}

.ap-magazine-aside__eyebrow {
    margin-bottom: 10px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .01em;
}

.ap-magazine-aside p {
    max-width: 19ch;
    font-size: 13px;
    line-height: 1.65;
}

.ap-magazine-share a,
.ap-magazine-copy {
    min-height: 46px !important;
    font-size: 14px !important;
    letter-spacing: .015em !important;
}

.ap-magazine-share__icon {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.35;
    stroke-linecap: round;
    stroke-linejoin: round;
    color: var(--ap-color-accent-dark);
    transition: transform .25s ease, color .25s ease;
}

.ap-magazine-share a:hover .ap-magazine-share__icon {
    transform: translate(2px,-2px);
}

.ap-magazine-copy:hover .ap-magazine-share__icon--copy {
    transform: translate(2px,-1px);
}

/* Stable sticky: no internal scrolling or clipping */
.ap-magazine-aside {
    align-self: start;
}

.ap-magazine-aside__sticky {
    top: calc(var(--ap-header-height, 76px) + 28px);
    max-height: none;
    overflow: visible;
}

.admin-bar .ap-magazine-aside__sticky {
    top: calc(var(--ap-header-height, 76px) + 60px);
}

/* Editorial quotation — aligned, clean, no decorative divider */
.ap-magazine-content blockquote {
    position: relative;
    display: grid;
    grid-template-columns: 30px minmax(0,1fr);
    column-gap: 20px;
    align-items: start;
    margin: 54px 0;
    padding: 34px 38px 35px;
    border: 1px solid color-mix(in srgb, var(--ap-color-accent) 27%, var(--ap-color-line));
    border-left: 3px solid var(--ap-color-accent-dark);
    background: color-mix(in srgb, var(--ap-color-accent) 7%, #fff);
    color: var(--ap-color-title);
    font-family: var(--ap-font-heading);
    font-size: clamp(24px,2.3vw,34px);
    font-style: italic;
    font-weight: 300;
    line-height: 1.3;
    letter-spacing: -.025em;
}

.ap-magazine-content blockquote::before {
    content: '“';
    position: static;
    display: block;
    margin-top: -4px;
    color: var(--ap-color-accent-dark);
    font-family: Georgia, serif;
    font-size: 48px;
    font-style: normal;
    line-height: 1;
    opacity: .9;
}

.ap-magazine-content blockquote::after {
    content: none;
    display: none;
}

.ap-magazine-content blockquote p {
    grid-column: 2;
    margin: 0;
    padding: 0;
}

@media (max-width: 900px) {
    .ap-magazine-aside__sticky,
    .admin-bar .ap-magazine-aside__sticky {
        top: auto;
    }
}

@media (max-width: 600px) {
    .ap-magazine-content blockquote {
        grid-template-columns: 24px minmax(0,1fr);
        column-gap: 14px;
        margin: 38px 0;
        padding: 26px 22px 27px;
        font-size: 23px;
    }

    .ap-magazine-content blockquote::before {
        font-size: 40px;
    }
}

/* Magazine v4 — sticky sidebar, Satoshi title and minimal arrows */
@media (min-width: 901px) {
    .ap-magazine-body {
        align-items: start;
        overflow: visible !important;
    }

    .ap-magazine-aside {
        position: sticky !important;
        top: calc(var(--ap-header-height, 76px) + 28px) !important;
        align-self: start !important;
        height: max-content;
        overflow: visible !important;
    }

    .admin-bar .ap-magazine-aside {
        top: calc(var(--ap-header-height, 76px) + 60px) !important;
    }

    .ap-magazine-aside__sticky {
        position: static !important;
        top: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }
}

.ap-magazine-aside__intro .ap-magazine-aside__eyebrow {
    font-family: 'Satoshi', var(--ap-font-body) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    letter-spacing: -.01em !important;
}

.ap-magazine-aside__share-block .ap-magazine-aside__eyebrow {
    font-family: 'Satoshi', var(--ap-font-body) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}

.ap-magazine-share__icon {
    display: none !important;
}

.ap-magazine-share__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    margin-left: 18px;
    color: var(--ap-color-accent-dark);
    font-family: Arial, sans-serif;
    font-size: 18px;
    font-weight: 300;
    line-height: 1;
    transform: translateX(0);
    transition: transform .25s ease, color .25s ease;
}

.ap-magazine-share a:hover .ap-magazine-share__arrow,
.ap-magazine-copy:hover .ap-magazine-share__arrow {
    transform: translateX(4px);
    color: var(--ap-color-title);
}
