/* Reading roles continue the chosen composition; data gets its own responsive layout. */
.php-article .cover-split .split-copy h1{font-size:clamp(48px,5.4vw,82px);line-height:1.02;letter-spacing:-.035em;text-wrap:initial;hyphens:none}
.php-title-premise,.php-title-result{display:block}
.php-article .php-title-result{max-width:24ch;margin-top:28px;font-size:clamp(25px,2.35vw,36px);font-weight:500;line-height:1.2;letter-spacing:-.025em;color:#d1c8bc}
.php-title-number{color:var(--amber);font-weight:700;white-space:nowrap}
.article-meta{margin:24px 0 0;color:var(--soft);font-size:14px;font-weight:450;line-height:1.5}
.php-article .essay{padding-bottom:96px}
.article-intro{margin:0 auto clamp(80px,9vw,128px)}
.article-intro>.prose:first-child>p:first-child{font-size:21px;line-height:1.5;font-weight:500}
.php-article .chapter{margin-bottom:clamp(80px,9vw,128px)}
.php-article .chapter:last-child{margin-bottom:0}
.php-article .prose{line-height:1.55}
.php-article .prose a,.article-table a{overflow-wrap:anywhere;text-decoration-color:rgba(246,162,74,.55);text-decoration-thickness:1px;text-underline-offset:.19em}
.php-article .prose a:hover,.article-table a:hover{color:var(--amber);text-decoration-color:currentColor}
.php-article .prose h3{margin:2em 0 .85em;color:var(--ink);font-size:24px;font-weight:600;letter-spacing:-.025em;line-height:1.25;overflow-wrap:anywhere}
.php-article .prose h3:first-child{margin-top:0}
.php-article .prose ul,.php-article .prose ol{margin:1.15em 0;padding-left:1.35em}
.php-article .prose li{padding-left:.18em;margin:0 0 .85em}
.php-article .prose li:last-child{margin-bottom:0}
.php-article .prose li::marker{color:var(--amber)}
.php-article .chapter-content>.code-sample+.prose,.php-article .chapter-content>.article-table+.prose,.php-article .chapter-content>#html-block+.prose,.php-article .chapter-content>.article-formula+.prose,.article-intro>.article-table+.prose{margin-top:30px}
.php-article .code-sample{width:min(100%,960px);margin-block:36px 0}
.php-article .code-head button{min-height:44px}
.php-article .code-sample pre{line-height:1.6;overflow-wrap:normal}
.php-article .code-sample .k,.php-article .code-sample .kd,.php-article .code-sample .kn,.php-article .code-sample .kp,.php-article .code-sample .kr,.php-article .code-sample .kt{color:var(--amber)}
.php-article .code-sample .c,.php-article .code-sample .c1,.php-article .code-sample .cm,.php-article .code-sample .cp{color:#bdb5aa}
.php-article .code-sample .gd{color:#e9aa96}
.php-article .code-sample .gi{color:#c1d6b2}
.article-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.article-table{width:min(100%,1120px);margin:36px auto 0}
.table-desktop table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:16px;line-height:1.5}
.table-desktop th,.table-desktop td{padding:18px 16px;vertical-align:top;text-align:left;border-bottom:1px solid rgba(229,223,212,.14);overflow-wrap:anywhere;font-weight:450}
.table-desktop thead th{padding-top:0;padding-bottom:14px;color:#bdb5aa;font-weight:500;font-size:14px;line-height:1.45;border-bottom-color:rgba(229,223,212,.3)}
.table-desktop tbody th{font-weight:550}
.table-desktop th:first-child{padding-left:0}
.table-desktop td:last-child,.table-desktop th:last-child{padding-right:0}
.table-credits th:first-child{width:44%}
.table-credits th:nth-child(2){width:23%}
.table-rules th:first-child{width:50%}
.table-implementations th:first-child,.table-frameworks th:first-child{width:22%}
.table-mobile{display:none}
.article-formula{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;width:min(100%,var(--measure));margin:32px auto;color:var(--ink);font-size:25px;line-height:1.4}
.article-formula math{font-size:1em}
.benchmark-figure{width:min(100%,1000px);margin:40px auto 0;padding:0}
.benchmark-figure>figcaption{margin-bottom:24px;color:var(--ink);font-size:18px;font-weight:550}
.chart-group+.chart-group{margin-top:34px}
.chart-group-title{margin:0 0 18px;color:#bdb5aa;font-size:14px;line-height:1.5}
.chart-list{margin:0;padding:0;list-style:none}
.chart-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,2.5fr) 5em;align-items:center;gap:20px;margin-bottom:20px}
.chart-label{min-width:0;font-size:16px;font-weight:450;line-height:1.4;overflow-wrap:anywhere}
.chart-value{font-size:20px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.chart-track{position:relative;display:block;height:10px;background:rgba(229,223,212,.08)}
.chart-track::after{content:"";position:absolute;left:40.96%;top:-6px;height:22px;border-left:1px dashed #d8c3a7}
.chart-fill{display:block;height:100%;background:var(--amber)}
.chart-selfReported .chart-fill{background:repeating-linear-gradient(115deg,rgba(189,181,170,.65) 0 2px,transparent 2px 6px);border:1px solid #bdb5aa}
.chart-key,.chart-disclaimer{margin:18px 0 0;color:#bdb5aa;font-size:14px;line-height:1.5}
.chart-key span{display:inline-block;width:16px;margin-right:8px;border-top:1px dashed #d8c3a7;vertical-align:middle}
.chart-disclaimer{max-width:65ch;margin-top:8px}
@media(max-width:900px){
 .table-desktop{display:none}
 .table-mobile{display:block;width:min(100%,var(--measure));margin:auto;font-size:17px;line-height:1.5}
 .table-mobile dl{margin:0}
 .table-mobile dl>div{padding:22px 0;border-top:1px solid rgba(229,223,212,.17)}
 .table-mobile dt{margin:0 0 9px;color:var(--ink);font-weight:600;overflow-wrap:anywhere}
 .table-mobile dd{margin:0;color:#d1c8bc;overflow-wrap:anywhere}
 .table-mobile dd+dd{margin-top:9px}
 .table-field{display:block;margin-bottom:4px;color:#bdb5aa;font-size:14px;font-weight:500}
 .mobile-comparison+.mobile-comparison{margin-top:40px}
 .php-article .mobile-comparison h3{margin:0 0 22px;color:var(--ink);font-size:23px;font-weight:600;line-height:1.25;letter-spacing:-.02em;overflow-wrap:anywhere}
 .mobile-comparison dl>div{border:0;padding:0 0 20px}
 .mobile-comparison dt{margin-bottom:4px;color:#bdb5aa;font-size:14px;font-weight:500}
 .mobile-comparison dd{color:var(--ink);font-size:18px;line-height:1.5}
}
@media(max-width:760px){
 .php-article .cover-split .split-copy h1{font-size:clamp(44px,13.8vw,58px);line-height:1.01;letter-spacing:-.035em}
 .php-article .php-title-result{margin-top:20px;font-size:27px;line-height:1.17;max-width:24ch}
 .article-meta{margin-top:16px}
 .php-article .cover-split .cover-figure img{height:26svh;max-height:260px}
 .php-article .cover{gap:22px}
 .article-intro>.prose:first-child>p:first-child{font-size:20px}
 .article-table{margin-top:30px}
 .php-article .code-sample{margin-top:30px}
 .chart-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:end;margin-bottom:24px}
 .chart-track{grid-column:1/-1;grid-row:2;margin-block:3px 5px}
 .chart-value{grid-column:2;grid-row:1}
 .chart-group-title{max-width:30ch}
 .chart-disclaimer{max-width:none}
 .article-formula{font-size:23px;gap:10px}
}

.php-article .cover-image{display:block;min-height:0;padding:clamp(16px,2.3vw,32px) var(--gutter) 0}
.php-article .cover-image::before,.php-article .cover-image::after{display:none}
.php-article .cover-image .cover-figure{width:min(100%,1440px);margin:0 auto}
.php-article .cover-image .cover-figure a{display:block;width:100%}
.php-article .cover-image .cover-figure img{width:100%;height:auto;max-height:none;aspect-ratio:1672/941;object-fit:contain}
.php-article .cover-image .article-meta{position:static;margin:16px 0 0;padding:0;background:none;color:var(--soft);font-size:14px;line-height:1.5}
@media(max-width:760px){.php-article .cover-image{padding:16px 22px 0}}
@media(max-width:360px){.php-article .cover-image{padding-inline:18px}}
