/* Original Margo composition: cream, dark green and one blue accent.
   Scoped above the retained page CSS; no competitor assets, fonts or layout code. */
.site-nav .company-wordmark, .site-footer .company-wordmark {
  font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif;
  font-size:1.62rem; font-weight:500; line-height:1.1; letter-spacing:-.04em; color:#17382c;
}
.site-nav .brand, .site-footer .brand { align-items:center; }
.mega-menu-brand::before { content:""; display:inline-block; width:32px; height:32px; margin-right:10px; vertical-align:middle; background:url('/assets/margolegal-mark.svg') center/contain no-repeat; }
body.native-polished { --native-ink:#17382c; --native-muted:#516059; --native-paper:#f8f8f2; --native-accent:#315fba; --text:#17382c; --text-muted:#516059; background:#f8f8f2; }
body.native-polished::before { background:none; }
body.native-polished h1, body.native-polished main h2 { text-wrap:balance; }
body.native-polished main p { text-wrap:pretty; }
body.native-polished main section { scroll-margin-top:100px; }
body.native-polished main :is(.shell,.container,.hero-content,.story-copy,.native-review-visual) { min-width:0; }
body.native-polished .native-hero { padding:150px 0 112px; background:#f8f8f2; }
body.native-polished .native-hero-grid { grid-template-columns:1fr 1fr; gap:clamp(40px,6vw,90px); }
body.native-polished .native-hero h1 { font-size:clamp(56px,6.7vw,96px); font-weight:500; letter-spacing:-.04em; line-height:1.02; }
body.native-polished .native-lede { max-width:34ch; font-size:19px; line-height:1.7; }
body.native-polished .native-actions { margin-top:36px; }
body.native-polished .native-review-visual { padding-top:38px; }
body.native-polished .native-paper { transform:none; box-shadow:0 16px 42px #17382c0a; border-radius:8px; }
body.native-polished .native-review-card { transform:none; margin-top:-45px; box-shadow:0 18px 36px #17382c12; }
body.native-polished .native-section { padding-block:clamp(88px,9vw,144px); }
body.native-polished .native-section-heading { margin-bottom:60px; }
body.native-polished .native-section h2 { font-size:clamp(38px,4.2vw,60px); line-height:1.08; font-weight:500; }
body.native-polished .native-three { gap:48px; }
body.native-polished .native-evidence { background:#fff; }
body.native-polished .native-learning { background:#f0f2eb; }
body.native-polished .native-consultancy-panel { gap:clamp(48px,8vw,120px); }
body.native-polished .native-offer { background:transparent; box-shadow:none; border:0; border-left:1px solid #d2d9d1; border-radius:0; padding:14px 0 14px 42px; gap:26px; }
body.native-polished .native-resource-grid>a { box-shadow:none; border-radius:6px; padding:38px 28px 62px; }
body.native-polished .native-source-line { color:#e3e8df; }
body.native-polished .development-banner { margin-top:76px; padding:18px 24px; background:#17382c; }
body.native-polished.native-consultancy .hero { min-height:0; padding:105px 28px 100px; background:#f8f8f2; }
body.native-polished.native-consultancy .hero-bg { display:none; }
body.native-polished.native-consultancy .hero::after { background:none; }
body.native-polished.native-consultancy .home-product-visual { animation:none; }
body.native-polished.native-consultancy .hero-content { max-width:1050px; text-align:left; margin-inline:auto; }
body.native-polished.native-consultancy .hero h1 { max-width:17ch; font-size:clamp(48px,6vw,84px); font-weight:500; letter-spacing:-.04em; line-height:1.04; margin:25px 0 34px; }
body.native-polished.native-consultancy .hero-sub { max-width:62ch; margin:0 0 34px; font-size:18px; line-height:1.85; }
body.native-polished.native-consultancy .hero-cta-group { justify-content:flex-start; gap:28px; }
body.native-polished.native-consultancy .hero-trust { margin:30px 0 0; font-size:13px; line-height:1.8; }
body.native-polished.native-consultancy :is(.protocol-section,.solutions-section,.compare-section,.margo-showcase,.resource-showcase,.cta-section) { padding-block:clamp(90px,9vw,138px); }
body.native-polished.native-consultancy :is(.section-title,.showcase-heading h2,.cta-title) { font-size:clamp(36px,4.8vw,64px); font-weight:500; letter-spacing:-.035em; line-height:1.1; }
body.native-polished.native-consultancy .native-product-reference { width:min(100% - 48px,1080px); margin:50px auto 0; }
body.native-polished.native-consultancy .native-product-reference .home-product-visual { display:block; width:100%; margin:24px 0 0; }
body.native-polished.native-consultancy .native-product-reference .home-margo-entry { margin:0; }
body.native-polished.native-margo .ambient-heading { padding:100px 24px 72px; max-width:1100px; margin-inline:auto; }
body.native-polished.native-margo .ambient-heading h1 { max-width:13ch; margin:30px auto; font-size:clamp(52px,7vw,100px); font-weight:500; letter-spacing:-.04em; line-height:1.02; }
body.native-polished.native-margo .ambient-lede { max-width:49ch; margin:0 auto; font-size:19px; line-height:1.75; }
body.native-polished.native-margo .ambient-status { line-height:1.8; max-width:65ch; margin-inline:auto; }
body.native-polished.native-margo .ambient-ctas { margin-top:34px; gap:28px; }
body.native-polished.native-margo .section { padding-block:clamp(88px,10vw,145px); }
body.native-polished.native-margo .section h2 { font-size:clamp(37px,4.5vw,62px); letter-spacing:-.035em; line-height:1.12; font-weight:500; }
body.native-polished.native-margo .story-copy>p:not(.eyebrow) { max-width:48ch; line-height:1.85; }
body.native-polished.native-margo .margo-story { gap:clamp(48px,7vw,108px); }
body.native-polished.native-margo .margo-collage { gap:34px; }
body.native-polished.native-margo #security .grid-3 { gap:28px 64px; }
body.native-polished.native-founder .compact-hero { min-height:0; padding:160px 0 70px; }
body.native-polished.native-founder .compact-hero h1 { max-width:13ch; font-size:clamp(52px,7vw,92px); font-weight:500; letter-spacing:-.04em; line-height:1.03; margin-bottom:36px; }
body.native-polished.native-founder .compact-hero .lede { font-size:19px; max-width:58ch; line-height:1.85; }
body.native-polished.native-founder .section { padding:55px 0 95px; }
body.native-polished.native-founder .long-guide { max-width:60ch; }
body.native-polished.native-founder .long-guide p { font-size:17px; line-height:1.9; margin-bottom:30px; }
body.native-polished.native-founder .comp-card { padding:42px; background:#f0f2eb; box-shadow:none; border-radius:8px; }
body.native-polished.native-founder .comp-asset-list li { padding-block:16px; line-height:1.8; }
/* Content is visible without scripts. Motion never controls access or status visibility. */
@media(prefers-reduced-motion:no-preference) {
  body.native-polished :is(.native-hero h1,.ambient-heading h1,.hero h1,.compact-hero h1) { animation:margo-arrive .42s ease-out both; }
  body.native-polished :is(.native-hero .native-lede,.ambient-heading .ambient-lede,.hero .hero-sub,.compact-hero .lede) { animation:margo-arrive .42s .08s ease-out both; }
}
@keyframes margo-arrive { from { opacity:.6; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:900px) {
  body.native-polished .native-hero-grid { grid-template-columns:1fr; gap:50px; }
  body.native-polished .native-hero { padding-top:130px; }
  body.native-polished .native-review-visual { max-width:650px; padding-top:0; }
  body.native-polished.native-margo .margo-collage { gap:24px; }
}
@media(max-width:760px) {
  body.native-polished .native-hero { padding:120px 0 72px; }
  body.native-polished .native-section, body.native-polished.native-margo .section { padding-block:76px; }
  body.native-polished .native-three, body.native-polished .native-consultancy-panel { gap:32px; }
  body.native-polished .native-offer { padding:30px 0 0; border-left:0; border-top:1px solid #d2d9d1; }
  body.native-polished .native-hero h1 { font-size:clamp(48px,10vw,72px); }
  body.native-polished.native-consultancy .hero { padding:70px 24px; }
  body.native-polished.native-consultancy .hero h1 { font-size:clamp(44px,9vw,68px); }
  body.native-polished.native-margo .ambient-heading { padding:64px 24px 56px; }
  body.native-polished.native-founder .compact-hero { padding:130px 0 48px; }
  body.native-polished.native-founder .compact-hero h1 { font-size:clamp(48px,10vw,70px); }
  body.native-polished.native-founder .comp-card { padding:28px; }
}
@media(max-width:600px) {
  .site-nav .nav-cta { display:none; }
  .site-nav .company-wordmark { font-size:1.35rem; }
  .site-nav .nav-row { gap:10px; }
  body.native-polished.native-margo .margo-nav .nav-row { gap:12px; }
  body.native-polished .native-review-card { margin-left:0; margin-right:0; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  body.native-polished { scroll-behavior:auto; }
  body.native-polished *, body.native-polished *::before, body.native-polished *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

/* Shared status is normal flow: it does not add another sticky layer. */
body > .development-banner.shared-status-band {
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap;
  gap:18px 44px; margin-top:var(--shell-nav-height,80px); padding:22px 32px;
  background:#17382c; color:#f8f8f2; font-size:clamp(18px,1.5vw,22px);
  font-weight:600; letter-spacing:-.015em; line-height:1.45;
}
body.margo-page > .development-banner.shared-status-band { margin-top:0; }
.shared-status-band .status-band-links { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; }
.shared-status-band .status-band-links a { display:inline-flex; align-items:center; min-height:44px; padding:9px 16px; border:1px solid #c8d5ca; border-radius:6px; color:#f8f8f2; font-size:15px; font-weight:600; text-decoration:none; }
.shared-status-band .status-band-links a:last-child { background:#f8f8f2; border-color:#f8f8f2; color:#17382c; }
.shared-status-band .status-band-links a:hover { text-decoration:underline; text-underline-offset:4px; }
.shared-status-band .status-band-links a:focus-visible { outline:3px solid #b8d0ff; outline-offset:4px; }
body.native-polished .native-hero { padding-top:76px; }
body.native-polished.native-founder .compact-hero { padding-top:80px; }
body:has(> .shared-status-band) main > .subpage-hero { padding-top:76px; }
@media(max-width:760px) {
  body > .development-banner.shared-status-band { padding:20px 22px; gap:14px; text-align:center; font-size:18px; }
  .shared-status-band > span { flex-basis:100%; max-width:30ch; }
  .shared-status-band .status-band-links a { font-size:14px; padding-inline:12px; }
  body.native-polished .native-hero, body.native-polished.native-founder .compact-hero { padding-top:60px; }
}

/* A compact existing synthetic card balances the headline; the full demo remains below. */
body.native-margo .margo-hero-composition { width:min(100% - 64px,1320px); margin-inline:auto; padding:76px 0 88px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); align-items:center; gap:clamp(44px,6vw,100px); }
body.native-polished.native-margo .margo-hero-composition .ambient-heading { padding:0; margin:0; max-width:none; text-align:left; min-width:0; }
body.native-polished.native-margo .margo-hero-composition h1 { margin:28px 0; max-width:12ch; font-size:clamp(56px,6.1vw,90px); }
body.native-polished.native-margo .margo-hero-composition :is(.ambient-lede,.ambient-status) { margin-inline:0; }
body.native-margo .margo-hero-composition .ambient-ctas { justify-content:flex-start; }
body.native-margo .margo-hero-evidence { min-width:0; padding:18px 0; }
body.native-margo .margo-hero-evidence .margo-context-card { transform:none; margin:0; }
body.native-margo .margo-hero-evidence figcaption { font-size:12px; line-height:1.6; letter-spacing:.035em; }
body.native-margo .margo-hero-evidence .margo-mini-paper { padding:36px 32px 160px; min-height:410px; }
body.native-margo .margo-hero-evidence .margo-mini-paper h3 { font-size:26px; }
body.native-margo .margo-hero-evidence .margo-mini-paper > p { font-size:17px; line-height:1.85; }
body.native-margo .margo-hero-evidence .margo-mini-panel { width:calc(100% - 32px); right:-12px; bottom:24px; padding:22px; background:#17382c; color:#f8f8f2; }
body.native-margo .margo-hero-evidence .margo-mini-panel span { font-size:12px; color:#d4dfd4; }
body.native-margo .margo-hero-evidence .margo-mini-panel p { color:#f8f8f2; font-size:15px; }
body.native-polished.native-margo .margo-collage { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:1000px; margin-inline:auto; }
body.native-consultancy .consultancy-hero-composition { width:min(100%,1320px); margin-inline:auto; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,.75fr); align-items:center; gap:clamp(38px,6vw,92px); }
body.native-polished.native-consultancy .consultancy-hero-composition .hero-content { width:100%; max-width:none; margin:0; min-width:0; }
body.native-polished.native-consultancy .consultancy-hero-composition h1 { font-size:clamp(48px,5.1vw,76px); }
body.native-consultancy .workshop-hero-card { min-width:0; padding:34px; border:1px solid #cbd5ca; border-radius:8px; background:#17382c; color:#f8f8f2; box-shadow:0 22px 50px #17382c0c; text-align:left; }
body.native-consultancy .workshop-card-label { color:#d5dfd3; font-size:14px; font-weight:500; margin:0 0 32px; }
body.native-consultancy .workshop-hero-card dl { margin:0; }
body.native-consultancy .workshop-hero-card dl>div { padding:20px 0; border-top:1px solid #ffffff30; }
body.native-consultancy .workshop-hero-card dt { display:flex; gap:18px; align-items:baseline; font-size:18px; }
body.native-consultancy .workshop-hero-card dt strong { font-size:60px; font-weight:450; line-height:1; letter-spacing:-.04em; }
body.native-consultancy .workshop-hero-card dd { margin:10px 0 0 52px; font-size:13px; color:#d5dfd3; }

/* Visual-only assistance reskin: existing data-open, ARIA and inert controller retained. */
body .help-dock { right:20px; bottom:calc(16px + env(safe-area-inset-bottom)); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body .help-dock .help-launcher { width:auto; min-height:44px; gap:10px; padding:8px 15px 8px 10px; border:1px solid #ffffff30; border-radius:8px; background:#17382c; color:#f8f8f2; box-shadow:0 5px 18px #17382c22; font-size:14px; font-weight:500; letter-spacing:0; }
body .help-dock .help-launcher:hover { transform:translateY(-1px); box-shadow:0 7px 22px #17382c28; }
body .help-dock .help-mark { width:26px; height:26px; flex:0 0 26px; border-radius:0; background:none; box-shadow:none; color:#f8f8f2; font-size:19px; font-weight:500; letter-spacing:-.08em; }
body .help-dock .help-launcher>span:last-child { position:static; width:auto; height:auto; overflow:visible; clip:auto; white-space:nowrap; }
body .help-dock .help-panel { width:min(320px,calc(100vw - 32px)); max-height:calc(100dvh - 110px - env(safe-area-inset-bottom)); overflow-y:auto; overscroll-behavior:contain; padding:22px; border-color:#ccd6cc; border-radius:10px; background:#f8f8f2; color:#17382c; box-shadow:0 14px 40px #17382c22; }
body .help-dock .help-panel h2 { font-size:23px; color:#17382c; line-height:1.15; }
body .help-dock .help-intro { font-size:13px; line-height:1.6; color:#516059; }
body .help-dock .help-option { padding:13px 10px; background:transparent; border:0; border-top:1px solid #d8dfd5; border-radius:0; color:#17382c; }
body .help-dock .help-option:hover { background:#eaf0e6; }
body .help-dock .help-option strong { font-size:13px; font-weight:600; }
body .help-dock .help-option small { color:#516059; line-height:1.5; }
body .help-dock .help-option-icon { color:#17382c; font-size:12px; }
body .help-dock .help-close { width:32px; height:32px; flex-basis:32px; border-radius:6px; background:#eaf0e6; color:#17382c; }
body .help-dock :is(.help-launcher,.help-close,.help-option):focus-visible { outline:3px solid #739784; outline-offset:3px; }
@media(max-width:960px) {
  body.native-margo .margo-hero-composition, body.native-consultancy .consultancy-hero-composition { grid-template-columns:1fr; gap:42px; }
  body.native-margo .margo-hero-evidence { max-width:560px; width:100%; justify-self:center; }
  body.native-consultancy .workshop-hero-card { max-width:640px; width:100%; }
  body.native-consultancy .workshop-hero-card dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
  body.native-consultancy .workshop-hero-card dt { display:block; font-size:15px; }
  body.native-consultancy .workshop-hero-card dt strong { display:block; margin-bottom:14px; }
  body.native-consultancy .workshop-hero-card dd { margin-left:0; }
}
@media(max-width:700px) {
  body.native-margo .margo-hero-composition { width:calc(100% - 44px); padding:58px 0 64px; gap:32px; }
  body.native-polished.native-margo .margo-hero-composition h1 { font-size:clamp(48px,11vw,70px); }
  body.native-polished.native-margo .margo-collage { grid-template-columns:1fr; }
  body.native-margo .margo-hero-evidence .margo-mini-panel { right:0; }
  body.native-margo .margo-hero-evidence .margo-mini-paper { padding:28px 25px 155px; }
  body.native-consultancy .workshop-hero-card { padding:26px 22px; }
  body.native-consultancy .workshop-hero-card dl { gap:12px; }
  body.native-consultancy .workshop-hero-card dt strong { font-size:46px; }
  body .help-dock { right:14px; bottom:calc(12px + env(safe-area-inset-bottom)); }
}
