@font-face{font-family:Pretendard;font-style:normal;font-weight:100 900;font-display:swap;src:url('/assets/fonts/PretendardVariable.woff2') format('woff2')}
:root{--ink:#20272e;--muted:#525e68;--blue:#21658f;--blue-hover:#164969;--sky:#f0f7fb;--pink:#fcf4f6;--line:#dce2e6;--surface:#f6f8f9;--header-height:76px;--page-width:1488px;--gutter:48px;font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px)}
*{box-sizing:border-box}
body{margin:0;background:#fff;color:var(--ink);font-family:Pretendard,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;font-size:1rem;font-weight:400;line-height:1.75;letter-spacing:.01em;word-break:keep-all;overflow-wrap:break-word}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;line-height:1.3;letter-spacing:-.04em}ul,ol{margin:0;padding:0}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.container{width:min(calc(100% - var(--gutter)*2),var(--page-width));margin-inline:auto}
.icon-library{position:absolute;width:0;height:0;overflow:hidden}.icon{width:24px;height:24px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.carbon-icon{display:block;width:32px;height:32px;flex-shrink:0;fill:currentColor;stroke:none}
.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:12px 20px;background:var(--ink);color:#fff;transform:translateY(-200%)}.skip-link:focus{transform:none}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:56px;padding:14px 20px;border:1px solid transparent;font-size:.9375rem;font-weight:400;transition:background .18s,color .18s,border-color .18s}.button-primary{background:var(--blue);color:#fff}.button-primary:hover{background:var(--blue-hover)}.button-outline{border-color:var(--blue);color:var(--blue);background:#fff}.button-outline:hover{background:var(--sky)}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:var(--blue)}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;font-size:.9375rem;font-weight:500;color:var(--blue)}.text-link:hover{text-decoration:underline;text-underline-offset:6px}.eyebrow{font-size:.875rem;font-weight:400;letter-spacing:.01em}
.section{padding-block:88px}.section-label{display:flex;align-items:center;gap:32px;margin-bottom:40px;color:var(--muted);font-size:.875rem;font-weight:400}.label-rule{height:1px;background:var(--line);flex:1}h2{font-size:clamp(2rem,3vw,3rem);font-weight:300;line-height:1.35}.section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:8%;margin-bottom:40px}.section-heading>p{max-width:540px;color:var(--muted);font-size:1.0625rem;line-height:1.8}.small-note,.section-note,.term-note{color:var(--muted);font-size:.875rem;line-height:1.75}.status-tag{display:inline-flex;align-items:center;min-height:30px;padding:3px 10px;border:1px solid #dccbd2;background:var(--pink);color:#70485a;font-size:.8125rem;line-height:1.6;font-weight:500}

/* Flat white navigation and square controls. */
.site-header{position:sticky;top:0;z-index:30;height:var(--header-height);background:#fff;border-bottom:1px solid var(--line)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;flex-shrink:0;min-height:44px}.brand-logo{width:180px;height:auto;object-fit:contain}.navigation{display:flex;align-items:center;gap:36px;height:100%;font-size:.9375rem}.navigation>a{display:flex;align-items:center;min-height:48px;position:relative}.navigation>a:hover{color:var(--blue)}.navigation>a[aria-current="location"]:not(.nav-contact)::after{content:'';position:absolute;bottom:3px;left:0;right:0;height:2px;background:var(--blue)}.navigation .nav-contact{gap:36px;border-left:1px solid var(--line);padding-left:32px}.menu-toggle{display:none}

/* Technical hero image provides depth without gradient surfaces. */
.hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding-block:48px}.hero-copy{padding-block:24px}.hero .eyebrow{margin-bottom:26px}.hero h1{font-size:clamp(2.65rem,3.85vw,3.8rem);font-weight:300;line-height:1.33;letter-spacing:-.05em}.title-accent{color:var(--blue)}.hero-description{max-width:560px;margin-top:26px;color:var(--muted);font-size:1.0625rem;line-height:1.85}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.hero-art{min-width:0;border:1px solid var(--line)}.hero-art>img{width:100%;aspect-ratio:1.18;object-fit:cover}.hero-art figcaption{display:flex;justify-content:space-between;gap:20px;padding:13px 20px;border-top:1px solid var(--line);color:var(--muted);font-size:.875rem}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);padding-block:20px}.capability-links{display:flex;flex-wrap:wrap;gap:16px 32px}.capability-links>a{display:flex;align-items:center;gap:12px;min-height:40px;color:var(--muted);font-size:.9375rem}.capability-links .carbon-icon{width:28px;height:28px;color:var(--blue)}.capability-links>a:hover{color:var(--blue)}.hero-bottom>a{display:flex;gap:12px;align-items:center;flex-shrink:0;font-size:.875rem;color:var(--muted)}.hero-bottom>a:hover{color:var(--blue)}.hero-bottom>a .icon{width:20px}

/* Model engineering and concrete team competencies. */
.about-section{border-top:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:8%}.expertise-art{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--surface);min-width:0}.expertise-art>img{width:100%;aspect-ratio:1.5;object-fit:cover}.expertise-art figcaption{display:flex;align-items:center;gap:12px;padding:16px 20px;margin-top:auto;background:#fff;border-top:1px solid var(--line);color:var(--muted);font-size:.875rem}.expertise-art figcaption .carbon-icon{width:24px;height:24px;color:var(--blue)}.expertise-list{display:flex;flex-direction:column;justify-content:space-between}.expertise-row{display:grid;grid-template-columns:40px 1fr;gap:20px;padding:24px 0 28px;border-bottom:1px solid var(--line)}.expertise-row:first-child{padding-top:8px}.expertise-row:last-child{padding-bottom:20px}.expertise-icon{width:36px;height:36px;color:var(--blue)}.expertise-row:nth-child(2) .expertise-icon{color:#8a6172}.expertise-row h3{font-size:1.25rem;letter-spacing:-.025em;line-height:1.5}.expertise-row p{margin-top:12px;color:var(--muted);line-height:1.8}

/* Four-column service grid, with labelled functional workflow diagrams. */
.services-section{background:var(--surface);border-block:1px solid var(--line)}.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{display:flex;flex-direction:column;padding:26px 24px 16px;min-width:0;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.service-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px;color:var(--blue)}.service-number{font-size:.875rem;line-height:1.5}.service-icon{width:36px;height:36px}.service-card:nth-child(3) .service-top{color:#8a6172}.service-card h3{font-size:1.625rem;line-height:1.35;font-weight:400}.service-card .service-tagline{margin-top:18px;min-height:54px;color:var(--ink);font-size:1rem;line-height:1.7;font-weight:500}.service-diagram{display:flex;justify-content:space-between;align-items:center;gap:4px;margin:24px -8px;padding:20px 10px;border:1px solid #dce6ed;background:var(--sky)}.flow-node{display:flex;flex-direction:column;align-items:center;flex:1;min-width:0;gap:12px;color:var(--blue)}.flow-node>span{color:#495762;font-size:.875rem}.flow-node .carbon-icon{width:32px;height:32px}.flow-connector{align-self:flex-start;margin-top:6px;color:#708b9c;font-size:1.125rem;line-height:1.4}.service-card:nth-child(3) .service-diagram{background:var(--pink);border-color:#e9dce1}.service-card:nth-child(3) .flow-node{color:#8a6172}.service-card .service-description{color:var(--muted);line-height:1.8}.service-card ul{list-style:none;display:grid;gap:8px;margin-top:22px;margin-bottom:8px;color:var(--muted);font-size:1rem}.service-card li{padding-left:13px;position:relative}.service-card li::before{content:'';position:absolute;left:0;top:.85em;width:4px;height:4px;background:#8a9eab}.service-card .term-note{margin-top:auto;padding-top:24px}.service-link{display:flex;margin-top:24px;padding:18px 0 2px;min-height:64px;border-top:1px solid var(--line);gap:8px;font-size:.9375rem}.service-link .icon{width:20px;height:20px}.platform-card-status{margin-block:24px 8px}.services-help{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:28px}.services-help p{font-size:1rem}.services-help p>span{color:var(--muted);font-size:.9375rem}

/* Four stages, each with a distinct functional icon. */
.process-grid{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:48px;border-top:1px solid #bccdd7}.process-grid>li{padding:24px 28px 0;border-right:1px solid var(--line)}.process-grid>li:first-child{padding-left:0}.process-grid>li:last-child{padding-right:0;border-right:0}.process-step{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.process-step>span{font-size:2.5rem;line-height:1.2;font-weight:300;color:#6b8191}.process-icon{width:44px;height:44px;color:var(--blue)}.process-grid h3{font-size:1.25rem;letter-spacing:-.025em}.process-grid p{margin-top:14px;color:var(--muted);line-height:1.8}.section-note{margin-top:32px}

/* Pre-launch platform, with supporting data architecture illustration. */
.platform-section{padding-top:0}.platform-panel{display:grid;grid-template-columns:1.05fr 1fr;gap:0;border:1px solid var(--line)}.platform-intro{padding:36px;border-right:1px solid var(--line);border-top:3px solid #dcbcca}.platform-intro h2{margin-top:22px;margin-bottom:24px;font-size:clamp(1.875rem,2.65vw,2.5rem)}.platform-intro>p{color:var(--muted);line-height:1.85}.platform-art{margin-top:26px;border:1px solid var(--line)}.platform-art img{width:100%;aspect-ratio:1.72;object-fit:cover}.platform-art figcaption{padding:11px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:.8125rem;line-height:1.75}.platform-details{padding:10px 36px 32px;display:flex;flex-direction:column;border-top:3px solid #b8d5e7}.interest-row{display:grid;grid-template-columns:36px 1fr;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)}.interest-row>.carbon-icon{color:var(--blue);margin-top:2px}.interest-row h3{font-size:1.25rem}.interest-row p{margin-top:10px;color:var(--muted);line-height:1.8}.platform-details>.button{margin-top:26px;width:100%}.platform-details>.small-note{margin-top:12px}.platform-notice{padding-top:24px;margin-top:auto}.platform-notice>p{font-size:.875rem;line-height:1.8;color:var(--muted)}.platform-emails{display:flex;flex-wrap:wrap;gap:2px 20px;margin-top:14px;font-size:.875rem;color:var(--blue);word-break:normal;overflow-wrap:anywhere}.platform-emails a{min-height:32px;display:inline-flex;align-items:center}.platform-emails a:hover{text-decoration:underline}

/* Native FAQ disclosures. */
.faq-section{padding-top:0}.faq-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:8%}.faq-grid .eyebrow{margin-bottom:22px}.faq-grid h2{font-size:2.25rem}.faq-grid .text-link{margin-top:20px}.faq-list{border-top:1px solid var(--ink)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px;padding:22px 0;font-size:1.0625rem;line-height:1.65;list-style:none;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::marker{content:''}.faq-list summary:hover{color:var(--blue)}.faq-plus{position:relative;width:18px;height:18px;flex-shrink:0}.faq-plus::before,.faq-plus::after{content:'';position:absolute;background:currentColor}.faq-plus::before{top:8px;left:0;width:18px;height:1px}.faq-plus::after{left:8px;top:0;width:1px;height:18px;transition:transform .15s}.faq-list details[open] .faq-plus::after{transform:rotate(90deg)}.faq-list details>p{padding:0 40px 24px 0;color:var(--muted);line-height:1.85}

/* Neutral contact band, restrained color accents. */
.contact-section{background:var(--surface);border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact-grid h2{font-size:clamp(2.25rem,3.6vw,3.5rem);font-weight:300}.contact-description{max-width:530px;margin-top:24px;color:var(--muted);line-height:1.85}.contact-grid .button{margin-top:28px}.contact-info{min-width:0;padding-top:6px}.contact-label{display:flex;align-items:center;gap:12px;color:var(--muted);margin-bottom:20px;font-size:.9375rem}.contact-label .carbon-icon{width:28px;height:28px;color:var(--blue)}.email-row{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:72px;border-bottom:1px solid #c9d8e2}.email-row>a{font-size:clamp(1.125rem,1.8vw,1.625rem);letter-spacing:-.025em;line-height:1.5;word-break:normal;overflow-wrap:anywhere}.email-row>a:hover{color:var(--blue)}.copy-email{display:none;flex-shrink:0;background:transparent;border:1px solid #aebfc9;padding:8px 12px;min-width:48px;min-height:44px;font-size:.875rem;cursor:pointer}.js .copy-email{display:block}.copy-email:hover{background:#fff}.contact-guide{margin-top:30px}.contact-guide h3{font-size:1rem;font-weight:500;letter-spacing:-.02em}.contact-guide p{margin-top:10px;color:var(--muted);line-height:1.8}.contact-info>.small-note{margin-top:24px}.platform-contact-link{margin-top:16px}.contact-data-note{padding-top:24px;border-top:1px solid var(--line);margin-top:44px;color:var(--muted);font-size:.875rem;line-height:1.8}.copy-status{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:50;max-width:calc(100% - 32px);background:var(--ink);color:#fff;font-size:.9375rem;text-align:center}.copy-status:not(:empty){padding:12px 24px}

/* White brand footer above the charcoal company information strip. */
.site-footer{background:#fff;color:var(--ink);padding:0}.footer-details{background:#161616;color:#c6c6c6;padding:28px 0}.footer-top{display:flex;align-items:center;gap:56px;padding:40px 0}.footer-brand{padding:0}.footer-top>p{font-size:.9375rem;line-height:1.75}.back-top{display:flex;gap:18px;align-items:center;font-size:.875rem;margin-left:auto;min-height:48px}.back-top:hover{color:var(--blue)}.footer-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-top:0;font-size:.8125rem}.company-details p{line-height:1.85}.company-details p>span{display:inline-block;margin-left:16px}.company-details p+p{margin-top:5px}.footer-emails{display:flex;flex-wrap:wrap;gap:0 20px;overflow-wrap:anywhere}.footer-emails a{display:inline-flex;align-items:center;min-height:32px}.footer-emails a:hover{text-decoration:underline}.copyright{flex-shrink:0;line-height:1.8}

@media(min-width:1584px){:root{--gutter:64px}.hero{gap:64px}.hero-art{max-width:680px}}
@media(max-width:1311px){
  :root{--gutter:32px}.hero{gap:32px}.hero h1{font-size:clamp(2.35rem,4vw,3.25rem)}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{padding:30px 32px 20px}.service-card h3{font-size:1.875rem}.service-card .service-tagline{min-height:0}.service-diagram{margin:24px 0;padding:24px}.service-card .term-note{padding-top:22px}.flow-node .carbon-icon{width:40px;height:40px}.flow-connector{margin-top:10px}.about-grid,.section-heading{gap:6%}.process-grid>li{padding-inline:22px}.platform-intro{padding:30px}.platform-details{padding-inline:30px}
}
@media(max-width:1055px){
  :root{--gutter:28px;--header-height:72px}.navigation{gap:24px;font-size:.875rem}.navigation .nav-contact{gap:20px;padding-left:24px}.hero{gap:24px;padding-block:32px}.hero h1{font-size:clamp(2.05rem,4vw,2.7rem)}.hero-description{font-size:1rem}.hero-actions{gap:10px;margin-top:24px}.hero .button{gap:16px;padding-inline:16px;font-size:.875rem}.hero-art figcaption{display:block;padding:12px 16px}.hero-art figcaption>span{display:block}.hero-art figcaption>span+span{margin-top:2px;font-size:.8125rem}.hero-bottom{flex-direction:column;align-items:stretch;gap:16px}.hero-bottom>a{border-top:1px solid var(--line);padding-top:16px}.section{padding-block:72px}.section-label{margin-bottom:32px}.about-grid{grid-template-columns:1fr 1.1fr;gap:5%}.expertise-art{align-self:center}.expertise-row{grid-template-columns:32px 1fr;gap:16px;padding-block:20px}.expertise-icon{width:32px;height:32px}.expertise-row h3{font-size:1.125rem}.expertise-row p{margin-top:10px}.expertise-art figcaption{align-items:start;padding:16px}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 0;margin-top:36px}.process-grid>li:nth-child(2){padding-right:0;border:0}.process-grid>li:nth-child(3){padding-left:0}.process-step{margin-bottom:20px}.platform-section,.faq-section{padding-top:0}.platform-intro{padding:26px}.platform-intro h2{font-size:1.875rem}.platform-details{padding-inline:26px}.interest-row{grid-template-columns:28px 1fr;gap:14px}.interest-row>.carbon-icon{width:28px;height:28px}.faq-grid{gap:6%}.faq-grid h2{font-size:2rem}.contact-grid{gap:6%}.email-row>a{font-size:1.125rem}.footer-bottom{display:block}.copyright{margin-top:20px}
}
@media(max-width:767px){
  .brand-logo{width:160px}.navigation{gap:18px}.navigation .nav-contact{gap:12px;padding-left:16px}.hero{gap:24px}.hero h1{font-size:2rem}.hero-actions{flex-direction:column;align-items:flex-start}.hero .button{min-width:185px}.about-grid{grid-template-columns:1fr}.expertise-art{max-width:640px}.expertise-list{margin-top:28px}.expertise-row:first-child{border-top:1px solid var(--line);padding-top:24px}.expertise-row{grid-template-columns:40px 1fr;gap:20px}.expertise-row h3{font-size:1.25rem}.service-card{padding-inline:24px}.service-card h3{font-size:1.625rem}.service-diagram{padding:20px 12px}.flow-node .carbon-icon{width:32px;height:32px}.services-help .text-link{flex-shrink:0}.platform-panel{grid-template-columns:1fr}.platform-intro{border-right:0}.platform-intro h2{font-size:2rem}.platform-details{padding-bottom:28px}.platform-art img{aspect-ratio:1.8}
}
@media(max-width:700px){
  :root{--gutter:22px}.js .menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:46px;height:46px;background:#fff;border:1px solid var(--line);cursor:pointer}.menu-toggle span{display:block;width:20px;height:1px;background:var(--ink);transition:transform .18s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.js .navigation{display:none;position:absolute;left:0;right:0;top:calc(var(--header-height) - 1px);height:auto;padding:12px var(--gutter) 22px;background:#fff;border-bottom:1px solid var(--line);font-size:1rem}.js .navigation.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.js .navigation>a{padding:12px 4px;min-height:52px}.js .navigation .nav-contact{border-left:0;border-top:1px solid var(--line);margin-top:8px;padding:14px 4px 4px;justify-content:space-between}.js .navigation>a[aria-current="location"]:not(.nav-contact)::after{display:none}html:not(.js) .site-header{height:auto;position:relative}html:not(.js) .header-inner{flex-direction:column;gap:0;align-items:start;padding-block:10px}html:not(.js) .navigation{flex-wrap:wrap;gap:8px 18px}html:not(.js) .navigation .nav-contact{border:0;padding:0}
  .hero{grid-template-columns:1fr;gap:28px;padding-block:34px 28px}.hero-copy{padding:0}.hero .eyebrow{margin-bottom:22px}.hero h1{font-size:clamp(2rem,6.7vw,2.8rem);line-height:1.35}.hero-description{margin-top:22px;max-width:none}.hero-actions{flex-direction:row;flex-wrap:wrap;margin-top:26px}.hero .button{min-width:0;gap:20px;padding:14px 16px;min-height:54px}.hero-art{width:100%}.hero-art>img{aspect-ratio:1.2}.hero-art figcaption{display:flex;align-items:center;gap:16px;font-size:.8125rem}.hero-art figcaption>span+span{margin:0}.hero-bottom{padding-block:18px}.capability-links{gap:12px 22px}.capability-links>a{font-size:.875rem;gap:10px}.capability-links .carbon-icon{width:26px;height:26px}.hero-bottom>a{font-size:.8125rem}
  .section{padding-block:60px}.section-label{gap:20px;margin-bottom:28px}h2{font-size:2.125rem}.section-heading{display:block;margin-bottom:30px}.section-heading>p{max-width:none;margin-top:20px;font-size:1rem}.expertise-art>img{aspect-ratio:1.5}.expertise-art figcaption{gap:10px;font-size:.875rem}.expertise-row{grid-template-columns:32px 1fr;gap:16px}.expertise-row h3{font-size:1.1875rem}.services-help{display:block;margin-top:24px}.services-help .text-link{margin-top:12px}.process-grid{gap:26px 0;margin-top:30px}.process-grid>li{padding-inline:18px;padding-top:22px}.process-step{margin-bottom:18px}.process-step>span{font-size:2rem}.process-icon{width:36px;height:36px}.process-grid h3{font-size:1.125rem;line-height:1.5}.process-grid p{margin-top:10px}.section-note{margin-top:26px}
  .platform-section,.faq-section{padding-top:0}.platform-intro{padding:26px 24px}.platform-intro h2{font-size:1.875rem}.platform-details{padding-inline:24px}.platform-art{margin-top:24px}.platform-art img{aspect-ratio:1.5}.platform-art figcaption{padding:12px}.interest-row{grid-template-columns:32px 1fr;gap:16px;padding-block:24px}.interest-row>.carbon-icon{width:32px;height:32px}.platform-emails{flex-direction:column;gap:0}.faq-grid{display:block}.faq-grid h2{font-size:2rem}.faq-grid .text-link{margin-top:14px}.faq-list{margin-top:24px}.faq-list summary{min-height:82px;padding-block:22px;font-size:1rem;gap:20px}.faq-list details>p{padding-right:26px}.contact-grid{display:block}.contact-grid h2{font-size:2.375rem}.contact-description{max-width:none}.contact-grid .button{margin-top:24px}.contact-info{margin-top:40px;padding-top:0}.contact-label{margin-bottom:12px}.email-row>a{font-size:clamp(1.04rem,4.2vw,1.5rem)}.contact-guide{margin-top:26px}.contact-info>.small-note{margin-top:20px}.contact-data-note{margin-top:30px;padding-top:22px}
  .site-footer{padding-top:0}.footer-top{flex-wrap:wrap;gap:20px;padding:28px 0}.footer-top>p{order:3;width:100%}.footer-brand{font-size:1.25rem}.back-top{font-size:.8125rem;gap:10px}.footer-bottom{margin-top:0}.company-details p>span{display:block;margin-left:0}.company-details p:first-child>span:first-of-type{margin-top:8px}.company-details p+p{margin-top:12px}.footer-emails{flex-direction:column}.copyright{margin-top:24px}
}
@media(max-width:671px){.services-grid{grid-template-columns:1fr}.service-card{padding:28px 24px 18px}.service-card h3{font-size:1.875rem}.service-card .service-tagline{margin-top:16px}.service-diagram{padding:24px 16px;margin-block:22px}.flow-node .carbon-icon{width:40px;height:40px}.flow-node>span{font-size:.9375rem}.service-link{margin-top:22px}}
@media(max-width:380px){:root{--gutter:18px}.hero h1{font-size:1.9375rem}.hero .button{padding-inline:12px;gap:10px;font-size:.875rem}.hero .button .icon{width:20px}.hero-art figcaption{display:block}.hero-art figcaption>span+span{margin-top:4px}.process-grid{grid-template-columns:1fr;gap:0}.process-grid>li,.process-grid>li:nth-child(2),.process-grid>li:nth-child(3),.process-grid>li:nth-child(4){padding:24px 0;border:0;border-bottom:1px solid var(--line)}.process-grid>li:last-child{border-bottom:0}.service-card,.platform-intro,.platform-details{padding-inline:20px}.email-row{gap:8px}.copy-email{min-width:44px;padding-inline:8px}.contact-grid .button{width:100%;padding-inline:16px;gap:12px}.platform-details>.button{padding-inline:16px;gap:16px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.site-header,.hero-art,.expertise-art,.platform-art,.copy-email,.copy-status,.menu-toggle,.skip-link,.back-top{display:none!important}:root{--gutter:0px}body{font-size:11pt;background:#fff;color:#000}.section{padding:24px 0}.container{width:100%}.hero{display:block;padding:20px 0}.hero h1{font-size:28pt}.hero-bottom{display:none}.service-card,.expertise-row,.process-grid>li{break-inside:avoid}.services-grid{grid-template-columns:1fr 1fr}.services-section,.contact-section,.site-footer{background:#fff;color:#000}.site-footer a,.footer-brand{color:#000}details>p{display:block!important}.button{border:1px solid #555;background:#fff;color:#000}}

/* Two locally hosted Vanta effects; still images remain the default fallback. */
.motion-stage{position:relative;aspect-ratio:1.18;overflow:hidden;isolation:isolate;background:#f4f9fc}
.motion-stage>.motion-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1}
.motion-canvas{position:absolute;inset:0;opacity:0;pointer-events:none}
.motion-stage.is-animated>.motion-fallback{opacity:0}
.motion-stage.is-animated>.motion-canvas{opacity:1}
.motion-enabled .motion-fallback,.motion-enabled .motion-canvas{transition:opacity .55s ease}
.platform-art .motion-stage{aspect-ratio:1.72;background:#fcf6f9}
.motion-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:-10px -8px;padding:8px;border:0;background:transparent;color:var(--blue);font-size:.875rem;cursor:pointer;white-space:nowrap}
.motion-toggle[hidden]{display:none}.motion-toggle:hover{background:var(--sky)}.motion-toggle>[data-motion-icon]{font-size:1rem;width:16px;text-align:center}
.hero-art figcaption{align-items:center;flex-wrap:wrap;min-height:52px}
.motion-enabled .button,.motion-enabled .text-link .icon,.motion-enabled .service-icon,.motion-enabled .flow-node .carbon-icon,.motion-enabled .expertise-icon,.motion-enabled .process-icon,.motion-enabled .expertise-art img{transition:transform .28s ease,background .2s ease,color .2s ease,border-color .2s ease}
.motion-enabled .service-card,.motion-enabled .expertise-row{transition:background .28s ease}
@media(hover:hover) and (pointer:fine){
  .motion-enabled .button:hover{transform:translateY(-2px)}
  .motion-enabled .text-link:hover .icon{transform:translateX(4px)}
  .motion-enabled .service-card:hover{background:#f7fbfd}
  .motion-enabled .service-card:hover .service-icon,.motion-enabled .service-card:hover .flow-node .carbon-icon,.motion-enabled .expertise-row:hover .expertise-icon,.motion-enabled .process-grid>li:hover .process-icon{transform:translateY(-3px)}
  .motion-enabled .expertise-art{overflow:hidden}.motion-enabled .expertise-art:hover img{transform:scale(1.015)}
}
@keyframes menu-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1055px){.hero-art figcaption{display:flex}}
@media(max-width:767px){.platform-art .motion-stage{aspect-ratio:1.8}}
@media(max-width:700px){.motion-stage{aspect-ratio:1.2}.motion-enabled .navigation.is-open{animation:menu-enter .24s ease both}.hero-art figcaption{gap:8px;padding-block:14px}}
.motion-disabled{scroll-behavior:auto}.motion-disabled *, .motion-disabled *::before, .motion-disabled *::after{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.motion-stage>.motion-fallback,.motion-canvas{transition:none!important}}
@media print{.motion-toggle,.motion-canvas{display:none!important}.motion-stage.is-animated>.motion-fallback{opacity:1}}

.motion-stage[data-effect="WAVES"]{background:linear-gradient(135deg,#652ac4,#2452cd 65%,#20135a)}
.motion-stage[data-effect="WAVES"]>.motion-fallback{mix-blend-mode:multiply;filter:grayscale(1) contrast(.85)}
@media print{.footer-details{background:#fff;color:#000;padding:0}.footer-top{padding:20px 0}}
