/* Scoped page variations and responsive rules; preserve their source order.
 * Shared-looking buttons, footer and grids remain here where extraction would
 * move them across other rules. Identical complete page sequences are combined.
 * :where(page scopes) contributes no selector specificity.
 */

/* Match the Services heading/copy grid; decorated copy starts on the same line. */
:where(.page-home,.page-about){--section-gap:5rem;--section-columns:minmax(0,1fr) minmax(0,1.5fr);}
@media(max-width:1000px){
  :where(.page-home,.page-about){--section-gap:3rem;}
}

/* page-about */
:where(.page-about) .eyebrow{font-size:0.865rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--accent);margin-bottom:1.25rem;}
:where(.page-about) .section{padding-block:5rem;}
:where(.page-about) .section-heading,:where(.page-about) .section-title{font-size:clamp(1.9rem,3.1vw,2.7rem);text-wrap:balance;line-height:1.22;letter-spacing:-.015em;font-weight:600;}
:where(.page-about) .prose{color:var(--muted);font-size:1.155rem;}
:where(.page-about) .biography p+p{margin-top:1.5rem;}
:where(.page-about) .text-link{font-size:1.025rem;font-weight:650;}
:where(.page-about) .text-link span{padding-left:.5rem;}
:where(.page-about) .intro{border-top:1px solid var(--border);padding-block:4.5rem 5rem;}
:where(.page-about) .intro .eyebrow{display:flex;align-items:center;gap:1rem;}
:where(.page-about) .intro .eyebrow::before{content:"";width:2.5rem;height:3px;background:var(--highlight);}
:where(.page-about) .intro-grid{display:grid;grid-template-columns:var(--section-columns);gap:var(--section-gap);align-items:start;}
:where(.page-about) h1{font-size:clamp(2.8rem,5.3vw,4.5rem);text-wrap:balance;line-height:1.10;letter-spacing:-.02em;font-weight:650;}
:where(.page-about) h1 span{color:var(--accent);}
:where(.page-about) .intro-copy{font-size:1.275rem;color:var(--muted);padding-bottom:.25rem;}
:where(.page-about) .intro-copy p+p{margin-top:1.25rem;font-size:1.125rem;}
:where(.page-about) .leadership{background:var(--section-bg);border-block:1px solid var(--border);}
:where(.page-about) .leadership .section-title{margin-bottom:2.5rem;}
:where(.page-about) .leadership-grid{display:grid;grid-template-columns:var(--section-columns);gap:var(--section-gap);align-items:start;}
:where(.page-about) .founder{border-top:2px solid var(--accent);padding-top:1.5rem;}
:where(.page-about) .founder h2{font-size:1.65rem;line-height:1.25;font-weight:600;letter-spacing:-.01em;margin-bottom:.75rem;}
:where(.page-about) .founder h3{font-size:.9rem;line-height:1.65;font-weight:500;color:var(--muted);margin-bottom:1rem;}
:where(.page-about) .leadership-link{display:inline-block;font-weight:650;font-size:1.025rem;}
:where(.page-about) .founder dl{margin-top:2rem;border-top:1px solid var(--border);padding-top:1.5rem;}
:where(.page-about) .founder dt{font-size:0.845rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:.25rem;}
:where(.page-about) .founder dd{font-size:1.025rem;margin-bottom:1.25rem;}
:where(.page-about) .biography{max-width:46rem;}
:where(.page-about) .technical-intro,:where(.page-about) .technical-list .expertise{display:grid;grid-template-columns:var(--section-columns);gap:var(--section-gap);align-items:start;}
:where(.page-about) .technical-intro{margin-bottom:2.5rem;}
:where(.page-about) .technical-list{border-top:1px solid var(--border);}
:where(.page-about) .technical-list .expertise{border-bottom:1px solid var(--border);padding-block:1.5rem;}
:where(.page-about) .technical-list dt{font-size:1.275rem;font-weight:600;line-height:1.4;}
:where(.page-about) .technical-list dd{color:var(--muted);}
:where(.page-about) .philosophy{background:var(--section-bg);border-block:1px solid var(--border);}
:where(.page-about) .philosophy-intro{margin-top:1.5rem;max-width:47rem;}
:where(.page-about) .principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;margin-top:2.5rem;counter-reset:principle;}
:where(.page-about) .principles div{counter-increment:principle;border-top:2px solid var(--accent);padding-top:1.25rem;}
:where(.page-about) .principles dt{font-size:1.325rem;font-weight:600;margin-bottom:1rem;}
:where(.page-about) .principles dt::before{content:counter(principle,decimal-leading-zero) " /";display:block;color:var(--accent);font-size:0.875rem;font-weight:500;margin-bottom:.75rem;}
:where(.page-about) .principles dd{color:var(--muted);font-size:1.075rem;}
:where(.page-about) .practice-grid{display:grid;grid-template-columns:var(--section-columns);gap:var(--section-gap);align-items:start;}
:where(.page-about) .practice .prose{border-left:3px solid var(--accent);padding-left:2rem;}
:where(.page-about) .practice .text-link{display:inline-block;margin-top:1rem;}
:where(.page-about) .closing{padding-block:3.5rem;border-top:1px solid var(--border);border-bottom:4px solid var(--highlight);}
:where(.page-about) .closing .section-title{font-size:clamp(1.7rem,2.8vw,2.25rem);}
:where(.page-about) .closing p{color:var(--muted);margin-top:1rem;max-width:40rem;}
:where(.page-about) .actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:1.75rem;}
:where(.page-about) .btn{display:inline-flex;justify-content:center;align-items:center;padding:.85rem 1.25rem;border-radius:4px;font-size:1.025rem;font-weight:650;text-decoration:none;min-height:48px;}
:where(.page-about) .btn-primary{background:var(--accent);color:var(--button-text);border:1px solid var(--accent);}
:where(.page-about) .btn-primary:hover{box-shadow:0 0 0 2px var(--accent);}
:where(.page-about) footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-block:2rem;color:var(--muted);font-size:0.925rem;}
:where(.page-about) .footer-links{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;}
@media(max-width:1000px){
  :where(.page-about) .container{width:calc(100% - 4rem);}
  :where(.page-about) .site-header{gap:1.5rem;}
  :where(.page-about) .logo-link{flex-basis:280px;}
  :where(.page-about) nav ul{gap:1rem;}
  :where(.page-about) .intro-grid,:where(.page-about) .leadership-grid,:where(.page-about) .technical-intro,:where(.page-about) .technical-list .expertise,:where(.page-about) .practice-grid{gap:3rem;}
  :where(.page-about) .principles{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  :where(.page-about) .site-header{flex-wrap:wrap;padding-block:1rem;gap:1rem;}
  :where(.page-about) .logo-link{flex-basis:300px;}
  :where(.page-about) nav{width:100%;}
  :where(.page-about) nav ul{justify-content:space-between;flex-wrap:wrap;gap:.75rem;}
  :where(.page-about) .intro{padding-block:3rem 3.5rem;}
  :where(.page-about) .intro-grid{grid-template-columns:1fr;gap:2rem;}
  :where(.page-about) h1{font-size:clamp(2.8rem,8vw,4rem);max-width:12ch;}
  :where(.page-about) .intro-copy{max-width:35rem;}
  :where(.page-about) .section{padding-block:3.5rem;}
  :where(.page-about) .leadership-grid,:where(.page-about) .technical-intro,:where(.page-about) .technical-list .expertise,:where(.page-about) .practice-grid{grid-template-columns:1fr;gap:1.5rem;}
  :where(.page-about) .leadership-grid{gap:2rem;}
  :where(.page-about) .leadership .section-title{margin-bottom:2rem;}
  :where(.page-about) .founder dl{display:grid;grid-template-columns:auto 1fr;column-gap:1rem;margin-top:1.5rem;}
  :where(.page-about) .founder dt,:where(.page-about) .founder dd{margin-bottom:.75rem;}
  :where(.page-about) .technical-list .expertise{gap:.75rem;}
}
@media(max-width:420px){
  :where(.page-about) .container{width:calc(100% - 2.5rem);}
  :where(.page-about) nav a,:where(.page-about) nav button{font-size:0.925rem;}
  :where(.page-about) nav ul{gap:.5rem;}
  :where(.page-about) .principles{grid-template-columns:1fr;gap:1.5rem;}
  :where(.page-about) .practice .prose{padding-left:1.25rem;}
  :where(.page-about) .actions{align-items:flex-start;flex-direction:column;}
}

/* page-home */
:where(.page-home) .hero{background:var(--hero-bg);border-block:1px solid var(--border);position:relative;}
:where(.page-home) .hero::before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(180deg,#522D80 68%,#F56600 68%);}
:where(.page-home) .hero-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:5rem;align-items:center;padding-block:5.5rem;}
:where(.page-home) .eyebrow{font-size:0.865rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--accent);margin-bottom:1.25rem;}
:where(.page-home) h1{font-size:clamp(2.8rem,5.6vw,4.75rem);text-wrap:balance;line-height:1.10;letter-spacing:-.02em;font-weight:650;}
:where(.page-home) h1 span{display:block;}
:where(.page-home) h1 .headline-lead{color:var(--accent);font-size:.62em;letter-spacing:-.01em;margin-bottom:.3em;}
:where(.page-home) h1 .headline-last{display:inline-block;position:relative;}
:where(.page-home) h1 .headline-last::after{content:"";display:block;width:2.5rem;height:4px;background:var(--highlight);margin-top:.3em;}
:where(.page-home) .hero-intro{max-width:40rem;font-size:1.225rem;color:var(--muted);margin-block:1.75rem 2rem;}
:where(.page-home) .actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;}
:where(.page-home) .btn{display:inline-flex;justify-content:center;align-items:center;padding:.85rem 1.25rem;border-radius:4px;font-size:1.025rem;font-weight:650;text-decoration:none;min-height:48px;}
:where(.page-home) .btn-primary{background:var(--accent);color:var(--button-text);border:1px solid var(--accent);}
:where(.page-home) .btn-primary:hover{box-shadow:0 0 0 2px var(--accent);}
:where(.page-home) .text-link{font-size:1.025rem;font-weight:650;}
:where(.page-home) .text-link span{padding-left:.5rem;}
:where(.page-home) .hero-note{border-left:1px solid var(--border);padding-left:2rem;}
:where(.page-home) .hero-note .eyebrow{color:var(--muted);}
:where(.page-home) .decision-list{list-style:none;}
:where(.page-home) .decision-list li{padding-block:1.25rem;border-top:1px solid var(--border);}
:where(.page-home) .decision-list strong{display:block;font-size:1.245rem;font-weight:600;margin-bottom:.25rem;}
:where(.page-home) .decision-list p{font-size:1.055rem;color:var(--muted);}
:where(.page-home) .section{padding-block:5rem;}
:where(.page-home) .section-heading{font-size:clamp(1.9rem,3.1vw,2.7rem);text-wrap:balance;line-height:1.22;letter-spacing:-.015em;font-weight:600;max-width:44rem;}
:where(.page-home) .split{display:grid;grid-template-columns:var(--section-columns);gap:var(--section-gap);}
:where(.page-home) .prose{color:var(--muted);font-size:1.155rem;}
:where(.page-home) .prose p+p{margin-top:1rem;}
:where(.page-home) .prose .emphasis{color:var(--text);font-size:1.345rem;line-height:1.55;}
:where(.page-home) .challenge{border-bottom:1px solid var(--border);}
:where(.page-home) .services-intro{margin:1rem 0 2.5rem;color:var(--muted);max-width:42rem;}
:where(.page-home) .service-row{display:grid;grid-template-columns:3rem 1fr 1.2fr;gap:2rem;padding-block:2rem;border-top:1px solid var(--border);}
:where(.page-home) .service-number{font-size:0.975rem;color:var(--accent);font-variant-numeric:tabular-nums;padding-top:.2rem;}
:where(.page-home) .service-row h3{font-size:1.3rem;line-height:1.4;font-weight:600;letter-spacing:-.005em;}
:where(.page-home) .service-row p{color:var(--muted);margin-bottom:.8rem;}
:where(.page-home) .experience{background:var(--section-bg);border-block:1px solid var(--border);}
:where(.page-home) .experience .section-heading{margin-bottom:1.5rem;}
:where(.page-home) .experience .text-link{display:inline-block;margin-top:1.5rem;}
:where(.page-home) .experience-details{border-top:2px solid var(--accent);padding-top:1.5rem;}
:where(.page-home) .experience-details h3{font-size:1.3rem;font-weight:600;}
:where(.page-home) .experience-details .role{color:var(--muted);font-size:1.025rem;margin-bottom:1.5rem;}
:where(.page-home) .experience-details p{color:var(--muted);}
:where(.page-home) .credentials{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;list-style:none;margin-top:1.5rem;color:var(--accent);font-size:0.975rem;font-weight:650;}
:where(.page-home) .practice-grid{display:grid;grid-template-columns:var(--section-columns);gap:var(--section-gap);align-items:start;}
:where(.page-home) .practice .section-heading{font-size:clamp(1.8rem,2.8vw,2.4rem);}
:where(.page-home) .practice .prose{margin-block:1.5rem;max-width:39rem;}
:where(.page-home) .method{margin-top:.25rem;padding:2rem;background:var(--section-bg);border:1px solid var(--border);border-top:3px solid var(--accent);}
:where(.page-home) .method h3{font-size:1.1rem;font-weight:600;margin-bottom:1.5rem;}
:where(.page-home) .method ol{list-style:none;counter-reset:method;}
:where(.page-home) .method li{counter-increment:method;display:grid;grid-template-columns:1.5rem 1fr;gap:.75rem;padding-block:1rem;border-top:1px solid var(--border);}
:where(.page-home) .method li::before{content:counter(method,decimal-leading-zero);font-size:0.845rem;color:var(--accent);padding-top:.25rem;}
:where(.page-home) .method strong{display:block;font-weight:600;font-size:1.075rem;}
:where(.page-home) .method p{color:var(--muted);font-size:1.005rem;}
:where(.page-home) .closing{padding-block:3.5rem;border-top:1px solid var(--border);border-bottom:4px solid var(--highlight);}
:where(.page-home) .closing-inner{display:flex;justify-content:space-between;align-items:center;gap:3rem;}
:where(.page-home) .closing .section-heading{font-size:clamp(1.7rem,2.8vw,2.25rem);}
:where(.page-home) .closing p{color:var(--muted);margin-top:1rem;max-width:43rem;}
:where(.page-home) .closing .btn{flex-shrink:0;}
:where(.page-home) footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-block:2rem;color:var(--muted);font-size:0.925rem;}
:where(.page-home) .footer-links{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;}
@media(min-width:1500px){
  :where(.page-home) .hero::before{width:max(6px,calc((100vw - 1440px)/2));}
}
@media(max-width:1000px){
  :where(.page-home) .container{width:calc(100% - 4rem);}
  :where(.page-home) .site-header{gap:1.5rem;}
  :where(.page-home) .logo-link{flex-basis:280px;}
  :where(.page-home) nav ul{gap:1rem;}
  :where(.page-home) .hero-grid{gap:3rem;}
  :where(.page-home) .split,:where(.page-home) .practice-grid{gap:3rem;}
  :where(.page-home) .service-row{grid-template-columns:2rem 1fr 1.2fr;gap:1.5rem;}
}
@media(max-width:760px){
  :where(.page-home) .site-header{flex-wrap:wrap;padding-block:1rem;gap:1rem;}
  :where(.page-home) .logo-link{flex-basis:300px;}
  :where(.page-home) nav{width:100%;}
  :where(.page-home) nav ul{justify-content:space-between;flex-wrap:wrap;gap:.75rem;}
  :where(.page-home) .hero-grid{grid-template-columns:1fr;gap:3rem;padding-block:3.5rem;}
  :where(.page-home) h1{font-size:clamp(3rem,9vw,4.5rem);}
  :where(.page-home) .hero-note{padding-left:1.5rem;}
  :where(.page-home) .decision-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
  :where(.page-home) .decision-list strong{font-size:1.125rem;}
  :where(.page-home) .decision-list p{font-size:0.975rem;}
  :where(.page-home) .section{padding-block:3.5rem;}
  :where(.page-home) .split,:where(.page-home) .practice-grid{grid-template-columns:1fr;gap:2rem;}
  :where(.page-home) .service-row{grid-template-columns:2rem 1fr;gap:.75rem 1rem;}
  :where(.page-home) .service-copy{grid-column:2;}
  :where(.page-home) .closing-inner{flex-direction:column;align-items:flex-start;gap:1.5rem;}
}
@media(max-width:420px){
  :where(.page-home) .container{width:calc(100% - 2.5rem);}
  :where(.page-home) nav a,:where(.page-home) nav button{font-size:0.925rem;}
  :where(.page-home) nav ul{gap:.5rem;}
  :where(.page-home) .hero-note{padding-left:1rem;}
  :where(.page-home) .decision-list{grid-template-columns:1fr;gap:0;}
  :where(.page-home) .decision-list li{padding-block:.85rem;}
  :where(.page-home) .method{padding:1.5rem;}
  :where(.page-home) .actions{align-items:flex-start;flex-direction:column;}
}

/* Number/title remain grouped on the left; descriptions use the shared copy edge.
 * Move decorated containers into the gutter by their exact border + padding inset. */
@media(min-width:761px){
  :where(.page-home) .service-row{grid-template-columns:5rem minmax(0,calc((100% - var(--section-gap)) * .4 - 5rem)) minmax(0,1.5fr);column-gap:0;}
  :where(.page-home) .service-copy{margin-left:var(--section-gap);}
  :where(.page-home) .practice-grid,:where(.page-about) .practice-grid{grid-template-columns:minmax(0,calc((100% - var(--section-gap)) * .4 - var(--copy-inset))) minmax(0,1.5fr);}
  :where(.page-home) .practice-grid{--copy-inset:calc(2rem + 1px);}
  :where(.page-about) .practice-grid{--copy-inset:calc(2rem + 3px);}
}
@media(min-width:761px) and (max-width:1000px){
  :where(.page-home) .service-row{grid-template-columns:3.5rem minmax(0,calc((100% - var(--section-gap)) * .4 - 3.5rem)) minmax(0,1.5fr);}
}

/* page-services */
:where(.page-services,.page-advisory,.page-risk-modeling) .eyebrow{font-size:0.865rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--accent);margin-bottom:1.25rem;}
:where(.page-services,.page-advisory,.page-risk-modeling) .section{padding-block:5rem;}
:where(.page-services,.page-advisory,.page-risk-modeling) .section-heading{font-size:clamp(1.9rem,3.1vw,2.7rem);text-wrap:balance;line-height:1.22;letter-spacing:-.015em;font-weight:600;}
:where(.page-services,.page-advisory,.page-risk-modeling) .prose{color:var(--muted);font-size:1.155rem;}
:where(.page-services,.page-advisory,.page-risk-modeling) .prose p+p{margin-top:1.25rem;}
:where(.page-services,.page-advisory,.page-risk-modeling) .text-link{font-size:1.025rem;font-weight:650;}
:where(.page-services,.page-advisory,.page-risk-modeling) .text-link span{padding-left:.5rem;}
:where(.page-services,.page-advisory,.page-risk-modeling) .actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;}
:where(.page-services,.page-advisory,.page-risk-modeling) .btn{display:inline-flex;justify-content:center;align-items:center;padding:.85rem 1.25rem;border-radius:4px;font-size:1.025rem;font-weight:650;text-decoration:none;min-height:48px;}
:where(.page-services,.page-advisory,.page-risk-modeling) .btn-primary{background:var(--accent);color:var(--button-text);border:1px solid var(--accent);}
:where(.page-services,.page-advisory,.page-risk-modeling) .btn-primary:hover{box-shadow:0 0 0 2px var(--accent);}
:where(.page-services) .intro{border-top:1px solid var(--border);padding-top:4.5rem;}
:where(.page-services,.page-advisory,.page-risk-modeling) h1{font-size:clamp(2.8rem,5.3vw,4.5rem);text-wrap:balance;line-height:1.10;letter-spacing:-.02em;font-weight:650;max-width:20ch;}
:where(.page-services,.page-advisory,.page-risk-modeling) h1 span{color:var(--accent);}
:where(.page-services) .intro-summary{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:5rem;margin-block:2rem 3.5rem;}
:where(.page-services) .intro-summary .prose{font-size:1.225rem;max-width:43rem;}
:where(.page-services) .intro-summary .prose p+p{font-size:1.125rem;margin-top:1rem;}
:where(.page-services) .intro-summary .actions{justify-content:flex-end;}
:where(.page-services) .service-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;list-style:none;border-top:1px solid var(--border);padding-block:1.5rem;}
:where(.page-services) .service-index a{font-size:1.025rem;font-weight:600;text-decoration:none;display:inline-block;}
:where(.page-services) .service-index a:hover{text-decoration:underline;}
:where(.page-services) .service-index span{font-size:0.875rem;color:var(--accent);padding-right:.75rem;font-variant-numeric:tabular-nums;}
:where(.page-services) .advisory{background:var(--section-bg);border-block:1px solid var(--border);}
:where(.page-services,.page-advisory,.page-risk-modeling) .service-grid,:where(.page-services,.page-advisory,.page-risk-modeling) .split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:5rem;}
:where(.page-services) .service-heading .section-heading{margin-bottom:1.5rem;}
:where(.page-services) .service-heading .context{color:var(--muted);max-width:24rem;}
:where(.page-services) .service-heading .text-link{display:inline-block;margin-top:1.5rem;}
:where(.page-services) .service-detail h3{font-size:1.1rem;font-weight:600;margin-block:1.75rem .75rem;color:var(--text);}
:where(.page-services) .service-detail ul{padding-left:1.15rem;}
:where(.page-services) .service-detail li{padding-left:.25rem;margin-block:.6rem;}
:where(.page-services) .service-detail li::marker{color:var(--accent);}
:where(.page-services) .service-detail .note{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border);font-size:1.055rem;}
:where(.page-services) .technical{border-top:1px solid var(--border);}
:where(.page-services) .technical-areas{margin-top:1.75rem;}
:where(.page-services) .technical-areas div{padding-block:1.25rem;border-top:1px solid var(--border);}
:where(.page-services) .technical-areas dt{font-size:1.125rem;font-weight:600;color:var(--text);margin-bottom:.5rem;}
:where(.page-services) .technical-areas dd{font-size:1.095rem;}
:where(.page-services,.page-advisory,.page-risk-modeling) .engagement{background:var(--section-bg);border-block:1px solid var(--border);}
:where(.page-services,.page-advisory,.page-risk-modeling) .engagement-intro{max-width:45rem;margin-top:1.5rem;}
:where(.page-services,.page-advisory,.page-risk-modeling) .stages{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;margin-top:2.5rem;counter-reset:stage;}
:where(.page-services,.page-advisory,.page-risk-modeling) .stages li{counter-increment:stage;border-top:2px solid var(--accent);padding-top:1.25rem;}
:where(.page-services,.page-advisory,.page-risk-modeling) .stages li::before{content:counter(stage,decimal-leading-zero) " /";color:var(--accent);font-size:0.875rem;}
:where(.page-services,.page-advisory,.page-risk-modeling) .stages h3{font-size:1.25rem;font-weight:600;margin-block:.75rem;}
:where(.page-services,.page-advisory,.page-risk-modeling) .stages p{font-size:1.075rem;color:var(--muted);}
:where(.page-services,.page-advisory,.page-risk-modeling) .outcomes-intro{margin-top:1.5rem;max-width:25rem;}
:where(.page-services,.page-advisory,.page-risk-modeling) .outcome-list{list-style:none;border-top:1px solid var(--border);}
:where(.page-services,.page-advisory,.page-risk-modeling) .outcome-list li{padding-block:1.25rem;border-bottom:1px solid var(--border);}
:where(.page-services,.page-advisory,.page-risk-modeling) .outcome-list h3{font-size:1.1rem;font-weight:600;margin-bottom:.5rem;}
:where(.page-services,.page-advisory,.page-risk-modeling) .outcome-list p{color:var(--muted);font-size:1.095rem;}
:where(.page-services,.page-advisory,.page-risk-modeling) .closing{padding-block:3.5rem;border-top:1px solid var(--border);border-bottom:4px solid var(--highlight);}
:where(.page-services,.page-advisory,.page-risk-modeling) .closing-inner{display:flex;justify-content:space-between;align-items:center;gap:3rem;}
:where(.page-services,.page-advisory,.page-risk-modeling) .closing .section-heading{font-size:clamp(1.7rem,2.8vw,2.25rem);}
:where(.page-services,.page-advisory,.page-risk-modeling) .closing p{color:var(--muted);margin-top:1rem;max-width:43rem;}
:where(.page-services,.page-advisory,.page-risk-modeling) .closing .btn{flex-shrink:0;}
:where(.page-services,.page-advisory,.page-risk-modeling) footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-block:2rem;color:var(--muted);font-size:0.925rem;}
:where(.page-services,.page-advisory,.page-risk-modeling) .footer-links{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;}
@media(max-width:1000px){
  :where(.page-services,.page-advisory,.page-risk-modeling) .container{width:calc(100% - 4rem);}
  :where(.page-services,.page-advisory,.page-risk-modeling) .site-header{gap:1.5rem;}
  :where(.page-services,.page-advisory,.page-risk-modeling) .logo-link{flex-basis:280px;}
  :where(.page-services,.page-advisory,.page-risk-modeling) nav ul{gap:1rem;}
  :where(.page-services) .intro-summary,:where(.page-services) .service-grid,:where(.page-services) .split{gap:3rem;}
  :where(.page-services,.page-advisory,.page-risk-modeling) .stages{grid-template-columns:repeat(2,minmax(0,1fr));}
  :where(.page-services,.page-advisory,.page-risk-modeling) .closing-inner{flex-direction:column;align-items:flex-start;gap:1.5rem;}
}
@media(max-width:760px){
  :where(.page-services,.page-advisory,.page-risk-modeling) .site-header{flex-wrap:wrap;padding-block:1rem;gap:1rem;}
  :where(.page-services,.page-advisory,.page-risk-modeling) .logo-link{flex-basis:300px;}
  :where(.page-services,.page-advisory,.page-risk-modeling) nav{width:100%;}
  :where(.page-services,.page-advisory,.page-risk-modeling) nav ul{justify-content:space-between;flex-wrap:wrap;gap:.75rem;}
  :where(.page-services) .intro{padding-top:3rem;}
  :where(.page-services,.page-advisory,.page-risk-modeling) h1{font-size:clamp(2.8rem,8vw,4rem);}
  :where(.page-services) .intro-summary{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2.5rem;}
  :where(.page-services) .intro-summary .actions{justify-content:flex-start;}
  :where(.page-services) .service-index{grid-template-columns:1fr;gap:1rem;}
  :where(.page-services,.page-advisory,.page-risk-modeling) .section{padding-block:3.5rem;}
  :where(.page-services,.page-advisory,.page-risk-modeling) .service-grid,:where(.page-services,.page-advisory,.page-risk-modeling) .split{grid-template-columns:1fr;gap:2rem;}
  :where(.page-services) .service-heading .context,:where(.page-services) .outcomes-intro{max-width:35rem;}
}
@media(max-width:420px){
  :where(.page-services,.page-advisory,.page-risk-modeling) .container{width:calc(100% - 2.5rem);}
  :where(.page-services,.page-advisory,.page-risk-modeling) nav a,:where(.page-services,.page-advisory,.page-risk-modeling) nav button{font-size:0.925rem;}
  :where(.page-services,.page-advisory,.page-risk-modeling) nav ul{gap:.5rem;}
  :where(.page-services,.page-advisory,.page-risk-modeling) .stages{grid-template-columns:1fr;gap:1.5rem;}
  :where(.page-services,.page-advisory,.page-risk-modeling) .actions{align-items:flex-start;flex-direction:column;}
}


/* page-404 */
:where(.page-404) h1{font-size:clamp(1.75rem,3vw + 0.75rem,2.2rem);color:var(--accent);margin-bottom:1rem;font-weight:700;line-height:1.2;}
:where(.page-404) p{margin:.75rem 0;line-height:1.6;}
:where(.page-404) .highlight{color:var(--accent);font-weight:600;}
:where(.page-404) .section-box{background:var(--section-bg);border-radius:12px;padding:1.7rem;border:1px solid var(--border);box-shadow:0 6px 18px rgba(0,0,0,.08);}
:where(.page-404) ul{margin:.5rem 0 0;padding-left:1.2rem;}
:where(.page-404) li{margin-bottom:.5rem;}
:where(.page-404) .btn-primary{display:inline-block;padding:.75rem 1.4rem;border-radius:999px;font-weight:600;background:var(--highlight);color:#fff;text-decoration:none;}
@media(max-width:900px){
  :where(.page-404) .site-header{flex-direction:column;align-items:flex-start;}
  :where(.page-404) .logo-link{width:70%;max-width:none;}
  :where(.page-404) nav{width:100%;margin-top:1rem;}
}
@media(max-width:600px){
  :where(.page-404) .logo-link{width:90%;}
  :where(.page-404) nav ul{flex-wrap:wrap;}
  :where(.page-404) .content-card{padding:1.75rem;}
}
:where(.page-404) #contactModal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:20px;z-index:9999;}
:where(.page-404) #contactInner{background:var(--card-bg);color:var(--text);padding:24px;border-radius:14px;max-width:380px;width:100%;text-align:center;box-shadow:0 10px 40px rgba(0,0,0,.25);}
:where(.page-404) #contactInner h3{margin-bottom:.5rem;color:var(--accent);}
:where(.page-404) #contactInner a{color:var(--highlight);font-weight:600;}
:where(.page-404) #contactClose{margin-top:15px;padding:8px 16px;background:var(--accent);border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;}
:where(.page-404) footer{margin:40px 0;text-align:center;font-size:13px;color:rgba(0,0,0,0.6);}
:where(.page-404) .dark-mode footer{color:rgba(255,255,255,0.6);}
:where(.page-404) footer a{text-decoration:none;color:inherit;}
:where(.page-404) footer a:hover{color:var(--accent);}

/* page-privacy */
:where(.page-privacy) h1{font-size:clamp(2rem,3vw+1rem,2.5rem);color:var(--accent);margin-bottom:1rem;}
:where(.page-privacy) h2{color:var(--accent);margin:1.4rem 0 .4rem;font-size:1.25rem;}
:where(.page-privacy) p{margin:.6rem 0;line-height:1.6;}
:where(.page-privacy) ul{margin:.4rem 0 .8rem;padding-left:1.2rem;}
:where(.page-privacy) li{margin-bottom:.4rem;}
:where(.page-privacy) a{color:var(--accent);}
:where(.page-privacy) a:hover{color:var(--highlight);}
@media(max-width:900px){
  :where(.page-privacy) .site-header{flex-direction:column;align-items:flex-start;}
  :where(.page-privacy) .logo-link{width:70%;max-width:none;}
  :where(.page-privacy) nav{width:100%;margin-top:1rem;}
}
@media(max-width:600px){
  :where(.page-privacy) .logo-link{width:90%;}
  :where(.page-privacy) nav ul{flex-wrap:wrap;}
  :where(.page-privacy) .content-card{padding:1.75rem;}
}
:where(.page-privacy) #contactModal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:20px;z-index:9999;}
:where(.page-privacy) #contactInner{background:var(--card-bg);color:var(--text);padding:24px;border-radius:14px;max-width:380px;width:100%;text-align:center;box-shadow:0 10px 40px rgba(0,0,0,.25);}
:where(.page-privacy) #contactInner h3{margin-bottom:.5rem;color:var(--accent);}
:where(.page-privacy) #contactInner a{color:var(--highlight);font-weight:600;}
:where(.page-privacy) #contactClose{margin-top:15px;padding:8px 16px;background:var(--accent);border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;}
:where(.page-privacy) footer{margin:40px 0;text-align:center;font-size:13px;color:rgba(0,0,0,0.6);}
:where(.page-privacy) .dark-mode footer{color:rgba(255,255,255,0.6);}
:where(.page-privacy) footer a{text-decoration:none;color:inherit;}
:where(.page-privacy) footer a:hover{color:var(--accent);}
:where(.page-privacy) .last-updated{font-size:0.9rem;color:rgba(0,0,0,0.55);}
:where(.page-privacy) .dark-mode .last-updated{color:rgba(255,255,255,0.55);}

/* page-terms */
:where(.page-terms) h1{font-size:clamp(2rem,3vw+1rem,2.5rem);color:var(--accent);margin-bottom:1rem;}
:where(.page-terms) h2{color:var(--accent);margin:1.4rem 0 .4rem;font-size:1.25rem;}
:where(.page-terms) p{margin:.6rem 0;line-height:1.6;}
:where(.page-terms) ul{margin:.4rem 0 .8rem;padding-left:1.2rem;}
:where(.page-terms) li{margin-bottom:.4rem;}
:where(.page-terms) a{color:var(--accent);}
:where(.page-terms) a:hover{color:var(--highlight);}
@media(max-width:900px){
  :where(.page-terms) .site-header{flex-direction:column;align-items:flex-start;}
  :where(.page-terms) .logo-link{width:70%;max-width:none;}
  :where(.page-terms) nav{width:100%;margin-top:1rem;}
}
@media(max-width:600px){
  :where(.page-terms) .logo-link{width:90%;}
  :where(.page-terms) nav ul{flex-wrap:wrap;}
  :where(.page-terms) .content-card{padding:1.75rem;}
}
:where(.page-terms) #contactModal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:20px;z-index:9999;}
:where(.page-terms) #contactInner{background:var(--card-bg);color:var(--text);padding:24px;border-radius:14px;max-width:380px;width:100%;text-align:center;box-shadow:0 10px 40px rgba(0,0,0,.25);}
:where(.page-terms) #contactInner h3{margin-bottom:.5rem;color:var(--accent);}
:where(.page-terms) #contactInner a{color:var(--highlight);font-weight:600;}
:where(.page-terms) #contactClose{margin-top:15px;padding:8px 16px;background:var(--accent);border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;}
:where(.page-terms) footer{margin:40px 0;text-align:center;font-size:13px;color:rgba(0,0,0,0.6);}
:where(.page-terms) .dark-mode footer{color:rgba(255,255,255,0.6);}
:where(.page-terms) footer a{text-decoration:none;color:inherit;}
:where(.page-terms) footer a:hover{color:var(--accent);}
:where(.page-terms) .last-updated{font-size:0.9rem;color:rgba(0,0,0,0.55);margin-top:1.5rem;}
:where(.page-terms) .dark-mode .last-updated{color:rgba(255,255,255,0.55);}

/* Former inline declarations; no competing higher-specificity declarations. */
.inline-pointer{cursor:pointer;}
.service-back-link{margin:0 0 1.25rem 0;}

/* Cybersecurity advisory: editorial composition and native FAQ controls. */
:where(.page-advisory,.page-risk-modeling) .advisory-intro{padding-block:2rem 4.5rem;border-top:1px solid var(--border);}
:where(.page-advisory,.page-risk-modeling) .return-link{display:inline-flex;align-items:center;min-height:44px;margin-bottom:1.75rem;font-size:1.025rem;font-weight:600;}
:where(.page-advisory,.page-risk-modeling) .advisory-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:5rem;align-items:end;}
:where(.page-advisory,.page-risk-modeling) .hero-summary{font-size:1.225rem;}
:where(.page-advisory,.page-risk-modeling) .hero-summary .actions{margin-top:1.75rem;}
:where(.page-advisory,.page-risk-modeling) .perspective{background:var(--section-bg);border-block:1px solid var(--border);}
:where(.page-advisory,.page-risk-modeling) .section-lead{margin-top:1.5rem;max-width:45rem;}
:where(.page-advisory,.page-risk-modeling) .support-list{margin-top:2.5rem;counter-reset:support;border-top:1px solid var(--border);}
:where(.page-advisory,.page-risk-modeling) .support-list div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:5rem;padding-block:1.5rem;border-bottom:1px solid var(--border);counter-increment:support;}
:where(.page-advisory,.page-risk-modeling) .support-list dt{display:flex;align-items:baseline;gap:1rem;font-size:1.305rem;line-height:1.4;font-weight:600;}
:where(.page-advisory,.page-risk-modeling) .support-list dt::before{content:counter(support,decimal-leading-zero) " /";font-size:0.875rem;color:var(--accent);flex-shrink:0;}
:where(.page-advisory,.page-risk-modeling) .support-list dd{color:var(--muted);}
:where(.page-advisory,.page-risk-modeling) .outside-perspective{border-bottom:1px solid var(--border);}
:where(.page-services,.page-advisory,.page-risk-modeling) .advisory-faq{border-top:1px solid var(--border);margin-top:2.5rem;}
:where(.page-services,.page-advisory,.page-risk-modeling) .advisory-faq details{border-bottom:1px solid var(--border);}
:where(.page-services,.page-advisory,.page-risk-modeling) .advisory-faq summary{font-size:1.175rem;font-weight:600;line-height:1.5;padding-block:1.25rem;min-height:48px;cursor:pointer;}
:where(.page-services,.page-advisory,.page-risk-modeling) .advisory-faq summary:focus-visible{outline:3px solid var(--highlight);outline-offset:5px;}
:where(.page-services,.page-advisory,.page-risk-modeling) .advisory-faq p{color:var(--muted);max-width:50rem;padding-bottom:1.5rem;}
@media(max-width:1000px){
  :where(.page-advisory,.page-risk-modeling) .advisory-hero,:where(.page-advisory,.page-risk-modeling) .support-list div{gap:3rem;}
}
@media(max-width:760px){
  :where(.page-advisory,.page-risk-modeling) .advisory-intro{padding-block:1.5rem 3.5rem;}
  :where(.page-advisory,.page-risk-modeling) .advisory-hero{grid-template-columns:1fr;gap:2rem;}
  :where(.page-advisory,.page-risk-modeling) .support-list div{grid-template-columns:1fr;gap:.75rem;}
  :where(.page-advisory,.page-risk-modeling) .hero-summary{max-width:35rem;}
}

/* Risk modeling: full-width headline, decision summary and model limitations. */
:where(.page-risk-modeling) .risk-headline{max-width:25ch;}
:where(.page-risk-modeling) .risk-summary{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:4rem;align-items:center;margin-top:2rem;}
:where(.page-risk-modeling) .risk-summary .btn{justify-self:end;}
:where(.page-risk-modeling) .risk-boundary{border-left:3px solid var(--accent);padding-left:1.5rem;margin-top:2rem;max-width:48rem;}
@media(max-width:760px){
  :where(.page-risk-modeling) .risk-summary{grid-template-columns:1fr;gap:1.5rem;}
  :where(.page-risk-modeling) .risk-summary .btn{justify-self:start;}
}

/* Legal pages use the shared homepage shell and a readable text column. */
:where(.page-home) .legal-main{border-top:1px solid var(--border);border-bottom:4px solid var(--highlight);padding-block:3.5rem 4.5rem;}
:where(.page-home) .legal-prose{max-width:48rem;margin-inline:auto;overflow-wrap:anywhere;}
:where(.page-home) .legal-prose h1{font-size:clamp(2.4rem,6vw,4rem);margin-bottom:2rem;}
:where(.page-home) .legal-prose h2{font-size:clamp(1.25rem,3vw,1.5rem);line-height:1.35;letter-spacing:-.005em;margin-block:2.25rem 1rem;}
:where(.page-home) .legal-prose p,:where(.page-home) .legal-prose ul{margin-bottom:1rem;}
:where(.page-home) .legal-prose ul{padding-left:1.5rem;}
:where(.page-home) .legal-prose li+li{margin-top:.5rem;}
:where(.page-home) .legal-prose .last-updated{color:var(--muted);font-size:1.025rem;margin-top:2.5rem;}
