/* ================= ISO PAGE TEMPLATE COMPONENTS ================= */

.iso-hero{background:linear-gradient(135deg, #2c5f8d 0%, #1a3a52 100%); padding:36px 0;}
.iso-hero .grid{display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; max-width:1200px; margin:0 auto; padding:0 24px;}
.iso-hero h1{color:#fff; font-family:'Montserrat',sans-serif; font-weight:800; font-size:clamp(24px,3vw,32px); line-height:1.3; margin:0 0 18px;}
.iso-hero p{color:rgba(255,255,255,.85); font-family:'Inter',sans-serif; font-size:15.5px; line-height:1.8; margin:0 0 20px;}
.iso-hero .bullets{list-style:none; margin:0 0 24px; padding:0;}
.iso-hero .bullets li{color:#fff; font-family:'Inter',sans-serif; font-size:14.5px; margin-bottom:10px; display:flex; gap:10px; align-items:flex-start;}
.iso-hero .bullets li::before{content:'⭐'; flex-shrink:0;}
.iso-hero img{border-radius:16px; box-shadow:0 20px 50px rgba(0,0,0,.25); width:100%;}
.btn-gold{display:inline-block; background:#c8a951; color:#1a2a4a; font-family:'Montserrat',sans-serif; font-weight:700; font-size:14.5px; padding:13px 26px; border-radius:8px; text-decoration:none;}

.trust-strip{background:#f0f4f8; padding:20px 0; text-align:center;}
.trust-strip h3{font-family:'Montserrat',sans-serif; font-weight:700; font-size:17px; color:#1a2a4a; margin:0 0 6px;}
.trust-strip p{font-family:'Inter',sans-serif; color:#6b7a8d; font-size:14px; margin:0;}

.crosslinks{display:flex; flex-wrap:wrap; gap:12px; justify-content:center; max-width:900px; margin:24px auto 0; padding:0 24px;}
.crosslinks a{border:1.5px solid #2c5f8d; color:#2c5f8d; font-family:'Montserrat',sans-serif; font-weight:600; font-size:13.5px; padding:9px 18px; border-radius:24px; text-decoration:none; transition:.2s;}
.crosslinks a:hover{background:#2c5f8d; color:#fff;}

.feature-image{padding:28px 0; text-align:center;}
.feature-image img{max-width:900px; width:100%; border-radius:16px; box-shadow:0 20px 50px rgba(26,42,74,.12); margin:0 auto;}

.industry-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px; max-width:1100px; margin:0 auto; padding:0 24px;}
.industry-card{background:#fff; border:1px solid #e5e9f0; border-radius:12px; padding:22px 24px;}
.industry-card .num{display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; background:#f0f4f8; color:#2c5f8d; font-family:'Montserrat',sans-serif; font-weight:800; font-size:13px; margin-bottom:10px;}
.industry-card h4{font-family:'Montserrat',sans-serif; font-weight:700; font-size:15.5px; color:#1a2a4a; margin:0 0 6px;}
.industry-card p{font-family:'Inter',sans-serif; font-size:13.5px; line-height:1.6; color:#6b7a8d; margin:0;}

.challenge-list{max-width:1000px; margin:0 auto; padding:0 24px; display:flex; flex-direction:column; gap:18px;}
.challenge-card{background:#fff; border:1px solid #e5e9f0; border-radius:12px; padding:24px 28px;}
.challenge-card h4{font-family:'Montserrat',sans-serif; font-weight:700; font-size:15.5px; color:#1a2a4a; margin:0 0 10px;}
.challenge-card .pair{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.challenge-card .pair div{font-family:'Inter',sans-serif; font-size:13.5px; line-height:1.6;}
.challenge-card .pair .lbl{font-weight:700; font-size:11px; letter-spacing:.5px; text-transform:uppercase; display:block; margin-bottom:4px;}
.challenge-card .pair .challenge .lbl{color:#c0392b;}
.challenge-card .pair .solution .lbl{color:#2c5f8d;}
.challenge-card .pair p{color:#6b7a8d; margin:0;}

.steps-row{display:grid; grid-template-columns:repeat(6,1fr); gap:16px; max-width:1200px; margin:0 auto; padding:0 24px;}
.step-card{text-align:center;}
.step-card .circle{width:44px; height:44px; border-radius:50%; background:#c8a951; color:#1a2a4a; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-weight:800; margin:0 auto 12px;}
.step-card h5{font-family:'Montserrat',sans-serif; font-weight:700; font-size:13px; color:#1a2a4a; margin:0 0 6px;}
.step-card p{font-family:'Inter',sans-serif; font-size:12px; color:#6b7a8d; line-height:1.5; margin:0;}

.timeline-row{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:900px; margin:0 auto; padding:0 24px;}
.timeline-card{background:#f0f4f8; border-radius:12px; padding:24px; text-align:center;}
.timeline-card h4{font-family:'Montserrat',sans-serif; color:#1a2a4a; font-size:15px; margin:0 0 6px;}
.timeline-card .dur{font-family:'Montserrat',sans-serif; font-weight:800; color:#c8a951; font-size:22px;}

.simple-list{max-width:800px; margin:0 auto; padding:0 24px;}
.simple-list ul{list-style:none; margin:0; padding:0;}
.simple-list li{font-family:'Inter',sans-serif; font-size:15px; color:#555; line-height:1.7; padding-left:26px; position:relative; margin-bottom:10px;}
.simple-list li::before{content:'✓'; position:absolute; left:0; color:#c8a951; font-weight:700;}

.case-study{background:#1a2a4a; border-radius:16px; padding:40px; max-width:1000px; margin:0 auto;}
.case-study .meta{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:24px; padding-bottom:24px; border-bottom:1px solid rgba(255,255,255,.1);}
.case-study .meta div{color:#fff; font-family:'Inter',sans-serif; font-size:13.5px;}
.case-study .meta .lbl{color:#c8a951; font-size:11px; text-transform:uppercase; letter-spacing:.5px; display:block; margin-bottom:4px;}
.case-study p{color:rgba(255,255,255,.8); font-family:'Inter',sans-serif; font-size:14px; line-height:1.75; margin:0 0 16px;}
.case-study .results{display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:20px;}
.case-study .result-stat{background:rgba(255,255,255,.06); border-radius:10px; padding:16px; text-align:center;}
.case-study .result-stat .n{color:#c8a951; font-family:'Montserrat',sans-serif; font-weight:800; font-size:22px;}
.case-study .result-stat .l{color:rgba(255,255,255,.7); font-family:'Inter',sans-serif; font-size:12px; margin-top:4px;}

@media(max-width:900px){
  .iso-hero .grid{grid-template-columns:1fr;}
  .industry-grid{grid-template-columns:1fr;}
  .steps-row{grid-template-columns:repeat(3,1fr); row-gap:24px;}
  .timeline-row, .case-study .meta{grid-template-columns:1fr;}
  .challenge-card .pair{grid-template-columns:1fr;}
}

/* ================= ADDITIONAL ISO TEMPLATE COMPONENTS ================= */

.subservice-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px; max-width:1000px; margin:0 auto; padding:0 24px;}
.subservice-card{background:#fff; border:1px solid #e5e9f0; border-radius:12px; overflow:hidden;}
.subservice-card img{width:100%; height:160px; object-fit:cover;}
.subservice-card .body{padding:20px 22px;}
.subservice-card h4{font-family:'Montserrat',sans-serif; font-weight:700; font-size:15.5px; color:#1a2a4a; margin:0 0 8px;}
.subservice-card p{font-family:'Inter',sans-serif; font-size:13.5px; line-height:1.65; color:#6b7a8d; margin:0;}

.certlink-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:1200px; margin:0 auto; padding:0 24px;}
.certlink-card{background:#fff; border:1px solid #e5e9f0; border-radius:12px; padding:26px; text-align:center;}
.certlink-card h4{font-family:'Montserrat',sans-serif; font-weight:700; font-size:16px; color:#1a2a4a; margin:0 0 10px;}
.certlink-card p{font-family:'Inter',sans-serif; font-size:13.5px; color:#6b7a8d; line-height:1.6; margin:0 0 16px;}
.certlink-card a{color:#2c5f8d; font-family:'Montserrat',sans-serif; font-weight:600; font-size:13px; text-decoration:none;}
.certlink-card a:hover{text-decoration:underline;}

.reason-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px; max-width:1000px; margin:0 auto; padding:0 24px;}
.reason-item{background:#fff; border:1px solid #e5e9f0; border-radius:10px; padding:18px 20px;}
.reason-item h5{font-family:'Montserrat',sans-serif; font-weight:700; font-size:14px; color:#1a2a4a; margin:0 0 6px;}
.reason-item p{font-family:'Inter',sans-serif; font-size:13px; color:#6b7a8d; line-height:1.6; margin:0;}

.timeline-table{width:100%; max-width:700px; margin:0 auto; border-collapse:collapse;}
.timeline-table th{font-family:'Montserrat',sans-serif; font-size:12px; text-transform:uppercase; letter-spacing:.5px; color:#c8a951; text-align:left; padding:10px 16px; border-bottom:2px solid #e5e9f0;}
.timeline-table td{font-family:'Inter',sans-serif; font-size:14.5px; color:#1a2a4a; padding:14px 16px; border-bottom:1px solid #e5e9f0;}

@media(max-width:900px){
  .subservice-grid, .certlink-grid, .reason-grid{grid-template-columns:1fr;}
}


/* ================= SERVICES PAGE COMPONENTS ================= */

.svc-hero{background:linear-gradient(135deg, #2c5f8d 0%, #1a3a52 100%); padding:32px 0; text-align:center;}
.svc-hero h1{color:#fff; font-family:'Montserrat',sans-serif; font-weight:800; font-size:clamp(26px,3.5vw,36px); margin:0;}

.flip-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px; max-width:900px; margin:0 auto; padding:0 24px;}
.flip-card{background:#fff; border:1px solid #e5e9f0; border-radius:12px; padding:28px;}
.flip-card h4{font-family:'Montserrat',sans-serif; font-weight:700; font-size:16px; color:#1a2a4a; margin:0 0 12px;}
.flip-card p{font-family:'Inter',sans-serif; font-size:14px; line-height:1.7; color:#6b7a8d; margin:0;}

.stats-strip{background:#1a2a4a; padding:28px 0; text-align:center;}
.stats-strip .row{display:flex; justify-content:center; gap:64px; margin-bottom:24px; flex-wrap:wrap;}
.stats-strip .stat-num{font-family:'Montserrat',sans-serif; font-weight:800; font-size:36px; color:#c8a951;}
.stats-strip .stat-label{font-family:'Inter',sans-serif; font-size:13px; color:rgba(255,255,255,.7); margin-top:4px;}
.stats-strip p{font-family:'Inter',sans-serif; font-size:14px; color:rgba(255,255,255,.6); max-width:700px; margin:0 auto 24px;}

.inspection-block{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; max-width:1100px; margin:0 auto 56px; padding:0 24px;}
.inspection-block.reverse{direction:rtl;}
.inspection-block.reverse > *{direction:ltr;}
.inspection-block h4{font-family:'Montserrat',sans-serif; font-weight:700; font-size:17px; color:#1a2a4a; margin:0 0 10px;}
.inspection-block p{font-family:'Inter',sans-serif; font-size:14.5px; line-height:1.75; color:#555; margin:0;}
.inspection-block .imgs{display:flex; gap:12px;}
.inspection-block .imgs img{width:100%; border-radius:12px; object-fit:cover; height:180px;}

/* ================= BLOG ARTICLE BODY TYPOGRAPHY ================= */
/* Used for full blog post content. This is real, faithful article HTML
   (headings/paragraphs/lists/blockquotes/tables from the source) styled
   to match the site's brand system - not a custom one-off layout, so it
   is wrapped as core/html for validation safety (see core_block_helpers.py
   for why), but still needs its own real, plugin-level CSS - the same
   mistake that broke Clients/Testimonial/Blogs earlier must not repeat
   here for a different content type. */

.ims-article-body{max-width:760px;margin:0 auto;padding:0 24px;}
.ims-article-body h2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:24px;color:#1a2a4a;margin:40px 0 16px;line-height:1.35;}
.ims-article-body h3{font-family:'Montserrat',sans-serif;font-weight:700;font-size:19px;color:#1a2a4a;margin:28px 0 12px;line-height:1.4;}
.ims-article-body h4,.ims-article-body h5{font-family:'Montserrat',sans-serif;font-weight:700;font-size:16px;color:#1a2a4a;margin:20px 0 10px;}
.ims-article-body p{font-family:'Inter',sans-serif;font-size:16px;line-height:1.85;color:#3d4451;margin:0 0 18px;}
.ims-article-body ul,.ims-article-body ol{font-family:'Inter',sans-serif;font-size:16px;line-height:1.85;color:#3d4451;margin:0 0 20px;padding-left:24px;}
.ims-article-body li{margin-bottom:8px;}
.ims-article-body strong{color:#1a2a4a;}
.ims-article-body blockquote{background:#f0f4f8;border-left:4px solid #c8a951;border-radius:8px;padding:20px 24px;margin:0 0 20px;}
.ims-article-body blockquote p{margin:0;color:#2c3e50;font-size:15px;}
.ims-article-body blockquote:last-child p{margin:0;}
.ims-article-body table{width:100%;border-collapse:collapse;margin:0 0 28px;font-family:'Inter',sans-serif;font-size:14px;}
.ims-article-body table th,.ims-article-body table td{border:1px solid #e5e9f0;padding:10px 14px;text-align:left;}
.ims-article-body table th,.ims-article-body table td[colspan]{background:#1a2a4a;color:#fff;font-weight:700;text-align:center;}
.ims-article-body table strong{color:inherit;}

.ims-article-hero-image{max-width:1000px;margin:0 auto 8px;padding:0 24px;}
.ims-article-hero-image img{width:100%;border-radius:16px;box-shadow:0 20px 50px rgba(26,42,74,.12);display:block;}

.ims-article-back-link{max-width:760px;margin:0 auto 24px;padding:0 24px;}
.ims-article-back-link a{font-family:'Montserrat',sans-serif;font-weight:600;font-size:13.5px;color:#2c5f8d;text-decoration:none;}
.ims-article-back-link a:hover{text-decoration:underline;}
