:root{
    --ds-black:#090909;
    --ds-paper:#f5f5f0;
    --ds-white:#fff;
    --ds-orange:#ff4d19;
    --ds-orange-soft:#ff914d;
    --ds-line:#d3d3cc;
    --ds-dark-line:#2b2b2b;
    --ds-muted:#777;
    --ds-copy:#333;
    --ds-wrap:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.insight-page{
    margin:0;
    background:var(--ds-paper);
    color:#111;
    font-family:Manrope,sans-serif;
    overflow-x:hidden;
}
.insight-shell{width:min(var(--ds-wrap),calc(100% - 80px));margin:auto}
.insight-progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:10050;pointer-events:none}
.insight-progress span{display:block;width:0;height:100%;background:var(--ds-orange);transform-origin:left}

.insight-hero{
    min-height:100svh;
    background:var(--ds-black);
    color:#fff;
    padding:78px 0 0;
    position:relative;
    overflow:hidden;
}
.insight-hero:before{
    content:"";
    position:absolute;
    width:70vw;height:70vw;
    right:-35vw;top:12%;
    background:radial-gradient(circle,rgba(255,77,25,.12),transparent 63%);
    pointer-events:none;
}
.insight-breadcrumbs{
    display:flex;gap:10px;align-items:center;
    padding:30px 0 0;
    font:10px "DM Mono",monospace;
    text-transform:uppercase;letter-spacing:.07em;color:#666;
}
.insight-breadcrumbs a{color:#888;text-decoration:none}
.insight-breadcrumbs a:hover{color:var(--ds-orange)}
.insight-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1.12fr) minmax(350px,.88fr);
    gap:70px;align-items:center;
    min-height:calc(100svh - 110px);
    padding:65px 0 80px;
}
.insight-hero-copy{position:relative;z-index:2}
.eyebrow,.section-kicker,.micro-label{
    font:10px/1.2 "DM Mono",monospace;
    letter-spacing:.1em;text-transform:uppercase;
}
.eyebrow span{color:var(--ds-orange)}
.insight-kicker{
    font:10px "DM Mono",monospace;
    color:#666;text-transform:uppercase;letter-spacing:.1em;
    margin:28px 0 18px;
}
.insight-hero h1{
    font-size:clamp(62px,8.2vw,118px);
    line-height:.82;
    letter-spacing:-.08em;
    font-weight:800;
    max-width:1000px;
    margin:0;
}
.insight-dek{
    max-width:650px;
    margin:35px 0 30px;
    font-size:18px;
    line-height:1.65;
    color:#999;
}
.insight-meta{
    display:flex;flex-wrap:wrap;align-items:center;gap:17px;
    color:#666;font:9px "DM Mono",monospace;text-transform:uppercase;
}
.author-chip{display:inline-flex;gap:10px;align-items:center;color:#fff;text-decoration:none}
.author-chip span:last-child{display:grid;gap:3px}
.author-chip strong{font:11px Manrope,sans-serif}
.author-chip small{font:9px "DM Mono",monospace;color:#666}
.author-dot{
    display:grid;place-items:center;width:32px;height:32px;
    border:1px solid #333;color:var(--ds-orange);
    font:9px "DM Mono",monospace;
}

.insight-hero-art{
    height:510px;position:relative;overflow:hidden;
    border-left:1px solid #252525;
    transform-style:preserve-3d;
}
.art-grid{
    position:absolute;inset:0;
    background-image:linear-gradient(#222 1px,transparent 1px),linear-gradient(90deg,#222 1px,transparent 1px);
    background-size:44px 44px;
    opacity:.55;
    mask-image:radial-gradient(circle at 50% 50%,#000 15%,transparent 78%);
}
.art-orbit{
    position:absolute;left:50%;top:50%;
    border:1px solid rgba(255,77,25,.55);
    border-radius:50%;
    transform:translate(-50%,-50%) rotate(-18deg);
    animation:spin 20s linear infinite;
}
.orbit-a{width:82%;height:42%}
.orbit-b{width:54%;height:78%;border-color:#333;animation-duration:27s;animation-direction:reverse}
.art-card{
    position:absolute;
    border:1px solid #303030;
    background:#111;
    box-shadow:0 30px 70px rgba(0,0,0,.35);
}
.art-card-main{
    left:10%;top:38%;width:80%;
    padding:24px;
    display:flex;justify-content:space-between;align-items:center;
    font:10px "DM Mono",monospace;letter-spacing:.1em;
}
.art-card-main b{font-size:19px;color:var(--ds-orange)}
.art-card-small{
    padding:11px 13px;
    font:8px "DM Mono",monospace;
    color:#999;
    animation:float 5s ease-in-out infinite;
}
.card-one{left:5%;top:17%}.card-two{right:5%;top:27%;animation-delay:-1.8s}.card-three{right:17%;bottom:15%;animation-delay:-3s}
.art-glow{
    position:absolute;width:300px;height:300px;
    left:50%;top:50%;transform:translate(-50%,-50%);
    background:radial-gradient(circle,rgba(255,77,25,.13),transparent 68%);
}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(342deg)}}
@keyframes float{50%{transform:translateY(-12px)}}

.reader-intro{
    padding:80px 0;
    background:var(--ds-paper);
    border-bottom:1px solid var(--ds-line);
}
.reader-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:end}
.reader-intro h2{
    max-width:650px;margin:16px 0 0;
    font-size:clamp(46px,5.8vw,76px);
    line-height:.88;letter-spacing:-.07em;
}
.reader-intro p{max-width:470px;color:#777;line-height:1.7;margin:0 0 22px}
.reader-launch{
    display:inline-flex;gap:20px;align-items:center;
    border:1px solid #111;background:#111;color:#fff;
    padding:15px 18px;
    font:10px "DM Mono",monospace;text-transform:uppercase;
    cursor:pointer;transition:.25s;
}
.reader-launch:hover{background:var(--ds-orange);border-color:var(--ds-orange);transform:translateY(-3px)}

.quick-answer{padding:105px 0;background:#ededE7}
.answer-label{font:10px "DM Mono",monospace;letter-spacing:.1em;margin-bottom:18px;color:#777}
.answer-label span{color:var(--ds-orange)}
.answer-box{
    background:#fff;
    border:1px solid var(--ds-line);
    padding:45px;
}
.answer-top{
    display:flex;justify-content:space-between;
    font:9px "DM Mono",monospace;letter-spacing:.1em;color:#777;
}
.answer-badge{color:var(--ds-orange)}
.answer-box h2{
    font-size:clamp(34px,4.5vw,60px);
    line-height:.92;letter-spacing:-.06em;margin:25px 0;
}
.answer-box>p{font-size:17px;line-height:1.75;color:#444;max-width:880px}
.answer-points{
    display:grid;grid-template-columns:repeat(3,1fr);
    border-top:1px solid var(--ds-line);margin-top:32px;
}
.answer-points div{padding:20px 18px 0 0;display:flex;gap:12px;font-size:13px;line-height:1.55}
.answer-points b{font:10px "DM Mono",monospace;color:var(--ds-orange)}

.insight-body-wrap{
    width:min(var(--ds-wrap),calc(100% - 80px));
    margin:auto;
    display:grid;
    grid-template-columns:205px minmax(0,820px);
    gap:85px;
    align-items:start;
}
.quick-links{position:sticky;top:100px;height:max-content;padding:80px 0 0}
.quick-links-inner{border-top:1px solid var(--ds-line);padding-top:15px}
.quick-links-head{
    display:flex;justify-content:space-between;
    color:#777;font:9px "DM Mono",monospace;letter-spacing:.1em;
    margin-bottom:13px;
}
.quick-links nav{display:grid}
.quick-links nav a{
    display:grid;grid-template-columns:28px 1fr;gap:6px;
    padding:8px 0;
    color:#888;text-decoration:none;
    font:9px/1.35 "DM Mono",monospace;text-transform:uppercase;
    transition:.2s;
}
.quick-links nav a span{color:#aaa}
.quick-links nav a:hover,.quick-links nav a.active{color:#111;transform:translateX(4px)}
.quick-links nav a.active span{color:var(--ds-orange)}
.quick-reader{
    width:100%;margin-top:17px;
    padding:11px 10px;background:transparent;
    border:1px solid var(--ds-line);
    color:#111;text-align:left;
    font:9px "DM Mono",monospace;cursor:pointer;
}
.quick-reader:hover{border-color:#111}

.insight-content{min-width:0}
.reader-bar{
    position:sticky;top:78px;z-index:20;
    padding:15px 0 12px;
    margin-bottom:85px;
    background:rgba(245,245,240,.94);
    backdrop-filter:blur(15px);
    border-bottom:1px solid var(--ds-line);
}
.reader-bar-top{
    display:grid;grid-template-columns:105px 1fr auto;
    gap:15px;align-items:center;
    font:9px "DM Mono",monospace;text-transform:uppercase;color:#777;
}
.reader-bar-top strong{color:#111}
.reader-controls{display:flex;align-items:center;gap:6px;margin-top:9px}
.reader-controls button{
    min-width:34px;height:32px;
    border:1px solid var(--ds-line);background:transparent;color:#111;
    cursor:pointer;font:10px "DM Mono",monospace;
}
.reader-controls button:hover{border-color:#111}
.reader-controls .reader-main{
    display:flex;gap:9px;align-items:center;
    padding:0 14px;background:#111;color:#fff;border-color:#111;
}
.speed-control{
    margin-left:auto;display:flex;align-items:center;gap:7px;
    color:#777;font:9px "DM Mono",monospace;
}
.speed-control select{
    padding:7px;border:1px solid var(--ds-line);
    background:transparent;color:#111;font:9px "DM Mono",monospace;
}

.article-section{
    display:grid;grid-template-columns:70px minmax(0,1fr);gap:30px;
    padding:0 0 125px;
    scroll-margin-top:135px;
}
.section-index{padding-top:7px;color:var(--ds-orange);font:11px "DM Mono",monospace}
.section-copy{max-width:820px}
.section-kicker{color:#777;margin:0 0 16px}
.section-copy h2{
    font-size:clamp(40px,5.2vw,70px);
    line-height:.91;letter-spacing:-.07em;margin:0 0 30px;
}
.section-copy>p{max-width:780px;font-size:17px;line-height:1.8;color:#444}
.perspective-note{
    margin-top:40px;padding:25px;
    border-left:2px solid var(--ds-orange);
    background:#ecece5;
}
.perspective-note span{font:9px "DM Mono",monospace}
.perspective-note p{margin:10px 0 0;font-size:15px;line-height:1.7}

.factor-grid{
    display:grid;grid-template-columns:repeat(2,1fr);
    border-top:1px solid var(--ds-line);margin-top:42px;
}
.factor-grid article{padding:25px 25px 28px 0;border-bottom:1px solid var(--ds-line)}
.factor-grid span{color:var(--ds-orange);font:9px "DM Mono",monospace}
.factor-grid h3{font-size:23px;margin:13px 0 7px}
.factor-grid p{font-size:13px;line-height:1.65;color:#777;margin:0}

.comparison-table{border-top:1px solid #aaa;margin-top:42px;font-size:13px}
.comparison-row{
    display:grid;grid-template-columns:1.1fr 1fr 1fr;
    gap:20px;padding:18px 0;border-bottom:1px solid var(--ds-line);
    line-height:1.5;
}
.comparison-head{font:9px "DM Mono",monospace;color:#777}
.comparison-row strong{font-size:14px}

.inline-cta{
    margin:0 0 125px;padding:42px;
    background:#111;color:#fff;
    display:flex;align-items:center;justify-content:space-between;gap:30px;
}
.inline-cta h2{font-size:clamp(30px,4vw,52px);line-height:.9;letter-spacing:-.06em;margin:12px 0 0}
.inline-cta-button{
    display:flex;justify-content:space-between;align-items:center;
    min-width:200px;padding:16px 18px;
    background:var(--ds-orange);color:#fff;text-decoration:none;
    font:10px "DM Mono",monospace;text-transform:uppercase;
    transition:.25s;
}
.inline-cta-button:hover{background:#ff602f;transform:translateY(-3px)}

.editorial-list{
    list-style:none;padding:0;margin:35px 0;
    border-top:1px solid var(--ds-line);
}
.editorial-list li{padding:19px 0;border-bottom:1px solid var(--ds-line);font-size:15px;line-height:1.55}
.editorial-list li:before{content:"→";color:var(--ds-orange);margin-right:12px}

.signal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:42px}
.signal-grid div{padding:24px;background:#ecece5}
.signal-grid span{font:9px "DM Mono",monospace;color:var(--ds-orange)}
.signal-grid h3{font-size:21px;line-height:1.05;margin:16px 0 9px}
.signal-grid p{font-size:12px;line-height:1.65;color:#777;margin:0}

.local-card{
    margin-top:40px;padding:30px;background:#111;color:#fff;
    display:grid;gap:9px;
}
.local-card span{font:9px "DM Mono",monospace;color:var(--ds-orange)}
.local-card strong{font-size:27px;letter-spacing:-.03em}
.local-card a{color:#fff;text-decoration:none;font:9px "DM Mono",monospace;margin-top:9px}
.local-card a:hover{color:var(--ds-orange)}

.checklist{
    display:grid;margin-top:35px;border-top:1px solid var(--ds-line)
}
.checklist div{padding:18px 0;border-bottom:1px solid var(--ds-line);font-size:15px}

.faq-list{border-top:1px solid var(--ds-line);margin-top:35px}
.faq-list details{border-bottom:1px solid var(--ds-line)}
.faq-list summary{
    list-style:none;cursor:pointer;padding:21px 30px 21px 0;
    font-size:16px;font-weight:700;position:relative;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:0;font:18px "DM Mono",monospace}
.faq-list details[open] summary:after{content:"−"}
.faq-list details p{padding:0 30px 23px 0;font-size:14px;line-height:1.75;color:#777}

.takeaway-section{padding-bottom:80px}
.closing-line{
    font:10px "DM Mono",monospace;letter-spacing:.12em;
    border-top:1px solid #111;border-bottom:1px solid #111;
    padding:20px 0;margin-top:40px;
}

.related-service{
    margin:0 0 120px;padding:45px;
    background:#e7e7e0;
    display:flex;align-items:center;justify-content:space-between;gap:40px;
}
.related-service h2{font-size:40px;line-height:.95;margin:12px 0}
.related-service p{max-width:590px;color:#777;line-height:1.65}
.related-service>a{
    white-space:nowrap;background:#111;color:#fff;
    padding:16px 18px;text-decoration:none;
    font:9px "DM Mono",monospace;
}
.related-service>a:hover{background:var(--ds-orange)}

.author-block{background:#111;color:#fff;padding:100px 0}
.author-grid{display:grid;grid-template-columns:105px 1fr;gap:45px;max-width:900px}
.author-mark{
    width:75px;height:75px;display:grid;place-items:center;
    border:1px solid #333;color:var(--ds-orange);
    font:12px "DM Mono",monospace;
}
.author-block h2{font-size:48px;line-height:.95;letter-spacing:-.05em;margin:12px 0}
.author-block p{max-width:680px;color:#888;line-height:1.75}
.author-block a{color:#fff;text-decoration:none;font:9px "DM Mono",monospace}
.author-block a:hover{color:var(--ds-orange)}

.related-insights{padding:105px 0}
.related-head h2{font-size:clamp(42px,5.5vw,70px);line-height:.9;letter-spacing:-.07em;margin:15px 0 42px}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.related-card{
    min-height:300px;padding:25px;background:#fff;
    border:1px solid var(--ds-line);
    color:#111;text-decoration:none;
    display:flex;flex-direction:column;
    transition:.3s;
}
.related-card span,.related-card b{font:9px "DM Mono",monospace;color:#777}
.related-card h3{font-size:28px;line-height:.98;letter-spacing:-.045em;margin:auto 0}
.related-card b{color:var(--ds-orange)}
.related-card:hover{transform:translateY(-6px);border-color:#111}

.next-insight{background:#e7e7e0;padding:80px 0}
.next-grid{display:grid;grid-template-columns:160px 1fr;gap:40px}
.next-grid>span{font:9px "DM Mono",monospace;color:#777}
.next-grid a{color:#111;text-decoration:none}
.next-grid h2{font-size:clamp(42px,6vw,82px);line-height:.86;letter-spacing:-.075em;margin:0 0 25px;max-width:900px}
.next-grid b{font:9px "DM Mono",monospace}

.reveal-section{
    opacity:0;transform:translateY(30px);
    transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);
}
.reveal-section.is-visible{opacity:1;transform:none}
.mobile-reader-dock{display:none}

@media(max-width:1050px){
    .insight-hero-grid{grid-template-columns:1fr;gap:10px}
    .insight-hero-art{height:380px;border-left:0;max-width:700px;width:100%;margin:auto}
    .insight-body-wrap{grid-template-columns:1fr}
    .quick-links{display:none}
    .reader-bar{top:70px}
}
@media(max-width:850px){
    .insight-shell,.insight-body-wrap{width:calc(100% - 40px)}
    .insight-hero{padding-top:70px}
    .insight-hero-grid{min-height:auto;padding:45px 0 60px}
    .insight-hero h1{font-size:clamp(55px,13vw,88px)}
    .reader-intro-grid{grid-template-columns:1fr;gap:35px}
    .answer-points{grid-template-columns:1fr}
    .signal-grid{grid-template-columns:1fr}
    .related-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
    .insight-shell,.insight-body-wrap{width:calc(100% - 30px)}
    .insight-breadcrumbs{padding-top:20px}
    .insight-hero-copy{padding-top:15px}
    .insight-hero h1{font-size:18vw}
    .insight-dek{font-size:16px}
    .insight-hero-art{height:300px}
    .reader-intro{padding:65px 0}
    .reader-intro h2{font-size:45px}
    .quick-answer{padding:70px 0}
    .answer-box{padding:25px}
    .answer-box h2{font-size:39px}
    .answer-box>p{font-size:15px}
    .reader-bar{top:62px;margin-bottom:55px}
    .reader-bar-top{grid-template-columns:1fr auto}
    .reader-bar-top>span:first-child{display:none}
    .speed-control{margin-left:0}
    .article-section{grid-template-columns:30px 1fr;gap:10px;padding-bottom:85px}
    .section-copy h2{font-size:42px}
    .section-copy>p{font-size:16px}
    .factor-grid{grid-template-columns:1fr}
    .comparison-row{grid-template-columns:1fr;gap:5px}
    .comparison-head{display:none}
    .inline-cta{display:grid;padding:28px;margin-bottom:85px}
    .related-service{display:grid;padding:30px;margin-bottom:85px}
    .related-service h2{font-size:35px}
    .author-block{padding:75px 0}
    .author-grid{grid-template-columns:1fr;gap:25px}
    .author-block h2{font-size:40px}
    .next-grid{grid-template-columns:1fr;gap:18px}
    .mobile-reader-dock{
        position:fixed;display:grid;
        grid-template-columns:40px 1fr 35px 35px;gap:6px;
        left:9px;right:9px;bottom:9px;z-index:10020;
        background:rgba(9,9,9,.96);color:#fff;padding:8px;
        box-shadow:0 15px 45px rgba(0,0,0,.25);
        backdrop-filter:blur(15px);
    }
    .mobile-reader-dock button{height:38px;background:transparent;border:1px solid #333;color:#fff}
    .mobile-reader-dock>div{display:grid;gap:3px}
    .mobile-reader-dock small{font:7px "DM Mono",monospace;color:#777}
    .mobile-reader-dock strong{font:10px Manrope,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media(prefers-reduced-motion:reduce){
    *,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
    .reveal-section{opacity:1;transform:none}
}
