/* Black Bag Security approved visual system, 2026-09-05 */
:root{
  --bg:#061019;--bg2:#08141e;--panel:#0b1721;--panel2:#0d1c28;
  --text:#f4f6f7;--muted:#a8b4c0;--faint:#718090;--line:#263746;
  --lime:#d6ff35;--cyan:#8ed7ef;--max:1320px;--serif:Georgia,"Times New Roman",serif;
  --sans:"Space Grotesk",Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.marketing-site{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 var(--sans);text-rendering:optimizeLegibility}.marketing-site a{color:inherit}.marketing-wrap{width:min(calc(100% - 48px),var(--max));margin:auto}.skip{position:fixed;left:12px;top:10px;transform:translateY(-160%);z-index:999;padding:10px 14px;background:var(--lime);color:#07110b;font-weight:800}.skip:focus{transform:none}
.marketing-header{position:sticky;top:0;z-index:60;background:rgba(6,16,25,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.marketing-header__inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:28px}.marketing-brand{text-decoration:none;display:flex;align-items:center}.marketing-brand span{display:flex;align-items:center;gap:16px}.marketing-brand strong{font-size:.9rem;letter-spacing:.18em;white-space:nowrap}.marketing-brand small{max-width:220px;padding-left:16px;border-left:2px solid var(--lime);color:#9aaabd;font-size:.6rem;letter-spacing:.18em;line-height:1.45}.marketing-nav{display:flex;align-items:center;gap:28px}.marketing-nav a{position:relative;padding:26px 0 22px;color:#d4dde5;text-decoration:none;font-size:.83rem}.marketing-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:13px;height:2px;background:var(--lime);transition:right .22s ease}.marketing-nav a:hover:after,.marketing-nav a.is-active:after{right:0}.marketing-nav a.is-active{color:#fff}
.marketing-main{overflow:hidden}.marketing-footer{border-top:1px solid var(--line);background:#050d14}.marketing-footer__inner{min-height:90px;display:grid;grid-template-columns:1fr auto auto;gap:30px;align-items:center}.marketing-footer__brand{display:flex;align-items:center;gap:20px}.marketing-footer__brand strong{font-size:.75rem;letter-spacing:.18em}.marketing-footer__brand span,.marketing-footer small{color:#738295;font-size:.58rem;letter-spacing:.16em}.marketing-footer nav{display:flex;gap:18px}.marketing-footer nav a{color:#9eabb8;text-decoration:none;font-size:.63rem;text-transform:uppercase;letter-spacing:.09em}.marketing-footer nav a:hover{color:var(--lime)}
.page-home,.page-services,.page-capability,.page-about{background:radial-gradient(circle at 50% 0,#0b1b28 0,#061019 48%,#050c12 100%)}.v-page{background:var(--bg)}.v-section{border-bottom:1px solid var(--line)}.v-wrap{width:min(calc(100% - 48px),var(--max));margin:auto}.v-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 14px;color:#9fb0c0;font-size:.63rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.v-eyebrow:before{content:"";width:28px;height:2px;background:var(--lime)}.v-title{margin:0;font:400 clamp(2.7rem,5.2vw,5.25rem)/.98 var(--serif);letter-spacing:-.035em;color:#fff}.v-h2{margin:0;font:400 clamp(2rem,3.5vw,3.55rem)/1.02 var(--serif);letter-spacing:-.028em}.v-lead{max-width:680px;margin:18px 0 0;color:#c0cad3;font-size:1.05rem;line-height:1.55}.v-copy{max-width:640px;color:var(--muted)}.v-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.v-btn{display:inline-flex;align-items:center;gap:16px;min-height:46px;padding:12px 22px;border:1px solid var(--lime);border-radius:3px;background:var(--lime);color:#09110b!important;text-decoration:none;font-weight:800;font-size:.82rem;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.v-btn:after{content:"→"}.v-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(214,255,53,.13);background:#e2ff67}.v-btn--ghost{background:transparent;color:#e8eef3!important;border-color:#496071}.v-btn--ghost:hover{background:#0d1b26;box-shadow:none}.v-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#07131c}.v-strip>div{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center;padding:20px 28px;border-right:1px solid var(--line)}.v-strip>div:last-child{border-right:0}.v-strip b{display:block;font-size:.83rem}.v-strip span{display:block;margin-top:3px;color:#8d9aa7;font-size:.7rem}.v-icon{color:var(--lime);font-size:1.4rem}
.v-hero{position:relative;min-height:570px;overflow:hidden}.v-hero__bg{position:absolute;inset:0;background:#07111a center/cover no-repeat}.v-hero__bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#061019 0%,rgba(6,16,25,.94) 31%,rgba(6,16,25,.48) 57%,rgba(6,16,25,.1) 100%),linear-gradient(0deg,rgba(6,16,25,.65),transparent 42%)}.v-hero__content{position:relative;z-index:2;min-height:570px;display:flex;align-items:center}.v-hero__copy{width:min(54%,680px);padding:70px 0}.v-kickers{display:flex;gap:34px;margin-top:28px;color:#7f91a1;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase}.v-kickers span{padding-left:15px;border-left:1px solid #365062}
.v-section-pad{padding:42px 0 50px}.v-section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:20px}.v-section-note{color:#748394;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase}.v-service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.v-card{position:relative;overflow:hidden;border:1px solid #314758;border-radius:5px;background:linear-gradient(180deg,#0d1b27,#07121a);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.v-card:hover{transform:translateY(-4px);border-color:#54718a;box-shadow:0 14px 36px rgba(0,0,0,.25)}.v-card__image{height:175px;overflow:hidden;background:#0b1620}.v-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.v-card:hover .v-card__image img{transform:scale(1.035)}.v-card__body{padding:16px 15px 18px}.v-card h3{margin:0 0 6px;font:400 1.18rem/1.15 var(--serif);color:#fff}.v-card p{margin:0;color:#98a6b4;font-size:.76rem;line-height:1.45}.v-card__arrow{display:inline-flex;width:28px;height:28px;margin-top:12px;align-items:center;justify-content:center;border:1px solid #6a7d8d;border-radius:50%;text-decoration:none}.v-card__arrow:hover{border-color:var(--lime);color:var(--lime)}
.v-product-grid{display:grid;grid-template-columns:1.25fr repeat(5,1fr);gap:10px;align-items:stretch}.v-product-intro{padding:14px 22px 14px 4px}.v-product-intro h2{margin:4px 0 14px;font:400 clamp(2rem,3vw,3.15rem)/1 var(--serif)}.v-product-intro p{color:#9fadb9;font-size:.86rem}.v-product{min-height:240px}.v-product .v-card__image{height:125px}.v-product h3{font-size:1rem}.v-product p{font-size:.7rem}.v-product__name{min-height:2.4em}
.v-bento{display:grid;grid-template-columns:1.05fr .95fr;gap:12px}.v-bento .v-card{min-height:270px}.v-bento-copy{padding:34px}.v-bento-copy h2{margin:0 0 12px;font:400 2.3rem/1 var(--serif)}.v-bento-copy p{color:#9cabb7}.v-bento-media{background-position:center;background-size:cover;min-height:270px}.v-bento-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,16,25,.1),rgba(6,16,25,.68))}
.v-close{padding:34px 0;background:#07131c}.v-close__grid{display:grid;grid-template-columns:1.25fr .7fr auto;gap:34px;align-items:center}.v-close h2{margin:0;font:400 clamp(2rem,3.4vw,3.5rem)/1 var(--serif)}.v-close p{margin:0;color:#9aa8b5;font-size:.84rem}.v-contact-icons{display:flex;gap:8px}.v-contact-icons span{display:grid;place-items:center;width:58px;height:58px;border:1px solid #3d5365;border-radius:4px;background:#0d1b27;color:#b9d4e4;font-size:1.4rem}
.v-services-hero .v-hero__bg{background-image:url('/assets/img/services/services-engagement-recommendation-v58.png')}.v-home-hero .v-hero__bg{background-image:url('/assets/img/home/main-institutional-control-v60.png')}.v-capability-hero .v-hero__bg{background-image:url('/assets/img/home/main-engineering-proof-v60.png')}.v-about-hero .v-hero__bg{background-image:url('/assets/img/principal-silhouette-approved.png');background-size:auto 100%;background-position:78% center;background-repeat:no-repeat;background-color:#07131c}.v-about-hero .v-hero__bg:after{background:linear-gradient(90deg,#061019 0%,rgba(6,16,25,.94) 43%,rgba(6,16,25,.2) 73%,#061019 100%)}
.v-models{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.v-mini{display:grid;grid-template-columns:44px 1fr;gap:15px;align-items:center;padding:22px;border:1px solid #304758;border-radius:4px;background:#0b1721}.v-mini strong{display:block}.v-mini span{color:#93a2b0;font-size:.76rem}.v-mini i{color:var(--lime);font-size:1.6rem;font-style:normal}.v-deliver-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.v-deliver-grid .v-card__image{height:145px}
.v-feature-product{display:grid;grid-template-columns:.9fr 1.25fr;border:1px solid #355065;border-radius:5px;overflow:hidden;background:#07141d}.v-feature-product__copy{padding:34px}.v-feature-product__copy h2{margin:4px 0 8px;font:400 clamp(2rem,3.5vw,3.6rem)/1 var(--serif)}.v-feature-product__copy .tagline{font-size:1.1rem;color:#b8c6d2}.v-feature-product__copy p{color:#9cabb8}.v-feature-product__visual{min-height:320px;background:url('/assets/img/aotp-operator-workspace-proof-v44.svg') center/contain no-repeat #081722}.v-products4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}.v-products4 .v-card__image{height:180px;background:#081722}.v-products4 img{object-fit:contain;padding:12px}.v-buyer-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.v-buyer-strip .v-mini{grid-template-columns:34px 1fr;padding:16px}
.v-about-principles{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.v-about-principles .v-principle{padding:28px 36px 30px;border-right:1px solid var(--line)}.v-about-principles .v-principle:last-child{border-right:0}.v-principle i{display:block;color:var(--lime);font-size:1.8rem;font-style:normal;margin-bottom:14px}.v-principle strong{display:block;margin-bottom:8px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}.v-principle p{margin:0;color:#93a2b0;font-size:.78rem}.v-about-feature{display:grid;grid-template-columns:.8fr 1.2fr;min-height:350px}.v-about-feature__copy{padding:48px 0}.v-about-feature__visual{position:relative;background:url('/assets/img/home/main-engagement-rigor-v60.png') center/cover no-repeat}.v-about-feature__visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#061019 0%,transparent 45%)}
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}[data-reveal].is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1;transform:none;transition:none}.v-card,.v-card img,.v-btn{transition:none}}
@media(max-width:1050px){.marketing-brand small{display:none}.v-service-grid{grid-template-columns:repeat(3,1fr)}.v-product-grid{grid-template-columns:repeat(3,1fr)}.v-product-intro{grid-column:1/-1}.v-deliver-grid,.v-products4,.v-about-principles{grid-template-columns:repeat(2,1fr)}.v-buyer-strip{grid-template-columns:repeat(2,1fr)}.v-close__grid{grid-template-columns:1fr auto}.v-close__grid>p{grid-column:1/-1}.v-about-principles .v-principle{border-bottom:1px solid var(--line)}}
@media(max-width:760px){.marketing-wrap,.v-wrap{width:min(calc(100% - 28px),var(--max))}.marketing-header__inner{min-height:64px}.marketing-brand strong{font-size:.78rem}.marketing-nav{gap:14px}.marketing-nav a{font-size:.7rem;padding:23px 0 20px}.v-hero,.v-hero__content{min-height:610px}.v-hero__copy{width:100%;padding:48px 0 160px}.v-hero__bg:after{background:linear-gradient(180deg,rgba(6,16,25,.35) 0%,rgba(6,16,25,.82) 45%,#061019 82%)}.v-title{font-size:clamp(2.7rem,13vw,4.3rem)}.v-strip{grid-template-columns:repeat(2,1fr)}.v-strip>div{border-bottom:1px solid var(--line)}.v-service-grid,.v-deliver-grid,.v-products4,.v-models,.v-about-principles{grid-template-columns:1fr 1fr}.v-product-grid{grid-template-columns:1fr 1fr}.v-bento,.v-feature-product,.v-about-feature{grid-template-columns:1fr}.v-about-feature__visual{min-height:280px}.v-close__grid{grid-template-columns:1fr}.v-contact-icons{margin-top:4px}.marketing-footer__inner{grid-template-columns:1fr;padding:24px 0}.marketing-footer nav{flex-wrap:wrap}.marketing-footer__brand{display:block}.marketing-footer__brand span{display:block;margin-top:8px}}
@media(max-width:520px){.marketing-brand{display:none}.marketing-header__inner{justify-content:center}.v-service-grid,.v-product-grid,.v-deliver-grid,.v-products4,.v-models,.v-about-principles,.v-buyer-strip{grid-template-columns:1fr}.v-strip{grid-template-columns:1fr}.v-card__image{height:210px}.v-kickers{gap:14px;flex-wrap:wrap}.v-section-head{display:block}.v-section-note{margin-top:10px}.v-about-principles .v-principle{border-right:0}}

/* The current Method page uses the m-* composition. Give that composition a
   deliberate phone layout instead of falling back to unstyled inline flow. */
@media (max-width: 760px) {
  .marketing-site.page-methodology .marketing-main {
    overflow: clip;
  }
  .marketing-site.page-methodology .m-page {
    background: #061019;
    overflow-wrap: anywhere;
  }
  .marketing-site.page-methodology .marketing-wrap {
    width: min(calc(100% - 32px), var(--max));
  }
  .marketing-site.page-methodology .m-hero,
  .marketing-site.page-methodology .m-section,
  .marketing-site.page-methodology .m-close {
    border-bottom: 1px solid var(--line);
  }
  .marketing-site.page-methodology .m-hero {
    padding: 38px 0 44px;
    background:
      linear-gradient(rgba(22, 54, 72, .12) 1px, transparent 1px),
      linear-gradient(90deg, rgba(22, 54, 72, .12) 1px, transparent 1px),
      radial-gradient(circle at 80% 10%, rgba(30, 117, 151, .17), transparent 38%),
      #061019;
    background-size: 22px 22px, 22px 22px, auto, auto;
  }
  .marketing-site.page-methodology .m-hero__grid,
  .marketing-site.page-methodology .m-split,
  .marketing-site.page-methodology .m-close__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  .marketing-site.page-methodology .m-eyebrow {
    margin: 0 0 14px;
    color: #aab7c2;
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
  }
  .marketing-site.page-methodology .m-hero h1,
  .marketing-site.page-methodology .m-section h2,
  .marketing-site.page-methodology .m-close h2 {
    margin: 0;
    color: #f5f7f7;
    font-family: var(--serif);
    font-weight: 400;
    letter-spacing: -.03em;
  }
  .marketing-site.page-methodology .m-hero h1 {
    font-size: clamp(2.35rem, 12vw, 3.15rem);
    line-height: 1.01;
  }
  .marketing-site.page-methodology .m-section h2,
  .marketing-site.page-methodology .m-close h2 {
    font-size: clamp(1.9rem, 9vw, 2.45rem);
    line-height: 1.06;
  }
  .marketing-site.page-methodology .m-accent {
    color: var(--lime);
  }
  .marketing-site.page-methodology .m-lead,
  .marketing-site.page-methodology .m-copy > p:not(.m-eyebrow),
  .marketing-site.page-methodology .m-section__intro > p:not(.m-eyebrow),
  .marketing-site.page-methodology .m-close p {
    margin: 17px 0 0;
    color: #c3cdd5;
    font-size: .98rem;
    line-height: 1.65;
  }
  .marketing-site.page-methodology .m-actions {
    margin-top: 23px;
  }
  .marketing-site.page-methodology .m-button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 48px;
    padding: 12px 18px;
    border: 1px solid var(--lime);
    border-radius: 3px;
    background: var(--lime);
    color: #061019;
    font-size: .82rem;
    font-weight: 800;
    text-decoration: none;
  }
  .marketing-site.page-methodology .m-button::after {
    content: "→";
  }
  .marketing-site.page-methodology .m-panel,
  .marketing-site.page-methodology .m-contact-box {
    overflow: hidden;
    border: 1px solid #345064;
    border-radius: 12px;
    background: rgba(8, 25, 36, .92);
  }
  .marketing-site.page-methodology .m-panel__head {
    padding: 15px 18px;
    border-bottom: 1px solid #345064;
    color: #e9eef1;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
  }
  .marketing-site.page-methodology .m-panel__body {
    padding: 8px 18px 10px;
  }
  .marketing-site.page-methodology .m-checks {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .marketing-site.page-methodology .m-checks li {
    position: relative;
    padding: 15px 0 15px 22px;
    border-bottom: 1px solid rgba(52, 80, 100, .65);
  }
  .marketing-site.page-methodology .m-checks li:last-child {
    border-bottom: 0;
  }
  .marketing-site.page-methodology .m-checks li::before {
    content: "✓";
    position: absolute;
    top: 16px;
    left: 0;
    color: var(--lime);
    font-weight: 800;
  }
  .marketing-site.page-methodology .m-checks strong,
  .marketing-site.page-methodology .m-checks span {
    display: block;
  }
  .marketing-site.page-methodology .m-checks strong {
    color: #f1f4f5;
    font-size: .9rem;
    line-height: 1.35;
  }
  .marketing-site.page-methodology .m-checks span {
    margin-top: 5px;
    color: #aebbc5;
    font-size: .84rem;
    line-height: 1.55;
  }
  .marketing-site.page-methodology .m-section,
  .marketing-site.page-methodology .m-close {
    padding: 44px 0;
  }
  .marketing-site.page-methodology .m-section--soft {
    background: #08141d;
  }
  .marketing-site.page-methodology .m-section__intro {
    max-width: 62ch;
    margin-bottom: 26px;
  }
  .marketing-site.page-methodology .m-grid,
  .marketing-site.page-methodology .m-process {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    margin-top: 26px;
  }
  .marketing-site.page-methodology .m-card,
  .marketing-site.page-methodology .m-process article {
    padding: 20px 18px;
    border: 1px solid #2f485a;
    border-radius: 8px;
    background: #091721;
  }
  .marketing-site.page-methodology .m-card h3,
  .marketing-site.page-methodology .m-process strong {
    display: block;
    margin: 0;
    color: #f1f4f5;
    font-size: .92rem;
    line-height: 1.35;
  }
  .marketing-site.page-methodology .m-card p,
  .marketing-site.page-methodology .m-process span {
    display: block;
    margin: 7px 0 0;
    color: #aebbc5;
    font-size: .84rem;
    line-height: 1.55;
  }
  .marketing-site.page-methodology .m-card__label {
    display: block;
    margin-bottom: 9px;
    color: var(--lime);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
  }
  .marketing-site.page-methodology .m-quote {
    margin: 0;
    padding: 22px 20px;
    border-left: 3px solid var(--lime);
    background: #0a1a25;
    color: #e5eaed;
    font: 400 1.05rem/1.6 var(--serif);
  }
  .marketing-site.page-methodology .m-contact-box {
    padding: 22px 20px;
  }
  .marketing-site.page-methodology .m-contact-box strong {
    color: #f1f4f5;
    font-size: .9rem;
    letter-spacing: .08em;
  }
  .marketing-site.page-methodology .m-contact-box p {
    margin-top: 9px;
    font-size: .86rem;
    line-height: 1.55;
  }
}

@media (max-width: 520px) {
  .marketing-site.page-methodology .m-button {
    width: 100%;
  }
}
