/* IGS Generic Page System v1.1.0
 * Scope: pages rendered by the theme's canonical page.php.
 * The executive shell (header/footer/hero) comes from igs-exec.css.
 */
body.igs-generic-page{
  --igs-page-reading: 820px;
  --igs-page-sidebar: 250px;
  --igs-page-gap: clamp(2rem,5vw,4.5rem);
  --igs-page-line: rgba(11,52,68,.12);
  --igs-page-soft: #f4f8f9;
  --igs-page-ink: #29434c;
  --igs-page-heading: #0b3444;
  --igs-page-link: #09566c;
  --igs-page-accent: #f7bf34;
}
body.igs-generic-page .igs-generic-breadcrumbs{
  width:min(100% - 40px,1180px);margin:0 auto;padding:24px 0 0;
}
body.igs-generic-page .igs-generic-breadcrumbs ol{
  display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:0;padding:0;
  color:#60757d;font-size:.86rem;
}
body.igs-generic-page .igs-generic-breadcrumbs li+li::before{content:"/";margin-right:.45rem;color:#9aa9ae}
body.igs-generic-page .igs-generic-breadcrumbs a{color:#45636d;text-decoration:none}
body.igs-generic-page .igs-page-hero .igs-container{max-width:1180px}
body.igs-generic-page .igs-page-hero h1{max-width:980px;text-wrap:balance}
body.igs-generic-page .igs-page-hero p{max-width:820px;font-size:clamp(1.04rem,2vw,1.28rem);line-height:1.65}
body.igs-generic-page .igs-generic-section{padding:clamp(2.5rem,6vw,5.5rem) 0 clamp(4rem,8vw,7rem)}
body.igs-generic-page .igs-generic-wrap{width:min(100% - 40px,1180px);margin-inline:auto}
body.igs-generic-page .igs-generic-layout{display:grid;grid-template-columns:var(--igs-page-sidebar) minmax(0,1fr);gap:var(--igs-page-gap);align-items:start}
body.igs-generic-page .igs-generic-layout.no-sidebar{display:block}
body.igs-generic-page .igs-generic-layout.no-sidebar .igs-generic-main{max-width:var(--igs-page-reading);margin-inline:auto}
body.igs-generic-page .igs-generic-main{min-width:0;max-width:var(--igs-page-reading)}
body.igs-generic-page .igs-generic-featured{margin:0 0 clamp(2rem,5vw,3.5rem);padding:.72rem;border:1px solid var(--igs-page-line);border-radius:22px;background:#fff;box-shadow:0 18px 50px rgba(11,52,68,.08)}
body.igs-generic-page .igs-generic-featured img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;border-radius:15px}
body.igs-generic-page .igs-generic-content{color:var(--igs-page-ink);font-size:clamp(1.02rem,1.25vw,1.13rem);line-height:1.82}
body.igs-generic-page .igs-generic-content>:first-child{margin-top:0}
body.igs-generic-page .igs-generic-content>:last-child{margin-bottom:0}
body.igs-generic-page .igs-generic-content h2{margin:clamp(2.7rem,6vw,4rem) 0 1rem;color:var(--igs-page-heading);font-size:clamp(1.6rem,3.2vw,2.25rem);line-height:1.2;letter-spacing:-.028em;text-wrap:balance;scroll-margin-top:110px}
body.igs-generic-page .igs-generic-content h3{margin:2.15rem 0 .8rem;color:var(--igs-page-heading);font-size:clamp(1.22rem,2.2vw,1.55rem);line-height:1.3;scroll-margin-top:110px}
body.igs-generic-page .igs-generic-content p{margin:0 0 1.35rem}
body.igs-generic-page .igs-generic-content ul,body.igs-generic-page .igs-generic-content ol{margin:1.2rem 0 1.8rem;padding-left:1.4rem}
body.igs-generic-page .igs-generic-content li{margin:.58rem 0;padding-left:.18rem}
body.igs-generic-page .igs-generic-content strong{color:#17333d}
body.igs-generic-page .igs-generic-content a:not(.igs-btn):not(.igs-cta){color:var(--igs-page-link);font-weight:750;text-decoration:underline;text-decoration-color:rgba(9,86,108,.35);text-decoration-thickness:.08em;text-underline-offset:.2em}
body.igs-generic-page .igs-generic-content a:not(.igs-btn):not(.igs-cta):hover{color:var(--igs-page-heading);text-decoration-color:currentColor}
body.igs-generic-page .igs-generic-content hr{height:1px;margin:2.75rem 0;border:0;background:var(--igs-page-line)}
body.igs-generic-page .igs-generic-content blockquote{margin:2rem 0;padding:1.35rem 1.5rem;border-left:4px solid var(--igs-page-accent);border-radius:0 16px 16px 0;background:#f8fafb}
body.igs-generic-page .igs-generic-content .igs-cta,body.igs-generic-page .igs-generic-content a.igs-cta{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.82rem 1.2rem;border-radius:999px;background:#0b3444;color:#fff!important;font-weight:800;line-height:1.2;text-decoration:none!important;box-shadow:0 8px 24px rgba(11,52,68,.14)}
body.igs-generic-page .igs-generic-content .igs-cta:hover,body.igs-generic-page .igs-generic-content a.igs-cta:hover{background:#09566c;color:#fff!important;transform:translateY(-1px)}
body.igs-generic-page .igs-generic-toc__inner{position:sticky;top:96px;padding:1.1rem;border:1px solid var(--igs-page-line);border-radius:16px;background:var(--igs-page-soft)}
body.igs-generic-page .igs-generic-toc__title{display:block;margin-bottom:.75rem;color:var(--igs-page-heading);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
body.igs-generic-page .igs-generic-toc__nav{display:grid;gap:.18rem}
body.igs-generic-page .igs-generic-toc__nav a{display:block;padding:.48rem .55rem;border-radius:9px;color:#506a73;font-size:.9rem;line-height:1.35;text-decoration:none}
body.igs-generic-page .igs-generic-toc__nav a:is(:hover,:focus-visible),body.igs-generic-page .igs-generic-toc__nav a.is-active{background:#fff;color:var(--igs-page-heading);box-shadow:0 4px 14px rgba(11,52,68,.07)}
@media(max-width:900px){
 body.igs-generic-page .igs-generic-layout{grid-template-columns:1fr}
 body.igs-generic-page .igs-generic-main{max-width:100%}
 body.igs-generic-page .igs-generic-toc__inner{position:static}
 body.igs-generic-page .igs-generic-toc__nav{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
 body.igs-generic-page .igs-generic-breadcrumbs,body.igs-generic-page .igs-generic-wrap{width:min(100% - 32px,1180px)}
 body.igs-generic-page .igs-generic-toc__nav{grid-template-columns:1fr}
 body.igs-generic-page .igs-generic-featured{padding:.5rem;border-radius:17px}
 body.igs-generic-page .igs-generic-featured img{border-radius:11px}
}
@media print{
 body.igs-generic-page .igs-header,body.igs-generic-page .igs-footer,body.igs-generic-page .igs-generic-toc{display:none!important}
 body.igs-generic-page .igs-generic-layout{display:block}
 body.igs-generic-page .igs-generic-main{max-width:100%}
}
