:root{--w-text:1000px;--w-wide:1200px;--measure:75ch;--fs-body:18px;--lh-body:1.8;--fs-h1:78px;--lh-h1:1.08;--fs-h2:32px;--fs-h3:18px;--fs-card:16px;--lh-card:1.75;--fs-eyebrow:12px;--space-p:1.35em;--space-section:160px}
.portal-v4 .w-text,.portal-v4 .w-wide{width:100%;margin-inline:auto;padding-inline:20px;box-sizing:border-box}.portal-v4 .w-text{max-width:var(--w-text)}.portal-v4 .w-wide{max-width:var(--w-wide)}.portal-v4 .w-text p{max-width:var(--measure)}
.portal-hero{padding-top:4rem;padding-bottom:1rem}.portal-hero .eyebrow{margin-top:3rem}.portal-hero h1{font-size:var(--fs-h1);font-weight:500;line-height:var(--lh-h1);letter-spacing:-.045em;margin:1.5rem 0 2rem}.portal-hero p:not(.eyebrow),.portal-section>.w-text>p{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--color-muted-foreground);margin-top:var(--space-p)}
.layout-comparison{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:2rem;font-size:.875rem;color:var(--color-muted-foreground)}.layout-comparison button{border:1px solid var(--color-border);border-radius:100px;padding:.65rem 1rem;cursor:pointer}.layout-comparison button[aria-pressed=true]{background:var(--color-foreground);color:var(--color-background)}
.portal-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.portal-meta dt{font-size:.875rem;color:var(--color-muted-foreground);margin-bottom:.6rem}.portal-meta dd{font-size:1rem;line-height:1.6}
.portal-v4 .figure-wide{margin-block:56px}.portal-v4 .figure-wide figcaption{margin-top:1rem;font-size:.875rem;color:var(--color-muted-foreground);line-height:1.6}.portal-image-slot{display:block;aspect-ratio:16/9;width:100%;border:1px solid var(--color-border);border-radius:12px;background:color-mix(in srgb,var(--color-muted-foreground) 7%,var(--color-background));overflow:hidden}.portal-image-slot img{width:100%;height:100%;object-fit:contain;display:block}.portal-section{padding-block:calc(var(--space-section) / 2);scroll-margin-top:9rem}.portal-section h2{font-size:clamp(min(1.75rem,var(--fs-h2)),3.5vw,var(--fs-h2));line-height:1.15;letter-spacing:-.035em;font-weight:500;margin-top:1rem;margin-bottom:2rem}.portal-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2.5rem}.portal-pillars article,.portal-outcomes article{border:1px solid var(--color-border);border-radius:12px;padding:1.5rem}.portal-section h3{font-size:var(--fs-h3);line-height:1.5;font-weight:600}.portal-pillars p,.portal-outcomes p,.portal-alignment p{font-size:var(--fs-card);line-height:var(--lh-card);color:var(--color-muted-foreground);margin-top:1rem}.portal-alignment{border:1px solid var(--color-border);border-radius:12px;padding:1.75rem;margin-top:var(--space-p)}.portal-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:2.5rem}.portal-feature-card{display:flex;flex-direction:column;min-width:0;text-align:left;border:1px solid var(--color-border);border-radius:16px;overflow:hidden;background:var(--color-background);cursor:pointer;transition:transform .2s,border-color .2s}.portal-feature-card:hover{transform:translateY(-3px);border-color:var(--color-muted-foreground)}.portal-v4 button:focus-visible{outline:3px solid var(--color-foreground);outline-offset:4px}.portal-thumb{aspect-ratio:16/10;border:0;border-bottom:1px solid var(--color-border);border-radius:0}.portal-feature-copy{display:flex;flex-direction:column;padding:1.5rem;gap:1rem;flex:1}.portal-feature-title{font-size:var(--fs-h3);font-weight:600;line-height:1.3}.portal-feature-line{font-size:var(--fs-card);line-height:var(--lh-card);color:var(--color-muted-foreground)}.portal-feature-line strong{color:var(--color-foreground)}.portal-view{font-size:.875rem;font-weight:600;margin-top:auto;padding-top:.5rem}.portal-outcomes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.portal-subheading{margin-top:3rem}.portal-section .portal-confidentiality{font-size:.875rem!important;margin-top:3rem!important}.portal-v4 .case-contact h2{font-size:clamp(2rem,3vw,3rem)}
.portal-gallery{padding:0;border:1px solid var(--color-border);border-radius:16px;width:min(1180px,96vw);max-width:96vw;max-height:94dvh;background:var(--color-background);color:var(--color-foreground)}.portal-gallery::backdrop{background:rgba(0,0,0,.8)}.portal-gallery-inner{padding:3.5rem 1.5rem 1.5rem;position:relative}.portal-gallery-close{position:absolute;right:.75rem;top:.5rem;font-size:2rem;width:44px;height:44px;cursor:pointer}.portal-gallery-media{width:min(1100px,90vw);max-width:100%;margin-inline:auto;touch-action:pan-y}.portal-gallery-media .portal-image-slot{max-height:65dvh}.portal-gallery-media img{display:block;max-width:100%;max-height:65dvh;width:auto;height:auto;margin:auto}.portal-gallery-caption{font-size:1rem;line-height:1.6;margin-top:1.25rem;text-align:center}.portal-gallery-controls{display:flex;gap:1rem;align-items:center;justify-content:center;margin-top:1rem}.portal-gallery-controls button{border:1px solid var(--color-border);border-radius:50%;min-width:44px;min-height:44px;cursor:pointer}
@media(max-width:767px){.portal-meta,.portal-pillars,.portal-feature-grid,.portal-outcomes{grid-template-columns:minmax(0,1fr)}.portal-meta{gap:1.25rem}.portal-section{padding-block:calc(var(--space-section) / 3)}.portal-hero{padding-top:2rem}.portal-v4 .figure-wide{margin-block:32px}.portal-gallery{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}.portal-gallery-inner{min-height:100%;display:flex;flex-direction:column;justify-content:center}.portal-gallery-media{width:100%}.portal-gallery-caption{margin-top:var(--space-p)}.portal-v4 .case-toc .w-wide{overflow-x:auto;flex-wrap:nowrap}}

.portal-v4 .eyebrow{font-size:var(--fs-eyebrow)}
.portal-v4 .portal-alignment{border:0;border-left:3px solid var(--primary);border-radius:0 12px 12px 0;background:color-mix(in srgb,var(--primary) 7%,var(--color-background))}.portal-alignment .eyebrow{margin:0 0 .5rem;color:var(--primary)}
.portal-pillars{grid-template-columns:minmax(0,1fr)}.portal-pillars article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:1.5rem}.portal-pillars article p{margin-top:0}.portal-v4.portal-wide-pillars .portal-pillars{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-v4.portal-wide-pillars .portal-pillars article{display:block}.portal-v4.portal-wide-pillars .portal-pillars article p{margin-top:1rem}
.portal-v4:not(.portal-review) .working-review-banner,.portal-v4:not(.portal-review) .attention-note{display:none!important}.portal-v4:not(.portal-review) .asset-placeholder{border:1px solid var(--color-border)!important;box-shadow:none!important}.portal-v4:not(.portal-review) .asset-placeholder::after{display:none!important}.portal-v4 .case-toc.portal-toc-hidden{visibility:hidden;pointer-events:none}
.portal-gallery{margin:auto;inset:0;width:min(1100px,92vw);max-width:min(1100px,92vw);max-height:92dvh;overflow:visible}.portal-gallery-inner{box-sizing:border-box;max-height:92dvh;padding:3rem 1.25rem 1rem;display:flex;flex-direction:column;gap:.65rem}.portal-gallery-media{min-height:0;max-height:calc(92dvh - 200px);display:flex;align-items:center;justify-content:center}.portal-gallery-media img,.portal-gallery-media .portal-image-slot{max-height:calc(92dvh - 200px);width:100%;object-fit:contain}.portal-gallery-media .portal-image-slot{aspect-ratio:16/9;height:min(55vw,calc(92dvh - 200px))}.portal-gallery-caption{margin:0;font-size:clamp(.8rem,2vw,1rem);flex-shrink:0}.portal-gallery-controls{margin:0;flex-shrink:0}.portal-gallery-media img{height:100%}
.portal-tuner{position:fixed;right:16px;bottom:16px;z-index:90;width:min(340px,calc(100vw - 32px));font-size:14px;color:var(--color-foreground);background:var(--color-background);border:1px solid var(--color-border);border-radius:14px;box-shadow:0 8px 40px #0003}.portal-tuner summary{cursor:pointer;padding:14px 16px;font-weight:600;list-style:none}.portal-tuner-content{padding:0 16px 16px;max-height:70dvh;overflow:auto}.portal-tuner fieldset{border:0;padding:0;margin:16px 0}.portal-tuner legend{font-weight:600;margin-bottom:8px}.portal-tuner label{display:block;margin:12px 0}.portal-tuner-label{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px}.portal-tuner input{width:100%;accent-color:var(--primary)}.portal-tuner-buttons{display:flex;flex-wrap:wrap;gap:6px}.portal-tuner button{padding:7px 10px;border:1px solid var(--color-border);border-radius:7px;cursor:pointer;font-size:13px}.portal-tuner-status{font-size:13px;min-height:1.5em;margin-top:8px}
@media(max-width:767px){.portal-pillars article,.portal-v4.portal-wide-pillars .portal-pillars{grid-template-columns:minmax(0,1fr)}.portal-pillars article{gap:.5rem}.portal-gallery{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}.portal-gallery-inner{min-height:0;height:100dvh;max-height:100dvh;justify-content:center}.portal-gallery-media,.portal-gallery-media img,.portal-gallery-media .portal-image-slot{max-height:calc(100dvh - 220px)}}

@media(max-width:767px){.portal-hero h1{font-size:calc(var(--fs-h1) * .65)}}

:root{--font-heading:Inter;--font-body:Inter;--fw-h1:500;--fw-h2:500;--fw-h3:600;--ls-h1:-.04em;--fw-eyebrow:600;--color-eyebrow:#525866;--ls-eyebrow:.1em;--tt-eyebrow:uppercase;--space-eyebrow:16px;--color-bg:#ffffff;--color-heading:#0c0e12;--color-body:#525866;--color-muted:#525866;--color-accent:#234e6a;--color-surface-tint:#eef2f6;--color-divider:#d8dee8;--radius-base:12px;--radius-sm:calc(var(--radius-base) / 2);--radius-pill:999px;--card-bg:#ffffff;--card-border-on:1;--card-border-w:1px;--card-border-color:#d8dee8;--card-pad:24px;--card-gap:16px;--card-shadow:none;--img-border-on:1;--img-border-w:1px;--img-border-color:#d8dee8;--img-shadow:0 var(--img-shadow-y) var(--img-shadow-blur) rgb(0 0 0 / var(--img-shadow-alpha));--img-shadow-blur:0px;--img-shadow-y:0px;--img-shadow-alpha:0;--fs-caption:14px;--color-caption:#525866;--space-caption:16px;--meta-bg:#eef2f6;--meta-pad:18px;--fs-meta-label:12.5px;--color-meta-label:#525866;--fs-meta-value:15px;--fw-meta-value:500;--space-meta:7px;--space-h2:32px;--divider-on:1}
.portal-v4{font-family:var(--font-body),Inter,sans-serif}.portal-v4 h1,.portal-v4 h2{font-family:var(--font-heading),Inter,sans-serif}.portal-hero h1{font-weight:var(--fw-h1);letter-spacing:var(--ls-h1)}.portal-section h2,.portal-v4 .case-contact h2,.portal-v4 .next-project h2{font-weight:var(--fw-h2)}.portal-v4 h3,.portal-feature-title{font-family:var(--font-body),Inter,sans-serif;font-weight:var(--fw-h3)}.portal-v4 .eyebrow{font-weight:var(--fw-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:var(--tt-eyebrow);margin-bottom:var(--space-eyebrow)}.portal-v4 .eyebrow+h1,.portal-v4 .eyebrow+h2,.portal-v4 .eyebrow+h3{margin-top:0}.portal-section h2{margin-bottom:var(--space-h2)}.portal-section h2+p{margin-top:0}
.portal-pillars,.portal-feature-grid,.portal-outcomes,.portal-meta{gap:var(--card-gap)}.portal-pillars article,.portal-outcomes article,.portal-feature-card{border-width:calc(var(--card-border-on) * var(--card-border-w));border-radius:var(--radius-base);box-shadow:var(--card-shadow)}.portal-pillars article,.portal-outcomes article,.portal-feature-copy{padding:var(--card-pad)}.portal-alignment{border-radius:0 var(--radius-base) var(--radius-base) 0!important}.portal-image-slot,.figure-wide img,.portal-gallery,.portal-gallery-media img{border-radius:var(--radius-base);border-width:calc(var(--img-border-on) * var(--img-border-w));box-shadow:var(--img-shadow)}.portal-thumb,.portal-thumb img{border-radius:0}.portal-gallery{border-radius:var(--radius-base)}.portal-v4 .case-toc{border-radius:var(--radius-pill)}.portal-tuner button,.portal-tuner select,.portal-tuner input[type=color]{border-radius:var(--radius-sm)}.portal-tuner-presets button,.portal-layout-presets button{border-radius:var(--radius-pill)}.portal-tuner{border-radius:var(--radius-base)}
.portal-v4 .figure-wide figcaption,.portal-gallery-caption{font-size:var(--fs-caption);margin-top:var(--space-caption)}.portal-meta{border:0;padding:0;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}.portal-meta>div{padding:var(--meta-pad);border-radius:var(--radius-base);border:0;min-width:0}.portal-meta dt{font-size:var(--fs-meta-label);margin:0 0 var(--space-meta);text-transform:none}.portal-meta dd{font-size:var(--fs-meta-value);font-weight:var(--fw-meta-value);line-height:1.45}.portal-meta dd span{display:block;margin-top:.35em}.portal-meta dd span:first-child{margin-top:0}.portal-meta dd b{font-weight:700}.portal-meta .meta-secondary{font-weight:400}.portal-section{border-bottom:calc(var(--divider-on) * 1px) solid var(--color-border)}
:root:not(.dark) .portal-v4{background:var(--color-bg);color:var(--color-heading)}:root:not(.dark) .portal-v4 .project-theme{--color-background:var(--color-bg);--color-foreground:var(--color-heading);--color-muted-foreground:var(--color-muted);--color-border:var(--color-divider);--color-primary:var(--color-accent);--primary:var(--color-accent);--muted:var(--color-surface-tint)}
:root:not(.dark) .portal-hero h1,:root:not(.dark) .portal-section h2,:root:not(.dark) .portal-section h3,:root:not(.dark) .portal-feature-title{color:var(--color-heading)}:root:not(.dark) .portal-hero p:not(.eyebrow),:root:not(.dark) .portal-section>.w-text>p,:root:not(.dark) .portal-feature-line,:root:not(.dark) .portal-pillars p,:root:not(.dark) .portal-outcomes p,:root:not(.dark) .portal-alignment p:not(.eyebrow){color:var(--color-body)}:root:not(.dark) .portal-v4 .eyebrow{color:var(--color-eyebrow)}:root:not(.dark) .portal-v4 a,:root:not(.dark) .portal-view{color:var(--color-accent)}:root:not(.dark) .portal-alignment{background:var(--color-surface-tint)}:root:not(.dark) .portal-pillars article,:root:not(.dark) .portal-outcomes article,:root:not(.dark) .portal-feature-card{background:var(--card-bg);border-color:var(--card-border-color)}:root:not(.dark) .portal-image-slot,:root:not(.dark) .figure-wide img,:root:not(.dark) .portal-gallery-media img{border-color:var(--img-border-color)}:root:not(.dark) .portal-meta>div{background:var(--meta-bg)}:root:not(.dark) .portal-meta dt{color:var(--color-meta-label)}:root:not(.dark) .portal-meta .meta-secondary{color:var(--color-muted)}:root:not(.dark) .portal-v4 .figure-wide figcaption,:root:not(.dark) .portal-gallery-caption{color:var(--color-caption)}:root.dark .portal-meta>div{background:var(--muted)}
.portal-tuner-group{border-top:1px solid var(--color-border);margin-top:10px}.portal-tuner-group>summary{padding:10px 0}.portal-tuner label select{width:100%;padding:8px;background:var(--color-background);border:1px solid var(--color-border)}.portal-tuner input[type=color]{width:42px;height:30px;cursor:pointer}.portal-tuner-color-row{display:flex;align-items:center;gap:8px}.portal-tuner .portal-reset-group,.portal-tuner .portal-color-reset{border:0;padding:0;text-decoration:underline;font-size:12px}.portal-tuner-note{font-size:13px;margin:8px 0}.portal-tuner :is(select,button,input){color:inherit}.portal-tuner{--color-background:var(--background);--color-foreground:var(--foreground);--color-border:var(--border)}
@media(min-width:768px) and (max-width:1023px){.portal-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.portal-meta{grid-template-columns:minmax(0,1fr)}.portal-gallery{border-radius:0}}
/* Override legacy global headline locks for the page's live typography controls. */
body.portal-v4 .portal-hero h1{font-family:var(--font-heading),Inter,sans-serif!important;font-size:var(--fs-h1)!important;font-weight:var(--fw-h1)!important;line-height:var(--lh-h1)!important;letter-spacing:var(--ls-h1)!important}
body.portal-v4 .eyebrow{font-family:var(--font-body),Inter,sans-serif!important;font-size:var(--fs-eyebrow)!important;font-weight:var(--fw-eyebrow)!important;letter-spacing:var(--ls-eyebrow)!important;text-transform:var(--tt-eyebrow)!important}
@media(max-width:767px){body.portal-v4 .portal-hero h1{font-size:calc(var(--fs-h1) * .65)!important}}

/* Eric’s approved baseline, October 6, 2026. */
:root {
  --w-text: 1100px;
  --w-wide: 1200px;
  --measure: 80ch;
  --font-heading: "Manrope";
  --font-body: "Inter";
  --fs-body: 16px;
  --lh-body: 1.6;
  --fs-h1: 64px;
  --lh-h1: 1;
  --fs-h2: 36px;
  --fs-h3: 18px;
  --fw-h1: 600;
  --fw-h2: 500;
  --fw-h3: 400;
  --ls-h1: -0.015em;
  --fs-eyebrow: 13.5px;
  --fw-eyebrow: 600;
  --color-eyebrow: #6b6b6b;
  --ls-eyebrow: 0.05em;
  --tt-eyebrow: uppercase;
  --space-eyebrow: 14px;
  --color-bg: #ffffff;
  --color-heading: #0c0e12;
  --color-body: #525866;
  --color-muted: #525866;
  --color-accent: #234e6a;
  --color-surface-tint: #eef2f6;
  --color-divider: #d8dee8;
  --radius-base: 12px;
  --fs-card: 16px;
  --lh-card: 1.75;
  --card-bg: #ffffff;
  --card-border-on: 1;
  --card-border-w: 1px;
  --card-border-color: #d8dee8;
  --card-pad: 24px;
  --card-gap: 16px;
  --card-shadow: 0 2px 8px rgb(0 0 0 / 0.06);
  --img-border-on: 1;
  --img-border-w: 1px;
  --img-border-color: #d8dee8;
  --img-shadow: 0 var(--img-shadow-y) var(--img-shadow-blur) rgb(0 0 0 / var(--img-shadow-alpha));
  --img-shadow-blur: 0px;
  --img-shadow-y: 0px;
  --img-shadow-alpha: 0;
  --fs-caption: 14px;
  --color-caption: #525866;
  --space-caption: 16px;
  --meta-bg: #eef2f6;
  --meta-pad: 18px;
  --fs-meta-label: 12.5px;
  --color-meta-label: #525866;
  --fs-meta-value: 15px;
  --fw-meta-value: 500;
  --space-meta: 7px;
  --space-p: 1.35em;
  --space-section: 160px;
  --space-h2: 32px;
  --divider-on: 1;
  --radius-sm: calc(var(--radius-base) / 2);
  --radius-pill: 999px;
}

:root{--hero-band:#eef2f6;--hero-crop:80%;--hero-gap:56px;--hero-pad-top:72px;--hero-shadow-alpha:.16;--hero-shadow:drop-shadow(0 18px 40px rgb(16 32 56 / var(--hero-shadow-alpha))) drop-shadow(0 2px 6px rgb(16 32 56 / calc(var(--hero-shadow-alpha) * .375)))}
.cs-hero{background:var(--hero-band);border-bottom:1px solid var(--color-border);overflow:hidden}.dark .cs-hero{background:var(--hero-band-dark,#161c25);--hero-shadow:drop-shadow(0 22px 50px rgb(0 0 0 / .55)) drop-shadow(0 2px 8px rgb(0 0 0 / .4))}.cs-hero .w-text,.cs-hero .w-wide{width:100%;box-sizing:border-box;padding-inline:20px;margin-inline:auto}.cs-hero .w-text{max-width:var(--w-text,1000px)}.cs-hero .w-wide{max-width:var(--w-wide,1200px)}.cs-hero__copy{padding-top:var(--hero-pad-top)}.cs-hero .eyebrow{margin:0 0 var(--space-eyebrow,16px)}
.project-theme .cs-hero h1{font-family:var(--font-heading,Inter),Inter,sans-serif!important;font-size:var(--fs-h1,64px)!important;font-weight:var(--fw-h1,500)!important;line-height:var(--lh-h1,1.08)!important;letter-spacing:var(--ls-h1,-.04em)!important;margin:0!important;color:var(--color-foreground)}:root:not(.dark) .portal-v4 .cs-hero h1{color:var(--color-heading)}
.cs-hero__media{margin-top:var(--hero-gap)}.cs-hero__crop{position:relative;height:var(--hero-visible-height,auto);overflow:hidden}.cs-hero__crop img{width:100%;height:auto;display:block;border:0!important;border-radius:0!important;box-shadow:none!important;filter:var(--hero-shadow)}.cs-hero__placeholder{aspect-ratio:16/9;background:#f9fbfd;border-radius:var(--radius-base,12px);filter:var(--hero-shadow);margin:0 4%;}.cs-hero-intro{padding-top:48px!important}.portal-hero.cs-hero-intro{padding-bottom:56px}.portal-hero.cs-hero-intro p:first-of-type{margin-top:0}
@media(min-width:768px) and (max-width:1023px){.project-theme .cs-hero h1{font-size:calc(var(--fs-h1,64px) * .8)!important}}
@media(max-width:767px){.cs-hero__copy{padding-top:calc(var(--hero-pad-top) * .55556)}.cs-hero__media{margin-top:calc(var(--hero-gap) * .57143)}.project-theme .cs-hero h1{font-size:calc(var(--fs-h1,64px) * .65)!important}.cs-hero-intro{padding-top:32px!important}}

.cs-hero h1,.project-theme h2{text-wrap:balance}
.cs-nav-line{height:0;border-top:1px solid var(--color-border);position:relative}
.case-toc.cs-section-nav{position:sticky;top:var(--cs-header-height,56px);z-index:35;width:calc(100% - 40px);max-width:calc(var(--w-wide,1200px) - 40px);height:56px;min-height:56px;padding:5px;margin:-28px auto 0;box-sizing:border-box;transform:none;border:1px solid var(--color-border);border-radius:var(--radius-pill,999px);background:var(--color-background);box-shadow:0 4px 20px #0001;transition:opacity .15s}
.case-toc.cs-section-nav .cs-nav-rail{display:grid;grid-template-columns:repeat(var(--cs-nav-count,6),minmax(0,1fr));position:relative;width:100%;max-width:none;padding:0;gap:0;margin:0;height:44px;overflow:visible}
.case-toc.cs-section-nav a{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;white-space:nowrap;padding:0 6px;margin:0;height:44px;font-size:13px;font-weight:600;color:var(--color-muted-foreground)!important;background:transparent!important;border:0;border-radius:var(--radius-pill,999px);box-shadow:none!important;text-decoration:none}
.case-toc.cs-section-nav a span{color:inherit!important}.case-toc.cs-section-nav a:hover{color:var(--color-foreground)!important}.case-toc.cs-section-nav a[aria-current="location"]{color:#fff!important}.case-toc.cs-section-nav a:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}
.cs-nav-highlight{position:absolute;left:0;top:0;height:44px;border-radius:var(--radius-pill,999px);background:#111827;pointer-events:none;opacity:0;transition:transform 300ms cubic-bezier(.2,.8,.2,1),opacity 150ms;width:0}.dark .cs-nav-highlight{background:#234e6a}.case-toc.cs-section-nav.cs-nav-hidden{visibility:hidden;opacity:0;pointer-events:none}.cs-section-nav+section{scroll-margin-top:140px}
.portal-v4 .portal-meta{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
@media(min-width:768px) and (max-width:1023px){.portal-v4 .portal-meta{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:767px){.portal-v4 .portal-meta{grid-template-columns:minmax(0,1fr)!important}.case-toc.cs-section-nav{height:54px;min-height:54px;margin-top:-27px;overflow:hidden}.case-toc.cs-section-nav .cs-nav-rail{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;justify-content:flex-start}.case-toc.cs-section-nav a{flex:0 0 auto;padding-inline:12px}.case-toc.cs-section-nav .cs-nav-top-label{display:none}.case-toc.cs-section-nav .cs-nav-rail::-webkit-scrollbar{display:none}}
@media(prefers-reduced-motion:reduce){.cs-nav-highlight,.case-toc.cs-section-nav{transition:none}}

:root{--radius-linked:1;--radius-pillar:var(--radius-base,12px);--radius-feature:var(--radius-base,12px);--radius-thumb:max(0px,calc(var(--radius-base,12px) - var(--feature-pad,24px)));--radius-outcome:var(--radius-base,12px);--radius-icon:calc(var(--radius-base,12px) / 2);--radius-meta:var(--radius-base,12px);--radius-callout:var(--radius-base,12px);--radius-image:var(--radius-base,12px);--radius-lightbox:var(--radius-base,12px);--radius-lightbox-img:calc(var(--radius-base,12px) / 2);--radius-nav:999px;--radius-nav-pill:999px;--radius-button:calc(var(--radius-base,12px) / 2);--outcome-icon-tile:36px;--outcome-icon-size:20px;--outcome-icon-bg:var(--muted);--outcome-icon-color:var(--primary);--outcome-icon-gap:12px}
.working-review-banner,.attention-note{display:none!important}.asset-placeholder{border:1px solid var(--color-border)!important;box-shadow:none!important}.asset-placeholder::after,.draft-figure::after{display:none!important}
.portal-pillars article{border-radius:var(--radius-pillar);padding:var(--pillar-pad,24px)}.portal-pillars{gap:var(--pillar-gap,16px)}.portal-section .portal-pillars h3{font-size:var(--pillar-title-size,18px);font-weight:var(--pillar-title-weight,400);line-height:var(--pillar-title-lh,1.5)}.portal-pillars p{font-size:var(--pillar-body-size,16px);line-height:var(--pillar-body-lh,1.75);margin-top:var(--pillar-title-gap,16px)!important}.portal-pillars p+p{margin-top:var(--pillar-para-gap,16px)!important}
.portal-feature-card{border-radius:var(--radius-feature)}.portal-feature-grid{gap:var(--feature-gap,16px)}.portal-feature-copy{padding:var(--feature-pad,24px);gap:var(--feature-row-gap,16px)}.portal-feature-title{font-size:var(--feature-title-size,18px);font-weight:var(--feature-title-weight,400);line-height:var(--feature-title-lh,1.5);margin-bottom:calc(var(--feature-title-gap,16px) - var(--feature-row-gap,16px))}.portal-feature-line{font-size:var(--feature-body-size,16px);line-height:var(--feature-body-lh,1.75)}.portal-feature-line strong{font-size:var(--feature-label-size,16px);font-weight:var(--feature-label-weight,600)}.portal-feature-line p+p{margin-top:var(--feature-para-gap,16px)}.portal-thumb,.portal-thumb img{border-radius:var(--radius-thumb)}
.portal-outcomes{gap:var(--outcome-gap,16px)}.portal-outcomes article{border-radius:var(--radius-outcome);padding:var(--outcome-pad,24px)}.portal-section .portal-outcomes h3{font-size:var(--outcome-title-size,18px);font-weight:var(--outcome-title-weight,400);line-height:var(--outcome-title-lh,1.5)}.portal-outcomes p{font-size:var(--outcome-body-size,16px);line-height:var(--outcome-body-lh,1.75);margin-top:var(--outcome-title-gap,16px)}.portal-outcomes p+p{margin-top:var(--outcome-para-gap,16px)}
.portal-meta{gap:var(--meta-gap,16px)!important}.portal-meta>div{border-radius:var(--radius-meta);padding:var(--meta-pad,18px)}.portal-meta dt{font-size:var(--meta-title-size,12.5px);font-weight:var(--meta-title-weight,400);line-height:var(--meta-title-lh,1.5);margin-bottom:var(--meta-title-gap,7px)}.portal-meta dd{font-size:var(--meta-body-size,15px);line-height:var(--meta-body-lh,1.45)}.portal-meta dd span+span{margin-top:var(--meta-para-gap,5px)}
.portal-v4 .portal-alignment{border-radius:0 var(--radius-callout) var(--radius-callout) 0!important;padding:var(--callout-pad,24px);margin-top:var(--callout-gap,16px)}.portal-section .portal-alignment h3{font-size:var(--callout-title-size,18px);font-weight:var(--callout-title-weight,400);line-height:var(--callout-title-lh,1.5)}.portal-alignment p:not(.eyebrow){font-size:var(--callout-body-size,16px);line-height:var(--callout-body-lh,1.75);margin-top:var(--callout-title-gap,16px)}.portal-alignment p+p{margin-top:var(--callout-para-gap,16px)}
.figure-wide .portal-image-slot,.figure-wide img{border-radius:var(--radius-image)}.portal-gallery{border-radius:var(--radius-lightbox)}.portal-gallery-media img,.portal-gallery-media .portal-image-slot{border-radius:var(--radius-lightbox-img)}.case-toc.cs-section-nav{border-radius:var(--radius-nav)}.cs-nav-highlight{border-radius:var(--radius-nav-pill)}.portal-gallery button,.cs-nav-rail a{border-radius:var(--radius-button)}.portal-tuner{border-radius:14px!important}.portal-tuner input[type=checkbox]{width:auto}
.outcome-icon{display:flex;align-items:center;justify-content:center;width:var(--outcome-icon-tile);height:var(--outcome-icon-tile);background:var(--outcome-icon-bg);color:var(--outcome-icon-color);border-radius:var(--radius-icon);margin-bottom:var(--outcome-icon-gap);flex-shrink:0}.outcome-icon svg{width:var(--outcome-icon-size);height:var(--outcome-icon-size)}.outcome-icons-hidden .outcome-icon{display:none}.outcome-icons-left .portal-outcomes article{display:grid;grid-template-columns:var(--outcome-icon-tile) minmax(0,1fr);column-gap:var(--outcome-icon-gap)}.outcome-icons-left .outcome-icon{grid-column:1;grid-row:1 / span 2;margin:0}.outcome-icons-left .portal-outcomes h3,.outcome-icons-left .portal-outcomes p{grid-column:2}.outcome-icons-hidden.outcome-icons-left .portal-outcomes article{display:block}
.cs-bottom-nav{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:24px;padding:48px max(20px,calc((100vw - var(--w-wide,1200px)) / 2 + 20px))}.cs-bottom-nav>a:not(.cs-all-work){padding:0!important;margin:0!important;width:auto!important;text-align:right;justify-self:end}.cs-all-work{font-size:16px}.cs-bottom-nav h2{font-size:24px!important}.cs-bottom-nav .eyebrow{font-size:12px}
@media(max-width:767px){.cs-bottom-nav{grid-template-columns:1fr}.cs-bottom-nav>a:not(.cs-all-work){order:0;justify-self:start;text-align:left}.cs-bottom-nav>.cs-all-work{order:1}.portal-gallery{border-radius:0}}
/* Shared equivalents used by the other case studies. */
.project-theme .meta-grid>div{border-radius:var(--radius-meta);padding:var(--meta-pad,18px)}.project-theme .meta-grid dt{font-size:var(--meta-title-size,12.5px);font-weight:var(--meta-title-weight,400);line-height:var(--meta-title-lh,1.5);margin-bottom:var(--meta-title-gap,7px)}.project-theme .meta-grid dd{font-size:var(--meta-body-size,15px);line-height:var(--meta-body-lh,1.45)}.project-theme .outcome-grid{gap:var(--outcome-gap,16px)}.project-theme .outcome-grid>p{border-radius:var(--radius-outcome);padding:var(--outcome-pad,24px);font-weight:400}.project-theme .outcome-grid strong{font-size:var(--outcome-title-size,18px);font-weight:var(--outcome-title-weight,400);line-height:var(--outcome-title-lh,1.5)}.project-theme .outcome-grid>p>span:not(.outcome-icon){font-size:var(--outcome-body-size,16px);line-height:var(--outcome-body-lh,1.75);margin-top:var(--outcome-title-gap,16px)}.project-theme .portfolio-figure:not(.cs-hero) img,.project-theme .asset-placeholder{border-radius:var(--radius-image)}.outcome-icons-left .outcome-grid>p{display:grid;grid-template-columns:var(--outcome-icon-tile) minmax(0,1fr);column-gap:var(--outcome-icon-gap)}.outcome-icons-left .outcome-grid .outcome-icon{grid-column:1;grid-row:1/span 2}.outcome-icons-left .outcome-grid strong,.outcome-icons-left .outcome-grid>p>span:not(.outcome-icon){grid-column:2}
/* Preserve dark theme colors when light-mode icon controls are adjusted. */
.dark .outcome-icon{background:var(--muted);color:var(--primary)}

/* Shared case-study layout; nav owns the only visible rail outline. */
.case-toc.cs-section-nav .cs-nav-rail{border:0!important;background:none!important;box-shadow:none!important;border-radius:inherit}
.cs-section-nav+.case-band,.cs-section-nav+section{border-top:0!important}.cs-hero-intro{border-bottom:0!important}.cs-nav-line{border-top:1px solid var(--color-border)}
.cs-case-layout .page-shell{max-width:var(--w-text);width:100%;padding-inline:20px;box-sizing:border-box}.cs-case-layout header .page-shell,.cs-case-layout footer .page-shell{max-width:var(--w-wide)}.cs-case-layout .case-text{max-width:none}.cs-case-layout .case-text p,.cs-case-layout .cs-hero-intro p{max-width:var(--measure);font-size:var(--fs-body);line-height:var(--lh-body);margin-top:var(--space-p)}.cs-case-layout .cs-hero-intro .mt-16.grid{display:block;margin-top:24px}.cs-case-layout .case-block{padding-block:calc(var(--space-section) / 2)}.cs-case-layout .project-theme h2:not(.next-project h2){font-family:var(--font-heading),Inter,sans-serif!important;font-size:var(--fs-h2)!important;font-weight:var(--fw-h2)!important;line-height:1.15;margin-bottom:var(--space-h2)}.cs-case-layout .project-theme h3{font-size:var(--fs-h3);font-weight:var(--fw-h3)}
.cs-case-layout .meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--meta-gap,16px);padding:0;border:0;background:transparent}.cs-case-layout .meta-grid>div{background:var(--meta-bg);border:0!important;border-radius:var(--radius-meta);padding:var(--meta-pad)}.dark .cs-case-layout .meta-grid>div{background:var(--muted)}.cs-case-layout .meta-grid dd span{display:block}.cs-case-layout .journey,.cs-case-layout .growth-grid,.cs-case-layout .evolution-strip{gap:var(--pillar-gap,16px)}.cs-case-layout .journey li,.cs-case-layout .growth-grid>*,.cs-case-layout .evolution-strip li{padding:var(--pillar-pad,24px);border:1px solid var(--color-border);border-radius:var(--radius-pillar);background:var(--color-background)}.cs-case-layout .journey strong,.cs-case-layout .growth-grid strong,.cs-case-layout .evolution-strip strong{font-size:var(--pillar-title-size,18px);font-weight:var(--pillar-title-weight,400);line-height:var(--pillar-title-lh,1.5)}.cs-case-layout .journey p,.cs-case-layout .growth-grid p,.cs-case-layout .evolution-strip p{font-size:var(--pillar-body-size,16px);line-height:var(--pillar-body-lh,1.75)}.cs-case-layout .verification-note,.cs-case-layout .pilot-evidence{border:0;border-left:3px solid var(--primary);background:var(--muted);border-radius:0 var(--radius-callout) var(--radius-callout) 0;padding:var(--callout-pad,24px)}
@media(min-width:768px) and (max-width:1023px){.cs-case-layout .meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.cs-case-layout .meta-grid{grid-template-columns:minmax(0,1fr)}}
.cs-section-nav .cs-nav-rail::before{display:none!important}.cs-section-nav .cs-nav-rail{-webkit-backdrop-filter:none;backdrop-filter:none}.cs-nav-top{border:0!important;box-shadow:none!important}

/* Shared gentle motion. The hero crop remains fixed at the band edge. */
.cs-hero__crop > img,
.cs-hero__crop > .cs-hero__placeholder {
  transform: translate3d(0, var(--hero-parallax, 0px), 0);
}
.cs-motion-enter {
  opacity: 0;
  translate: 0 18px;
  transition: opacity 650ms ease-out var(--motion-delay, 0ms), translate 650ms cubic-bezier(.2,.8,.2,1) var(--motion-delay, 0ms);
}
.cs-motion-enter.cs-motion-visible { opacity: 1; translate: 0 0; }
@media (prefers-reduced-motion: reduce) {
  .cs-motion-enter { opacity: 1; translate: none; transition: none; }
  .cs-hero__crop > img, .cs-hero__crop > .cs-hero__placeholder { transform: none; }
}

/* Shared navigation owns positioning; legacy page transforms must not shift the rail. */
.case-toc.cs-section-nav .cs-nav-rail { transform: none; align-items: center; }

/* Eric’s revised tuned defaults, October 6, 2026. */
:root {
  --w-text: 1000px;
  --w-wide: 1200px;
  --measure: 85ch;
  --font-heading: "Manrope";
  --font-body: "Inter";
  --fs-body: 16px;
  --lh-body: 1.55;
  --fs-h1: 64px;
  --lh-h1: 1;
  --fs-h2: 36px;
  --fs-h3: 18px;
  --fw-h1: 600;
  --fw-h2: 500;
  --fw-h3: 500;
  --ls-h1: -0.015em;
  --fs-eyebrow: 12px;
  --fw-eyebrow: 600;
  --color-eyebrow: #6b6b6b;
  --ls-eyebrow: 0.05em;
  --tt-eyebrow: uppercase;
  --space-eyebrow: 14px;
  --color-bg: #ffffff;
  --color-heading: #0c0e12;
  --color-body: #525866;
  --color-muted: #525866;
  --color-accent: #234e6a;
  --color-surface-tint: #eef2f6;
  --color-divider: #d8dee8;
  --radius-base: 12px;
  --fs-card: 16px;
  --lh-card: 1.75;
  --card-bg: #ffffff;
  --card-border-on: 1;
  --card-border-w: 1px;
  --card-border-color: #d8dee8;
  --card-pad: 24px;
  --card-gap: 16px;
  --card-shadow: 0 2px 8px rgb(0 0 0 / 0.06);
  --img-border-on: 1;
  --img-border-w: 1px;
  --img-border-color: #d8dee8;
  --img-shadow: 0 var(--img-shadow-y) var(--img-shadow-blur) rgb(0 0 0 / var(--img-shadow-alpha));
  --img-shadow-blur: 0px;
  --img-shadow-y: 0px;
  --img-shadow-alpha: 0;
  --fs-caption: 14px;
  --color-caption: #525866;
  --space-caption: 16px;
  --meta-bg: #eef2f6;
  --meta-pad: 18px;
  --fs-meta-label: 12.5px;
  --color-meta-label: #525866;
  --fs-meta-value: 15px;
  --fw-meta-value: 500;
  --space-meta: 7px;
  --space-p: 1.35em;
  --space-section: 64px;
  --space-h2: 16px;
  --divider-on: 0;
  --radius-sm: calc(var(--radius-base) / 2);
  --radius-pill: 999px;
  --hero-band: #eef2f6;
  --hero-crop: 80%;
  --hero-gap: 56px;
  --hero-pad-top: 72px;
  --hero-shadow-alpha: 0.16;
  --radius-linked: 0;
  --radius-pillar: 8px;
  --radius-feature: 8px;
  --radius-thumb: 0px;
  --radius-outcome: 8px;
  --radius-icon: 6px;
  --radius-meta: 12px;
  --radius-callout: 12px;
  --radius-image: 12px;
  --radius-lightbox: 12px;
  --radius-lightbox-img: 6px;
  --radius-nav: 999px;
  --radius-nav-pill: 999px;
  --radius-button: 6px;
  --pillar-title-size: 18px;
  --pillar-title-weight: 400;
  --pillar-title-lh: 1.5;
  --pillar-body-size: 16px;
  --pillar-body-lh: 1.75;
  --pillar-title-gap: 16px;
  --pillar-para-gap: 16px;
  --pillar-pad: 24px;
  --pillar-gap: 16px;
  --feature-title-size: 18px;
  --feature-title-weight: 400;
  --feature-title-lh: 1.6;
  --feature-body-size: 14.5px;
  --feature-body-lh: 1.5;
  --feature-title-gap: 16px;
  --feature-para-gap: 16px;
  --feature-pad: 24px;
  --feature-gap: 16px;
  --outcome-title-size: 18px;
  --outcome-title-weight: 400;
  --outcome-title-lh: 1.5;
  --outcome-body-size: 16px;
  --outcome-body-lh: 1.75;
  --outcome-title-gap: 16px;
  --outcome-para-gap: 16px;
  --outcome-pad: 24px;
  --outcome-gap: 16px;
  --meta-title-size: 12.5px;
  --meta-title-weight: 400;
  --meta-title-lh: 1.5;
  --meta-body-size: 15px;
  --meta-body-lh: 1.45;
  --meta-title-gap: 7px;
  --meta-para-gap: 5px;
  --meta-gap: 16px;
  --callout-title-size: 18px;
  --callout-title-weight: 400;
  --callout-title-lh: 1.5;
  --callout-body-size: 16px;
  --callout-body-lh: 1.75;
  --callout-title-gap: 16px;
  --callout-para-gap: 15px;
  --callout-pad: 24px;
  --callout-gap: 16px;
  --feature-label-size: 14px;
  --feature-label-weight: 600;
  --feature-row-gap: 16px;
  --outcome-icons-on: 1;
  --outcome-icon-placement: top;
  --outcome-icon-tile: 36px;
  --outcome-icon-size: 20px;
  --outcome-icon-bg: #eef2f6;
  --outcome-icon-color: #234e6a;
  --outcome-icon-gap: 12px;
}
/* Screen triggers inherit the shared image and card tokens. */
.cs-feature-thumb { display:block; width:100%; padding:0; border:0; background:var(--color-surface-tint); cursor:zoom-in; overflow:hidden; border-radius:var(--radius-thumb); }
.cs-feature-thumb img { display:block; width:100%; height:220px; object-fit:cover; object-position:top; }
.cs-wide-trigger { display:block; width:100%; border:0; padding:0; background:transparent; cursor:zoom-in; }
.cs-wide-trigger img { display:block; width:100%; height:auto; }
.cs-feature-thumb:focus-visible,.cs-wide-trigger:focus-visible { outline:2px solid var(--color-accent); outline-offset:4px; }

/* One component palette and typography for every case study. */
.cs-case-layout .project-theme { --project-accent:var(--color-accent); --project-soft:var(--color-surface-tint); }
.dark .cs-case-layout .project-theme { --project-accent:var(--primary); --project-soft:var(--muted); }
.cs-case-layout .case-text { display:block; }
.cs-case-layout .case-text h2 { margin-top:0; }
.cs-case-layout .portfolio-figure figcaption { font-family:var(--font-body),Inter,sans-serif; font-size:var(--fs-caption); margin-top:var(--space-caption); color:var(--color-muted-foreground); }
.cs-case-layout .project-theme .portal-pillars h3 { font-family:var(--font-body),Inter,sans-serif; font-size:var(--pillar-title-size); font-weight:var(--pillar-title-weight); line-height:var(--pillar-title-lh); }
.cs-case-layout .project-theme .portal-feature-title { font-family:var(--font-body),Inter,sans-serif; font-size:var(--feature-title-size); font-weight:var(--feature-title-weight); line-height:var(--feature-title-lh); }
.cs-case-layout .project-theme .portal-outcomes h3 { font-family:var(--font-body),Inter,sans-serif; font-size:var(--outcome-title-size); font-weight:var(--outcome-title-weight); line-height:var(--outcome-title-lh); }
.cs-case-layout .project-theme .portal-alignment h3 { font-family:var(--font-body),Inter,sans-serif; font-size:var(--callout-title-size); font-weight:var(--callout-title-weight); line-height:var(--callout-title-lh); }

/* v5.4: plain content sections and one full-width divider per section. */
.cs-case-layout .cs-content-section,
.cs-case-layout .portal-section,
.cs-case-layout .case-band { background:transparent!important; border-bottom:0!important; }
.cs-case-layout .cs-content-section { border-top:1px solid var(--color-divider)!important; }
.dark .cs-case-layout .cs-content-section { border-top-color:var(--border)!important; }
.cs-case-layout .cs-section-nav + .cs-content-section { border-top:0!important; }
.cs-case-layout .cs-nav-line { border-color:var(--color-divider); }
.dark .cs-case-layout .cs-nav-line { border-color:var(--border); }
.cs-comparison-block,.cs-comparison-bridge { margin-top:var(--space-section); }
.cs-comparison-block > .w-text > p:not(.eyebrow) { font-size:var(--fs-body); line-height:var(--lh-body); color:var(--color-muted-foreground); }
.cs-comparison-block .figure-wide img { width:100%; height:auto; border:calc(var(--img-border-on) * var(--img-border-w)) solid var(--img-border-color); border-radius:var(--radius-image); box-shadow:var(--img-shadow); }
.dark .cs-comparison-block .figure-wide img { border-color:var(--border); }
/* ResultsStrip is shared by every case study; metadata now uses three boxes. */
:root { --results-figure-size:36px; --results-figure-weight:600; --results-label-size:14.5px; --results-context-size:13px; --results-pad:16px; --results-dividers-on:1; --results-space:40px; }
.cs-results { margin-block:var(--results-space); }
.cs-results-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.cs-results-grid[data-tiles="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cs-results-grid[data-tiles="3"] { grid-template-columns:repeat(3,minmax(0,1fr)); }
.cs-results-tile { min-width:0; padding:var(--results-pad); background:none; border:0; display:flex; flex-direction:column; }
.cs-results-tile + .cs-results-tile { border-left:calc(var(--results-dividers-on) * 1px) solid var(--color-divider); }
.cs-results-figure { font-family:var(--font-heading),Inter,sans-serif; font-size:var(--results-figure-size); font-weight:var(--results-figure-weight); line-height:1.15; color:var(--color-heading); }
.cs-results-label { margin-top:6px; font-family:var(--font-body),Inter,sans-serif; font-size:var(--results-label-size); font-weight:500; line-height:1.4; color:var(--color-heading); }
.cs-results-context { margin-top:4px; font-family:var(--font-body),Inter,sans-serif; font-size:var(--results-context-size); line-height:1.45; color:var(--color-muted); display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.cs-case-layout .cs-results-source,.cs-case-layout .cs-results-scope { font-family:var(--font-body),Inter,sans-serif; font-size:var(--results-context-size)!important; line-height:1.45; color:var(--color-muted); margin-top:12px; }
.cs-case-layout .cs-results-scope { margin:0 0 12px; }
.dark .cs-results-figure,.dark .cs-results-label { color:var(--foreground); }
.dark .cs-results-context,.dark .cs-results-source,.dark .cs-results-scope { color:var(--muted-foreground); }
.dark .cs-results-tile + .cs-results-tile { border-color:var(--border); }
.cs-case-layout .portal-meta,.cs-case-layout .meta-grid { grid-template-columns:repeat(3,minmax(0,1fr))!important; margin-top:0; }
@media(min-width:768px) and (max-width:1023px) {
 .cs-results-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .cs-results-tile:nth-child(odd) { border-left:0; }
 .cs-results-tile:nth-child(n+3) { border-top:calc(var(--results-dividers-on) * 1px) solid var(--color-divider); }
 .dark .cs-results-tile:nth-child(n+3) { border-color:var(--border); }
}
@media(max-width:767px) {
 .cs-results-grid,.cs-results-grid[data-tiles] { grid-template-columns:minmax(0,1fr); }
 .cs-results-tile + .cs-results-tile { border-left:0; border-top:calc(var(--results-dividers-on) * 1px) solid var(--color-divider); }
 .cs-case-layout .portal-meta,.cs-case-layout .meta-grid { grid-template-columns:minmax(0,1fr)!important; }
}

/* Theme-specific squad map is an unframed content asset, independent of image tuning. */
.cs-case-layout .portal-squads-map { margin-block:var(--space-section); }
.cs-case-layout .project-theme .portal-squads-map img { width:100%; max-width:100%; height:auto; border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; filter:none!important; }
.cs-case-layout .portal-squads-map-light { display:block; }
.cs-case-layout .portal-squads-map-dark { display:none; }
.dark .cs-case-layout .portal-squads-map-light { display:none; }
.dark .cs-case-layout .portal-squads-map-dark { display:block; }
/* Shared page primitives, used by the home page and available to case studies. */
[hidden]{display:none!important}
.portal-v4{background:var(--background);color:var(--foreground)}
.portal-v4 .project-theme{font-family:var(--font-body),Inter,sans-serif}
.w-text,.w-wide{box-sizing:border-box;width:100%;padding-inline:20px;margin-inline:auto}
.w-text{max-width:var(--w-text)}.w-wide{max-width:var(--w-wide)}
.cs-page-section{padding-block:var(--space-section);background:transparent}
.cs-page-divider{border-top:1px solid var(--color-border)}
.cs-page-title{font-family:var(--font-heading),Inter,sans-serif!important;font-size:clamp(36px,5vw,var(--fs-h1))!important;font-weight:var(--fw-h1)!important;line-height:var(--lh-h1);letter-spacing:var(--ls-h1);text-wrap:balance;color:var(--color-foreground);margin:0}
.cs-page-heading{font-family:var(--font-heading),Inter,sans-serif!important;font-size:clamp(26px,3.5vw,var(--fs-h2))!important;font-weight:var(--fw-h2)!important;line-height:1.15;text-wrap:balance;color:var(--color-foreground);margin:0 0 var(--space-h2)}
.cs-page-body,.cs-section-heading>p{font-size:var(--fs-body);line-height:var(--lh-body);max-width:var(--measure);color:var(--color-muted-foreground);margin-top:var(--space-p)}
.cs-section-heading{padding-inline:0;margin-bottom:var(--space-h2)}
.cs-actions{display:flex;flex-wrap:wrap;gap:var(--card-gap);margin-top:var(--space-p)}
.cs-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border:1px solid var(--color-border);border-radius:var(--radius-button,var(--radius-sm));font-family:var(--font-body),Inter,sans-serif;font-size:var(--fs-body);font-weight:500;color:var(--color-foreground)!important;background:var(--color-background);text-decoration:none}
.cs-button svg{width:18px;height:18px}.cs-button-primary{background:var(--primary);color:var(--primary-foreground)!important;border-color:var(--primary)}
.cs-button:hover{filter:brightness(.94)}.cs-button:focus-visible,.home-work-card:focus-visible{outline:3px solid var(--color-foreground);outline-offset:4px}
.home-work-list{display:grid;gap:var(--feature-gap)}
.home-work-card{display:grid;grid-template-columns:55fr 45fr;align-items:stretch;min-width:0;color:var(--color-muted-foreground)!important;text-decoration:none;border:calc(var(--card-border-on)*var(--card-border-w)) solid var(--card-border-color);border-radius:var(--radius-feature);background:var(--card-bg);box-shadow:var(--card-shadow);overflow:hidden;transition:transform .2s,border-color .2s}
.home-work-card:nth-child(even) .home-work-media{order:2}.home-work-card:hover{transform:translateY(-3px);border-color:var(--color-muted-foreground)}
.home-work-media{display:flex;align-items:center;justify-content:center;padding:var(--feature-pad);min-width:0}.home-work-media img{display:block;width:100%;height:auto;object-fit:contain;border-radius:var(--radius-image);border:calc(var(--img-border-on)*var(--img-border-w)) solid var(--img-border-color);box-shadow:var(--img-shadow)}
.home-work-card[href="customer-portal/"] .home-work-media img{border:0;box-shadow:none}
.home-work-copy{padding:var(--feature-pad);align-self:center;min-width:0}
.home-work-copy h3{font-family:var(--font-heading),Inter,sans-serif!important;font-size:var(--feature-title-size)!important;line-height:var(--feature-title-lh);font-weight:var(--feature-title-weight);color:var(--color-foreground);margin:0 0 var(--feature-title-gap)}
.home-work-copy p:not(.eyebrow){font-size:var(--feature-body-size);line-height:var(--feature-body-lh);margin-bottom:var(--feature-para-gap)}
.home-work-copy .home-work-result{border-top:1px solid var(--color-border);padding-top:var(--feature-title-gap);margin-top:var(--feature-para-gap);font-family:var(--font-heading),Inter,sans-serif;font-size:var(--feature-title-size);font-weight:500;color:var(--color-foreground)}
.home-work-copy .case-link{color:var(--primary);font-size:var(--feature-body-size);font-weight:600}
.dark .home-work-card{background:var(--color-background);border-color:var(--color-border)}.dark .home-work-media img{border-color:var(--color-border)}
.cs-bottom-nav .cs-next-work{display:flex;flex-direction:column;gap:var(--space-meta);color:var(--color-foreground);text-decoration:none;font-family:var(--font-heading),Inter,sans-serif;font-size:var(--fs-h2);padding-block:calc(var(--space-section)/2)}
@media(max-width:767px){.home-work-card{grid-template-columns:1fr}.home-work-card:nth-child(even) .home-work-media{order:0}.home-work-card:hover{transform:none}.cs-page-title{font-size:clamp(36px,8vw,var(--fs-h1))!important}}
@media(prefers-reduced-motion:reduce){.home-work-card{transition:none}.home-work-card:hover{transform:none}}
/* v6.0 home layout prerequisites */
.home-work-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.home-work-card{grid-template-columns:1fr;grid-template-rows:auto 1fr}
.home-work-card:nth-child(even) .home-work-media{order:0}
.home-work-media{aspect-ratio:16/10}
.home-work-media img{max-height:100%}
.home-work-copy{align-self:stretch}
.cs-about-contact{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--space-section)}
@media(max-width:767px){.home-work-list,.cs-about-contact{grid-template-columns:1fr}.home-work-media{aspect-ratio:16/10}}
/* The first-concept diagram has no image border in either theme. */
.cs-comparison-block .figure-wide [data-gallery="first-concept"] img { border:0!important; }
.portal-feature-card.is-text-only{cursor:default}
.portal-feature-card.is-text-only:hover{transform:none;border-color:var(--card-border-color)}
.cs-link-icon{display:inline-block;width:16px;height:16px;vertical-align:middle;flex-shrink:0}
.case-link,.cs-all-work,.cs-next-work>span:last-child,.cs-results-source a,.portal-view,.cs-nav-top{gap:8px}
.cs-all-work,.case-link,.cs-results-source a,.portal-view{display:inline-flex;align-items:center}
.cs-next-work>span:last-child{display:flex;align-items:center}
.portal-feature-card .portal-view[hidden]{display:none!important}
@media print{.resume-document .resume-contact{display:block}.resume-document .resume-contact>*{display:inline-block;margin-right:9pt}}
.cs-nav-top>span:first-child{display:inline-flex}
.cs-nav-top>span:first-child .cs-link-icon{margin:0}
.cs-link-icon{margin-inline-start:8px}
.portal-gallery button .cs-link-icon,.cs-all-work>.cs-link-icon,.case-link>.cs-link-icon,.cs-results-source a>.cs-link-icon,.portal-view>.cs-link-icon,.cs-next-work>span:last-child>.cs-link-icon{margin-inline-start:0}
.portal-image-slot:has(.portal-slot-label){display:flex;align-items:center;justify-content:center}
.portal-slot-label{display:block;padding:16px;text-align:center;font-family:var(--font-body),Inter,sans-serif;font-size:13px;line-height:1.5;font-weight:400;color:var(--color-muted-foreground)}
.portal-gallery-media .portal-image-slot{aspect-ratio:16/9;width:100%;max-height:calc(92vh - 140px)}
.cs-scale-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:var(--space-p);margin-bottom:var(--space-p)}
.cs-scale-card{display:flex;flex-direction:column;min-width:0;border:calc(var(--card-border-on)*var(--card-border-w)) solid var(--card-border-color);border-radius:var(--radius-feature);background:var(--card-bg);box-shadow:var(--card-shadow);overflow:hidden}
.cs-scale-image{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;width:100%;padding:16px;border:0;border-bottom:1px solid var(--color-divider);background:var(--color-surface-tint);cursor:zoom-in}
.cs-scale-image img{width:100%;height:100%;object-fit:contain;min-height:0}
.cs-scale-image:focus-visible{outline:3px solid var(--color-foreground);outline-offset:-4px}
.cs-scale-copy{padding:var(--feature-pad);flex:1}
.cs-scale-copy h3{font-size:var(--feature-title-size)!important;font-weight:var(--feature-title-weight)!important;line-height:var(--feature-title-lh);margin:0 0 var(--feature-title-gap)}
.cs-scale-copy p{font-size:var(--feature-body-size)!important;line-height:var(--feature-body-lh);margin:0;color:var(--color-muted-foreground)}
.cs-scale-copy .cs-scale-used{margin-top:var(--feature-para-gap);color:var(--color-muted-foreground)}
.cs-case-closing{padding-bottom:calc(var(--space-section)/2)}
.cs-case-closing p{max-width:var(--measure);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--color-muted-foreground);margin-top:var(--space-p)}
.cs-scale-lightbox-placeholder{aspect-ratio:4/3;max-height:calc(92vh - 140px);cursor:default}
.dark .cs-scale-card{background:var(--color-background);border-color:var(--color-border)}
.dark .cs-scale-image{background:var(--muted);border-color:var(--border)}
@media(max-width:899px){.cs-scale-grid{grid-template-columns:1fr}}
/* Content dividers align with the inside edges of the shared wide container. */
.cs-content-section,.cs-page-divider,.cs-case-closing,.case-contact{position:relative}
.cs-case-layout .cs-content-section,.cs-page-divider,.cs-case-closing,.case-contact{border-top:0!important}
.cs-content-section::before,.cs-page-divider::before,.cs-case-closing::before,.case-contact::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(calc(100vw - 40px),calc(var(--w-wide,1200px) - 40px));height:1px;background:var(--color-divider);pointer-events:none}
.dark .cs-content-section::before,.dark .cs-page-divider::before,.dark .cs-case-closing::before,.dark .case-contact::before{background:var(--border)}
.cs-section-nav + .cs-content-section::before{display:none}
.cs-nav-line{width:calc(100% - 40px);max-width:calc(var(--w-wide,1200px) - 40px);margin-inline:auto}
/* v6.8: decorative light in the home hero only. */
:root{--glow-1:rgba(124,148,255,.32);--glow-2:rgba(178,140,255,.26);--glow-3:rgba(110,200,230,.22);--glow-4:rgba(255,170,215,.16);--glow-strength:1}
:root.dark,:root[data-theme="dark"]{--glow-1:rgba(110,135,255,.20);--glow-2:rgba(160,120,255,.16);--glow-3:rgba(80,180,220,.13);--glow-4:rgba(255,150,200,.08)}
.portfolio-home .home-hero{position:relative;overflow:hidden;isolation:isolate;margin-top:calc(-1 * var(--home-header-height,60px));padding-top:calc(var(--space-section) + var(--home-header-height,60px))}
.portfolio-home .home-hero .cs-page-copy{position:relative;z-index:1}
.portfolio-home header{z-index:40;background:color-mix(in srgb,var(--color-background) 70%,transparent)}
.home-hero .hero-glow{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:calc(var(--glow-strength) * var(--glow-mobile-factor,1))}
.home-hero .hero-glow::before{content:"";position:absolute;inset:0;background:radial-gradient(38% 55% at 78% 18%,var(--glow-2),transparent 70%),radial-gradient(30% 45% at 92% 40%,var(--glow-3),transparent 70%),radial-gradient(34% 50% at 64% 0%,var(--glow-1),transparent 70%),radial-gradient(22% 35% at 86% 4%,var(--glow-4),transparent 70%);filter:blur(40px)}
.home-hero .hero-glow::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(to bottom,transparent,var(--color-background))}
@media(prefers-reduced-motion:no-preference){.home-hero .hero-glow::before{animation:home-glow-drift 24s ease-in-out infinite alternate}}
@keyframes home-glow-drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-3%,2%,0) scale(1.06)}}
@media(max-width:699px){.home-hero .hero-glow{--glow-mobile-factor:.8}.home-hero .hero-glow::before{background:radial-gradient(38% 55% at 60% 18%,var(--glow-2),transparent 70%),radial-gradient(30% 45% at 85% 40%,var(--glow-3),transparent 70%),radial-gradient(34% 50% at 45% 0%,var(--glow-1),transparent 70%),radial-gradient(22% 35% at 75% 4%,var(--glow-4),transparent 70%)}}

/* Approved tuner baseline, October 7. */
:root {
  --w-text: 1100px;
  --w-wide: 1100px;
  --measure: 85ch;
  --font-heading: "Manrope";
  --font-body: "Inter";
  --fs-body: 16px;
  --lh-body: 1.55;
  --fs-h1: 64px;
  --lh-h1: 1;
  --fs-h2: 36px;
  --fs-h3: 18px;
  --fw-h1: 600;
  --fw-h2: 500;
  --fw-h3: 500;
  --ls-h1: -0.015em;
  --fs-eyebrow: 12px;
  --fw-eyebrow: 600;
  --color-eyebrow: #6b6b6b;
  --ls-eyebrow: 0.05em;
  --tt-eyebrow: uppercase;
  --space-eyebrow: 14px;
  --color-bg: #ffffff;
  --color-heading: #0c0e12;
  --color-body: #525866;
  --color-muted: #525866;
  --color-accent: #234e6a;
  --color-surface-tint: #eef2f6;
  --color-divider: #d8dee8;
  --radius-base: 12px;
  --fs-card: 16px;
  --lh-card: 1.75;
  --card-bg: #ffffff;
  --card-border-on: 1;
  --card-border-w: 1px;
  --card-border-color: #d8dee8;
  --card-pad: 24px;
  --card-gap: 16px;
  --card-shadow: 0 2px 8px rgb(0 0 0 / 0.06);
  --img-border-on: 1;
  --img-border-w: 1px;
  --img-border-color: #d8dee8;
  --img-shadow: 0 var(--img-shadow-y) var(--img-shadow-blur) rgb(0 0 0 / var(--img-shadow-alpha));
  --img-shadow-blur: 0px;
  --img-shadow-y: 0px;
  --img-shadow-alpha: 0;
  --fs-caption: 14px;
  --color-caption: #525866;
  --space-caption: 16px;
  --meta-bg: #eef2f6;
  --meta-pad: 18px;
  --fs-meta-label: 12.5px;
  --color-meta-label: #525866;
  --fs-meta-value: 15px;
  --fw-meta-value: 500;
  --space-meta: 7px;
  --space-p: 1.35em;
  --space-section: 64px;
  --space-h2: 16px;
  --divider-on: 0;
  --radius-sm: calc(var(--radius-base) / 2);
  --radius-pill: 999px;
  --hero-band: #eef2f6;
  --hero-crop: 80%;
  --hero-gap: 38px;
  --hero-pad-top: 72px;
  --hero-shadow-alpha: 0;
  --radius-linked: 0;
  --radius-pillar: 8px;
  --radius-feature: 8px;
  --radius-thumb: 0px;
  --radius-outcome: 8px;
  --radius-icon: 6px;
  --radius-meta: 12px;
  --radius-callout: 12px;
  --radius-image: 12px;
  --radius-lightbox: 12px;
  --radius-lightbox-img: 6px;
  --radius-nav: 999px;
  --radius-nav-pill: 999px;
  --radius-button: 6px;
  --pillar-title-size: 18px;
  --pillar-title-weight: 400;
  --pillar-title-lh: 1.5;
  --pillar-body-size: 16px;
  --pillar-body-lh: 1.75;
  --pillar-title-gap: 16px;
  --pillar-para-gap: 16px;
  --pillar-pad: 24px;
  --pillar-gap: 16px;
  --feature-title-size: 18px;
  --feature-title-weight: 400;
  --feature-title-lh: 1.6;
  --feature-body-size: 14.5px;
  --feature-body-lh: 1.5;
  --feature-title-gap: 16px;
  --feature-para-gap: 16px;
  --feature-pad: 24px;
  --feature-gap: 16px;
  --outcome-title-size: 18px;
  --outcome-title-weight: 400;
  --outcome-title-lh: 1.5;
  --outcome-body-size: 16px;
  --outcome-body-lh: 1.75;
  --outcome-title-gap: 16px;
  --outcome-para-gap: 16px;
  --outcome-pad: 24px;
  --outcome-gap: 16px;
  --meta-title-size: 12.5px;
  --meta-title-weight: 400;
  --meta-title-lh: 1.5;
  --meta-body-size: 15px;
  --meta-body-lh: 1.45;
  --meta-title-gap: 7px;
  --meta-para-gap: 5px;
  --meta-gap: 16px;
  --callout-title-size: 18px;
  --callout-title-weight: 400;
  --callout-title-lh: 1.5;
  --callout-body-size: 16px;
  --callout-body-lh: 1.75;
  --callout-title-gap: 16px;
  --callout-para-gap: 15px;
  --callout-pad: 24px;
  --callout-gap: 16px;
  --feature-label-size: 14px;
  --feature-label-weight: 600;
  --feature-row-gap: 16px;
  --outcome-icons-on: 1;
  --outcome-icon-placement: top;
  --outcome-icon-tile: 36px;
  --outcome-icon-size: 20px;
  --outcome-icon-bg: #eef2f6;
  --outcome-icon-color: #234e6a;
  --outcome-icon-gap: 12px;
  --glow-strength: 1;
  --results-figure-size: 36px;
  --results-figure-weight: 600;
  --results-label-size: 14.5px;
  --results-context-size: 13px;
  --results-pad: 16px;
  --results-dividers-on: 1;
  --results-space: 40px;
}

/* v6.9 shared closing block and supplied home card imagery */
.cs-closing{position:relative;padding-block:var(--space-section);border:0}
.cs-closing::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(calc(100vw - 40px),calc(var(--w-wide) - 40px));height:1px;background:var(--color-divider)}
.cs-takeaway{background:var(--color-surface-tint);border-radius:var(--radius-base);padding:var(--takeaway-pad,32px);border:0}
.cs-takeaway .cs-takeaway-text{font-family:var(--font-heading),Inter,sans-serif;font-size:var(--takeaway-size,18px);font-weight:var(--takeaway-weight,400);line-height:var(--takeaway-lh,1.6);text-wrap:pretty;max-width:var(--measure);color:var(--color-heading);margin:0}
.cs-closing-note{margin-top:28px}
.cs-closing-note h3{font-family:var(--font-body),Inter,sans-serif;font-size:var(--fs-h3);font-weight:var(--fw-h3);margin:0 0 12px}
.cs-closing-note p{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--color-muted-foreground);margin:0}
.dark .cs-takeaway,[data-theme="dark"] .cs-takeaway{background:var(--muted)}
.dark .cs-takeaway .cs-takeaway-text,[data-theme="dark"] .cs-takeaway .cs-takeaway-text{color:var(--foreground)}
.dark .cs-closing::before,[data-theme="dark"] .cs-closing::before{background:var(--border)}
.home-work-card .home-work-media{aspect-ratio:16/9;padding:0;overflow:hidden;background:var(--color-surface-tint);display:block}
.home-work-card .home-work-media img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:top left;border:0!important;border-radius:0;box-shadow:none;filter:drop-shadow(0 18px 36px rgba(15,25,40,.18))}
.dark .home-work-card .home-work-media,[data-theme="dark"] .home-work-card .home-work-media{background:#161c25}
.dark .home-work-card .home-work-media img,[data-theme="dark"] .home-work-card .home-work-media img{filter:drop-shadow(0 18px 36px rgba(0,0,0,.45))}
.portal-feature-card .portal-thumb{aspect-ratio:16/9;padding:0;overflow:hidden;background:none}
.portal-feature-card .portal-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:top left}
@media(max-width:767px){.cs-takeaway{padding:min(28px,var(--takeaway-pad,32px))}}

/* v7.1 signature color glows, home card image areas only */
:root{--card-sv-base:#f6efec;--card-sv-glow-1:rgba(255,140,110,.45);--card-sv-glow-2:rgba(255,190,150,.45);--card-portal-base:#ecf1f8;--card-portal-glow-1:rgba(80,140,255,.40);--card-portal-glow-2:rgba(90,200,220,.35)}
:root.dark,:root[data-theme="dark"]{--card-sv-base:#241a1a;--card-sv-glow-1:rgba(255,120,95,.30);--card-sv-glow-2:rgba(255,170,130,.22);--card-portal-base:#142033;--card-portal-glow-1:rgba(80,140,255,.32);--card-portal-glow-2:rgba(70,190,215,.24)}
:root .home-work-card .card-media--streetvision{background:radial-gradient(60% 80% at 90% 5%,var(--card-sv-glow-1),transparent 70%),radial-gradient(55% 70% at 10% 100%,var(--card-sv-glow-2),transparent 70%),var(--card-sv-base)}
:root .home-work-card .card-media--customer-portal{background:radial-gradient(60% 80% at 90% 5%,var(--card-portal-glow-1),transparent 70%),radial-gradient(55% 70% at 10% 100%,var(--card-portal-glow-2),transparent 70%),var(--card-portal-base)}
.home-work-card .home-work-media{border-bottom:1px solid var(--color-divider)}
:root.dark .home-work-card .home-work-media,:root[data-theme="dark"] .home-work-card .home-work-media{border-bottom-color:var(--border)}

/* v7.6 revised: centered glow and independent hero width */
:root{--hero-glow-strength:1;--hero-image-width:1320px}
.cs-hero{position:relative;overflow:hidden;isolation:isolate;--hero-glow-1:rgba(124,148,255,.70);--hero-glow-2:rgba(178,140,255,.65);--hero-glow-3:rgba(110,200,230,.45)}
.cs-hero::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(62% 58% at 50% 72%,var(--hero-glow-2),transparent 75%),radial-gradient(85% 50% at 50% 90%,var(--hero-glow-1),transparent 75%),radial-gradient(40% 40% at 50% 62%,var(--hero-glow-3),transparent 72%);filter:blur(60px);opacity:calc(var(--hero-glow-strength,1) * var(--hero-glow-mobile-factor,1));mask-image:linear-gradient(to bottom,transparent var(--hero-glow-start,40%),#000 calc(var(--hero-glow-start,40%) + 12%));-webkit-mask-image:linear-gradient(to bottom,transparent var(--hero-glow-start,40%),#000 calc(var(--hero-glow-start,40%) + 12%))}
.cs-hero>*{position:relative;z-index:1}
.cs-hero .cs-hero__media{width:min(var(--hero-image-width,1320px),calc(100vw - 40px));max-width:none;padding-inline:0;margin-inline:auto}
:root.dark .cs-hero,:root[data-theme="dark"] .cs-hero{--hero-glow-1:rgba(110,135,255,.48);--hero-glow-2:rgba(160,120,255,.42);--hero-glow-3:rgba(80,180,220,.30)}
@media(max-width:699px){.cs-hero{--hero-glow-mobile-factor:.8}}

/* v7.8: soft home card hover, with shared interactive color. */
:root .home-work-card{transition:transform 250ms ease,box-shadow 250ms ease,border-color 250ms ease}
:root .home-work-card:hover{transform:translateY(-4px);border-color:rgba(75,86,148,.35);box-shadow:0 14px 34px rgba(20,30,60,.10),0 2px 6px rgba(20,30,60,.06)}
:root .home-work-card .home-work-media img{transition:transform 400ms ease}
:root .home-work-card:hover .home-work-media img{transform:scale(1.02)}
:root.dark .home-work-card:hover,:root[data-theme="dark"] .home-work-card:hover{border-color:rgba(169,178,224,.40);box-shadow:0 14px 34px rgba(0,0,0,.45)}
:root .portal-feature-card .portal-view{color:var(--color-link)!important}
@media(prefers-reduced-motion:reduce){:root .home-work-card,:root .home-work-card:hover,:root .home-work-card:hover .home-work-media img{transform:none!important;transition:none!important}}

/* v7.9: supplied feature thumbnails fill their 16:9 frame. */
.portal-feature-card .portal-thumb{aspect-ratio:16/9;overflow:hidden;padding:0;background:none}
.portal-feature-card .portal-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

/* v8.0: feature article sheets, with uncropped supplied boards. */
.feature-sheet{position:fixed;inset:56px 0 0;margin:0 auto;width:min(1320px,calc(100vw - 48px));max-width:none;height:calc(100dvh - 56px);max-height:none;padding:0;border:0;border-radius:calc(var(--radius-base,12px)*1.5) calc(var(--radius-base,12px)*1.5) 0 0;background:var(--color-background,var(--color-bg));color:var(--color-foreground,var(--color-heading));box-shadow:0 -8px 40px rgba(0,0,0,.18);overflow:visible}
.feature-sheet[open]{animation:sheet-open 280ms ease-out both}.feature-sheet.sheet-closing{animation:sheet-close 200ms ease-in both}
.feature-sheet::backdrop{background:rgba(10,14,20,.45);backdrop-filter:blur(2px)}
.sheet-scroller{height:100%;overflow:auto;overscroll-behavior:contain;padding:48px 20px 64px;border-radius:inherit}
.sheet-copy,.sheet-footer{max-width:1000px;margin-inline:auto}.sheet-copy h2{font-family:var(--font-heading);font-size:clamp(30px,4vw,44px);font-weight:var(--fw-h2);line-height:1.15;margin:0 0 24px;text-wrap:balance}.sheet-intro{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--color-muted-foreground,var(--color-body));max-width:var(--measure);margin:0}
.sheet-board{margin:32px 0}.sheet-board img{display:block;width:100%;height:auto;border:1px solid var(--color-border,var(--color-divider));border-radius:var(--radius-base)}
.sheet-footer{display:flex;justify-content:space-between;gap:24px}.sheet-footer a,.sheet-full{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--color-link);text-underline-offset:4px}.sheet-footer a:hover,.sheet-full:hover{color:var(--color-link-hover);text-decoration:underline}.sheet-full{display:none;margin-top:16px}
:root .feature-sheet .sheet-close{position:absolute;right:-20px;top:-24px;z-index:3;display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;border-radius:50%;background:#fff;color:#14171c;box-shadow:0 3px 16px rgba(0,0,0,.18);cursor:pointer}
:root.dark .feature-sheet .sheet-close,:root[data-theme="dark"] .feature-sheet .sheet-close{background:#202632;color:#eef1f5}
.sheet-progress{position:absolute;inset:0;width:48px;height:48px;transform:rotate(-90deg)}.sheet-progress circle{fill:none;stroke-width:2.5}.sheet-progress .track{stroke:var(--color-border,var(--color-divider))}.sheet-progress .fill{stroke:var(--color-link);stroke-linecap:round;stroke-dasharray:138.2;stroke-dashoffset:calc(138.2 * (1 - var(--read,0)));transition:stroke-dashoffset 80ms linear}
.sheet-fade{position:absolute;bottom:0;left:0;right:0;height:48px;pointer-events:none;background:linear-gradient(transparent,var(--color-background,var(--color-bg)));border-radius:inherit}.sheet-at-end .sheet-fade{display:none}
.feature-sheet :is(a,button):focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}
@keyframes sheet-open{from{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes sheet-close{from{transform:translateY(0);opacity:1}to{transform:translateY(40px);opacity:0}}
@media(max-width:699px){.feature-sheet{inset:24px 0 0;width:100%;height:calc(100dvh - 24px)}:root .feature-sheet .sheet-close{right:12px;top:12px}.sheet-copy{padding-top:24px}.sheet-full{display:inline-flex}.sheet-footer{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.feature-sheet[open]{animation:sheet-fade-in 280ms ease-out both}.feature-sheet.sheet-closing{animation:sheet-fade-out 200ms ease-in both}.sheet-progress .fill{transition:none}}
@keyframes sheet-fade-in{from{opacity:0}to{opacity:1}}@keyframes sheet-fade-out{from{opacity:1}to{opacity:0}}

/* v8.1: one aligned column and a sheet that fits its article. */
.feature-sheet{inset:56px 0 auto;width:min(1240px,calc(100vw - 48px));height:auto;max-height:calc(100dvh - 56px);border-radius:calc(var(--radius-base,12px)*1.5);overflow:visible}
.feature-sheet.is-full-height{border-bottom-left-radius:0;border-bottom-right-radius:0}
.sheet-scroller{height:auto;max-height:calc(100dvh - 56px);padding:48px 40px 40px;overflow-y:auto}
.sheet-copy,.sheet-board,.sheet-footer{width:100%;max-width:1120px;margin-inline:auto}
.sheet-board{margin-block:32px}.sheet-board img{width:100%;height:auto;object-fit:contain}
@media(max-width:699px){.feature-sheet{inset:24px 0 auto;width:100%;max-height:calc(100dvh - 24px)}.sheet-scroller{max-height:calc(100dvh - 24px);padding-inline:20px}}

:root{--takeaway-size:18px;--takeaway-weight:400;--takeaway-lh:1.6;--takeaway-pad:32px}

/* v8.3: shared-foundation board, shown at its natural aspect ratio. */
.foundation-figure .foundation-trigger:has(img){aspect-ratio:auto;height:auto}
.foundation-figure .foundation-trigger{padding:0;width:100%;cursor:zoom-in;border:1px solid var(--color-border,var(--color-divider));border-radius:var(--radius-base);transition:transform 250ms ease,box-shadow 250ms ease,border-color 250ms ease}
.foundation-figure .foundation-trigger img{display:block;width:100%;height:auto;object-fit:contain;border:0;border-radius:inherit}
.foundation-figure .foundation-trigger:hover{transform:translateY(-4px);border-color:rgba(75,86,148,.35);box-shadow:0 14px 34px rgba(20,30,60,.10),0 2px 6px rgba(20,30,60,.06)}
.dark .foundation-figure .foundation-trigger:hover,[data-theme="dark"] .foundation-figure .foundation-trigger:hover{border-color:rgba(169,178,224,.40);box-shadow:0 14px 34px rgba(0,0,0,.45)}
.foundation-full{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-size:14px}
.feature-sheet [data-sheet-next][hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){.foundation-figure .foundation-trigger:hover{transform:none}}

/* Revised v8.3: wide overview, with readable stacked detail boards. */
.foundation-figure.w-wide{width:100%;max-width:var(--w-wide);padding-inline:20px;margin-inline:auto}
.feature-sheet.is-foundation{width:min(1240px,calc(100vw - 48px))}
.is-foundation :is(.sheet-copy,.foundation-boards,.sheet-footer){width:100%;max-width:1120px;margin-inline:auto}
.is-foundation .sheet-copy :is(.eyebrow,h2,.sheet-intro){max-width:var(--measure)}
.is-foundation .sheet-board{max-width:none;margin:0}.foundation-boards{display:grid;gap:32px;margin-block:32px!important}
.foundation-boards .eyebrow{margin-bottom:14px}.is-foundation .sheet-full{display:none}
.feature-sheet .sheet-board[hidden],.foundation-boards[hidden]{display:none!important}
@media(max-width:699px){.feature-sheet.is-foundation{width:100%}.is-foundation .sheet-full{display:inline-flex}}

/* v8.4 closing spacing and caption treatment */
.portal-closing .cs-closing-note{margin-top:64px}
.portal-closing .cs-takeaway .cs-takeaway-text{font-family:var(--font-body),Inter,sans-serif}
.cs-closing:has(+ .cs-disclaimer){padding-bottom:0}
.cs-disclaimer{padding-top:64px;padding-bottom:48px;border:0}
.cs-disclaimer p{margin:0;font-family:var(--font-body),Inter,sans-serif;font-size:14px;font-weight:400;line-height:var(--lh-body);color:var(--color-muted)}
.cs-disclaimer + .case-contact{border-top:0!important}
.cs-disclaimer + .case-contact::before{display:none}

/* Word-based Portal results retain the shared strip layout. */
.cs-results-words .cs-results-figure{font-size:min(var(--results-figure-size),24px);line-height:1.25;overflow-wrap:normal}

.cs-anatomy-image{display:block;cursor:zoom-in}
.cs-anatomy-image img{display:block;width:100%;height:auto;object-fit:contain;border:1px solid var(--color-divider);border-radius:var(--radius-base)}

/* v8.8: selective body-paragraph lead-ins. */
.portal-v4 .cs-content-section p strong{font-weight:600;color:var(--color-foreground)}

/* v8.9: fifth StreetVision impact card spans the full grid width. */
#impact .portal-outcomes .sv-impact-foundation{grid-column:1/-1}
