/* v7: landing + blog-post page templates (split hero, data band, sticky rail, grouped sections) */
section.blk{padding:0}
.pg section.blk.srcs,.pg section.blk.kv{padding:0}
.pg{background:#faf8fe}
.phero2{background:radial-gradient(900px 420px at 85% -10%,#5a0fa3,var(--purple) 55%,var(--deep));color:#fff;padding:96px 0 52px}
.ph2{display:grid;grid-template-columns:1.12fr .88fr;gap:38px;align-items:center}
.ph2-text{min-width:0}
.ph2-text h1{font-size:clamp(1.8rem,3.5vw,2.85rem);max-width:none;margin:8px 0 18px;line-height:1.14}
.kicker{display:inline-block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--mint);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:5px 12px;border-radius:999px;margin:8px 0 2px}
.phero2 .quick{max-width:none}
.phero2 .meta{margin-top:14px}
.ph2-fig{min-width:0}
.ph2-fig .pimg{border-radius:24px;box-shadow:0 26px 60px rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.14)}
.ph2-fig .pimg img{aspect-ratio:4/3;max-height:none;height:auto}
.statband{display:grid;grid-template-columns:repeat(6,1fr);background:#fff;border:1px solid #e8e1f3;border-radius:18px;margin-top:-28px;position:relative;z-index:2;box-shadow:0 14px 40px rgba(40,10,80,.12);overflow:hidden}
.statband div{padding:14px 16px;border-right:1px solid #eee7f7;display:flex;flex-direction:column;gap:2px;min-width:0}
.statband div:last-child{border-right:0}
.statband b{font-size:1.1rem;color:var(--purple);line-height:1.25;overflow-wrap:anywhere}
.statband span{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.09em}
.lay{display:grid;grid-template-columns:268px minmax(0,1fr);gap:34px;padding-block:34px 28px;align-items:start}
.rail{min-width:0}
.rail-in{position:sticky;top:88px;display:grid;gap:14px;max-height:calc(100vh - 104px);overflow:auto;scrollbar-width:thin;padding-bottom:4px}
.tocd,.railcard{background:#fff;border:1px solid #e8e1f3;border-radius:16px;padding:14px 16px}
.tocd summary,.railcard h4{font-family:var(--sans);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700;cursor:pointer;margin:0}
.railcard h4{cursor:default;margin-bottom:8px}
.tocd ol{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:2px;counter-reset:t}
.tocd li{counter-increment:t}
.tocd a{display:block;padding:6px 8px 6px 30px;border-radius:9px;font-size:.86rem;line-height:1.35;color:#2b2140;position:relative}
.tocd a::before{content:counter(t);position:absolute;left:6px;top:6px;width:18px;height:18px;border-radius:6px;background:#efe7fb;color:var(--purple);font-size:.68rem;font-weight:700;display:grid;place-items:center}
.tocd a:hover{background:#f6f0fd}
.tocd a.on{background:var(--purple);color:#fff}.tocd a.on::before{background:rgba(255,255,255,.2);color:#fff}
.railcard dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:.84rem;margin:0}
.railcard dt{color:var(--muted)}.railcard dd{margin:0;font-weight:600;color:#2b2140}
.railcard ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.railcard li a{font-size:.86rem;font-weight:600;color:var(--purple);line-height:1.35;display:block}
.rail .btn{width:100%;justify-content:center}
.lay .main{max-width:none;padding:0;min-width:0}
.lay .blk{margin-bottom:24px}
.lay .blk p{max-width:none}
.lay .blk h2{font-size:clamp(1.3rem,2.1vw,1.75rem)}
/* landing: each section is a card; short neighbours sit in a grid so there is no empty space */
.pg-land .main>.blk,.secgrid>.blk{background:#fff;border:1px solid #ece5f6;border-radius:20px;padding:24px 28px;box-shadow:0 4px 18px rgba(40,10,80,.04)}
.pg-land .main>.blk.srcs,.pg-land .main>.blk.svc-callout,.pg-land .main>.blk.toolcall{box-shadow:none}
.secgrid{display:grid;gap:18px;margin-bottom:24px}
.secgrid.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.secgrid.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.secgrid>.blk{margin:0;height:100%}
.secgrid.g2>.blk:last-child:nth-child(odd){grid-column:1/-1}
.secgrid .blk h2{font-size:1.15rem}.secgrid .blk p{font-size:.97rem}
.secgrid .blk h2::before{content:"";display:block;width:34px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--green),var(--purple));margin-bottom:12px}
/* blog post: one white reading sheet */
.pg-post .main{background:#fff;border:1px solid #ece5f6;border-radius:24px;padding:36px 44px 24px;box-shadow:0 8px 30px rgba(40,10,80,.05)}
.pg-post .blk p{font-size:1.07rem;line-height:1.82;max-width:70ch;color:#261b3a}
.pg-post .blk ul,.pg-post .blk ol{max-width:70ch}
.pg-post .blk h2{font-size:clamp(1.35rem,2.2vw,1.8rem);padding-top:22px;margin-top:6px;border-top:1px solid #efe9f8}
.pg-post .main>.blk:first-child h2,.pg-post .keypts h2{border-top:0;padding-top:0}
.pg-post .blk h2::after{content:"";display:block;width:44px;height:3px;border-radius:3px;background:var(--green);margin-top:8px}
.pg-post .blk p:first-of-type::first-line{font-weight:600}
.keypts{background:linear-gradient(120deg,#f4ecff,#e8fbf1);border:1px solid #d9ccee!important;border-radius:18px;padding:22px 26px!important}
.keypts h2{font-size:1.05rem!important;text-transform:uppercase;letter-spacing:.1em;color:var(--purple)!important;margin:0 0 10px!important}.keypts h2::after{display:none}
.keypts ul{margin:0;padding:0;list-style:none;display:grid;gap:10px;max-width:none}.keypts li{padding-left:18px;position:relative;font-size:.98rem;line-height:1.6}
.keypts li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--green)}
/* section flavours */
.chk,.pg-post .blk.chk{background:linear-gradient(120deg,#f2fbf6,#fff);border:1px solid #cdebdb;border-radius:18px;padding:22px 26px!important}
.chk h2{border-top:0!important;padding-top:0!important}
.chk ul{list-style:none;margin:0!important;padding:0;display:grid;gap:9px;max-width:none!important}
.chk li{position:relative;padding-left:30px;line-height:1.55;margin:0}
.chk li::before{content:"";position:absolute;left:4px;top:.5em;width:12px;height:7px;border-left:2.6px solid #17a85a;border-bottom:2.6px solid #17a85a;transform:rotate(-45deg)}
.mist,.pg-post .blk.mist{border-left:4px solid #e0a31b;background:#fffaf0;border-radius:0 16px 16px 0;padding:20px 24px!important}
.mist h2{border-top:0!important;padding-top:0!important}
.ex,.pg-post .blk.ex{border-left:4px solid var(--purple);background:#f7f2fe;border-radius:0 16px 16px 0;padding:20px 24px!important}
.ex h2{border-top:0!important;padding-top:0!important}
.wk{background:#f6f2fb;border-radius:16px;padding:20px 24px!important}
.wk h2{border-top:0!important;padding-top:0!important}
.inlfig{margin:4px 0 28px}.inlfig .pimg{border-radius:20px}.inlfig .pimg img{aspect-ratio:21/9}
.pg-post .inlfig .pimg{max-width:none}
/* related reading + pillar index */
.relgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.relc{display:flex;flex-direction:column;gap:5px;padding:16px;border-radius:16px;background:#fff;border:1px solid #e8e1f3;transition:.25s}
.relc:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--green)}
.relc .tag{font-size:.66rem;align-self:flex-start}.relc b{font-size:.95rem;line-height:1.35;color:var(--deep)}.relc small{color:var(--muted);font-size:.78rem}
.pg-post .relsec,.pg-post .idx{border-top:1px solid #efe9f8;padding-top:10px}
.idx .tbl{overflow:auto}.idx table{font-size:.9rem}.idx td a{font-weight:600;color:var(--purple)}
/* existing blocks inside the new layout */
.lay .pgrid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.lay .faq{max-width:none}
.lay .rvw{margin:0 0 22px}
.lay .disc{max-width:none}
@media(max-width:1100px){.statband{grid-template-columns:repeat(3,1fr)}.statband div:nth-child(3){border-right:0}.statband div{border-bottom:1px solid #eee7f7}.secgrid.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:960px){
  .ph2{grid-template-columns:1fr;gap:22px}.ph2-fig .pimg img{aspect-ratio:16/9}
  .lay{grid-template-columns:1fr;gap:18px}.rail-in{position:static;max-height:none}
  .rail .railcard{display:none}.rail .btn{display:none}
}
@media(max-width:700px){
  .phero2{padding-top:84px}.statband{grid-template-columns:repeat(2,1fr);margin-top:-20px}.statband div:nth-child(3){border-right:1px solid #eee7f7}.statband div:nth-child(even){border-right:0}
  .secgrid.g2,.secgrid.g3{grid-template-columns:1fr}.pg-land .main>.blk,.secgrid>.blk{padding:20px}.pg-post .main{padding:22px 18px 14px;border-radius:18px}
}
.tocd summary{list-style:none;display:flex;justify-content:space-between}.tocd summary::-webkit-details-marker{display:none}.tocd summary::after,.tocd summary::before{content:none!important;display:none!important}
.tocd summary:after{display:none}
.bignums{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.bignums div{background:linear-gradient(145deg,#f4ecff,#fff);border:1px solid #e3d8f5;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:3px}
.bignums b{font-family:var(--serif,inherit);font-size:1.7rem;color:var(--purple);line-height:1.1}.bignums span{font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.fgrid2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.fcard{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid #e8e1f3;border-radius:18px;overflow:hidden;padding:0 0 14px;transition:.25s}
.fcard:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--green)}
.fcard img{width:100%;aspect-ratio:8/5;object-fit:cover;display:block}.fcard>*:not(img){margin-inline:14px}
.fcard .tag{align-self:flex-start;margin-top:4px}.fcard b{font-size:.98rem;line-height:1.35;color:var(--deep)}.fcard small{color:var(--muted);font-size:.8rem;line-height:1.45}
@media(max-width:1100px){.bignums{grid-template-columns:repeat(3,1fr)}.fgrid2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.bignums{grid-template-columns:repeat(2,1fr)}.fgrid2{grid-template-columns:1fr}}
/* footer credit: copyright line left, "Powered By" right */
.seo-row{display:flex;justify-content:space-between;align-items:flex-end;gap:10px 24px;flex-wrap:wrap;margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}
.seo-row .seo-line{margin:0;padding:0;border:0;flex:1 1 420px}
.seo-row .powered{font-size:.8rem;line-height:1.9;color:rgba(255,255,255,.55);text-align:right;margin:0;white-space:nowrap}
.seo-row .powered a{color:var(--mint);font-weight:700;text-decoration:none}.seo-row .powered a:hover{text-decoration:underline}
@media(max-width:640px){.seo-row .powered{text-align:left;white-space:normal}}
