@import url("/assets/fonts/manrope.css");
:root{--paper:#f3f1eb;--white:#fff;--ink:#17221c;--muted:#657067;--line:#d4d8ce;--green:#1e4933;--accent:#e1e9b1;--dark:#18251e;--dark-muted:#b9c5b8;--font:'Manrope',Arial,sans-serif;color-scheme:light;font-family:var(--font);font-size:16px;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:26px}body{margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button,summary{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}h1,h2,h3,p,figure{margin:0}img,video{display:block;max-width:100%}button{border:0}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #96a934;outline-offset:5px}button:disabled{cursor:default}::selection{color:var(--ink);background:var(--accent)}[hidden]{display:none!important}summary{list-style:none}summary::-webkit-details-marker{display:none}.skip-link{position:absolute;top:-80px;left:20px;background:var(--ink);color:white;padding:12px;z-index:20}.skip-link:focus{top:8px}.section-shell{width:min(100% - 112px,1328px);margin-inline:auto}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:600;line-height:1.5}.section-number{color:var(--muted);font-size:11px;font-weight:500;letter-spacing:.06em}.text-link{display:inline-flex;align-items:center;gap:36px;min-height:44px;font-size:14px;font-weight:600;border-bottom:1px solid currentColor}.text-link span{font-size:23px;font-weight:400}.text-link:hover{color:var(--green)}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:42px;min-height:55px;padding:16px 23px;font-size:13px;font-weight:700;border-radius:2px;transition:background .2s,color .2s}.button span{font-size:22px;line-height:1;font-weight:400}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:var(--accent)}.button-accent{background:var(--accent);color:var(--ink)}.button-accent:hover{background:#eef5d0}
.site-header{display:flex;align-items:center;padding:0 4%;min-height:88px;gap:35px;position:relative;z-index:5}.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;font-size:29px;font-weight:800;letter-spacing:-.08em;line-height:.9}.brand-mark{width:9px;height:9px;background:var(--green);margin-top:-9px}.brand small{display:block;font-size:7px;font-weight:600;letter-spacing:.25em;margin-top:8px;line-height:1.1}.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:28px}.desktop-nav>a,.desktop-nav summary{font-size:12px;font-weight:600;min-height:44px;display:flex;gap:6px;align-items:center}.desktop-nav>a:hover,.desktop-nav summary:hover{color:var(--green)}.nav-industries{position:relative}.nav-dropdown{position:absolute;top:45px;left:-15px;min-width:270px;padding:12px;background:var(--paper);border:1px solid var(--line);box-shadow:0 14px 35px #17221c15}.nav-dropdown a{display:block;padding:12px 9px;font-size:13px}.nav-dropdown a:hover{background:#e4e8dc}.header-cta{min-height:44px;display:flex;gap:25px;align-items:center;border-bottom:1px solid var(--ink);font-size:12px;font-weight:700;white-space:nowrap}.header-cta>span{font-size:22px;font-weight:400}.menu-toggle{display:none;background:transparent;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:6px;padding:10px}.menu-toggle>span{height:1px;width:22px;background:var(--ink);transition:transform .2s}.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)}.mobile-nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:16px 6% 24px;border-bottom:1px solid var(--line)}.mobile-nav a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-size:18px}
.hero{position:relative;isolation:isolate;min-height:620px;color:#fff;background:#22271e;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;z-index:-3}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(13,21,17,.76) 0%,rgba(13,21,17,.5) 40%,rgba(13,21,17,.08) 73%),linear-gradient(0deg,rgba(10,18,13,.48),transparent 28%)}.hero-content{width:min(100% - 112px,1328px);margin-inline:auto;padding-top:65px;padding-bottom:115px}.hero-eyebrow{display:flex;align-items:center;gap:10px;color:#e2e7d7;font-size:10px}.signal{width:6px;height:6px;background:var(--accent);display:inline-block}.hero h1{font-size:clamp(56px,6.2vw,91px);font-weight:500;letter-spacing:-.065em;line-height:1.04;margin-top:35px}.hero-description{font-size:16px;font-weight:400;line-height:1.8;margin-top:28px;color:#e1e4db;max-width:420px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:31px}.video-link{display:flex;align-items:center;gap:12px;background:transparent;color:#fff;text-align:left;padding:0;min-height:52px;font-size:12px;font-weight:600}.video-link small{display:block;color:#c6cfbf;font-size:10px;font-weight:400;margin-top:5px}.play-circle{width:48px;height:48px;border:1px solid #ffffff60;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.play-circle>span,.media-play>span,.play-small{width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid currentColor;margin-left:2px}.video-link:hover .play-circle{background:#ffffff20}.hero-bottom{position:absolute;bottom:25px;left:4%;right:4%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;color:#e0e4d9;letter-spacing:.02em}.concept-label{font-size:10px;color:#d3d9cc;border-bottom:1px solid #d3d9cc70;padding-bottom:3px}.client-strip{display:flex;gap:55px;align-items:center;padding:32px 4%;border-bottom:1px solid var(--line)}.strip-label{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-right:auto}.client-strip>a{font-size:26px;font-weight:700;letter-spacing:-.05em;min-height:44px;display:flex;align-items:center;gap:5px;transition:opacity .2s}.client-strip>a:hover{opacity:.6}.client-strip>a>span{font-size:13px;align-self:center;font-weight:500}.client-strip .kaylas-word{font-size:24px;letter-spacing:.08em}.client-strip .smart-word{font-size:25px;font-weight:500;letter-spacing:-.07em}
.solutions{padding-block:60px 68px;display:grid;grid-template-columns:1fr 2fr;gap:60px;border-bottom:1px solid var(--line)}.section-label{display:flex;align-items:flex-start;gap:24px}.section-label>.section-number{padding-top:8px}.section-label h2{font-size:24px;line-height:1.3;font-weight:500;letter-spacing:-.04em}.solution-links{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.solution-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;border-bottom:1px solid var(--line);font-size:14px;font-weight:500;transition:color var(--duration-feedback) ease}.solution-links a>span{font-size:19px;font-weight:400}.solution-links a:hover{color:var(--green)}
.projects{padding-block:85px 74px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:39px}.section-heading .eyebrow>.section-number{margin-right:18px}.section-heading h2{font-size:clamp(34px,3.7vw,52px);font-weight:500;line-height:1.13;letter-spacing:-.055em;margin-top:21px}.section-heading>p{font-size:13px;line-height:1.7;color:var(--muted);padding-bottom:5px}.project-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:32px;row-gap:51px}.project{min-width:0;scroll-margin-top:28px}.project-media{width:100%;display:block;position:relative;aspect-ratio:16/10;overflow:hidden;padding:0;background:#28372f;text-align:left;color:#fff}.project-media>img{width:100%;height:100%;object-fit:cover}.project-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#07110d55,transparent 30%,transparent 65%,#07110d88);pointer-events:none}.media-top,.media-bottom{position:absolute;z-index:1;left:22px;right:22px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;font-weight:500;letter-spacing:.04em}.media-top{top:21px}.media-bottom{bottom:20px}.media-bottom>span:last-child{display:flex;align-items:center;gap:18px}.media-bottom>span:last-child>span{font-size:23px}.media-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;width:65px;height:65px;background:#f5f6eeed;color:var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color var(--duration-feedback) ease}.project-media:hover .media-play{background:var(--accent)}.media-play>span{border-top-width:7px;border-bottom-width:7px;border-left-width:10px}.project-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px}.project-caption h3{font-size:23px;line-height:1.2;font-weight:700;letter-spacing:-.04em}.project-caption h3>span{margin-left:10px;font-size:11px;letter-spacing:0;font-weight:400;color:var(--muted);white-space:nowrap}.project-caption p{font-size:15px;line-height:1.6;color:var(--muted);margin-top:8px}.project-arrow{width:42px;height:42px;display:flex;justify-content:center;align-items:center;border:1px solid var(--line);border-radius:50%;font-size:22px;flex-shrink:0;transition:background .2s}.project-arrow:hover{background:var(--accent)}.project-details{border-bottom:1px solid var(--line);margin-top:13px}.project-details summary{display:flex;justify-content:space-between;align-items:center;min-height:44px;font-size:11px;font-weight:500;color:var(--muted)}.project-details summary>span{font-size:21px}.project-details[open] summary>span{transform:rotate(45deg)}.project-details p{font-size:14px;line-height:1.8;max-width:510px;padding:0 30px 20px 0}.project-details p a{text-decoration:underline;text-underline-offset:3px}.media-source-note{font-size:11px;line-height:1.7;color:var(--muted);max-width:700px;margin-top:32px}.software-media{position:relative;aspect-ratio:16/10;background:#d5dccb;overflow:hidden}.software-image-button{display:block;width:100%;height:100%;padding:0;background:transparent;text-align:left}.software-canvas{position:absolute;left:8%;right:-12%;top:13%;bottom:14%;transform:rotate(-5deg);border:6px solid #fff;border-radius:4px;overflow:hidden;box-shadow:0 18px 38px #17221c28;transition:transform .4s}.software-canvas img{width:100%;height:100%;object-fit:cover;object-position:top left;max-width:none}.software-media-label{position:absolute;bottom:18px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:10px;letter-spacing:.04em}.software-media-label>span:last-child{font-size:22px}.software-video{position:absolute;top:16px;left:19px;z-index:1;display:flex;align-items:center;gap:10px;background:#f3f1ebf2;font-size:10px;min-height:38px;padding:8px 12px;border:1px solid #17221c14}.software-video>span:last-child{color:var(--muted);margin-left:8px}.play-small{border-top-width:4px;border-bottom-width:4px;border-left-width:6px;display:inline-block;margin:0}
.process-section{background:var(--dark);color:var(--paper);padding-block:68px 70px}.process-section .eyebrow,.process-section .section-number{color:#b7c6ad}.process-section .section-heading{margin-bottom:53px}.process-section .section-heading h2{font-size:clamp(32px,3.4vw,46px)}.process-section .text-link{color:var(--accent);font-size:12px;gap:28px}.process-line{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:0;list-style:none;margin:0}.process-line li{position:relative;border-top:1px solid #62715d;padding-top:18px}.process-line li::before{content:'';position:absolute;top:-4px;left:0;width:7px;height:7px;background:var(--accent);border-radius:50%}.process-line li>span{font-size:10px;letter-spacing:.05em;color:#b3c3a7}.process-line h3{font-size:23px;font-weight:500;letter-spacing:-.035em;margin-top:13px}.process-line p{font-size:12px;line-height:1.6;color:var(--dark-muted);margin-top:8px}
.about{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:center;padding-block:91px}.about-photo{min-width:0;position:relative;aspect-ratio:1.13;overflow:hidden;background:#d5d7ce}.about-photo>img{width:100%;height:100%;object-fit:cover;object-position:35% 50%}.about-photo figcaption{position:absolute;left:16px;bottom:15px;font-size:10px;letter-spacing:.025em;background:#f3f1ebed;padding:8px 10px}.about-copy h2{font-size:clamp(36px,4.4vw,61px);font-weight:500;letter-spacing:-.06em;line-height:1.1;margin-top:24px;margin-bottom:24px}.about-copy>p:not(.eyebrow){font-size:16px;line-height:1.8;max-width:390px}.about-copy>.about-secondary{color:var(--muted);margin-top:15px;font-size:14px!important}.about-copy .text-link{margin-top:22px;font-size:13px;gap:25px}.faq{display:grid;grid-template-columns:1fr 2fr;gap:60px;padding-block:18px 82px}.faq-items{border-top:1px solid var(--line)}.faq-items details{border-bottom:1px solid var(--line)}.faq-items summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:70px;padding:18px 0;font-size:14px;font-weight:500}.faq-items summary>span{font-size:23px;font-weight:400}.faq-items details[open] summary>span{transform:rotate(45deg)}.faq-items p{font-size:14px;line-height:1.8;max-width:650px;padding:0 25px 22px 0;color:var(--muted)}
.contact{background:var(--green);color:var(--paper);padding-block:76px 82px}.contact-layout{display:grid;grid-template-columns:1fr .9fr;gap:13%}.contact .eyebrow,.contact .section-number{color:#c0cfb7}.contact-copy h2{font-size:clamp(36px,4.1vw,59px);font-weight:500;letter-spacing:-.055em;line-height:1.12;margin-top:25px}.contact-copy h2>span{color:var(--accent)}.contact-copy>p:not(.eyebrow){font-size:14px;color:#d2dfc8;margin-top:21px;margin-bottom:40px}.contact-copy>a{display:block;width:fit-content;min-height:36px;font-size:13px;line-height:1.5}.contact-copy>a:hover{text-decoration:underline;text-underline-offset:4px}.contact-form{padding-top:6px;min-width:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{margin-bottom:19px}.field label{font-size:11px;display:block;font-weight:500;margin-bottom:8px;color:#e0ead9}.field label>span{font-size:9px;font-weight:400;color:#c0cfb7;margin-left:5px}.field input,.field textarea{width:100%;background:transparent;color:#fff;border:0;border-bottom:1px solid #83a187;border-radius:0;padding:8px 0 13px;font-size:14px;line-height:1.5;min-width:0}.field input::placeholder,.field textarea::placeholder{color:#c1d0b8;opacity:1}.field textarea{height:70px;resize:vertical;min-height:70px}.contact-form>.button{margin-top:4px;width:100%;justify-content:space-between}.form-status{padding:14px 0;font-size:13px;line-height:1.6;color:#eff5e3}.site-footer{display:flex;align-items:center;gap:45px;padding:37px 4%}.footer-brand{font-size:25px}.site-footer p{font-size:10px;line-height:1.7;color:var(--muted);margin-right:auto}.site-footer>a:not(.brand){font-size:11px;min-height:44px;display:flex;align-items:center;gap:14px}.prototype-label{font-size:10px;color:var(--muted);letter-spacing:.02em;margin-left:auto}
.media-dialog{width:min(1080px,calc(100% - 48px));max-height:calc(100% - 48px);padding:0;border:0;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #0005;overflow:auto}.media-dialog::backdrop{background:#07100de8;backdrop-filter:blur(2px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 26px}.dialog-top .eyebrow{color:var(--muted);font-size:9px}.dialog-top h2{font-size:24px;font-weight:600;letter-spacing:-.04em;margin-top:4px}.close-dialog{width:44px;height:44px;flex-shrink:0;font-size:33px;line-height:1;font-weight:400;background:transparent}.close-dialog:hover{background:#e2e6db}.dialog-media{background:#0d1711;min-height:150px}.dialog-media video{width:100%;max-height:63vh;object-fit:contain;background:#07100d}.dialog-media img{width:100%;max-height:63vh;object-fit:contain;background:#eef0e9}.dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:20px 26px}.dialog-bottom>p{font-size:12px;line-height:1.7;max-width:620px;color:var(--muted)}.dialog-bottom .text-link{font-size:11px;white-space:nowrap;gap:16px;flex-shrink:0}
.project-media>.project-preview{width:100%;height:100%;object-fit:cover;pointer-events:none}
@media(min-width:1700px){.hero{min-height:700px}.hero-content{padding-top:80px}.hero h1{font-size:100px}.hero-description{font-size:18px}}
@media(max-width:1100px){.section-shell,.hero-content{width:calc(100% - 72px)}.site-header{gap:24px;min-height:80px}.desktop-nav{gap:18px}.header-cta{gap:15px}.hero{min-height:590px}.hero-content{padding-top:55px}.hero h1{font-size:68px}.hero-description{font-size:15px}.client-strip{gap:34px}.client-strip>a{font-size:23px}.client-strip .smart-word{font-size:23px}.solutions,.faq{gap:35px;grid-template-columns:.85fr 2fr}.solution-links{gap:0 25px}.solution-links a{font-size:12px}.section-label h2{font-size:22px}.section-label{gap:17px}.projects{padding-block:66px}.project-grid{gap:40px 25px}.project-media,.software-media{aspect-ratio:1.5}.project-caption h3{font-size:21px}.project-caption p{font-size:13px}.media-top{font-size:9px;left:16px;right:16px}.media-bottom{left:16px;right:16px}.process-line{gap:23px}.process-line p{font-size:11px}.about{gap:7%;padding-block:73px}.contact-layout{gap:8%}.contact-copy h2{font-size:43px}.form-row{gap:17px}.site-footer{gap:30px}}
@media(max-width:900px){.desktop-nav{display:none}.header-cta{margin-left:auto}.menu-toggle{display:flex}.hero h1{font-size:61px}.hero{min-height:570px}.client-strip{gap:24px}.client-strip>a{font-size:21px}.client-strip .kaylas-word{font-size:20px}.client-strip .smart-word{font-size:21px}.strip-label{font-size:9px;max-width:90px}.section-heading>p{max-width:180px;font-size:11px}.solutions{padding-block:46px}.section-label h2{font-size:20px}.solution-links{gap:0 22px}.project-caption h3>span{display:block;margin:6px 0 0;font-size:10px}.project-caption{align-items:flex-start}.media-play{width:54px;height:54px}.project-caption p{font-size:12px}.about-photo{aspect-ratio:.9}.about-copy>p:not(.eyebrow){font-size:14px}.about-copy>.about-secondary{font-size:12px!important}.contact-layout{grid-template-columns:1fr 1fr;gap:6%}.contact-copy h2{font-size:37px}.form-row{grid-template-columns:1fr;gap:0}.field{margin-bottom:14px}.prototype-label{display:none}.dialog-bottom{display:block}.dialog-bottom .text-link{margin-top:10px}}
@media(max-width:640px){html{scroll-padding-top:18px}.section-shell,.hero-content{width:calc(100% - 40px)}.site-header{min-height:74px;padding-inline:20px;gap:17px}.brand{font-size:26px;gap:8px}.brand small{font-size:6px}.brand-mark{width:7px;height:7px;margin-top:-7px}.header-cta{font-size:10px;gap:12px}.header-cta>span{font-size:20px}.menu-toggle{width:35px;padding:7px}.hero{min-height:610px}.hero-image{object-position:62% 50%}.hero-shade{background:linear-gradient(90deg,#0d1511c9 0%,#0d15118a 62%,#0d151142),linear-gradient(0deg,#0d15116b,transparent 55%)}.hero-content{padding-top:48px;padding-bottom:115px}.hero-eyebrow{font-size:8px;letter-spacing:.08em;gap:8px;flex-wrap:wrap}.hero h1{font-size:clamp(39px,10.4vw,63px);line-height:1.1;letter-spacing:-.06em;margin-top:36px}.hero-description{font-size:14px;line-height:1.8;margin-top:22px;max-width:305px}.hero-actions{gap:22px;align-items:flex-start;flex-direction:column;margin-top:29px}.button{min-height:53px;font-size:12px;padding:15px 20px;gap:38px}.video-link{font-size:11px}.video-link small{font-size:10px}.play-circle{width:41px;height:41px}.hero-bottom{left:20px;right:20px;bottom:21px;font-size:10px;align-items:flex-start;flex-direction:column;gap:11px}.concept-label{font-size:9px}.client-strip{padding:24px 20px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px 24px}.strip-label{grid-column:1/-1;max-width:none;font-size:9px;margin-bottom:2px}.client-strip>a{font-size:24px;min-height:35px}.client-strip .kaylas-word{font-size:21px}.client-strip .smart-word{font-size:24px}.solutions{display:block;padding-block:41px}.section-label{gap:16px}.section-label>.section-number{padding-top:6px}.section-label h2{font-size:23px}.solutions .section-label br{display:none}.solution-links{margin-top:24px;gap:0 21px}.solution-links a{font-size:12px;min-height:62px;line-height:1.6;align-items:center}.solution-links a>span{font-size:17px}.projects{padding-block:50px 47px}.section-heading{display:block;margin-bottom:29px}.section-heading h2{font-size:34px;letter-spacing:-.055em;line-height:1.14;margin-top:19px}.section-heading>p{max-width:none;font-size:12px;margin-top:17px;line-height:1.7}.section-heading>p br{display:none}.project-grid{grid-template-columns:1fr;row-gap:35px}.project-media,.software-media{aspect-ratio:1.35}.media-top{font-size:10px;top:16px}.media-bottom{font-size:10px;bottom:14px}.media-play{width:58px;height:58px}.project-caption{margin-top:19px;align-items:center}.project-caption h3{font-size:24px}.project-caption h3>span{display:inline;margin-left:7px;font-size:10px}.project-caption p{font-size:14px;line-height:1.6;margin-top:8px}.project-arrow{width:42px;height:42px}.project-details{margin-top:11px}.project-details summary{font-size:11px;min-height:46px}.project-details p{font-size:14px;padding-right:12px}.media-source-note{font-size:10px;margin-top:25px}.software-canvas{top:17%;bottom:16%;left:7%;right:-23%}.software-media-label{left:16px;right:16px;font-size:9px}.software-video{top:14px;left:15px;font-size:10px}.process-section{padding-block:50px}.process-section .section-heading{margin-bottom:28px}.process-section .section-heading h2{font-size:32px}.process-section .text-link{margin-top:22px;font-size:12px}.process-line{grid-template-columns:1fr 1fr;gap:31px 24px}.process-line li{padding-top:13px}.process-line h3{font-size:22px;margin-top:9px}.process-line p{font-size:12px;line-height:1.7;margin-top:6px}.about{grid-template-columns:1fr;gap:32px;padding-block:48px}.about-photo{aspect-ratio:1.16;order:2}.about-copy h2{font-size:43px;margin-top:19px;margin-bottom:20px}.about-copy>p:not(.eyebrow){font-size:16px;max-width:none}.about-copy>.about-secondary{font-size:14px!important;margin-top:11px}.about-copy .text-link{font-size:13px;margin-top:18px}.about-photo figcaption{font-size:9px}.faq{grid-template-columns:1fr;gap:25px;padding-block:5px 45px}.faq .section-label br{display:none}.faq-items summary{font-size:13px;min-height:72px;padding:17px 0;gap:18px;line-height:1.7}.faq-items p{font-size:14px;line-height:1.8;padding-right:8px}.contact{padding-block:49px}.contact-layout{grid-template-columns:1fr;gap:32px}.contact-copy h2{font-size:43px;margin-top:22px}.contact-copy>p:not(.eyebrow){font-size:13px;margin-top:18px;margin-bottom:23px}.contact-copy>a{font-size:13px}.form-row{grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:20px}.field label{font-size:11px}.field label>span{display:block;margin:2px 0 0;font-size:9px}.field input,.field textarea{font-size:16px}.form-row .field:first-child label{min-height:29px}.field textarea{height:78px}.site-footer{padding:30px 20px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.site-footer p{font-size:10px;text-align:right;margin:0}.site-footer>a:not(.brand){font-size:11px;min-height:30px}.site-footer>a:not(.brand):last-of-type{justify-self:end}.footer-brand{font-size:24px}.media-dialog{width:calc(100% - 24px);max-height:calc(100% - 24px)}.dialog-top{padding:16px}.dialog-top h2{font-size:21px}.dialog-top .eyebrow{font-size:8px;max-width:230px}.dialog-bottom{padding:16px}.dialog-bottom>p{font-size:12px}.dialog-bottom .text-link{font-size:11px;gap:15px;white-space:normal}.dialog-media video,.dialog-media img{max-height:55vh}.close-dialog{width:40px;height:40px;font-size:30px}}
@media(max-width:359px){.header-cta{display:none}.menu-toggle{margin-left:auto}.hero{min-height:590px}.hero h1{font-size:36px}.hero-eyebrow{font-size:7px}.hero-description{font-size:13px}.hero-actions{margin-top:26px}.hero-bottom{font-size:9px}.section-heading h2{font-size:29px}.project-caption h3>span{display:block;margin-left:0}.solution-links{column-gap:17px}.solution-links a{font-size:11px}.contact-copy h2{font-size:37px}.form-row{grid-template-columns:1fr;gap:0}.form-row .field:first-child label{min-height:0}.field label>span{display:inline;margin-left:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important}}
/* Full multilingual website: approved v2 visual language */
.dialog-open{overflow:hidden}.site-header{gap:24px;padding-inline:4%;min-height:90px}.desktop-nav{gap:22px}.desktop-nav a{font-size:13px}.desktop-nav a[aria-current=page]{color:var(--green);text-decoration:underline;text-underline-offset:7px}.language-switch{display:flex;align-items:center;gap:2px;border-left:1px solid var(--line);padding-left:12px}.language-switch a{min-width:32px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--muted);font-weight:600}.language-switch a[aria-current=true]{color:var(--ink);text-decoration:underline;text-underline-offset:5px}.header-cta{gap:16px}.hero h1{max-width:780px;font-size:clamp(54px,6.2vw,89px);text-wrap:balance}.hero-description{max-width:460px;white-space:normal}.hero-content{padding-bottom:120px}.hero{min-height:650px}.hero-bottom{font-size:12px}.hero-eyebrow{font-size:11px}.concept-label{font-size:11px}.client-strip{gap:45px}.client-strip>a{font-size:24px}.strip-label{font-size:11px}.solution-links a{font-size:15px;min-height:60px;line-height:1.5}.section-label h2{font-size:26px}.section-heading h2{max-width:850px;text-wrap:balance}.section-heading>p{font-size:14px;max-width:270px}.projects{padding-block:80px}.project-media{display:block}.project-media>img{object-fit:cover}.project-software{background:#d5dccb}.project-software>img{width:110%;max-width:110%;height:80%;position:absolute;left:8%;top:10%;transform:rotate(-5deg);object-fit:cover;object-position:top left;border:6px solid white;box-shadow:0 18px 38px #17221c28}.project-open{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:60px;height:60px;border-radius:50%;background:var(--paper);color:var(--ink);display:grid;place-items:center;z-index:1;font-size:24px;transition:background .2s}.project-media:hover .project-open{background:var(--accent)}.media-top,.media-bottom{font-size:12px}.project-caption h3{font-size:26px}.project-caption p{font-size:15px;max-width:480px}.project-arrow{width:46px;height:46px}.section-after{display:flex;align-items:center;justify-content:space-between;gap:40px;border-top:1px solid var(--line);padding-top:27px;margin-top:40px}.section-after>p{max-width:650px;font-size:14px;line-height:1.8;color:var(--muted)}.section-after .text-link{white-space:nowrap}.process-line h3{font-size:25px}.process-line p{font-size:14px;line-height:1.8}.process-line li>span{font-size:12px}.about-photo figcaption{font-size:11px}.about-copy h2{text-wrap:balance}.about-copy>.about-secondary{font-size:15px!important}.about-copy .text-link{font-size:14px}.faq-items summary{font-size:16px}.faq-items p{font-size:15px}.eyebrow{line-height:1.7}.breadcrumbs{padding-block:32px 0}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px 12px;margin:0;padding:0;list-style:none;font-size:12px;line-height:1.7;color:var(--muted)}.breadcrumbs li+li::before{content:'/';margin-right:12px;color:#9aa294}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.breadcrumbs [aria-current=page]{text-decoration:none}.page-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:9%;padding-block:54px 68px}.page-hero:not(:has(figure)){display:block;max-width:1328px}.page-hero h1,.solution-hero h1,.case-heading h1{font-size:clamp(43px,5.2vw,76px);font-weight:500;letter-spacing:-.055em;line-height:1.1;margin-top:20px;text-wrap:balance;max-width:1050px}.page-lead{font-size:18px;line-height:1.8;color:var(--muted);max-width:700px;margin-top:27px}.page-hero figure{aspect-ratio:1.1;overflow:hidden}.page-hero figure img{width:100%;height:100%;object-fit:cover}.page-hero .eyebrow,.solution-hero .eyebrow,.case-heading .eyebrow{color:var(--muted)}.solution-hero{display:grid;grid-template-columns:1.08fr .92fr;gap:6%;align-items:center;padding-block:52px 65px}.solution-hero h1{font-size:clamp(40px,4.3vw,64px)}.solution-hero figure{position:relative;aspect-ratio:.98;overflow:hidden;background:#dbe0d3}.solution-hero figure img{width:100%;height:100%;object-fit:cover}.solution-hero figure figcaption{position:absolute;bottom:16px;left:16px;padding:8px 12px;background:#f3f1ebed;font-size:11px;max-width:90%}.solution-hero .button{margin-top:29px}.editorial-intro{padding-block:9px 64px}.editorial-intro>p{font-size:23px;line-height:1.8;max-width:1000px;letter-spacing:-.02em}.outcomes{background:var(--dark);color:var(--paper);padding-block:42px}.outcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.outcome-grid>div{border-top:1px solid #6e7c67;padding-top:17px}.outcome-grid span{font-size:12px;color:var(--accent)}.outcome-grid p{font-size:19px;line-height:1.6;margin-top:13px;max-width:350px}.scope-section{padding-block:76px}.scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.scope-grid article{border-top:1px solid var(--line);padding-top:18px}.scope-grid h3{font-size:24px;letter-spacing:-.035em;font-weight:500;line-height:1.35;margin-top:15px}.scope-grid p{font-size:15px;line-height:1.85;color:var(--muted);margin-top:16px}.technical-note{display:grid;grid-template-columns:1fr 2fr;gap:7%;padding-block:0 75px;border-bottom:1px solid var(--line)}.technical-note h2{font-size:26px;font-weight:500;letter-spacing:-.04em;line-height:1.3}.technical-note ol{padding-left:24px;margin:0}.technical-note li{padding-left:10px;line-height:1.85;font-size:16px;margin-bottom:17px}.brand-note{display:flex;align-items:center;gap:45px;padding-block:45px;border-bottom:1px solid var(--line)}.brand-note h2{font-size:36px;letter-spacing:-.04em}.brand-note p{font-size:16px;line-height:1.85;max-width:750px}.brand-note .text-link{margin-left:auto}.closing-cta{background:var(--green);color:var(--paper);padding-block:70px}.closing-cta>.section-shell{display:flex;align-items:center;justify-content:space-between;gap:50px}.closing-cta h2{font-size:clamp(36px,4.4vw,62px);font-weight:500;line-height:1.15;letter-spacing:-.05em;margin-top:20px;text-wrap:balance;max-width:780px}.closing-cta p:not(.eyebrow){font-size:16px;color:#d7e3cc;margin-top:20px;line-height:1.7}.closing-cta .button{flex-shrink:0}.catalog-section{padding-block:0 85px}.solution-index{border-top:1px solid var(--line)}.solution-row{display:grid;grid-template-columns:60px 1fr 50px;gap:25px;align-items:start;padding:33px 0;border-bottom:1px solid var(--line);transition:background-color var(--duration-feedback) ease}.solution-row:hover{background:#e7ebdf}.row-number{font-size:12px;color:var(--muted);padding-top:6px}.solution-row h3{font-size:30px;line-height:1.35;font-weight:500;letter-spacing:-.04em;max-width:930px}.solution-row p{font-size:16px;line-height:1.8;color:var(--muted);margin-top:12px;max-width:900px}.solution-row>span:last-child{font-size:29px;text-align:right}.catalog-projects{padding-top:0}.portfolio-note{display:flex;align-items:center;gap:35px;padding:33px 0;margin-top:48px;border-block:1px solid var(--line)}.portfolio-note>span{font-size:40px}.portfolio-note h2{font-size:22px;font-weight:500;letter-spacing:-.03em}.portfolio-note p{font-size:15px;line-height:1.8;color:var(--muted);max-width:730px;margin-top:10px}.portfolio-note .text-link{margin-left:auto;flex-shrink:0}.case-heading{display:grid;grid-template-columns:1.3fr .85fr;align-items:end;gap:7%;padding-block:54px 44px}.case-heading h1{font-size:clamp(42px,4.6vw,67px)}.case-heading>.page-lead{font-size:16px;margin-bottom:5px}.case-main-media{padding-bottom:15px}.case-native-video{width:100%;height:auto;max-height:690px;background:var(--dark);object-fit:contain;aspect-ratio:16/9}.case-main-media .media-source-note{max-width:850px;font-size:12px;margin-top:15px}.case-screen{width:100%;display:block;padding:4% 7% 0;background:#dce2d3;position:relative;overflow:hidden}.case-screen>img{width:100%;height:auto;box-shadow:0 10px 40px #17221c20}.case-screen>span{display:flex;align-items:center;justify-content:space-between;padding:18px 0;font-size:12px}.case-story{display:grid;grid-template-columns:.6fr 1.4fr;gap:9%;padding-block:68px}.case-story>aside{border-top:1px solid var(--line);padding-top:18px}.case-story aside p{font-size:14px;color:var(--muted);margin-top:14px;line-height:1.8}.case-story aside .text-link{margin-top:24px;font-size:13px;gap:20px}.case-story>div>section{margin-bottom:40px}.case-story h2{font-size:30px;font-weight:500;letter-spacing:-.04em;line-height:1.3;margin-bottom:18px}.case-story p,.deliverable-list li{font-size:17px;line-height:1.9;max-width:810px}.deliverable-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.deliverable-list li{border-bottom:1px solid var(--line);padding:16px 0 16px 25px;position:relative}.deliverable-list li::before{content:'↗';position:absolute;left:0;top:17px;color:var(--green)}.case-workflow{background:var(--dark);color:var(--paper);padding-block:65px}.case-workflow ol{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;list-style:none;padding:0;margin:0}.case-workflow li{border-top:1px solid #6e7c67;padding-top:18px}.case-workflow span{font-size:12px;color:var(--accent)}.case-workflow li p{font-size:17px;line-height:1.8;margin-top:18px}.secondary-media{display:grid;grid-template-columns:.7fr 1.3fr;align-items:center;gap:8%;padding-block:70px}.secondary-media h2{font-size:47px;font-weight:500;letter-spacing:-.05em}.secondary-media p{font-size:16px;line-height:1.8;margin-block:20px}.secondary-media video{width:100%;height:auto;aspect-ratio:16/9;background:var(--dark)}.secondary-media .media-source-note{font-size:12px;margin-top:12px}.case-boundary{padding-block:36px 0}.case-boundary>p{font-size:14px;line-height:1.9;color:var(--muted);border-left:2px solid var(--line);padding-left:22px;max-width:1000px}.industry-jump{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;padding-block:0 65px}.industry-jump a{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:14px;line-height:1.6;padding-block:18px;border-block:1px solid var(--line)}.industry-jump a>span:first-child{font-size:11px;color:var(--muted)}.industry-section{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-block:65px;border-top:1px solid var(--line);scroll-margin-top:20px}.industry-visual figure{position:relative;aspect-ratio:1.5;overflow:hidden}.industry-visual figure img{width:100%;height:100%;object-fit:cover}.industry-visual figcaption{position:absolute;bottom:12px;left:12px;background:#f3f1ebef;padding:7px 10px;font-size:11px}.industry-visual>.eyebrow{margin-top:26px;color:var(--muted)}.industry-visual h2{font-size:39px;line-height:1.18;letter-spacing:-.045em;font-weight:500;margin-top:15px;text-wrap:balance}.industry-visual>p:last-child{font-size:16px;line-height:1.9;color:var(--muted);margin-top:20px}.industry-copy>div:not(.inline-related):not(.industry-solutions){margin-bottom:29px}.industry-copy h3{font-size:23px;line-height:1.4;font-weight:500;letter-spacing:-.03em;margin-bottom:10px}.industry-copy p{font-size:15px;line-height:1.85;color:var(--muted)}.inline-related{margin-top:28px}.inline-related .eyebrow{font-size:11px}.inline-related .text-link{margin-right:20px;margin-top:10px}.industry-solutions{display:flex;flex-wrap:wrap;gap:0 20px;margin-block:20px}.industry-solutions a{font-size:13px;min-height:44px;display:flex;align-items:center;gap:12px;text-decoration:underline;text-underline-offset:4px}.industry-faq{border-top:1px solid var(--line)}.industry-faq:last-child{border-bottom:1px solid var(--line)}.industry-faq summary{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:62px;font-size:14px;line-height:1.7;padding-block:12px}.industry-faq summary>span{font-size:22px}.industry-faq[open] summary>span{transform:rotate(45deg)}.industry-faq p{padding-bottom:20px}.about-story{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-block:0 25px}.about-story>p{font-size:23px;line-height:1.8;letter-spacing:-.02em}.about-story h2{font-size:28px;letter-spacing:-.035em;font-weight:500}.about-story>div>p{font-size:17px;line-height:1.9;color:var(--muted);margin-block:19px}.contact-page{margin-top:30px;padding-block:66px 75px}.contact-page h1{font-size:clamp(39px,4.4vw,65px);font-weight:500;line-height:1.13;letter-spacing:-.05em;margin-top:25px;text-wrap:balance}.contact-copy>p:not(.eyebrow){font-size:16px;line-height:1.8}.contact-copy>a{font-size:16px;overflow-wrap:anywhere;min-height:44px}.contact-location{font-size:14px!important}.field label{font-size:13px}.field input,.field textarea{font-size:16px}.field textarea{min-height:100px}.field label>span{font-size:11px}.form-notice,.form-privacy{font-size:12px;line-height:1.9;color:#dce6d5;margin-bottom:16px}.form-privacy a{text-decoration:underline;text-underline-offset:4px}.form-status{font-size:14px;line-height:1.8}.email-review{background:#f3f1eb;color:var(--ink);padding:23px;margin-top:24px}.email-review h2{font-size:20px;line-height:1.5;font-weight:500;letter-spacing:-.025em}.email-review textarea{display:block;width:100%;min-height:240px;background:var(--white);border:1px solid var(--line);padding:14px;margin-top:18px;color:var(--ink);font-size:14px;line-height:1.8;resize:vertical}.email-actions{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin-block:15px}.email-actions .button{background:var(--green);color:var(--white);font-size:12px}.email-actions button{background:transparent;text-decoration:underline;text-underline-offset:4px;font-size:13px;padding:12px 0;min-height:44px}.email-review>p{font-size:12px;line-height:1.8;color:var(--muted)}.email-review>p a{overflow-wrap:anywhere;text-decoration:underline}.legal-content{max-width:900px;padding-block:0 80px}.legal-content section{border-top:1px solid var(--line);padding-top:24px;margin-bottom:30px}.legal-content h2{font-size:27px;font-weight:500;line-height:1.4;letter-spacing:-.03em}.legal-content p{font-size:17px;line-height:1.9;color:var(--muted);margin-top:15px}.footer{padding-top:48px}.footer-main{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:8%;padding-bottom:45px}.footer-main>div:first-child p{font-size:13px;line-height:1.8;color:var(--muted);margin-top:23px}.footer-main nav,.footer-contact{display:flex;flex-direction:column;gap:3px}.footer-main nav a,.footer-contact a{font-size:13px;line-height:1.6;min-height:40px;padding-block:8px;overflow-wrap:anywhere}.footer-main a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{display:flex;flex-wrap:wrap;gap:15px 35px;justify-content:space-between;border-top:1px solid var(--line);padding-block:23px;font-size:11px;line-height:1.7;color:var(--muted)}.footer-bottom a{min-height:35px;text-decoration:underline;text-underline-offset:4px}.error-actions{display:flex;align-items:center;gap:30px;padding-bottom:90px}.dialog-bottom>p{font-size:14px;line-height:1.8;max-width:none}.dialog-top .eyebrow{font-size:11px}.media-source-note{font-size:12px}.hero h1,.page-hero h1,.solution-hero h1,.case-heading h1,h2,h3{overflow-wrap:break-word}
@media(max-width:1200px){.site-header{gap:17px}.desktop-nav{gap:15px}.desktop-nav a{font-size:12px}.language-switch{padding-left:8px}.language-switch a{min-width:29px}.header-cta{font-size:11px;gap:12px}.client-strip{gap:30px}.client-strip>a{font-size:22px}.hero h1{max-width:710px}.solution-hero h1{font-size:46px}.contact-layout{gap:7%}.footer-main{gap:5%}}
@media(max-width:1100px){.desktop-nav{display:none}.header-cta{display:flex;margin-left:0}.language-switch{margin-left:auto}.menu-toggle{display:flex}.site-header{gap:22px}.solution-links a{font-size:13px}.page-hero h1,.case-heading h1{font-size:52px}.scope-grid{gap:28px}.scope-grid h3{font-size:23px}.case-heading{grid-template-columns:1.2fr 1fr;gap:5%}.case-heading h1{font-size:48px}.case-heading>.page-lead{font-size:15px}.outcome-grid{gap:30px}.outcome-grid p{font-size:18px}.industry-jump{gap:18px}.industry-jump a{font-size:12px}.industry-section{gap:6%}.industry-visual h2{font-size:34px}.page-hero{gap:6%}.hero h1{font-size:68px;max-width:650px}}
@media(max-width:800px){.site-header{min-height:80px;gap:17px}.header-cta{display:none}.language-switch{border-left:0}.language-switch a{min-width:34px}.hero{min-height:610px}.hero h1{max-width:590px;font-size:62px}.hero-description{max-width:380px;font-size:16px}.client-strip{gap:22px;flex-wrap:wrap}.client-strip>a{font-size:20px}.client-strip .strip-label{font-size:10px}.section-after{align-items:flex-start}.section-after>p{font-size:13px}.page-hero,.solution-hero{grid-template-columns:1fr;gap:32px;padding-block:40px 50px}.page-hero figure{aspect-ratio:1.6}.solution-hero figure{aspect-ratio:1.8}.solution-hero h1{font-size:54px;max-width:750px}.solution-hero .page-lead{font-size:17px}.editorial-intro>p{font-size:21px}.outcome-grid{gap:22px}.outcome-grid p{font-size:16px}.scope-grid{grid-template-columns:1fr;gap:30px}.scope-grid h3{font-size:27px;margin-top:11px}.scope-grid p{max-width:700px;margin-top:12px;font-size:16px}.technical-note{grid-template-columns:1fr;gap:25px}.brand-note{gap:25px;flex-wrap:wrap}.brand-note .text-link{margin-left:0}.closing-cta>.section-shell{display:block}.closing-cta .button{margin-top:28px}.case-heading{display:block}.case-heading h1{font-size:54px;max-width:700px}.case-heading>.page-lead{font-size:17px;max-width:650px}.case-story{grid-template-columns:1fr;gap:35px;padding-block:45px}.case-story>aside{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.case-story aside p,.case-story aside .text-link{margin:0}.case-story aside .text-link{margin-left:auto}.case-workflow ol{gap:25px}.case-workflow li p{font-size:15px}.secondary-media{grid-template-columns:1fr;gap:28px}.industry-jump{grid-template-columns:1fr 1fr;padding-bottom:40px}.industry-jump a{font-size:14px}.industry-section{grid-template-columns:1fr;gap:32px;padding-block:45px}.industry-visual figure{aspect-ratio:1.7}.industry-visual h2{font-size:42px}.about-story{grid-template-columns:1fr;gap:35px}.footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-main>div:first-child{grid-column:1/-1}.footer-main>div:first-child{display:flex;gap:40px;align-items:center}.footer-main>div:first-child p{margin:0}.contact-page{margin-top:20px}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-copy>p:not(.eyebrow){max-width:550px}.contact-copy>a{font-size:18px}.contact-page h1{font-size:55px;max-width:650px}.form-row{grid-template-columns:1fr 1fr}.contact-form{max-width:750px}.portfolio-note{display:block}.portfolio-note>span{display:none}.portfolio-note .text-link{margin-top:20px}.dialog-top .eyebrow{font-size:10px}}
@media(max-width:640px){.site-header{min-height:76px;padding-inline:20px;gap:14px}.language-switch{padding:0;gap:0}.language-switch a{min-width:31px;font-size:10px}.brand{font-size:25px}.hero{min-height:630px}.hero h1{font-size:clamp(36px,10.4vw,62px);max-width:100%;margin-top:32px}.hero-content{padding-top:43px}.hero-description{font-size:15px;line-height:1.8;max-width:320px}.hero-eyebrow{font-size:9px}.hero-bottom{font-size:11px;line-height:1.6}.hero-bottom>span:first-child{max-width:300px}.concept-label{font-size:10px}.hero-actions{gap:21px}.hero .video-link{font-size:12px}.hero .video-link small{font-size:11px}.client-strip{display:grid;gap:13px 20px}.client-strip>a{font-size:23px;min-height:44px}.client-strip .strip-label{font-size:10px}.section-label h2{font-size:24px}.solution-links{gap:0 20px}.solution-links a{font-size:13px;min-height:72px}.projects{padding-block:47px}.section-heading h2{font-size:34px}.section-heading>p{font-size:14px;line-height:1.8;max-width:400px}.project-caption h3{font-size:25px}.project-caption p{font-size:15px}.media-top,.media-bottom{font-size:11px}.project-grid{row-gap:35px}.section-after{display:block;margin-top:29px;padding-top:22px}.section-after>p{font-size:14px}.section-after .text-link{margin-top:19px}.process-line h3{font-size:22px}.process-line p{font-size:14px}.process-line{gap:30px 22px}.about-copy>p:not(.eyebrow){font-size:16px}.about-copy>.about-secondary{font-size:15px!important}.about-photo figcaption{font-size:10px}.faq-items summary{font-size:15px}.faq-items p{font-size:15px}.breadcrumbs{padding-top:24px}.breadcrumbs ol{font-size:11px;gap:5px 8px}.breadcrumbs li+li::before{margin-right:8px}.page-hero,.solution-hero{padding-block:33px 43px}.page-hero h1,.solution-hero h1,.case-heading h1{font-size:39px;line-height:1.14;letter-spacing:-.05em;margin-top:16px}.page-lead,.solution-hero .page-lead{font-size:16px;line-height:1.85;margin-top:20px}.page-hero figure{aspect-ratio:1.15}.solution-hero figure{aspect-ratio:1.3}.solution-hero .button{margin-top:22px}.editorial-intro{padding-block:0 40px}.editorial-intro>p{font-size:19px;line-height:1.9}.outcomes{padding-block:33px}.outcome-grid{grid-template-columns:1fr;gap:23px}.outcome-grid p{max-width:none;font-size:18px;margin-top:9px}.scope-section{padding-block:45px}.scope-grid h3{font-size:25px}.scope-grid p{font-size:16px}.technical-note{padding-bottom:40px}.technical-note h2{font-size:26px}.technical-note li{font-size:16px;padding-left:4px;margin-bottom:15px}.brand-note{padding-block:32px;gap:19px}.brand-note p{font-size:16px}.closing-cta{padding-block:45px}.closing-cta h2{font-size:40px;line-height:1.15}.closing-cta p:not(.eyebrow){font-size:15px}.catalog-section{padding-bottom:45px}.solution-row{grid-template-columns:28px 1fr 24px;gap:12px;padding-block:25px}.solution-row h3{font-size:24px}.solution-row p{font-size:15px;margin-top:10px}.solution-row>span:last-child{font-size:23px}.row-number{font-size:11px}.catalog-projects{padding-top:0}.portfolio-note{margin-top:30px;padding-block:25px}.portfolio-note h2{font-size:23px}.portfolio-note p{font-size:15px}.case-heading{padding-block:34px 29px}.case-heading>.page-lead{font-size:16px;margin-top:21px}.case-native-video{aspect-ratio:16/10}.case-main-media .media-source-note{font-size:12px;line-height:1.8}.case-screen{padding:6% 4% 0}.case-screen>span{font-size:11px;min-height:50px;gap:15px}.case-story{padding-block:35px;gap:29px}.case-story>aside{gap:10px 20px}.case-story aside .text-link{margin-left:0}.case-story>div>section{margin-bottom:30px}.case-story h2{font-size:28px;margin-bottom:15px}.case-story p,.deliverable-list li{font-size:16px;line-height:1.9}.case-workflow{padding-block:43px}.case-workflow ol{grid-template-columns:1fr;gap:25px}.case-workflow li p{font-size:17px;margin-top:10px}.secondary-media{padding-block:43px}.secondary-media h2{font-size:40px}.secondary-media p{font-size:16px}.case-boundary{padding-top:25px}.case-boundary>p{font-size:14px;padding-left:17px}.industry-jump{gap:12px 20px;padding-bottom:30px}.industry-jump a{font-size:12px;gap:8px;min-height:85px}.industry-jump a>span:first-child{display:none}.industry-section{padding-block:35px;gap:27px}.industry-visual figure{aspect-ratio:1.3}.industry-visual h2{font-size:34px}.industry-visual>p:last-child{font-size:16px;margin-top:17px}.industry-copy h3{font-size:24px}.industry-copy p{font-size:16px}.industry-faq summary{font-size:15px}.industry-solutions a{font-size:14px}.about-story>p{font-size:20px}.about-story>div>p{font-size:16px}.contact-page{padding-block:43px 45px}.contact-page h1{font-size:42px}.contact-copy>p:not(.eyebrow){font-size:16px}.contact-copy>a{font-size:15px}.field label{font-size:12px}.field label>span{font-size:10px}.field input,.field textarea{font-size:16px}.form-notice,.form-privacy{font-size:12px}.email-review{padding:19px}.email-review h2{font-size:19px}.email-review textarea{font-size:14px;min-height:280px}.email-actions .button{width:100%;font-size:12px}.legal-content{padding-bottom:45px}.legal-content h2{font-size:24px}.legal-content p{font-size:16px}.footer{padding-top:35px}.footer-main{grid-template-columns:1fr;gap:23px;padding-bottom:30px}.footer-main>div:first-child{display:block;grid-column:auto}.footer-main>div:first-child p{margin-top:20px;font-size:13px}.footer-main nav{display:grid;grid-template-columns:1fr 1fr;gap:2px 20px}.footer-main nav a,.footer-contact a{font-size:13px;min-height:44px}.footer-contact{border-top:1px solid var(--line);padding-top:19px}.footer-bottom{display:block;padding-block:19px}.footer-bottom>span{display:block;margin-bottom:8px}.footer-bottom>a{display:inline-flex;align-items:center;min-height:44px}.error-actions{display:block;padding-bottom:50px}.error-actions .text-link{margin-top:20px}.dialog-bottom>p{font-size:13px}}
@media(max-width:359px){.site-header{padding-inline:15px;gap:10px}.brand{font-size:22px;gap:6px}.brand small{font-size:5px}.language-switch a{min-width:29px}.hero{min-height:620px}.hero h1{font-size:35px}.hero-eyebrow{font-size:8px}.hero-description{font-size:14px}.page-hero h1,.solution-hero h1,.case-heading h1{font-size:34px}.closing-cta h2{font-size:35px}.contact-page h1{font-size:37px}.form-row{grid-template-columns:1fr}.solution-links{column-gap:16px}.solution-links a{font-size:12px}.section-label h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}
.about-linkedin{margin-left:24px}.secondary-video-title{font-size:22px;font-weight:500;letter-spacing:-.03em;margin-bottom:17px;line-height:1.5}
@media(max-width:640px){.language-switch a{min-width:44px;min-height:44px}.about-linkedin{margin-left:18px}.secondary-video-title{font-size:21px}}
.solution-hero>*,.page-hero>*,.case-heading>*,.process-line>li,.scope-grid>*,.outcome-grid>*{min-width:0}.process-line>li{overflow-wrap:anywhere}
@media(max-width:800px){.solution-hero,.page-hero{grid-template-columns:minmax(0,1fr)}}
.button-dark{background:var(--green);color:var(--paper)}.button-dark:hover{background:var(--ink)}

/* Quiet feedback: stable geometry, short reversible transitions. */
:root {
  --duration-feedback: 160ms;
  --duration-ui: 220ms;
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
}
html { scrollbar-gutter: stable; }
@supports not (scrollbar-gutter: stable) {
  html { overflow-y: scroll; }
}
.button, .close-dialog, .project-arrow, .project-open, .play-circle {
  transition: background-color var(--duration-feedback) ease, color var(--duration-feedback) ease;
}
.desktop-nav a, .language-switch a, .mobile-nav a, .text-link {
  transition: color var(--duration-feedback) ease, background-color var(--duration-feedback) ease;
}
.menu-toggle > span { transition: transform var(--duration-ui) var(--ease-out); }
.menu-toggle { min-width: 44px; min-height: 44px; }
.solution-row > * { min-width: 0; }

/* Without JavaScript the anchor list and every answer remain readable. */
.faq { display: block; padding-block: 30px 82px; }
.faq > .section-label { margin-bottom: 32px; }
.faq-widget {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  align-items: start;
  gap: clamp(28px, 5vw, 72px);
}
.faq-widget > *, .faq-panel { min-width: 0; }
.faq-questions { border-top: 1px solid var(--line); }
.faq-question {
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr) 22px;
  gap: 16px;
  align-items: center;
  min-height: 84px;
  padding: 20px 18px 20px 15px;
  border-bottom: 1px solid var(--line);
  border-left: 3px solid transparent;
  font-size: 16px;
  line-height: 1.65;
  font-weight: 500;
  transition: background-color var(--duration-feedback) ease, color var(--duration-feedback) ease, border-color var(--duration-feedback) ease;
}
.faq-question-number, .faq-answer-number {
  font-size: 11px;
  letter-spacing: .07em;
  font-weight: 500;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}
.faq-question-arrow { font-size: 22px; text-align: right; color: var(--muted); }
.faq-question[aria-selected="true"] {
  background: #e5e9dc;
  border-left-color: var(--green);
  color: var(--green);
}
.faq-question[aria-selected="true"] .faq-question-arrow { color: var(--green); }
.faq-question:focus-visible { outline-offset: -4px; }
.faq-panels { background: #e8ece1; border-top: 2px solid var(--green); }
.faq-panel {
  padding: 30px 32px 34px;
  scroll-margin-top: 28px;
}
.faq-panel + .faq-panel { border-top: 1px solid var(--line); }
.faq-panel h3, .faq-panel h4 {
  font-size: clamp(23px, 2.2vw, 30px);
  line-height: 1.35;
  font-weight: 500;
  letter-spacing: -.035em;
  margin: 22px 0 16px;
}
.faq-panel p { font-size: 16px; line-height: 1.85; color: #465347; }
.faq-panel:focus-visible { outline: 3px solid #96a934; outline-offset: 5px; }
.faq-widget.is-ready .faq-panels { display: grid; }
.faq-widget.is-ready .faq-panel {
  grid-area: 1 / 1;
  align-self: start;
  border: 0;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--duration-feedback) ease;
}
.faq-widget.is-ready .faq-panel[aria-hidden="false"] {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.faq-widget[data-motion="instant"] .faq-panel { transition: none; }
.faq-widget-compact { grid-template-columns: minmax(0, 1fr); gap: 20px; }
.faq-widget-compact .faq-question { min-height: 70px; font-size: 14px; padding-block: 16px; gap: 12px; }
.faq-widget-compact .faq-panel { padding: 25px; }
.faq-widget-compact .faq-panel h4 { font-size: 23px; margin-top: 17px; }
.faq-widget-compact .faq-panel p { font-size: 15px; }
.industry-copy .compact-faq-title { margin-top: 32px; margin-bottom: 17px; }
.industry-copy > .faq-widget-compact { margin-bottom: 0; }

/* Native dialogs retain Escape, focus containment and immediate close cleanup. */
.media-dialog {
  opacity: 0;
  transform: translateY(8px) scale(.98);
  transition: opacity var(--duration-ui) var(--ease-out), transform var(--duration-ui) var(--ease-out), display var(--duration-ui) allow-discrete, overlay var(--duration-ui) allow-discrete;
}
.media-dialog[open] { opacity: 1; transform: none; }
.media-dialog::backdrop {
  opacity: 0;
  transition: opacity var(--duration-ui) ease, display var(--duration-ui) allow-discrete, overlay var(--duration-ui) allow-discrete;
}
.media-dialog[open]::backdrop { opacity: 1; }
.media-dialog:not([open]), .media-dialog:not([open])::backdrop { pointer-events: none; }
@starting-style {
  .media-dialog[open] { opacity: 0; transform: translateY(8px) scale(.98); }
  .media-dialog[open]::backdrop { opacity: 0; }
}
.email-review { width: min(720px, calc(100% - 48px)); margin: auto; padding: 0; }
.email-review .dialog-top { border-bottom: 1px solid var(--line); align-items: start; }
.email-review .dialog-top h2 { font-size: 22px; line-height: 1.45; margin-top: 8px; }
.email-review-content { padding: 24px 26px; }
.email-review textarea { margin: 0; min-height: 220px; height: min(34vh, 340px); }
.email-review-content > p { font-size: 13px; line-height: 1.8; color: var(--muted); }
.email-review-content > p a { overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 3px; }
.email-review-content > .form-status { margin-top: 14px; color: var(--green); }

@media (hover: hover) and (pointer: fine) {
  .faq-question:hover { background: #e9ecdf; color: var(--green); }
  .faq-question[aria-selected="true"]:hover { background: #e0e6d5; }
}
@media (max-width: 800px) {
  .faq-widget { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .faq-widget-compact { gap: 20px; }
}
@media (max-width: 640px) {
  .faq { padding-block: 12px 48px; }
  .faq > .section-label { margin-bottom: 25px; }
  .faq-question { grid-template-columns: 21px minmax(0, 1fr) 20px; gap: 11px; min-height: 78px; padding: 17px 12px; font-size: 15px; }
  .faq-panel, .faq-widget-compact .faq-panel { padding: 24px 22px 27px; }
  .faq-panel h3, .faq-widget-compact .faq-panel h4 { font-size: 25px; margin: 19px 0 15px; }
  .faq-widget-compact .faq-question { font-size: 15px; }
  .faq-widget-compact .faq-panel p { font-size: 16px; }
  .close-dialog { width: 44px; height: 44px; }
  .email-review { width: calc(100% - 24px); padding: 0; }
  .email-review .dialog-top h2 { font-size: 20px; }
  .email-review-content { padding: 20px 18px; }
  .email-review textarea { min-height: 180px; height: 30vh; font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .menu-toggle > span { transition: none; }
  .media-dialog, .media-dialog[open] {
    transform: none;
    transition: opacity 120ms ease, display 120ms allow-discrete, overlay 120ms allow-discrete;
  }
  .media-dialog::backdrop { transition-duration: 120ms; }
  @starting-style { .media-dialog[open] { opacity: 0; transform: none; } }
  .faq-widget.is-ready .faq-panel { transition-duration: 120ms; }
}

/* Readable editorial hierarchy on photographs and narrow screens. */
:root { --muted: #536155; }
.section-number, .row-number, .faq-question-number, .faq-answer-number {
  white-space: nowrap;
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
}
.section-label > h2, .section-heading > *, .media-top > span:first-child,
.media-bottom > span, .project-caption > div { min-width: 0; }
.section-heading .eyebrow { display: flex; align-items: baseline; gap: 18px; }
.section-heading .eyebrow > .section-number { margin-right: 0; }
.section-label > .section-number { line-height: 1.5; }
.hero-shade {
  background: linear-gradient(90deg, #07160ef2 0%, #07160edb 40%, #07160e94 75%, #07160e80 100%), linear-gradient(0deg, #07160ee6, transparent 55%);
}
.hero h1 {
  max-width: 900px;
  font-size: clamp(32px, calc(6vw + 10px), 88px);
  overflow-wrap: normal;
  hyphens: none;
  font-weight: 600;
  letter-spacing: -.055em;
  text-shadow: 0 2px 20px #07160e30;
}
.hero-description {
  max-width: 580px;
  color: #fff;
  font-size: 18px;
  line-height: 1.85;
  text-shadow: 0 1px 8px #07160e66;
}
.hero-eyebrow, .hero-bottom, .hero .video-link small, .concept-label { color: #f4f7ed; }
.hero-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .1em; }
.hero .video-link { font-size: 13px; }
.hero .video-link small { font-size: 12px; }
.hero .play-circle { border-color: #fff9; background: #07160e40; }
.concept-label { border-color: #f4f7ed88; }
.project-media::after {
  background: linear-gradient(180deg, #04130bd9, #04130b26 35%, transparent 55%, #04130be6);
}
.media-top, .media-bottom { font-size: 12px; line-height: 1.6; text-shadow: 0 1px 5px #0009; }
.media-top { align-items: flex-start; }
.media-top > span:last-child { flex: 0 0 auto; white-space: nowrap; }
.media-top > span:first-child, .media-bottom > span:first-child {
  background: var(--dark);
  color: #fff;
  padding: 4px 8px;
  text-shadow: none;
}
.media-bottom { align-items: flex-end; }
.project-open { text-shadow: none; }
.hero-actions > *, .text-link > span, .button > span { flex-shrink: 0; }
.section-label { min-width: 0; }
.process-line h3 { overflow-wrap: normal; }
.desktop-nav > a, .header-cta, .language-switch a { white-space: nowrap; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline-color: var(--green); }
.hero :focus-visible, .contact :focus-visible, .process-section :focus-visible,
.closing-cta :focus-visible, .case-workflow :focus-visible { outline-color: var(--accent); }
.media-dialog :focus-visible { outline-color: var(--green); }

@media (max-width: 1100px) {
  .hero-shade { background: linear-gradient(90deg, #07160ef2, #07160ec4 68%, #07160ebd), linear-gradient(0deg, #07160ee6, transparent 65%); }
  .solutions { grid-template-columns: minmax(0, .85fr) minmax(0, 1.5fr); gap: 36px; }
  .solution-links { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 24px; }
}
@media (max-width: 800px) {
  .solutions { grid-template-columns: minmax(0, 1fr); gap: 25px; }
  .section-label h2 { max-width: 100%; }
  .hero-description { max-width: 520px; font-size: 17px; }
}
@media (max-width: 640px) {
  .hero-shade { background: linear-gradient(90deg, #07160ee6, #07160ebd), linear-gradient(0deg, #07160ee6, transparent 65%); }
  .hero-content { padding-top: 46px; padding-bottom: 134px; }
  .hero h1 { line-height: 1.14; margin-top: 27px; }
  .hero-description { font-size: 16px; max-width: 400px; line-height: 1.8; margin-top: 25px; }
  .hero-eyebrow { font-size: 11px; }
  .hero-bottom { font-size: 12px; }
  .concept-label { font-size: 11px; }
  .hero-actions { gap: 24px; }
  .solutions { display: grid; gap: 25px; }
  .solution-links { margin-top: 0; gap: 0 22px; }
  .solution-links a { min-height: 78px; font-size: 14px; }
  .section-label { gap: 18px; }
  .media-top, .media-bottom { left: 16px; right: 16px; font-size: 11px; }
  .media-bottom > span:last-child { max-width: 42%; text-align: right; }
  .media-bottom > span:first-child { max-width: 56%; }
}
@media (max-width: 480px) {
  .solution-links { grid-template-columns: minmax(0, 1fr); }
  .solution-links a { min-height: 60px; font-size: 15px; }
}
@media (max-width: 359px) {
  .hero-content { padding-top: 36px; }
  .process-line { grid-template-columns: minmax(0, 1fr); }
  .process-line p { max-width: 32ch; }
}

/* Editorial motion: one arrival, one reveal, then the content stays still. */
:root { --duration-editorial: 560ms; }
@keyframes editorial-arrive {
  from { opacity: .94; transform: translate3d(0, 16px, 0); }
  to { opacity: 1; transform: none; }
}
@keyframes title-arrive {
  from { transform: translate3d(0, 20px, 0); }
  to { transform: none; }
}
@keyframes process-connect {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
@media (prefers-reduced-motion: no-preference) {
  .hero-eyebrow { animation: editorial-arrive var(--duration-editorial) var(--ease-out) backwards; }
  .hero h1 { animation: title-arrive var(--duration-editorial) var(--ease-out) 60ms backwards; }
  .hero-description { animation: editorial-arrive var(--duration-editorial) var(--ease-out) 120ms backwards; }
  .hero-actions { animation: editorial-arrive var(--duration-editorial) var(--ease-out) 180ms backwards; }
  .page-hero > div, .solution-hero > div, .case-heading > div {
    animation: title-arrive var(--duration-editorial) var(--ease-out) backwards;
  }
  .process-line > li[data-motion-reveal="played"]::after {
    content: '';
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--accent);
    transform-origin: left;
    animation: process-connect 700ms var(--ease-out) backwards;
  }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .button > span, .text-link > span, .header-cta > span, .solution-links a > span,
  .solution-row > span:last-child, .project-open > span {
    transition: transform var(--duration-ui) var(--ease-out);
  }
  .button:hover > span, .text-link:hover > span, .header-cta:hover > span,
  .solution-links a:hover > span, .solution-row:hover > span:last-child,
  .project-media:hover .project-open > span { transform: translate(3px, -3px); }
  .play-circle { transition: transform var(--duration-ui) var(--ease-out), background-color var(--duration-feedback) ease; }
  .video-link:hover .play-circle { transform: scale(1.06); }
  .video-link:active .play-circle { transform: scale(.97); }
  .button { position: relative; isolation: isolate; overflow: hidden; }
  .button::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: #b8d78230;
    transform: translateX(-102%);
    transition: transform 360ms var(--ease-out);
    pointer-events: none;
  }
  .button:hover::before { transform: translateX(0); }
}
