/* =====================================================
DATAGUY EDITORIAL SYSTEM V2.0
Production Edition
Fully Namespaced Architecture
===================================================== */

:root{

--dq-bg:#F9F6EE;
--dq-text:#111111;
--dq-white:#FFFFFF;

--dq-blue:#003C7A;
--dq-red:#B22222;

--dq-border:#E5E5E5;
--dq-muted:#666666;

}

/* =====================================================
RESET
===================================================== */

.dg-container,
.dg-container *{
box-sizing:border-box;
}

.dg-container{
max-width:860px;
margin:0 auto;
padding:72px 28px;
font-family:'Inter',sans-serif;
color:var(--dq-text);
font-size:18px;
line-height:1.8;
-webkit-font-smoothing:antialiased;
text-rendering:optimizeLegibility;
}

/* =====================================================
HERO
===================================================== */

.dg-hero{
margin-bottom:60px;
border-bottom:1px solid var(--dq-border);
}

.dg-label{
display:inline-block;
font-size:12px;
font-weight:700;
letter-spacing:2px;
text-transform:uppercase;
padding:10px 16px;
border:1px solid var(--dq-blue);
color:var(--dq-blue);
margin-bottom:28px;
background:transparent;
}

.dg-container h1{
font-size:clamp(42px,6vw,72px);
line-height:1.05;
letter-spacing:-0.04em;
font-weight:800;
margin-bottom:24px;
max-width:900px;
color:var(--dq-text);
}

.dg-subtitle{
font-size:clamp(22px,3vw,30px);
line-height:1.55;
color:#444;
margin-bottom:32px;
}

.dg-author-line{
font-size:15px;
color:var(--dq-muted);
}

.dg-author-line a{
color:var(--dq-text);
text-decoration:none;
font-weight:600;
border-bottom:1px solid var(--dq-text);
}

.dg-article-meta{
font-size:15px;
color:var(--dq-muted);
}

/* =====================================================
HERO IMAGE
===================================================== */

.dg-hero-image{
margin:48px 0;
background:var(--dq-white);
border:2px solid var(--dq-text);
}

.dg-hero-image img{
display:block;
width:100%;
height:auto;
}

/* =====================================================
EXECUTIVE SUMMARY
===================================================== */

.dg-executive-summary{
background:var(--dq-white);
border-left:4px solid var(--dq-blue);
padding:28px 32px;
margin-bottom:60px;
}

.dg-executive-summary > h3{
font-size:14px;
letter-spacing:2px;
text-transform:uppercase;
font-weight:700;
margin:0 0 18px 0;
color:var(--dq-blue);
}

.dg-executive-summary ul{
margin-left:20px;
}

.dg-executive-summary li{
margin-bottom:10px;
line-height:1.7;
}

/* =====================================================
ARTICLE
===================================================== */

.dg-article{
display:flex;
flex-direction:column;
gap:18px;
}

.dg-article p{
margin:0;
color:#1f1f1f;
}

.dg-article ul{
padding-left:22px;
margin:8px 0 16px;
}

.dg-article li{
margin-bottom:8px;
line-height:1.75;
}

.dg-article strong{
font-weight:700;
}

/* =====================================================
HEADINGS
===================================================== */

.dg-container h2{
font-size:clamp(34px,4vw,48px);
line-height:1.1;
letter-spacing:-0.03em;
font-weight:800;
margin-bottom:22px;
color:var(--dq-text);
}

.dg-container h3{
font-size:30px;
line-height:1.25;
font-weight:700;
margin-top:28px;
margin-bottom:12px;
color:var(--dq-text);
}

.dg-container h4{
font-size:28px;
line-height:1.2;
font-weight:700;
color:var(--dq-text);
}

.dg-section-intro{
font-size:24px;
line-height:1.7;
color:#333;
}

/* =====================================================
INSIGHT BOX
===================================================== */

.dg-insight-box{
background:var(--dq-white);
border-left:4px solid var(--dq-blue);
padding:28px 32px;
margin:36px 0;
}

.dg-insight-box-title{
font-size:12px;
font-weight:700;
letter-spacing:2px;
text-transform:uppercase;
margin-bottom:14px;
color:var(--dq-blue);
}

.dg-insight-box p{
font-size:22px;
line-height:1.65;
font-weight:500;
color:var(--dq-text);
}

/* =====================================================
FRAMEWORK
===================================================== */

.dg-framework{
border:1px solid var(--dq-blue);
padding:32px;
margin:42px 0;
background:var(--dq-white);
}

.dg-framework-label{
font-size:12px;
font-weight:700;
letter-spacing:2px;
text-transform:uppercase;
margin-bottom:18px;
color:var(--dq-blue);
}

.dg-framework h4{
margin-bottom:24px;
}

.dg-framework-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:16px;
margin-top:20px;
}

.dg-framework-card{
border:1px solid var(--dq-border);
padding:18px;
background:var(--dq-white);
}

.dg-framework-card-title{
font-size:12px;
font-weight:700;
text-transform:uppercase;
letter-spacing:1px;
margin-bottom:8px;
color:var(--dq-muted);
}

.dg-framework-card-number{
font-size:32px;
font-weight:800;
line-height:1;
margin-bottom:8px;
color:var(--dq-blue);
}

.dg-framework-card p{
font-size:15px;
line-height:1.6;
color:#444;
}

/* =====================================================
TABLES
===================================================== */

.dg-table-wrapper{
overflow-x:auto;
margin:32px 0;
}

.dg-container table{
width:100%;
border-collapse:collapse;
font-size:16px;
background:var(--dq-white);
}

.dg-container th{
text-align:left;
padding:16px;
background:var(--dq-text);
color:var(--dq-white);
font-weight:600;
}

.dg-container td{
padding:16px;
border:1px solid var(--dq-border);
vertical-align:top;
line-height:1.6;
}

/* =====================================================
BLOCKQUOTE
===================================================== */

.dg-container blockquote{
font-size:clamp(24px,3vw,34px);
line-height:1.5;
font-weight:600;
padding-left:24px;
margin:42px 0;
border-left:4px solid var(--dq-blue);
color:var(--dq-text);
}

/* =====================================================
CHAPTER DIVIDER
===================================================== */

.dg-chapter-divider{
margin:72px 0 42px;
text-align:center;
font-size:12px;
font-weight:700;
letter-spacing:2px;
text-transform:uppercase;
color:var(--dq-muted);
}

/* =====================================================
AUTHOR NOTE
===================================================== */

.dg-author-note{
margin-top:72px;
padding-top:28px;
border-top:1px solid var(--dq-border);
font-size:14px;
line-height:1.7;
color:var(--dq-muted);
}

/* =====================================================
READABILITY
===================================================== */

.dg-article p + p{
margin-top:2px;
}

.dg-article table + p{
margin-top:10px;
}

.dg-article blockquote + p{
margin-top:10px;
}

.dg-framework + p{
margin-top:10px;
}

.dg-insight-box + p{
margin-top:10px;
}


@media (max-width:1024px){

.dg-framework-grid{
grid-template-columns:repeat(2,1fr);
}

}

/* =====================================================
MOBILE
===================================================== */

@media (max-width:768px){

.dg-container{
padding:32px 20px;
font-size:17px;
line-height:1.75;
}

.dg-hero{
margin-bottom:40px;
}

.dg-container h1{
font-size:42px;
}

.dg-subtitle{
font-size:21px;
}

.dg-container h2{
font-size:32px;
}

.dg-section-intro{
font-size:21px;
}

.dg-framework{
padding:22px;
}

.dg-framework-grid{
grid-template-columns:1fr;
gap:12px;
}

.dg-framework-card{
padding:16px;
}

.dg-insight-box{
padding:22px;
}

.dg-insight-box p{
font-size:20px;
}

.dg-container blockquote{
font-size:24px;
padding-left:18px;
}

.dg-chapter-divider{
margin:56px 0 28px;
}

.dg-container table{
font-size:15px;
min-width:600px;
}

.dg-container th,
.dg-container td{
padding:12px;
}

.dg-author-note{
margin-top:56px;
}

.dg-executive-summary{
padding:24px;
}

.dg-label{
font-size:11px;
padding:8px 12px;
}

}

p.last-updated{
display:none !important;
}
