/* Fidura: original dark, violet/cyan identity with compact, accessible service pages. */
:root {
  --ink: #171722;
  --muted: #424553;
  --night: #0b0b12;
  --night-text: #f5f5fb;
  --night-muted: #d5d7e4;
  --paper: #ffffff;
  --soft: #f6f6fa;
  --white: #ffffff;
  --line: #e2e2ec;
  --accent: #6040dc;
  --accent-soft: #eeebfb;
  --accent-light: #c8bdfb;
  --green: #25674c;
  --green-soft: #e8f2eb;
  --amber: #785310;
  --amber-soft: #fcf1d9;
  --error: #a32132;
  --error-soft: #fff1f2;
  --focus: #5740c3;
  --radius: 14px;
  --max: 1160px;
  --section: clamp(34px, 4vw, 54px);
  --body: "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
  --display: var(--body);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; -webkit-text-size-adjust: 100%; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 17px/1.6 var(--body); }
body, input, textarea, select, button { -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, p, figure, dl, dd { margin: 0; }
h1, h2 { font-family: var(--display); font-weight: 700; letter-spacing: -.04em; }
h1 { font-size: clamp(2.2rem, 4.3vw, 3.5rem); line-height: 1.08; }
h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1.12; }
h1 em, h2 em { font-style: normal; font-weight: inherit; color: var(--accent); }
h3 { font-size: 1.15rem; font-weight: 650; line-height: 1.35; letter-spacing: -.02em; }
h4 { font-size: .95rem; line-height: 1.45; font-weight: 650; }
p + p { margin-top: 16px; }
a { color: var(--accent); text-underline-offset: 4px; text-decoration-thickness: 1px; }
a:hover { text-decoration: underline; }
button, input, select, textarea { font: inherit; }
button, a, input, textarea, select, summary { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
img, svg { max-width: 100%; }
img { display: block; }
svg { flex: none; vertical-align: middle; }
::selection { background: var(--accent-soft); color: var(--ink); }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
[hidden] { display: none !important; }
.container { width: min(calc(100% - 64px), var(--max)); margin-inline: auto; }
.section { padding-block: var(--section); }
.section-soft { background: var(--soft); }
.section-head { max-width: 680px; margin-bottom: 26px; }
.section-head > p:not(.eyebrow) { margin-top: 20px; color: var(--muted); max-width: 59ch; }
.eyebrow { color: var(--accent); font-size: .875rem; font-weight: 650; letter-spacing: .13em; text-transform: uppercase; margin-bottom: 16px; }
.lead { font-size: clamp(1.05rem, 1.6vw, 1.2rem); color: var(--muted); line-height: 1.65; max-width: 55ch; }
.actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px 28px; margin-top: 30px; }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 13px 23px; border: 1px solid transparent; border-radius: 9px; font: 600 .875rem/1.4 var(--body); text-align: center; text-decoration: none; transition: background-color .18s, border-color .18s; }
.btn:hover { text-decoration: none; }
.btn-primary { background: var(--accent); color: var(--white); }
.btn-primary:hover { background: #44309f; }
.btn-secondary { border-color: #aaa8b1; background: transparent; color: var(--ink); }
.btn-secondary:hover { background: var(--accent-soft); border-color: var(--accent); }
.btn-light { background: var(--night-text); color: var(--night); }
.btn-light:hover { background: var(--accent-soft); }
.btn-block { width: 100%; }
.btn:disabled { opacity: .65; cursor: wait; }
.text-link { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; font-size: .91rem; font-weight: 600; padding-block: 7px; }
.text-link span, .hero-link span { font-size: 1.05em; }
.space-top { margin-top: 16px; }
.section-note { font-size: .88rem; line-height: 1.65; color: var(--muted); margin-top: 28px; max-width: 85ch; }
.skip-link { position: fixed; top: 8px; left: 12px; z-index: 200; transform: translateY(-150%); background: var(--white); color: var(--ink); padding: 10px 20px; border-radius: 5px; }
.skip-link:focus { transform: none; }

/* Shared page shell. Without JavaScript the mobile navigation remains usable. */
.site-header { position: sticky; z-index: 50; top: 0; background: var(--night); color: var(--night-text); border-bottom: 1px solid #34353d; }
.nav-wrap { display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--night-text); text-decoration: none; font-size: 1.5rem; font-weight: 750; letter-spacing: -.055em; }
.brand:hover { text-decoration: none; }
.brand-dot { color: var(--accent-light); }
.brand img { width: 30px; height: 30px; }
.nav-menu { display: flex; align-items: center; gap: 22px; }
.nav-menu a:not(.btn) { display: inline-flex; align-items: center; min-height: 44px; color: var(--night-muted); font-size: .875rem; text-decoration: none; }
.nav-menu a:not(.btn):hover, .nav-menu a:not(.btn)[aria-current="page"] { color: var(--white); text-decoration: underline; text-underline-offset: 8px; }
.nav-menu .btn { padding: 10px 20px; min-height: 44px; font-size: .875rem; }
.nav-toggle { display: none; width: 44px; height: 44px; padding: 10px; border: 0; background: transparent; }
.nav-toggle span { display: block; height: 2px; width: 24px; background: var(--night-text); margin: 5px 0; }
.nav-toggle[aria-expanded="true"] span:first-child { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:last-child { transform: translateY(-7px) rotate(-45deg); }
.site-header :focus-visible, .site-footer :focus-visible, .home-hero :focus-visible, .section-cta :focus-visible { outline-color: var(--accent-light); }
.site-footer { background: var(--night); color: var(--night-muted); padding: 42px 0 22px; }
.footer-grid { display: grid; grid-template-columns: 1.3fr .8fr 1.1fr; gap: 42px; padding-bottom: 30px; }
.footer-title { font-family: var(--body); font-size: .875rem; font-weight: 650; text-transform: uppercase; letter-spacing: .12em; color: var(--night-text); margin-bottom: 16px; }
.footer-grid > div > a:not(.brand) { display: block; padding: 6px 0; color: var(--night-muted); text-decoration: none; font-size: .875rem; overflow-wrap: anywhere; }
.footer-grid > div > a:hover { text-decoration: underline; color: var(--night-text); }
.footer-intro p { font-size: .875rem; }
.footer-intro .footer-tag { color: var(--night-text); font-family: var(--display); font-size: 1.4rem; line-height: 1.35; margin: 22px 0 14px; }
.office-address { font-size: .875rem; line-height: 1.75; margin-top: 18px; }
.office-address strong { color: var(--night-text); font-weight: 600; }
.footer-bottom { border-top: 1px solid #3b3c44; padding-top: 22px; display: flex; justify-content: space-between; gap: 20px; font-size: .875rem; }
.footer-bottom div { display: flex; gap: 22px; }
.footer-bottom a { color: var(--night-muted); }
.wa-float { position: fixed; right: 24px; bottom: max(22px, env(safe-area-inset-bottom)); z-index: 30; width: 50px; height: 50px; display: grid; place-items: center; border-radius: 50%; color: var(--white); background: #176b43; box-shadow: 0 5px 18px #17191e22; }
.wa-float:hover { background: #105235; }

/* Home: the company and its global reach. */
.home-hero { background: var(--night); color: var(--night-text); padding: 42px 0 38px; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: 35px; align-items: center; }
.home-hero .eyebrow { color: var(--accent-light); }
.home-hero h1 { font-size: clamp(2.65rem, 4.65vw, 4.2rem); }
.home-hero h1 em { color: var(--accent-light); }
.home-hero .lead { color: var(--night-muted); font-size: 1.07rem; margin-top: 25px; max-width: 46ch; }
.hero-link { color: var(--night-text); text-decoration: none; font-size: .9rem; font-weight: 600; padding-block: 10px; }
.hero-price { color: var(--night-muted); font-size: .875rem; line-height: 1.7; margin-top: 25px; }
.hero-price strong { color: var(--night-text); font-weight: 600; }
.principles-band { border-bottom: 1px solid var(--line); background: var(--paper); }
.principles-band .container { display: flex; justify-content: space-between; flex-wrap: wrap; padding-block: 17px; gap: 14px 28px; }
.principles-band span { display: inline-flex; gap: 10px; align-items: center; color: var(--muted); font-size: .875rem; }
.principles-band span::before { content: ''; width: 5px; height: 5px; background: var(--accent); border-radius: 50%; }
.status { font-size: .875rem; font-weight: 650; color: var(--green); background: var(--green-soft); padding: 3px 6px; border-radius: 4px; white-space: nowrap; }
.outcome-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.outcome { padding: 28px 0 8px; border-top: 1px solid #bfc0bf; }
.service-icon { display: block; color: var(--accent); margin-bottom: 24px; }
.outcome h3 { font-size: 1.2rem; }
.outcome p { color: var(--muted); font-size: .93rem; margin-top: 12px; margin-bottom: 18px; }
.tools-inline { border-top: 1px solid var(--line); margin-top: 42px; padding-top: 25px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.tools-inline > p { font-size: .875rem; color: var(--muted); max-width: 155px; }
.tools-inline > div { display: flex; flex-wrap: wrap; gap: 13px 25px; font-size: .875rem; font-weight: 600; }
.process-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 42px; padding: 0; list-style: none; margin: 42px 0 0; }
.process-grid li { border-top: 1px solid #aaa8b1; padding-top: 22px; }
.process-grid li > span { color: var(--accent); font-size: .875rem; letter-spacing: .08em; font-weight: 650; }
.process-grid h3 { margin-top: 23px; font-size: 1.1rem; }
.process-grid p { color: var(--muted); font-size: .88rem; margin-top: 12px; }
.fit-note { margin-top: 42px; padding: 22px 26px; background: var(--accent-soft); display: grid; grid-template-columns: 1fr 2fr; gap: 8px 25px; border-radius: 8px; }
.fit-note strong { font-size: .93rem; }
.fit-note p { color: var(--muted); font-size: .875rem; }
.fit-note .text-link { grid-column: 2; font-size: .875rem; }
.founder-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 40px; align-items: center; }
.founder-layout p:not(.eyebrow) { color: var(--muted); font-size: .96rem; }
.founder-layout .founder-intro { margin-top: 25px; color: var(--ink); font-size: 1.05rem; }
.founder-signature { display: flex; gap: 12px; align-items: center; margin-top: 25px; font-size: .875rem; }
.founder-signature span { color: var(--muted); font-size: .875rem; }
.working-note { background: var(--soft); padding: 34px; border-radius: 8px; border-top: 3px solid var(--accent); }
.working-note h3 { font-family: var(--display); font-size: 1.75rem; font-weight: 400; letter-spacing: -.03em; }
.working-note dl { margin-top: 28px; }
.working-note dl div { border-top: 1px solid #d0ceca; padding: 14px 0; }
.working-note dt { font-size: .875rem; font-weight: 650; }
.working-note dd { font-size: .875rem; color: var(--muted); margin-top: 5px; }
.working-note .text-link { margin-top: 12px; font-size: .875rem; }
.section-cta { background: var(--accent); color: var(--white); }
.section-cta .eyebrow { color: #e0d9ff; }
.section-cta h2 { font-size: clamp(2rem, 3.5vw, 3rem); }
.section-cta p:not(.eyebrow):not(.microcopy) { color: #eeebff; margin-top: 18px; max-width: 53ch; font-size: .95rem; }
.cta-layout { display: flex; gap: 48px; justify-content: space-between; align-items: center; }
.cta-layout > div:last-child { flex: none; text-align: center; }
.microcopy { font-size: .875rem; color: #e7e0ff; margin-top: 12px; }

/* Inner pages. */
.page-hero { padding: 42px 0 30px; }
.page-hero .lead { margin-top: 24px; max-width: 63ch; }
.page-hero .actions { margin-top: 26px; }
.jump-nav { display: flex; flex-wrap: wrap; gap: 8px 30px; padding-block: 14px; border-block: 1px solid var(--line); }
.jump-nav a { font-size: .875rem; text-decoration: none; padding-block: 8px; }
.jump-nav a:hover { text-decoration: underline; }
.service-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 30px; }
.service-detail { border-top: 1px solid #aaa8b1; padding-top: 22px; display: flex; flex-direction: column; }
.service-number { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; color: var(--accent); }
.service-number span { font-size: .875rem; }
.service-detail > p:not(.tools) { font-size: .88rem; color: var(--muted); margin-top: 13px; }
.service-detail ul { font-size: .875rem; line-height: 1.65; padding-left: 18px; margin: 17px 0 0; }
.service-detail li + li { margin-top: 7px; }
.deliverable { border-left: 2px solid var(--accent); padding-left: 14px; }
.deliverable strong { display: block; color: var(--ink); font-size: .875rem; margin-bottom: 5px; }
.service-detail > p.boundary { font-size: .875rem; }
.tools { font-size: .875rem; color: var(--muted); margin-top: 18px; padding-bottom: 10px; }
.service-detail .text-link { margin-top: auto; font-size: .875rem; }
.specialist-list { border-top: 1px solid var(--line); }
.specialist-list article { display: flex; justify-content: space-between; gap: 35px; padding: 25px 0; border-bottom: 1px solid var(--line); align-items: center; }
.specialist-list p { color: var(--muted); font-size: .89rem; margin-top: 9px; max-width: 65ch; }
.specialist-list .text-link { flex: none; font-size: .875rem; }
.industry-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.industry-grid article { border-top: 1px solid #bfc0bf; padding-top: 22px; }
.industry-grid p { color: var(--muted); font-size: .875rem; margin-top: 12px; }
.industry-grid .industry-output { font-size: .875rem; }
.industry-grid .text-link { font-size: .875rem; margin-top: 12px; }
.security-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 75px; }
.security-list article { display: flex; gap: 25px; border-top: 1px solid var(--line); padding: 22px 0; }
.security-list article > span { color: var(--accent); font-size: .875rem; }
.security-list h3 { font-size: 1rem; }
.security-list p { color: var(--muted); font-size: .875rem; margin-top: 10px; }

/* Prices: comparable monthly units, explicit eligibility, optional detail. */
.section-prices { padding-top: 5px; }
.pricing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; align-items: stretch; }
.price-card { display: flex; flex-direction: column; border: 1px solid #c8c6d0; padding: 28px; background: var(--paper); border-radius: var(--radius); }
.price-featured { border: 2px solid var(--accent); padding: 27px; background: var(--white); box-shadow: 0 8px 28px #6544d41a; }
.plan-top { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; min-height: 30px; }
.plan-top h3 { font-size: 1.15rem; }
.badge { border-radius: 4px; padding: 4px 7px; font-size: .875rem; color: var(--accent); background: var(--accent-soft); font-weight: 650; }
.plan-description { color: var(--muted); font-size: .875rem; margin: 15px 0 23px; min-height: 2.7em; }
.price { font-size: clamp(2.4rem, 3.4vw, 3.1rem); line-height: 1.2; letter-spacing: -.055em; font-weight: 600; white-space: nowrap; }
.price > .price-currency { font-size: 1rem; font-weight: 600; letter-spacing: 0; vertical-align: baseline; }
.price > .price-period { font-size: .875rem; font-weight: 400; color: var(--muted); letter-spacing: 0; margin-left: 3px; }
.price .price-prefix { display: block; font-size: .875rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); line-height: 1.5; margin-top: -1.5em; }
.plan-hours { font-size: .875rem; margin-top: 13px; }
.plan-rate { color: var(--muted); font-size: .875rem; margin-top: 4px; }
.plan-detail { color: var(--muted); font-size: .875rem; min-height: 4.5em; margin-top: 19px; }
.check-list { list-style: none; padding: 18px 0 0; border-top: 1px solid var(--line); margin: 20px 0 0; }
.check-list li { position: relative; padding-left: 20px; font-size: .875rem; margin-bottom: 13px; }
.check-list li::before { content: '✓'; position: absolute; left: 0; color: var(--accent); }
.plan-eligibility { color: var(--muted); font-size: .875rem; line-height: 1.6; margin-top: 10px; padding-bottom: 25px; }
.price-card .btn { margin-top: auto; font-size: .875rem; padding-inline: 16px; width: 100%; }
.pricing-preview .plan-rate { margin-bottom: 25px; }
.included-row { display: flex; flex-wrap: wrap; gap: 10px 22px; align-items: center; font-size: .875rem; color: var(--muted); margin-top: 30px; }
.included-row strong { color: var(--ink); }
.custom-plan { border-top: 1px solid var(--line); padding-top: 26px; margin-top: 26px; display: flex; align-items: center; justify-content: space-between; gap: 26px; }
.custom-plan p { color: var(--muted); font-size: .875rem; margin-top: 8px; }
.custom-plan > div { min-width: 0; }
.custom-plan .btn { flex: none; }
.terms-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.terms-grid div { border-top: 1px solid #c6c5c3; padding-top: 17px; }
.terms-grid dt { font-size: .88rem; font-weight: 650; }
.terms-grid dd { color: var(--muted); font-size: .875rem; margin-top: 10px; }
.compare-details { border-block: 1px solid #c6c5c3; margin-top: 36px; }
.compare-details > summary { padding: 18px 0; cursor: pointer; list-style: none; display: flex; justify-content: space-between; font-size: .93rem; font-weight: 600; }
.table-scroll { overflow-x: auto; margin-bottom: 24px; }
table { width: 100%; border-collapse: collapse; text-align: left; font-size: .875rem; min-width: 660px; }
caption { text-align: left; color: var(--muted); font-size: .875rem; padding: 0 12px 16px; }
th, td { padding: 14px 15px; border-bottom: 1px solid #cecdca; vertical-align: top; }
thead th { color: var(--accent); }
tbody th { font-weight: 600; }
.shortlist-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 40px; align-items: start; }
.shortlist-layout > div:first-child > p { color: var(--muted); font-size: .9rem; }
.scope-builder { padding: 28px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); }
.scope-builder fieldset { border: 0; padding: 0; margin: 0 0 24px; min-width: 0; }
.scope-builder legend { font-weight: 650; font-size: .9rem; margin-bottom: 18px; }
.scope-chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.scope-chip { display: flex; align-items: start; gap: 10px; padding: 14px 12px; background: var(--paper); border: 1px solid var(--line); border-radius: 7px; cursor: pointer; font-size: .875rem; }
.scope-chip:has(input:checked) { background: var(--accent-soft); border-color: var(--accent); }
.scope-chip small { display: block; color: var(--muted); font-size: .875rem; margin-top: 5px; }
.scope-chip input { flex: none; margin-top: 2px; }
.scope-bottom { margin-top: 24px; border-top: 1px solid var(--line); padding-top: 18px; }
.scope-bottom > p { font-size: .875rem; color: var(--muted); margin-bottom: 14px; }
.scope-bottom .btn { width: 100%; }
.scope-notice { padding: 13px 15px; color: var(--amber); background: var(--amber-soft); border-radius: 6px; font-size: .875rem; margin-top: 16px; }

/* Forms use shrinkable tracks and native selection controls at every width. */
.section-contact { padding-top: 10px; }
.contact-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 40px; align-items: start; }
.contact-layout > form { grid-column: 2; grid-row: 1; }
.contact-layout > aside { grid-column: 1; grid-row: 1; }
.contact-layout > *, .field-row > *, .field, .field > *, .scope-chip > span { min-width: 0; }
.contact-form { display: grid; gap: 21px; background: var(--white); border: 1px solid #cccad3; border-radius: var(--radius); padding: 32px; }
.form-heading h2, .form-heading h3 { font-family: var(--display); font-weight: 650; font-size: 1.5rem; line-height: 1.2; letter-spacing: -.035em; }
.form-heading p { color: var(--muted); font-size: .875rem; margin-top: 10px; }
.field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.field { display: flex; flex-direction: column; gap: 7px; }
.field > label, .field-caption { color: var(--ink); font-size: .875rem; font-weight: 600; }
.optional, .required-note { font-weight: 400; font-size: .875rem; color: var(--muted); }
.field input:not([type="checkbox"]), .field select, .field textarea { appearance: auto; display: block; width: 100%; max-width: 100%; min-width: 0; color: var(--ink); background: var(--paper); border: 1px solid #a8a6b1; border-radius: 7px; padding: 12px 13px; font-size: 16px; line-height: 1.5; }
.field textarea { resize: vertical; min-height: 120px; }
.field input::placeholder, .field textarea::placeholder { opacity: 1; color: #5d606f; }
.field input:focus-visible, .field select:focus-visible, .field textarea:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
input[type="checkbox"] { appearance: auto; width: 20px; height: 20px; padding: 0; accent-color: var(--accent); }
.field .field-hint, .form-note { font-size: .875rem; color: var(--muted); line-height: 1.6; }
.field .field-error { font-size: .875rem; color: var(--error); line-height: 1.55; margin-top: 0; }
.field [aria-invalid="true"] { border-color: var(--error); background-color: var(--error-soft); }
.form-note { margin: 0; }
.form-status:empty { display: none; }
.form-status { font-size: .875rem; color: var(--muted); }
.error-summary { border: 1px solid var(--error); background: var(--error-soft); border-radius: 7px; padding: 16px; }
.error-summary h3 { color: var(--error); font-size: .95rem; }
.error-summary ul { padding-left: 20px; margin: 10px 0 0; font-size: .875rem; }
.error-summary a { color: var(--error); }
.submission-error { border-left: 3px solid var(--error); padding: 12px; color: var(--error); background: var(--error-soft); font-size: .875rem; }
.readiness { padding: 16px; border: 1px solid var(--line); border-radius: 7px; min-width: 0; display: grid; gap: 18px; margin: 0; }
.readiness legend { font-size: .875rem; font-weight: 600; padding-inline: 5px; }
.check-label { display: flex; align-items: start; gap: 10px; font-size: .875rem; color: var(--ink); cursor: pointer; }
.check-label input { flex: none; margin: 3px 0 0; }
.field input[type="file"] { font-size: .875rem; padding: 10px; }
input[type="file"]::file-selector-button { border: 0; background: var(--ink); color: var(--white); border-radius: 5px; padding: 8px 10px; margin-right: 10px; font: 600 .875rem var(--body); cursor: pointer; }
.next-steps { list-style: none; padding: 0; margin: 0; }
.next-steps li { display: flex; align-items: start; gap: 20px; border-top: 1px solid var(--line); padding-block: 22px; }
.next-steps li > span { color: var(--accent); font-size: .875rem; }
.next-steps h3 { font-size: 1rem; }
.next-steps p { color: var(--muted); font-size: .875rem; margin-top: 10px; }
.contact-direct { border-top: 1px solid var(--line); margin-top: 20px; padding-top: 24px; }
.contact-direct h3 { font-size: .95rem; margin-bottom: 12px; }
.contact-direct .text-link { display: flex; width: fit-content; font-size: .875rem; }
.contact-direct p { color: var(--muted); font-size: .875rem; margin-top: 16px; }
.contact-office { border-top: 1px solid var(--line); padding-top: 24px; margin-top: 25px; font: normal .8rem/1.75 var(--body); color: var(--muted); }
.contact-office strong { color: var(--ink); }
.contact-aside > p { color: var(--muted); font-size: .9rem; }

/* Native disclosure widgets keep questions and comparisons available without JS. */
.faq-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 40px; }
.faq { border-top: 1px solid #b7b5bd; }
.faq details { border-bottom: 1px solid #c6c4cb; }
.faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 25px; padding: 21px 0; font-size: .95rem; font-weight: 600; line-height: 1.5; }
summary::-webkit-details-marker { display: none; }
.faq summary span { color: var(--accent); font-size: 1.3rem; font-weight: 400; line-height: 1; }
.faq details[open] summary span { transform: rotate(45deg); }
.faq-answer { padding-bottom: 23px; }
.faq-answer p { color: var(--muted); font-size: .875rem; line-height: 1.75; }
.faq-full { max-width: 860px; }
.faq-topics { display: flex; flex-wrap: wrap; gap: 12px 26px; border-top: 1px solid var(--line); padding-top: 17px; }
.faq-topics a { font-size: .875rem; }
.faq-group { margin-top: 38px; }
.faq-group > h3 { font-size: 1.15rem; margin-bottom: 20px; }

/* Careers: practical role facts before culture and requirements. */
.role-layout, .two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px; }
.role-facts > div { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 20px; border-top: 1px solid #c6c5c3; padding: 17px 0; font-size: .875rem; }
.role-facts dt { font-weight: 600; }
.role-facts dd { color: var(--muted); }
.readable-list { padding-left: 20px; color: var(--muted); font-size: .9rem; }
.readable-list li + li { margin-top: 13px; }
.benefit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 38px; }
.benefit-grid article { border-top: 1px solid #c6c5c3; padding-top: 22px; }
.benefit-grid p { color: var(--muted); font-size: .875rem; margin-top: 12px; }
.process-four { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }

/* Utility and legal pages. */
.confirmation { max-width: 740px; }
.confirmation-section { padding-top: 60px; }
.confirmation-mark { display: grid; place-items: center; width: 44px; height: 44px; color: var(--green); background: var(--green-soft); border-radius: 50%; margin-bottom: 28px; }
.confirmation .lead { margin-top: 24px; }
.confirmation > div:not(.actions) { border-top: 1px solid var(--line); margin-top: 28px; padding-top: 22px; }
.confirmation h2 { font: 650 1rem/1.5 var(--body); letter-spacing: -.02em; margin-bottom: 10px; }
.confirmation > p:not(.eyebrow):not(.lead) { color: var(--muted); font-size: .88rem; margin-top: 25px; }
.confirmation > div > p { color: var(--muted); font-size: .9rem; }
.error-page { min-height: 60vh; display: flex; align-items: center; }
.error-page .lead { margin-top: 25px; }
.legal-layout { max-width: 860px; }
.legal-layout > header > p:not(.eyebrow) { color: var(--muted); max-width: 66ch; }
.legal-layout .updated { font-size: .875rem; margin-block: 22px 15px; }
.legal-nav { display: flex; flex-wrap: wrap; gap: 10px 24px; padding-block: 22px; border-block: 1px solid var(--line); margin-top: 28px; }
.legal-nav a { font-size: .875rem; }
.legal-copy { max-width: 740px; }
.legal-copy section { margin-top: 35px; }
.legal-copy h2 { font: 650 1.1rem/1.4 var(--body); letter-spacing: -.02em; margin-bottom: 13px; }
.legal-copy p { font-size: .94rem; color: var(--muted); line-height: 1.8; }

@media (max-width: 1050px) {
  .hero-grid { gap: 40px; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); }
  .home-hero h1 { font-size: 3.3rem; }
  .example-layout, .founder-layout, .contact-layout, .faq-layout, .shortlist-layout, .role-layout, .two-column, .security-layout { gap: 45px; }
  .service-detail-grid, .industry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .price-card { padding: 23px; }
  .price-featured { padding: 22px; }
  .nav-menu { gap: 22px; }
  .footer-grid { gap: 40px; }
  .process-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 780px) {
  .wa-float { display: none; }
  .container { width: min(calc(100% - 40px), var(--max)); }
  .nav-wrap { min-height: 68px; flex-wrap: wrap; gap: 0 20px; }
  .brand { font-size: 1.35rem; }
  .js .nav-toggle { display: block; }
  .nav-menu { flex-basis: 100%; display: flex; flex-direction: column; gap: 0; align-items: stretch; padding: 10px 0 20px; }
  .nav-menu a:not(.btn) { padding: 12px 2px; border-top: 1px solid #3b3c44; font-size: .9rem; }
  .nav-menu .btn { margin-top: 12px; }
  .home-hero { padding-block: 45px; }
  .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, .7fr); gap: 28px; }
  .home-hero h1 { font-size: 2.65rem; }
  .home-hero .eyebrow { font-size: .875rem; }
  .home-hero .lead { font-size: 1rem; }
  .desktop-break { display: none; }
  .principles-band .container { justify-content: start; gap: 12px 25px; }
  .principles-band span { font-size: .875rem; }
  .example-layout, .founder-layout, .security-layout, .faq-layout, .shortlist-layout, .role-layout, .two-column { grid-template-columns: minmax(0, 1fr); gap: 35px; }
  .outcome-grid { gap: 24px; }
  .outcome h3 { font-size: 1.05rem; }
  .outcome p { font-size: .875rem; }
  .outcome .text-link { font-size: .875rem; }
  .process-grid { gap: 28px; }
  .process-grid h3 { font-size: 1rem; }
  .pricing-grid { grid-template-columns: minmax(0, 1fr); }
  .price-card { padding: 26px; }
  .price-featured { padding: 25px; }
  .price .price-prefix { display: inline; margin-right: 8px; vertical-align: middle; }
  .plan-description, .plan-detail { min-height: 0; }
  .plan-description { margin: 10px 0 20px; }
  .pricing-preview { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
  .pricing-preview .price-card { padding: 18px; }
  .pricing-preview .price-featured { padding: 17px; }
  .pricing-preview .price { font-size: 2.2rem; white-space: normal; }
  .pricing-preview .price > .price-period { display: block; margin-left: 0; }
  .pricing-preview .plan-top { display: block; }
  .pricing-preview .badge { display: inline-block; margin-top: 7px; }
  .pricing-preview .plan-top h3 { font-size: 1rem; }
  .pricing-preview .plan-description { min-height: 4.5em; }
  .pricing-preview .btn { font-size: .875rem; padding: 10px; }
  .contact-layout { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .contact-layout > form, .contact-layout > aside { grid-column: auto; grid-row: auto; }
  .contact-layout > aside { max-width: none; }
  .field-row { grid-template-columns: minmax(0, 1fr); }
  .contact-form { padding: 26px; }
  .terms-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 35px; }
  .footer-intro { grid-column: 1 / -1; }
  .footer-intro .footer-tag { font-size: 1.4rem; }
  .footer-intro .footer-tag br { display: none; }
}
@media (max-width: 560px) {
  body { font-size: 16px; }
  .container { width: calc(100% - 36px); }
  h1 { font-size: clamp(2rem, 8vw, 2.6rem); }
  h2 { font-size: 1.8rem; }
  .eyebrow { font-size: .875rem; margin-bottom: 17px; }
  .section-head { margin-bottom: 28px; }
  .home-hero { padding-top: 40px; padding-bottom: 34px; }
  .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 34px; }
  .home-hero h1 { font-size: clamp(2.4rem, 9.7vw, 3.05rem); }
  .home-hero .lead { margin-top: 20px; line-height: 1.65; }
  .home-hero .actions { gap: 14px 23px; margin-top: 24px; }
  .hero-price { margin-top: 18px; }
  .principles-band .container { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 11px 14px; padding-block: 19px; }
  .principles-band span { font-size: .875rem; gap: 8px; align-items: start; }
  .principles-band span::before { margin-top: 7px; flex: none; }
  .outcome-grid, .process-grid, .pricing-preview, .service-detail-grid, .industry-grid, .benefit-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .outcome { padding-top: 20px; }
  .outcome h3 { font-size: 1.15rem; }
  .outcome p { font-size: .93rem; }
  .service-icon { margin-bottom: 16px; }
  .tools-inline { display: block; }
  .tools-inline > p { max-width: none; margin-bottom: 17px; }
  .tools-inline > div { font-size: .875rem; gap: 12px 20px; }
  .process-grid { margin-top: 28px; }
  .process-grid li { padding-top: 17px; }
  .process-grid h3 { margin-top: 15px; font-size: 1.08rem; }
  .process-grid p { font-size: .9rem; }
  .fit-note { grid-template-columns: minmax(0, 1fr); padding: 20px; gap: 10px; margin-top: 30px; }
  .fit-note .text-link { grid-column: auto; }
  .price-card, .pricing-preview .price-card { padding: 24px; }
  .price-featured, .pricing-preview .price-featured { padding: 23px; }
  .price-card .plan-description, .pricing-preview .plan-description { min-height: 0; }
  .pricing-preview .plan-top { display: flex; }
  .pricing-preview .price { font-size: 2.6rem; }
  .pricing-preview .price > .price-period { display: inline; margin-left: 4px; }
  .pricing-preview .btn { font-size: .875rem; padding: 12px; }
  .pricing-preview .plan-top h3 { font-size: 1.15rem; }
  .founder-layout { gap: 30px; }
  .working-note { padding: 25px; }
  .founder-signature { align-items: start; flex-direction: column; gap: 2px; }
  .cta-layout { display: block; }
  .cta-layout > div:last-child { margin-top: 25px; text-align: left; }
  .cta-layout .btn { width: 100%; }
  .microcopy { text-align: center; }
  .page-hero { padding: 30px 0 25px; }
  .page-hero .lead { margin-top: 21px; }
  .jump-nav { gap: 7px 20px; }
  .jump-nav a { font-size: .875rem; }
  .service-detail { padding-top: 18px; }
  .service-number { margin-bottom: 18px; }
  .service-detail > p:not(.tools) { font-size: .91rem; }
  .service-detail .text-link { margin-top: 10px; }
  .service-detail ul { font-size: .88rem; }
  .specialist-list article { display: block; padding: 22px 0; }
  .specialist-list .text-link { margin-top: 12px; }
  .industry-grid p { font-size: .89rem; }
  .industry-grid .industry-output { font-size: .875rem; }
  .security-list article { gap: 18px; }
  .security-list p { font-size: .88rem; }
  .custom-plan { flex-direction: column; align-items: stretch; gap: 20px; }
  .included-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; font-size: .875rem; }
  .included-row strong { grid-column: 1 / -1; }
  .terms-grid { grid-template-columns: minmax(0, 1fr); gap: 23px; }
  .scope-builder { padding: 22px 18px; }
  .scope-chips { grid-template-columns: minmax(0, 1fr); }
  .scope-chip { font-size: .875rem; padding: 13px; }
  .scope-chip small { font-size: .875rem; }
  .contact-form { padding: 23px 18px; gap: 20px; }
  .form-heading p { font-size: .875rem; }
  .field > label { font-size: .875rem; }
  .optional, .required-note { font-size: .875rem; }
  .field .field-hint, .form-note { font-size: .875rem; }
  .contact-office { font-size: .875rem; }
  .role-facts > div { display: block; font-size: .875rem; padding: 15px 0; }
  .role-facts dd { margin-top: 6px; }
  .faq summary { font-size: .9rem; gap: 20px; }
  .faq-answer p { font-size: .88rem; }
  .footer-grid { gap: 28px; grid-template-columns: minmax(0, 1fr); }
  .footer-intro { grid-column: auto; }
  .footer-intro > p:last-child { display: none; }
  .footer-title { margin-bottom: 12px; }
  .footer-grid > div > a:not(.brand) { padding-block: 9px; font-size: .875rem; }
  .footer-bottom { flex-direction: column; gap: 18px; }
  .wa-float { right: 18px; width: 46px; height: 46px; }
  .legal-copy p { font-size: .92rem; }
  .confirmation-section { padding-top: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
/* Restored service and industry directories, with useful details one click away. */
.home-hero { background: radial-gradient(ellipse at 85% 15%, #251e493b, transparent 60%), var(--night); }
.home-hero h1 { font-size: clamp(2.5rem, 4.5vw, 3.9rem); line-height: 1.08; font-weight: 750; }
.home-hero h1 > span { color: #9dc9ff; background: linear-gradient(100deg,#b6a3ff,#6edce9); background-clip: text; -webkit-text-fill-color: transparent; }
.home-hero .lead { margin-top: 20px; max-width: 48ch; }
.home-hero .actions { gap: 20px; margin-top: 24px; }
.connection-globe { width: 100%; max-width: 560px; justify-self: center; text-align: center; position: relative; }
.globe-stage { position: relative; aspect-ratio: 560 / 450; }
.globe-stage canvas, .globe-fallback { position: absolute; inset: 0; width: 100%; height: 100%; }
.globe-stage canvas { opacity: 0; }
.globe-ready canvas { opacity: 1; }
.globe-ready .globe-fallback { display: none; }
.connection-globe figcaption { color: var(--night-muted); font-size: .875rem; line-height: 1.6; }
.connection-globe figcaption strong { color: var(--night-text); font-weight: 550; }
.directory-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.directory-card { display: flex; flex-direction: column; padding: 23px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.directory-card:hover { border-color: #bfb0ed; }
.directory-card .service-icon { width: 42px; height: 42px; border-radius: 10px; background: var(--accent-soft); display: grid; place-items: center; margin-bottom: 15px; }
.directory-card h3 { font-size: 1.08rem; }
.directory-card > p { font-size: .875rem; color: var(--muted); margin-top: 9px; }
.directory-card .service-plan-note { font-size: .875rem; color: var(--accent); }
.directory-card .text-link { margin-top: auto; padding-top: 18px; font-size: .875rem; align-self: start; }
.section-links { display: flex; flex-wrap: wrap; gap: 12px 26px; margin-top: 20px; }
.industry-links { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; }
.industry-tile { display: flex; align-items: center; justify-content: space-between; gap: 10px; background: var(--white); border: 1px solid var(--line); border-radius: 9px; padding: 17px 15px; font-size: .875rem; font-weight: 600; line-height: 1.5; text-decoration: none; }
.industry-tile:hover { border-color: var(--accent); background: var(--accent-soft); text-decoration: none; }
.industry-tile span { flex: none; }
.directory-tools { display: grid; grid-template-columns: auto minmax(160px,450px) 1fr; align-items: center; gap: 15px; margin-bottom: 30px; }
.directory-tools label { font-size: .875rem; font-weight: 600; }
.directory-tools input { width: 100%; min-height: 48px; padding: 11px 14px; border: 1px solid #a8a6b1; background: white; border-radius: 8px; font-size: 16px; }
.directory-tools p { font-size: .875rem; color: var(--muted); }
.directory-group + .directory-group { margin-top: 38px; }
.directory-empty { padding: 28px; border: 1px solid var(--line); border-radius: 10px; }
.industry-index { display: flex; flex-wrap: wrap; gap: 8px; }
.industry-index a { padding: 9px 13px; border: 1px solid var(--line); border-radius: 6px; font-size: .875rem; text-decoration: none; background: var(--soft); }
.industry-index a:hover { border-color: var(--accent); }
.industry-directory { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.industry-card { padding: 25px; background: white; border: 1px solid var(--line); border-radius: 11px; }
.industry-card p, .industry-card li { font-size: .875rem; color: var(--muted); }
.industry-card p { margin-top: 10px; }
.industry-card ul { padding-left: 19px; margin: 14px 0 10px; }
.industry-card li + li { margin-top: 6px; }
.industry-card .text-link { font-size: .875rem; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px 12px; font-size: .875rem; padding-top: 22px; color: var(--muted); }
.breadcrumbs + .page-hero { padding-top: 24px; }
.service-page-layout { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); gap: 50px; align-items: start; }
.task-list-readable { list-style: none; padding: 0; margin: 0; }
.task-list-readable li { position: relative; padding: 13px 0 13px 25px; border-bottom: 1px solid var(--line); font-size: .94rem; }
.task-list-readable li::before { content: '✓'; color: var(--accent); position: absolute; left: 0; }
.service-facts { border: 1px solid var(--line); border-radius: 12px; padding: 25px; background: white; }
.service-facts h2 { font-size: 1.2rem; }
.service-facts dl > div { margin-top: 19px; }
.service-facts dt { font-size: .875rem; text-transform: uppercase; letter-spacing: .04em; color: var(--accent); font-weight: 650; }
.service-facts dd { font-size: .875rem; color: var(--muted); margin-top: 5px; }
.two-column > div > p { color: var(--muted); font-size: .93rem; }
.compact-steps { padding-left: 20px; margin: 0 0 16px; color: var(--muted); font-size: .93rem; }
.compact-steps li + li { margin-top: 13px; }
.company-summary { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.company-summary .section-head { margin-bottom: 0; }
.company-summary .btn { flex: none; }
.company-summary address { font-size: .93rem; color: var(--muted); font-style: normal; margin-top: 20px; }
.about-founder { display: grid; grid-template-columns: minmax(0,280px) minmax(0,1fr); gap: 50px; align-items: center; max-width: 1000px; }
.about-founder picture { overflow: hidden; border-radius: 16px; }
.about-founder img { width: 100%; height: auto; aspect-ratio: 4/5; object-fit: cover; }
.about-founder p:not(.eyebrow) { font-size: .93rem; color: var(--muted); margin-top: 15px; }
.about-founder .founder-role { color: var(--accent); font-weight: 600; margin-top: 7px; }
.about-founder .text-link { margin-top: 15px; }
.process-detail { max-width: 900px; }
.process-detail article { display: grid; grid-template-columns: 50px minmax(0,1fr); gap: 25px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.process-detail article:first-child { padding-top: 0; }
.process-detail article > span { color: var(--accent); font-size: 1.3rem; font-weight: 600; }
.process-detail h2 { font-size: 1.4rem; }
.process-detail p { margin-top: 10px; color: var(--muted); font-size: .94rem; }
.security-directory { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.security-directory article { padding: 23px; background: white; border: 1px solid var(--line); border-radius: 10px; }
.security-directory h2 { font-size: 1.15rem; }
.security-directory p { font-size: .875rem; color: var(--muted); margin-top: 11px; }
.faq-group > h2 { font-size: 1.4rem; margin-bottom: 15px; }
.form-heading p > span { display: block; margin-top: 5px; font-size: .875rem; }
.form-options { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 3px 0; }
.form-options summary { padding: 12px 0; cursor: pointer; font-size: .875rem; font-weight: 600; }
.form-options-body { display: grid; gap: 18px; padding: 8px 0 16px; }
.file-status { font-size: .875rem; color: var(--muted); overflow-wrap: anywhere; }
.file-status:empty { display: none; }
.file-remove { justify-self: start; min-height: 36px; padding: 4px 10px; border: 1px solid var(--line); color: var(--accent); background: white; border-radius: 5px; font-size: .875rem; margin-top: -12px; }
.footer-links { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 0 15px; }
.footer-links a { display: flex; align-items: center; min-height: 36px; color: var(--night-muted); font-size: .875rem; text-decoration: none; }
.footer-links a:hover { color: white; text-decoration: underline; }
.footer-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); }
.process-grid { margin-top: 28px; gap: 28px; }
.process-grid h3 { margin-top: 15px; }
.section-head > p:not(.eyebrow) { margin-top: 14px; }
.contact-form { padding: 26px; gap: 18px; }
.form-heading h2, .form-heading h3 { font-weight: 650; }
.contact-layout, .shortlist-layout { gap: 40px; }
@media (max-width:1000px) {
  .nav-menu { gap: 15px; }
  .nav-menu a:not(.btn) { font-size: .875rem; }
  .nav-menu .btn { padding-inline: 13px; }
  .industry-links { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .hero-grid { gap: 20px; }
  .home-hero h1 { font-size: 3rem; }
}
@media (max-width:780px) {
  .hero-grid { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); }
  .home-hero h1 { font-size: clamp(2rem,5vw,2.8rem); }
  .directory-grid, .security-directory { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service-page-layout { gap: 25px; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); }
  .about-founder { grid-template-columns: minmax(0,220px) minmax(0,1fr); gap: 28px; }
  .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer-intro { grid-column: 1/-1; }
}
@media (max-width:560px) {
  .hero-grid { grid-template-columns: minmax(0,1fr); gap: 0; }
  .home-hero { padding-top: 30px; padding-bottom: 25px; }
  .home-hero h1 { font-size: clamp(2.15rem,9.2vw,3rem); }
  .connection-globe { max-width: 360px; margin-top: 12px; }
  .globe-stage { margin-inline: auto; max-width: 340px; }
  .directory-grid, .industry-directory, .service-page-layout, .security-directory, .about-founder { grid-template-columns: minmax(0,1fr); }
  .directory-grid { gap: 14px; }
  .directory-card { padding: 20px; }
  .directory-card .text-link { padding-top: 13px; }
  .industry-links { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .industry-tile { padding: 13px; font-size: .875rem; }
  .directory-tools { grid-template-columns: minmax(0,1fr); gap: 9px; }
  .directory-tools p { margin-top: 0; }
  .company-summary { display: block; }
  .company-summary .btn { margin-top: 22px; }
  .about-founder picture { max-width: 260px; }
  .process-detail article { grid-template-columns: 30px minmax(0,1fr); gap: 13px; padding-block: 20px; }
  .process-detail h2 { font-size: 1.2rem; }
  .contact-form { padding: 22px 18px; }
  .footer-grid { grid-template-columns: minmax(0,1fr); }
  .footer-intro { grid-column: auto; }
  .footer-links { max-width: 370px; }
  .footer-links a { min-height: 40px; }
}
/* Readable text scale and strong contrast across all page templates. */
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; line-height: 1.6; }
h1, h2, h3 { text-wrap: balance; }
h1 { max-width: 23ch; }
.home-hero h1 { max-width: none; }
.page-hero .lead { font-size: 1.125rem; max-width: 64ch; }
.section-head > p:not(.eyebrow), .directory-card > p, .industry-card p, .industry-card li, .security-directory p, .process-grid p, .service-facts dd, .two-column > div > p, .readable-list, .faq-answer p, .next-steps p, .role-facts dd { font-size: 1rem; line-height: 1.65; }
.directory-card h3, .industry-card h3 { font-size: 1.15rem; }
.directory-card .text-link, .industry-card .text-link, .industry-tile, .jump-nav a, .industry-index a { font-size: .9375rem; }
.directory-card .service-plan-note { font-size: .875rem; }
.eyebrow { font-size: .78rem; letter-spacing: .09em; font-weight: 700; }
.home-hero .eyebrow { font-size: .78rem; }
.hero-price { font-size: .9375rem; }
.hero-pricing-link { display: inline-flex; align-items: center; gap: 6px; color: var(--night-text); font-weight: 550; padding-block: 5px; }
.principles-band span, .tools-inline > p, .tools-inline > div, .plan-description, .plan-detail, .plan-hours, .plan-rate, .check-list li, .terms-grid dd, .custom-plan p, .included-row { font-size: .9375rem; }
.plan-eligibility, .plan-top .badge, .microcopy { font-size: .875rem; }
.price > .price-period { font-size: 1rem; }
.plan-top { flex-wrap: wrap; }
.scope-chip { font-size: .9375rem; }
.scope-chip small { font-size: .875rem; }
.field > label, .field-caption, .check-label, .form-options summary, .form-heading p { font-size: .9375rem; }
.field .field-hint, .form-note, .optional, .required-note, .form-heading p > span { font-size: .875rem; }
.field input[type="file"] { font-size: .875rem; }
.contact-form .form-heading h2, .contact-form .form-heading h3 { font-size: 1.5rem; }
.form-heading p, .field .field-hint, .form-note { color: var(--muted); }
.footer-links a, .office-address, .footer-bottom, .footer-intro > p:last-child { font-size: .875rem; }
.footer-grid > div > a:not(.brand) { font-size: .9375rem; }
.nav-menu a:not(.btn), .nav-menu .btn { font-size: .9rem; }
.connection-globe figcaption { font-size: .9375rem; }
.section-cta p:not(.eyebrow):not(.microcopy) { color: #fff; font-size: 1rem; }
@media(max-width:1000px) and (min-width:781px) { .nav-menu { gap: 14px; } .nav-menu a:not(.btn) { font-size: .875rem; } }
@media(max-width:560px) {
  .page-hero .lead { font-size: 1.0625rem; }
  .industry-tile { font-size: .875rem; }
  .pricing-preview .btn { font-size: .9375rem; }
}
@media(max-width:780px) {
  .nav-menu { max-height: calc(100dvh - 68px); overflow-y: auto; }
  html:not(.js) .site-header { position: static; }
  html:not(.js) .nav-menu { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 18px; max-height: none; overflow: visible; }
  html:not(.js) .nav-menu .btn { grid-column: 1/-1; }
}
/* The company's meaning and founder's voice remain part of the client story. */
.home-story-grid, .brand-story-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 42px; align-items: start; }
.home-story-grid .section-head, .brand-story-layout .section-head { margin-bottom: 18px; }
.home-story-grid > div > p, .brand-story-layout > div > p { color: var(--muted); font-size: 1rem; line-height: 1.7; }
.home-story-grid .story-meaning, .brand-story-layout .story-meaning { color: var(--ink); font-size: 1.0625rem; }
.home-founder-note { background: white; border: 1px solid var(--line); border-top: 3px solid var(--accent); border-radius: 12px; padding: 26px; }
.brand-quote { margin: 0; }
.brand-quote p { color: var(--ink); font-size: 1.0625rem; line-height: 1.7; font-weight: 500; letter-spacing: -.01em; }
.story-founder-identity { display: flex; align-items: center; gap: 14px; margin-top: 22px; }
.story-founder-identity picture { flex: none; border-radius: 50%; overflow: hidden; width: 64px; height: 64px; }
.story-founder-identity img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; }
.story-founder-identity strong { display: block; font-size: 1rem; }
.story-founder-identity span { display: block; color: var(--muted); font-size: .875rem; margin-top: 2px; }
.home-founder-note > .text-link { margin-top: 13px; }
.home-founder-note .founder-story-excerpt { color: var(--muted); font-size: 1rem; line-height: 1.7; margin-top: 17px; }
.brand-story-layout .brand-promise { border-left: 3px solid var(--accent); padding-left: 16px; color: var(--accent); font-weight: 650; margin-top: 20px; }
.founder-story-layout { max-width: var(--max); grid-template-columns: minmax(0,300px) minmax(0,1fr); gap: 44px; align-items: start; }
.founder-profile h3 { margin-top: 17px; font-size: 1.25rem; }
.founder-profile .text-link { font-size: .9375rem; }
.founder-story-copy .brand-quote { background: var(--accent-soft); border-left: 3px solid var(--accent); border-radius: 0 8px 8px 0; padding: 20px 23px; margin: 22px 0; }
.about-founder .founder-story-copy .brand-quote p { color: var(--ink); font-size: 1.0625rem; margin: 0; line-height: 1.7; }
.about-founder .founder-story-copy > p:not(.eyebrow) { font-size: 1rem; line-height: 1.7; }
.brand-values { list-style: none; margin: 0; padding: 0; }
.brand-values li + li { border-top: 1px solid var(--line); margin-top: 16px; padding-top: 16px; }
.brand-values h3 { font-size: 1rem; }
.brand-values p { color: var(--muted); font-size: 1rem; margin-top: 5px; }
@media(max-width:900px) {
  .home-story-grid, .brand-story-layout { gap: 28px; }
  .founder-story-layout { grid-template-columns: minmax(0,240px) minmax(0,1fr); gap: 28px; }
}
@media(max-width:700px) {
  .home-story-grid, .brand-story-layout, .founder-story-layout { grid-template-columns: minmax(0,1fr); }
  .founder-profile picture { display: block; max-width: 260px; }
  .home-founder-note { padding: 22px; }
  .founder-story-copy .brand-quote { padding: 18px; }
}
/* Editorial refinement: compact journeys with a consistent reading scale. */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.contact-layout > .application-panel { grid-column: 2; grid-row: 1; }
.delivery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.delivery-grid > div { border-top: 2px solid var(--accent-soft); padding-top: 18px; }
.delivery-grid dt, .small-heading { font-size: 1.0625rem; font-weight: 650; line-height: 1.4; }
.delivery-grid dt > span { color: var(--accent); margin-right: 8px; font-size: .875rem; }
.delivery-grid dd, .delivery-grid > div > p { margin-top: 10px; color: var(--muted); font-size: 1rem; line-height: 1.65; }
.answer-link { display: inline-block; padding-block: 9px; margin-top: 4px; font-size: .875rem; }
.faq details { scroll-margin-top: 96px; }
.breadcrumbs a { display: inline-flex; align-items: center; min-height: 36px; }
.breadcrumbs > span { align-self: center; }
.founder-story-copy { max-width: 68ch; }
.globe-markets { display: block; color: var(--night-muted); font-size: .875rem; margin-top: 8px; }
.value-note { color: var(--accent); font-size: .875rem; margin-top: 6px; }
.pricing-preview .plan-description { display: none; }
.pricing-preview .price { margin-top: 14px; }
.plan-description { min-height: 0; margin: 10px 0 18px; }
.plan-detail { min-height: 0; margin-top: 14px; }
.plan-eligibility { padding-bottom: 18px; }
.shortlist-disclosure { border-block: 1px solid var(--line); }
.shortlist-disclosure > summary { cursor: pointer; padding: 20px 4px; font-size: 1.125rem; font-weight: 650; }
.shortlist-disclosure > .shortlist-layout { padding: 12px 0 24px; }
.shortlist-disclosure .scope-builder { padding: 20px; }
.application-fields { display: grid; gap: 18px; min-width: 0; margin: 0; padding: 0; border: 0; }
.application-notice { border: 1px solid var(--accent); border-left-width: 4px; border-radius: 8px; background: var(--accent-soft); padding: 20px; margin-bottom: 18px; }
.application-notice p { margin-top: 8px; font-size: 1rem; }
.application-fields:disabled input, .application-fields:disabled select, .application-fields:disabled textarea { background: var(--soft); color: var(--muted); cursor: not-allowed; }
.application-fields:disabled button { background: var(--muted); border-color: var(--muted); color: white; cursor: not-allowed; }
.home-service-grid .directory-card { padding: 21px; }
.page-index #why .tools-inline { margin-top: 22px; padding-top: 18px; }
.page-careers .process-grid { gap: 20px; }
.site-footer { padding-top: 38px; }
@media(max-width:780px) {
  .delivery-grid { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .contact-layout > .application-panel { min-width: 0; grid-column: auto; grid-row: auto; }
}
@media(max-width:560px) {
  :root { --section: 30px; }
  .home-hero .actions { gap: 10px 16px; }
  .home-hero .actions .btn { padding-inline: 16px; }
  .home-hero .hero-link { font-size: .875rem; }
  .section-head { margin-bottom: 20px; }
  .home-service-grid .directory-card { display: grid; grid-template-columns: 28px minmax(0,1fr); column-gap: 10px; padding: 14px; }
  .home-service-grid .service-icon { grid-column: 1; grid-row: 1/4; width: 28px; height: 32px; margin: 0; }
  .home-service-grid .service-icon svg { width: 22px; height: 22px; }
  .home-service-grid h3, .home-service-grid p, .home-service-grid a { grid-column: 2; }
  .home-service-grid .directory-card > p { margin-top: 6px; line-height: 1.5; }
  .home-service-grid .directory-card .text-link { padding-top: 6px; margin-top: 4px; min-height: 36px; }
  .home-service-grid { gap: 10px; }
  .process-grid, .benefit-grid { gap: 18px; }
  .process-grid li { padding-top: 14px; }
  .process-grid h3 { margin-top: 7px; }
  .process-grid p { margin-top: 6px; }
  .page-index .benefit-grid article { padding: 0; border: 0; }
  .page-index .benefit-grid p { margin-top: 5px; }
  .pricing-grid { gap: 14px; }
  .price-card, .price-featured { padding: 20px; }
  .price { font-size: 2.5rem; }
  .plan-description { margin: 6px 0 12px; }
  .plan-hours { margin-top: 8px; }
  .pricing-preview .plan-rate { margin-bottom: 16px; }
  .check-list { padding-top: 13px; margin-top: 14px; }
  .check-list li { margin-bottom: 8px; }
  .plan-eligibility { margin-top: 6px; padding-bottom: 16px; }
  .terms-grid { gap: 18px; }
  .terms-grid dd { margin-top: 6px; }
  .industry-card { padding: 20px; }
  .industry-index { gap: 7px; }
  .industry-index a { padding: 7px 10px; }
  .home-story-grid, .brand-story-layout { gap: 24px; }
  .home-founder-note { padding: 18px; }
  .home-story-grid p, .home-founder-note .brand-quote p { line-height: 1.6; }
  .footer-grid { gap: 24px; }
  .footer-intro .footer-tag { margin: 12px 0 8px; }
  .footer-intro > p:last-child { display: none; }
}
@media print {
  .site-header, .site-footer, .wa-float, .nav-toggle, .actions { display: none; }
  body { background: white; color: black; font-size: 11pt; }
  .container { width: 100%; }
  .section { padding: 24px 0; }
  .home-hero { background: white; color: black; }
  .home-hero .lead, .home-hero h1 em { color: black; }
  details > * { display: block !important; }
  .table-scroll { overflow: visible; }
  article, .price-card { break-inside: avoid; }
}
