:root {
    --bg: #07101d;
    --bg-deep: #040a12;
    --surface: #0c1726;
    --surface-raised: #111f31;
    --surface-soft: rgba(255, 255, 255, 0.035);
    --primary: #4f8cff;
    --primary-strong: #3478f6;
    --primary-soft: rgba(79, 140, 255, 0.12);
    --secondary: #2dd4bf;
    --secondary-soft: rgba(45, 212, 191, 0.1);
    --violet: #a78bfa;
    --text: #f7f9fc;
    --text-soft: #c5d0df;
    --muted: #8fa0b5;
    --border: rgba(182, 203, 230, 0.13);
    --border-strong: rgba(143, 175, 218, 0.24);
    --success: #55d6a9;
    --warning: #f4c96b;
    --danger: #ff8295;
    --shadow-sm: 0 10px 30px rgba(0, 0, 0, 0.18);
    --shadow-lg: 0 28px 80px rgba(0, 0, 0, 0.28);
    --radius-sm: 12px;
    --radius-md: 18px;
    --radius-lg: 26px;
    --radius-xl: 34px;
    --container: 1180px;
    --header-height: 78px;
    --space-section: clamp(4.5rem, 8vw, 7.5rem);
    --transition: 220ms ease;
}

*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 24px); }
body {
    min-width: 320px;
    min-height: 100vh;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 8% -8%, rgba(52, 120, 246, 0.15), transparent 28rem),
        radial-gradient(circle at 96% 14%, rgba(45, 212, 191, 0.07), transparent 24rem),
        var(--bg);
    color: var(--text);
    font: 400 1rem/1.7 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}
body.nav-open { overflow: hidden; }
img, svg { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
ul, ol { padding: 0; }
h1, h2, h3, h4 { font-family: "Manrope", "Inter", sans-serif; line-height: 1.14; letter-spacing: -0.035em; text-wrap: balance; }
p { text-wrap: pretty; }
::selection { background: rgba(79, 140, 255, 0.35); color: #fff; }

.container { width: min(calc(100% - 2.5rem), var(--container)); margin-inline: auto; }
.section { padding-block: var(--space-section); }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 9999; padding: .75rem 1rem; border-radius: 0 0 .6rem .6rem; background: #fff; color: #07101d; font-weight: 700; transition: top var(--transition); }
.skip-link:focus { top: 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

:focus-visible { outline: 3px solid rgba(112, 164, 255, .75); outline-offset: 4px; }

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin-bottom: 1rem;
    color: #8eb6ff;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.eyebrow i { color: var(--secondary); }
.section-heading { margin-bottom: clamp(2rem, 5vw, 3.75rem); }
.section-heading h2 { max-width: 760px; font-size: clamp(2rem, 4.2vw, 3.55rem); }
.section-heading p { max-width: 650px; color: var(--muted); font-size: 1.03rem; }
.split-heading { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .65fr); gap: 3rem; align-items: end; }
.centered { max-width: 760px; margin-inline: auto; text-align: center; }
.centered h2, .centered p { margin-inline: auto; }
.centered p { margin-top: 1.1rem; }

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    gap: .7rem;
    padding: .8rem 1.25rem;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    font-size: .92rem;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    transition: transform var(--transition), background var(--transition), border-color var(--transition), box-shadow var(--transition);
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: linear-gradient(135deg, #4f8cff, #3478f6); color: #fff; box-shadow: 0 12px 30px rgba(52, 120, 246, .24); }
.btn-primary:hover { box-shadow: 0 16px 38px rgba(52, 120, 246, .34); }
.btn-secondary { border-color: var(--border-strong); background: rgba(255, 255, 255, .035); color: var(--text); }
.btn-secondary:hover { border-color: rgba(143, 175, 218, .42); background: rgba(255, 255, 255, .07); }
.text-link { display: inline-flex; align-items: center; gap: .7rem; margin-top: 1.5rem; color: #8eb6ff; font-weight: 700; }
.text-link i, .service-card a i { transition: transform var(--transition); }
.text-link:hover i, .service-card a:hover i { transform: translateX(4px); }
.center-button { margin-top: 2.5rem; text-align: center; }

/* Header */
.site-header { position: sticky; top: 0; z-index: 1000; height: var(--header-height); border-bottom: 1px solid transparent; background: rgba(7, 16, 29, .76); backdrop-filter: blur(20px); transition: background var(--transition), border-color var(--transition), box-shadow var(--transition); }
.site-header.scrolled { border-color: var(--border); background: rgba(5, 12, 22, .92); box-shadow: 0 10px 36px rgba(0, 0, 0, .18); }
.nav-container { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.logo { display: inline-flex; align-items: center; gap: .7rem; flex: 0 0 auto; }
.logo-icon { display: grid; place-items: center; width: 41px; aspect-ratio: 1; border: 1px solid rgba(125, 175, 255, .36); border-radius: 12px; background: linear-gradient(145deg, rgba(79, 140, 255, .28), rgba(45, 212, 191, .18)); color: #b9d1ff; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .13); }
.logo-wordmark { font-family: "Manrope", sans-serif; font-size: 1.22rem; font-weight: 800; letter-spacing: -.04em; }
.logo-wordmark span { color: #75a7ff; }
.main-nav { display: flex; align-items: center; gap: 1.65rem; }
.nav-links { display: flex; align-items: center; gap: .2rem; }
.nav-links a { position: relative; padding: .55rem .7rem; color: var(--text-soft); font-size: .86rem; font-weight: 600; transition: color var(--transition); }
.nav-links a::after { content: ""; position: absolute; left: .7rem; right: .7rem; bottom: .2rem; height: 2px; border-radius: 2px; background: var(--primary); transform: scaleX(0); transition: transform var(--transition); }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: #fff; }
.nav-links a[aria-current="page"]::after { transform: scaleX(1); }
.nav-cta { display: inline-flex; align-items: center; gap: .55rem; min-height: 43px; padding: .65rem 1rem; border-radius: 11px; background: #f3f7ff; color: #0a1a2d; font-size: .82rem; font-weight: 800; transition: transform var(--transition), background var(--transition); }
.nav-cta:hover { transform: translateY(-2px); background: #fff; }
.mobile-menu-btn { display: none; width: 44px; height: 44px; padding: 10px; border: 1px solid var(--border-strong); border-radius: 11px; background: var(--surface-soft); cursor: pointer; }
.mobile-menu-btn span { display: block; width: 100%; height: 2px; margin: 5px 0; border-radius: 2px; background: #fff; transition: transform var(--transition), opacity var(--transition); }
.mobile-menu-btn[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mobile-menu-btn[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.mobile-menu-btn[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Hero */
.hero-section { position: relative; min-height: calc(100svh - var(--header-height)); display: grid; align-items: center; padding-block: clamp(4.5rem, 9vw, 8.5rem); overflow: clip; }
.hero-section::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(143, 175, 218, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(143, 175, 218, .035) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(to bottom, black, transparent 88%); }
.hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(430px, .82fr); align-items: center; gap: clamp(3rem, 7vw, 7rem); }
.hero-content h1 { max-width: 770px; font-size: clamp(3.2rem, 6.4vw, 6rem); line-height: .98; letter-spacing: -.065em; }
.hero-content h1 span { display: block; color: #84adff; }
.hero-lead { max-width: 680px; margin-top: 1.6rem; color: var(--text-soft); font-size: clamp(1rem, 1.4vw, 1.16rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.hero-assurances { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; margin-top: 1.6rem; list-style: none; color: var(--muted); font-size: .78rem; }
.hero-assurances li { display: flex; align-items: center; gap: .45rem; }
.hero-assurances i { color: var(--secondary); }
.hero-visual { position: relative; }
.health-panel { position: relative; z-index: 2; padding: clamp(1.3rem, 3vw, 2rem); border: 1px solid var(--border-strong); border-radius: var(--radius-xl); background: linear-gradient(145deg, rgba(17, 31, 49, .98), rgba(7, 16, 29, .96)); box-shadow: var(--shadow-lg); overflow: hidden; }
.health-panel::before { content: ""; position: absolute; width: 13rem; height: 13rem; top: -7rem; right: -5rem; border-radius: 50%; background: rgba(79, 140, 255, .16); filter: blur(45px); }
.health-panel-header, .report-topbar { position: relative; display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.panel-label, .aside-kicker { display: block; margin-bottom: .25rem; color: var(--muted); font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.health-panel h2 { font-size: 1.35rem; }
.scope-chip, .sample-label { display: inline-flex; align-items: center; gap: .4rem; padding: .38rem .62rem; border: 1px solid rgba(45, 212, 191, .22); border-radius: 999px; background: var(--secondary-soft); color: #75e2d2; font-size: .67rem; font-weight: 700; }
.health-overview { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 1rem; margin-block: 1.5rem; padding-block: 1.3rem; border-block: 1px solid var(--border); }
.health-ring { display: grid; place-items: center; width: 78px; aspect-ratio: 1; border: 8px solid rgba(79, 140, 255, .12); border-top-color: var(--primary); border-right-color: var(--secondary); border-radius: 50%; color: #a8c5ff; font-size: 1.3rem; }
.health-overview strong { display: block; margin-bottom: .2rem; }
.health-overview p { color: var(--muted); font-size: .78rem; line-height: 1.55; }
.health-list { display: grid; gap: .7rem; }
.health-list > div { display: flex; align-items: center; gap: .8rem; padding: .75rem; border: 1px solid rgba(182, 203, 230, .09); border-radius: var(--radius-sm); background: rgba(255, 255, 255, .025); }
.health-list > div > span:last-of-type { display: flex; flex-direction: column; }
.health-list strong { font-size: .81rem; }
.health-list small { color: var(--muted); font-size: .68rem; }
.health-icon { display: grid; place-items: center; width: 36px; aspect-ratio: 1; border-radius: 10px; }
.health-icon.blue { background: var(--primary-soft); color: #8eb6ff; }
.health-icon.teal { background: var(--secondary-soft); color: #66ddcd; }
.health-icon.violet { background: rgba(167, 139, 250, .1); color: var(--violet); }
.panel-note { display: flex; align-items: center; gap: .55rem; margin-top: 1rem; color: var(--muted); font-size: .68rem; }
.panel-note i { color: var(--primary); }
.hero-orbit { position: absolute; z-index: 1; border: 1px solid rgba(79, 140, 255, .16); border-radius: 50%; pointer-events: none; }
.orbit-one { width: 16rem; height: 16rem; right: -5rem; top: -4rem; }
.orbit-two { width: 9rem; height: 9rem; left: -3rem; bottom: -3rem; border-color: rgba(45, 212, 191, .13); }

/* Trust and cards */
.trust-strip { border-block: 1px solid var(--border); background: rgba(255, 255, 255, .018); }
.trust-strip-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-strip-grid > div { display: flex; align-items: center; gap: .8rem; min-height: 110px; padding: 1.2rem; border-right: 1px solid var(--border); }
.trust-strip-grid > div:last-child { border-right: 0; }
.trust-strip-grid i { color: #7aa8ff; }
.trust-strip-grid span { display: flex; flex-direction: column; color: var(--muted); font-size: .7rem; line-height: 1.5; }
.trust-strip-grid strong { color: var(--text); font-size: .8rem; }
.services-preview { background: rgba(255, 255, 255, .012); }
.service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.service-card, .value-card, .pricing-card { position: relative; padding: clamp(1.4rem, 3vw, 2rem); border: 1px solid var(--border); border-radius: var(--radius-md); background: linear-gradient(145deg, rgba(17, 31, 49, .76), rgba(10, 22, 37, .7)); overflow: hidden; transition: transform var(--transition), border-color var(--transition), background var(--transition); }
.service-card:hover, .value-card:hover, .pricing-card:hover { transform: translateY(-5px); border-color: rgba(126, 169, 236, .34); background: linear-gradient(145deg, rgba(20, 37, 58, .88), rgba(11, 25, 42, .82)); }
.service-icon, .pricing-icon { display: grid; place-items: center; width: 48px; aspect-ratio: 1; margin-bottom: 1.3rem; border: 1px solid rgba(111, 160, 237, .22); border-radius: 13px; background: var(--primary-soft); color: #8eb6ff; }
.card-index { position: absolute; right: 1.4rem; top: 1.35rem; color: rgba(197, 208, 223, .28); font: 700 .72rem/1 "Manrope", sans-serif; letter-spacing: .12em; }
.service-card h3 { margin-bottom: .7rem; font-size: 1.12rem; }
.service-card p { color: var(--muted); font-size: .86rem; }
.service-card a { display: inline-flex; align-items: center; gap: .55rem; margin-top: 1.2rem; color: #8eb6ff; font-size: .76rem; font-weight: 700; }
.service-card ul { display: grid; gap: .35rem; margin-top: 1rem; list-style: none; color: var(--text-soft); font-size: .76rem; }
.service-card li::before { content: ""; display: inline-block; width: 5px; height: 5px; margin-right: .55rem; border-radius: 50%; background: var(--secondary); vertical-align: middle; }

/* Homepage content */
.health-concept-section { background: linear-gradient(180deg, rgba(255, 255, 255, .012), transparent); }
.concept-grid, .report-grid, .about-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(420px, 1.15fr); gap: clamp(3rem, 7vw, 6rem); align-items: center; }
.concept-copy h2, .report-copy h2, .about-content h2 { font-size: clamp(2.1rem, 4vw, 3.6rem); }
.concept-copy p, .report-copy > p, .about-content p { margin-top: 1.2rem; color: var(--muted); }
.health-domain-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.health-domain-grid > div { display: grid; grid-template-columns: auto 1fr; column-gap: .85rem; align-items: center; padding: 1.1rem; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-soft); }
.health-domain-grid i { grid-row: 1 / 3; width: 38px; color: #82adff; text-align: center; }
.health-domain-grid strong { font-size: .84rem; }
.health-domain-grid span { color: var(--muted); font-size: .7rem; }
.process-preview-section { border-block: 1px solid var(--border); background: rgba(255, 255, 255, .015); }
.process-line { display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; counter-reset: item; }
.process-line li { position: relative; padding: 1.8rem 1.3rem; border-top: 1px solid var(--border-strong); }
.process-line li::before { content: ""; position: absolute; width: 9px; height: 9px; top: -5px; left: 1.3rem; border: 2px solid var(--bg); border-radius: 50%; background: var(--primary); box-shadow: 0 0 0 3px rgba(79, 140, 255, .2); }
.process-line > li > span { color: #6d9af0; font: 700 .7rem/1 "Manrope", sans-serif; }
.process-line h3 { margin: .75rem 0 .5rem; font-size: .98rem; }
.process-line p { color: var(--muted); font-size: .78rem; }
.check-list { display: grid; gap: .85rem; margin-top: 1.7rem; list-style: none; }
.check-list li { display: flex; align-items: flex-start; gap: .7rem; color: var(--text-soft); font-size: .86rem; }
.check-list i { margin-top: .35rem; color: var(--secondary); }
.sample-report { padding: 1.4rem; border: 1px solid var(--border-strong); border-radius: var(--radius-lg); background: #f4f7fb; color: #102036; box-shadow: var(--shadow-lg); transform: rotate(1deg); }
.report-topbar { padding-bottom: 1rem; border-bottom: 1px solid #d9e1ed; font-family: "Manrope", sans-serif; font-weight: 800; }
.report-topbar > span:first-child { display: flex; align-items: center; gap: .5rem; }
.report-topbar i { color: #3478f6; }
.sample-label { border-color: #bdd1f7; background: #e7effe; color: #245cb8; }
.report-heading { padding: 1.5rem 0 1rem; }
.report-heading small { color: #60738b; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.report-heading h3 { margin: .25rem 0; font-size: 1.6rem; }
.report-heading p { color: #718198; font-size: .72rem; }
.report-summary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin-bottom: .8rem; }
.report-summary-grid div { padding: .85rem; border: 1px solid #dce4ef; border-radius: 10px; background: #fff; }
.report-summary-grid span, .report-summary-grid strong { display: block; }
.report-summary-grid span { color: #74859a; font-size: .65rem; }
.report-summary-grid strong { margin-top: .15rem; font-size: .78rem; }
.report-finding { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .7rem; margin-top: .6rem; padding: .85rem; border: 1px solid #dce4ef; border-radius: 10px; background: #fff; }
.report-finding div { display: flex; flex-direction: column; }
.report-finding strong { font-size: .75rem; }
.report-finding small { color: #74859a; font-size: .62rem; }
.report-finding > i { color: #9babbd; font-size: .7rem; }
.finding-priority { min-width: 50px; padding: .27rem .38rem; border-radius: 999px; text-align: center; font-size: .58rem; font-weight: 800; }
.finding-priority.high { background: #ffebee; color: #b93b52; }
.finding-priority.medium { background: #fff3d9; color: #93671b; }
.report-footer-line { display: flex; gap: .4rem; margin-top: 1.2rem; }
.report-footer-line span { height: 4px; border-radius: 4px; background: #dbe4ef; }
.report-footer-line span:nth-child(1) { width: 45%; }.report-footer-line span:nth-child(2) { width: 30%; }.report-footer-line span:nth-child(3) { width: 15%; }
.audience-card { display: grid; grid-template-columns: 1.1fr .9fr; gap: 4rem; align-items: center; padding: clamp(2rem, 5vw, 4.5rem); border: 1px solid var(--border-strong); border-radius: var(--radius-xl); background: linear-gradient(135deg, rgba(79, 140, 255, .11), rgba(45, 212, 191, .045)); }
.audience-card h2 { max-width: 680px; font-size: clamp(2rem, 3.8vw, 3.3rem); }
.audience-card p { margin-top: 1rem; color: var(--muted); }
.audience-tags { display: flex; flex-wrap: wrap; gap: .6rem; }
.audience-tags span { padding: .65rem .85rem; border: 1px solid var(--border-strong); border-radius: 999px; background: rgba(7, 16, 29, .45); color: var(--text-soft); font-size: .75rem; }

/* Shared page hero */
.page-hero { position: relative; padding-block: clamp(5.5rem, 10vw, 9rem) clamp(3.5rem, 7vw, 6rem); overflow: clip; }
.page-hero::after { content: ""; position: absolute; width: 30rem; height: 30rem; right: -16rem; top: -12rem; border-radius: 50%; background: rgba(79, 140, 255, .08); filter: blur(55px); pointer-events: none; }
.page-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .55fr); align-items: center; gap: clamp(3rem, 8vw, 7rem); }
.page-hero-copy h1 { max-width: 850px; font-size: clamp(3rem, 6vw, 5.5rem); line-height: 1.02; letter-spacing: -.06em; }
.page-hero-copy > p { max-width: 700px; margin-top: 1.4rem; color: var(--text-soft); font-size: clamp(1rem, 1.4vw, 1.14rem); }
.page-hero-copy.centered { max-width: 850px; }
.page-hero-copy.centered > p { margin-inline: auto; }
.page-hero .section-title { position: relative; z-index: 1; max-width: 820px; margin-inline: auto; text-align: center; }
.page-hero .section-title > span { display: inline-block; margin-bottom: 1rem; color: #8eb6ff; font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.page-hero .section-title h1 { font-size: clamp(3rem, 6vw, 5.5rem); line-height: 1.02; letter-spacing: -.06em; }
.page-hero .section-title p { max-width: 700px; margin: 1.4rem auto 0; color: var(--text-soft); font-size: clamp(1rem, 1.4vw, 1.14rem); }
.page-hero-aside { padding: 1.5rem; border: 1px solid var(--border); border-radius: var(--radius-md); background: rgba(17, 31, 49, .58); }
.page-hero-aside > div { display: flex; align-items: flex-start; gap: .75rem; padding-block: .9rem; border-bottom: 1px solid var(--border); }
.page-hero-aside > div:last-child { border-bottom: 0; }
.page-hero-aside > div i { margin-top: .3rem; color: var(--secondary); }
.page-hero-aside > div span { display: flex; flex-direction: column; color: var(--muted); font-size: .72rem; }
.page-hero-aside strong { color: var(--text); font-size: .84rem; }
.page-hero-aside h2 { margin-block: .35rem .7rem; font-size: 1.4rem; }
.page-hero-aside p { color: var(--muted); font-size: .82rem; }
.accent-aside > i { color: #8eb6ff; font-size: 1.8rem; margin-bottom: 1.2rem; }
.statement-aside { position: relative; padding: 2rem; }
.statement-aside .quote-mark { position: absolute; right: 1rem; top: -.6rem; color: rgba(79, 140, 255, .15); font: 800 6rem/1 Georgia, serif; }
.statement-aside p { position: relative; color: var(--text-soft); font: 600 1.2rem/1.55 "Manrope", sans-serif; }

/* Services and scope */
.services-page { padding-top: 2rem; }
.expanded-services .service-card { min-height: 330px; }
.scope-builder-section { padding-top: 0; }
.scope-builder { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 4rem; padding: clamp(2rem, 5vw, 4rem); border: 1px solid var(--border-strong); border-radius: var(--radius-xl); background: linear-gradient(135deg, rgba(79, 140, 255, .1), rgba(17, 31, 49, .65)); }
.scope-builder h2 { max-width: 600px; font-size: clamp(2rem, 3.5vw, 3rem); }
.scope-builder p { margin-top: 1rem; color: var(--muted); }
.scope-flow { display: flex; align-items: center; justify-content: center; gap: .7rem; flex-wrap: wrap; }
.scope-flow span { padding: .7rem .9rem; border: 1px solid var(--border-strong); border-radius: 10px; background: rgba(7, 16, 29, .7); font-size: .75rem; font-weight: 700; }
.scope-flow i { color: var(--primary); }

/* Process */
.audit-process-page { padding-top: 2rem; }
.detailed-process { max-width: 950px; margin: 0 auto; list-style: none; }
.detailed-step { position: relative; display: grid; grid-template-columns: 65px 58px 1fr; align-items: center; gap: 1.4rem; min-height: 160px; padding: 1.6rem; border-bottom: 1px solid var(--border); }
.detailed-step::before { content: ""; position: absolute; left: 93px; top: 0; bottom: 0; width: 1px; background: linear-gradient(var(--border-strong), var(--primary), var(--border-strong)); opacity: .5; }
.detailed-step:first-child::before { top: 50%; }.detailed-step:last-child::before { bottom: 50%; }
.step-number { color: rgba(197, 208, 223, .28); font: 800 1rem/1 "Manrope", sans-serif; }
.step-icon { position: relative; z-index: 1; display: grid; place-items: center; width: 58px; aspect-ratio: 1; border: 1px solid rgba(112, 164, 255, .25); border-radius: 16px; background: var(--surface); color: #8eb6ff; }
.step-content > span { color: var(--secondary); font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.step-content h3 { margin-block: .3rem .45rem; font-size: 1.25rem; }
.step-content p { color: var(--muted); font-size: .86rem; }
.process-principles-section { padding-top: 0; }
.principle-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; }
.principle-grid article { padding: 2rem; background: var(--surface-soft); border-right: 1px solid var(--border); }
.principle-grid article:last-child { border-right: 0; }
.principle-grid i { color: #8eb6ff; margin-bottom: 1rem; }.principle-grid h3 { margin-bottom: .5rem; }.principle-grid p { color: var(--muted); font-size: .82rem; }

/* About */
.mission-panel { padding: 2rem; border: 1px solid var(--border-strong); border-radius: var(--radius-lg); background: linear-gradient(145deg, rgba(17, 31, 49, .85), rgba(9, 20, 34, .9)); box-shadow: var(--shadow-lg); }
.mission-panel-top { display: flex; align-items: center; gap: .8rem; padding-bottom: 1.2rem; border-bottom: 1px solid var(--border); font-family: "Manrope", sans-serif; font-weight: 700; }
.mission-panel-top i { display: grid; place-items: center; width: 42px; aspect-ratio: 1; border-radius: 12px; background: var(--primary-soft); color: #8eb6ff; }
.values-section { border-block: 1px solid var(--border); background: rgba(255, 255, 255, .014); }
.values-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.value-card > span { position: absolute; right: 1.4rem; top: 1.2rem; color: rgba(197, 208, 223, .24); font: 800 .7rem/1 "Manrope", sans-serif; }
.value-card > i { margin-bottom: 1.25rem; color: #8eb6ff; font-size: 1.3rem; }.value-card h3 { margin-bottom: .6rem; }.value-card p { color: var(--muted); font-size: .82rem; }
.who-box { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 8vw, 7rem); align-items: center; padding: clamp(2rem, 5vw, 4.5rem); border: 1px solid var(--border); border-radius: var(--radius-xl); background: var(--surface-soft); }
.who-box h2 { font-size: clamp(2rem, 3.8vw, 3.25rem); }.who-box p { margin-top: 1rem; color: var(--muted); }
.who-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: .7rem; }
.who-list div { display: flex; align-items: center; gap: .65rem; padding: .9rem; border: 1px solid var(--border); border-radius: 11px; background: rgba(7, 16, 29, .55); font-size: .78rem; font-weight: 700; }
.who-list i { width: 18px; color: var(--secondary); text-align: center; }

/* Pricing */
.pricing-section { padding-top: 2rem; }
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; align-items: stretch; }
.pricing-card { display: flex; flex-direction: column; }
.pricing-card-accent { border-color: rgba(91, 149, 247, .44); background: linear-gradient(155deg, rgba(55, 103, 180, .2), rgba(11, 25, 42, .85)); }
.pricing-tag { color: #8eb6ff; font-size: .7rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.pricing-icon { margin-top: 1.25rem; }.pricing-card h2 { margin-bottom: .8rem; font-size: 1.45rem; }.pricing-card > p { color: var(--muted); font-size: .82rem; }
.pricing-card ul { display: grid; gap: .7rem; margin-block: 1.5rem; list-style: none; flex: 1; }
.pricing-card li { display: flex; align-items: flex-start; gap: .6rem; color: var(--text-soft); font-size: .78rem; }.pricing-card li i { margin-top: .25rem; color: var(--secondary); }
.pricing-factors-section { border-top: 1px solid var(--border); background: rgba(255, 255, 255, .012); }
.factor-grid { display: grid; grid-template-columns: repeat(6, 1fr); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; }
.factor-grid > div { display: flex; flex-direction: column; min-height: 155px; padding: 1.25rem; border-right: 1px solid var(--border); background: var(--surface-soft); }
.factor-grid > div:last-child { border-right: 0; }.factor-grid i { margin-bottom: auto; color: #8eb6ff; }.factor-grid strong { font-size: .8rem; }.factor-grid span { margin-top: .25rem; color: var(--muted); font-size: .66rem; }

/* FAQ */
.compact-page-hero { padding-bottom: 3rem; }
.faq-section { padding-top: 2rem; }
.faq-layout { display: grid; grid-template-columns: 320px 1fr; gap: clamp(2.5rem, 6vw, 5rem); align-items: start; }
.faq-sidebar { position: sticky; top: calc(var(--header-height) + 2rem); padding: 1.6rem; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-soft); }
.faq-sidebar h2 { font-size: 1.5rem; }.faq-sidebar p { margin-block: .9rem 1.3rem; color: var(--muted); font-size: .82rem; }
.faq-wrapper { display: grid; }
.faq-item { border-bottom: 1px solid var(--border); }
.faq-item:first-child { border-top: 1px solid var(--border); }
.faq-item h2 { font: inherit; }
.faq-question { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 82px; padding: 1rem .2rem; border: 0; background: transparent; color: var(--text); text-align: left; cursor: pointer; }
.faq-question > span { display: flex; align-items: center; gap: 1rem; font-family: "Manrope", sans-serif; font-size: 1rem; font-weight: 700; }
.faq-question small { color: #628bda; font: 700 .66rem/1 "Inter", sans-serif; letter-spacing: .08em; }
.faq-question > i { display: grid; place-items: center; width: 32px; aspect-ratio: 1; border: 1px solid var(--border); border-radius: 50%; color: #8eb6ff; font-size: .7rem; transition: transform var(--transition), background var(--transition); }
.faq-question[aria-expanded="true"] > i { transform: rotate(45deg); background: var(--primary-soft); }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 340ms ease; }
.faq-answer p { max-width: 760px; padding: 0 3rem 1.5rem; color: var(--muted); font-size: .88rem; }
.faq-item.active .faq-answer { max-height: 24rem; }

/* Contact */
.compact-contact-hero { padding-bottom: 3rem; }
.contact-promise { display: flex; align-items: center; gap: 1rem; padding: 1.2rem; border: 1px solid rgba(45, 212, 191, .2); border-radius: var(--radius-md); background: var(--secondary-soft); }
.contact-promise > i { color: var(--secondary); font-size: 1.5rem; }.contact-promise div { display: flex; flex-direction: column; }.contact-promise strong { font-size: .85rem; }.contact-promise span { color: var(--muted); font-size: .72rem; }
.contact-section { padding-top: 2rem; }
.contact-grid { display: grid; grid-template-columns: minmax(300px, .7fr) minmax(500px, 1.15fr); gap: clamp(2.5rem, 7vw, 6rem); align-items: start; }
.contact-info { position: sticky; top: calc(var(--header-height) + 2rem); }.contact-info h2 { font-size: clamp(2rem, 3.6vw, 3rem); }
.contact-steps { display: grid; gap: 0; margin-top: 2rem; list-style: none; }
.contact-steps li { display: grid; grid-template-columns: 44px 1fr; gap: 1rem; padding-bottom: 1.5rem; position: relative; }
.contact-steps li::before { content: ""; position: absolute; left: 21px; top: 31px; bottom: 0; width: 1px; background: var(--border-strong); }.contact-steps li:last-child::before { display: none; }
.contact-steps > li > span { position: relative; z-index: 1; display: grid; place-items: center; width: 44px; height: 32px; border: 1px solid var(--border-strong); border-radius: 999px; background: var(--bg); color: #7aa8ff; font-size: .62rem; font-weight: 800; }
.contact-steps strong { font-size: .86rem; }.contact-steps p { color: var(--muted); font-size: .76rem; }
.contact-trust-note { display: flex; gap: .8rem; padding: 1rem; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-soft); }.contact-trust-note i { margin-top: .25rem; color: var(--secondary); }.contact-trust-note strong { font-size: .8rem; }.contact-trust-note p { color: var(--muted); font-size: .7rem; }
.contact-form-card { padding: clamp(1.5rem, 4vw, 2.6rem); border: 1px solid var(--border-strong); border-radius: var(--radius-lg); background: linear-gradient(145deg, rgba(17, 31, 49, .9), rgba(9, 20, 34, .88)); box-shadow: var(--shadow-lg); }
.form-heading { margin-bottom: 1.6rem; }.form-heading h2 { font-size: clamp(1.7rem, 3vw, 2.3rem); }.form-heading p { margin-top: .35rem; color: var(--muted); font-size: .78rem; }
.contact-form { display: grid; gap: 1.1rem; }.form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }.form-group { display: grid; gap: .45rem; }.form-group label { color: var(--text-soft); font-size: .76rem; font-weight: 700; }.optional-label { color: var(--muted); font-size: .64rem; font-weight: 500; }
.form-group input, .form-group select, .form-group textarea { width: 100%; min-height: 49px; padding: .75rem .85rem; border: 1px solid var(--border); border-radius: 10px; outline: 0; background: rgba(4, 10, 18, .44); color: var(--text); transition: border-color var(--transition), box-shadow var(--transition), background var(--transition); }
.form-group textarea { min-height: 145px; resize: vertical; }.form-group input::placeholder, .form-group textarea::placeholder { color: #6f8095; }.form-group select option { background: #0c1726; color: #fff; }
.form-group input:hover, .form-group select:hover, .form-group textarea:hover { border-color: var(--border-strong); }.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: #5f9afd; background: rgba(4, 10, 18, .7); box-shadow: 0 0 0 4px rgba(79, 140, 255, .1); }
.field-help { display: flex; align-items: flex-start; gap: .5rem; color: var(--muted); font-size: .67rem; }.field-help i { margin-top: .25rem; color: var(--secondary); }
.form-submit { width: 100%; border: 0; margin-top: .2rem; }.form-privacy { color: var(--muted); font-size: .65rem; text-align: center; }.form-privacy a { color: #8eb6ff; text-decoration: underline; text-underline-offset: 3px; }
.form-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.form-message { display: flex; align-items: flex-start; gap: .8rem; margin-bottom: 1.3rem; padding: .9rem 1rem; border-radius: var(--radius-sm); }.form-message > i { margin-top: .25rem; }.form-message div { display: flex; flex-direction: column; }.form-message strong { font-size: .8rem; }.form-message span { font-size: .72rem; }
.success-message { border: 1px solid rgba(85, 214, 169, .24); background: rgba(85, 214, 169, .08); color: #7de0bd; }.error-message { border: 1px solid rgba(255, 130, 149, .24); background: rgba(255, 130, 149, .07); color: #ff9cab; }

/* Legal pages */
.legal-section { padding: 1rem 0 var(--space-section); }
.legal-content { max-width: 900px; margin: 0 auto; padding: clamp(1.5rem, 5vw, 4rem); border: 1px solid var(--border); border-radius: var(--radius-lg); background: rgba(12, 23, 38, .72); box-shadow: var(--shadow-sm); }
.legal-content:hover { transform: none; background: rgba(12, 23, 38, .72); border-color: var(--border); }
.legal-intro { display: flex; align-items: flex-start; gap: 1rem; margin-bottom: 2rem; padding: 1.3rem; border: 1px solid rgba(79, 140, 255, .2); border-radius: var(--radius-sm); background: var(--primary-soft); }.legal-intro i { margin-top: .2rem; color: #8eb6ff; font-size: 1.2rem; }.legal-intro p { color: var(--text-soft); }
.legal-block { padding-block: 1.7rem; border-bottom: 1px solid var(--border); }.legal-block:last-of-type { border-bottom: 0; }.legal-block h2 { margin-bottom: .7rem; font-size: 1.2rem; letter-spacing: -.02em; }.legal-block p { color: var(--muted); font-size: .88rem; }
.legal-notice { display: flex; align-items: flex-start; gap: .8rem; margin-top: 2rem; padding: 1rem; border: 1px solid rgba(244, 201, 107, .2); border-radius: var(--radius-sm); background: rgba(244, 201, 107, .06); color: var(--muted); font-size: .76rem; }.legal-notice i { margin-top: .25rem; color: var(--warning); }
.glass-card { border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-soft); }

/* Footer */
.site-footer { margin-top: var(--space-section); border-top: 1px solid var(--border); background: var(--bg-deep); }
.footer-callout { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-block: 3rem; border-bottom: 1px solid var(--border); }.footer-callout .eyebrow { margin-bottom: .5rem; }.footer-callout h2 { max-width: 650px; font-size: clamp(1.6rem, 3vw, 2.5rem); }
.footer-grid { display: grid; grid-template-columns: 1.8fr repeat(3, 1fr); gap: clamp(2rem, 5vw, 4rem); padding-block: 4rem; }.footer-logo { margin-bottom: 1.1rem; }.footer-brand p { max-width: 410px; color: var(--muted); font-size: .8rem; }.footer-principle { display: flex; align-items: center; gap: .55rem; margin-top: 1.2rem; color: var(--text-soft); font-size: .72rem; }.footer-principle i { color: var(--secondary); }
.footer-column { display: flex; flex-direction: column; gap: .65rem; }.footer-column h3 { margin-bottom: .45rem; color: var(--text); font-size: .78rem; letter-spacing: .02em; }.footer-column a { display: inline-flex; align-items: center; gap: .5rem; color: var(--muted); font-size: .73rem; transition: color var(--transition), transform var(--transition); }.footer-column a:hover { color: #9ebfff; transform: translateX(3px); }.footer-column a[aria-disabled="true"] { opacity: .55; cursor: not-allowed; }
.footer-bottom { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--border); color: #65758a; font-size: .68rem; }
.floating-whatsapp { position: fixed; z-index: 900; right: 1.2rem; bottom: 1.2rem; display: grid; place-items: center; width: 50px; aspect-ratio: 1; border: 1px solid rgba(85, 214, 169, .25); border-radius: 50%; background: #123c34; color: #65ddb6; box-shadow: var(--shadow-sm); opacity: .75; cursor: not-allowed; }

/* Reveal motion with no-JS fallback */
.fade-up.reveal-pending { opacity: 0; transform: translateY(22px); transition: opacity 600ms ease, transform 600ms ease; }
.fade-up.reveal-pending.visible { opacity: 1; transform: translateY(0); }

/* Responsive */
@media (max-width: 1080px) {
    .main-nav { gap: .8rem; }.nav-links a { padding-inline: .5rem; font-size: .8rem; }.nav-links a::after { left: .5rem; right: .5rem; }
    .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(390px, .8fr); gap: 3rem; }
    .hero-content h1 { font-size: clamp(3rem, 6vw, 4.8rem); }
    .factor-grid { grid-template-columns: repeat(3, 1fr); }.factor-grid > div { border-bottom: 1px solid var(--border); }.factor-grid > div:nth-child(3) { border-right: 0; }.factor-grid > div:nth-child(n+4) { border-bottom: 0; }
}

@media (max-width: 920px) {
    :root { --header-height: 70px; }
    .mobile-menu-btn { display: block; }
    .main-nav { position: fixed; left: 1.25rem; right: 1.25rem; top: calc(var(--header-height) + .65rem); display: block; padding: .75rem; border: 1px solid var(--border-strong); border-radius: var(--radius-md); background: rgba(7, 16, 29, .98); box-shadow: var(--shadow-lg); opacity: 0; visibility: hidden; transform: translateY(-10px); transition: opacity var(--transition), visibility var(--transition), transform var(--transition); }
    .main-nav.active { opacity: 1; visibility: visible; transform: translateY(0); }
    .nav-links { display: grid; gap: .1rem; }.nav-links a { padding: .75rem .8rem; border-radius: 9px; font-size: .9rem; }.nav-links a:hover, .nav-links a[aria-current="page"] { background: var(--surface-soft); }.nav-links a::after { display: none; }
    .nav-cta { width: 100%; justify-content: center; margin-top: .5rem; }
    .hero-section { min-height: auto; }.hero-grid, .page-hero-grid, .concept-grid, .report-grid, .about-grid, .scope-builder, .who-box, .contact-grid { grid-template-columns: 1fr; }
    .hero-content { text-align: center; }.hero-content .eyebrow { justify-content: center; }.hero-lead { margin-inline: auto; }.hero-actions, .hero-assurances { justify-content: center; }.hero-visual { width: min(100%, 620px); margin-inline: auto; }
    .trust-strip-grid { grid-template-columns: repeat(2, 1fr); }.trust-strip-grid > div:nth-child(2) { border-right: 0; }.trust-strip-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
    .service-grid, .pricing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.pricing-card-accent { grid-column: span 1; }
    .process-line { grid-template-columns: repeat(2, 1fr); }.process-line li:nth-child(-n+2) { margin-bottom: 1rem; }
    .audience-card { grid-template-columns: 1fr; gap: 2rem; }
    .page-hero-aside { max-width: 640px; }
    .values-grid { grid-template-columns: repeat(2, 1fr); }
    .principle-grid { grid-template-columns: 1fr; }.principle-grid article { border-right: 0; border-bottom: 1px solid var(--border); }.principle-grid article:last-child { border-bottom: 0; }
    .faq-layout { grid-template-columns: 1fr; }.faq-sidebar, .contact-info { position: static; }.faq-sidebar { max-width: 620px; }
    .contact-grid { gap: 3rem; }.contact-form-card { width: 100%; max-width: 760px; }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }.footer-brand { grid-column: span 2; }
}

@media (max-width: 680px) {
    .container { width: min(calc(100% - 2rem), var(--container)); }
    .split-heading { grid-template-columns: 1fr; gap: 1.2rem; }.section-heading p { font-size: .92rem; }
    .hero-section { padding-top: 4rem; }.hero-content h1, .page-hero-copy h1 { font-size: clamp(2.7rem, 13vw, 4.1rem); }.hero-actions { flex-direction: column; align-items: stretch; }.hero-actions .btn { width: 100%; }.hero-assurances { display: grid; justify-items: center; }
    .health-panel { border-radius: var(--radius-lg); }.health-overview { grid-template-columns: 1fr; text-align: center; }.health-ring { margin-inline: auto; }
    .trust-strip-grid { grid-template-columns: 1fr; }.trust-strip-grid > div { min-height: 90px; border-right: 0; border-bottom: 1px solid var(--border); }.trust-strip-grid > div:last-child { border-bottom: 0; }
    .service-grid, .pricing-grid, .values-grid { grid-template-columns: 1fr; }.expanded-services .service-card { min-height: auto; }
    .health-domain-grid { grid-template-columns: 1fr; }.process-line { grid-template-columns: 1fr; }.process-line li { margin-bottom: 1rem; }
    .sample-report { transform: none; }.report-summary-grid { grid-template-columns: 1fr; }.report-finding { grid-template-columns: auto 1fr; }.report-finding > i { display: none; }
    .audience-card { padding: 1.5rem; border-radius: var(--radius-lg); }
    .page-hero { padding-top: 4.5rem; }.scope-flow { align-items: stretch; flex-direction: column; }.scope-flow i { transform: rotate(90deg); align-self: center; }
    .detailed-step { grid-template-columns: 46px 1fr; align-items: start; gap: .9rem; padding: 1.4rem 0; }.detailed-step::before { display: none; }.step-number { grid-column: 1; grid-row: 1; padding-top: 1rem; }.step-icon { grid-column: 2; grid-row: 1; width: 50px; }.step-content { grid-column: 2; grid-row: 2; }.step-content h3 { font-size: 1.1rem; }
    .who-list { grid-template-columns: 1fr; }.factor-grid { grid-template-columns: repeat(2, 1fr); }.factor-grid > div:nth-child(3) { border-right: 1px solid var(--border); }.factor-grid > div:nth-child(even) { border-right: 0; }.factor-grid > div:nth-child(n+4) { border-bottom: 1px solid var(--border); }.factor-grid > div:nth-child(n+5) { border-bottom: 0; }
    .faq-question > span { align-items: flex-start; font-size: .9rem; }.faq-answer p { padding-left: 2.5rem; padding-right: .5rem; }
    .form-row { grid-template-columns: 1fr; }.contact-form-card { padding: 1.25rem; border-radius: var(--radius-md); }
    .footer-callout { align-items: flex-start; flex-direction: column; }.footer-grid { grid-template-columns: 1fr; }.footer-brand { grid-column: auto; }.footer-bottom { flex-direction: column; justify-content: center; padding-block: 1.2rem; text-align: center; }
}

@media (max-width: 420px) {
    .container { width: min(calc(100% - 1.5rem), var(--container)); }.logo-icon { width: 38px; }.logo-wordmark { font-size: 1.12rem; }
    .hero-content h1, .page-hero-copy h1 { font-size: 2.55rem; }.health-panel { padding: 1rem; }.health-panel-header { align-items: flex-start; flex-direction: column; }.health-list > div { padding: .65rem; }
    .service-card, .value-card, .pricing-card { padding: 1.25rem; }.factor-grid { grid-template-columns: 1fr; }.factor-grid > div { border-right: 0 !important; border-bottom: 1px solid var(--border) !important; }.factor-grid > div:last-child { border-bottom: 0 !important; }
    .contact-promise { align-items: flex-start; }.floating-whatsapp { width: 46px; right: .8rem; bottom: .8rem; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
    .fade-up.reveal-pending { opacity: 1; transform: none; }
}

/* Secure Heritage — warm, human-centric editorial theme */
:root {
    --bg: #fff8f5;
    --bg-deep: #faebe4;
    --surface: #ffffff;
    --surface-raised: #fff1ea;
    --surface-soft: #fff1ea;
    --primary: #88471c;
    --primary-strong: #72360b;
    --primary-soft: #ffdbc9;
    --secondary: #4d5c56;
    --secondary-soft: #d5e7de;
    --violet: #8c4e32;
    --text: #211a16;
    --text-soft: #53433b;
    --muted: #6f5d54;
    --border: #e2cec4;
    --border-strong: #cdb3a7;
    --success: #4d5c56;
    --warning: #8c4e32;
    --danger: #ba1a1a;
    --shadow-sm: 0 8px 28px rgba(33, 26, 22, .045);
    --shadow-lg: 0 20px 60px rgba(33, 26, 22, .065);
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 16px;
    --container: 1280px;
    --header-height: 80px;
}

body {
    background: var(--bg);
    color: var(--text);
    font-family: "Geist", system-ui, sans-serif;
    line-height: 1.55;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-image: radial-gradient(#d9c2b7 1px, transparent 1px);
    background-size: 32px 32px;
    opacity: .10;
}

h1, h2, h3, h4,
.logo-wordmark,
.faq-question > span,
.mission-panel-top,
.statement-aside p {
    font-family: "EB Garamond", Georgia, serif;
    font-weight: 500;
    letter-spacing: -.02em;
}

::selection { background: #ffdbc9; color: #321200; }
:focus-visible { outline-color: rgba(136, 71, 28, .6); }
.container { width: min(calc(100% - 6rem), var(--container)); }
.section { padding-block: clamp(5rem, 8vw, 7.5rem); }
.skip-link { color: var(--text); background: white; }

.eyebrow,
.page-hero .section-title > span {
    color: var(--secondary);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .16em;
}
.eyebrow i { color: var(--primary); }
.section-heading h2 { font-size: clamp(2.25rem, 4vw, 3.35rem); }
.section-heading p { color: var(--text-soft); }

.btn { min-height: 48px; border-radius: 8px; font-size: .84rem; font-weight: 600; box-shadow: none; }
.btn:hover { transform: translateY(-1px); }
.btn-primary, .btn-primary:hover { background: var(--primary); color: #fff; box-shadow: none; }
.btn-primary:hover { background: var(--primary-strong); }
.btn-secondary { border-color: var(--outline, #86736a); background: transparent; color: var(--text); }
.btn-secondary:hover { border-color: var(--primary); background: #fff1ea; }
.text-link, .service-card a { color: var(--primary); }

.site-header,
.site-header.scrolled {
    border-color: var(--border);
    background: rgba(255, 248, 245, .94);
    box-shadow: none;
    backdrop-filter: blur(16px);
}
.logo { gap: 0; }
.logo-icon { display: none; }
.logo-wordmark { color: var(--primary); font-size: 1.55rem; }
.logo-wordmark span { color: inherit; }
.main-nav { gap: 1.6rem; }
.nav-links { gap: .55rem; }
.nav-links a { color: var(--text); font-size: .78rem; font-weight: 500; }
.nav-links a::after { height: 1px; background: var(--primary); }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--primary); }
.nav-cta { min-height: 44px; border: 1px solid var(--primary-strong); border-radius: 8px; background: var(--primary); color: #fff; font-size: .76rem; font-weight: 600; }
.nav-cta:hover { background: var(--primary-strong); color: #fff; transform: translateY(-1px); }
.mobile-menu-btn { border-color: var(--border-strong); background: #fff1ea; }
.mobile-menu-btn span { background: var(--text); }

.hero-section { min-height: auto; padding-block: clamp(5.5rem, 9vw, 8rem); }
.hero-section::before { background: none; }
.hero-grid { grid-template-columns: minmax(0, 1fr) minmax(420px, .92fr); gap: clamp(3rem, 7vw, 6rem); }
.hero-content h1 { max-width: 710px; font-size: clamp(3.35rem, 5.4vw, 5rem); line-height: 1.02; letter-spacing: -.035em; }
.hero-content h1 span { display: inline; color: var(--text); }
.hero-lead { color: var(--text-soft); font-size: 1rem; line-height: 1.65; }
.hero-assurances { padding-top: 1.5rem; border-top: 1px solid var(--border); color: var(--text-soft); }
.hero-assurances i { color: var(--primary); }
.health-panel { border-color: var(--border); border-radius: 16px; background: rgba(250, 235, 228, .55); box-shadow: var(--shadow-lg); backdrop-filter: blur(18px); }
.health-panel::before { background: rgba(255, 174, 139, .24); }
.scope-chip, .sample-label { border-color: transparent; background: #eee0d9; color: var(--text); }
.health-ring { border-color: #eee0d9; border-top-color: var(--secondary); border-right-color: var(--secondary); color: var(--secondary); }
.health-list > div { border-color: var(--border); background: rgba(255,255,255,.84); }
.health-icon.blue, .health-icon.teal, .health-icon.violet { background: #faebe4; color: var(--primary); }
.panel-note i { color: var(--primary); }
.hero-orbit { border-color: rgba(166,95,50,.16); }
.orbit-two { border-color: rgba(77,92,86,.16); }

.trust-strip, .process-preview-section, .values-section { border-color: var(--border); background: #fff1ea; }
.trust-strip-grid > div { border-color: var(--border); }
.trust-strip-grid i { color: var(--primary); }
.trust-strip-grid span { color: var(--text-soft); }

.services-preview, .health-concept-section, .pricing-factors-section { background: transparent; }
.service-card, .value-card, .pricing-card,
.page-hero-aside, .faq-sidebar, .contact-trust-note, .glass-card {
    border-color: var(--border);
    border-radius: 16px;
    background: rgba(255,255,255,.9);
    box-shadow: var(--shadow-sm);
}
.service-card:hover, .value-card:hover, .pricing-card:hover { transform: translateY(-3px); border-color: var(--border-strong); background: #fff; }
.service-icon, .pricing-icon { border: 0; border-radius: 50%; background: #faebe4; color: var(--primary); }
.card-index, .value-card > span, .step-number { color: #bda69a; font-family: "Geist", sans-serif; }
.service-card h3 { font-size: 1.45rem; }
.service-card p, .service-card ul { color: var(--text-soft); }
.service-card li::before { background: var(--primary); }

.health-domain-grid > div, .factor-grid > div, .principle-grid article { border-color: var(--border); background: #fff; }
.health-domain-grid i, .principle-grid i, .factor-grid i { color: var(--primary); }
.process-line li::before { border-color: var(--bg); background: var(--primary); box-shadow: 0 0 0 3px #ffdbc9; }
.process-line > li > span { color: var(--primary); font-family: "Geist", sans-serif; }
.sample-report { border-color: var(--border-strong); background: #fff; color: var(--text); box-shadow: var(--shadow-lg); transform: none; }
.report-topbar, .report-summary-grid div, .report-finding { border-color: var(--border); }
.report-topbar i { color: var(--primary); }
.sample-label { background: #ffdbc9; color: #72360b; }
.report-heading small, .report-heading p, .report-summary-grid span, .report-finding small { color: var(--muted); }
.audience-card, .scope-builder, .who-box { border-color: var(--border); border-radius: 16px; background: #faebe4; }
.audience-tags span, .scope-flow span, .who-list div { border-color: var(--border-strong); background: #fff8f5; color: var(--text-soft); }

.page-hero { border-bottom: 1px solid var(--border); background: #fff1ea; }
.page-hero::after { background: rgba(255,174,139,.2); }
.page-hero-copy h1, .page-hero .section-title h1 { font-size: clamp(3.1rem, 5.5vw, 5rem); letter-spacing: -.035em; }
.page-hero-copy > p, .page-hero .section-title p { color: var(--text-soft); }
.page-hero-aside strong { color: var(--text); }
.page-hero-aside > div i { color: var(--secondary); }
.accent-aside > i, .scope-flow i { color: var(--primary); }
.statement-aside .quote-mark { color: rgba(136,71,28,.14); }
.statement-aside p { color: var(--text); }

.pricing-card-accent { border-color: var(--primary); background: #fff1ea; }
.pricing-tag { color: var(--primary); }
.detailed-step::before { background: linear-gradient(var(--border), var(--primary), var(--border)); }
.step-icon { border-color: var(--border-strong); background: #fff; color: var(--primary); }
.step-content > span { color: var(--secondary); }
.mission-panel { border-color: var(--border); background: #fff; box-shadow: var(--shadow-lg); }
.mission-panel-top i { background: #faebe4; color: var(--primary); }

.faq-question { color: var(--text); }
.faq-question > span { font-size: 1.18rem; }
.faq-question small, .faq-question > i { color: var(--primary); font-family: "Geist", sans-serif; }
.faq-question[aria-expanded="true"] > i { background: #ffdbc9; }
.contact-promise { border-color: #b9cac2; background: #d5e7de; }
.contact-steps > li > span { background: var(--bg); color: var(--primary); }
.contact-form-card, .legal-content, .legal-content:hover { border-color: var(--border); background: #fff; box-shadow: var(--shadow-sm); }
.form-group input, .form-group select, .form-group textarea { border-color: var(--border); background: #fff1ea; color: var(--text); }
.form-group input::placeholder, .form-group textarea::placeholder { color: #86736a; }
.form-group select option { background: #fff; color: var(--text); }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: var(--primary); background: #fff; box-shadow: 0 0 0 4px rgba(136,71,28,.1); }
.form-privacy a, .legal-intro i { color: var(--primary); }
.success-message { border-color: #b9cac2; background: #d5e7de; color: #3b4a44; }
.error-message { border-color: #ffb4ab; background: #ffdad6; color: #93000a; }
.legal-intro { border-color: #e2cec4; background: #fff1ea; }
.legal-notice { border-color: #d9c2b7; background: #faebe4; }

.site-footer { border-color: var(--border); background: #faebe4; }
.footer-callout, .footer-bottom { border-color: var(--border); }
.footer-column h3 { color: var(--text); text-transform: uppercase; letter-spacing: .08em; }
.footer-column a { color: var(--text-soft); }
.footer-column a:hover { color: var(--primary); }
.footer-bottom { color: var(--muted); }
.floating-whatsapp { border-color: #b9cac2; background: #d5e7de; color: #3b4a44; box-shadow: var(--shadow-sm); }

@media (max-width: 920px) {
    .main-nav { border-color: var(--border); background: rgba(255,248,245,.99); box-shadow: var(--shadow-lg); }
    .nav-links a:hover, .nav-links a[aria-current="page"] { background: #fff1ea; }
}

@media (max-width: 680px) {
    .container { width: min(calc(100% - 2rem), var(--container)); }
    .hero-content h1, .page-hero-copy h1, .page-hero .section-title h1 { font-size: clamp(2.7rem, 13vw, 3.8rem); }
}

/* Ambient colour and motion layer */
body {
    position: relative;
    background:
        linear-gradient(135deg, rgba(255, 241, 234, .92), rgba(255, 248, 245, .72) 42%, rgba(213, 231, 222, .34)),
        var(--bg);
}

body::before {
    background-image:
        radial-gradient(circle at 18% 22%, rgba(255, 182, 140, .32) 0, transparent 25%),
        radial-gradient(circle at 82% 14%, rgba(185, 202, 194, .38) 0, transparent 24%),
        radial-gradient(circle at 72% 78%, rgba(255, 219, 201, .34) 0, transparent 27%),
        radial-gradient(#d9c2b7 1px, transparent 1px);
    background-size: 100% 100%, 100% 100%, 100% 100%, 32px 32px;
    opacity: 1;
    animation: ambient-background 18s ease-in-out infinite alternate;
}

body::after {
    content: "";
    position: fixed;
    z-index: -1;
    width: 34rem;
    height: 34rem;
    left: -12rem;
    bottom: -16rem;
    border-radius: 50%;
    background: rgba(255, 174, 139, .19);
    filter: blur(70px);
    pointer-events: none;
    animation: ambient-orb 14s ease-in-out infinite alternate;
}

main > .section:nth-of-type(odd) {
    background: linear-gradient(115deg, rgba(255, 241, 234, .72), rgba(255, 248, 245, .42));
}

main > .section:nth-of-type(even) {
    background: linear-gradient(120deg, rgba(213, 231, 222, .30), rgba(255, 248, 245, .50) 58%, rgba(255, 219, 201, .28));
}

.hero-section {
    background:
        radial-gradient(circle at 88% 30%, rgba(255, 174, 139, .24), transparent 28%),
        radial-gradient(circle at 56% 84%, rgba(185, 202, 194, .30), transparent 25%),
        linear-gradient(120deg, rgba(255, 248, 245, .78), rgba(255, 241, 234, .56));
}

.hero-orbit { animation: orbit-float 8s ease-in-out infinite alternate; }
.orbit-two { animation-delay: -3s; }

.page-hero {
    background:
        radial-gradient(circle at 88% 18%, rgba(255, 174, 139, .30), transparent 26%),
        linear-gradient(115deg, #fff1ea, rgba(213, 231, 222, .43));
}

.service-card:nth-child(3n + 1),
.value-card:nth-child(3n + 1),
.pricing-card:nth-child(3n + 1) { background: rgba(255, 248, 245, .94); }

.service-card:nth-child(3n + 2),
.value-card:nth-child(3n + 2),
.pricing-card:nth-child(3n + 2) { background: rgba(255, 241, 234, .94); }

.service-card:nth-child(3n),
.value-card:nth-child(3n),
.pricing-card:nth-child(3n) { background: rgba(234, 246, 240, .92); }

.health-domain-grid > div:nth-child(4n + 2),
.health-domain-grid > div:nth-child(4n + 3),
.factor-grid > div:nth-child(even),
.who-list > div:nth-child(even) { background: #fff1ea; }

.health-domain-grid > div:nth-child(4n + 1),
.health-domain-grid > div:nth-child(4n),
.factor-grid > div:nth-child(odd),
.who-list > div:nth-child(odd) { background: #eef6f2; }

.health-panel,
.sample-report,
.contact-form-card,
.legal-content,
.mission-panel {
    background: rgba(255, 255, 255, .80);
    backdrop-filter: blur(18px);
}

@keyframes ambient-background {
    0% { background-position: 0 0, 0 0, 0 0, 0 0; }
    100% { background-position: 4rem 2rem, -3rem 4rem, 3rem -3rem, 16px 16px; }
}

@keyframes ambient-orb {
    from { transform: translate3d(0, 0, 0) scale(1); }
    to { transform: translate3d(9rem, -5rem, 0) scale(1.16); }
}

@keyframes orbit-float {
    from { transform: translate3d(0, 0, 0) rotate(0deg); }
    to { transform: translate3d(1rem, -1.2rem, 0) rotate(10deg); }
}

@media (prefers-reduced-motion: reduce) {
    body::before, body::after, .hero-orbit { animation: none !important; }
}

@media (max-width: 680px) {
    body::after { width: 22rem; height: 22rem; }
    body::before { animation-duration: 24s; }
}

/* Editorial typography system */
body {
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: -.006em;
}

h1, h2, h3, h4 {
    color: var(--text);
    font-weight: 500;
    line-height: 1.12;
    letter-spacing: -.025em;
    text-wrap: balance;
}

p, li { text-wrap: pretty; }
p { line-height: 1.72; }

.hero-content h1,
.page-hero-copy h1,
.page-hero .section-title h1 {
    line-height: 1.04;
    letter-spacing: -.035em;
}

.section-heading h2,
.concept-copy h2,
.report-copy h2,
.about-content h2,
.audience-card h2,
.scope-builder h2,
.who-box h2,
.contact-info h2 {
    line-height: 1.12;
}

.hero-lead,
.page-hero-copy > p,
.page-hero .section-title p {
    max-width: 64ch;
    font-size: clamp(1.04rem, 1.35vw, 1.16rem);
    line-height: 1.72;
}

.section-heading p,
.concept-copy p,
.report-copy > p,
.about-content p,
.audience-card p,
.scope-builder p,
.who-box p {
    max-width: 66ch;
    font-size: 1rem;
    line-height: 1.72;
}

.eyebrow,
.page-hero .section-title > span,
.panel-label,
.aside-kicker,
.pricing-tag,
.step-content > span {
    font-family: "Geist", system-ui, sans-serif;
    font-weight: 600;
    line-height: 1.45;
}

.nav-links a,
.nav-cta,
.btn {
    letter-spacing: .01em;
}

.service-card h3,
.value-card h3,
.process-line h3,
.step-content h3,
.principle-grid h3,
.pricing-card h2,
.faq-sidebar h2,
.form-heading h2,
.legal-block h2 {
    font-size: clamp(1.35rem, 2vw, 1.6rem);
    line-height: 1.2;
}

.service-card p,
.service-card ul,
.value-card p,
.process-line p,
.step-content p,
.principle-grid p,
.pricing-card > p,
.pricing-card li,
.faq-sidebar p,
.faq-answer p,
.contact-steps p,
.contact-trust-note p,
.legal-block p,
.legal-intro p {
    color: var(--text-soft);
    font-size: .94rem;
    line-height: 1.68;
}

.service-card ul,
.pricing-card ul { gap: .55rem; }

.service-card a,
.text-link {
    font-size: .86rem;
    font-weight: 600;
    line-height: 1.5;
}

.health-domain-grid strong,
.health-list strong,
.trust-strip-grid strong,
.page-hero-aside strong,
.contact-promise strong,
.contact-steps strong,
.contact-trust-note strong,
.factor-grid strong {
    font-size: .9rem;
    line-height: 1.45;
}

.health-domain-grid span,
.health-list small,
.trust-strip-grid span,
.page-hero-aside > div span,
.contact-promise span,
.factor-grid span,
.panel-note {
    font-size: .76rem;
    line-height: 1.55;
}

.check-list li {
    font-size: .96rem;
    line-height: 1.6;
}

.faq-question > span {
    font-size: 1.25rem;
    line-height: 1.3;
}

.faq-answer p {
    max-width: 72ch;
    padding-bottom: 1.75rem;
}

.form-group label {
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.4;
}

.form-group input,
.form-group select,
.form-group textarea {
    font-size: .94rem;
    line-height: 1.5;
}

.field-help,
.form-privacy,
.optional-label {
    font-size: .72rem;
    line-height: 1.5;
}

.legal-content { max-width: 940px; }
.legal-block { padding-block: 2rem; }
.legal-block p + p { margin-top: 1rem; }

.footer-callout h2 { line-height: 1.15; }
.footer-brand p { font-size: .9rem; line-height: 1.65; }
.footer-principle, .footer-column a { font-size: .8rem; line-height: 1.5; }
.footer-column h3 { font-size: .76rem; font-family: "Geist", sans-serif; font-weight: 600; }
.footer-bottom { font-size: .74rem; }

@media (max-width: 680px) {
    body { font-size: 15.5px; }
    .section-heading h2,
    .concept-copy h2,
    .report-copy h2,
    .about-content h2,
    .audience-card h2,
    .scope-builder h2,
    .who-box h2,
    .contact-info h2 { font-size: clamp(2rem, 10vw, 2.65rem); }
    .hero-lead,
    .page-hero-copy > p,
    .page-hero .section-title p { font-size: 1rem; line-height: 1.68; }
    .faq-question > span { font-size: 1.08rem; }
    .faq-answer p { padding-left: .25rem; padding-right: .5rem; }
}

/* Larger, clearer header typography */
:root { --header-height: 84px; }

.logo-wordmark {
    font-size: 1.72rem;
    line-height: 1;
}

.nav-links a {
    padding: .65rem .75rem;
    font-size: .9rem;
    font-weight: 500;
    line-height: 1.4;
}

.nav-cta {
    min-height: 46px;
    padding: .72rem 1.15rem;
    font-size: .86rem;
    line-height: 1.35;
}

@media (max-width: 1080px) {
    .nav-links a { font-size: .86rem; }
}

@media (max-width: 920px) {
    :root { --header-height: 76px; }
    .logo-wordmark { font-size: 1.55rem; }
    .nav-links a { padding: .85rem .9rem; font-size: .98rem; }
    .nav-cta { font-size: .92rem; }
}

/* Modern button system */
.btn,
.nav-cta {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-radius: 10px;
    font-weight: 600;
    letter-spacing: .015em;
    box-shadow: 0 8px 20px rgba(33, 26, 22, .08);
    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        border-color 180ms ease,
        color 180ms ease,
        background-color 180ms ease;
}

.btn::before,
.nav-cta::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(110deg, transparent 20%, rgba(255,255,255,.22) 48%, transparent 72%);
    transform: translateX(-120%);
    transition: transform 520ms ease;
}

.btn:hover::before,
.nav-cta:hover::before { transform: translateX(120%); }

.btn:hover,
.nav-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(33, 26, 22, .13);
}

.btn:active,
.nav-cta:active {
    transform: translateY(0) scale(.985);
    box-shadow: 0 5px 12px rgba(33, 26, 22, .10);
}

.btn-primary,
.nav-cta {
    border: 1px solid #72360b;
    background: linear-gradient(135deg, #9a5428 0%, #88471c 52%, #72360b 100%);
    color: #fff;
}

.btn-primary:hover,
.nav-cta:hover {
    border-color: #602b06;
    background: linear-gradient(135deg, #a65f32 0%, #88471c 48%, #652d08 100%);
    color: #fff;
}

.btn-secondary {
    border: 1px solid #bfa69a;
    background: rgba(255,255,255,.72);
    color: var(--text);
    box-shadow: 0 7px 18px rgba(33, 26, 22, .055);
    backdrop-filter: blur(10px);
}

.btn-secondary::before {
    background: linear-gradient(110deg, transparent 18%, rgba(255,219,201,.62) 48%, transparent 76%);
}

.btn-secondary:hover {
    border-color: var(--primary);
    background: #fff;
    color: var(--primary-strong);
}

.btn i,
.nav-cta i {
    font-size: .82em;
    transition: transform 180ms ease;
}

.btn:hover i,
.nav-cta:hover i { transform: translateX(4px); }

.btn:focus-visible,
.nav-cta:focus-visible {
    outline: 3px solid rgba(136, 71, 28, .28);
    outline-offset: 4px;
}

.form-submit {
    min-height: 54px;
    justify-content: center;
}

@media (max-width: 680px) {
    .btn { min-height: 52px; padding-inline: 1.3rem; }
    .nav-cta { min-height: 48px; }
}

@media (prefers-reduced-motion: reduce) {
    .btn::before, .nav-cta::before { display: none; }
    .btn, .nav-cta, .btn i, .nav-cta i { transition: none; }
}

/* Header brand and CTA alignment refinement */
.logo-wordmark {
    font-size: 2rem;
    line-height: 1;
}

.nav-cta {
    margin-left: 1.35rem;
}

@media (max-width: 1080px) {
    .logo-wordmark { font-size: 1.82rem; }
    .nav-cta { margin-left: .55rem; }
}

@media (max-width: 920px) {
    .logo-wordmark { font-size: 1.7rem; }
    .nav-cta { margin-left: 0; }
}
