@font-face{font-family:"Bricolage Grotesque";src:url("fonts/bricolage-grotesque.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Manrope";src:url("fonts/manrope.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url("fonts/space-grotesk.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Syne";src:url("fonts/syne.woff2") format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Serif";src:url("fonts/ibm-plex-serif-bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Sixtyfour Convergence";src:url("fonts/sixtyfour-convergence.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}

/* Real COLRv1 font, recolored through its palette without altering glyphs. */
@font-palette-values --sdkng-marketing{font-family:"Sixtyfour Convergence";base-palette:0;override-colors:0 #70232f,1 #852639,2 rgba(190,55,96,.13),3 rgba(152,40,55,.53),4 rgba(114,32,63,.13),5 rgba(114,32,63,.53)}

:root{--paper:#f2f3ee;--ink:#1a1e20;--muted:#555b5d;--lime:#c6f45c;--line:#d3d7cf;--tech:#090f19;--tech-text:#eef5fc;--cyan:#7de0ef;--tech-line:#2c3a4c;--pink:#f6b9ce;--red:#982837;--header-height:94px;--header-bg:#f2f3ee;--header-ink:#1a1e20;--header-line:#d3d7cf;--header-accent:#1a1e20;font-size:16px;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 20px)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Manrope",Arial,sans-serif;font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
::selection{background:var(--lime);color:var(--ink)}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
button,a,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:6px}
img{max-width:100%;height:auto;display:block}
figure,p,h1,h2,h3,h4{margin:0}
h1,h2,h3,h4{font-family:"Bricolage Grotesque",Arial,sans-serif;font-weight:700;line-height:1.06;font-variation-settings:"opsz" 72,"wdth" 100;letter-spacing:-.045em;overflow-wrap:break-word}
ul,ol{margin:0;padding:0}
.wrap{width:min(1320px,calc(100% - 112px));margin-inline:auto}
.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.11em;line-height:1.6;display:flex;gap:12px;align-items:center}
.eyebrow-line{height:1px;width:28px;background:currentColor;flex-shrink:0}
.skip-link{position:fixed;top:10px;left:16px;z-index:100;padding:12px 20px;background:var(--lime);color:var(--ink);transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}

/* A stable header, with the requested wordmark for the current area. */
.site-header{position:sticky;top:0;z-index:20;background:var(--header-bg);color:var(--header-ink);border-bottom:1px solid var(--header-line);transition:background .3s,color .3s,border-color .3s}
.header-inner{width:min(1440px,calc(100% - 112px));min-height:var(--header-height);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{line-height:1;display:inline-block;font-synthesis:none}
.brand-general{font-family:"Bricolage Grotesque",Arial,sans-serif;font-weight:800;letter-spacing:-.075em;font-variation-settings:"opsz" 96,"wdth" 100}
.brand-period{color:#6a8e1a}
.brand-tech{font-family:"IBM Plex Serif",Georgia,serif;font-weight:700;letter-spacing:-.045em}
.brand-marketing{font-family:"Sixtyfour Convergence",monospace;font-weight:400;letter-spacing:-.04em;font-variation-settings:"BLED" 21,"SCAN" -18,"XELA" 80,"YELA" -15;font-palette:--sdkng-marketing}
.header-brand{min-width:200px;flex-shrink:0}
.header-brand>.brand-general{font-size:2.65rem}
.header-brand>.brand-tech{font-size:2.2rem}
.header-brand>.brand-marketing{font-size:3.25rem}
.header-brand>.brand-tech,.header-brand>.brand-marketing{display:none}
.brand-context{display:block;margin-top:9px;font-size:.75rem;line-height:1.3;font-weight:700;letter-spacing:.12em}
.main-nav{display:flex;align-items:center;gap:30px;font-size:.875rem;font-weight:600}
.main-nav>a{padding-block:10px;position:relative;white-space:nowrap}
.main-nav>a:not(.nav-contact)::after{content:"";height:2px;background:currentColor;position:absolute;bottom:4px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .2s}
.main-nav>a:hover::after,.main-nav>a[aria-current]::after{transform:scaleX(1)}
.main-nav .nav-contact{padding:10px 20px;border:1px solid var(--header-line);border-radius:4px;display:flex;align-items:center;gap:22px}
.reading-progress{position:absolute;bottom:-1px;left:0;right:0;height:2px;overflow:hidden;pointer-events:none}
.reading-progress>span{display:block;width:100%;height:100%;background:var(--header-accent);transform:scaleX(0);transform-origin:left}
.menu-toggle{display:none;padding:12px;border:0;background:none;color:inherit;width:48px;height:48px}
.menu-toggle>span{display:block;height:2px;background:currentColor;margin:6px 0;transition:transform .2s}
body[data-active-theme="tech"]{--header-bg:#090f19;--header-ink:#eef5fc;--header-line:#2c3a4c;--header-accent:#7de0ef}
body[data-active-theme="marketing"]{--header-bg:#f6b9ce;--header-ink:#74202d;--header-line:#c9798e;--header-accent:#982837}
body[data-active-theme="tech"] .header-brand>.brand-general,body[data-active-theme="marketing"] .header-brand>.brand-general{display:none}
body[data-active-theme="tech"] .header-brand>.brand-tech,body[data-active-theme="marketing"] .header-brand>.brand-marketing{display:block}

/* Shared identity: expressive type, neutral surfaces and a lime accent. */
.general-zone{background:var(--paper)}
.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:60px;padding-block:84px 72px}
.hero h1{font-size:clamp(3.5rem,6.4vw,6.35rem);margin:26px 0 28px;line-height:1.01;letter-spacing:-.065em}
.highlight-word{position:relative;isolation:isolate;white-space:nowrap}
.highlight-word::after{content:"";position:absolute;inset:61% -4px 0;z-index:-1;background:var(--lime)}
.hero-description{max-width:495px;font-size:1.0625rem;line-height:1.85;color:#464e4c}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:17px 23px;border-radius:4px;font-size:.875rem;line-height:1.6;font-weight:700;transition:transform .2s,background .2s;min-height:56px}
.button:hover{transform:translateY(-3px)}
.button>span{font-size:1.4rem;line-height:1}
.button-dark{background:var(--ink);color:var(--paper)}
.button-dark:hover{background:#343b37}
.hero .button{margin-top:32px}
.hero-footnote{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:39px;font-size:.75rem;font-weight:700;letter-spacing:.055em;color:var(--muted)}
.hero-art{background:#12151a;position:relative;border-radius:8px;overflow:hidden;align-self:stretch;min-height:450px;display:flex;align-items:center}
.hero-art>img{width:100%;height:100%;object-fit:cover}
.hero-art>figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:15px;padding:24px;color:#d3ddd5;font-size:.75rem;line-height:1.4;letter-spacing:.09em;background:linear-gradient(transparent,#12151acf)}
.capabilities-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.capabilities-band>.wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:20px;font-weight:600;font-size:.875rem}
.capabilities-band [aria-hidden]{font-size:1.5rem;color:#5a693f}
.specialties{padding-block:104px 112px;display:grid;grid-template-columns:.95fr 1.5fr;gap:72px;align-items:center}
.section-heading h2{font-size:clamp(2.5rem,3.3vw,3.75rem);margin-block:20px 24px}
.section-heading>p:last-child{color:var(--muted);max-width:380px}
.specialty-links{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.specialty-link{display:flex;flex-direction:column;min-height:360px;padding:30px 26px;border-radius:5px;transition:transform .25s}
.specialty-link:hover{transform:translateY(-6px)}
.specialty-tech{background:#0e1927;color:#e7f5ff}
.specialty-marketing{background:#f5a9c4;color:#641e2a}
.specialty-index{font-size:.75rem;font-weight:700;letter-spacing:.04em}
.specialty-title{font-family:"Space Grotesk",Arial,sans-serif;font-size:clamp(1.8rem,2.2vw,2.35rem);line-height:1.15;letter-spacing:-.05em;font-weight:600;margin-block:30px 20px}
.specialty-marketing .specialty-title{font-family:"Syne",Arial,sans-serif;font-weight:700}
.specialty-description{font-size:1rem;line-height:1.7;max-width:220px;margin-bottom:32px}
.specialty-action{display:flex;justify-content:space-between;align-items:center;gap:15px;font-weight:700;font-size:.875rem;margin-top:auto;padding-top:18px;border-top:1px solid currentColor}
.specialty-action>span{font-size:1.4rem}

/* TI: dark technical environment. IBM Plex Serif is used only for the logo. */
.tech-zone{position:relative;isolation:isolate;background:var(--tech);color:var(--tech-text)}
.tech-grid-background{position:absolute;top:0;left:0;right:0;height:800px;z-index:-1;background-image:linear-gradient(#30435b23 1px,transparent 1px),linear-gradient(90deg,#30435b23 1px,transparent 1px);background-size:60px 60px;mask-image:linear-gradient(#000,transparent)}
.zone-content{padding-block:48px 76px}
.zone-masthead{display:flex;align-items:center;gap:35px;border-bottom:1px solid var(--tech-line);padding-bottom:32px}
.zone-brand{font-size:clamp(2.5rem,4.3vw,4.3rem)}
.zone-masthead>p{font-family:"Space Grotesk",Arial,sans-serif;font-size:.875rem;font-weight:600;line-height:1.8;letter-spacing:.04em}
.zone-masthead>p>span{font-size:.75rem;color:#a2b4c8;font-weight:400;letter-spacing:.07em}
.zone-number{margin-left:auto;font-family:"Space Grotesk",sans-serif;font-size:2.5rem;color:#6c829e;line-height:1}
.tech-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:86px;padding-block:76px 88px}
.tech-label{font-family:"Space Grotesk",sans-serif;color:var(--cyan)}
.tech-hero h2{font-family:"Space Grotesk",Arial,sans-serif;font-weight:500;font-size:clamp(3.1rem,5.2vw,5.15rem);line-height:1.05;margin-block:23px 26px;letter-spacing:-.06em}
.tech-hero h2>span{color:var(--cyan)}
.tech-hero>div>p:not(.eyebrow){color:#aebdce;max-width:485px;font-size:1rem}
.text-link{display:inline-flex;align-items:center;gap:23px;font-size:.875rem;font-weight:700;padding-block:10px;border-bottom:1px solid currentColor;line-height:1.6;max-width:100%}
.text-link>span{font-size:1.4rem;flex-shrink:0}
.tech-hero .text-link{color:var(--cyan);margin-top:27px}
.system-diagram{padding:30px;background:#0e1824;border:1px solid #34485e;box-shadow:0 25px 75px #0004;position:relative}
.diagram-label{display:flex;justify-content:space-between;gap:10px;font-family:"Space Grotesk",sans-serif;font-size:.75rem;letter-spacing:.08em;color:#a9bdce;margin-bottom:29px}
.diagram-label>span:last-child{color:var(--cyan);font-size:1rem}
.system-node{display:flex;align-items:center;gap:18px;padding:19px 16px;background:#112334;border:1px solid #355068}
.system-node>div{min-width:0}
.node-index{font-family:"Space Grotesk",sans-serif;color:var(--cyan);font-size:.75rem}
.system-node strong{display:block;font-family:"Space Grotesk",sans-serif;font-size:1.125rem;font-weight:500;line-height:1.4;letter-spacing:-.03em}
.system-node>div>span{display:block;font-size:.75rem;color:#a9bccf;margin-top:3px}
.node-code{margin-left:auto;color:var(--cyan);font-family:"Space Grotesk",sans-serif;white-space:nowrap;font-size:1.25rem}
.system-connector{height:37px;display:flex;gap:15px;align-items:center;padding-left:29px;font-family:"Space Grotesk",sans-serif;font-size:.75rem;letter-spacing:.16em;color:#7e9bb4}
.system-connector>span:first-child{height:100%;width:1px;background:#6686a3}
.diagram-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:.75rem;letter-spacing:.06em;color:#a2b4c8;margin-top:25px;font-family:"Space Grotesk",sans-serif}
.services-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;padding-block:0 28px}
.services-heading h3{font-family:"Space Grotesk",sans-serif;font-size:1.65rem;font-weight:500;letter-spacing:-.04em;line-height:1.2}
.services-heading>p{color:#aebdce;font-size:.875rem}
.tech-services{display:grid;grid-template-columns:1fr 1fr;column-gap:34px;align-items:start}
.service-detail{border-top:1px solid var(--tech-line)}
.service-detail>summary{display:flex;align-items:center;gap:20px;list-style:none;padding:25px 0;cursor:pointer;font-family:"Space Grotesk",Arial,sans-serif;font-size:1.125rem;font-weight:500;line-height:1.45}
.service-detail>summary::-webkit-details-marker{display:none}
.service-detail>summary:hover{color:var(--cyan)}
.service-number{font-size:.75rem;letter-spacing:.03em;color:#85a0b8;flex-shrink:0;font-weight:500}
.detail-toggle{position:relative;margin-left:auto;min-width:22px;height:22px;flex-shrink:0}
.detail-toggle::before,.detail-toggle::after{content:"";position:absolute;background:var(--cyan);top:10px;left:4px;width:14px;height:1px}
.detail-toggle::after{transform:rotate(90deg);transition:transform .2s}
.service-detail[open] .detail-toggle::after{transform:rotate(0)}
.service-body{padding:0 35px 28px 42px;font-size:1rem;line-height:1.8;color:#b5c3d2}
.service-body>p{margin-bottom:15px}
.service-body ul{padding-left:16px;font-size:1rem}
.service-body li{padding:3px 0}
.service-body li::marker{color:#6cbed0}
.tech-complements{margin-top:28px;padding:30px 34px;background:#0e1824;border-left:2px solid var(--cyan);display:grid;grid-template-columns:1fr 2.2fr;gap:32px}
.tech-complements .eyebrow{font-family:"Space Grotesk",sans-serif;color:var(--cyan);align-items:flex-start;font-size:.75rem;padding-top:4px}
.tech-complements>p:last-child{font-size:1rem;color:#b5c3d2}
.zone-crosslink{display:flex;align-items:center;gap:28px;margin-top:48px;padding-top:28px;border-top:1px solid var(--tech-line);font-size:.875rem;color:#aebdce}
.zone-crosslink strong{font-family:"Space Grotesk",sans-serif;color:var(--tech-text);font-weight:500;font-size:1.35rem;letter-spacing:-.04em;line-height:1.3}
.zone-crosslink>span:last-child{margin-left:auto;font-size:2rem;color:#f5a9c4}

/* Marketing: editorial scale and warm, assertive color. */
.marketing-zone{background:var(--pink);color:#70232f}
.marketing-zone .zone-masthead{border-color:#d28b9e}
.marketing-zone .zone-brand{font-size:3.25rem}
.marketing-zone .zone-masthead>p{font-family:"Manrope",sans-serif;font-size:.8125rem}
.marketing-zone .zone-masthead>p>span{color:#813a48}
.marketing-zone .zone-number{color:#a85467;font-family:"Syne",sans-serif}
.marketing-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:center;padding-block:76px 94px}
.marketing-copy h2{font-family:"Syne",Arial,sans-serif;font-weight:700;font-size:clamp(3rem,5vw,5.25rem);letter-spacing:-.055em;line-height:1.07;margin-block:25px 32px}
.marketing-copy h2>span{color:#a62b3a}
.marketing-copy>p:not(.eyebrow){max-width:430px;font-size:1rem;line-height:1.8}
.marketing-copy .text-link{margin-top:25px}
.marketing-art{position:relative}
.marketing-art img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:48% 48% 2px 2px}
.marketing-art figcaption{font-family:"Syne",Arial,sans-serif;font-size:1rem;font-weight:700;line-height:1.6;letter-spacing:.025em;border-top:1px solid #c87e93;padding-top:20px;margin-top:22px}
.marketing-zone .services-heading{border-top:1px solid #cf8196;padding-block:35px}
.marketing-zone .services-heading h3{font-family:"Syne",Arial,sans-serif;font-size:clamp(1.8rem,2.5vw,2.6rem);font-weight:700;letter-spacing:-.045em}
.marketing-zone .services-heading>p{color:#813a48;max-width:300px}
/* Zero-minimum grid tracks keep long service titles inside their columns. */
.marketing-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 34px;min-width:0}
.marketing-services article{border-top:1px solid #cf8196;padding:27px 0 38px;display:flex;flex-direction:column;min-width:0}
.marketing-services .service-number{color:#813a48;letter-spacing:.08em;font-size:.75rem;font-weight:700}
.marketing-services h4{font-family:"Syne",Arial,sans-serif;font-size:clamp(1.6rem,2.2vw,2.2rem);font-weight:700;line-height:1.15;letter-spacing:-.04em;margin-block:23px 19px;overflow-wrap:anywhere}
.marketing-services article>p{font-size:1rem;line-height:1.8}
.service-tags{margin-top:auto;padding-top:23px;font-size:.75rem;font-weight:700;color:#813a48;line-height:1.8}
.marketing-closing{background:#8d2738;color:#ffdee8;padding:36px 40px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;gap:35px}
.marketing-closing p{font-family:"Syne",Arial,sans-serif;font-size:clamp(1.35rem,2.1vw,2rem);line-height:1.35;letter-spacing:-.03em;font-weight:400}
.marketing-closing strong{font-weight:700}
.button-marketing{background:#ffcee0;color:#70232f;flex-shrink:0}
.button-marketing:hover{background:#ffe0eb}

/* The shared identity returns for the company and the delivery process. */
.about-zone{background:var(--paper);padding-block:112px 100px}
.about-intro{display:grid;grid-template-columns:1.1fr 1fr;column-gap:90px}
.about-intro>.eyebrow{grid-column:1/-1;margin-bottom:24px}
.about-intro>h2{grid-column:1;grid-row:2/4;font-size:clamp(2.65rem,4.1vw,4.25rem)}
.about-intro>p:not(.eyebrow){grid-column:2;color:var(--muted);font-size:1rem}
.about-intro>p+p{margin-top:18px}
.process-heading{padding-top:90px;display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:35px}
.process-heading>h3{font-size:2rem;line-height:1.15}
.process-heading>span{font-size:.75rem;font-weight:700;letter-spacing:.08em}
.process-list{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;border-top:1px solid var(--line);gap:34px}
.process-list>li{padding-top:25px}
.process-number{font-family:"Bricolage Grotesque",sans-serif;font-size:2.5rem;font-weight:600;color:#737c6b;line-height:1}
.process-list h4{font-size:1.55rem;margin-block:32px 14px}
.process-list p{font-size:1rem;color:var(--muted);line-height:1.8}
.contact-section{border-top:1px solid var(--line);margin-top:95px;padding-top:65px;display:grid;grid-template-columns:1.1fr 1fr;gap:24px 90px}
.contact-section>.eyebrow{grid-column:1/-1}
.contact-section h3{font-size:clamp(3rem,5vw,5rem)}
.contact-section>div>p{color:var(--muted);max-width:420px}
.contact-section .button{margin-block:26px 12px}
.contact-address{display:block;font-size:.9375rem;width:fit-content;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
.site-footer{background:#1a1e20;color:#edf0e7;padding-top:52px}
.footer-top{display:flex;align-items:center;gap:55px;padding-bottom:48px;border-bottom:1px solid #3c4240}
.footer-brand{font-size:4.8rem}
.footer-brand .brand-period{color:var(--lime)}
.footer-top>p{font-size:.875rem;line-height:1.8;color:#bdc4bb}
.back-top{margin-left:auto;display:flex;align-items:center;gap:28px;font-size:.875rem}
.back-top>span{font-size:1.4rem}
.footer-bottom{display:flex;justify-content:space-between;gap:14px 35px;padding-block:25px;font-size:.75rem;color:#aeb7ae}

@media(min-width:1600px){.hero-art{min-height:480px}.hero{padding-block:110px 94px}}
@media(max-width:1150px){
  .wrap,.header-inner{width:calc(100% - 72px)}
  .main-nav{gap:20px}.header-brand{min-width:190px}
  .hero{gap:35px;padding-block:65px}.hero-art{min-height:400px}
  .specialties{gap:40px;grid-template-columns:1fr 1.65fr}.specialty-link{padding:27px 22px}
  .tech-hero{gap:45px}.marketing-hero{gap:35px}
  .system-diagram{padding:23px}.system-node{padding:18px 13px;gap:12px}.system-node strong{font-size:1rem}
  .about-intro,.contact-section{column-gap:50px}.marketing-services{gap:0 26px}
}
@media(max-width:900px){
  :root{--header-height:82px}
  .wrap,.header-inner{width:calc(100% - 48px)}
  .header-inner{flex-wrap:wrap;gap:0;position:relative;padding-block:13px}
  .header-brand{min-width:0}.header-brand>.brand-general{font-size:2.35rem}.header-brand>.brand-tech{font-size:2rem}.header-brand>.brand-marketing{font-size:2.5rem}
  .brand-context{font-size:.75rem;letter-spacing:.055em;margin-top:6px}
  .main-nav{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:8px 22px;margin-top:12px;padding-top:10px;border-top:1px solid var(--header-line)}
  html[data-enhanced="true"] .menu-toggle{display:block}
  html[data-enhanced="true"] .main-nav{display:none;position:absolute;top:100%;left:-24px;right:-24px;width:auto;padding:20px 24px 26px;margin:0;background:var(--header-bg);box-shadow:0 20px 25px #0002;border-bottom:1px solid var(--header-line)}
  html[data-enhanced="true"] .main-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:8px}
  .main-nav.is-open>a{padding-block:12px}.main-nav.is-open>a::after{right:auto;width:34px}
  .menu-toggle[aria-expanded="true"]>span:first-child{transform:translateY(4px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"]>span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .hero{gap:26px;grid-template-columns:1fr 1fr;padding-top:50px}.hero h1{font-size:clamp(3rem,6.6vw,4.2rem)}
  .hero-description{font-size:1rem}.hero .eyebrow{font-size:.75rem}.hero-art{min-height:380px}.hero .button{padding-inline:18px;gap:16px;font-size:.8125rem}
  .hero-art>figcaption{font-size:.75rem;padding:18px}.hero-art>figcaption>span:last-child{display:none}
  .capabilities-band>.wrap{flex-wrap:wrap;justify-content:center;gap:8px 18px;font-size:.75rem;padding-block:14px}
  .specialties{grid-template-columns:1fr;gap:32px;padding-block:75px}.section-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:35px;align-items:end}.section-heading>.eyebrow{grid-column:1/-1}.section-heading h2{font-size:2.85rem;margin-bottom:0}.section-heading>p:last-child{font-size:1rem}
  .specialty-link{min-height:300px}.specialty-title{font-size:2.25rem;margin-block:25px 15px}.specialty-description{max-width:280px}
  .zone-masthead{gap:24px}.zone-masthead>p>span{display:none}.zone-number{font-size:2rem}
  .tech-hero{gap:30px;padding-block:55px 65px}.tech-hero h2{font-size:3.2rem}.tech-hero>div>p:not(.eyebrow){font-size:1rem}
  .tech-hero .eyebrow{font-size:.75rem}.system-diagram{padding:20px}.diagram-label{font-size:.75rem}.system-node{padding:16px 12px}.node-code{display:none}.system-node>div>span{font-size:.75rem}.diagram-foot{font-size:.75rem;gap:7px}
  .services-heading h3{font-size:1.5rem}.tech-services{column-gap:25px}.service-detail>summary{font-size:1rem;gap:15px;padding-block:21px}.service-body{padding-left:30px;padding-right:8px}.tech-complements{grid-template-columns:1fr;gap:15px;padding:27px}
  .zone-crosslink{gap:20px}.zone-crosslink strong{font-size:1.1rem}.zone-crosslink>span:first-child{font-size:.8125rem}
  .marketing-hero{padding-block:55px 68px;gap:30px}.marketing-copy h2{font-size:3.15rem}.marketing-copy>p:not(.eyebrow){font-size:1rem}.marketing-copy .text-link{font-size:.8125rem;gap:10px}.marketing-art figcaption{font-size:.8125rem}
  .marketing-services{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}.marketing-services h4{font-size:clamp(1.5rem,3.4vw,1.9rem)}.marketing-closing{padding:30px;gap:25px}.marketing-closing p{font-size:1.4rem}
  .about-zone{padding-block:80px}.about-intro{gap:20px 36px}.about-intro>h2{font-size:3rem}.about-intro>p:not(.eyebrow){font-size:1rem}.about-intro>p+p{margin-top:0}
  .process-heading{padding-top:65px}.process-list{grid-template-columns:1fr 1fr;gap:38px}.process-list>li{border-top:1px solid var(--line)}.process-list{border-top:0}.process-list h4{margin-top:24px}
  .contact-section{margin-top:65px;gap:25px 36px}.footer-top{gap:30px}.footer-brand{font-size:4rem}.footer-bottom{flex-wrap:wrap}.footer-bottom>p:first-child{flex-basis:100%}
}
@media(min-width:621px) and (max-width:760px){
  .hero,.tech-hero,.marketing-hero{grid-template-columns:1fr}
  .hero-art{min-height:0;aspect-ratio:5/4;max-height:560px}
  .marketing-art{max-width:460px;width:100%;margin-inline:auto}
  .marketing-art img{aspect-ratio:1/1}
  .hero-description,.tech-hero>div>p:not(.eyebrow),.marketing-copy>p:not(.eyebrow){max-width:560px}
}
/* Keep the service headings' intentional line breaks at mobile widths. */
@media(max-width:620px){
  .wrap,.header-inner{width:calc(100% - 40px)}
  html[data-enhanced="true"] .main-nav{left:-20px;right:-20px;padding-inline:20px}
  .hero{grid-template-columns:1fr;padding-block:40px 42px;gap:35px}.hero h1{font-size:clamp(3.2rem,12vw,4.65rem);margin-block:23px}.hero-description{max-width:460px;font-size:1rem}.hero .eyebrow{font-size:.75rem;letter-spacing:.07em;gap:8px}.eyebrow-line{width:18px}.hero .button{font-size:.875rem;margin-top:25px;gap:25px}.hero-footnote{margin-top:23px;font-size:.75rem}.hero-art{min-height:0;aspect-ratio:5/4}.hero-art>figcaption{font-size:.75rem}.hero-art>figcaption>span:last-child{display:inline}
  .capabilities-band>.wrap{font-size:.75rem;gap:6px 11px}.capabilities-band [aria-hidden]{font-size:1.125rem}.capabilities-band [aria-hidden]:nth-child(8){display:none}
  .specialties{padding-block:58px 64px;gap:28px}.section-heading{display:block}.section-heading h2{font-size:2.65rem;margin-block:16px 22px}.section-heading>p:last-child{max-width:none;font-size:1rem}.specialty-links{grid-template-columns:1fr;gap:15px}.specialty-link{min-height:0;padding:26px}.specialty-title{font-size:2.2rem;margin-block:24px 16px}.specialty-title>br{display:none}.specialty-description{max-width:320px;margin-bottom:24px}.specialty-action{padding-top:16px}
  .zone-content{padding-block:35px 52px}.zone-masthead{gap:20px;flex-wrap:wrap;padding-bottom:24px}.zone-masthead>p{font-size:.75rem;line-height:1.5;letter-spacing:.02em;max-width:145px}.zone-brand{font-size:2.55rem}.zone-number{font-size:1.5rem}.tech-hero{grid-template-columns:1fr;gap:40px;padding-block:46px 55px}.tech-hero h2{font-size:clamp(2.85rem,10.7vw,4rem);margin-block:18px 24px}.tech-hero .eyebrow{font-size:.75rem}.tech-hero>div>p:not(.eyebrow){font-size:1rem}.tech-hero .text-link{margin-top:22px}.system-diagram{padding:24px}.diagram-label{font-size:.75rem}.system-node{padding:19px 15px;gap:17px}.system-node strong{font-size:1.125rem}.system-node>div>span{font-size:.75rem}.node-code{display:block}.system-connector{font-size:.75rem}.diagram-foot{font-size:.75rem;gap:10px}
  .services-heading{align-items:flex-start;flex-direction:column;gap:12px;padding-bottom:24px}.services-heading h3{font-size:1.75rem}.services-heading>p{font-size:.875rem}.tech-services{grid-template-columns:1fr}.service-detail>summary{padding-block:24px;font-size:1.0625rem;gap:15px}.service-body{padding:0 8px 27px 32px;font-size:1rem}.service-body ul{font-size:1rem}.tech-complements{padding:24px;margin-top:15px}.tech-complements .eyebrow{font-size:.75rem}.tech-complements>p:last-child{font-size:1rem}.zone-crosslink{flex-wrap:wrap;gap:10px;padding-top:24px;margin-top:32px}.zone-crosslink>span:first-child{flex-basis:100%}.zone-crosslink strong{font-size:1.3rem}
  .marketing-zone .zone-brand{font-size:3.25rem}.marketing-zone .zone-masthead{align-items:flex-start;flex-direction:column}.marketing-zone .zone-masthead>p{max-width:none}.marketing-zone .zone-masthead>p{font-size:.75rem}.marketing-zone .zone-number{display:none}.marketing-hero{grid-template-columns:1fr;padding-block:44px 56px;gap:38px}.marketing-copy h2{font-size:clamp(2.85rem,10.2vw,4.2rem);margin-block:20px 25px}.marketing-copy>p:not(.eyebrow){font-size:1rem}.marketing-copy .text-link{font-size:.875rem;gap:15px}.marketing-art{max-width:430px;width:100%;margin-inline:auto}.marketing-art img{aspect-ratio:1/1;object-fit:cover}.marketing-art figcaption{font-size:.875rem;margin-top:18px;padding-top:18px}.marketing-zone .services-heading{padding-block:28px}.marketing-zone .services-heading h3{font-size:2rem}.marketing-zone .services-heading>p{max-width:100%}.marketing-services{grid-template-columns:minmax(0,1fr);gap:0}.marketing-services article{padding-block:25px 29px}.marketing-services h4{font-size:clamp(1.5rem,7vw,2rem);margin-block:18px}.marketing-services article>p{font-size:1rem}.service-tags{font-size:.75rem;padding-top:16px}.marketing-services .service-number{font-size:.75rem}.marketing-closing{flex-direction:column;align-items:flex-start;padding:28px 24px;margin-top:6px;gap:23px}.marketing-closing p{font-size:1.35rem}
  .about-zone{padding-block:60px}.about-intro{display:block}.about-intro>.eyebrow{margin-bottom:20px}.about-intro>h2{font-size:2.85rem;margin-bottom:26px}.about-intro>p:not(.eyebrow){font-size:1rem}.about-intro>p+p{margin-top:18px}.process-heading{padding-top:50px;flex-direction:column-reverse;align-items:flex-start;gap:16px;margin-bottom:25px}.process-heading>h3{font-size:1.85rem}.process-heading>span{font-size:.75rem}.process-list{grid-template-columns:1fr;gap:27px 22px}.process-number{font-size:2rem}.process-list h4{font-size:1.25rem;letter-spacing:-.045em;margin-block:20px 11px}.process-list p{font-size:1rem}.contact-section{display:block;margin-top:50px;padding-top:40px}.contact-section>.eyebrow{margin-bottom:19px}.contact-section h3{font-size:3.2rem;margin-bottom:25px}.contact-section .button{margin-top:23px}
  .site-footer{padding-top:35px}.footer-top{flex-wrap:wrap;gap:20px 25px;padding-bottom:30px}.footer-brand{font-size:3.75rem}.footer-top>p{font-size:.8125rem}.back-top{flex-basis:100%;margin-left:0;justify-content:space-between;padding-top:10px}.footer-bottom{gap:12px;font-size:.75rem;padding-block:22px}.footer-bottom>p:nth-child(2){margin-right:auto}
}
@media(max-width:360px){.zone-masthead{gap:14px}.zone-masthead>p{max-width:130px}.zone-number{display:none}.brand-context{font-size:.75rem}.marketing-zone .zone-masthead{align-items:flex-start;flex-direction:column}.system-diagram{padding:18px}.system-node{gap:12px;padding:16px 12px}.node-code{display:none}.process-list{grid-template-columns:1fr}.process-list p{font-size:1rem}.hero .button{width:100%;gap:15px}.hero-art>figcaption>span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.button:hover,.specialty-link:hover{transform:none}}
@media print{.site-header,.skip-link,.menu-toggle,.reading-progress,.back-top{display:none!important}.wrap{width:100%}.hero-art,.marketing-art,.system-diagram{max-width:360px}.tech-zone,.marketing-zone,.site-footer{background:white;color:black}.tech-zone *, .marketing-zone *, .site-footer *{color:black!important}.zone-content,.about-zone,.specialties{padding-block:30px}.hero{padding-block:20px}.service-detail{break-inside:avoid}a{color:inherit}.contact-section[hidden]{display:none!important}}
