/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/itd-static-20261112/assets/fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6z9mXgjU0.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/itd-static-20261112/assets/fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K6z9mXg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/itd-static-20261112/assets/fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6z9mXgjU0.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/itd-static-20261112/assets/fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K6z9mXg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/itd-static-20261112/assets/fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6z9mXgjU0.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/itd-static-20261112/assets/fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K6z9mXg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/itd-static-20261112/assets/fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6z9mXgjU0.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/itd-static-20261112/assets/fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K6z9mXg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{--paper:#f1f1eb;--ink:#151714;--blue:#214aff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #191b1626;background:#f1f1ebed;position:relative;z-index:5}.brand{font-size:27px;font-weight:700;letter-spacing:-1.7px}.brand span{display:inline-block;color:var(--blue);font-size:34px;margin-left:6px}nav{display:flex;gap:30px;font-size:13px}.contact{border:1px solid #191b1640;border-radius:40px;padding:14px 20px;font-size:12px}.menu{display:none}.hero{position:relative;min-height:760px;height:calc(100svh - 100px);max-height:1100px;overflow:hidden}.hero-top{position:absolute;top:28px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px}.hero-copy{position:absolute;top:16%;left:6%;z-index:2;pointer-events:none}.hero-copy a{pointer-events:auto}.tiny{font-size:9px;letter-spacing:1.6px}.tiny i{display:inline-block;width:6px;height:6px;background:var(--blue);border-radius:100%;margin-right:8px}h1{font-size:clamp(66px,7.8vw,128px);font-weight:500;letter-spacing:-.075em;line-height:.96;margin:28px 0}em{font-style:normal;color:var(--blue)}.hero-copy p{font-size:16px;line-height:1.6;color:#65675e;margin:25px 0}.pill{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:var(--ink);color:white;border-radius:50px;padding:19px 25px;font-size:13px}.pill:hover{background:var(--blue)}#sculpture{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y}.art-caption{position:absolute;right:10%;bottom:17%;display:flex;flex-direction:column;gap:8px;font-size:9px;letter-spacing:1px}.art-caption small{font-size:8px;color:#77796e}.hero-bottom{position:absolute;bottom:25px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;border-top:1px solid #191b1626;padding-top:22px}.intro{padding:110px 6%;display:grid;grid-template-columns:1fr 2.4fr;border-top:1px solid #191b1626}.label{font-size:10px;letter-spacing:1.5px}.intro h2,h2{font-size:clamp(44px,5.5vw,86px);font-weight:500;letter-spacing:-.065em;line-height:1.05;margin:0}.intro h2 span{color:#92958c}.intro-bottom{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;margin-top:45px;align-items:end}p{line-height:1.8}.intro-bottom p{color:#66695f;font-size:15px;margin:0}.text-link{font-size:13px;border-bottom:1px solid;padding-bottom:10px;display:inline-block}.work{padding:90px 6% 100px;background:#e5e7de}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:55px}.section-heading .label{margin-bottom:30px}.section-heading>span{font-size:9px;letter-spacing:1px;color:#64675e}.project-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:35px;margin-bottom:50px}.project.second{padding-top:100px}.project-art{position:relative;min-height:440px;aspect-ratio:1.1;display:flex;align-items:center;justify-content:center;overflow:hidden}.warm{background:#d5c9b5}.blue{background:#bbc7de}.project-art img{width:87%;height:80%;object-fit:contain;transition:transform .6s;mix-blend-mode:multiply}.project:hover img{transform:scale(1.045) rotate(-2deg)}.project-tag{position:absolute;top:25px;left:25px;font-size:9px;letter-spacing:1px}.project-arrow{position:absolute;bottom:25px;right:25px;border-radius:50%;width:45px;height:45px;display:grid;place-items:center;background:#f1f1eb;font-size:24px}.project-meta{display:flex;justify-content:space-between;align-items:center;gap:15px}.project-meta h3{font-size:23px;letter-spacing:-1px;font-weight:500}.project-meta>span{font-size:11px;color:#6b6d63}.expertise{background:#141811;color:#f1f1eb;padding:110px 6%;display:grid;grid-template-columns:1fr 1.1fr;gap:80px}.expertise h2{font-size:clamp(40px,4vw,65px);margin:35px 0}.expertise h2 em{color:#b5c2ff}.expertise-heading>p{color:#9caa92;font-size:14px}.service-list details{border-bottom:1px solid #ffffff29}.service-list summary{list-style:none;cursor:pointer;padding:30px 0;display:flex;align-items:center;gap:20px;font-size:clamp(18px,2vw,28px);letter-spacing:-.7px}.service-list summary::-webkit-details-marker{display:none}.service-list summary span{font-size:10px;letter-spacing:0;color:#8e9c83}.service-list summary b{font-weight:400;margin-left:auto;color:#b5c2ff}.service-list p{font-size:14px;color:#aab49f;padding:0 30px 20px 36px;margin:0;max-width:450px}.process{padding:100px 6%}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:55px}.steps article{border-top:1px solid #191b1633;padding-top:25px}.steps span{font-size:10px;letter-spacing:1px;color:#707568}.steps h3{font-size:38px;font-weight:500;letter-spacing:-1.5px;line-height:1.1}.steps p{font-size:14px;color:#6c7264;max-width:280px}.final{background:var(--blue);color:#f1f1eb;padding:95px 6%}.final h2{font-size:clamp(50px,8vw,125px);margin:40px 0 55px}.final h2 a{color:#c6d0ff}.final>div{display:flex;gap:60px;font-size:15px}footer{padding:45px 6%;display:flex;justify-content:space-between;align-items:center;gap:25px}footer>span,footer small,footer>a:last-child{font-size:9px;letter-spacing:.5px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #6483ff;outline-offset:5px}@media(max-width:800px){header{height:80px}.brand{font-size:23px}.contact{display:none}.menu{display:block;background:none;border:0;font-size:25px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:30px 6%;border-bottom:1px solid #0002}nav.open{display:flex;flex-direction:column}.hero{height:1000px;min-height:0}.hero-top span:last-child{display:none}.hero-copy{top:10%;left:7%}h1{font-size:clamp(57px,13vw,88px)}.hero-copy p{font-size:15px}.tiny{font-size:8px}.art-caption{bottom:10%;right:10%}.hero-bottom{font-size:7px}.hero-bottom>a{display:none}.intro{grid-template-columns:1fr;gap:35px;padding:70px 7%}.intro-bottom{grid-template-columns:1fr;gap:30px}.section-heading{display:block}.section-heading>span{display:block;margin-top:25px}.work{padding:65px 7%}.project-grid{grid-template-columns:1fr;gap:35px}.project.second{padding:0}.project-art{min-height:330px}.project-meta>span{font-size:10px}.expertise{grid-template-columns:1fr;gap:25px;padding:70px 7%}.process{padding:70px 7%}.steps{grid-template-columns:1fr;gap:25px}.steps h3{margin:25px 0}.final{padding:65px 7%}.final .label{font-size:8px}.final>div{flex-direction:column;gap:15px}footer{flex-wrap:wrap;padding:35px 7%}footer .brand{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-art img{transition:none}}

/* IT DESIGN demo */
.brand { white-space: nowrap; }
.hero-copy h1 { font-size: clamp(64px, 7vw, 120px); }
.project-art img { mix-blend-mode: normal; width: 84%; height: auto; max-height: 78%; object-fit: contain; box-shadow: 0 18px 44px #17233a27; border-radius: 5px; }
.service-list p { padding-left: 0; }
.service-list p a { text-decoration: underline; text-underline-offset: .25em; }
.service-list details[open] summary b { transform: rotate(45deg); }
a:focus-visible, summary:focus-visible, button:focus-visible { outline: 2px solid #657eff; outline-offset: 5px; }
@media (max-width: 800px) {
  .hero-copy h1 { font-size: clamp(44px, 11vw, 78px); }
  .hero-copy p br { display: none; }
  .hero-copy p { max-width: 310px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .project-art img { transition: none; }
}

@media (max-width: 800px) {
  .project-grid { grid-template-columns: minmax(0, 1fr); }
  .project-art { min-height: 0; width: 100%; }
  .hero-copy { top: 13%; }
}

/* Shared layout for the demo pages */
nav a[aria-current="page"] { color: var(--blue); text-decoration: underline; text-underline-offset: .4em; }
.subpage h1 { max-width: 13ch; margin: 22px 0 25px; font-size: clamp(52px, 8vw, 122px); }
.page-intro { padding: clamp(64px, 9vw, 135px) 6%; border-bottom: 1px solid #191b1626; }
.page-intro p { max-width: 36rem; margin: 0; color: #595d52; font-size: clamp(16px, 1.4vw, 20px); }
.content-wrap { padding: clamp(46px, 7vw, 95px) 6%; }
.page-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: clamp(42px, 7vw, 95px) 6%; background: #dfe5ff; }
.page-cta h2 { font-size: clamp(38px, 5.5vw, 78px); }
.page-cta .pill { flex-shrink: 0; }
.service-page { display: grid; grid-template-columns: minmax(170px, 1fr) minmax(0, 2fr); gap: clamp(30px, 7vw, 100px); }
.section-index { display: grid; align-content: start; gap: 12px; }
.section-index a { border-bottom: 1px solid #191b1626; padding: 10px 0; }
.section-index a:hover { color: var(--blue); }
.service-articles article { border-bottom: 1px solid #191b1626; padding: 0 0 35px; margin-bottom: 38px; }
.service-articles article:last-child { margin-bottom: 0; }
.service-articles h2, .contact-info h2 { font-size: clamp(32px, 4.5vw, 61px); }
.service-articles p, .about-panel p { color: #53584f; max-width: 56ch; }
.filter-bar { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 34px; }
.filter-bar button { padding: 9px 15px; border: 1px solid #2225; background: transparent; border-radius: 50px; }
.filter-bar button[aria-pressed="true"] { color: white; border-color: var(--ink); background: var(--ink); }
.portfolio-page { background: #e5e7de; }
.portfolio-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(18px,4vw,52px); }
.portfolio-card .project-art { min-height: 0; }
.portfolio-card a:hover img { transform: scale(1.045); }
.card-copy { padding: 20px 0; }
.card-copy h2 { font-size: clamp(24px,3.2vw,43px); margin: 9px 0; }
.card-copy p { color: #53584f; margin: 0; }
.about-panel, .contact-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: clamp(28px,7vw,100px); }
.about-panel { background: #e5e7de; }
.about-panel h2 { margin-top: 20px; }
.about-process .steps h3 { min-height: auto; }
.editorial-list article { display: grid; grid-template-columns: minmax(95px,.55fr) minmax(0,2fr) auto; gap: 25px; padding: 28px 0; border-bottom: 1px solid #191b1626; align-items: baseline; }
.editorial-list h2 { font-size: clamp(28px,4.5vw,56px); }
.editorial-list h2 a:hover, .contact-info a:hover { color: var(--blue); }
.editorial-list p { margin: 8px 0 0; color: #53584f; }
.article-link { border-radius: 50%; border: 1px solid #2225; display: grid; place-items: center; width: 42px; height: 42px; font-size: 24px; }
.contact-info a { display: block; margin-top: 16px; font-size: clamp(19px, 2.5vw, 32px); }
.contact-info p { color: #53584f; }
.demo-form { display: grid; gap: 16px; }
.demo-form label { display: grid; gap: 7px; }
.demo-form input, .demo-form select, .demo-form textarea { font: inherit; color: inherit; border: 1px solid #191b1655; padding: 12px; border-radius: 7px; background: #fff; min-width: 0; width: 100%; }
.demo-form textarea { resize: vertical; }
.demo-form .pill { justify-self: start; border: 0; }
.form-note, .form-result { margin: 0; color: #53584f; font-size: 14px; }
.form-result { color: #203786; }
@media (max-width: 750px) {
  .service-page,.about-panel,.contact-layout,.portfolio-grid { grid-template-columns: minmax(0,1fr); }
  .page-cta { flex-direction: column; align-items: flex-start; }
  .editorial-list article { grid-template-columns: minmax(0,1fr) auto; gap: 12px 18px; }
  .editorial-list article > .label { grid-column: 1 / -1; }
}

/* Content imported into the local IT DESIGN preview */
.site-footer { display: block; padding: clamp(42px, 6vw, 86px) 6% 25px; background: var(--paper); color: var(--ink); border-top: 1px solid #191b1626; font-size: 14px; line-height: 1.65; }
.footer-columns { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1.15fr; gap: 28px 44px; }
.footer-columns h2 { margin: 0 0 12px; font-size: 17px; letter-spacing: normal; }
.footer-columns address { font-style: normal; }
.footer-columns a { display: block; width: fit-content; }
.footer-columns a:hover, .footer-bottom a:hover { text-decoration: underline; }
.footer-identity img { display: block; width: 92px; max-height: 62px; object-fit: contain; object-position: left; }
.footer-identity p { margin: 8px 0; }
.footer-links { display: flex; gap: 14px; flex-wrap: wrap; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid #191b1626; margin-top: 34px; padding-top: 19px; font-size: 12px; }
.portfolio-page .portfolio-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.portfolio-page .project-art { aspect-ratio: 1.12; }
.portfolio-page .project-art img { height: 83%; width: 89%; max-height: none; box-shadow: none; }
.portfolio-page .card-copy h2 { font-size: clamp(21px,2.4vw,36px); letter-spacing: -.035em; }
.about-history p { margin: 0; max-width: 30ch; font-size: clamp(23px, 3vw, 41px); line-height: 1.3; letter-spacing: -.025em; }
.about-history strong { color: var(--blue); }
.about-page .page-intro h1 { letter-spacing: -.036em; line-height: 1.02; max-width: 16ch; }
.about-clients { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; background: #e5e7de; }
.about-clients p { color: #53584f; max-width: 42ch; }
.about-clients ul { list-style: none; margin: 0; padding: 0; }
.about-clients li a { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 16px 0; border-bottom: 1px solid #191b1626; }
.about-clients li a:hover { color: var(--blue); }
.about-clients li span { color: #555b50; font-size: 13px; }
.blog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; background: #e5e7de; }
.blog-card { min-width: 0; background: var(--paper); }
.blog-card > a { display: flex; height: 100%; flex-direction: column; }
.blog-card img { width: 100%; aspect-ratio: 1.6; object-fit: cover; }
.blog-card div { display: grid; align-content: start; gap: 14px; padding: 22px; }
.blog-card h2 { font-size: clamp(23px,2.5vw,37px); line-height: 1.12; letter-spacing: -.035em; }
.blog-card time,.article-page time { font-size: 13px; color: #555b50; }
.blog-card .text-link { justify-self: start; }
.blog-card a:hover h2 { color: var(--blue); }
.article-page .page-intro h1 { max-width: 20ch; font-size: clamp(36px,6vw,86px); letter-spacing: -.035em; overflow-wrap: anywhere; }
.article-body { max-width: 920px; margin-inline: auto; overflow-wrap: anywhere; line-height: 1.75; }
.article-body h2 { font-size: clamp(26px,4vw,46px); margin-top: 1.15em; letter-spacing: -.035em; }
.article-body img { max-width: 100%; height: auto; }
.article-body figure { margin-inline: 0; }
.article-body a { color: #2341cf; text-decoration: underline; }
.article-body table { display: block; overflow-x: auto; border-collapse: collapse; }
.article-body th,.article-body td { border: 1px solid #191b163d; padding: 8px; }
@media (max-width: 1050px) {
  .portfolio-page .portfolio-grid, .blog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 750px) {
  .footer-columns { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .about-clients { grid-template-columns: minmax(0,1fr); gap: 15px; }
}
@media (max-width: 520px) {
  .subpage h1 { font-size: clamp(42px,11vw,58px); }
  .footer-columns,.portfolio-page .portfolio-grid,.blog-grid { grid-template-columns: minmax(0,1fr); }
  .footer-bottom { flex-wrap: wrap; }
}

.service-detail { margin-inline-start: 1.25rem; }
.form-note a { text-decoration: underline; }
