/* Daniel Jorge Management — long-form topic pages (service details, engagements, sectors, resources, legal).
   Styles the preserved article markup inside .content sections with the redesign tokens. */
.content h2{font-family:var(--serif);font-weight:500;font-size:clamp(30px,3vw,42px);line-height:1.1;color:var(--ink);margin:0 0 18px}
.content h3{font-size:20px;font-weight:600;line-height:1.3;color:var(--ink);margin:28px 0 10px}
.content p{font-size:16px;line-height:1.75;color:var(--text-2);margin:0 0 16px}
.content p.lead{font-size:18px;color:var(--text-2)}
.content ul,.content ol{margin:0 0 20px;padding-left:22px;display:flex;flex-direction:column;gap:10px;font-size:16px;line-height:1.65;color:var(--text-2)}
.content li::marker{color:var(--accent)}
.content a:not(.btn):not(.card){text-decoration:underline;text-decoration-color:rgba(122,94,48,.35);text-underline-offset:3px}
.content .eyebrow{display:block;margin-bottom:14px}
.content h2:not(:first-child){margin-top:44px}
.content .card h2:not(:first-child){margin-top:0}
.band.content{margin-top:96px;padding-top:88px;padding-bottom:88px}
.content .prose{max-width:780px}
.content .prose>*:last-child,.content .card>*:last-child{margin-bottom:0}
.content .section-heading{display:flex;flex-direction:column;gap:6px;max-width:760px;margin-bottom:40px}
.content .section-heading.wide{max-width:none}
.content .section-heading h2{margin-bottom:6px}
/* Media split: text + photo */
.content .media-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:72px;align-items:center}
.content .media-panel,.content figure{margin:0;display:flex;flex-direction:column;gap:12px}
.content .media-panel img{width:100%;height:480px;object-fit:cover;border-radius:var(--radius)}
.content figcaption{font-size:14px;color:var(--muted)}
/* Body split: service side navigation + prose */
.content .body-split{display:grid;grid-template-columns:260px minmax(0,1fr);gap:64px;align-items:start}
.content .side-nav{position:sticky;top:110px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px}
.content .side-nav h3{margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.content .side-nav ul{list-style:none;padding:0;margin:0;gap:2px}
.content .side-nav a{display:block;padding:9px 0;font-size:14px;color:var(--text);text-decoration:none;border-bottom:1px solid var(--line-2)}
.content .side-nav a.is-current{color:var(--ink);font-weight:700;box-shadow:inset 2px 0 0 var(--accent);padding-left:12px}
.content .right-fit,.content .not-fit{margin-top:32px;padding:28px 30px;border-radius:var(--radius);border:1px solid var(--line);background:#fff}
.content .right-fit h3,.content .not-fit h3{margin-top:0}
.content .not-fit{background:var(--band)}
/* Grids and cards */
.content .grid{align-items:start}
.content .card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.content .card{padding:30px 32px;gap:8px;color:inherit}
.content a.card{text-decoration:none;transition:border-color .2s}
.content a.card:hover{border-color:#CDBF9F}
.content .card h2{font-size:30px}
.content .card h3{margin-top:4px}
.content .card .num,.content .num{font-family:var(--serif);font-size:22px;color:var(--accent)}
.content aside.card{position:sticky;top:110px;background:var(--band);border-color:var(--line)}
.content .visual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.content .visual-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;text-decoration:none!important;color:inherit}
.content .visual-card img{width:100%;height:240px;object-fit:cover}
.content .vc-body{padding:28px 30px 32px;display:flex;flex-direction:column;gap:6px}
.content .vc-body .num{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text)}
.content .vc-body h3{margin:4px 0 4px}
/* Notes, quotes, figures */
.content .note{border-left:2px solid var(--accent);background:#fff;padding:22px 26px;font-size:15px;line-height:1.7;color:var(--text-2);border-radius:0 var(--radius) var(--radius) 0}
.content blockquote{margin:28px 0 0;padding:6px 0 6px 24px;border-left:2px solid var(--accent);font-family:var(--serif);font-size:26px;line-height:1.35;font-style:italic;color:var(--ink)}
.content .quote-cite{display:block;margin-top:12px;font-family:var(--sans);font-style:normal;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.content .portrait-frame img{width:100%;height:auto;max-height:640px;object-fit:cover;object-position:center top;border-radius:var(--radius)}
.content .portrait{display:flex;flex-direction:column;gap:12px}
.content .portrait-caption{font-size:14px;color:var(--muted)}
.content .content-wave-figure{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px;max-width:980px}
.content .content-wave-figure img{width:100%;height:auto}
.content .fine-print{font-size:14px;color:var(--muted)}
.content .gallery-band{position:relative;border-radius:var(--radius);overflow:hidden}
.content .gallery-band img{width:100%;height:560px;object-fit:cover}
.content .caption-box{position:absolute;right:48px;top:50%;transform:translateY(-50%);width:min(480px,calc(100% - 96px));background:rgba(255,255,255,.95);border-radius:var(--radius);padding:40px}
.content .caption-box p:last-child{margin-bottom:0}
.content .button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.content .btn{text-decoration:none}
.content .btn-arrow::after{content:"→";margin-left:8px}
.cta-panel .eyebrow{margin-bottom:4px}
/* Tablet */
@media (max-width:1100px){
 .content .media-split{gap:48px}
 .content .body-split{grid-template-columns:220px minmax(0,1fr);gap:40px}
 .content .card-grid,.content .visual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Phone */
@media (max-width:760px){
 .content .media-split,.content .body-split,.content .card-grid,.content .visual-grid{grid-template-columns:1fr}
 .content .media-split{gap:32px}
 .content .media-panel img{height:280px}
 .content .side-nav,.content aside.card{position:static}
 .content .card{padding:24px 22px}
 .content blockquote{font-size:22px}
 .content .gallery-band img{height:520px}
 .content .caption-box{left:16px;right:16px;width:auto;padding:26px 22px}
 .content .right-fit,.content .not-fit{padding:22px 20px}
 .band.content{margin-top:72px;padding-top:64px;padding-bottom:64px}
}
