/* ABREU & BRUM — premium B2B visual system
   Public claims stay limited to the approved capability register. */
:root {
  --p-ink: #091a2b;
  --p-ink-soft: #15314b;
  --p-paper: #f4f6f3;
  --p-white: #ffffff;
  --p-line: rgba(9, 26, 43, .14);
  --p-muted: #617181;
  --p-gold: #d9a63f;
  --p-gold-soft: #f4e7c4;
  --p-blue: #39779a;
  --p-blue-soft: #dcebf1;
  --p-red: #b55e4d;
  --p-red-soft: #f1dfdb;
  --p-green: #3c806e;
  --p-shadow: 0 24px 70px rgba(9, 26, 43, .11);
  --p-radius: 24px;
  --p-radius-sm: 12px;
  --p-max: 1260px;
  --p-gutter: clamp(20px, 4vw, 56px);
  --p-family-accent: var(--p-gold);
  --p-family-accent-soft: var(--p-gold-soft);
}

.premium-site {
  min-width: 320px;
  padding-top: 0;
  color: var(--p-ink);
  background: var(--p-paper);
  font-family: var(--font-family-base);
  line-height: 1.6;
}

.premium-site .header {
  position: sticky;
  min-height: 78px;
  background: rgba(244, 246, 243, .88);
  border-bottom: 1px solid var(--p-line);
  box-shadow: none;
  backdrop-filter: blur(18px);
}

.premium-site .header .container { min-height: 78px; width: calc(100% - 40px); max-width: var(--p-max); }
.premium-site .logo-img { height: 36px; max-width: 210px; }
.premium-site .nav { gap: clamp(12px, 2vw, 28px); }
.premium-site .nav a { color: var(--p-muted); font-size: .78rem; letter-spacing: .02em; text-transform: uppercase; }
.premium-site .nav a:hover,
.premium-site .nav a:focus-visible,
.premium-site .nav a[aria-current="page"] { color: var(--p-ink); }
.premium-site .nav .nav-cta { color: var(--p-white); background: var(--p-ink); border-radius: 5px; }
.premium-site .nav .nav-cta:hover,
.premium-site .nav .nav-cta:focus-visible { color: var(--p-white); background: var(--p-blue); }
.premium-site .mobile-menu { color: var(--p-ink); background: transparent; border-color: var(--p-line); border-radius: 5px; }

.p-wrap { width: calc(100% - 40px); max-width: var(--p-max); min-width: 0; margin-inline: auto; }
.p-hero-grid > *, .p-page-hero .p-wrap > *, .p-split > *, .p-scope > *, .p-evidence > * { min-width: 0; }
.p-section { padding: clamp(76px, 10vw, 148px) 0; }
.p-section--tight { padding: clamp(48px, 7vw, 88px) 0; }
.p-section--ink { color: var(--p-white); background: var(--p-ink); }
.p-section--blue { color: var(--p-white); background: var(--p-ink-soft); }
.p-section--paper { background: var(--p-white); }
.p-eyebrow { color: var(--p-gold); font-size: .72rem; font-weight: 800; letter-spacing: .17em; line-height: 1.3; text-transform: uppercase; }
.p-section:not(.p-section--ink):not(.p-section--blue) .p-eyebrow { color: var(--p-blue); }
.p-title { max-width: 920px; margin: .75rem 0 1.2rem; font-family: var(--font-family-display); font-size: clamp(2.8rem, 5.1vw, 5.35rem); font-weight: 800; line-height: .98; letter-spacing: -.065em; overflow-wrap: break-word; }
.p-title--medium { max-width: 780px; font-size: clamp(2.4rem, 5vw, 5rem); }
.p-lede { max-width: 720px; color: var(--p-muted); font-size: clamp(1.05rem, 1.7vw, 1.3rem); line-height: 1.55; }
.p-section--ink .p-lede, .p-section--blue .p-lede { color: #c7d4de; }
.p-display { font-family: var(--font-family-display); font-weight: 800; letter-spacing: -.06em; overflow-wrap: break-word; }
.p-mono { font-family: var(--font-family-mono); font-size: .69rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }

.p-hero { position: relative; min-height: min(790px, calc(100vh - 78px)); display: grid; align-items: center; overflow: hidden; color: var(--p-white); background: var(--p-ink); }
.p-hero::before { content: ''; position: absolute; inset: 0; opacity: .55; background: radial-gradient(circle at 73% 22%, rgba(57, 119, 154, .42), transparent 29%), radial-gradient(circle at 89% 88%, rgba(217, 166, 63, .18), transparent 24%), linear-gradient(125deg, transparent 0 48%, rgba(255,255,255,.04) 48.1% 48.35%, transparent 48.45% 100%); pointer-events: none; }
.p-hero::after { content: ''; position: absolute; right: -14vw; bottom: -42vw; width: 62vw; aspect-ratio: 1; border: 1px solid rgba(217, 166, 63, .28); border-radius: 50%; transform: rotate(-22deg); pointer-events: none; }
.p-hero .p-wrap { position: relative; z-index: 1; }
.p-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .74fr); gap: clamp(42px, 8vw, 120px); align-items: center; }
.p-hero-copy { padding: clamp(58px, 9vw, 128px) 0; }
.p-hero .p-title { max-width: 820px; }
.p-hero .p-title em { color: #efc76a; font-style: normal; }
.p-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 2rem; }
.p-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 10px; padding: .85rem 1.2rem; color: var(--p-ink); background: var(--p-gold); border: 1px solid var(--p-gold); border-radius: 5px; font-weight: 800; line-height: 1.15; text-decoration: none; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.p-button:hover { color: var(--p-ink); background: #efc76a; border-color: #efc76a; transform: translateY(-2px); }
.p-button--ghost { color: var(--p-white); background: transparent; border-color: rgba(255,255,255,.4); }
.p-button--ghost:hover { color: var(--p-white); background: rgba(255,255,255,.1); border-color: var(--p-white); }
.p-button--dark { color: var(--p-white); background: var(--p-ink); border-color: var(--p-ink); }
.p-button--dark:hover { color: var(--p-white); background: var(--p-blue); border-color: var(--p-blue); }
.p-hero-note { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 1.25rem; color: #aebdca; font-size: .82rem; }
.p-hero-note span::before { content: '↳'; margin-right: 7px; color: var(--p-gold); }

.p-console { position: relative; padding: clamp(22px, 4vw, 36px); background: linear-gradient(145deg, rgba(255,255,255,.11), rgba(255,255,255,.035)); border: 1px solid rgba(255,255,255,.2); border-radius: var(--p-radius); box-shadow: 0 35px 90px rgba(0,0,0,.24); }
.p-console::before { content: ''; position: absolute; top: -1px; right: 28px; width: 70px; height: 3px; background: var(--p-gold); }
.p-console-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.15); }
.p-console-status { display: inline-flex; align-items: center; gap: 8px; color: #bde0d2; font-size: .76rem; text-transform: uppercase; }
.p-console-status::before { content: ''; display: block; width: 8px; height: 8px; background: #6fc5a6; border-radius: 50%; box-shadow: 0 0 0 5px rgba(111,197,166,.14); }
.p-console h2 { max-width: 340px; margin: 28px 0; font-size: clamp(1.65rem, 3vw, 2.4rem); line-height: .98; letter-spacing: -.06em; }
.p-console-lines { display: grid; gap: 12px; list-style: none; }
.p-console-lines li { display: grid; grid-template-columns: 84px 1fr auto; gap: 10px; align-items: center; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.12); color: #d5e0e7; font-size: .78rem; }
.p-console-lines b { color: #f0c96e; font-weight: 700; }
.p-console-lines span:last-child { color: #95b9c8; font-size: .68rem; text-align: right; }
.p-console-foot { margin-top: 26px; padding-top: 16px; color: #9ab0bd; border-top: 1px solid rgba(255,255,255,.12); font-size: .72rem; }

.p-proof-strip { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--p-line); border-bottom: 1px solid var(--p-line); }
.p-proof-item { min-height: 160px; padding: 28px 30px; border-right: 1px solid var(--p-line); }
.p-proof-item:last-child { border-right: 0; }
.p-proof-item strong { display: block; margin-bottom: 8px; font-size: 1.15rem; letter-spacing: -.03em; }
.p-proof-item p { max-width: 260px; color: var(--p-muted); font-size: .9rem; }

.p-heading { display: grid; grid-template-columns: minmax(0, .8fr) minmax(260px, 1fr); gap: 40px; align-items: end; margin-bottom: 48px; }
.p-heading h2 { max-width: 760px; margin-top: .75rem; font-family: var(--font-family-display); font-size: clamp(2rem, 3.6vw, 3.55rem); font-weight: 800; line-height: 1.02; letter-spacing: -.065em; overflow-wrap: break-word; }
.p-heading > p { max-width: 440px; margin-left: auto; color: var(--p-muted); font-size: 1.05rem; }
.p-section--ink .p-heading > p, .p-section--blue .p-heading > p { color: #c7d4de; }

.p-practice-stack { display: grid; gap: 14px; }
.p-practice { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, .55fr) auto; gap: clamp(24px, 3vw, 44px); align-items: center; min-height: 186px; padding: 30px 34px; color: var(--p-white); background: var(--p-ink); border-radius: var(--p-radius-sm); overflow: hidden; text-decoration: none; }
.p-practice-main { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 24px; align-items: start; min-width: 0; }
.p-practice::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 5px; background: var(--p-gold); }
.p-practice--red::before { background: var(--p-red); }
.p-practice--blue::before { background: var(--p-blue); }
.p-practice > * { position: relative; z-index: 1; }
.p-practice:hover { color: var(--p-white); box-shadow: var(--p-shadow); transform: translateX(5px); }
.p-practice-number { align-self: start; color: #9aaeba; font-family: var(--font-family-display); font-size: clamp(1.75rem, 2.5vw, 2.25rem); font-weight: 800; line-height: 1; letter-spacing: -.06em; }
.p-practice h3 { margin-bottom: 8px; font-family: var(--font-family-display); font-size: clamp(1.45rem, 2.6vw, 2.15rem); font-weight: 800; line-height: 1.02; letter-spacing: -.055em; }
.p-practice p { max-width: 480px; color: #c7d4de; font-size: .9rem; }
.p-practice-meta { color: #a7bbc7; font-size: .72rem; letter-spacing: .08em; line-height: 1.6; text-transform: uppercase; }
.p-practice-arrow { color: var(--p-gold); font-size: 1.8rem; }

.p-split { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(40px, 8vw, 120px); align-items: start; }
.p-split h2 { max-width: 600px; margin: .75rem 0 1rem; font-family: var(--font-family-display); font-size: clamp(2rem, 3.6vw, 3.55rem); font-weight: 800; line-height: 1.02; letter-spacing: -.06em; overflow-wrap: break-word; }
.p-split > div > p { max-width: 560px; color: var(--p-muted); font-size: 1.05rem; }
.p-list { display: grid; gap: 0; margin: 0; list-style: none; }
.p-list li { display: grid; grid-template-columns: 52px 1fr; gap: 18px; padding: 22px 0; border-top: 1px solid var(--p-line); }
.p-list li:last-child { border-bottom: 1px solid var(--p-line); }
.p-list-index { color: var(--p-blue); font-size: .75rem; font-weight: 800; }
.p-list strong { display: block; margin-bottom: 5px; font-size: 1.05rem; }
.p-list span { color: var(--p-muted); font-size: .9rem; }

.p-evidence { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: 28px; align-items: stretch; }
.p-evidence-intro { padding: clamp(28px, 5vw, 56px); color: var(--p-white); background: var(--p-ink); border-radius: var(--p-radius); }
.p-evidence-intro h2 { margin: .7rem 0 1rem; font-family: var(--font-family-display); font-size: clamp(2rem, 3vw, 3rem); font-weight: 800; line-height: 1.02; letter-spacing: -.06em; overflow-wrap: break-word; }
.p-evidence-intro p { color: #c7d4de; }
.p-section.p-section--paper .p-evidence-intro .p-eyebrow { color: #8bd0dc; }
.p-report { position: relative; padding: clamp(24px, 5vw, 50px); background: var(--p-white); border: 1px solid var(--p-line); border-radius: var(--p-radius); box-shadow: var(--p-shadow); overflow: hidden; }
.p-report::before { content: 'AMOSTRA DEMONSTRATIVA'; position: absolute; top: 20px; right: 24px; color: var(--p-red); font-family: var(--font-family-mono); font-size: .62rem; letter-spacing: .12em; }
.p-report-header { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 22px; border-bottom: 1px solid var(--p-line); }
.p-report-code { color: #245f7c; font-family: var(--font-family-mono); font-size: .78rem; }
.p-report-severity { color: #8a4a3d; font-size: .76rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.p-report h3 { max-width: 500px; margin: 28px 0 12px; font-family: var(--font-family-display); font-size: clamp(1.45rem, 2.4vw, 2.1rem); font-weight: 800; line-height: 1.05; letter-spacing: -.05em; overflow-wrap: break-word; }
.p-report p { color: var(--p-muted); }
.p-report-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 28px; }
.p-report-grid--four { grid-template-columns: repeat(4, 1fr); }
.p-report-grid div { padding: 15px; background: var(--p-paper); border-radius: 8px; }
.p-report-grid strong { display: block; margin-bottom: 4px; color: var(--p-ink); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.p-report-grid span { color: var(--p-muted); font-size: .8rem; }
.p-report-note { display: block; margin-top: 18px; color: var(--p-muted); font-size: .78rem; line-height: 1.45; }

.p-timeline { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1px; background: var(--p-line); border: 1px solid var(--p-line); }
.p-timeline-step { min-height: 190px; padding: 22px 18px; background: var(--p-white); }
.p-timeline-step:nth-child(odd) { background: #fafbf9; }
.p-timeline-step b { color: var(--p-blue); font-size: .72rem; }
.p-timeline-step h3 { margin: 30px 0 8px; font-size: 1.05rem; line-height: 1.08; }
.p-timeline-step p { color: var(--p-muted); font-size: .82rem; line-height: 1.45; }

.p-matrix { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.p-matrix-item { min-height: 175px; padding: 22px; border-top: 3px solid var(--p-blue); background: var(--p-white); }
.p-matrix-item:nth-child(2) { border-top-color: var(--p-gold); }
.p-matrix-item:nth-child(3) { border-top-color: var(--p-red); }
.p-matrix-item:nth-child(4) { border-top-color: var(--p-green); }
.p-matrix-item strong { display: block; margin-bottom: 9px; font-size: 1rem; }
.p-matrix-item span { color: var(--p-muted); font-size: .86rem; }

.p-quote { max-width: 780px; margin: 0 auto; padding: clamp(28px, 5vw, 54px); color: var(--p-white); background: var(--p-ink); border-left: 4px solid var(--p-gold); }
.p-quote p { font-family: var(--font-family-display); font-size: clamp(1.25rem, 2.5vw, 1.9rem); font-weight: 700; line-height: 1.15; letter-spacing: -.04em; overflow-wrap: break-word; }
.p-quote cite { display: block; margin-top: 22px; color: #aebdca; font-size: .78rem; font-style: normal; letter-spacing: .08em; text-transform: uppercase; }

.p-cta { padding: clamp(56px, 8vw, 100px) 0; color: var(--p-white); background: var(--p-ink); }
.p-cta .p-wrap { display: flex; align-items: end; justify-content: space-between; gap: 35px; }
.p-cta h2 { max-width: 760px; margin-top: .7rem; font-family: var(--font-family-display); font-size: clamp(2.35rem, 4.2vw, 4.3rem); font-weight: 800; line-height: 1; letter-spacing: -.065em; overflow-wrap: break-word; }
.p-cta p { max-width: 640px; margin-top: 1rem; color: #c7d4de; }

.p-page-hero { padding: clamp(64px, 9vw, 120px) 0 70px; color: var(--p-white); background: var(--p-ink); }
.p-page-hero { position: relative; isolation: isolate; overflow: hidden; }
.p-page-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; opacity: .9; background: linear-gradient(115deg, transparent 0 58%, rgba(255,255,255,.045) 58.1% 58.35%, transparent 58.45% 100%), radial-gradient(circle at 86% 20%, color-mix(in srgb, var(--p-family-accent) 24%, transparent), transparent 28%); pointer-events: none; }
.p-page-hero::after { content: ''; position: absolute; right: 8%; bottom: -140px; z-index: -1; width: 330px; height: 330px; border: 1px solid color-mix(in srgb, var(--p-family-accent) 48%, transparent); border-radius: 50%; box-shadow: 0 0 0 28px color-mix(in srgb, var(--p-family-accent) 8%, transparent), 0 0 0 56px color-mix(in srgb, var(--p-family-accent) 5%, transparent); pointer-events: none; }
.p-page-hero .p-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .65fr); gap: 60px; align-items: end; }
.p-breadcrumbs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; color: #91a7b6; font-size: .76rem; }
.p-breadcrumbs a { color: #dae4eb; text-decoration: none; }
.p-page-hero h1 { max-width: 850px; margin: .7rem 0 1.2rem; font-family: var(--font-family-display); font-size: clamp(2.55rem, 4.6vw, 4.65rem); font-weight: 800; line-height: 1; letter-spacing: -.07em; overflow-wrap: break-word; }
.p-page-hero .p-lede { color: #c7d4de; }
.p-page-mark { justify-self: end; max-width: 310px; padding: 24px; border: 1px solid rgba(255,255,255,.2); border-radius: var(--p-radius-sm); }
.p-page-mark strong { display: block; margin-bottom: 10px; color: #f0c96e; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; }
.p-page-mark span { color: #c7d4de; font-size: .9rem; }
.premium-site[data-site-area="pentest"] { --p-family-accent: #d9a63f; --p-family-accent-soft: #f4e7c4; }
.premium-site[data-site-area="red-team"] { --p-family-accent: #d06d5d; --p-family-accent-soft: #f1dfdb; }
.premium-site[data-site-area="security-review"] { --p-family-accent: #5da7b9; --p-family-accent-soft: #dcebf1; }
.premium-site[data-site-area="pentest"] .p-page-hero::before { background: linear-gradient(115deg, transparent 0 56%, rgba(217,166,63,.1) 56.1% 56.35%, transparent 56.45% 100%), radial-gradient(circle at 86% 20%, rgba(217,166,63,.24), transparent 28%); }
.premium-site[data-site-area="red-team"] .p-page-hero::before { background: repeating-linear-gradient(135deg, transparent 0 24px, rgba(208,109,93,.055) 25px 26px), radial-gradient(circle at 86% 20%, rgba(208,109,93,.25), transparent 28%); }
.premium-site[data-site-area="security-review"] .p-page-hero::before { background: linear-gradient(rgba(93,167,185,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(93,167,185,.08) 1px, transparent 1px), radial-gradient(circle at 86% 20%, rgba(93,167,185,.24), transparent 28%); background-size: 36px 36px, 36px 36px, auto; }
.premium-site[data-site-area="pentest"] .p-eyebrow, .premium-site[data-site-area="pentest"] .p-page-mark strong { color: #f0c96e; }
.premium-site[data-site-area="red-team"] .p-eyebrow, .premium-site[data-site-area="red-team"] .p-page-mark strong { color: #ed9b8c; }
.premium-site[data-site-area="security-review"] .p-eyebrow, .premium-site[data-site-area="security-review"] .p-page-mark strong { color: #8bd0dc; }
.premium-site[data-site-area="pentest"] .p-timeline { border-color: rgba(217,166,63,.34); background: rgba(217,166,63,.2); }
.premium-site[data-site-area="pentest"] .p-timeline-step { border-top: 3px solid var(--p-gold); }
.premium-site[data-site-area="pentest"] .p-scope-list li::before { content: '↗'; }
.premium-site[data-site-area="red-team"] .p-timeline { border-radius: 18px; overflow: hidden; background: rgba(208,109,93,.24); }
.premium-site[data-site-area="red-team"] .p-timeline-step { border-left: 2px solid var(--p-red); }
.premium-site[data-site-area="red-team"] .p-scope-list li::before { content: '⊕'; color: var(--p-red); }
.premium-site[data-site-area="security-review"] .p-timeline { background: linear-gradient(90deg, rgba(93,167,185,.24), var(--p-line)); }
.premium-site[data-site-area="security-review"] .p-timeline-step { border-bottom: 2px solid var(--p-blue); }
.premium-site[data-site-area="security-review"] .p-scope-list li::before { content: '◈'; color: var(--p-blue); }
/* Family treatment also applies to detailed routes such as pentest-web and security-review-cloud. */
.premium-site[data-site-area^="pentest"] { --p-family-accent: #d9a63f; --p-family-accent-soft: #f4e7c4; }
.premium-site[data-site-area^="red-team"] { --p-family-accent: #d06d5d; --p-family-accent-soft: #f1dfdb; }
.premium-site[data-site-area^="security-review"] { --p-family-accent: #5da7b9; --p-family-accent-soft: #dcebf1; }
.premium-site[data-site-area^="pentest"] .p-page-hero::before { background: linear-gradient(115deg, transparent 0 56%, rgba(217,166,63,.1) 56.1% 56.35%, transparent 56.45% 100%), radial-gradient(circle at 86% 20%, rgba(217,166,63,.24), transparent 28%); }
.premium-site[data-site-area^="red-team"] .p-page-hero::before { background: repeating-linear-gradient(135deg, transparent 0 24px, rgba(208,109,93,.055) 25px 26px), radial-gradient(circle at 86% 20%, rgba(208,109,93,.25), transparent 28%); }
.premium-site[data-site-area^="security-review"] .p-page-hero::before { background: linear-gradient(rgba(93,167,185,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(93,167,185,.08) 1px, transparent 1px), radial-gradient(circle at 86% 20%, rgba(93,167,185,.24), transparent 28%); background-size: 36px 36px, 36px 36px, auto; }
.premium-site[data-site-area^="pentest"] .p-eyebrow, .premium-site[data-site-area^="pentest"] .p-page-mark strong { color: #f0c96e; }
.premium-site[data-site-area^="red-team"] .p-eyebrow, .premium-site[data-site-area^="red-team"] .p-page-mark strong { color: #ed9b8c; }
.premium-site[data-site-area^="security-review"] .p-eyebrow, .premium-site[data-site-area^="security-review"] .p-page-mark strong { color: #8bd0dc; }
.premium-site[data-site-area^="pentest"] .p-timeline { border-color: rgba(217,166,63,.34); background: rgba(217,166,63,.2); }
.premium-site[data-site-area^="pentest"] .p-timeline-step { border-top: 3px solid var(--p-gold); }
.premium-site[data-site-area^="pentest"] .p-scope-list li::before { content: '↗'; }
.premium-site[data-site-area^="red-team"] .p-timeline { border-radius: 18px; overflow: hidden; background: rgba(208,109,93,.24); }
.premium-site[data-site-area^="red-team"] .p-timeline-step { border-left: 2px solid var(--p-red); }
.premium-site[data-site-area^="red-team"] .p-scope-list li::before { content: '⊕'; color: var(--p-red); }
.premium-site[data-site-area^="security-review"] .p-timeline { background: linear-gradient(90deg, rgba(93,167,185,.24), var(--p-line)); }
.premium-site[data-site-area^="security-review"] .p-timeline-step { border-bottom: 2px solid var(--p-blue); }
.premium-site[data-site-area^="security-review"] .p-scope-list li::before { content: '◈'; color: var(--p-blue); }
.p-service-intro { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--p-line); border: 1px solid var(--p-line); }
.p-service-intro > div { padding: 24px; background: var(--p-white); }
.p-service-intro strong { display: block; margin-bottom: 8px; color: var(--p-blue); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.p-service-intro span { color: var(--p-muted); font-size: .92rem; }
.p-scope { display: grid; grid-template-columns: .75fr 1.25fr; gap: 50px; align-items: start; }
.p-scope h2 { margin: .7rem 0 1rem; font-size: clamp(1.65rem, 2.6vw, 2.6rem); line-height: .98; letter-spacing: -.06em; overflow-wrap: break-word; }
.premium-site[data-site-area="about"] .p-page-hero h1 { font-size: clamp(2.45rem, 4.6vw, 4.65rem); }
.p-scope > div > p { color: var(--p-muted); }
.p-scope-list { display: grid; gap: 10px; margin: 0; list-style: none; }
.p-scope-list li { position: relative; padding: 17px 18px 17px 45px; color: var(--p-ink); background: var(--p-white); border: 1px solid var(--p-line); border-radius: 8px; font-size: .92rem; }
.p-scope-list li::before { content: '↗'; position: absolute; left: 18px; color: var(--p-blue); font-weight: 800; }
.p-faq { display: grid; gap: 10px; max-width: 880px; }
.p-faq details { padding: 21px 22px; background: var(--p-white); border: 1px solid var(--p-line); border-radius: 8px; }
.p-faq summary { color: var(--p-ink); font-weight: 800; cursor: pointer; }
.p-faq details p { padding-top: 12px; color: var(--p-muted); }

.p-credibility-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.p-credential-card { position: relative; min-height: 210px; padding: 24px; background: var(--p-white); border: 1px solid var(--p-line); border-top: 3px solid var(--p-family-accent); }
.p-credential-card:nth-child(2) { border-top-color: var(--p-blue); }
.p-credential-card:nth-child(3) { border-top-color: var(--p-green); }
.p-credential-card:nth-child(4) { border-top-color: var(--p-red); }
.p-credential-code { display: block; margin-bottom: 28px; color: #245f7c; font-family: var(--font-family-mono); font-size: .68rem; font-weight: 600; letter-spacing: .1em; }
.p-credential-card strong { display: block; margin-bottom: 10px; font-family: var(--font-family-display); font-size: 1.25rem; line-height: 1.05; letter-spacing: -.04em; }
.p-credential-card span:last-child { color: var(--p-muted); font-size: .88rem; }
.p-credibility-note { display: flex; align-items: start; gap: 20px; margin-top: 18px; padding: 18px 20px; color: #4b5d6b; background: var(--p-family-accent-soft); border-left: 3px solid var(--p-family-accent); font-size: .88rem; }
.p-credibility-note .p-mono { flex: 0 0 auto; color: var(--p-ink); }

.p-footer { padding: 56px 0 24px; color: #b6c6d0; background: #061321; }
.p-footer .p-wrap { display: grid; grid-template-columns: 1.3fr repeat(3, 1fr); gap: 30px; }
.p-footer .logo-img { height: 42px; }
.p-footer p { max-width: 270px; margin-top: 14px; font-size: .82rem; }
.p-footer h2 { margin-bottom: 12px; color: var(--p-white); font-size: .72rem; letter-spacing: .13em; text-transform: uppercase; }
.p-footer a { display: block; width: fit-content; margin: 7px 0; color: #b6c6d0; font-size: .82rem; text-decoration: none; }
.p-footer a:hover { color: var(--p-white); }
.p-footer-bottom { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 20px; margin-top: 45px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.14); font-size: .72rem; }

.premium-site .cookie-consent { z-index: 1500; }
.premium-site .skip-link { z-index: 2000; }
.premium-site .service-page { max-width: none; }
.premium-site .service-page > section { margin-top: 0; }
.premium-site a:focus-visible, .premium-site button:focus-visible, .premium-site summary:focus-visible { outline: 3px solid rgba(217,166,63,.75); outline-offset: 4px; }

@media (max-width: 980px) {
  .p-hero-grid, .p-page-hero .p-wrap, .p-split, .p-scope, .p-evidence { grid-template-columns: 1fr; }
  .p-page-mark { justify-self: start; }
  .p-practice { grid-template-columns: 54px minmax(0, 1fr) auto; }
  .p-practice-meta { grid-column: 2 / 3; }
  .p-practice-arrow { grid-column: 3; grid-row: 1 / span 2; }
  .p-timeline { grid-template-columns: repeat(3, 1fr); }
  .p-matrix { grid-template-columns: repeat(2, 1fr); }
  .p-credibility-grid { grid-template-columns: repeat(2, 1fr); }
  .p-footer .p-wrap { grid-template-columns: repeat(2, 1fr); }
  .p-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  .premium-site { padding-top: 0; }
  .premium-site .header { position: sticky; min-height: 68px; }
  .premium-site .header .container { min-height: 68px; }
  .premium-site .logo-img { height: 32px; }
  .premium-site .nav { top: 100%; background: var(--p-paper); }
  .p-title { font-size: clamp(2.3rem, 10vw, 4.2rem); }
  .p-hero { min-height: auto; }
  .p-hero-copy { padding: 74px 0 54px; }
  .p-proof-strip, .p-service-intro { grid-template-columns: 1fr; }
  .p-proof-item { min-height: auto; border-right: 0; border-bottom: 1px solid var(--p-line); }
  .p-proof-item:last-child { border-bottom: 0; }
  .p-heading { display: block; margin-bottom: 30px; }
  .p-heading > p { margin: 20px 0 0; }
  .p-practice { grid-template-columns: 40px minmax(0, 1fr) auto; padding: 24px 20px; }
  .p-practice-meta { grid-column: 2 / 3; }
  .p-report-grid, .p-report-grid--four, .p-matrix { grid-template-columns: 1fr; }
  .p-credibility-grid { grid-template-columns: 1fr; }
  .p-timeline { grid-template-columns: repeat(2, 1fr); }
  .p-cta .p-wrap { display: block; }
  .p-cta .p-button { margin-top: 28px; }
  .p-footer .p-wrap { grid-template-columns: 1fr 1fr; }
  .p-footer-bottom { display: block; }
  .p-footer-bottom p + p { margin-top: 7px; }
}

@media (max-width: 430px) {
  .p-actions { flex-direction: column; align-items: stretch; }
  .p-actions .p-button { width: 100%; }
  .p-timeline, .p-footer .p-wrap { grid-template-columns: 1fr; }
  .p-footer-brand { grid-column: auto; }
  .p-practice { grid-template-columns: 28px minmax(0, 1fr); }
  .p-practice-arrow { grid-column: 2; grid-row: auto; justify-self: end; }
  .p-credibility-note { display: block; }
  .p-credibility-note .p-mono { display: block; margin-bottom: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .p-practice, .p-button { transition: none; }
}

/* Reconstruction layer: editorial components for the commercial portfolio. */
.p-hero--rebuild { min-height: min(820px, calc(100vh - 78px)); }
.p-hero--rebuild .p-title { max-width: 760px; }
.p-hero-orbit { position: relative; min-height: 470px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; background: radial-gradient(circle at center, rgba(57,119,154,.28), transparent 34%), radial-gradient(circle at 72% 28%, rgba(217,166,63,.2), transparent 24%); }
.p-hero-orbit::before, .p-hero-orbit::after { content: ''; position: absolute; inset: 12%; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; }
.p-hero-orbit::after { inset: 28%; border-color: rgba(217,166,63,.34); }
.p-orbit-core { position: absolute; top: 50%; left: 50%; z-index: 2; display: grid; width: 190px; height: 190px; align-content: center; padding: 24px; text-align: center; background: var(--p-white); border-radius: 50%; box-shadow: 0 25px 80px rgba(0,0,0,.3); transform: translate(-50%, -50%); }
.p-orbit-core .p-mono { color: var(--p-blue); font-size: .62rem; }
.p-orbit-core strong { margin: 8px 0; color: var(--p-ink); font-family: var(--font-family-display); font-size: 1.1rem; line-height: 1.02; letter-spacing: -.04em; }
.p-orbit-core span:last-child { color: var(--p-muted); font-size: .73rem; }
.p-orbit-node { position: absolute; z-index: 3; display: grid; width: 86px; height: 86px; align-content: center; justify-items: center; color: var(--p-white); background: rgba(9,26,43,.9); border: 1px solid rgba(255,255,255,.3); border-radius: 50%; box-shadow: 0 16px 35px rgba(0,0,0,.24); }
.p-orbit-node b { color: #f0c96e; font-family: var(--font-family-mono); font-size: .65rem; }
.p-orbit-node span { font-size: .7rem; }
.p-orbit-node--one { top: 7%; left: 15%; }
.p-orbit-node--two { top: 17%; right: 8%; }
.p-orbit-node--three { right: 12%; bottom: 10%; }
.p-orbit-line { position: absolute; z-index: 1; height: 1px; background: linear-gradient(90deg, transparent, rgba(217,166,63,.7), transparent); transform-origin: left center; }
.p-orbit-line--one { top: 32%; left: 28%; width: 145px; transform: rotate(25deg); }
.p-orbit-line--two { top: 32%; right: 28%; width: 130px; transform: rotate(148deg); }
.p-orbit-line--three { right: 31%; bottom: 28%; width: 170px; transform: rotate(205deg); }
.p-orbit-caption { position: absolute; right: 13%; bottom: 5%; color: #9ab0bd; }
.p-section--signal { padding: clamp(54px, 8vw, 100px) 0; }
.p-signal-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(35px,8vw,110px); align-items: start; }
.p-signal-grid .p-eyebrow { color: #245f7c; }
.p-signal-grid h2 { max-width: 600px; margin-top: .7rem; font-family: var(--font-family-display); font-size: clamp(2rem,3.7vw,3.6rem); line-height: 1.02; letter-spacing: -.065em; }
.p-signal-list { display: grid; border-top: 1px solid var(--p-line); }
.p-signal-list a { position: relative; display: grid; grid-template-columns: 135px 1fr 22px; gap: 10px 20px; align-items: center; padding: 22px 0; color: var(--p-ink); border-bottom: 1px solid var(--p-line); text-decoration: none; }
.p-signal-list a:hover { color: var(--p-blue); }
.p-signal-list strong { font-size: 1.03rem; }
.p-signal-list a > span:not(.p-signal-code) { grid-column: 2; color: var(--p-muted); font-size: .87rem; }
.p-signal-list i { grid-column: 3; grid-row: 1 / span 2; color: var(--p-blue); font-size: 1.25rem; font-style: normal; }
.p-signal-code { color: var(--p-blue); }
.p-family-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.p-family-panel { position: relative; display: flex; min-height: 430px; flex-direction: column; padding: 30px; border-top: 5px solid var(--p-family-accent); background: var(--p-white); box-shadow: 0 12px 40px rgba(9,26,43,.06); }
.p-family-panel--gold { --p-family-accent: var(--p-gold); }
.p-family-panel--red { --p-family-accent: var(--p-red); }
.p-family-panel--blue { --p-family-accent: var(--p-blue); }
.p-family-index { color: var(--p-family-accent); }
.p-family-panel--gold .p-family-index { color: #7a5300; }
.p-family-panel--red .p-family-index { color: #8a3f34; }
.p-family-panel h3 { max-width: 260px; margin: 28px 0 12px; font-size: clamp(1.6rem,2.5vw,2.25rem); line-height: 1; }
.p-family-panel > p { color: var(--p-muted); font-size: .9rem; }
.p-chip-list { display: flex; flex-wrap: wrap; gap: 7px; margin: 24px 0 28px; }
.p-chip-list span { padding: 6px 9px; color: var(--p-ink-soft); background: var(--p-paper); border: 1px solid var(--p-line); border-radius: 999px; font-size: .7rem; }
.p-inline-link { margin-top: auto; color: var(--p-ink); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.p-inline-link:hover { color: var(--p-blue); }
.p-inline-link span { margin-left: 8px; color: var(--p-family-accent); font-size: 1.1rem; }
.p-section--evidence { background: var(--p-ink); }
.p-delivery-rail { position: relative; display: grid; grid-template-columns: repeat(5,1fr); gap: 0; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.15); }
.p-delivery-rail::before { content: ''; position: absolute; z-index: 0; top: 45px; right: calc(20% - 41px); left: 41px; height: 1px; background: rgba(240,201,110,.62); }
.p-delivery-step { position: relative; z-index: 1; min-height: 0; padding: 22px 18px 25px; background: rgba(255,255,255,.04); border-right: 1px solid rgba(255,255,255,.12); }
.p-delivery-step:last-child { border-right: 0; }
.p-delivery-step:nth-child(odd) { background: rgba(255,255,255,.08); }
.p-delivery-step span { display: grid; width: 46px; height: 46px; place-items: center; color: #f0c96e; background: var(--p-blue); border: 1px solid rgba(240,201,110,.8); border-radius: 50%; font-family: var(--font-family-mono); font-size: clamp(1.35rem, 2vw, 1.75rem); font-weight: 700; line-height: 1; }
.p-delivery-step strong { display: block; margin-top: 17px; color: var(--p-white); font-size: 1.05rem; line-height: 1.1; }
.p-delivery-step p { margin-top: 8px; color: #b6c6d0; font-size: .82rem; line-height: 1.45; }
.p-output-stack { display: grid; gap: 0; border-top: 1px solid var(--p-line); }
.p-output-stack article { display: grid; grid-template-columns: 120px 1fr; gap: 4px 22px; align-items: baseline; padding: 20px 0; border-bottom: 1px solid var(--p-line); }
.p-output-stack strong { font-size: 1.1rem; }
.p-output-stack p { grid-column: 2; color: var(--p-muted); font-size: .9rem; }
.p-output-mark { color: var(--p-blue); }
.p-trigger-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.p-trigger-grid > div { min-height: 205px; padding: 23px; border: 1px solid var(--p-line); border-top: 3px solid var(--p-blue); background: var(--p-white); }
.p-trigger-grid > div:nth-child(2) { border-top-color: var(--p-gold); }
.p-trigger-grid > div:nth-child(3) { border-top-color: var(--p-red); }
.p-trigger-grid > div:nth-child(4) { border-top-color: var(--p-green); }
.p-trigger-grid strong { display: block; margin: 24px 0 8px; font-size: 1.05rem; }
.p-trigger-grid p { color: var(--p-muted); font-size: .85rem; }

.p-about-statement { max-width: 350px; padding: 28px; border: 1px solid rgba(255,255,255,.22); border-left: 4px solid var(--p-gold); background: rgba(255,255,255,.06); }
.p-about-statement span:first-child { display: block; margin-bottom: 24px; color: #f0c96e; }
.p-about-statement strong { display: block; color: var(--p-white); font-family: var(--font-family-display); font-size: 1.5rem; line-height: 1.05; letter-spacing: -.05em; }
.p-about-statement span:last-child { display: block; margin-top: 20px; color: #c7d4de; font-size: .88rem; }
.p-page-hero--about .p-wrap { align-items: center; }
.p-principle-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.p-principle-grid article { min-height: 235px; padding: 24px; border: 1px solid var(--p-line); background: var(--p-paper); }
.p-principle-grid article:nth-child(1) { border-top: 3px solid var(--p-blue); }
.p-principle-grid article:nth-child(2) { border-top: 3px solid var(--p-gold); }
.p-principle-grid article:nth-child(3) { border-top: 3px solid var(--p-red); }
.p-principle-grid article:nth-child(4) { border-top: 3px solid var(--p-green); }
.p-principle-grid h3 { margin: 35px 0 10px; font-size: 1.25rem; line-height: 1.05; }
.p-principle-grid p { color: var(--p-muted); font-size: .86rem; }
.p-operating-path { display: grid; grid-template-columns: repeat(5,1fr); gap: 1px; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.15); }
.p-operating-step { min-height: 190px; padding: 23px 18px; background: rgba(255,255,255,.04); }
.p-operating-step:nth-child(even) { background: rgba(255,255,255,.08); }
.p-operating-step span { color: #8bd0dc; font-family: var(--font-family-mono); font-size: .7rem; }
.p-operating-step strong { display: block; margin-top: 35px; color: var(--p-white); font-size: 1rem; }
.p-operating-step p { margin-top: 7px; color: #b6c6d0; font-size: .82rem; }
.p-about-ledger { margin-top: 28px; padding: 20px; border-left: 3px solid var(--p-gold); background: var(--p-gold-soft); }
.p-about-ledger span { color: var(--p-ink); }
.p-about-ledger strong { display: block; margin: 10px 0 7px; font-size: 1rem; }
.p-about-ledger p { color: #4b5d6b; font-size: .84rem; }
.p-proof-board { padding: 24px; background: var(--p-ink); border-radius: var(--p-radius-sm); box-shadow: var(--p-shadow); }
.p-proof-board-head { display: flex; justify-content: space-between; padding-bottom: 18px; color: #8bd0dc; border-bottom: 1px solid rgba(255,255,255,.18); }
.p-proof-row { display: grid; grid-template-columns: 42px 140px 1fr; gap: 16px; padding: 20px 0; color: #c7d4de; border-bottom: 1px solid rgba(255,255,255,.13); font-size: .85rem; }
.p-proof-row > span:first-child { color: #f0c96e; font-family: var(--font-family-mono); }
.p-proof-row strong { color: var(--p-white); }
.p-proof-row > span:last-child { text-align: right; }
.p-audience-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.p-audience-grid article { min-height: 190px; padding: 27px; background: var(--p-white); border: 1px solid var(--p-line); }
.p-audience-mark { display: grid; width: 38px; height: 38px; place-items: center; color: var(--p-white); background: var(--p-ink); border-radius: 50%; font-family: var(--font-family-mono); font-size: .75rem; }
.p-audience-grid h3 { margin: 25px 0 8px; font-size: 1.15rem; }
.p-audience-grid p { color: var(--p-muted); font-size: .86rem; }

.p-page-hero--catalog .p-wrap { align-items: center; }
.p-catalog-index { display: grid; grid-template-columns: auto 1fr; gap: 6px 15px; max-width: 300px; padding: 25px; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.05); }
.p-catalog-index .p-mono { grid-column: 1 / -1; color: #8bd0dc; }
.p-catalog-index strong { color: #f0c96e; font-family: var(--font-family-display); font-size: 2.8rem; line-height: .8; }
.p-catalog-index span { align-self: center; color: #c7d4de; font-size: .8rem; }
.p-catalog-index i { grid-column: 1 / -1; height: 1px; margin: 12px 0 8px; background: rgba(255,255,255,.18); }
.p-catalog-nav { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--p-line); }
.p-catalog-nav a { display: grid; grid-template-columns: 40px 1fr; gap: 4px 10px; padding: 23px; color: var(--p-ink); border-right: 1px solid var(--p-line); text-decoration: none; }
.p-catalog-nav a:last-child { border-right: 0; }
.p-catalog-nav a:hover { background: var(--p-paper); }
.p-catalog-nav span { color: var(--p-blue); font-family: var(--font-family-mono); font-size: .7rem; }
.p-catalog-nav strong { font-size: 1.1rem; }
.p-catalog-nav small { grid-column: 2; color: var(--p-muted); font-size: .78rem; text-transform: uppercase; }
.p-section--catalog-family { padding: clamp(72px,9vw,130px) 0; }
.p-section--catalog-gold { background: #f7f0e1; }
.p-section--catalog-red { background: #f5e9e5; }
.p-section--catalog-blue { background: #e8f1f3; }
.p-catalog-family-head { display: grid; grid-template-columns: minmax(0,.85fr) minmax(260px,1fr); gap: 55px; align-items: end; margin-bottom: 46px; }
.premium-site .p-section--catalog-family .p-catalog-family-head .p-eyebrow { color: #245f7c; }
.p-catalog-family-head h2 { max-width: 740px; margin-top: .7rem; font-family: var(--font-family-display); font-size: clamp(2rem,3.6vw,3.55rem); line-height: 1.02; letter-spacing: -.065em; }
.p-catalog-family-head > p { max-width: 470px; margin-left: auto; color: #4b5d6b; }
.p-service-atlas { display: grid; grid-template-columns: repeat(5,1fr); gap: 1px; background: rgba(9,26,43,.16); border: 1px solid rgba(9,26,43,.16); }
.p-service-atlas--four { grid-template-columns: repeat(4,1fr); }
.p-service-atlas a { position: relative; display: flex; min-height: 165px; flex-direction: column; padding: 20px 18px; color: var(--p-ink); background: rgba(255,255,255,.78); text-decoration: none; }
.p-service-atlas a:hover { background: var(--p-white); }
.p-atlas-code { color: #245f7c; }
.p-service-atlas strong { margin-top: 25px; font-size: .94rem; line-height: 1.12; }
.p-service-atlas small { margin-top: 8px; color: var(--p-muted); font-size: .74rem; line-height: 1.35; }
.p-service-atlas i { position: absolute; right: 16px; bottom: 15px; color: var(--p-family-accent); font-size: 1.15rem; font-style: normal; }
.p-section--catalog-red .p-service-atlas i { color: var(--p-red); }
.p-section--catalog-blue .p-service-atlas i { color: var(--p-blue); }
.p-context-list { display: flex; flex-wrap: wrap; align-content: start; gap: 9px; }
.p-context-list span { padding: 11px 14px; color: var(--p-ink-soft); background: var(--p-white); border: 1px solid var(--p-line); border-radius: 999px; font-size: .82rem; }

.p-page-hero--pentest .p-wrap, .p-page-hero--red .p-wrap, .p-page-hero--review .p-wrap { align-items: center; }
.p-attack-path, .p-campaign-console, .p-control-stack { max-width: 360px; padding: 28px; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.06); }
.p-attack-path > span, .p-campaign-console > span, .p-control-stack > span { display: block; margin-bottom: 30px; color: #f0c96e; }
.p-attack-path > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--p-white); }
.p-attack-path b { display: grid; width: 74px; height: 74px; place-items: center; border: 1px solid rgba(217,166,63,.55); border-radius: 50%; font-size: .78rem; }
.p-attack-path i { color: #f0c96e; font-style: normal; }
.p-attack-path small, .p-campaign-console small, .p-control-stack small { display: block; margin-top: 26px; color: #c7d4de; font-size: .8rem; }
.p-pentest-layers { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.p-pentest-layer { min-height: 210px; padding: 23px; background: var(--p-white); border-top: 4px solid var(--p-gold); }
.p-pentest-layer:nth-child(2) { border-top-color: #e2b95c; }
.p-pentest-layer:nth-child(3) { border-top-color: var(--p-red); }
.p-pentest-layer:nth-child(4) { border-top-color: var(--p-blue); }
.p-pentest-layer span { color: var(--p-blue); font-family: var(--font-family-mono); font-size: .7rem; }
.p-pentest-layer strong { display: block; margin-top: 45px; font-size: 1.1rem; }
.p-pentest-layer p { margin-top: 7px; color: var(--p-muted); font-size: .84rem; }
.p-surface-map { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.p-surface-card { min-height: 305px; padding: 26px; background: var(--p-white); border: 1px solid var(--p-line); border-top: 4px solid var(--p-gold); }
.p-surface-card--network { border-top-color: var(--p-blue); }
.p-surface-card--software { border-top-color: var(--p-red); }
.p-surface-card h3 { margin: 28px 0 10px; font-size: 1.3rem; }
.p-surface-card p { min-height: 70px; color: var(--p-muted); font-size: .87rem; }
.p-surface-card a { display: block; width: fit-content; margin-top: 9px; color: var(--p-ink); font-size: .78rem; font-weight: 800; text-decoration: none; }
.p-surface-card a:hover { color: var(--p-blue); }
.p-pentest-sequence { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.16); }
.p-pentest-sequence > div { min-height: 200px; padding: 24px 19px; background: rgba(255,255,255,.04); }
.p-pentest-sequence > div:nth-child(even) { background: rgba(255,255,255,.08); }
.p-pentest-sequence span { color: #f0c96e; }
.p-pentest-sequence strong { display: block; margin-top: 38px; color: var(--p-white); font-size: 1.05rem; }
.p-pentest-sequence p { margin-top: 8px; color: #c7d4de; font-size: .82rem; }
.p-modality-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.p-modality-grid > div { min-height: 160px; padding: 22px; background: var(--p-white); border: 1px solid var(--p-line); }
.p-modality-grid span { color: var(--p-blue); }
.p-modality-grid strong { display: block; margin-top: 26px; font-size: 1rem; }
.p-modality-grid p { margin-top: 6px; color: var(--p-muted); font-size: .82rem; }

.p-campaign-console { border-left: 4px solid var(--p-red); }
.p-campaign-console > span { color: #ed9b8c; }
.p-campaign-console > strong { display: block; color: var(--p-white); font-family: var(--font-family-display); font-size: 1.55rem; line-height: 1.03; letter-spacing: -.05em; }
.p-campaign-track { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto; gap: 8px; align-items: center; margin-top: 32px; color: #ed9b8c; font-family: var(--font-family-mono); font-size: .62rem; }
.p-campaign-track i { height: 1px; background: rgba(208,109,93,.65); }
.p-campaign-board { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--p-line); border: 1px solid var(--p-line); }
.p-campaign-lane { min-height: 210px; padding: 23px 19px; background: var(--p-white); }
.p-campaign-lane:nth-child(odd) { background: #fffaf9; }
.p-campaign-lane span { color: var(--p-red); }
.p-campaign-lane span, .p-red-modalities span { color: #8a3f34; }
.p-campaign-lane strong { display: block; margin-top: 38px; font-size: 1.08rem; }
.p-campaign-lane p { margin-top: 7px; color: var(--p-muted); font-size: .83rem; }
.p-red-timeline { display: grid; grid-template-columns: repeat(5,1fr); gap: 1px; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.15); }
.p-red-timeline > div { min-height: 190px; padding: 22px 18px; background: rgba(255,255,255,.04); }
.p-red-timeline > div:nth-child(even) { background: rgba(208,109,93,.1); }
.p-red-timeline b { color: #ed9b8c; font-family: var(--font-family-mono); font-size: .7rem; }
.p-red-timeline strong { display: block; margin-top: 35px; color: var(--p-white); }
.p-red-timeline span { display: block; margin-top: 8px; color: #c7d4de; font-size: .81rem; }
.p-red-modalities { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.p-red-modalities a { position: relative; display: block; min-height: 190px; padding: 25px; color: var(--p-ink); background: #fffaf9; border: 1px solid var(--p-line); border-left: 4px solid var(--p-red); text-decoration: none; }
.p-red-modalities a:hover { background: var(--p-white); box-shadow: var(--p-shadow); }
.p-red-modalities span { color: #8a3f34; }
.p-red-modalities strong { display: block; margin: 26px 0 8px; font-size: 1.12rem; }
.p-red-modalities p { max-width: 430px; color: var(--p-muted); font-size: .86rem; }
.p-red-modalities i { position: absolute; right: 24px; bottom: 20px; color: var(--p-red); font-size: 1.3rem; font-style: normal; }

.p-control-stack { border-right: 4px solid var(--p-blue); }
.p-control-stack > span { color: #8bd0dc; }
.p-control-layer { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.p-control-layer b { color: var(--p-white); font-size: .74rem; letter-spacing: .1em; }
.p-control-layer span { color: #8bd0dc; font-size: .78rem; }
.p-review-layers { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.p-review-layers article { min-height: 215px; padding: 24px; background: var(--p-paper); border: 1px solid var(--p-line); border-bottom: 4px solid var(--p-blue); }
.p-review-layers article:nth-child(2) { border-bottom-color: var(--p-gold); }
.p-review-layers article:nth-child(3) { border-bottom-color: var(--p-green); }
.p-review-layers article:nth-child(4) { border-bottom-color: var(--p-red); }
.p-review-icon { display: grid; width: 42px; height: 42px; place-items: center; color: var(--p-white); background: var(--p-ink); border-radius: 50%; font-family: var(--font-family-mono); font-size: .68rem; }
.p-review-layers h3 { margin: 27px 0 8px; font-size: 1.1rem; }
.p-review-layers p { color: var(--p-muted); font-size: .84rem; }
.p-control-map { display: grid; border: 1px solid rgba(255,255,255,.18); }
.p-control-map-row { display: grid; grid-template-columns: 130px 1fr 35px minmax(170px,.8fr); gap: 18px; align-items: center; padding: 20px 22px; border-bottom: 1px solid rgba(255,255,255,.14); }
.p-control-map-row:last-child { border-bottom: 0; }
.p-control-map-row > span { color: #8bd0dc; }
.p-control-map-row b { color: var(--p-white); font-size: .95rem; }
.p-control-map-row i { color: #8bd0dc; font-style: normal; }
.p-control-map-row strong { color: #c7d4de; font-size: .9rem; }
.p-review-entry-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.p-review-entry-grid a { position: relative; display: block; min-height: 230px; padding: 25px; color: var(--p-ink); background: var(--p-white); border: 1px solid var(--p-line); border-top: 4px solid var(--p-blue); text-decoration: none; }
.p-review-entry-grid a:hover { box-shadow: var(--p-shadow); }
.p-review-entry-grid span { color: var(--p-blue); }
.p-review-entry-grid strong { display: block; max-width: 230px; margin: 28px 0 9px; font-size: 1.1rem; line-height: 1.08; }
.p-review-entry-grid p { max-width: 300px; color: var(--p-muted); font-size: .84rem; }
.p-review-entry-grid i { position: absolute; right: 23px; bottom: 18px; color: var(--p-blue); font-size: 1.25rem; font-style: normal; }
.p-review-atlas { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.p-review-atlas > div { min-height: 140px; padding: 20px; background: var(--p-white); border: 1px solid var(--p-line); border-left: 3px solid var(--p-blue); }
.p-review-atlas > div:nth-child(3n+2) { border-left-color: var(--p-green); }
.p-review-atlas > div:nth-child(3n) { border-left-color: var(--p-gold); }
.p-review-atlas span { color: var(--p-blue); font-family: var(--font-family-mono); font-size: .68rem; }
.p-review-atlas strong { display: block; margin-top: 24px; font-size: .98rem; }
.p-review-atlas small { display: block; margin-top: 5px; color: var(--p-muted); font-size: .78rem; }

@media (max-width: 980px) {
  .p-family-grid, .p-principle-grid { grid-template-columns: repeat(2,1fr); }
  .p-delivery-rail { grid-template-columns: 1fr; }
  .p-operating-path { grid-template-columns: repeat(3,1fr); }
  .p-delivery-rail::before { top: 39px; right: auto; bottom: 50px; left: 37px; width: 1px; height: auto; }
  .p-delivery-step { display: grid; grid-template-columns: 38px minmax(0,1fr); column-gap: 14px; padding: 19px 18px 21px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .p-delivery-step:last-child { border-bottom: 0; }
  .p-delivery-step span { width: 38px; height: 38px; font-size: 1.15rem; }
  .p-delivery-step span { grid-row: 1 / span 2; }
  .p-delivery-step strong { margin-top: 2px; }
  .p-delivery-step p { margin-top: 7px; }
  .p-trigger-grid { grid-template-columns: repeat(2,1fr); }
  .p-service-atlas { grid-template-columns: repeat(3,1fr); }
  .p-service-atlas--four { grid-template-columns: repeat(2,1fr); }
  .p-pentest-layers, .p-review-layers { grid-template-columns: repeat(2,1fr); }
  .p-surface-map, .p-review-entry-grid { grid-template-columns: 1fr; }
  .p-pentest-sequence, .p-red-timeline { grid-template-columns: repeat(2,1fr); }
  .p-campaign-board { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 700px) {
  .p-hero-orbit { min-height: 400px; margin-bottom: 30px; }
  .p-orbit-core { width: 150px; height: 150px; padding: 18px; }
  .p-orbit-core strong { font-size: .92rem; }
  .p-orbit-node { width: 70px; height: 70px; }
  .p-orbit-node--one { left: 3%; }
  .p-orbit-node--two { right: 1%; }
  .p-orbit-node--three { right: 5%; bottom: 3%; }
  .p-orbit-line--one { width: 95px; }
  .p-orbit-line--two { width: 90px; }
  .p-orbit-line--three { width: 100px; }
  .p-orbit-caption { right: 7%; bottom: 1%; font-size: .58rem; }
  .p-signal-grid, .p-catalog-family-head { grid-template-columns: 1fr; gap: 25px; }
  .p-signal-list a { grid-template-columns: 100px 1fr 18px; gap: 8px 12px; }
  .p-family-grid, .p-principle-grid, .p-audience-grid, .p-red-modalities { grid-template-columns: 1fr; }
  .p-family-panel { min-height: 0; }
  .p-delivery-rail { grid-template-columns: 1fr; }
  .p-operating-path, .p-service-atlas, .p-service-atlas--four, .p-pentest-layers, .p-pentest-sequence, .p-review-layers, .p-campaign-board, .p-review-atlas { grid-template-columns: 1fr 1fr; }
  .p-delivery-rail::before { bottom: 87px; }
  .p-output-stack article { grid-template-columns: 1fr; gap: 5px; }
  .p-output-stack p { grid-column: auto; }
  .p-catalog-nav { grid-template-columns: 1fr; }
  .p-catalog-nav a { border-right: 0; border-bottom: 1px solid var(--p-line); }
  .p-catalog-nav a:last-child { border-bottom: 0; }
  .p-control-map-row { grid-template-columns: 1fr 1fr 20px; gap: 10px; }
  .p-control-map-row strong { grid-column: 2 / -1; }
  .p-attack-path > div { gap: 3px; }
  .p-attack-path b { width: 64px; height: 64px; }
}

@media (max-width: 430px) {
  .p-delivery-rail, .p-operating-path, .p-service-atlas, .p-service-atlas--four, .p-pentest-layers, .p-pentest-sequence, .p-review-layers, .p-campaign-board, .p-review-atlas { grid-template-columns: 1fr; }
  .p-trigger-grid, .p-modality-grid { grid-template-columns: 1fr; }
  .p-hero-orbit { min-height: 350px; }
  .p-orbit-node--one { top: 4%; }
  .p-orbit-node--two { top: 13%; }
  .p-orbit-node--three { bottom: 8%; }
  .p-orbit-caption { display: none; }
  .p-proof-row { grid-template-columns: 32px 1fr; gap: 8px; }
  .p-proof-row > span:last-child { grid-column: 2; text-align: left; }
  .p-control-map-row { grid-template-columns: 1fr 20px; }
  .p-control-map-row b { grid-column: 1 / -1; }
  .p-control-map-row strong { grid-column: 1 / -1; }
  .p-campaign-track { grid-template-columns: 1fr; gap: 5px; }
  .p-campaign-track i { width: 1px; height: 10px; margin-left: 5px; }
}

/* AB Scan: produto próprio complementar, sem confundir leitura inicial com avaliação especializada. */
.premium-site .nav .nav-product { color: var(--p-ink); font-weight: 800; }
.premium-site .nav .nav-product:hover,
.premium-site .nav .nav-product:focus-visible { color: var(--p-blue); }
.p-page-hero--scan::before { background: radial-gradient(circle at 84% 20%, rgba(57,119,154,.34), transparent 30%), linear-gradient(115deg, transparent 0 58%, rgba(255,255,255,.05) 58.1% 58.35%, transparent 58.45% 100%); }
.p-scan-board { max-width: 380px; padding: 27px; color: var(--p-white); border: 1px solid rgba(255,255,255,.22); border-right: 4px solid var(--p-gold); background: rgba(255,255,255,.06); }
.p-scan-board > span { display: block; margin-bottom: 24px; color: #f0c96e; }
.p-scan-board-row { display: grid; grid-template-columns: 34px 1fr; gap: 12px; padding: 16px 0; border-top: 1px solid rgba(255,255,255,.14); }
.p-scan-board-row b { color: #f0c96e; font-family: var(--font-family-mono); font-size: .68rem; }
.p-scan-board-row strong { color: var(--p-white); font-size: .92rem; }
.p-scan-board-row small { grid-column: 2; color: #c7d4de; font-size: .78rem; }
.p-scan-board-note { display: block; margin-top: 18px; padding-top: 16px; color: var(--p-steel); border-top: 1px solid rgba(255,255,255,.13); font-size: .7rem; }
.p-scan-limits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--p-line); border: 1px solid var(--p-line); }
.p-scan-limits article { min-height: 180px; padding: 24px; background: var(--p-white); }
.p-scan-limits article:nth-child(2) { background: #f7f0e1; }
.p-scan-limits article:nth-child(3) { background: #e8f1f3; }
.p-scan-limits span { color: var(--p-blue); font-family: var(--font-family-mono); font-size: .68rem; }
.p-scan-limits strong { display: block; margin: 25px 0 8px; font-size: 1.05rem; }
.p-scan-limits p { color: var(--p-muted); font-size: .84rem; }
.p-scan-path { display: grid; gap: 0; border-top: 1px solid rgba(255,255,255,.18); }
.p-scan-path article { display: grid; grid-template-columns: 48px 1fr; gap: 6px 18px; padding: 22px 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.p-scan-path span { color: #8bd0dc; font-family: var(--font-family-mono); font-size: .68rem; }
.p-scan-path strong { color: var(--p-white); font-size: 1.05rem; }
.p-scan-path p { grid-column: 2; color: #c7d4de; font-size: .86rem; }

@media (max-width: 700px) {
  .p-scan-limits { grid-template-columns: 1fr; }
  .p-scan-limits article { min-height: 0; }
  .p-scan-path article { grid-template-columns: 40px 1fr; }
}

/* Premium direction v2: editorial consulting first, technical signals second. */
:root {
  --p-ink: #0B1422;
  --p-ink-soft: #15283A;
  --p-paper: #F5F6F2;
  --p-white: #FFFFFF;
  --p-line: rgba(21, 40, 58, .16);
  --p-muted: #516477;
  --p-steel: #B9C6D2;
  --p-accent: #30B8A6;
  --p-accent-dark: #147c72;
  --p-accent-soft: #DDF2EE;
  --p-gold: var(--p-accent);
  --p-gold-soft: var(--p-accent-soft);
  --p-blue: var(--p-accent-dark);
  --p-blue-soft: var(--p-accent-soft);
  --p-red: var(--p-accent-dark);
  --p-red-soft: var(--p-accent-soft);
  --p-green: var(--p-accent-dark);
  --p-shadow: 0 18px 55px rgba(11, 20, 34, .09);
  --p-radius: 18px;
  --p-radius-sm: 8px;
}

.premium-site { color: var(--p-ink); background: var(--p-paper); }
.premium-site .header { min-height: 82px; background: rgba(245, 246, 242, .94); border-bottom-color: rgba(21, 40, 58, .12); }
.premium-site .header .container { min-height: 82px; }
.premium-site .nav { gap: clamp(11px, 1.7vw, 24px); }
.premium-site .nav a { color: var(--p-muted); font-size: .76rem; letter-spacing: .01em; text-transform: none; }
.premium-site .nav .nav-cta { color: var(--p-white); background: var(--p-ink); border-radius: 4px; }
.premium-site .nav .nav-cta:hover,
.premium-site .nav .nav-cta:focus-visible { background: var(--p-accent-dark); }
.premium-site .mobile-menu { border-radius: 4px; }
.p-wrap { width: min(calc(100% - 44px), 1260px); }
.p-section { padding: clamp(68px, 8vw, 124px) 0; }
.p-section--tight { padding: clamp(44px, 6vw, 74px) 0; }
.p-eyebrow { color: var(--p-accent-dark); font-size: .69rem; letter-spacing: .13em; }
.p-section--ink .p-eyebrow,
.p-section--blue .p-eyebrow,
.p-cta .p-eyebrow { color: var(--p-accent); }
.p-title { font-size: clamp(2.8rem, 5vw, 5.25rem); line-height: 1.01; letter-spacing: -.06em; }
.p-display { letter-spacing: -.055em; }
.p-lede { color: var(--p-muted); }
.p-section--ink .p-lede,
.p-section--blue .p-lede { color: var(--p-steel); }
.p-mono { font-size: .62rem; letter-spacing: .1em; }
.p-button { min-height: 52px; padding-inline: 1.35rem; color: var(--p-ink); background: var(--p-accent); border-color: var(--p-accent); border-radius: 4px; box-shadow: none; }
.p-button:hover { color: var(--p-ink); background: #5bcbbb; border-color: #5bcbbb; }
.p-button--ghost { color: var(--p-white); background: transparent; border-color: rgba(255,255,255,.34); }
.p-button--ghost:hover { color: var(--p-white); background: rgba(255,255,255,.1); border-color: var(--p-white); }
.p-button--dark { color: var(--p-white); background: var(--p-ink); border-color: var(--p-ink); }
.p-button--dark:hover { color: var(--p-white); background: var(--p-accent-dark); border-color: var(--p-accent-dark); }

.p-hero { min-height: min(760px, calc(100vh - 82px)); background: var(--p-ink); }
.p-hero::before { opacity: 1; background: linear-gradient(120deg, transparent 0 58%, rgba(48,184,166,.08) 58.1% 58.3%, transparent 58.4%), radial-gradient(circle at 82% 18%, rgba(48,184,166,.16), transparent 31%); }
.p-hero::after { right: -16vw; bottom: -38vw; border-color: rgba(48,184,166,.2); }
.p-hero-copy { padding: clamp(62px, 8vw, 112px) 0; }
.p-hero-note { color: var(--p-steel); }
.p-hero-note span::before { color: var(--p-accent); }
.p-section--blue { background: var(--p-ink-soft); }
.p-section--paper { background: var(--p-white); }
.p-heading { margin-bottom: 42px; }
.p-heading h2, .p-split h2, .p-signal-grid h2 { letter-spacing: -.06em; }
.p-heading > p, .p-split > div > p { color: var(--p-muted); }
.p-section--ink .p-heading > p, .p-section--blue .p-heading > p { color: var(--p-steel); }

/* Hero graphic: a conceptual surface map, not a dashboard or a fake finding. */
.p-surface-visual { position: relative; min-height: 430px; padding: 24px; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.045); box-shadow: 0 28px 80px rgba(0,0,0,.22); }
.p-surface-visual__head { display: flex; justify-content: space-between; gap: 16px; padding-bottom: 18px; color: var(--p-steel); border-bottom: 1px solid rgba(255,255,255,.14); }
.p-surface-visual__head strong { color: var(--p-accent); font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }
.p-surface-canvas { position: relative; min-height: 315px; margin-top: 20px; overflow: hidden; background: linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px); background-size: 38px 38px; }
.p-surface-canvas::before { content: ''; position: absolute; inset: 18% 17%; border: 1px solid rgba(48,184,166,.42); transform: rotate(-11deg); }
.p-surface-canvas::after { content: ''; position: absolute; top: 14%; bottom: 14%; left: 50%; width: 1px; background: linear-gradient(transparent, rgba(48,184,166,.8), transparent); }
.p-surface-core { position: absolute; top: 50%; left: 50%; z-index: 2; width: 184px; min-height: 120px; padding: 22px; color: var(--p-ink); background: var(--p-white); box-shadow: 0 20px 45px rgba(0,0,0,.24); transform: translate(-50%, -50%); }
.p-surface-core span, .p-surface-node b { display: block; color: var(--p-accent-dark); font-family: var(--font-family-mono); font-size: .59rem; letter-spacing: .1em; text-transform: uppercase; }
.p-surface-core strong { display: block; margin-top: 12px; font-family: var(--font-family-display); font-size: 1.08rem; line-height: 1.04; letter-spacing: -.04em; }
.p-surface-node { position: absolute; z-index: 2; min-width: 108px; padding: 13px 15px; color: var(--p-white); background: rgba(11,20,34,.94); border-left: 3px solid var(--p-accent); }
.p-surface-node span { display: block; margin-top: 5px; font-size: .78rem; }
.p-surface-node--one { top: 10%; left: 4%; }
.p-surface-node--two { top: 23%; right: 3%; }
.p-surface-node--three { right: 8%; bottom: 8%; }
.p-surface-connector { position: absolute; z-index: 1; height: 1px; background: var(--p-accent); transform-origin: left; opacity: .8; }
.p-surface-connector--one { top: 34%; left: 24%; width: 105px; transform: rotate(28deg); }
.p-surface-connector--two { top: 38%; right: 20%; width: 90px; transform: rotate(151deg); }
.p-surface-connector--three { right: 29%; bottom: 27%; width: 112px; transform: rotate(205deg); }
.p-surface-caption { margin-top: 15px; color: var(--p-steel); font-size: .72rem; }

/* Editorial rows replace a grid of equal cards as the main commercial gesture. */
.p-practice-stack { gap: 0; border-top: 1px solid var(--p-line); }
.p-practice { grid-template-columns: minmax(0, 1fr) minmax(210px, .55fr) 30px; min-height: 148px; padding: 28px 20px; color: var(--p-ink); background: transparent; border-bottom: 1px solid var(--p-line); border-radius: 0; }
.p-practice-main { grid-template-columns: 44px minmax(0, 1fr); gap: 24px; }
.p-practice::before { width: 3px; }
.p-practice::after { content: ''; position: absolute; inset: 0; background: var(--p-paper); opacity: 0; transition: opacity .2s ease; }
.p-practice:hover { color: var(--p-ink); box-shadow: none; transform: none; }
.p-practice:hover::after { opacity: 1; }
.p-practice > * { z-index: 1; }
.p-practice-number { color: var(--p-accent-dark); font-family: var(--font-family-display); font-size: clamp(1.75rem, 2.5vw, 2.25rem); font-weight: 800; line-height: 1; letter-spacing: -.06em; }
.p-practice-meta { color: var(--p-accent-dark); }
.p-practice h3 { font-size: clamp(1.5rem, 2.6vw, 2.2rem); }
.p-practice p { color: var(--p-muted); }
.p-practice-arrow { color: var(--p-accent-dark); }

.p-family-grid { gap: 16px; }
.p-family-panel { min-height: 390px; padding: 28px; border: 1px solid var(--p-line); border-top-width: 3px; box-shadow: none; }
.p-family-panel--gold, .p-family-panel--red, .p-family-panel--blue { --p-family-accent: var(--p-accent); }
.p-family-panel h3 { margin-top: 24px; }
.p-family-panel > p { color: var(--p-muted); }
.p-chip-list { gap: 6px; margin: 20px 0 24px; }
.p-chip-list span { color: var(--p-ink-soft); background: var(--p-paper); border-color: var(--p-line); }
.p-inline-link { color: var(--p-ink); }
.p-inline-link span { color: var(--p-accent-dark); }

.p-delivery-rail, .p-operating-path { background: rgba(48,184,166,.35); border-color: rgba(48,184,166,.35); }
.p-delivery-step, .p-operating-step { background: rgba(255,255,255,.045); }
.p-delivery-step:nth-child(odd), .p-operating-step:nth-child(even) { background: rgba(255,255,255,.09); }
.p-delivery-step span, .p-operating-step span { color: #e2edf1; }
.p-delivery-step p, .p-operating-step p { color: #d3e0e6; }
.p-output-stack { border-top-color: var(--p-line); }
.p-output-mark { color: var(--p-accent-dark); }
.p-credibility-grid { gap: 16px; }
.p-credential-card { min-height: 190px; padding: 22px; border-top: 3px solid var(--p-accent); box-shadow: none; }
.p-credential-card:nth-child(2), .p-credential-card:nth-child(3), .p-credential-card:nth-child(4) { border-top-color: var(--p-accent); }
.p-credential-code { color: var(--p-accent-dark); }
.p-credibility-note { color: var(--p-ink-soft); background: var(--p-accent-soft); border-left-color: var(--p-accent); }
.p-credibility-note .p-mono { color: var(--p-ink); }
.p-cta { background: var(--p-ink); }
.p-cta h2 { letter-spacing: -.06em; }

/* Service catalogue: preserve every route while reading as a portfolio, not a table. */
.p-catalog-index { border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.04); }
.p-catalog-index .p-mono { color: var(--p-accent); }
.p-catalog-index strong { color: var(--p-accent); }
.p-catalog-nav { border-color: var(--p-line); }
.p-catalog-nav a:hover { background: var(--p-accent-soft); }
.p-catalog-nav span, .p-service-atlas .p-atlas-code { color: var(--p-accent-dark); }
.p-section--catalog-family { background: var(--p-white); }
.p-section--catalog-gold, .p-section--catalog-red, .p-section--catalog-blue { background: var(--p-paper); }
.p-catalog-family-head > p { color: var(--p-muted); }
.p-service-atlas, .p-service-atlas--four { grid-template-columns: repeat(2, 1fr); gap: 0; background: transparent; border-width: 1px 0 0; border-color: var(--p-line); }
.p-service-atlas a { min-height: 112px; padding: 17px 18px; background: transparent; border-bottom: 1px solid var(--p-line); }
.p-service-atlas a:hover { background: var(--p-accent-soft); }
.p-service-atlas strong { margin-top: 16px; }
.p-service-atlas i, .p-section--catalog-red .p-service-atlas i, .p-section--catalog-blue .p-service-atlas i { color: var(--p-accent-dark); }
.p-context-list span { border-radius: 4px; }

/* Family pages keep their content, but use one accent and less dashboard language. */
.p-page-hero { padding-block: clamp(64px, 8vw, 104px) 68px; }
.p-page-hero::before { background: linear-gradient(120deg, transparent 0 59%, rgba(48,184,166,.08) 59.1% 59.3%, transparent 59.4%), radial-gradient(circle at 85% 18%, rgba(48,184,166,.18), transparent 29%); }
.p-page-hero::after { border-color: rgba(48,184,166,.32); box-shadow: 0 0 0 28px rgba(48,184,166,.07), 0 0 0 56px rgba(48,184,166,.035); }
.p-eyebrow, .p-page-hero .p-eyebrow, .premium-site[data-site-area] .p-page-mark strong { color: var(--p-accent); }
.p-attack-path, .p-campaign-console, .p-control-stack, .p-scan-board { border-color: rgba(255,255,255,.2); border-right-color: var(--p-accent); }
.p-attack-path > span, .p-campaign-console > span, .p-control-stack > span, .p-scan-board > span { color: var(--p-accent); }
.p-attack-path b { border-color: rgba(48,184,166,.55); }
.p-attack-path i, .p-campaign-track, .p-campaign-console > span { color: var(--p-accent); }
.p-timeline, .p-pentest-sequence, .p-red-timeline { border-color: rgba(48,184,166,.3); background: rgba(48,184,166,.18); }
.p-timeline-step, .p-pentest-sequence > div, .p-red-timeline > div { border-top-color: var(--p-accent); }
.p-review-layers article, .p-pentest-layer, .p-surface-card, .p-review-entry-grid a { border-color: var(--p-line); }
.p-review-layers article, .p-pentest-layer, .p-surface-card, .p-review-entry-grid a { border-top-color: var(--p-accent); }
.p-review-icon { background: var(--p-ink); }
.p-control-map-row > span { color: var(--p-accent); }
.p-review-atlas span, .p-review-entry-grid span { color: var(--p-accent-dark); }
.p-control-map-row i, .p-control-map-row strong { color: var(--p-steel); }
.p-review-atlas > div { border-left-color: var(--p-accent); }
.p-red-modalities a { border-left-color: var(--p-accent); background: var(--p-white); }
.p-red-modalities span, .p-red-modalities i { color: var(--p-accent-dark); }
.p-quote { border-left-color: var(--p-accent); }
.p-scan-board { box-shadow: 0 24px 60px rgba(0,0,0,.2); }
.p-scan-board-row b, .p-scan-path span { color: var(--p-accent); }
.p-scan-limits article:nth-child(2), .p-scan-limits article:nth-child(3) { background: var(--p-white); }
.p-scan-limits article { border-top: 3px solid var(--p-accent); }

@media (max-width: 980px) {
  .premium-site .mobile-menu { display: inline-flex; }
  .premium-site .nav { position: absolute; top: 100%; left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 10px 22px 18px; background: var(--p-paper); border-bottom: 1px solid var(--p-line); box-shadow: 0 18px 32px rgba(11,20,34,.12); }
  .premium-site .nav.active { display: flex; }
  .premium-site .nav a { padding: 12px 4px; font-size: .92rem; }
  .premium-site .nav .nav-cta { margin-top: 6px; text-align: center; }
  .p-practice { grid-template-columns: minmax(0, 1fr) 30px; gap: 18px 22px; }
  .p-practice-main { grid-column: 1; grid-row: 1; }
  .p-practice-meta { grid-column: 1; grid-row: 2; margin-left: 68px; }
  .p-practice-arrow { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
  .p-service-atlas, .p-service-atlas--four { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 700px) {
  .premium-site .header, .premium-site .header .container { min-height: 70px; }
  .premium-site .nav { background: var(--p-paper); }
  .p-wrap { width: min(calc(100% - 36px), 1260px); }
  .p-surface-visual { min-height: 390px; }
  .p-surface-canvas { min-height: 270px; }
  .p-surface-core { width: 156px; min-height: 112px; padding: 17px; }
  .p-surface-core strong { font-size: .94rem; }
  .p-surface-node { min-width: 86px; padding: 10px 11px; }
  .p-surface-node span { font-size: .69rem; }
  .p-practice { grid-template-columns: minmax(0, 1fr) 22px; min-height: 0; padding: 24px 14px; gap: 14px; }
  .p-practice-main { grid-template-columns: 36px minmax(0, 1fr); gap: 14px; }
  .p-practice-number { font-size: 1.5rem; }
  .p-practice-meta { grid-column: 1; grid-row: 2; margin-left: 50px; }
  .p-service-atlas, .p-service-atlas--four { grid-template-columns: 1fr; }
  .p-credential-card { min-height: 0; }
}

@media (max-width: 430px) {
  .p-surface-visual { min-height: 350px; padding: 16px; }
  .p-surface-visual__head { display: block; }
  .p-surface-visual__head strong { display: block; margin-top: 8px; }
  .p-surface-canvas { min-height: 248px; margin-top: 14px; }
  .p-surface-node--one { top: 6%; left: 1%; }
  .p-surface-node--two { top: 20%; right: 0; }
  .p-surface-node--three { right: 1%; bottom: 4%; }
  .p-surface-connector--one { width: 65px; }
  .p-surface-connector--two { width: 55px; }
  .p-surface-connector--three { width: 70px; }
}

.p-home-problems { background: var(--p-ink); }
.p-problem-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.p-problem-grid > div { min-height: 220px; padding: 25px 24px 25px 0; border-right: 1px solid rgba(255,255,255,.2); }
.p-problem-grid > div + div { padding-left: 24px; }
.p-problem-grid > div:last-child { border-right: 0; }
.p-problem-grid span { color: var(--p-accent); }
.p-problem-grid strong { display: block; max-width: 310px; margin: 30px 0 12px; color: var(--p-white); font-family: var(--font-family-display); font-size: 1.25rem; line-height: 1.08; letter-spacing: -.04em; }
.p-problem-grid p { max-width: 330px; color: var(--p-steel); font-size: .88rem; }
.p-capability-board { border-top: 1px solid var(--p-line); }
.p-capability-row { display: grid; grid-template-columns: 190px minmax(0, 1fr) minmax(220px, .55fr); gap: 22px; align-items: baseline; padding: 22px 0; border-bottom: 1px solid var(--p-line); }
.p-capability-row > span:first-child { color: var(--p-accent-dark); }
.p-capability-row strong { font-size: 1.08rem; }
.p-capability-row > span:last-child { color: var(--p-muted); font-size: .84rem; }
.p-product-split { display: grid; grid-template-columns: minmax(0, .82fr) minmax(320px, 1.18fr); gap: clamp(40px, 8vw, 120px); align-items: center; }
.p-product-split h2 { max-width: 640px; margin: .7rem 0 1rem; font-family: var(--font-family-display); font-size: clamp(2rem, 3.6vw, 3.55rem); font-weight: 800; line-height: 1.02; letter-spacing: -.06em; }
.p-product-split > div > p { max-width: 560px; color: var(--p-muted); }
.p-product-frame { position: relative; padding: 26px; color: var(--p-white); background: var(--p-ink); border: 1px solid rgba(48,184,166,.5); border-radius: 3px; box-shadow: var(--p-shadow); }
.p-product-frame::before { content: ''; position: absolute; top: -1px; left: 24px; width: 72px; height: 3px; background: var(--p-accent); }
.p-product-frame__brand { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; padding-bottom: 22px; border-bottom: 1px solid rgba(255,255,255,.15); }
.p-product-frame__brand span { color: var(--p-accent); }
.p-product-frame__brand strong { font-size: .62rem; font-weight: 500; letter-spacing: .1em; }
.p-product-frame__line { display: flex; justify-content: space-between; gap: 18px; padding: 19px 0; border-bottom: 1px solid rgba(255,255,255,.13); font-size: .88rem; }
.p-product-frame__line span { color: var(--p-steel); }
.p-product-frame__line b { color: var(--p-white); font-weight: 600; text-align: right; }
.p-product-frame small { display: block; margin-top: 22px; color: var(--p-steel); font-size: .72rem; }
.p-service-summary { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--p-line); border-bottom: 1px solid var(--p-line); }
.p-service-summary > div { min-height: 170px; padding: 23px 24px 23px 0; border-right: 1px solid var(--p-line); }
.p-service-summary > div + div { padding-left: 24px; }
.p-service-summary > div:last-child { border-right: 0; }
.p-service-summary span { color: var(--p-accent-dark); }
.p-service-summary strong { display: block; margin: 27px 0 8px; font-family: var(--font-family-display); font-size: 1.25rem; line-height: 1.05; letter-spacing: -.04em; }
.p-service-summary p { color: var(--p-muted); font-size: .88rem; }

@media (max-width: 980px) {
  .p-product-split { grid-template-columns: 1fr; }
  .p-capability-row { grid-template-columns: 160px minmax(0, 1fr); }
  .p-capability-row > span:last-child { grid-column: 2; }
}

@media (max-width: 700px) {
  .p-problem-grid { grid-template-columns: 1fr; }
  .p-problem-grid > div, .p-problem-grid > div + div { min-height: 0; padding: 22px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
  .p-problem-grid > div:last-child { border-bottom: 0; }
  .p-capability-row { grid-template-columns: 1fr; gap: 9px; }
  .p-capability-row > span:last-child { grid-column: auto; }
  .p-product-frame__brand { display: block; }
  .p-product-frame__brand strong { display: block; margin-top: 8px; }
  .p-service-summary { grid-template-columns: 1fr; }
  .p-service-summary > div, .p-service-summary > div + div { min-height: 0; padding: 20px 0; border-right: 0; border-bottom: 1px solid var(--p-line); }
  .p-service-summary > div:last-child { border-bottom: 0; }
}
