:root {
  color-scheme: light;
  --bg: #f7f9f8;
  --white: #fff;
  --ink: #152d39;
  --muted: #51666d;
  --line: #d9e5e4;
  --teal: #0d7079;
  --teal-strong: #085966;
  --teal-pale: #e4f4f2;
  --blue-pale: #ebf0f6;
  --sand: #faf6ef;
  --coral: #e48b5d;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  font-synthesis: none;
}
*, *::before, *::after {box-sizing:border-box}
html {scroll-behavior:smooth; scroll-padding-top:90px}
body {margin:0; color:var(--ink); background:var(--bg); font-size:16px}
a {color:inherit; text-decoration:none}
button,input {font:inherit}
button {cursor:pointer}
img,svg {display:block;max-width:100%}
h1,h2,h3,p {margin:0}
h1,h2,h3 {line-height:1.12;letter-spacing:-.045em}
h1,h2 {font-weight:690}
h3 {font-weight:680}
em {font-family:Georgia,"Times New Roman",serif;font-weight:400;font-style:italic;letter-spacing:-.055em;color:var(--teal)}
::selection {background:#b9eae4;color:var(--ink)}
:focus-visible {outline:3px solid var(--teal);outline-offset:4px}
[hidden] {display:none!important}
.shell {width:min(1320px,calc(100% - 96px));margin-inline:auto}
.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}
.skip-link {position:fixed;top:8px;left:10px;z-index:100;padding:12px 18px;background:var(--ink);color:#fff;transform:translateY(-150%)}
.skip-link:focus {transform:translateY(0)}
.eyebrow {font-size:11px;letter-spacing:.15em;font-weight:760;color:var(--teal);text-transform:uppercase}
.eyebrow-line {display:inline-block;width:19px;height:2px;background:currentColor;vertical-align:middle;margin-right:7px}
.button {display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:51px;padding:13px 20px;border:1px solid transparent;border-radius:5px;font-size:13px;font-weight:700;white-space:nowrap;transition:background .15s,border-color .15s,transform .15s}
.button:hover {transform:translateY(-2px)}
.button-solid {background:var(--teal);color:#fff}
.button-solid:hover {background:var(--teal-strong)}
.button-quiet {color:var(--ink);background:transparent;padding-inline:6px}
.button-quiet:hover,.text-link:hover,.inline-link:hover {color:var(--teal)}
.button-outline {border-color:var(--ink);background:transparent;color:var(--ink)}
.button-outline:hover {background:var(--white)}
.text-link,.inline-link {font-size:13px;font-weight:750;color:var(--teal)}
.site-header {position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--line)}
.nav-inner {width:min(1440px,calc(100% - 64px));height:78px;margin:auto;display:flex;align-items:center;gap:36px}
.brand {display:flex;align-items:center;gap:10px;flex-shrink:0;line-height:1}
.brand-icon {width:32px;height:32px;display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:3px;transform:skewY(-12deg)}
.brand-icon i {display:block;background:var(--teal);border-radius:2px}
.brand-icon i:nth-child(1) {height:12px}.brand-icon i:nth-child(2){height:22px;background:#50aeba}.brand-icon i:nth-child(3){height:31px;background:#26548a}
.brand strong {display:block;font-size:17px;letter-spacing:-.04em}
.brand strong span,.footer-wordmark span {color:var(--teal)}
.brand small {display:block;font-size:8px;font-weight:750;letter-spacing:.27em;margin-top:5px}
.site-nav {margin-left:auto;display:flex;gap:33px;align-items:center}
.site-nav a {display:inline-flex;align-items:center;min-height:40px;font-size:13px;font-weight:650;color:#344e57;white-space:nowrap}
.site-nav a:hover,.site-nav a[aria-current] {color:var(--teal)}
.site-nav a[aria-current] {text-decoration:underline;text-underline-offset:9px}
.nav-contact {display:inline-flex;align-items:center;min-height:40px;gap:25px;border:1px solid #8fb3b4;border-radius:5px;padding:9px 13px;font-size:12px;font-weight:750;white-space:nowrap}
.nav-contact:hover {background:var(--teal-pale)}
.home-page {background:#fff}
.home-hero {padding-block:66px 0}
.hero-intro {display:grid;grid-template-columns:1.65fr 1fr;gap:72px;align-items:end}
.hero-content .eyebrow {font-size:12px;letter-spacing:.1em;color:#48646c}
.hero-content h1 {font-size:clamp(46px,4.65vw,68px);font-weight:560;letter-spacing:-.052em;margin-top:24px;line-height:1.08}
.hero-content h1 span {display:block}
.hero-lede {font-size:18px;line-height:1.6;color:var(--muted);max-width:430px}
.hero-actions {display:flex;flex-wrap:wrap;gap:23px;align-items:center;margin-top:26px}
.hero-actions .button {font-size:14px;border-radius:3px;gap:24px}
.hero-actions .button-solid {background:var(--ink)}
.hero-actions .button-solid:hover {background:var(--teal-strong)}
.hero-metrics {display:flex;gap:45px;border-top:1px solid var(--line);padding-top:24px;margin-top:55px}
.hero-metrics div {display:flex;flex-direction:column;gap:2px}
.hero-metrics strong {font-size:28px;letter-spacing:-.05em;line-height:1.1}
.hero-metrics span {font-size:10px;letter-spacing:.04em;color:var(--muted)}
.hero-visual {padding:28px 30px 22px;border:1px solid #a6d9d6;border-radius:14px;background:linear-gradient(135deg,#f1fbfa,#eaf3f5 57%,#f5f8fa);box-shadow:0 22px 50px rgba(25,97,100,.08);position:relative;overflow:hidden}
.hero-visual::after {content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;background-image:radial-gradient(#8ec5c2 .7px,transparent .7px);background-size:18px 18px}
.hero-visual>* {position:relative;z-index:1}
.visual-title,.visual-bottom {display:flex;justify-content:space-between;gap:10px;font-size:9px;letter-spacing:.12em;font-weight:750;color:#587a7f}
.visual-title {margin-bottom:42px}
.flow-inputs {display:grid;grid-template-columns:repeat(2,1fr);gap:9px;max-width:350px;margin:auto}
.flow-inputs span {border:1px solid #b7d4d7;background:rgba(255,255,255,.85);border-radius:5px;padding:12px 10px;text-align:center;font-size:11px;font-weight:680;color:#335661}
.flow-connector {height:38px;display:flex;justify-content:space-around;max-width:280px;margin:auto}
.flow-connector i {height:100%;width:1px;background:#98bdc1}
.flow-core {display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #6eb6b6;border-radius:8px;padding:19px;box-shadow:0 8px 22px #0d707915}
.core-mark {font-size:33px;color:var(--teal);line-height:1}.flow-core small{display:block;font-size:8px;letter-spacing:.1em;color:var(--teal);font-weight:760}.flow-core strong{font-size:18px;letter-spacing:-.03em}.core-dot{width:8px;height:8px;background:#31ada5;border-radius:50%;margin-left:auto}
.flow-down {height:28px;width:1px;background:#8dbabd;margin:auto}
.flow-review {display:flex;align-items:center;justify-content:center;gap:10px;margin:auto;background:#dff2f0;border:1px solid #9ccfcb;border-radius:5px;padding:10px;max-width:86%;font-size:12px}
.flow-review span {font-size:19px;color:var(--teal)}.flow-review small{border-left:1px solid #a4c6c4;padding-left:10px;font-size:9px;color:#42676a}
.flow-result {display:flex;gap:13px;align-items:center;background:#153d4d;color:#fff;border-radius:6px;padding:15px 19px}
.flow-result>span {font-size:20px;color:#a7eee3}.flow-result strong {display:block;font-size:13px}.flow-result small{display:block;font-size:10px;color:#d0e5e5;margin-top:3px}
.visual-bottom {margin-top:37px;font-size:8px}
.hero-ribbon {border-block:1px solid var(--line);background:#eaf5f4}
.hero-ribbon .shell {display:flex;justify-content:space-between;gap:24px;padding-block:20px;color:var(--teal-strong);font-size:12px;font-weight:700}
.hero-ribbon span:first-child {font-weight:780;color:var(--ink)}
.section {padding-block:110px}.section-heading {display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:36px}
.section-heading h2 {font-size:clamp(38px,4vw,58px);margin-top:14px}
.section-heading>p {font-size:14px;line-height:1.7;color:var(--muted);max-width:365px}
.family-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.family-tile {background:#fff;border:1px solid var(--line);border-radius:7px;padding:24px;min-height:209px;display:flex;flex-direction:column;transition:transform .15s,border-color .15s,box-shadow .15s}
.family-tile:hover {transform:translateY(-3px);border-color:#74b4b8;box-shadow:0 12px 25px #1b56610c}
.family-top {display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:750;letter-spacing:.1em;color:var(--teal)}
.family-top span:last-child {font-size:20px;line-height:1}
.family-tile h3 {font-size:23px;margin-top:30px;letter-spacing:-.04em}
.family-tile p {font-size:13px;line-height:1.55;color:var(--muted);margin-top:9px;max-width:310px}
.section-tail {display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:30px;font-size:12px;color:var(--muted)}
.examples-section {background:#ecf4f3;border-block:1px solid var(--line)}
.example-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.example-card {background:#fff;border:1px solid var(--line);border-radius:7px;padding:23px;display:flex;flex-direction:column;min-height:234px}
.example-no {font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--teal);font-weight:730}
.example-card h3 {font-size:22px;margin-top:19px}.example-card p {font-size:13px;color:var(--muted);line-height:1.6;margin-top:11px;flex:1}.example-card a{margin-top:20px}
.approach-section {background:#fff;border-top:1px solid var(--line)}
.approach-grid {list-style:none;padding:0;margin:50px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.approach-grid li {border-top:2px solid var(--teal);padding-top:20px}
.approach-grid span {font-size:10px;font-weight:750;letter-spacing:.1em;color:var(--teal)}
.approach-grid h3 {font-size:19px;margin-top:35px}.approach-grid p {font-size:13px;line-height:1.65;color:var(--muted);margin-top:13px}
.contact-section,.portfolio-contact,.game-ending {background:#dff1ef;border-radius:12px;padding:50px 55px;margin-block:85px;display:flex;justify-content:space-between;align-items:center;gap:40px}
.approach-section + .contact-section {margin-top:0}
.contact-section h2,.portfolio-contact h2,.game-ending h2 {font-size:clamp(32px,3.8vw,52px);margin-top:11px}
.contact-section p:not(.eyebrow),.portfolio-contact p:not(.eyebrow),.game-ending p:not(.eyebrow){font-size:14px;line-height:1.7;color:var(--muted);margin-top:17px;max-width:585px}
.contact-section .button,.portfolio-contact .button,.game-ending .button{flex-shrink:0}
.site-footer {background:#153640;color:#e8f7f6;padding-block:45px}
.footer-grid {display:grid;grid-template-columns:1.3fr 1fr auto;gap:30px;align-items:start}
.footer-wordmark {font-size:18px;font-weight:800;letter-spacing:-.03em}.footer-wordmark span{color:#5cd7ce}.site-footer p {font-size:12px;color:#b6d1d0;margin-top:9px}.site-footer nav {display:flex;flex-wrap:wrap;gap:15px 25px}.site-footer nav a,.footer-end{font-size:12px;color:#d5e7e5}.site-footer a:hover{color:#8ce2d6}.footer-end{display:flex;flex-direction:column;gap:14px;text-align:right}
/* Full portfolio */
.page-hero {padding-block:85px 54px;border-bottom:1px solid var(--line)}
.page-hero-grid {display:flex;justify-content:space-between;gap:65px;align-items:end;margin-top:18px}
.page-hero h1 {font-size:clamp(48px,5.2vw,76px)}
.page-hero-grid p {font-size:17px;line-height:1.65;color:var(--muted);max-width:410px;margin-bottom:5px}
.page-stat {display:flex;gap:33px;align-items:center;margin-top:54px;font-size:12px;color:var(--muted)}
.page-stat span:not(:last-child){border-right:1px solid var(--line);padding-right:33px;display:flex;gap:7px;align-items:baseline}
.page-stat b {font-size:25px;color:var(--teal);line-height:1}
.portfolio-families {padding-block:70px 90px}
.mini-heading {margin-bottom:22px}.mini-heading h2{font-size:33px;margin-top:10px}
.portfolio-families .family-tile {min-height:190px}
.portfolio-browser {padding-bottom:95px}
.section-heading.compact {margin-bottom:25px}
.catalog-controls {border-top:1px solid var(--line);padding-top:23px}
.filters {display:flex;flex-wrap:wrap;gap:8px}
.filters button {font-size:12px;color:#3e5860;border:1px solid var(--line);border-radius:5px;background:#fff;padding:9px 13px;min-height:42px;font-weight:680}
.filters button span{font-size:10px;opacity:.75;margin-left:7px}.filters button:hover{border-color:#89b6b8}
.filters button[aria-pressed=true]{background:var(--teal);border-color:var(--teal);color:#fff}
.search-row {display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:20px}
.portfolio-search {display:flex;align-items:center;gap:10px;width:min(390px,100%);background:#fff;border:1px solid #b9d4d4;border-radius:5px;padding:12px;color:var(--teal)}
.portfolio-search:focus-within {outline:2px solid var(--teal);outline-offset:1px}
.portfolio-search input {width:100%;border:0;background:transparent;outline:none;font-size:14px;color:var(--ink)}
.portfolio-search input::placeholder{color:#64787f}.search-row p{font-size:12px;color:var(--muted);font-weight:700}
.product-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.product-card {background:#fff;border:1px solid var(--line);border-radius:7px;padding:22px;display:flex;flex-direction:column;min-width:0;transition:border-color .15s,box-shadow .15s}
.product-card:hover {border-color:#92c2c2;box-shadow:0 8px 28px #1548520c}
.card-top {display:flex;justify-content:space-between;align-items:start;gap:12px;font-size:9px;text-transform:uppercase;font-weight:760;letter-spacing:.07em;color:var(--teal)}
.card-top span:last-child{text-align:right;color:#60747b;text-transform:none;letter-spacing:0}
.catalog-card-heading {display:grid;grid-template-rows:49px 36px;gap:5px;margin-top:22px;align-content:start}
.catalog-card-heading h3 {font-size:22px;line-height:1.1;margin:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.card-audience {font-size:12px;color:var(--teal-strong);font-weight:700;margin:0;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.card-outcome {font-size:13px;line-height:1.6;color:var(--muted);margin-top:15px;flex:1}
.product-card details {border-top:1px solid var(--line);margin-top:22px}
.product-card summary,.game-card summary {cursor:pointer;display:flex;justify-content:space-between;gap:10px;list-style:none;font-size:12px;font-weight:700;padding-block:15px}
.product-card summary::-webkit-details-marker,.game-card summary::-webkit-details-marker{display:none}
.product-card summary span,.game-card summary span {color:var(--teal);font-size:19px;font-weight:400;line-height:1;transition:transform .15s}
.product-card details[open] summary span,.game-card details[open] summary span{transform:rotate(45deg)}
.card-detail {padding-bottom:15px;font-size:12px;line-height:1.65;color:var(--muted)}
.card-detail p+p {margin-top:12px}.card-detail strong{color:var(--ink)}
.card-bottom {display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:16px;margin-top:auto}
.card-demo {font-size:12px;color:var(--teal);font-weight:760}.card-demo:hover{color:var(--teal-strong);text-decoration:underline;text-underline-offset:4px}
.card-index {font-size:10px;color:#8ca0a6;font-weight:750;white-space:nowrap}
.empty-state {padding:50px;text-align:center;background:#fff;border:1px dashed #a9c9c9;border-radius:7px}.empty-state h3{font-size:24px}.empty-state p{font-size:14px;color:var(--muted);margin:10px 0 25px}
.portfolio-contact {margin-top:0}
/* Image-led game portfolio */
.games-page {background:var(--sand)}.games-page em{color:#b45b38}
.games-page .eyebrow {color:#a44d2d}
.games-hero {display:grid;grid-template-columns:.72fr 1.28fr;gap:45px;align-items:center;padding-block:70px 80px}
.games-hero h1 {font-size:clamp(65px,7vw,108px);margin-top:18px}
.games-hero-copy>p:not(.eyebrow){font-size:17px;line-height:1.7;color:#625e5a;max-width:440px;margin-top:26px}
.games-hero-actions {display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:29px}
.games-hero-image {position:relative;overflow:hidden;border-radius:10px;background:#d9d3ca;box-shadow:0 18px 40px #56453128}
.games-hero-image>img {width:100%;height:450px;object-fit:cover}
.games-hero-image>div {position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#102530df);color:#fff;padding:65px 22px 22px;display:flex;align-items:end;gap:12px}
.games-hero-image>div span {font-size:9px;font-weight:760;letter-spacing:.08em}.games-hero-image>div strong{font-size:20px;letter-spacing:-.04em;margin-right:auto}
.games-intro {background:#ffe7ce;border-block:1px solid #efd0b1}
.games-intro .shell {display:flex;justify-content:space-between;align-items:center;gap:25px;padding-block:22px}
.games-intro span{font-size:11px;color:#9b4c27;font-weight:790;letter-spacing:.08em;white-space:nowrap}
.games-intro p{font-size:12px;color:#5d524b;max-width:490px;line-height:1.5}
.games-list {padding-block:95px}.games-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.game-card {background:#fff;border:1px solid #e5ddd3;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.game-image {position:relative;background:#e3dfd7;overflow:hidden}.game-image img{width:100%;height:290px;object-fit:cover;transition:transform .3s}.game-card:hover img{transform:scale(1.025)}
.game-image span{position:absolute;top:13px;right:13px;background:#fffef3eb;padding:6px 9px;font-size:10px;font-weight:760;border-radius:3px}
.game-content {padding:24px 26px 26px;display:flex;flex-direction:column;flex:1}
.game-platform {color:#a44d2d;font-size:10px;font-weight:770;letter-spacing:.08em;text-transform:uppercase}
.game-content h3 {font-size:31px;margin-top:11px}
.game-tagline {font-size:16px;color:#314751;margin-top:8px}
.game-description {font-size:13px;line-height:1.65;color:var(--muted);margin-top:18px;flex:1}
.game-content details {border-top:1px solid var(--line);margin-top:19px}
.game-content details p{font-size:12px;color:var(--muted);line-height:1.6;padding-bottom:17px}
.game-link {display:inline-flex;align-items:center;justify-content:space-between;gap:15px;align-self:flex-start;margin-top:4px;color:#a44d2d;font-size:13px;font-weight:760}.game-link:hover{text-decoration:underline;text-underline-offset:3px}
.game-no-link{font-size:11px;color:#75858a;margin-top:4px}
.game-ending {background:#ffe6cd;margin-top:0}
.game-ending .button {background:#9c4a2b}.game-ending .button:hover{background:#7e391e}
@media(max-width:1100px){
 .shell {width:calc(100% - 64px)}.nav-inner{width:calc(100% - 48px)}
 .hero-intro{grid-template-columns:1fr;gap:26px}.hero-summary{display:grid;grid-template-columns:1fr auto;align-items:center;gap:36px}.hero-actions{margin-top:0}.hero-metrics{gap:26px}.hero-visual{padding:21px}
 .family-tile{padding:20px}.family-tile h3{font-size:20px}.example-card h3{font-size:20px}
 .games-hero-image>img{height:390px}
}
@media(max-width:820px){
 .nav-inner{gap:22px}.site-nav{gap:20px}.site-nav .nav-approach{display:none}
 .home-hero{padding-top:50px}.hero-summary{display:block}.hero-content h1{font-size:clamp(42px,6.6vw,60px)}.hero-lede{max-width:580px}.hero-actions{margin-top:26px}.hero-metrics{margin-top:40px}
 .hero-visual{max-width:610px;width:100%;justify-self:center}
 .hero-ribbon .shell{flex-wrap:wrap;justify-content:flex-start;gap:13px 25px}.hero-ribbon span:first-child{width:100%}
 .family-grid,.example-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .section{padding-block:80px}.section-heading{align-items:start}.section-heading>p{max-width:285px}
 .approach-grid{grid-template-columns:repeat(2,1fr);gap:35px}
 .page-hero-grid{align-items:start}.page-hero h1{font-size:58px}.page-hero-grid p{font-size:15px;max-width:285px}
 .games-hero{grid-template-columns:1fr;padding-block:55px}.games-hero h1{font-size:83px}.games-hero-image>img{height:440px}
 .games-intro .shell{align-items:start;flex-direction:column;gap:8px}
 .footer-grid{grid-template-columns:1fr 1fr}.footer-end{text-align:left;grid-column:1/-1;flex-direction:row;justify-content:space-between}
}
@media(max-width:600px){
 html{scroll-padding-top:75px}.shell{width:calc(100% - 40px)}.nav-inner{width:calc(100% - 32px);height:68px;gap:13px}
 .brand{gap:6px}.brand-icon{width:23px;height:25px;gap:2px}.brand-icon i:nth-child(1){height:10px}.brand-icon i:nth-child(2){height:17px}.brand-icon i:nth-child(3){height:24px}
 .brand strong{font-size:13px}.brand small{font-size:6px;letter-spacing:.17em;margin-top:4px}
 .site-nav{gap:12px}.site-nav a{font-size:11px}.nav-contact{font-size:11px;padding:7px 8px;gap:8px}
 .home-hero{padding-top:38px}.eyebrow{font-size:9px}.hero-content .eyebrow{font-size:11px}.hero-content h1{font-size:clamp(30px,8.5vw,46px);margin-top:19px}.hero-lede{font-size:16px}.hero-actions{gap:18px;margin-top:23px}.hero-actions .button{font-size:13px;padding-inline:15px;gap:18px}.hero-actions .button-quiet{padding-inline:0;gap:12px}
 .hero-metrics{gap:0;justify-content:space-between;margin-top:35px;padding-top:20px}.hero-metrics strong{font-size:24px}.hero-metrics span{font-size:9px}
 .hero-visual{padding:19px}.visual-title{font-size:7px;margin-bottom:27px}.flow-inputs span{font-size:9px;padding:10px 4px}.flow-connector{height:25px}.flow-core{padding:14px}.flow-core strong{font-size:15px}.core-mark{font-size:27px}.flow-review{max-width:92%;font-size:10px}.flow-review small{font-size:8px}.flow-result{padding:12px}.flow-result strong{font-size:12px}.flow-result small{font-size:9px}.visual-bottom{font-size:6px;margin-top:23px}
 .hero-ribbon .shell{font-size:10px;gap:10px 16px;padding-block:15px}
 .section{padding-block:62px}.section-heading{display:block;margin-bottom:25px}.section-heading h2{font-size:clamp(36px,9vw,48px)}.section-heading>p{margin-top:17px;font-size:13px;max-width:380px}
 .family-grid,.example-grid,.product-grid,.games-grid{grid-template-columns:1fr}.family-tile{min-height:165px;padding:21px}.family-tile h3{margin-top:21px;font-size:22px}.family-tile p{font-size:12px}.section-tail{display:block;font-size:11px}.section-tail a{display:block;margin-top:9px}
 .example-card{min-height:185px}
 .approach-grid{gap:28px 16px;margin-top:33px}.approach-grid h3{font-size:16px;margin-top:24px}.approach-grid p{font-size:12px}
 .contact-section,.portfolio-contact,.game-ending{margin-block:55px;padding:31px 25px;display:block}.contact-section h2,.portfolio-contact h2,.game-ending h2{font-size:36px}.contact-section p:not(.eyebrow),.portfolio-contact p:not(.eyebrow),.game-ending p:not(.eyebrow){font-size:13px}.contact-section .button,.portfolio-contact .button,.game-ending .button{margin-top:25px}
 .site-footer{padding-block:33px}.footer-grid{display:block}.site-footer nav{margin-top:27px;gap:12px 20px}.footer-end{margin-top:25px;font-size:10px}
 .page-hero{padding-block:60px 42px}.page-hero-grid{display:block;margin-top:15px}.page-hero h1{font-size:clamp(46px,11vw,61px)}.page-hero-grid p{font-size:14px;margin-top:22px;max-width:420px}
 .page-stat{flex-wrap:wrap;gap:12px 20px;margin-top:33px;font-size:10px}.page-stat span:not(:last-child){padding-right:18px}.page-stat b{font-size:20px}.page-stat span:last-child{width:100%}
 .portfolio-families{padding-block:50px 58px}.mini-heading h2{font-size:29px}.portfolio-families .family-tile{min-height:160px}.portfolio-browser{padding-bottom:60px}
 .filters{gap:6px}.filters button{font-size:10px;padding:8px 10px;min-height:38px}.filters button span{font-size:8px;margin-left:4px}.search-row{gap:9px;flex-direction:column;align-items:stretch}.portfolio-search{width:100%}.search-row p{font-size:11px}
 .product-card{padding:21px}.card-outcome{flex:0}.card-top{font-size:8px}.product-card details{margin-top:19px}
 .games-hero{gap:35px;padding-block:45px}.games-hero h1{font-size:69px}.games-hero-copy>p:not(.eyebrow){font-size:15px;margin-top:19px}.games-hero-actions{gap:9px}.games-hero-actions .button{font-size:11px;gap:12px;padding-inline:12px}.games-hero-image>img{height:255px}.games-hero-image>div{padding:45px 14px 14px}.games-hero-image>div strong{font-size:16px}.games-hero-image>div span{font-size:7px}
 .games-intro span{font-size:9px;white-space:normal}.games-list{padding-block:55px}.games-grid{gap:19px}.game-image img{height:220px}.game-content{padding:20px}.game-content h3{font-size:27px}.game-tagline{font-size:14px}.game-description{font-size:12px}
}
@media(max-width:350px){.nav-inner{gap:8px}.site-nav{gap:8px}.site-nav a{font-size:10px}.nav-contact{font-size:10px;padding-inline:6px}.brand strong{font-size:12px}.brand-icon{width:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Product evidence */
.hero-showcase {margin:49px 0 0;min-width:0}
.showcase-caption {display:flex;justify-content:space-between;align-items:end;gap:28px;border-top:1px solid #cbd8db;padding-block:22px 24px}
.showcase-caption .eyebrow {font-size:11px;letter-spacing:.08em;color:#526b73}
.showcase-caption h2 {font-size:24px;font-weight:650;letter-spacing:-.035em;margin-top:7px}
.showcase-description {font-size:14px;color:var(--muted);margin-top:5px}
.showcase-actions {display:flex;flex-direction:column;align-items:end;gap:9px;flex-shrink:0}
.showcase-actions>span {font-size:12px;color:var(--muted)}
.showcase-link {color:var(--teal-strong);font-size:14px;font-weight:700;white-space:nowrap}.showcase-link:hover{text-decoration:underline;text-underline-offset:4px}
.showcase-stage {background:#e5eff1;padding:32px 6% 0;overflow:hidden;max-height:540px}
.showcase-media-link {display:block;max-width:1140px;margin-inline:auto;border:1px solid #b9c9d1;border-bottom:0;box-shadow:0 4px 16px rgba(22,51,65,.08)}
.showcase-media-link img {width:100%;height:auto;aspect-ratio:16/9;background:#fff}
.showcase-media-link:focus-visible {outline-offset:-4px}
.buyer-section {padding-bottom:115px}
.buyer-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.buyer-path {background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px;min-height:305px;display:flex;flex-direction:column;transition:transform .15s,border-color .15s,box-shadow .15s}
.buyer-path:hover {transform:translateY(-3px);border-color:#73b7b5;box-shadow:0 12px 28px rgba(20,79,84,.08)}
.buyer-index {color:var(--teal);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.buyer-path h3 {font-size:clamp(23px,2.1vw,31px);line-height:1.17;margin-top:33px;max-width:320px}
.buyer-path p {font-size:13px;line-height:1.62;color:var(--muted);margin-top:14px;max-width:340px}
.path-cta {color:var(--teal);font-size:12px;font-weight:790;margin-top:auto;padding-top:22px;display:flex;justify-content:space-between;gap:15px}
.evidence-section {background:#edf5f3;border-block:1px solid #d6e9e5}
.evidence-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.evidence-preview {background:#fff;border:1px solid #cbdedd;border-radius:9px;overflow:hidden;min-width:0;display:flex;flex-direction:column}
.evidence-media {position:relative;background:#eaf0f0}.evidence-media img {width:100%;height:300px;object-fit:cover;object-position:top;display:block}
.evidence-media>span {position:absolute;top:15px;left:16px;color:#153b46;background:#ffffffed;border:1px solid #d9e5e4;border-radius:3px;padding:7px 10px;font-size:10px;font-weight:790;letter-spacing:.05em;text-transform:uppercase}
.evidence-media>p {background:#f6faf9;border-top:1px solid var(--line);color:#5b7478;font-size:11px;line-height:1.5;padding:10px 16px}
.evidence-copy {padding:28px;display:flex;flex-direction:column;flex:1}.evidence-copy h3 {font-size:35px;margin-top:8px}
.evidence-copy>p:not(.eyebrow) {font-size:14px;line-height:1.65;color:var(--muted);margin-top:13px}
.evidence-copy .text-link {margin-top:auto;padding-top:23px}
.catalog-link {border-top:1px solid #cbdedd;display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:38px;padding-top:27px}
.catalog-link span {display:block;color:var(--teal);font-size:10px;letter-spacing:.09em;font-weight:760;text-transform:uppercase}.catalog-link strong {display:block;font-size:19px;letter-spacing:-.03em;margin-top:5px}
.contact-provenance {display:inline-block;margin-top:15px;color:var(--teal);font-size:12px;font-weight:750}.contact-provenance:hover{text-decoration:underline;text-underline-offset:4px}
.selected-work {padding-block:90px 35px}
.story-list {display:grid;gap:26px}.story-panel {display:grid;grid-template-columns:1.05fr .95fr;gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;scroll-margin-top:100px}
.story-panel:nth-child(even) .story-media {order:2}.story-panel:nth-child(even) .story-copy {order:1}
.story-media {min-width:0;background:#eef4f3;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-start}
.story-panel:nth-child(even) .story-media {border-left:1px solid var(--line);border-right:0}
.story-media-head {display:flex;justify-content:space-between;gap:14px;padding:16px 18px;color:var(--teal);font-size:9px;letter-spacing:.08em;text-transform:uppercase;font-weight:800}
.story-media img {width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:top;border-block:1px solid var(--line)}
.story-media>p {font-size:11px;color:#5e767c;padding:15px 18px}
.story-copy {padding:36px 39px 38px;display:flex;flex-direction:column}
.story-copy h3 {font-size:clamp(34px,3.1vw,45px);margin-top:10px}.story-decision {font-size:19px;line-height:1.4;letter-spacing:-.025em;font-weight:660;margin-top:15px}
.story-description {font-size:13px;line-height:1.7;color:var(--muted);margin-top:13px}.story-audience {font-size:12px;color:var(--muted);margin-top:15px}.story-audience strong{color:var(--ink);margin-right:5px}
.story-flow {display:grid;gap:0;border-block:1px solid var(--line);margin:24px 0 0}.story-flow div {display:grid;grid-template-columns:76px 1fr;gap:10px;border-bottom:1px solid var(--line);padding:10px 0}.story-flow div:last-child{border-bottom:0}
.story-flow dt {font-size:10px;color:var(--teal);text-transform:uppercase;letter-spacing:.08em;font-weight:800}.story-flow dd {margin:0;font-size:12px;color:#465e64;line-height:1.5}
.story-boundary {background:#f0f7f5;border-left:3px solid #7dbdb8;margin-top:23px;padding:13px 15px}.story-boundary strong{font-size:11px;color:#255e61}.story-boundary p{font-size:11px;line-height:1.6;color:#526b71;margin-top:5px}
.story-actions {display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:22px}.story-actions .button {font-size:11px;gap:17px;padding-inline:13px;min-height:42px}.story-actions .button-quiet {white-space:normal}
@media(max-width:1100px){
 .showcase-stage{padding-inline:4%;max-height:470px}.evidence-media img{height:250px}.story-copy{padding:29px}.story-actions .button-quiet{padding-left:5px}
}
@media(max-width:820px){
 .hero-showcase{margin-top:40px}.showcase-stage{padding-top:22px;max-height:none}
 .buyer-grid{grid-template-columns:1fr}.buyer-path{min-height:0;padding:24px}.buyer-path h3{margin-top:19px}.buyer-path p{max-width:680px}.path-cta{padding-top:20px}
 .evidence-grid{grid-template-columns:1fr}.evidence-media img{height:auto;aspect-ratio:16/9}
 .story-panel{grid-template-columns:1fr}.story-panel:nth-child(even) .story-media,.story-panel:nth-child(even) .story-copy{order:initial}.story-media,.story-panel:nth-child(even) .story-media{border:0;border-bottom:1px solid var(--line)}
 .story-media img{max-height:440px}.selected-work{padding-block:75px 25px}
}
@media(max-width:600px){
 .hero-showcase{margin-top:34px}.showcase-caption{display:block;padding-block:19px 20px}.showcase-caption .eyebrow{font-size:10px}.showcase-caption h2{font-size:23px}.showcase-description{font-size:14px;max-width:290px}.showcase-actions{flex-direction:row;justify-content:space-between;align-items:center;gap:16px;margin-top:18px}.showcase-actions>span{font-size:11px}.showcase-link{font-size:13px}
 .showcase-stage{padding:18px 18px 0;margin-inline:-20px}.showcase-media-link{width:100%;overflow:hidden}.showcase-media-link img{width:150%;max-width:none;height:auto;aspect-ratio:16/9;margin-left:-50%}
 .buyer-section{padding-bottom:65px}.buyer-path{padding:21px}.buyer-path h3{font-size:25px}.buyer-path p{font-size:12px}
 .evidence-copy{padding:22px}.evidence-copy h3{font-size:30px}.evidence-copy>p:not(.eyebrow){font-size:13px}
 .catalog-link{display:block;margin-top:26px;padding-top:20px}.catalog-link strong{font-size:17px}.catalog-link a{display:inline-block;margin-top:12px}
 .selected-work{padding-block:60px 15px}.story-list{gap:18px}.story-media-head{padding:12px;font-size:8px}.story-media>p{padding:11px 13px;font-size:10px}.story-copy{padding:23px 21px 25px}.story-copy h3{font-size:33px}.story-decision{font-size:17px}.story-description{font-size:12px}.story-flow div{grid-template-columns:62px 1fr}.story-flow dd{font-size:11px}.story-actions{align-items:stretch}.story-actions .button{width:100%}
}

/* Enterprise presentation: services, applications and delivery evidence. */
.company-page,.business-page {background:#fff;--ink:#142333;--muted:#526171;--teal:#006c78;--teal-strong:#004e5a;--line:#d9dfe5;color:var(--ink)}
.company-page .eyebrow,.business-page .eyebrow {font-size:12px;letter-spacing:.12em;font-weight:720}
.company-page .button,.business-page .button {font-size:14px;border-radius:0;min-height:52px;gap:30px;padding:14px 22px}
.company-page .button:hover,.business-page .button:hover {transform:none}
.company-page .text-link,.business-page .text-link {font-size:15px;font-weight:650}
.site-header {background:#fff;border-bottom:1px solid #d9dfe5}
.nav-inner {height:88px;gap:32px}
.brand strong {font-size:20px;font-weight:780}
.brand small {font-size:9px;letter-spacing:.22em}
.brand-icon {width:35px;height:35px}
.site-nav {gap:28px}
.site-nav a {font-size:14px;font-weight:570;color:#273d50}
.nav-contact {border-radius:0;min-height:44px;font-size:13px;gap:20px;padding:10px 17px;background:#142333;color:#fff;border-color:#142333}
.nav-contact:hover {background:#006c78;color:#fff;border-color:#006c78}
.mobile-navigation {display:none}
.enterprise-hero {display:grid;grid-template-columns:1fr 1fr;background:#fff;min-height:670px}
.enterprise-hero-copy {padding:64px 60px 64px max(48px,calc((100vw - 1320px)/2));align-self:center}
.enterprise-hero h1 {font-size:clamp(48px,4.25vw,70px);font-weight:590;line-height:1.07;letter-spacing:-.052em;margin-top:27px}
.enterprise-hero h1 span {color:var(--teal-strong)}
.enterprise-hero-copy>p:not(.eyebrow) {font-size:18px;line-height:1.65;max-width:560px;margin-top:28px;color:var(--muted)}
.enterprise-hero-actions {display:flex;align-items:center;flex-wrap:wrap;gap:24px 30px;margin-top:31px}
.hero-work-link {display:inline-flex;align-items:center;gap:16px;min-height:48px;font-size:14px;font-weight:660}
.hero-work-link:hover {color:var(--teal)}
.enterprise-hero-image {position:relative;min-width:0;overflow:hidden;background:#d7e5eb}
.enterprise-hero-image img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 47%}
.service-navigation {border-block:1px solid var(--line)}
.service-navigation>.shell {display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.service-navigation a {display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;padding-block:24px;font-size:16px;font-weight:600}
.service-navigation a span {color:var(--teal)}
.service-navigation a:hover {color:var(--teal)}
.enterprise-heading {display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:end}
.enterprise-heading h2,.company-statement h2,.inquiry-intro h2,.company-focus h2,.company-business h2 {font-size:clamp(36px,3.35vw,49px);font-weight:570;line-height:1.12;letter-spacing:-.04em;margin-top:20px}
.enterprise-heading>p,.enterprise-heading>div>p:not(.eyebrow) {font-size:17px;color:var(--muted);line-height:1.7;max-width:540px}
.enterprise-heading>div>.text-link {display:inline-block;margin-top:23px}
.enterprise-services {padding-block:100px 94px}
.service-previews {display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:55px}
.service-preview {display:flex;flex-direction:column;border-top:2px solid #142333;padding-top:24px}
.service-preview h3 {font-size:28px;font-weight:600;letter-spacing:-.035em;line-height:1.2}
.service-preview h3 a {display:flex;justify-content:space-between;align-items:start;gap:15px}
.service-preview h3 span {font-size:20px;color:var(--teal);margin-top:3px}
.service-preview>p {font-size:16px;line-height:1.65;color:var(--muted);margin-top:20px;min-height:106px}
.scope-label {font-size:11px;font-weight:720;letter-spacing:.1em;margin-top:22px;color:#617280}
.service-preview ul {list-style:none;padding:0;margin:13px 0 28px;display:grid;gap:12px}
.service-preview li {font-size:14px;line-height:1.55;padding-left:15px;position:relative;color:#334858}
.service-preview li::before {content:'—';position:absolute;left:0;color:#718491}
.service-preview>.text-link {margin-top:auto}
.business-applications {background:#142c40;color:#fff;padding-block:86px}
.business-applications .eyebrow {color:#8fcfd8}
.application-grid {display:grid;grid-template-columns:1fr 1fr;gap:100px}
.application-grid h2 {font-size:clamp(36px,3.3vw,48px);font-weight:550;letter-spacing:-.035em;line-height:1.15;margin-top:24px}
.application-grid>div>p:not(.eyebrow) {font-size:17px;line-height:1.7;color:#c8d6df;max-width:490px;margin-top:26px}
.application-links {border-top:1px solid #526778}
.application-links a {display:block;position:relative;border-bottom:1px solid #526778;padding:25px 42px 25px 0}
.application-links a>span {font-size:20px;line-height:1.4;font-weight:560}
.application-links a p {font-size:15px;line-height:1.6;color:#c8d6df;margin-top:10px;max-width:490px}
.application-links a b {position:absolute;right:0;top:27px;font-size:22px;font-weight:400;color:#8fcfd8}
.application-links a:hover>span {text-decoration:underline;text-underline-offset:5px}
.enterprise-work {padding-block:100px 85px}
.evidence-showcase {display:grid;grid-template-columns:1fr 1fr;gap:60px 44px;margin-top:54px}
.company-project {min-width:0;display:flex;flex-direction:column;gap:25px}
.company-project:first-child {grid-column:1/-1;display:grid;grid-template-columns:1.18fr .82fr;gap:55px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:55px}
.project-figure {margin:0;min-width:0}
.project-figure>a {display:block;border:1px solid var(--line);background:#f2f5f7}
.project-figure img {width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;object-position:top}
.project-figure figcaption {padding-top:12px;font-size:12px;color:#5a6c79;line-height:1.55}
.project-copy h3 {font-size:34px;font-weight:600;letter-spacing:-.04em;margin-top:14px}
.company-project:first-child .project-copy h3 {font-size:44px}
.project-statement {font-size:20px;line-height:1.45;font-weight:560;letter-spacing:-.015em;margin-top:15px;max-width:560px}
.project-description {font-size:16px;line-height:1.65;color:var(--muted);margin-top:15px;max-width:570px}
.project-audience {font-size:13px;line-height:1.6;color:#607181;margin-top:16px}
.project-links {display:flex;flex-wrap:wrap;gap:15px 25px;margin-top:24px}
.company-catalog-link {display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:28px;margin-top:48px}
.company-catalog-link p {font-size:14px;color:#607181}
.company-catalog-link .text-link {font-size:14px}
.delivery-preview {background:#f0f3f6;padding-block:86px}
.delivery-stages {padding:0;margin:51px 0 0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.delivery-stages li {border-top:2px solid #142333;padding-top:21px}
.delivery-step {font-size:13px;font-weight:650;color:var(--teal)}
.delivery-stages h3 {font-size:23px;font-weight:590;line-height:1.3;letter-spacing:-.025em;margin-top:23px}
.delivery-stages p {font-size:15px;line-height:1.65;color:#526171;margin-top:16px}
.delivery-output {display:block;font-size:13px;line-height:1.6;color:#607181;margin-top:17px}
.company-statement {display:grid;grid-template-columns:.55fr 1.45fr;gap:80px;padding-block:81px;border-bottom:1px solid var(--line)}
.company-statement>.eyebrow {padding-top:28px}
.company-statement h2 {margin-top:0;font-size:36px}
.company-statement>div {display:grid;grid-template-columns:1fr 1fr;gap:25px 60px}
.company-statement p:not(.eyebrow) {font-size:16px;line-height:1.7;color:var(--muted)}
.company-statement .text-link {grid-column:2}
.enterprise-contact {padding-block:96px}
.inquiry-grid {display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:start}
.inquiry-intro>p:not(.eyebrow) {font-size:17px;line-height:1.7;color:var(--muted);margin-top:26px;max-width:430px}
.contact-details {border-top:1px solid var(--line);margin-top:34px;padding-top:24px}
.contact-details>span {display:block;font-size:11px;font-weight:730;letter-spacing:.1em;color:#617280}
.contact-details a {display:inline-block;font-size:17px;font-weight:590;color:var(--teal-strong);margin-top:13px;overflow-wrap:anywhere}
.contact-details p {font-size:13px;color:#617280;margin-top:9px}
.inquiry-panel {background:#f0f3f6;border-top:2px solid #142333;padding:32px}
.inquiry-fields {display:grid;grid-template-columns:1fr 1fr;gap:22px}
.inquiry-panel label {display:block;font-size:13px;font-weight:630;color:#233a4d}
.inquiry-panel input,.inquiry-panel select,.inquiry-panel textarea {display:block;width:100%;min-width:0;background:#fff;border:1px solid #bac7d1;border-radius:0;color:#142333;font:inherit;font-size:16px;font-weight:400;padding:12px;margin-top:8px;line-height:1.5}
.inquiry-panel input,.inquiry-panel select {height:49px}
.inquiry-panel textarea {resize:vertical;min-height:115px}
.inquiry-panel form>label {margin-top:23px}
.inquiry-panel .button {margin-top:24px}
.inquiry-note {font-size:12px;color:#617280;margin-top:14px;line-height:1.6}
#inquiry-draft h3 {font-size:27px;letter-spacing:-.03em}
#inquiry-draft>p {font-size:15px;color:#526171;line-height:1.65;margin-top:14px}
.draft-label {margin-top:24px}
.draft-actions {display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:14px}
.text-button {background:none;border:0;padding:10px 0;min-height:44px;color:#004e5a;font-size:14px;font-weight:650;text-decoration:underline;text-underline-offset:4px}
#inquiry-copy-status {font-size:13px;color:#526171}
.site-footer {background:#142333;color:#fff;border-top:0;padding-block:60px 24px}
.enterprise-footer {display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:50px}
.footer-wordmark {display:block;font-size:27px;letter-spacing:-.04em;line-height:1.15;font-weight:760}
.footer-wordmark span {color:#7ec5ce}
.footer-wordmark small {display:block;font-size:10px;letter-spacing:.28em;margin-top:9px}
.footer-intro p {font-size:14px;line-height:1.7;margin-top:24px;color:#bdcbd4;max-width:280px}
.enterprise-footer nav {display:flex;flex-direction:column;gap:12px;align-items:start}
.footer-label {font-size:11px;letter-spacing:.13em;font-weight:650;margin-bottom:6px;color:#8fcfd8}
.enterprise-footer nav a {font-size:14px;line-height:1.6;color:#e0e7ec}
.enterprise-footer nav a:hover {text-decoration:underline;text-underline-offset:4px}
.enterprise-footer .footer-end {grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;border-top:1px solid #405363;padding-top:24px;margin-top:12px;font-size:12px;color:#bdcbd4}
.photo-credit {font-size:11px;color:#9caeba}
.business-page em {font:inherit;letter-spacing:inherit;color:inherit}
.business-page .page-hero {padding-block:75px 55px}
.business-page .page-hero h1 {font-size:clamp(45px,5.2vw,70px);font-weight:570}
.business-page .section-heading h2 {font-weight:560}
.business-page .story-panel {border:0;border-top:1px solid #cbd6df;border-radius:0;gap:44px;padding-block:40px}
.business-page .story-media,.business-page .story-panel:nth-child(even) .story-media {border:0;background:#f0f3f6}
.business-page .story-copy {padding:20px 0}
.business-page .story-copy h3 {font-weight:590}
.business-page .story-description {font-size:15px}
.business-page .story-audience {font-size:14px}
.business-page .story-flow dt {font-size:12px}
.business-page .story-flow dd {font-size:14px}
.business-page .story-boundary {border-left:0;background:#f0f3f6;padding:14px 16px}
.business-page .story-boundary summary {font-size:13px;font-weight:630;cursor:pointer;color:#294b62}
.business-page .story-boundary p {font-size:13px;margin-top:12px}
.business-page .story-actions .button {font-size:13px;min-height:46px}
.business-page .story-media img {aspect-ratio:auto;object-fit:contain}
.project-stories {padding-block:55px 35px}
.project-story {display:grid;grid-template-columns:1.05fr .95fr;gap:44px;border-top:1px solid var(--line);padding-block:40px;scroll-margin-top:100px}
.project-story-media,.project-story-copy {min-width:0}
.project-story figure {margin:0}
.project-story img {width:100%;height:auto;display:block;border:1px solid var(--line)}
.project-story figcaption,.retrieval-diagram>p {font-size:11px;line-height:1.6;color:var(--muted);margin-top:12px}
.project-story-copy h3 {font-size:clamp(33px,3vw,43px);font-weight:590;margin-top:14px;letter-spacing:-.035em}
.project-story-lead {font-size:20px;line-height:1.45;font-weight:560;margin-top:18px}
.project-story-copy>p:not(.eyebrow):not(.project-story-lead) {font-size:15px;line-height:1.75;color:var(--muted);margin-top:16px}
.project-story-steps {list-style:none;padding:0;margin:25px 0 0;counter-reset:step}
.project-story-steps li {counter-increment:step;display:grid;grid-template-columns:25px 75px 1fr;gap:8px;border-top:1px solid var(--line);padding:13px 0;font-size:13px;line-height:1.6}
.project-story-steps li:before {content:counter(step,decimal-leading-zero);color:var(--teal);font-size:11px;font-weight:700}
.project-story-steps span {color:var(--muted)}
.workflow-captures {margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.workflow-captures summary {font-size:13px;font-weight:600;cursor:pointer;color:var(--teal)}
.workflow-captures>div {display:grid;gap:23px;margin-top:18px}
.project-story-facts {margin-top:25px}
.project-story-facts>div {display:grid;grid-template-columns:70px 1fr;gap:15px;border-top:1px solid var(--line);padding:13px 0;font-size:14px;line-height:1.6}
.project-story-facts dt {font-weight:650;color:var(--teal)}
.project-story-facts dd {margin:0;color:var(--muted)}
.retrieval-diagram {align-self:start;padding:30px;background:#edf3f6;border:1px solid var(--line)}
.diagram-label {display:block;font-size:10px;letter-spacing:.09em;color:var(--teal);font-weight:750;margin-bottom:25px}
.retrieval-node {padding:21px;background:white;border:1px solid #cbd6df;min-width:0}
.retrieval-node small {font-size:10px;letter-spacing:.07em;font-weight:750;color:var(--teal)}
.retrieval-node strong {display:block;font-size:17px;line-height:1.5;margin-top:8px;font-weight:600}
.retrieval-node span {display:block;font-size:13px;line-height:1.6;color:var(--muted);margin-top:6px}
.diagram-connector {display:block;text-align:center;font-size:25px;padding:10px;color:var(--teal)}
.retrieval-branches {display:grid;grid-template-columns:1fr 1fr;gap:15px}
.catalog-capture {margin:10px 0 0}
.catalog-capture-frame {width:100%;aspect-ratio:16/10;display:grid;place-items:center;overflow:hidden;background:#f1f5f4;border:1px solid var(--line)}
.catalog-capture-frame img {width:100%;height:100%;display:block;object-fit:contain}
.catalog-capture figcaption {font-size:10px;color:var(--muted);line-height:1.45;margin-top:7px}
.catalog-story-link {font-size:12px;margin-top:16px}
@media(max-width:900px) {.project-story{grid-template-columns:1fr;gap:26px}.project-story-copy{max-width:650px}}
@media(max-width:600px) {.project-stories{padding-block:35px 15px}.project-story{padding-block:28px}.retrieval-diagram{padding:20px}.retrieval-branches{grid-template-columns:1fr}.project-story-steps li{grid-template-columns:23px 65px 1fr}.project-story-lead{font-size:18px}}
.business-page .family-tile,.business-page .product-card {border-radius:0;box-shadow:none}
.business-page .family-tile:hover,.business-page .product-card:hover {transform:none}
.business-page .family-tile p,.business-page .card-outcome {font-size:14px}
.business-page .card-audience {font-size:13px}
.business-page .card-detail {font-size:13px}
.business-page .filters button {font-size:13px;border-radius:0}
.business-page .portfolio-contact {border-radius:0}
.enterprise-page-hero {padding-block:80px 60px}
.enterprise-page-hero h1 {font-size:clamp(46px,5.1vw,73px);font-weight:570;letter-spacing:-.045em;line-height:1.1;margin-top:25px;max-width:1000px}
.page-hero-bottom {display:flex;align-items:end;justify-content:space-between;gap:60px;margin-top:34px}
.page-hero-bottom>p {font-size:18px;color:var(--muted);line-height:1.7;max-width:740px}
.service-jump {display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);gap:30px}
.service-jump a {display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:630;padding-block:23px;gap:15px}
.service-jump a span {color:var(--teal)}
.service-detail {display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;padding-block:75px;border-bottom:1px solid var(--line);scroll-margin-top:115px}
.service-detail-intro h2 {font-size:40px;font-weight:580;letter-spacing:-.035em;margin-top:22px}
.service-detail-intro>p:not(.eyebrow) {font-size:16px;line-height:1.7;color:var(--muted);max-width:370px;margin-top:22px}
.service-detail-intro .text-link {display:inline-block;margin-top:25px}
.service-lead {font-size:20px;line-height:1.6;color:#334858}
.service-detail-content h3 {font-size:17px;font-weight:650;letter-spacing:-.015em;margin-top:28px}
.service-detail-content ul {padding-left:20px;margin:15px 0 28px;display:grid;gap:11px;font-size:16px;color:#526171;line-height:1.6}
.service-spec {margin:0 0 26px;border-top:1px solid var(--line)}
.service-spec>div {display:grid;grid-template-columns:125px 1fr;gap:25px;padding-block:18px;border-bottom:1px solid var(--line)}
.service-spec dt {font-size:13px;font-weight:680;color:#294b62}
.service-spec dd {margin:0;font-size:15px;color:#526171;line-height:1.65}
.engagement-options,.responsibilities,.company-review {background:#f0f3f6;padding-block:85px}
.engagement-grid,.responsibility-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:48px}
.engagement-grid article,.responsibility-grid article {border-top:2px solid #142333;padding-top:24px}
.engagement-grid h3,.responsibility-grid h3 {font-size:25px;font-weight:580;line-height:1.3;letter-spacing:-.025em}
.engagement-grid p {font-size:16px;color:var(--muted);line-height:1.7;margin-top:21px}
.engagement-grid article>span {display:block;font-size:13px;line-height:1.65;color:#607181;margin-top:22px}
.page-contact {display:flex;align-items:center;justify-content:space-between;gap:70px;padding-block:80px}
.page-contact h2 {font-size:38px;font-weight:570;line-height:1.2;letter-spacing:-.035em;max-width:730px;margin-top:18px}
.page-contact p:not(.eyebrow) {font-size:16px;color:var(--muted);line-height:1.7;max-width:680px;margin-top:20px}
.delivery-detail {display:grid;grid-template-columns:1fr 1fr;gap:100px;border-top:1px solid var(--line);padding-block:62px}
.delivery-detail h2 {font-size:38px;font-weight:580;letter-spacing:-.035em;margin-top:21px}
.delivery-detail>div>p:not(.eyebrow) {font-size:17px;color:var(--muted);line-height:1.7;max-width:560px;margin-top:22px}
.delivery-artifacts h3 {font-size:16px;font-weight:670;letter-spacing:0}
.delivery-artifacts ul {list-style:none;padding:0;margin:17px 0 25px}
.delivery-artifacts li {font-size:16px;line-height:1.6;border-bottom:1px solid #d9dfe5;padding-block:11px;color:#334858}
.review-gate {background:#f0f3f6;padding:18px 22px;border-left:2px solid #006c78}
.review-gate span {font-size:11px;font-weight:720;letter-spacing:.1em;color:#294b62}
.review-gate p {font-size:15px;line-height:1.65;margin-top:9px;color:#526171}
.responsibility-grid ul {padding-left:19px;display:grid;gap:12px;font-size:16px;line-height:1.65;color:#526171;margin:23px 0 0}
.company-focus,.company-business {display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-block:80px;border-top:1px solid var(--line)}
.company-focus>div>p:not(.eyebrow),.company-business>div>p:not(.eyebrow) {font-size:18px;line-height:1.75;color:var(--muted)}
.company-focus>div>p+p {margin-top:22px}
.company-focus .text-link,.company-business .text-link {display:inline-block;margin-top:27px}
.review-links {display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:48px}
.review-links>a {display:block;position:relative;border-top:2px solid #142333;padding:22px 25px 0 0}
.review-links>a>span {font-size:12px;color:#526171}
.review-links h3 {font-size:29px;font-weight:600;margin-top:22px}
.review-links p {font-size:15px;color:#526171;margin-top:17px}
.review-links b {position:absolute;right:0;top:23px;font-size:20px;color:#006c78;font-weight:400}
.company-scope-note {font-size:14px;color:#526171;line-height:1.7;border-top:1px solid #cbd5df;padding-top:23px;margin-top:42px;max-width:950px}
.business-email {display:block;overflow-wrap:anywhere;font-size:17px;color:#004e5a;margin-top:23px}
@media(max-width:1100px){
 .nav-inner{gap:25px}.site-nav{gap:21px}.site-nav a{font-size:13px}
 .enterprise-hero-copy{padding:54px 36px 54px 32px}.enterprise-hero{min-height:620px}.enterprise-hero h1{font-size:clamp(45px,4.3vw,54px)}.enterprise-hero-copy>p:not(.eyebrow){font-size:17px}.enterprise-hero-actions{gap:14px 22px}
 .enterprise-heading{gap:55px}.service-previews{gap:28px}.service-preview h3{font-size:25px}.application-grid{gap:65px}.company-project:first-child{gap:38px}.project-links{gap:13px 20px}
 .company-statement{gap:50px;grid-template-columns:.5fr 1.5fr}.company-statement>div{gap:25px 40px}.company-statement h2{font-size:30px}.inquiry-grid{gap:55px}.inquiry-panel{padding:25px}.enterprise-footer{gap:35px}
 .page-hero-bottom{gap:40px}.service-detail,.delivery-detail,.company-focus,.company-business{gap:65px}.engagement-grid,.responsibility-grid{gap:30px}
}
@media(max-width:900px){
 .site-nav{display:none}.mobile-navigation{display:block;margin-left:auto}.mobile-navigation summary{display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;font-size:14px;font-weight:600;min-height:44px;padding-inline:12px;list-style:none;color:#233a4d}.mobile-navigation summary::-webkit-details-marker{display:none}.mobile-navigation summary span{font-size:22px;font-weight:400;line-height:1}.mobile-navigation[open] summary{color:#006c78}
 .mobile-navigation nav{position:absolute;left:0;right:0;top:100%;background:#fff;padding:20px 32px 27px;border-bottom:1px solid #c6d2dc;box-shadow:0 12px 18px #14233312;display:grid;grid-template-columns:1fr 1fr;gap:2px 30px}.mobile-navigation nav a{font-size:17px;font-weight:560;padding-block:13px;min-height:44px;border-bottom:1px solid #e0e6eb}.mobile-navigation nav a:last-child{color:#006c78}.mobile-navigation nav a[aria-current]{color:#006c78}
 .enterprise-hero-copy{padding-right:25px}.enterprise-hero h1{font-size:clamp(41px,5vw,48px)}.enterprise-hero-actions{display:block}.enterprise-hero-actions .hero-work-link{display:flex;margin-top:17px}
 .enterprise-heading{gap:40px}.enterprise-services{padding-block:80px}.service-previews{gap:25px}.service-preview h3{font-size:23px}.service-preview>p{font-size:15px;min-height:122px}.service-preview li{font-size:13px}
 .application-grid{gap:40px}.application-links a>span{font-size:18px}.application-links a p{font-size:14px}.company-project:first-child{grid-template-columns:1fr;gap:29px}.company-project:first-child .project-copy h3{font-size:38px}.evidence-showcase{gap:45px 30px}.project-copy h3{font-size:31px}.project-statement{font-size:18px}.project-description{font-size:15px}.project-links{display:grid}
 .delivery-stages{grid-template-columns:repeat(2,1fr);gap:35px}.company-statement{grid-template-columns:1fr;gap:25px}.company-statement>.eyebrow{padding-top:0}.inquiry-grid{grid-template-columns:1fr;gap:42px}.inquiry-intro>p:not(.eyebrow){max-width:650px}.contact-details{max-width:650px}.enterprise-footer{grid-template-columns:1fr 1fr;gap:35px 60px}.footer-intro p{max-width:none}
 .page-hero-bottom{display:block}.page-hero-bottom .button{margin-top:25px}.service-detail{grid-template-columns:.8fr 1.2fr;gap:40px}.service-detail-intro h2{font-size:34px}.service-spec>div{grid-template-columns:1fr;gap:8px}.service-lead{font-size:18px}.engagement-grid{gap:25px}.engagement-grid h3,.responsibility-grid h3{font-size:23px}.engagement-grid p,.responsibility-grid ul{font-size:15px}.page-contact{gap:35px}.delivery-detail{gap:40px}.delivery-detail h2{font-size:33px}.delivery-detail>div>p:not(.eyebrow){font-size:16px}.company-focus,.company-business{gap:40px}.company-focus>div>p:not(.eyebrow),.company-business>div>p:not(.eyebrow){font-size:16px}.review-links{gap:28px}
 .business-page .story-copy{padding:8px 0 15px}.business-page .story-panel{gap:24px}
}
@media(max-width:700px){
 .nav-inner{height:72px;gap:12px}.brand strong{font-size:16px}.brand small{font-size:8px}.brand-icon{width:28px;height:32px}.nav-contact{font-size:12px;min-height:42px;padding:8px 12px;gap:12px}.mobile-navigation summary{font-size:12px;padding-inline:8px;gap:6px}.mobile-navigation summary span{font-size:20px}.mobile-navigation nav{padding-inline:20px}
 .enterprise-hero{grid-template-columns:1fr;min-height:0}.enterprise-hero-copy{padding:45px 20px 40px}.enterprise-hero h1{font-size:clamp(38px,8.5vw,55px);margin-top:22px;line-height:1.1}.enterprise-hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.65;max-width:590px;margin-top:23px}.enterprise-hero-actions{display:flex;gap:15px 24px;margin-top:25px}.enterprise-hero-actions .hero-work-link{display:inline-flex;margin-top:0;font-size:13px}.company-page .button,.business-page .button{font-size:13px;padding-inline:18px;gap:25px}.enterprise-hero-image{height:270px;min-height:0}.enterprise-hero-image img{height:270px;object-position:50% 40%}
 .service-navigation>.shell{gap:19px}.service-navigation a{font-size:12px;padding-block:21px;gap:8px;align-items:start}.service-navigation a span{font-size:13px}
 .enterprise-heading{grid-template-columns:1fr;gap:25px}.enterprise-heading h2,.inquiry-intro h2,.company-focus h2,.company-business h2{font-size:37px;line-height:1.13;margin-top:17px}.enterprise-heading>p,.enterprise-heading>div>p:not(.eyebrow){font-size:16px}.enterprise-services{padding-block:65px 60px}.service-previews{grid-template-columns:1fr;gap:35px;margin-top:35px}.service-preview{padding-top:22px}.service-preview h3{font-size:27px}.service-preview>p{min-height:0;font-size:16px;margin-top:17px;max-width:580px}.scope-label{margin-top:21px}.service-preview ul{gap:9px;margin-bottom:19px}.service-preview li{font-size:14px}.service-preview>.text-link{font-size:14px}
 .business-applications{padding-block:62px}.application-grid{grid-template-columns:1fr;gap:35px}.application-grid h2{font-size:35px;margin-top:18px}.application-grid>div>p:not(.eyebrow){font-size:16px;margin-top:20px;max-width:600px}.application-links a{padding-block:22px}.application-links a>span{font-size:19px}.application-links a p{font-size:15px}
 .enterprise-work{padding-block:65px}.evidence-showcase{grid-template-columns:1fr;gap:40px;margin-top:35px}.company-project:first-child{grid-column:auto;padding-bottom:35px}.company-project:not(:first-child){border-bottom:1px solid var(--line);padding-bottom:35px}.company-project{gap:23px}.company-project:first-child .project-copy h3,.project-copy h3{font-size:35px}.project-statement{font-size:19px}.project-description{font-size:16px}.project-links{display:flex;gap:15px 23px}.company-page .project-links .text-link{font-size:14px}.project-figure figcaption{font-size:11px}.company-catalog-link{display:block;margin-top:30px;padding-top:22px}.company-catalog-link .text-link{display:inline-block;margin-top:13px}
 .delivery-preview{padding-block:63px}.delivery-stages{gap:29px 25px;margin-top:36px}.delivery-stages h3{font-size:22px;margin-top:20px}.delivery-stages p{font-size:14px}.delivery-output{font-size:12px}.company-statement{padding-block:62px}.company-statement>div{grid-template-columns:1fr;gap:22px}.company-statement h2{font-size:32px}.company-statement .text-link{grid-column:auto}
 .enterprise-contact{padding-block:63px}.inquiry-grid{gap:35px}.inquiry-intro>p:not(.eyebrow){font-size:16px;margin-top:21px}.contact-details a{font-size:16px}.inquiry-panel{padding:24px 21px}.inquiry-fields{gap:20px}.inquiry-panel .button{font-size:13px}.enterprise-footer{gap:38px 28px}.site-footer{padding-block:48px 24px}.footer-wordmark{font-size:23px}.footer-intro p{font-size:13px}.enterprise-footer nav a{font-size:13px}.enterprise-footer .footer-end{display:grid;gap:15px;padding-top:23px;margin-top:0}
 .enterprise-page-hero{padding-block:50px 38px}.enterprise-page-hero h1{font-size:clamp(39px,8.5vw,54px);margin-top:21px}.page-hero-bottom{margin-top:26px}.page-hero-bottom>p{font-size:16px}.service-jump{grid-template-columns:1fr;gap:0}.service-jump a{padding-block:17px;border-bottom:1px solid var(--line);font-size:14px}.service-jump a:last-child{border-bottom:0}.service-detail{grid-template-columns:1fr;gap:30px;padding-block:49px;scroll-margin-top:95px}.service-detail-intro h2{font-size:35px;margin-top:18px}.service-detail-intro>p:not(.eyebrow){max-width:none;font-size:16px;margin-top:18px}.service-detail-intro .text-link{margin-top:21px;font-size:14px}.service-lead{font-size:18px}.service-detail-content ul{font-size:15px}.service-spec dd{font-size:14px}.service-detail-content>.text-link{font-size:14px}
 .engagement-options,.responsibilities,.company-review{padding-block:62px}.engagement-grid,.responsibility-grid{grid-template-columns:1fr;gap:32px;margin-top:35px}.engagement-grid h3,.responsibility-grid h3{font-size:25px}.engagement-grid p,.responsibility-grid ul{font-size:16px}.engagement-grid p{margin-top:17px}.engagement-grid article>span{margin-top:18px}.page-contact{display:block;padding-block:62px}.page-contact h2{font-size:34px;margin-top:18px}.page-contact .button{margin-top:27px}.delivery-detail{grid-template-columns:1fr;gap:29px;padding-block:44px}.delivery-detail h2{font-size:34px;margin-top:18px}.delivery-detail>div>p:not(.eyebrow){margin-top:19px}.review-gate{padding:17px 19px}.company-focus,.company-business{grid-template-columns:1fr;gap:25px;padding-block:58px}.company-focus h2,.company-business h2{font-size:34px}.review-links{grid-template-columns:1fr;gap:31px;margin-top:35px}.review-links h3{font-size:28px;margin-top:17px}.review-links p{margin-top:13px}.company-scope-note{margin-top:30px;font-size:13px}
 .business-page .page-hero{padding-block:50px 38px}.business-page .story-description{font-size:14px}.business-page .story-flow dd{font-size:13px}.business-page .story-panel{padding-block:29px}.business-page .story-actions .button{width:100%}
}
@media(max-width:400px){
 .enterprise-hero h1{font-size:35px}
 .brand{gap:7px}.brand strong{font-size:14px}.brand-icon{width:24px}.nav-contact{padding-inline:9px;font-size:11px;gap:9px}.mobile-navigation summary{font-size:11px;padding-inline:5px}.nav-inner{gap:9px}.service-navigation>.shell{gap:14px}.service-navigation a{font-size:11px;gap:5px}.inquiry-fields{grid-template-columns:1fr}.inquiry-panel{padding:22px 18px}.enterprise-footer{grid-template-columns:1fr;gap:30px}.enterprise-footer .footer-end{grid-column:1}.delivery-stages{grid-template-columns:1fr;gap:28px}.delivery-output{font-size:13px}.enterprise-hero-image,.enterprise-hero-image img{height:230px}
}

/* On wide desktop and single-column mobile, the short product names and audience lines fit on one line. */
@media(min-width:1280px){
 .catalog-card-heading{grid-template-rows:28px 20px;gap:4px;margin-top:22px}
 .catalog-card-heading h3{font-size:clamp(22px,1.67vw,24px);line-height:1.12;white-space:nowrap;display:block;text-overflow:ellipsis}
 .card-audience,.business-page .card-audience{font-size:13px;line-height:1.4;white-space:nowrap;display:block;text-overflow:ellipsis}
 .catalog-capture{margin-top:8px}
}
@media(max-width:600px){
 .catalog-card-heading{grid-template-rows:24px 20px;gap:4px;margin-top:18px}
 .catalog-card-heading h3{font-size:clamp(16px,5vw,20px);line-height:1.12;white-space:nowrap;display:block;text-overflow:ellipsis}
 .card-audience,.business-page .card-audience{font-size:12px;line-height:1.4;white-space:nowrap;display:block;text-overflow:ellipsis}
 .catalog-capture{margin-top:8px}
}
