/* Page-specific styles for governance. */

.qpa-hero{position:relative;display:flex;align-items:flex-end;min-height:680px;overflow:hidden;background:var(--ink);color:#fff}

.qpa-hero-media{position:absolute;inset:0}

.qpa-hero-media img{height:100%;object-fit:cover}

.qpa-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#061a20db 0%,#061a2066 32%,#061a20d4 72%,#061a20f7 100%),linear-gradient(90deg,#061a20a0 0%,#061a201a 62%)}

.qpa-hero-inner{position:relative;z-index:2;width:var(--page);margin-inline:auto;padding:220px 0 0}

.qpa-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:clamp(44px,6vw,96px);align-items:end;padding-bottom:68px}

.qpa-hero h1{max-width:none;margin-bottom:0;color:#fff;font-size:clamp(48px,5vw,76px);font-weight:500;line-height:1.03;letter-spacing:-.026em}

.qpa-hero-side{align-self:end;padding:4px 0 4px clamp(28px,3.2vw,48px);border-left:1px solid transparent;border-image:var(--divider-v-dark)}

.qpa-hero-copy{max-width:600px;margin:0;color:#d9e3e4;font-size:17.5px;line-height:1.7}

.qpa-framework{padding:clamp(84px,7vw,110px) 0;background:var(--neutral)}

.qpa-framework-head{margin-bottom:70px}

.qpa-framework-head h2{max-width:none;margin-bottom:0;font-size:clamp(38px,3.8vw,58px);white-space:nowrap}

.qpa-framework-panel{overflow:hidden;border-radius:var(--r-card);background:#fff;box-shadow:0 18px 46px #0b26300b}

.qpa-framework-note{max-width:900px;margin:clamp(30px,4vw,54px) 0 0;padding-left:clamp(26px,3vw,48px);border-left:2px solid var(--teal);color:var(--text);font-size:18px;line-height:1.7}

.qpa-framework-feature{position:relative;display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:clamp(40px,6vw,96px);padding:clamp(42px,5vw,72px);background:var(--ink-2);color:#dce5e6}

.qpa-framework-feature:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(620px 360px at 92% -20%,#17a39824,transparent 68%),linear-gradient(110deg,transparent 26%,#ffffff07 47%,transparent 66%)}

.qpa-framework-title,.qpa-framework-feature>p{position:relative;z-index:1}

.qpa-framework-title{display:grid;align-content:start;gap:30px}

.qpa-framework-icon{display:block;width:40px;height:40px;color:var(--teal-lite)}

.qpa-framework-feature h3{max-width:17ch;margin:0;color:#fff;font-size:clamp(28px,2.7vw,42px);line-height:1.12}

.qpa-framework-feature>p{display:flex;flex-direction:column;justify-content:flex-end;max-width:720px;margin:0;padding-left:clamp(28px,3.2vw,48px);border-left:1px solid transparent;border-image:var(--divider-v-dark);color:#d9e3e4;font-size:17px;line-height:1.7}

.qpa-framework-grid{display:grid;grid-template-columns:repeat(3,1fr)}

.qpa-framework-card{position:relative;min-height:390px;padding:clamp(36px,4vw,54px);transition:background .3s}

.qpa-framework-card+.qpa-framework-card:before{content:"";position:absolute;inset:0 auto 0 0;width:1px;background:linear-gradient(180deg,transparent 0%,var(--line-fade) 18%,var(--line-fade) 82%,transparent 100%)}

.qpa-framework-card:hover{background:var(--neutral)}

.qpa-framework-card h3{max-width:16ch;margin:34px 0 22px;font-size:clamp(23px,2vw,30px);line-height:1.14}

.qpa-framework-card p{margin:0;color:var(--text);font-size:16.5px;line-height:1.66}

.qpa-verdict{position:relative;overflow:hidden;background:var(--ink);color:#dce5e6;padding:clamp(76px,7vw,110px) 0}

.qpa-verdict:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(760px 500px at 5% -12%,#17a39822,transparent 68%),radial-gradient(660px 440px at 98% 106%,#3ec9bb17,transparent 70%),linear-gradient(112deg,transparent 32%,#ffffff08 47%,transparent 62%)}

.qpa-verdict>.qpa-wrap{position:relative;z-index:1}

.qpa-verdict-grid{display:grid;grid-template-columns:minmax(200px,.32fr) minmax(0,1fr);gap:clamp(44px,7vw,112px);align-items:start}

.qpa-verdict .qpa-kicker{margin-top:11px;margin-bottom:0}

.qpa-verdict-text{max-width:31ch;margin:0;padding-left:clamp(26px,3vw,48px);border-left:2px solid var(--teal);color:#fff;font:400 clamp(30px,3vw,46px)/1.28 var(--display);letter-spacing:-.02em;text-wrap:balance}

@media(max-width:900px){
.qpa-hero-grid{grid-template-columns:1fr}
.qpa-hero-side{max-width:680px}
.qpa-framework-head h2{white-space:normal}
.qpa-framework-feature{grid-template-columns:1fr}
.qpa-framework-feature>p{padding:28px 0 0;border-left:0;border-top:1px solid transparent;border-image:linear-gradient(90deg,transparent 0%,var(--line-fade-dark) 18%,var(--line-fade-dark) 82%,transparent 100%) 1}
.qpa-framework-grid{grid-template-columns:1fr}
.qpa-framework-card{min-height:0}
.qpa-framework-card+.qpa-framework-card:before{inset:0 0 auto;width:auto;height:1px;background:linear-gradient(90deg,transparent 0%,var(--line-fade) 18%,var(--line-fade) 82%,transparent 100%)}
.qpa-verdict-grid{grid-template-columns:1fr;gap:28px}
.qpa-verdict .qpa-kicker{margin-top:0}
}

@media(max-width:800px){
.qpa-hero{min-height:620px}
.qpa-hero-inner{padding-top:190px}
.qpa-hero-grid{padding-bottom:48px}
.qpa-framework-head{margin-bottom:48px}
}

@media(max-width:520px){
.qpa-hero-side{padding-left:20px}
.qpa-framework-feature,.qpa-framework-card{padding:32px 24px}
.qpa-verdict-text{font-size:26px;padding-left:18px}
}

/* ============================================================
   Design refinements — static typography polish.
   No hover added to non-clickable elements.
   ============================================================ */

/* Balanced heading wrapping — multi-word h3 titles break more evenly */
.qpa-framework-feature h3,
.qpa-framework-card h3{text-wrap:balance}

/* Pretty paragraph wrapping for body copy */
.qpa-framework-feature > p,
.qpa-framework-card p,
.qpa-framework-note{text-wrap:pretty}

/* Tabular numerals on the framework-note for any inline figures */
.qpa-framework-note{font-variant-numeric:tabular-nums}

/* Framework note + policy link row (added 12 August 2026) */
.qpa-framework-note-row{display:flex;align-items:center;flex-wrap:wrap;gap:clamp(28px,4vw,56px);margin:clamp(30px,4vw,54px) 0 0}
.qpa-framework-note-row .qpa-framework-note{margin:0;flex:0 1 900px}
.qpa-framework-note-row .qpa-link{flex:0 0 auto}
@media (max-width:1024px){
	.qpa-framework-note-row{flex-direction:column;align-items:flex-start;gap:24px}
	.qpa-framework-note-row .qpa-framework-note{flex:0 1 auto;max-width:100%}
}
