/* ============================================================
   Specialty offer pages
   A decision-oriented Full Offer Stack: hook, connected pitch,
   four buying attributes, transformation, evidence and mandate.
   ============================================================ */
.offer-page{--offer-rule:color-mix(in srgb,var(--paper) 16%,transparent)}
.offer-page [id]{scroll-margin-top:138px}
.offer-hero{position:relative;overflow:hidden;padding:88px 0 68px}
.offer-hero:before{content:"";position:absolute;top:-210px;right:-130px;width:620px;height:620px;border:1px solid color-mix(in srgb,var(--violet) 18%,transparent);border-radius:50%;box-shadow:0 0 0 78px color-mix(in srgb,var(--violet) 4%,transparent),0 0 0 156px color-mix(in srgb,var(--cyan) 2%,transparent);pointer-events:none}
.offer-hero:after{content:"";position:absolute;left:50%;bottom:0;width:min(1180px,calc(100% - 40px));height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--violet),var(--cyan),transparent);opacity:.42}
.offer-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.16fr) minmax(330px,.84fr);gap:clamp(34px,6vw,82px);align-items:center}
.offer-hero-copy{position:relative;z-index:1;min-width:0}
.offer-name{margin:25px 0 -9px;color:var(--lavender);font-size:.79rem;font-weight:780;letter-spacing:.09em;text-transform:uppercase}
.offer-hero h1{max-width:900px;margin-top:20px;font-size:clamp(3rem,5.7vw,5.25rem);text-wrap:balance}
.offer-hero .lead{max-width:700px;text-wrap:pretty}
.offer-hero-note{display:flex;align-items:flex-start;gap:9px;max-width:700px;margin:15px 0 0;color:var(--silver);font-size:.79rem}
.offer-hero-note:before{content:"";flex:0 0 auto;width:7px;height:7px;margin-top:.5em;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}

.offer-blueprint{position:relative;z-index:1;border:1px solid var(--line-strong);border-radius:var(--radius);background:color-mix(in srgb,var(--navy) 86%,transparent);box-shadow:var(--shadow);overflow:hidden}
.offer-blueprint:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,var(--violet),var(--cyan))}
.offer-blueprint header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px 18px;border-bottom:1px solid var(--line)}
.offer-blueprint header span,.offer-blueprint dt,.offer-blueprint footer>span{color:var(--cyan);font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.offer-blueprint header b{display:grid;place-items:center;min-width:44px;height:34px;padding:0 10px;border:1px solid color-mix(in srgb,var(--violet) 34%,transparent);border-radius:10px;color:var(--lavender);background:color-mix(in srgb,var(--violet) 12%,transparent);font-size:.75rem}
.offer-blueprint dl{margin:0;padding:0 24px}
.offer-blueprint dl>div{padding:20px 0;border-bottom:1px solid var(--line)}
.offer-blueprint dt{margin-bottom:7px}
.offer-blueprint dd{margin:0;color:color-mix(in srgb,var(--paper) 88%,var(--silver));font-size:.92rem;line-height:1.5;text-wrap:pretty}
.offer-blueprint footer{padding:20px 24px 23px}
.offer-blueprint footer p{margin:7px 0 0;color:var(--silver);font-size:.79rem;line-height:1.55}

.offer-quick-nav{position:sticky;top:72px;z-index:30;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--ink) 89%,transparent);backdrop-filter:blur(18px)}
.offer-quick-nav .container{display:flex;gap:6px;align-items:center;overflow-x:auto;scrollbar-width:none;padding-block:10px}
.offer-quick-nav .container::-webkit-scrollbar{display:none}
.offer-quick-nav a{flex:0 0 auto;min-height:44px;display:inline-flex;align-items:center;padding:0 13px;border-radius:10px;color:var(--silver);font-size:.78rem;font-weight:720;text-decoration:none}
.offer-quick-nav a:hover,.offer-quick-nav a:focus-visible{color:var(--paper);background:color-mix(in srgb,var(--paper) 7%,transparent)}

.offer-section-label h2{max-width:13ch;text-wrap:balance}
.offer-proposition-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(38px,8vw,110px);align-items:start}
.offer-pitch{position:relative;margin:0;padding:4px 0 0 34px;color:color-mix(in srgb,var(--paper) 91%,var(--silver));font-family:var(--font-display);font-size:clamp(1.55rem,2.7vw,2.35rem);line-height:1.3;letter-spacing:-.012em;text-wrap:pretty}
.offer-pitch:before{content:"";position:absolute;left:0;top:7px;bottom:8px;width:2px;background:linear-gradient(var(--violet),var(--cyan))}

.offer-value-section{position:relative}
.offer-section-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.55fr);gap:34px 80px;align-items:end;margin-bottom:38px}
.offer-section-head h2{max-width:16ch;text-wrap:balance}
.offer-section-head>p{margin:0 0 5px;color:var(--silver);text-wrap:pretty}
.offer-stack-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--offer-rule)}
.offer-attribute{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;min-height:305px;padding:34px 34px 38px 0;border-bottom:1px solid var(--offer-rule)}
.offer-attribute:nth-child(even){padding-left:34px;border-left:1px solid var(--offer-rule)}
.offer-attribute-index{font-family:var(--font-display);font-size:2.05rem;line-height:1;color:color-mix(in srgb,var(--paper) 20%,transparent)}
.offer-attribute-tag{display:block;margin-bottom:16px;color:var(--cyan);font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.offer-attribute h3{max-width:24ch;margin-bottom:13px;font-family:var(--font-body);font-size:clamp(1.24rem,2vw,1.58rem);line-height:1.25;text-wrap:balance}
.offer-attribute p{margin:0;color:var(--silver);text-wrap:pretty}
.offer-inline-cta{display:inline-flex;align-items:center;min-height:44px;margin-top:20px;color:var(--cyan);font-size:.83rem;font-weight:760;text-decoration:none}
.offer-inline-cta:after{content:" →";margin-left:6px;transition:transform .18s ease}
.offer-inline-cta:hover:after{transform:translateX(4px)}

.offer-transformation{border-bottom:1px solid var(--line)}
.offer-state-grid{display:grid;grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);align-items:stretch}
.offer-state{padding:28px 0;border-top:1px solid var(--offer-rule);border-bottom:1px solid var(--offer-rule)}
.offer-state>span{display:block;margin-bottom:16px;font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.offer-state p{margin:0;max-width:44ch;font-family:var(--font-display);font-size:clamp(1.45rem,2.5vw,2rem);line-height:1.3;text-wrap:pretty}
.offer-state--before>span{color:var(--danger)}
.offer-state--before p{color:var(--silver)}
.offer-state--after>span{color:var(--cyan)}
.offer-state--after p{color:var(--paper)}
.offer-state-arrow{display:grid;place-items:center;color:var(--lavender);font-size:1.5rem}

.offer-proof-section{position:relative;background:color-mix(in srgb,var(--navy) 30%,transparent)}
.offer-proof-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0;border-top:1px solid var(--offer-rule)}
.offer-proof-card{min-width:0;padding:28px 25px 30px;border-right:1px solid var(--offer-rule);border-bottom:1px solid var(--offer-rule)}
.offer-proof-card:first-child{padding-left:0}
.offer-proof-card:last-child{border-right:0}
.offer-proof-card .provenance-badge{margin:0 0 20px}
.offer-proof-card h3{font-family:var(--font-body);font-size:1.08rem;line-height:1.38;text-wrap:balance}
.offer-proof-card h3 a{text-decoration:none}
.offer-proof-card h3 a:hover{color:var(--cyan)}
.offer-proof-card p{margin:0;color:var(--silver);font-size:.88rem;text-wrap:pretty}
.offer-proof-link{display:inline-flex;align-items:center;min-height:44px;margin-top:14px;color:var(--cyan);font-size:.79rem;font-weight:740;text-decoration:none}
.offer-proof-link:after{content:" ↗";margin-left:5px}
.offer-all-proofs{display:inline-flex;align-items:center;min-height:48px;margin-top:24px;color:var(--paper);font-size:.84rem;font-weight:740;text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--cyan) 46%,transparent)}
.offer-all-proofs:after{content:" →";margin-left:8px;color:var(--cyan)}
.provenance-certificate,.provenance-credential{background:color-mix(in srgb,var(--warning) 9%,transparent);border-color:color-mix(in srgb,var(--warning) 28%,transparent)}

.offer-benchmark-section{padding-block:40px;border-block:1px solid var(--line);background:color-mix(in srgb,var(--cyan) 3%,transparent)}
.offer-benchmark{display:flex;align-items:center;justify-content:space-between;gap:30px}
.offer-benchmark h2{margin:8px 0 6px;font-size:clamp(1.8rem,3.3vw,2.7rem)}
.offer-benchmark p{max-width:760px;margin:0;color:var(--silver)}

.offer-close-section{padding-block:88px}
.offer-close{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.25fr) auto;gap:38px 70px;align-items:end;padding:clamp(30px,5vw,58px);border:1px solid var(--line-strong);border-radius:var(--radius);background:linear-gradient(135deg,color-mix(in srgb,var(--violet) 18%,var(--surface)),color-mix(in srgb,var(--cyan) 6%,var(--surface-2)));box-shadow:var(--shadow)}
.offer-close:after{content:"";position:absolute;right:-90px;top:-130px;width:330px;height:330px;border:1px solid color-mix(in srgb,var(--cyan) 20%,transparent);border-radius:50%;box-shadow:0 0 0 52px color-mix(in srgb,var(--violet) 5%,transparent);pointer-events:none}
.offer-close>div{position:relative;z-index:1}
.offer-close h2{max-width:15ch;margin-top:10px;text-wrap:balance}
.offer-close p{max-width:720px;margin:0;color:var(--silver);text-wrap:pretty}
.offer-close-actions{display:grid;gap:10px;min-width:240px}

.offer-inline-cta:focus-visible,.offer-proof-link:focus-visible,.offer-all-proofs:focus-visible,.offer-proof-card h3 a:focus-visible,.offer-quick-nav a:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}

@media(max-width:980px){
  .offer-hero-grid,.offer-proposition-grid{grid-template-columns:1fr}
  .offer-blueprint{max-width:740px}
  .offer-section-label h2{max-width:18ch}
  .offer-section-head{grid-template-columns:1fr;gap:12px}
  .offer-section-head h2{max-width:20ch}
  .offer-close{grid-template-columns:1fr;align-items:start}
  .offer-close-actions{display:flex;flex-wrap:wrap;min-width:0}
}
@media(max-width:760px){
  .offer-page [id]{scroll-margin-top:126px}
  .offer-hero{padding:58px 0 46px}
  .offer-hero:before{width:390px;height:390px;top:-160px;right:-210px}
  .offer-hero h1{font-size:clamp(2.65rem,12vw,4.2rem)}
  .offer-blueprint header,.offer-blueprint dl,.offer-blueprint footer{padding-inline:19px}
  .offer-quick-nav{top:72px}
  .offer-proposition-grid{gap:28px}
  .offer-pitch{padding-left:22px;font-size:1.48rem}
  .offer-stack-list{grid-template-columns:1fr}
  .offer-attribute,.offer-attribute:nth-child(even){grid-template-columns:48px minmax(0,1fr);min-height:0;padding:28px 0;border-left:0}
  .offer-attribute-index{font-size:1.7rem}
  .offer-state-grid{grid-template-columns:1fr}
  .offer-state-arrow{min-height:56px;transform:rotate(90deg)}
  .offer-proof-grid{grid-template-columns:1fr}
  .offer-proof-card,.offer-proof-card:first-child{padding:24px 0;border-right:0}
  .offer-benchmark{display:block}
  .offer-benchmark .button{margin-top:20px}
  .offer-close-section{padding-block:56px}
  .offer-close{padding:26px 20px}
  .offer-close-actions{display:grid}
}
@media print{
  .offer-quick-nav{display:none}
  .offer-hero{padding-top:32px}
  .offer-hero:before,.offer-close:after{display:none}
  .offer-blueprint,.offer-close{box-shadow:none;background:#fff}
  .offer-proof-section,.offer-value-section{background:#fff}
  .offer-attribute{break-inside:avoid}
}

/* Queryable CV capability matrix shared by the expertise catalogue/details. */
.capability-query{display:grid;grid-template-columns:minmax(210px,1.5fr) repeat(3,minmax(150px,.8fr)) auto auto;gap:12px;align-items:end;margin:30px 0 18px;padding:20px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 92%,transparent)}
.capability-query label{display:grid;gap:7px;color:var(--silver);font-size:.7rem;font-weight:780;letter-spacing:.07em;text-transform:uppercase}
.capability-query input,.capability-query select{width:100%;min-height:46px;padding:0 12px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-2);color:var(--paper);font:inherit;font-size:.83rem;letter-spacing:0;text-transform:none}
.capability-query input:focus,.capability-query select:focus{outline:2px solid var(--cyan);outline-offset:2px}
.capability-result-count{margin:0 0 18px;color:var(--silver);font-size:.82rem}
.capability-result-count strong{color:var(--cyan);font-family:var(--font-display);font-size:1.35rem}
.capability-ranking-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.capability-rank-card{position:relative;display:flex;flex-direction:column;min-height:330px;padding:22px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(155deg,color-mix(in srgb,var(--surface) 94%,var(--violet) 6%),var(--surface-2));color:var(--paper);text-decoration:none;transition:transform .2s ease,border-color .2s ease}
.capability-rank-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--cyan) 45%,var(--line))}
.capability-rank-number{font-family:var(--font-display);font-size:2rem;color:color-mix(in srgb,var(--paper) 26%,transparent)}
.capability-rank-score{position:absolute;right:18px;top:18px;padding:5px 8px;border:1px solid color-mix(in srgb,var(--cyan) 30%,transparent);border-radius:99px;color:var(--cyan);font-size:.7rem;font-weight:800}
.capability-rank-card .meta{margin:18px 0 8px;color:var(--lavender);font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.capability-rank-card h3{font-size:1.23rem;line-height:1.26;text-wrap:balance}
.capability-rank-card>p{color:var(--silver);font-size:.84rem;line-height:1.56}
.capability-rank-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:auto 0 17px;padding-top:15px;border-top:1px solid var(--line)}
.capability-rank-card dl div{min-width:0}.capability-rank-card dt{color:var(--silver);font-size:.61rem;text-transform:uppercase}.capability-rank-card dd{margin:4px 0 0;font-size:.76rem;font-weight:740}
.capability-empty{grid-column:1/-1;padding:40px;border:1px dashed var(--line-strong);border-radius:15px;text-align:center}
.capability-evidence-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(130px,.55fr));gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.capability-evidence-grid>div{padding:22px;border-left:1px solid var(--line)}.capability-evidence-grid>div:first-child{border-left:0}
.capability-evidence-grid dt{color:var(--silver);font-size:.65rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.capability-evidence-grid dd{margin:8px 0 0;color:var(--paper);font-size:.9rem;line-height:1.5}
.capability-skill-list{display:flex;flex-wrap:wrap;gap:7px;margin:22px 0 0;padding:0;list-style:none}.capability-skill-list li{padding:7px 10px;border:1px solid var(--line);border-radius:99px;color:var(--silver);font-size:.75rem}
@media(max-width:1120px){.capability-query{grid-template-columns:repeat(2,minmax(0,1fr))}.capability-ranking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.capability-query,.capability-ranking-grid,.capability-evidence-grid{grid-template-columns:1fr}.capability-query .button{width:100%}.capability-evidence-grid>div{border-left:0;border-top:1px solid var(--line)}.capability-evidence-grid>div:first-child{border-top:0}.capability-rank-card{min-height:0}}
