/* IntelligentSystems site — unified stylesheet for www.intsystemsllc.com
   and its Trust & Legal pages.
   Token values copied from the BluePrint navy-editorial design system
   (tokens/tokens.css, tokens/semantic.css); the pages do not read the
   design-system folder at runtime. Light scheme only, as the mockups are. */
/* Self-hosted fonts (latin + latin-ext subsets), from Google Fonts (SIL Open Font License / Apache 2.0).
   Variable fonts are trimmed to the weights the site uses (Source Sans 3 & Source Serif 4: 400-600);
   optical sizing (opsz) is kept. File names carry a content hash, so the year-long immutable cache can't serve stale files. */
@font-face {
  font-family: 'Source Sans 3';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/source-sans-3-italic-latin-ext-ad9936.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/source-sans-3-italic-latin-b9b0f6.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(fonts/source-sans-3-normal-latin-ext-w400-600-ed3571.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(fonts/source-sans-3-normal-latin-w400-600-587435.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/source-serif-4-italic-latin-ext-6f4634.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/source-serif-4-italic-latin-172851.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(fonts/source-serif-4-normal-latin-ext-w400-600-0f6483.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(fonts/source-serif-4-normal-latin-w400-600-bae508.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Tinos';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/tinos-italic-latin-ext-4c1ee9.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Tinos';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/tinos-italic-latin-dac912.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Tinos';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/tinos-normal-latin-ext-b8eb4c.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Tinos';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/tinos-normal-latin-4f3375.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Tinos';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/tinos-normal-latin-ext-930e24.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Tinos';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/tinos-normal-latin-7f51a0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Metric-matched fallbacks: system fonts resized to the web fonts' proportions, so text barely shifts when the web fonts finish loading.
   size-adjust is calibrated against rendered widths of site copy (Chrome, macOS); ascent/descent overrides scale with it. */
@font-face {
  font-family: 'Source Serif 4 Fallback';
  src: local("Georgia");
  size-adjust: 100.55%;
  ascent-override: 103.03%;
  descent-override: 33.32%;
  line-gap-override: 0.00%;
}
@font-face {
  font-family: 'Source Sans 3 Fallback';
  src: local("Arial"), local("ArialMT");
  size-adjust: 97.60%;
  ascent-override: 100.82%;
  descent-override: 28.08%;
  line-gap-override: 0.00%;
}
:root{
  --palette-gunmetal:#2d3142;
  --palette-silver:#bfc0c0;
  --palette-white:#ffffff;
  --palette-coral:#ef8354;
  --palette-paynes-gray:#4f5d75;
  --color-primary:var(--palette-gunmetal);
  --color-primary-hover:var(--palette-paynes-gray);
  --color-bg:color-mix(in srgb,var(--palette-silver) 15%,var(--palette-white));
  --color-surface:var(--palette-white);
  --color-surface-raised:color-mix(in srgb,var(--palette-silver) 20%,var(--palette-white));
  --color-text:var(--palette-gunmetal);
  --color-text-secondary:var(--palette-paynes-gray);
  --color-text-tertiary:color-mix(in srgb,var(--palette-paynes-gray) 90%,var(--palette-white));
  --color-text-inverse:var(--palette-white);
  --color-border:var(--palette-silver);
  --color-border-subtle:color-mix(in srgb,var(--palette-silver) 50%,var(--palette-white));
  --color-danger:#c0392b;
  --color-success:#2e8b6e;
  --color-hover-wash:color-mix(in srgb,var(--palette-gunmetal) 5%,transparent);
  --color-active-wash:color-mix(in srgb,var(--palette-gunmetal) 6%,transparent);
  --status-success-text:#14532d;--status-success-tint:#e8f4ec;--status-success-border:#bfdfc9;
  --status-warning-text:#7a4100;--status-warning-tint:#fcf1de;--status-warning-border:#f0d6a8;
  --status-neutral-text:#4b5058;--status-neutral-tint:#f1f2ee;--status-neutral-border:#d9dbd5;
  --radius-sm:4px;--radius:8px;--radius-xl:12px;--radius-pill:999px;
  --font-sans:'Source Sans 3','Source Sans 3 Fallback',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-mono:'Source Sans 3','Source Sans 3 Fallback',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-heading:'Source Serif 4','Source Serif 4 Fallback',Georgia,serif;
  --font-document:'Tinos','Times New Roman',Times,serif;
  --shadow-sm:0 1px 3px color-mix(in srgb,var(--palette-gunmetal) 4%,transparent),0 1px 2px color-mix(in srgb,var(--palette-gunmetal) 3%,transparent);
  --shadow-lg:0 4px 12px color-mix(in srgb,var(--palette-gunmetal) 6%,transparent),0 12px 28px color-mix(in srgb,var(--palette-gunmetal) 8%,transparent);
  --shadow-focus:0 0 0 3px color-mix(in srgb,var(--palette-gunmetal) 12%,transparent);
  --page-pad:56px;
}

/* Base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--palette-white);color:var(--color-text);font-family:var(--font-sans);font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased}
b,strong{font-weight:600}
.doc b,.doc strong{font-weight:700}
h1,h2,h3,h4,p{margin:0}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
a:hover{color:var(--color-text-secondary)}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:var(--shadow-focus);border-radius:2px}
.skip{position:absolute;left:-9999px;top:8px;z-index:20;background:var(--color-surface);padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;font-weight:600}
.skip:focus{left:8px}
.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}
.wrap{max-width:1280px;margin:0 auto;padding-left:var(--page-pad);padding-right:var(--page-pad)}
.ground{background:var(--color-bg)}
.rule-b{border-bottom:1px solid var(--color-border-subtle)}
.rule-t{border-top:1px solid var(--color-border-subtle)}
.eyebrow{font:600 .75rem/1.5 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mono{font-family:var(--font-sans);font-variant-numeric:tabular-nums}
.muted{color:var(--color-text-secondary)}
.subtle{color:var(--color-text-tertiary)}
/* ---------- Type rules ----------
   Serif 400 (Source Serif 4): page titles (h1), section titles (h2), pillar-card titles, prices, assistant quotes.
   Sans 400–600 (Source Sans 3): body copy, small card titles, FAQ questions, footer headings, eyebrows, labels, form pills, tabular figures.
   Step numerals (.num): Source Serif 4 600 with tabular-nums for editorial step markers.
   Bold is 600 everywhere except inside the Tinos document mock (.doc), which uses 700 like a real filing.
   The Pricing page title uses .h2-40 (40px) on purpose: its sentence is longer than the other page titles. */
.serif{font-family:var(--font-heading);font-weight:400}
.h2-40{font:400 clamp(1.75rem,1.25rem + 2vw,2.5rem)/1.1 var(--font-heading);text-wrap:balance}
.h2-32{font:400 clamp(1.5rem,1.1rem + 1.5vw,2rem)/1.15 var(--font-heading);text-wrap:balance}
.h2-28{font:400 clamp(1.375rem,1.05rem + 1.2vw,1.75rem)/1.2 var(--font-heading);text-wrap:balance}
.mb-12{margin-bottom:12px}
.mb-20{margin-bottom:20px}
.mb-36{margin-bottom:36px}
.mb-40{margin-bottom:40px}
.ic{width:16px;height:16px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.ic-lg{width:20px;height:20px}

/* Buttons (the kit's Button: 4px radius, Gunmetal primary to Payne's gray on hover) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 16px;border:1px solid transparent;border-radius:var(--radius-sm);font:600 .8125rem/1 var(--font-sans);white-space:nowrap;cursor:pointer;transition:background 150ms ease,border-color 150ms ease,color 150ms ease}
.btn-lg{height:40px;padding:0 20px;font-size:.875rem}
.btn-sm{height:32px;padding:0 12px;font-size:.75rem}
.btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}
.btn-primary:hover{background:var(--color-primary-hover);color:var(--color-text-inverse)}
.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}
.btn-secondary:hover{background:var(--color-surface-raised);border-color:var(--color-text-tertiary);color:var(--color-text)}
.btn-ghost{background:transparent;color:var(--color-text-secondary)}
.btn-ghost:hover{background:var(--color-hover-wash);color:var(--color-text)}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.btn-full{width:100%}

/* Badges (pill; text, tint and border from the status triples) */
.badge{display:inline-flex;align-items:center;height:20px;padding:0 8px;border:1px solid var(--status-neutral-border);border-radius:var(--radius-pill);background:var(--status-neutral-tint);color:var(--status-neutral-text);font:600 .75rem/1 var(--font-sans);white-space:nowrap;vertical-align:middle}
.badge-success{border-color:var(--status-success-border);background:var(--status-success-tint);color:var(--status-success-text)}
.badge-warning{border-color:var(--status-warning-border);background:var(--status-warning-tint);color:var(--status-warning-text)}
.badge-accent{border-color:var(--color-border);background:var(--color-surface-raised);color:var(--color-primary)}
.badge-placeholder{border-color:color-mix(in srgb,var(--palette-coral) 45%,var(--palette-white));background:color-mix(in srgb,var(--palette-coral) 12%,var(--palette-white));color:#8c3b19;font-family:var(--font-sans);font-weight:600;font-size:.6875rem;letter-spacing:.03em;text-transform:uppercase}

/* Site header (shared across index and legal/trust pages) */
.site-header{border-bottom:1px solid var(--color-border-subtle);background:var(--color-surface);position:sticky;top:0;z-index:15}
.site-header .wrap{display:flex;align-items:center;gap:36px;padding-top:18px;padding-bottom:18px}
.brand{display:flex;align-items:center;gap:11px;color:var(--color-text)}
.brand-mark{height:30px;width:auto}
.brand-word{height:17px;width:auto}
.brand-bp{gap:12px}
.bp-logo{height:28px;width:auto}
.brand-by{font-size:.75rem;font-weight:500;line-height:1.2;color:var(--color-text-tertiary);white-space:nowrap;padding-left:12px;border-left:1px solid var(--color-border)}
.foot-brand .bp-logo{height:24px}
.foot-name a{text-decoration:underline;text-decoration-color:var(--color-border);text-underline-offset:3px}
.foot-name a:hover{text-decoration-color:currentColor}
.hero-cta{margin-top:24px}
.nav-main{display:flex;gap:24px;font-size:.875rem;color:var(--color-text-secondary)}
.nav-main a:hover,.nav-main a[aria-current="page"]{color:var(--color-text)}
.nav-main a[aria-current="page"]{font-weight:600;box-shadow:inset 0 -2px 0 var(--palette-gunmetal);padding-bottom:4px}
.nav-actions{margin-left:auto;display:flex;gap:10px;align-items:center}
.menu{display:none;margin-left:auto}
.menu summary{list-style:none;width:44px;height:44px;display:grid;place-items:center;cursor:pointer;border-radius:var(--radius-sm);color:var(--color-text)}
.menu summary::-webkit-details-marker{display:none}
.menu summary:hover{background:var(--color-hover-wash)}
.menu[open] summary{background:var(--color-active-wash)}
.menu-panel{position:absolute;left:0;right:0;top:100%;z-index:10;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-lg);padding:8px 20px 20px}
.menu-panel a.menu-link{display:flex;align-items:center;min-height:44px;font-size:.9375rem;border-bottom:1px solid var(--color-border-subtle)}
.menu-panel a.menu-link[aria-current="page"]{font-weight:600;color:var(--color-text)}
.menu-panel .btn-row{flex-direction:column;margin-top:16px;gap:10px}
.menu-panel .btn{height:44px;width:100%}

/* Site footer (shared across index and legal/trust pages) */
.site-footer{border-top:1px solid var(--color-border-subtle);background:var(--color-surface)}
.site-footer .wrap{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:32px;padding-top:48px;padding-bottom:32px;font-size:.8125rem;color:var(--color-text-secondary)}
.foot-brand{display:flex;flex-direction:column;gap:12px}
.foot-brand .brand-mark{height:26px}
.foot-brand .brand-word{height:14.5px}
.foot-name{font-weight:600;color:var(--color-text)}
.foot-desc{color:var(--color-text-secondary);line-height:1.55;max-width:300px}
.foot-col{display:flex;flex-direction:column;gap:8px}
.foot-col h2{font:600 .8125rem/1.5 var(--font-sans);color:var(--color-text)}
.foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.foot-col a:hover{color:var(--color-text)}
.foot-legal-note{grid-column:1/-1;padding-top:24px;margin-top:8px;border-top:1px solid var(--color-border-subtle);font-size:.75rem;line-height:1.6;color:var(--color-text-tertiary);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* Shared section layouts */
.sec{padding-top:88px;padding-bottom:88px}
.sec-72{padding-top:72px;padding-bottom:72px}
.split-320{display:grid;grid-template-columns:320px minmax(0,1fr);gap:56px}
.split-280{display:grid;grid-template-columns:280px minmax(0,1fr);gap:56px}
.sec-lead{max-width:68ch;color:var(--color-text-secondary);font-size:1.0625rem;line-height:1.6;text-wrap:pretty}
.pairs{display:grid;grid-template-columns:1fr 1fr;gap:28px 40px;font-size:.9375rem;line-height:1.55}
.pairs b{font-weight:600;color:var(--color-text)}
.pairs span{color:var(--color-text-secondary)}
.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.num{font:600 .8125rem/1.5 var(--font-heading);font-variant-numeric:tabular-nums;color:var(--color-text-tertiary);margin-bottom:12px}

/* Subpage Hero (.page-hero) */
.page-hero{padding-top:68px;padding-bottom:56px}
.page-hero h1{font:400 clamp(2rem,1.4rem + 2.5vw,3.125rem)/1.08 var(--font-heading);margin-bottom:16px;text-wrap:balance;max-width:24ch}
.page-hero .lede{font-size:1.125rem;line-height:1.55;color:var(--color-text-secondary);max-width:66ch;text-wrap:pretty}

/* ---------- Hero & BluePrint Lockup ---------- */
.bp-hero{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:end;padding-top:72px;padding-bottom:52px}
.bp-hero-brand{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.bp-hero-logo{height:52px;width:auto}
.bp-hero .eyebrow{margin-bottom:12px}
.bp-hero h1{font:400 clamp(2.25rem,1.5rem + 3vw,3.625rem)/1.04 var(--font-heading);text-wrap:balance}
.bp-hero .lede{font-size:1.25rem;line-height:1.45;margin-bottom:14px;text-wrap:pretty}
.bp-hero .body{font-size:1rem;line-height:1.55;color:var(--color-text-secondary);margin-bottom:26px;text-wrap:pretty}

/* ---------- Interactive Tabbed Workspace Showcase ---------- */
.app-panel{background:var(--color-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);padding:24px 32px 32px;overflow:hidden}
.ws-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.ws-tabs{display:inline-flex;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:3px;gap:2px}
.ws-tab{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:6px;font:600 .8125rem/1.2 var(--font-sans);color:var(--color-text-secondary);cursor:pointer;user-select:none;transition:background 150ms ease,color 150ms ease}
.ws-tab:hover{color:var(--color-text);background:var(--color-hover-wash)}
.ws-tab .tab-num{font:600 .75rem/1 var(--font-sans);font-variant-numeric:tabular-nums;color:var(--color-text-tertiary)}
.ws-meta{font:500 .75rem/1.4 var(--font-sans);color:var(--color-text-tertiary);display:flex;align-items:center;gap:8px}

/* Active tab states via pure CSS :has() */
.app-panel:has(#ws-tab-doc:checked) .ws-tabs label[for="ws-tab-doc"],
.app-panel:has(#ws-tab-xbrl:checked) .ws-tabs label[for="ws-tab-xbrl"],
.app-panel:has(#ws-tab-ai:checked) .ws-tabs label[for="ws-tab-ai"],
.app-panel:has(#ws-tab-own:checked) .ws-tabs label[for="ws-tab-own"]{background:var(--palette-gunmetal);color:var(--palette-white)}
.app-panel:has(#ws-tab-doc:checked) .ws-tabs label[for="ws-tab-doc"] .tab-num,
.app-panel:has(#ws-tab-xbrl:checked) .ws-tabs label[for="ws-tab-xbrl"] .tab-num,
.app-panel:has(#ws-tab-ai:checked) .ws-tabs label[for="ws-tab-ai"] .tab-num,
.app-panel:has(#ws-tab-own:checked) .ws-tabs label[for="ws-tab-own"] .tab-num{color:color-mix(in srgb,var(--palette-white) 75%,transparent)}

.app-frame{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden}
.app-bar{min-height:36px;display:flex;align-items:center;gap:6px;padding:4px 14px;border-bottom:1px solid var(--color-border-subtle);background:var(--color-surface-raised);flex-wrap:wrap}
.app-bar i{width:9px;height:9px;border-radius:50%;background:var(--palette-silver)}
.app-bar span{margin-left:12px;font:500 .75rem/1.2 var(--font-sans);letter-spacing:.01em;color:var(--color-text-tertiary)}

/* Sub-view pills inside .app-bar for Tab 01 and Tab 04 */
.ws-subtabs{display:none;margin-left:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;padding:2px;gap:2px}
.app-panel:has(#ws-tab-doc:checked) .ws-subtabs-doc{display:inline-flex}
.app-panel:has(#ws-tab-own:checked) .ws-subtabs-own{display:inline-flex}
.ws-subtab{padding:3px 10px;border-radius:4px;font:600 .75rem/1.2 var(--font-sans);color:var(--color-text-secondary);cursor:pointer;user-select:none;transition:background 150ms ease,color 150ms ease}
.ws-subtab:hover{color:var(--color-text);background:var(--color-hover-wash)}
.app-panel:has(#ws-doc-redline:checked) .ws-subtabs-doc label[for="ws-doc-redline"],
.app-panel:has(#ws-doc-toc:checked) .ws-subtabs-doc label[for="ws-doc-toc"],
.app-panel:has(#ws-own-form:checked) .ws-subtabs-own label[for="ws-own-form"],
.app-panel:has(#ws-own-due:checked) .ws-subtabs-own label[for="ws-own-due"]{background:var(--palette-gunmetal);color:var(--palette-white)}

/* Real-App Screenshot Viewport */
.app-screen{background:var(--color-surface);aspect-ratio:16/10;width:100%;overflow:hidden}
.ws-shot-wrap{display:none;margin:0;width:100%;height:100%}
.ws-shot{display:block;width:100%;height:auto;aspect-ratio:16/10}
.app-panel:has(#ws-tab-doc:checked):has(#ws-doc-redline:checked) .ws-shot-doc-redline,
.app-panel:has(#ws-tab-doc:checked):has(#ws-doc-toc:checked) .ws-shot-doc-toc,
.app-panel:has(#ws-tab-xbrl:checked) .ws-shot-xbrl,
.app-panel:has(#ws-tab-ai:checked) .ws-shot-ai,
.app-panel:has(#ws-tab-own:checked):has(#ws-own-form:checked) .ws-shot-own-form,
.app-panel:has(#ws-tab-own:checked):has(#ws-own-due:checked) .ws-shot-own-due{display:block}

/* ---------- Filing Assistant Section ---------- */
.assist{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.assist h2{margin-bottom:20px}
.assist .p1{font-size:1.0625rem;line-height:1.6;margin-bottom:14px;text-wrap:pretty}
.assist .p2{font-size:.9375rem;line-height:1.6;color:var(--color-text-secondary);margin-bottom:14px;text-wrap:pretty}
.assist .p3{font-size:.8125rem;line-height:1.5;color:var(--color-text-tertiary)}
.asks{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--color-border)}
.asks li{padding:16px 0;border-top:1px solid var(--color-border);font:400 1.1875rem/1.35 var(--font-heading)}

/* ---------- Workflow Grid ---------- */
.flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;margin:0;padding:0}
.flow li{padding:24px}
.flow h3{font-size:1rem;font-weight:600;margin-bottom:8px}
.flow p{font-size:.875rem;line-height:1.55;color:var(--color-text-secondary);text-wrap:pretty}
.flow .wide{grid-column:span 2;display:grid;grid-template-columns:1fr 200px;gap:24px}
.flow .see{display:flex;flex-direction:column;gap:6px;justify-content:center;font:400 1.125rem/1.3 var(--font-heading)}
.flow .dark{background:var(--palette-gunmetal);color:#fff;border-color:var(--palette-gunmetal);grid-column:1/-1;display:flex;align-items:center;gap:24px}
.flow .dark .num{color:#fff;opacity:.85;margin:0}
.flow .dark h3{color:#fff;margin:0}
.flow .dark p{color:#fff;opacity:.92;font-size:.9375rem}

/* ---------- Incremental Adoption ---------- */
.switch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:36px}
.switch-card{padding:28px;display:flex;flex-direction:column;gap:16px}
.switch-card-accent{border-color:var(--palette-gunmetal);background:var(--color-surface)}
.switch-card h3{font-size:1.0625rem;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:12px}
.switch-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;font-size:.875rem;line-height:1.55}
.switch-list li{display:grid;grid-template-columns:16px 1fr;gap:10px;padding-top:14px;border-top:1px solid var(--color-border-subtle)}
.switch-list li:first-child{padding-top:0;border-top:0}
.switch-list b{color:var(--color-text);font-weight:600}
.switch-list span{color:var(--color-text-secondary)}

/* ---------- Supported SEC Forms Table ---------- */
.forms-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:32px;flex-wrap:wrap}
.forms-legend{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.table-wrap{container-type:inline-size;overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm)}
.forms-table{width:100%;border-collapse:collapse;font-size:.875rem;text-align:start}
.forms-table th,.forms-table td{padding:16px 20px;border-bottom:1px solid var(--color-border-subtle);vertical-align:middle;text-align:left}
.forms-table thead th{background:var(--color-surface-raised);font:600 .75rem/1.4 var(--font-sans);text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-tertiary);border-bottom:1px solid var(--color-border)}
.forms-table tbody tr:last-child th,.forms-table tbody tr:last-child td{border-bottom:0}
.forms-table tbody th{font-weight:600;color:var(--color-text);width:28%}
.forms-table tbody th small{display:block;font-weight:400;font-size:.8125rem;color:var(--color-text-secondary);margin-top:2px}
.form-pills{display:flex;flex-wrap:wrap;gap:6px}
.form-pill{font:600 .75rem/1.2 var(--font-sans);font-variant-numeric:tabular-nums;letter-spacing:.01em;padding:4px 9px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text)}
.forms-note{margin-top:16px;font-size:.8125rem;color:var(--color-text-tertiary);line-height:1.55}

/* ---------- Who We Serve & Law Firm Roles ---------- */
.serve-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-bottom:56px}
.serve-card{padding:24px}
.serve-card h3{font-size:1rem;font-weight:600;margin-bottom:8px}
.serve-card p{color:var(--color-text-secondary);line-height:1.55;font-size:.875rem;text-wrap:pretty}
.roles{border-bottom:1px solid var(--color-border);margin:0}
.roles div{display:grid;grid-template-columns:160px 1fr;gap:24px;padding:18px 0;border-top:1px solid var(--color-border)}
.roles dt{font-weight:600}
.roles dd{margin:0;color:var(--color-text-secondary);line-height:1.55}

/* ---------- 4-Pillar Capability Matrix & Features ---------- */
.pillars-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:0}
.pillar-card{padding:32px;display:flex;flex-direction:column;gap:16px}
.pillar-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid var(--color-border-subtle);padding-bottom:14px}
.pillar-head .num{margin:0}
.pillar-card h3{font:400 1.375rem/1.2 var(--font-heading);color:var(--color-text)}
.pillar-lead{font-size:.9375rem;line-height:1.55;color:var(--color-text-secondary);text-wrap:pretty}
.pillar-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;font-size:.875rem;line-height:1.55}
.pillar-list li{display:grid;grid-template-columns:16px 1fr;gap:10px;align-items:start}
.pillar-list li .ic{margin-top:3px;color:var(--color-text)}
.pillar-list b{font-weight:600;color:var(--color-text)}
.pillar-list span{color:var(--color-text-secondary)}
.feat{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 28px;list-style:none;margin:0;padding:0}
.feat h3{font-size:.9375rem;font-weight:600;margin:10px 0 6px}
.feat p{font-size:.8125rem;line-height:1.5;color:var(--color-text-secondary)}

/* ---------- Pricing & Shadow-Tag Callout ---------- */
.price-head{display:flex;align-items:flex-end;gap:40px;margin-bottom:36px}
.price-head > div{flex:1}
.price-head p{max-width:420px;font-size:.875rem;line-height:1.55;color:var(--color-text-secondary)}
.shadow-callout{margin-bottom:24px;padding:24px 28px;border:1px solid var(--palette-gunmetal);border-radius:var(--radius);background:var(--color-surface);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;box-shadow:var(--shadow-sm)}
.shadow-callout-body{max-width:72ch}
.shadow-callout h2,.shadow-callout h3{font:600 1.0625rem/1.35 var(--font-sans);margin-bottom:6px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.shadow-callout p{font-size:.875rem;line-height:1.55;color:var(--color-text-secondary);text-wrap:pretty}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.plan{display:flex;flex-direction:column}
.plan-current{border-color:var(--palette-gunmetal)}
.plan-top{padding:28px 28px 22px;border-bottom:1px solid var(--color-border-subtle);display:flex;flex-direction:column;gap:10px}
.plan-name{font:600 .875rem var(--font-sans);letter-spacing:.01em;color:var(--color-text-tertiary)}
.plan-line{display:flex;align-items:baseline;gap:10px}
.plan-price{font:400 2.25rem/1.1 var(--font-heading)}
.plan-price small{font-size:1.125rem}
.plan-note{font-size:.875rem;line-height:1.5;color:var(--color-text-secondary)}
.plan-qtr{display:flex;justify-content:space-between;gap:8px;font-size:.8125rem;padding:8px 0 2px;border-top:1px solid var(--color-border-subtle)}
.plan-qtr b{font-weight:600}
.plan ul{list-style:none;margin:0;padding:22px 28px;flex:1;display:flex;flex-direction:column;gap:10px;font-size:.875rem;line-height:1.5}
.plan li{display:grid;grid-template-columns:16px 1fr;gap:8px}
.plan li .ic{margin-top:3px}
.plan-foot{padding:16px 28px;background:var(--color-surface-raised);border-top:1px solid var(--color-border-subtle);border-radius:0 0 8px 8px;font-size:.75rem;line-height:1.5;color:var(--color-text-tertiary)}
.fine{margin-top:24px;font-size:.75rem;line-height:1.6;color:var(--color-text-tertiary)}

/* ---------- Practitioner FAQ (Accordion) ---------- */
.faq-list{border-bottom:1px solid var(--color-border)}
.faq-item{border-top:1px solid var(--color-border)}
.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;font:600 1rem/1.4 var(--font-sans);color:var(--color-text);cursor:pointer}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--color-text-secondary)}
.faq-item summary .ic{transition:transform 150ms ease;color:var(--color-text-tertiary)}
.faq-item[open] summary .ic{transform:rotate(180deg);color:var(--color-text)}
.faq-item p{padding:0 32px 20px 0;color:var(--color-text-secondary);font-size:.9375rem;line-height:1.6;max-width:72ch;text-wrap:pretty}

/* ---------- Company / About IntelligentSystems & Contact ---------- */
.company-intro{max-width:68ch;font-size:1.0625rem;line-height:1.6;color:var(--color-text-secondary);margin-bottom:36px;text-wrap:pretty}
.build{border-bottom:1px solid var(--color-border);margin:0}
.build > div{display:grid;grid-template-columns:220px 1fr auto;gap:24px;padding:18px 0;border-top:1px solid var(--color-border);align-items:center}
.build dt{display:flex;align-items:center;gap:10px;font-weight:600}
.build dt img{height:22px;width:auto}
.build dd{margin:0;color:var(--color-text-secondary);line-height:1.55;font-size:.9375rem}
.contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;font-size:.875rem;margin:0}
.contact dt{color:var(--color-text-tertiary);margin-bottom:6px;font:600 .75rem/1.4 var(--font-sans);text-transform:uppercase;letter-spacing:.07em}
.contact dd{margin:0}
.contact a{text-decoration:underline;text-decoration-color:var(--color-border);text-underline-offset:3px}
.contact a:hover{text-decoration-color:currentColor}
.people{margin:0;display:grid;gap:20px}
.people dt{font-weight:600;font-size:1.0625rem;margin-bottom:4px}
.people dd{margin:0;font-size:.875rem}
.people dd.role{color:var(--color-text-secondary);font-size:.9375rem;margin-bottom:6px}
.contact address{font-style:normal;line-height:1.55}
.people a{text-decoration:underline;text-decoration-color:var(--color-border);text-underline-offset:3px}
.people a:hover{text-decoration-color:currentColor}

/* ---------- Closing CTA ---------- */
.closing{padding-top:96px;padding-bottom:96px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px}
.closing h2{font:400 clamp(2rem,1.4rem + 2.2vw,3rem)/1.08 var(--font-heading);text-wrap:balance}
.closing .p1{font-size:1.0625rem;line-height:1.55;color:var(--color-text-secondary);max-width:620px;text-wrap:pretty}
.closing .p2{font:400 1.25rem/1.5 var(--font-heading)}
.closing-talk{font-size:.875rem;color:var(--color-text-secondary)}
.closing-talk a{color:var(--color-text);text-decoration:underline;text-decoration-color:var(--color-border);text-underline-offset:3px}
.closing-talk a:hover{text-decoration-color:currentColor}

/* ---------- Legal & Trust Document Pages (build-legal.py) ---------- */
.legal-subnav{background:var(--color-bg);border-bottom:1px solid var(--color-border-subtle)}
.legal-subnav .wrap{display:flex;flex-wrap:wrap;gap:6px 24px;padding-top:10px;padding-bottom:10px;font-size:.8125rem;color:var(--color-text-secondary)}
.legal-subnav a{padding:4px 0}
.legal-subnav a[aria-current="page"]{color:var(--color-text);font-weight:600;box-shadow:inset 0 -2px 0 var(--palette-gunmetal)}
.legal-main{max-width:860px;margin:0 auto;padding:56px var(--page-pad) 96px}
.legal-main h1{font:400 clamp(2rem,1.5rem + 2vw,2.75rem)/1.08 var(--font-heading);margin:0 0 28px;text-wrap:balance}
.legal-main h2{font:600 1.375rem/1.3 var(--font-heading);margin:44px 0 12px}
.legal-main h3{font:600 1.0625rem/1.4 var(--font-sans);margin:28px 0 8px}
.legal-main p,.legal-main li{font-family:var(--font-heading);font-size:1.0625rem;color:var(--color-text-secondary);line-height:1.65;text-wrap:pretty;margin-bottom:14px}
.legal-copy-note{font-size:.875rem;color:var(--color-text-secondary);background:var(--color-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:10px 14px;margin:-12px 0 28px}
.legal-main a{color:var(--color-text);text-decoration:underline;text-decoration-color:var(--color-border);text-underline-offset:2px}
.legal-main .table-scroll{overflow-x:auto;margin:20px 0;-webkit-overflow-scrolling:touch}
.legal-main table{border-collapse:collapse;width:100%;min-width:560px;font-size:.875rem;margin:0}
.legal-main th,.legal-main td{text-align:left;vertical-align:top;padding:10px 12px;border:1px solid var(--color-border-subtle)}
.legal-main th{background:var(--color-bg);font-weight:600;color:var(--color-text)}
.legal-preview{background:var(--status-warning-tint);color:var(--status-warning-text);border-bottom:1px solid var(--status-warning-border);font-weight:600;font-size:.8125rem;padding:10px 24px;text-align:center}
.legal-main mark.open{background:var(--status-warning-tint);color:var(--status-warning-text);border:1px solid var(--status-warning-border);border-radius:2px;padding:0 4px}
.legal-main aside.open{display:block;padding:12px 16px;margin:16px 0;background:var(--color-bg);border-left:3px solid var(--palette-coral);font-size:.875rem;color:var(--color-text-secondary)}

/* ---------- Narrower desktops ---------- */
@media (max-width:1180px){
  .nav-main{gap:18px}
  .site-header .wrap{gap:24px}
  .feat,.serve-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .flow .wide{grid-column:1/-1}
  .plans,.switch-grid,.pillars-grid{grid-template-columns:1fr}
}
@media (max-width:1000px){
  .bp-hero,.assist{grid-template-columns:1fr;gap:36px}
  .split-320,.split-280{grid-template-columns:1fr;gap:28px}
  .nav-main{display:none}
  .menu{display:block}
  .nav-actions{display:none}
}

/* ---------- Container query for responsive forms table ---------- */
@container (width < 640px){
  .forms-table,.forms-table thead,.forms-table tbody,.forms-table tr,.forms-table th,.forms-table td{display:block;width:100%}
  .forms-table thead{display:none}
  .forms-table tbody tr{padding:14px 16px;border-bottom:1px solid var(--color-border-subtle)}
  .forms-table tbody th,.forms-table tbody td{padding:6px 0;border:0}
}

/* ---------- Mobile ---------- */
@media (max-width:760px){
  :root{--page-pad:20px}
  .site-header .wrap{padding-top:14px;padding-bottom:14px}
  .brand-mark{height:26px}
  .brand-word{height:14.5px}
  .sec{padding-top:44px;padding-bottom:44px}
  .sec-72{padding-top:36px;padding-bottom:36px}
  .page-hero{padding-top:36px;padding-bottom:32px}
  .page-hero .lede{font-size:1rem}
  .eyebrow{font-size:.6875rem}
  .mb-20,.mb-36,.mb-40{margin-bottom:20px}
  .btn-row{flex-direction:column;gap:10px}
  .btn-row .btn{height:44px;width:100%}
  .pairs{grid-template-columns:1fr;gap:16px;font-size:.875rem}
  .site-footer .wrap{grid-template-columns:1fr 1fr;gap:24px;padding-top:32px;padding-bottom:24px}
  .foot-brand{grid-column:1/-1}
  .bp-hero{padding-top:36px;padding-bottom:28px;gap:20px}
  .bp-hero-logo{height:40px}
  .bp-hero .lede{font-size:1.0625rem;line-height:1.5;margin-bottom:10px}
  .bp-hero .body{font-size:.9375rem;margin-bottom:22px}
  .app-panel{padding:16px 14px 16px}
  .ws-tabs{width:100%;display:flex;overflow-x:auto}
  .ws-tab{flex:1;justify-content:center;padding:8px 10px;font-size:.75rem}
  .ws-subtabs{margin-left:0;width:100%;margin-top:4px}
  .ws-subtab{flex:1;text-align:center;padding:5px 8px}
  .assist{gap:24px}
  .asks li{font-size:1.0625rem;padding:12px 0}
  .serve-grid,.feat,.flow,.contact{grid-template-columns:1fr}
  .flow li,.serve-card,.switch-card,.pillar-card{padding:20px}
  .flow .wide{grid-template-columns:1fr;gap:12px}
  .flow .dark{flex-wrap:wrap;gap:8px 16px}
  .roles div{grid-template-columns:1fr;gap:4px;padding:14px 0}
  .feat{gap:20px}
  .price-head{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:20px}
  .shadow-callout{padding:20px}
  .plan-top,.plan ul{padding-left:18px;padding-right:18px}
  .plan-foot{padding:12px 18px}
  .build > div{grid-template-columns:1fr auto;gap:6px 12px;padding:14px 0}
  .build dd.desc{grid-column:1/-1;grid-row:2}
  .closing{padding-top:48px;padding-bottom:48px;text-align:left;align-items:stretch;gap:14px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important;scroll-behavior:auto !important}}
@media (max-width:1120px){.nav-main{display:none}.menu{display:block}.nav-actions{display:none}}
@media (max-width:420px){.brand-by{display:none}.bp-logo{height:24px}}
