/* Editorial layouts: native blocks, a generous reading column, and useful side panels. */
.rich-layout { gap:44px; align-items:flex-start; }
.rich-layout>.wp-block-column:first-child { flex:1 1 0; min-width:0; }
.rich-layout>.wp-block-column:last-child { flex:0 0 300px; min-width:0; }
.rich-layout .wp-block-columns { gap:24px; }
.inner-hero,.article-hero { margin:0 0 32px; }
.inner-hero img,.article-hero img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:12px; }
.inner-hero figcaption,.article-hero figcaption,.image-note { color:var(--muted); font-size:11px; margin:9px 0 0; }
.service-main>.lead,.case-main>.lead { font-size:19px; line-height:1.65; color:var(--dark); margin:28px 0; }
.service-main>h2,.case-main>h2 { margin-top:48px; }
.capability-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:26px 0 40px; }
.capability-grid>*,.service-process>*,.visual-case-grid>*,.visual-service-grid>* { margin-block-start:0!important; margin-block-end:0!important; }
.capability-card { padding:26px; border:1px solid var(--line); border-top:3px solid var(--red); border-radius:10px; background:#fff; }
.capability-card:last-child:nth-child(odd) { grid-column:1/-1; }
.capability-card h3,.process-card h3 { margin-top:12px; font-size:1.12rem; line-height:1.4; }
.capability-card p { font-size:14px; line-height:1.7; color:var(--muted); }
.capability-card p:last-child,.process-card p:last-child { margin-bottom:0; }
.capability-card .feature-number,.process-card .feature-number { color:var(--red); font-size:12px; font-weight:750; letter-spacing:.12em; margin:0; }
.rich-aside { display:flex; flex-direction:column; gap:24px; }
.service-navigation,.resource-panel,.project-profile,.article-toc { padding:26px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.service-navigation .eyebrow { margin-bottom:18px; }
.service-menu { list-style:none; padding:0; margin:0; }
.service-menu li { margin:0; }
.service-menu a { display:block; text-decoration:none; color:var(--dark); font-size:14px; font-weight:600; line-height:1.5; padding:15px 14px; border-bottom:1px solid var(--line); border-radius:5px; }
.service-menu li:last-child a { border-bottom:0; }
.service-menu a[aria-current=page] { background:linear-gradient(110deg,#bf0000,#310000); color:#fff; border-color:transparent; }
.service-menu a:hover { background:var(--pale); color:var(--red); }
.service-menu a[aria-current=page]:hover { background:#a80000; color:#fff; }
.aside-note { border-top:1px solid var(--line); padding-top:20px; margin:18px 0 0; color:var(--muted); font-size:12px; line-height:1.7; }
.resource-panel h3,.project-profile h3 { margin:0 0 14px; font-size:1.2rem; }
.resource-panel p,.resource-panel li { font-size:13px; line-height:1.7; }
.resource-panel ul { padding-left:18px; margin:18px 0; }
.resource-panel li { margin:0 0 14px; }
.resource-panel a { color:var(--dark); text-decoration:none; }
.resource-panel a:hover { color:var(--red); text-decoration:underline; }
.photo-contact-panel { position:relative; isolation:isolate; overflow:hidden; border-radius:10px; color:#fff; min-height:340px; background:#14181c; margin:0; }
.photo-contact-panel>figure,.photo-contact-panel>img { position:absolute; inset:0; width:100%; height:100%; margin:0; z-index:-2; }
.photo-contact-panel>figure img,.photo-contact-panel>img { width:100%; height:100%; object-fit:cover; }
.photo-contact-panel::before { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(15,17,21,.98),rgba(15,17,21,.65)); z-index:-1; }
.photo-contact-panel>div { position:relative; padding:32px 26px; }
.photo-contact-panel h3 { color:#fff; font-size:1.65rem; line-height:1.25; margin:18px 0; }
.photo-contact-panel p { color:#fff; font-size:14px; line-height:1.65; }
.photo-contact-panel .eyebrow { color:#ffd6d6; font-size:10px; }
.photo-contact-panel .wp-block-button__link,.photo-contact-panel .button { padding:13px 18px; background:#fff; color:var(--dark); font-size:13px; }
.photo-contact-panel .wp-block-buttons { margin-top:25px; }
.deliverables-panel,.checklist-panel { padding:32px; margin:36px 0; background:var(--pale); border:1px solid #e0e5eb; border-radius:12px; }
.deliverables-panel h2 { margin-top:0; }
.deliverables-list { list-style:none; padding:0; margin:22px 0 0; }
.deliverables-list li { position:relative; padding-left:30px; margin:0 0 15px; line-height:1.65; }
.deliverables-list li::before { content:"✓"; position:absolute; left:0; top:1px; color:var(--red); font-weight:750; }
.deliverables-list li:last-child { margin-bottom:0; }
.planning-split { align-items:center; padding:24px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:38px 0!important; }
.planning-split>.wp-block-column { min-width:0; }
.planning-split h3 { font-size:1.25rem; margin-top:0; }
.planning-split p { font-size:14px; line-height:1.75; }
.supporting-photo { margin:0; }
.supporting-photo img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:10px; }
.service-process { gap:15px; margin:24px 0 42px; }
.service-process .process-card { padding:22px; }
.service-process .process-card p { font-size:13px; }
.project-feature { padding:28px; border:1px solid var(--line); border-radius:12px; margin-top:36px; }
.project-feature .wp-block-columns { margin-bottom:0; align-items:center; }
.project-feature h3 { margin-top:0; font-size:1.15rem; }
.project-feature p { font-size:13px; }
.project-feature a { color:var(--dark); text-decoration:none; }
.project-feature .card-link a { color:var(--red); }
.project-glance { padding:28px; border-radius:12px; background:#f7f8fa; border:1px solid var(--line); margin:36px 0; }
.project-glance h3 { margin:8px 0 14px; font-size:1.1rem; }
.project-glance p { font-size:14px; }
.project-glance .wp-block-columns { margin-bottom:0; }
.project-facts { list-style:none; padding:0; margin:0 0 22px; }
.project-facts li { border-bottom:1px solid var(--line); padding:15px 0; font-size:13px; line-height:1.7; margin:0; }
.project-facts strong { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.06em; }
.project-profile>a,.project-profile p a { font-size:13px; font-weight:650; }
.example-panel { border-left:4px solid var(--red); padding:28px 30px; margin:30px 0; background:linear-gradient(100deg,#fff3f3,#fafafa); border-radius:0 10px 10px 0; }
.example-panel h3 { margin-top:0; }
.example-panel p:last-child { margin:0; }
.visual-case-grid,.visual-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; margin:38px 0; }
.visual-case-card,.visual-service-card,.visual-blog-card { overflow:hidden; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 5px 20px #16233408; }
.visual-case-card>figure,.visual-service-card>figure { margin:0; }
.visual-case-card img,.visual-service-card img,.guide-card-image img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.visual-card-copy { padding:28px; }
.visual-card-copy h3,.visual-card-copy h2 { margin-top:0; font-size:1.35rem; line-height:1.4; }
.visual-card-copy h3 a,.visual-card-copy h2 a { text-decoration:none; color:var(--dark); }
.visual-card-copy>p { font-size:14px; line-height:1.7; color:var(--muted); }
.visual-card-copy .eyebrow { color:var(--red); font-size:10px; }
.visual-card-copy .card-link { margin:22px 0 0; }
.visual-card-copy .card-link a { color:var(--red); font-size:13px; font-weight:650; }
.article-banner .article-meta { margin-top:24px; }
.article-banner .eyebrow { margin:0 0 18px; color:var(--red); font-size:11px; }
.article-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:58px; align-items:start; }
.article-content { min-width:0; font-size:16px; line-height:1.8; }
.article-content .article-intro { font-size:18px; line-height:1.8; color:var(--dark); }
.article-content p { margin-bottom:24px; }
.article-content h2 { scroll-margin-top:30px; line-height:1.35; font-size:1.65rem; margin:48px 0 23px; }
.article-content h3 { margin:32px 0 18px; }
.guide-introduction { padding:24px 28px; border:1px solid var(--line); border-radius:10px; margin:32px 0; }
.guide-introduction p { font-size:14px; }
.guide-introduction p:last-child { margin-bottom:0; }
.article-aside { display:flex; flex-direction:column; gap:24px; }
.mobile-article-toc { display:none; }
.article-support-image { margin:34px 0; }
.article-support-image img { width:100%; height:auto; display:block; aspect-ratio:16/9; object-fit:cover; border-radius:12px; }
.article-support-image figcaption { font-size:11px; color:var(--muted); margin-top:10px; line-height:1.7; }
.article-toc { background:#f8f9fb; }
.article-toc ol { padding-left:20px; margin:20px 0 0; }
.article-toc li { font-size:13px; line-height:1.6; margin-bottom:15px; padding-left:3px; }
.article-toc li:last-child { margin-bottom:0; }
.article-toc a { color:var(--dark); text-decoration:none; }
.article-toc a:hover { color:var(--red); text-decoration:underline; }
.article-content .wp-block-table { margin:25px 0 38px; overflow-x:auto; border:1px solid var(--line); border-radius:9px; }
.article-content .wp-block-table table { width:100%; border-collapse:collapse; }
.article-content .wp-block-table th,.article-content .wp-block-table td { border:0; padding:16px 20px; vertical-align:top; text-align:left; font-size:14px; line-height:1.6; }
.article-content .wp-block-table th { background:#22252b; color:#fff; font-weight:600; }
.article-content .wp-block-table tbody tr:nth-child(even) { background:var(--pale); }
.article-content .wp-block-table td:first-child { width:33%; font-weight:600; color:var(--dark); }
.article-end-cta { margin-top:48px; }
.article-end-cta .cta-band { flex-direction:column; align-items:flex-start; }
.article-end-cta .cta-band h2 { margin:0 0 12px; font-size:1.7rem; }
.article-end-cta .cta-band p { margin:0; }
.featured-guide { display:grid; grid-template-columns:1.1fr 1fr; overflow:hidden; border-radius:14px; border:1px solid var(--line); background:var(--pale); }
.featured-guide-image { display:block; min-width:0; }
.featured-guide-image img { width:100%; height:100%; object-fit:cover; aspect-ratio:3/2; display:block; }
.featured-guide>div { align-self:center; padding:42px; }
.featured-guide h2 { margin:0 0 20px; font-size:1.95rem; line-height:1.35; }
.featured-guide h2 a { color:var(--dark); text-decoration:none; }
.featured-guide p { font-size:15px; }
.featured-guide .article-meta { font-size:12px; margin:22px 0; }
.insights-heading { display:flex; gap:36px; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); margin:65px 0 30px; padding-bottom:24px; }
.insights-heading h2 { margin:0; font-size:1.6rem; }
.insights-heading p { font-size:14px; margin:0; max-width:330px; }
.visual-blog-grid { margin-top:0; gap:28px; }
.visual-blog-card { padding:0; }
.guide-card-image { display:block; }
.visual-blog-card h2 { font-size:1.18rem; }
.visual-blog-card .article-meta { font-size:11px; }
@media(max-width:1100px) {
 .rich-layout { gap:28px; }
 .rich-layout>.wp-block-column:last-child { flex-basis:270px; }
 .article-layout { gap:34px; grid-template-columns:minmax(0,1fr) 270px; }
 .capability-card { padding:22px; }
 .service-process { grid-template-columns:1fr; }
 .featured-guide>div { padding:30px; }
}
@media(max-width:900px) {
 .article-layout { grid-template-columns:minmax(0,1fr); }
 .article-aside { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
 .article-toc { grid-column:1/-1; order:-1; }
 .article-aside>.article-toc { display:none; }
 .mobile-article-toc { display:block; margin:26px 0; padding:18px 20px; background:var(--pale); border:1px solid var(--line); border-radius:8px; font-size:14px; }
 .mobile-article-toc summary { font-weight:650; color:var(--dark); cursor:pointer; }
 .mobile-article-toc .article-toc { border:0; padding:18px 0 0; }
 .rich-layout { flex-direction:column; }
 .rich-layout>.wp-block-column { width:100%; flex-basis:auto!important; }
 .rich-aside { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
 .rich-aside .service-navigation,.rich-aside .project-profile { grid-column:1/-1; }
 .rich-layout .wp-block-columns { flex-direction:row; }
 .visual-card-copy { padding:24px; }
}
@media(max-width:700px) {
 .capability-grid,.visual-case-grid,.visual-service-grid,.article-aside,.rich-aside { grid-template-columns:minmax(0,1fr); }
 .rich-layout .wp-block-columns { flex-direction:column; }
 .capability-card:last-child:nth-child(odd) { grid-column:auto; }
 .inner-hero,.article-hero { margin-bottom:26px; }
 .service-main>.lead,.case-main>.lead,.article-content .article-intro { font-size:17px; }
 .deliverables-panel,.checklist-panel,.project-glance { padding:24px; }
 .rich-layout .rich-aside { gap:20px; margin-top:10px; }
 .planning-split { gap:24px!important; }
 .project-feature { padding:24px; }
 .article-content { font-size:15px; line-height:1.8; }
 .article-content h2 { font-size:1.4rem; margin-top:40px; }
 .article-content .wp-block-table th,.article-content .wp-block-table td { padding:13px 14px; font-size:12px; }
 .article-content .wp-block-table td:first-child { width:36%; }
 .example-panel { padding:24px; }
 .featured-guide { grid-template-columns:minmax(0,1fr); }
 .featured-guide>div { padding:26px; }
 .featured-guide h2 { font-size:1.5rem; }
 .insights-heading { display:block; margin-top:44px; }
 .insights-heading p { margin-top:12px; }
 .visual-case-grid,.visual-service-grid { gap:24px; }
 .photo-contact-panel { min-height:300px; }
}
