/* Shared layout for the custom inner-page templates. */
.dr-inner-page { background: #191918; color: #f4f4f4; }
.dr-inner-page :is(.page-hero, .page-hero-simple, .about-hero-section, .portfolio-hero-section, .blog-hero-section, .contact-hero-section, .quote-hero-section) { padding: 180px 0 70px; }
.dr-inner-page .section-pad { padding-block: 70px; }
.dr-inner-page .page-hero.section-pad { padding-top: 180px; }
.dr-inner-page .section-pad-bottom { padding-bottom: 70px; }
.dr-inner-page :is(.page-title, .page-hero-title, .about-title, .portfolio-page-title, .blog-page-title, .contact-title, .quote-title) { font-size: clamp(36px, 5vw, 72px); line-height: 1.1; margin-bottom: 24px; }
.dr-inner-page :is(.section-title, .cta-banner-title) { font-size: clamp(28px, 3vw, 44px); line-height: 1.2; margin-bottom: 20px; }
.dr-inner-page :is(.page-subtitle, .about-intro, .portfolio-page-desc, .blog-page-desc, .contact-subtitle, .quote-subtitle) { font-size: 19px; line-height: 1.7; color: #c5c5c5; }
.dr-inner-page .max-w-700 { max-width: 700px; }
.dr-inner-page :is(.text-yellow, .section-eyebrow, .section-badge) { color: #fff000; }
.dr-inner-page :is(.section-eyebrow, .section-badge) { display: inline-block; margin-bottom: 16px; }
.dr-inner-page :is(.about-hero-grid, .contact-grid, .quote-grid, .services-detailed-grid, .industries-grid, .portfolio-masonry-grid) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.dr-inner-page :is(.mission-grid, .blog-grid--main, .perks-grid) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.dr-inner-page :is(.service-detail-card, .industry-card, .mission-card, .perk-card, .job-card, .case-study-card, .blog-card, .no-portfolio) { padding: 28px; border: 1px solid #373737; border-radius: 20px; background: #222; }
.dr-inner-page :is(.service-detail-title, .industry-card-title, .mission-card-title, .job-title, .blog-card-title) { font-size: 26px; line-height: 1.3; margin-bottom: 18px; }
.dr-inner-page :is(.service-detail-desc, .industry-card-desc, .job-desc, .blog-card-excerpt, .mission-card p, .perk-card p) { color: #c5c5c5; line-height: 1.7; }
.dr-inner-page :is(.service-card-icon, .industry-card-icon, .perk-icon) { margin-bottom: 20px; }
.dr-inner-page :is(.service-card-icon, .industry-card-icon, .perk-icon) svg { width: 40px; height: 40px; }
.dr-inner-page .service-features-list { padding-left: 0; margin-top: 16px; }
.dr-inner-page .service-features-list li { margin-bottom: 12px; line-height: 1.5; }
.dr-inner-page .service-features-list svg { display: inline-block; margin-right: 8px; }
.dr-inner-page :is(.tech-tag, .tech-tag-sm) { display: inline-block; padding: 7px 12px; margin: 4px; border: 1px solid #555; border-radius: 20px; font-size: 13px; }
.dr-inner-page .btn-primary { display: inline-flex; justify-content: center; align-items: center; padding: 15px 24px; border: 1px solid #fff000; border-radius: 30px; background: #fff000; color: #191918; font-weight: 700; line-height: 1.4; text-align: center; }
.dr-inner-page :is(.about-hero-cta, .cta-actions, .cta-banner-actions) :is(.btn-outline, .btn-outline-white) { display: inline-flex; padding: 15px 24px; border: 1px solid #aaa; border-radius: 30px; color: #fff; }
.dr-inner-page :is(.about-hero-cta, .cta-actions, .cta-banner-actions, .blog-filter-tabs, .portfolio-filter-tabs) { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 24px; }
.dr-inner-page :is(.blog-filter-tabs, .portfolio-filter-tabs) { margin-bottom: 30px; }
.dr-inner-page .filter-tab { padding: 10px 20px; border: 1px solid #555; border-radius: 24px; color: #fff; background: transparent; }
.dr-inner-page .filter-tab.active { background: #fff000; color: #191918; border-color: #fff000; }
.dr-inner-page .about-hero-visual { display: grid; place-items: center; padding: 40px; }
.dr-inner-page .about-logo-big { width: 100%; max-width: 400px; }
.dr-inner-page .counter-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; padding-block: 40px; }
.dr-inner-page .counter-item { text-align: center; }
.dr-inner-page .counter-number { display: block; font-size: 48px; color: #fff000; }
.dr-inner-page .counter-label { display: block; margin-top: 10px; }
.dr-inner-page :is(.jobs-list, .case-studies-list) { display: grid; gap: 24px; }
.dr-inner-page .job-card { display: flex; align-items: center; gap: 24px; justify-content: space-between; }
.dr-inner-page .job-card-main { flex: 1; }
.dr-inner-page .job-card-action { flex-shrink: 0; }
.dr-inner-page .job-meta { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 18px; }
.dr-inner-page .job-meta svg { display: inline; }
.dr-inner-page .job-department { display: block; color: #fff000; margin-bottom: 12px; }
.dr-inner-page :is(.contact-form, .quote-form) { padding: 30px; border: 1px solid #444; border-radius: 20px; }
.dr-inner-page :is(.contact-form, .quote-form) label { display: block; margin-bottom: 10px; }
.dr-inner-page :is(.contact-form, .quote-form) .form-control { color: #fff; background: #252525; border: 1px solid #666; border-radius: 10px; }
.dr-inner-page :is(.contact-form, .quote-form) .form-control::placeholder { color: #aaa; }
.dr-inner-page .form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.dr-inner-page .form-group { margin-bottom: 22px; }
.dr-inner-page .contact-info-item { margin-bottom: 28px; }
.dr-inner-page .cta-banner-section { padding-block: 70px; }
.dr-inner-page .pagination-wrap { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.dr-inner-page .page-numbers { padding: 10px 15px; border: 1px solid #555; border-radius: 8px; }
.dr-inner-page .page-numbers.current { background: #fff000; color: #191918; }
.dr-inner-page .blog-card-img img { width: 100%; height: 220px; object-fit: cover; border-radius: 12px; margin-bottom: 20px; }
.dr-inner-page .blog-card-footer { display: flex; justify-content: space-between; gap: 12px; margin-top: 20px; }
.dr-inner-page .blog-card-cat { display: block; color: #fff000; margin-bottom: 12px; }
@media (max-width: 991px) {
    .dr-inner-page :is(.mission-grid, .blog-grid--main, .perks-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dr-inner-page :is(.about-hero-grid, .contact-grid, .quote-grid) { grid-template-columns: 1fr; }
}
@media (max-width: 575px) {
    .dr-inner-page :is(.page-hero, .page-hero-simple, .about-hero-section, .portfolio-hero-section, .blog-hero-section, .contact-hero-section, .quote-hero-section) { padding: 140px 0 40px; }
    .dr-inner-page .page-hero.section-pad { padding-top: 140px; }
    .dr-inner-page :is(.services-detailed-grid, .industries-grid, .portfolio-masonry-grid, .mission-grid, .blog-grid--main, .perks-grid, .form-row) { grid-template-columns: 1fr; }
    .dr-inner-page .counter-grid { grid-template-columns: repeat(2, 1fr); }
    .dr-inner-page .section-pad { padding-block: 40px; }
    .dr-inner-page .job-card { flex-direction: column; align-items: flex-start; }
    .dr-inner-page :is(.contact-form, .quote-form, .service-detail-card) { padding: 22px; }
}

.dr-inner-page .quote-form { max-width: 900px; margin-inline: auto; }
.dr-inner-page :is(.case-study-body, .metrics-grid, .team-scroll-container) { display: flex; flex-wrap: wrap; gap: 24px; margin-block: 24px; }
.dr-inner-page .case-study-block { flex: 1 1 280px; }
.dr-inner-page .case-study-block h4 { margin-bottom: 12px; }
.dr-inner-page .case-study-block p { line-height: 1.7; color: #c5c5c5; }
.dr-inner-page .metric-pill { display: flex; align-items: center; gap: 10px; }
/* Inner templates use normal document flow; the homepage footer reveal must not cover them. */
.dr-inner-page .footer-main { position: static; }
