:root{color-scheme:light;--ink:#1b1d20;--navy:#14283d;--muted:#73777e;--line:#e5e7e9;--wash:#f5f6f7;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font-family:var(--font);font-size:16px;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid #326fbc;outline-offset:5px}button:disabled{cursor:wait;opacity:.5}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}ol{list-style:none;margin:0;padding:0}[hidden]{display:none!important}.wrap{width:min(1184px,calc(100% - 112px));margin-inline:auto}.skip-link{position:fixed;left:16px;top:-80px;padding:15px;background:var(--navy);color:#fff;z-index:100}.skip-link:focus{top:12px}
.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(229,231,233,.85)}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand{display:inline-block;flex-shrink:0;position:relative;width:178px;aspect-ratio:5;overflow:hidden}.brand img{position:absolute;width:110%;max-width:none;left:50%;top:50%;transform:translate(-50%,-50%);mix-blend-mode:multiply}.desktop-nav{display:flex;align-items:center;gap:34px;margin-left:auto;margin-right:30px;font-size:14px}.desktop-nav a,.legal a,.legal button{transition:color .2s}.desktop-nav a:hover,.legal a:hover,.legal button:hover{color:#3674bd}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;border:1px solid transparent;border-radius:100px;background:var(--navy);color:white;font-size:15px;font-weight:500;line-height:1.3;min-height:54px;padding:16px 25px;transition:background .25s,transform .25s,box-shadow .25s;text-align:center}.button span{font-size:20px;line-height:1;font-weight:400}.button:hover{background:#244664;transform:translateY(-2px);box-shadow:0 6px 18px #14283d14}.button-small{min-height:42px;padding:11px 19px;font-size:13px;gap:16px}.menu-button{display:none;background:none;border:0;width:42px;height:42px;padding:10px}.menu-button span{display:block;height:1px;background:var(--ink);margin:6px 0;transition:transform .2s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu{padding:20px 28px 30px;border-top:1px solid var(--line);background:#fff}.mobile-menu a{display:block;font-size:20px;padding:14px 0}
.hero{text-align:center;padding-top:50px}.hero-tagline{font-size:15px;font-weight:500;line-height:1.4;letter-spacing:.035em;color:var(--navy);margin-bottom:24px}.hero h1{font-size:clamp(3.5rem,6.35vw,5.65rem);line-height:1.07;letter-spacing:-.055em;font-weight:500}.hero h1 span{color:var(--navy)}.hero-description{font-size:19px;color:#666b72;line-height:1.65;letter-spacing:-.015em;margin-top:28px}.hero-button{margin-top:30px}.hero-art{width:570px;max-width:100%;height:320px;margin:10px auto 16px;overflow:hidden}.hero-art img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.clients{padding:17px 0 52px;border-bottom:1px solid var(--line)}.clients-label{display:flex;justify-content:space-between;align-items:center}.clients h2{font-size:13px;font-weight:400;color:var(--muted)}.carousel-controls{display:flex;gap:8px}.carousel-controls button{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:white;color:#707780;transition:background .2s}.carousel-controls button:hover{background:var(--wash)}.carousel-controls button:disabled{opacity:.25;cursor:default}.client-track{display:flex;align-items:center;gap:54px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-top:23px}.client-track::-webkit-scrollbar{display:none}.client{min-width:140px;width:140px;height:55px;display:flex;align-items:center;justify-content:center;scroll-snap-align:start;filter:grayscale(1);opacity:.65;transition:opacity .3s,filter .3s}.client:hover{opacity:1;filter:grayscale(0)}.client img{width:125px;max-height:46px;object-fit:contain}.client-square img{width:105px;height:54px;max-height:54px;object-fit:contain}
.section{padding-top:116px;padding-bottom:116px}.section h2{font-size:clamp(2rem,4vw,3rem);line-height:1.1;letter-spacing:-.045em}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:44px}.section-index,.number{font-size:13px;letter-spacing:.02em;color:#92979e;font-variant-numeric:tabular-nums}.service{display:grid;grid-template-columns:70px 1.45fr 1fr;gap:18px;align-items:center;min-height:143px;border-top:1px solid var(--line);transition:background .25s}.service:last-child{border-bottom:1px solid var(--line)}.service h3{font-size:clamp(1.55rem,3.1vw,2.55rem);letter-spacing:-.04em;line-height:1.15}.service p{font-size:17px;line-height:1.6;color:var(--muted);padding-left:30px}.service:hover h3{color:var(--navy)}
.case-section{background:var(--wash);padding:88px 0 92px}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.eyebrow{font-size:14px;font-weight:400;letter-spacing:.005em;color:#626971}.case-overview{display:flex;flex-direction:column;align-items:flex-start}.case-logo{width:150px;height:53px;object-fit:contain;filter:grayscale(1);mix-blend-mode:multiply;margin-top:45px}.case-stat{display:flex;flex-direction:column;margin-top:22px}.stat-number{font-size:190px;letter-spacing:-.085em;line-height:1;font-weight:400;color:var(--navy);margin-left:-9px}.stat-caption{font-size:16px;color:var(--muted);margin-top:8px}.case-steps{padding-top:53px;align-self:center}.case-steps li{display:grid;grid-template-columns:32px 1fr;gap:22px;align-items:baseline;padding:29px 0;border-bottom:1px solid #dfe2e5}.case-steps li:first-child{padding-top:0}.case-steps li:last-child{border:0;padding-bottom:0}.case-steps p{font-size:21px;line-height:1.45;letter-spacing:-.02em;max-width:365px}
.process-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:70px}.process-grid>h2{padding-top:18px}.process-steps li{display:grid;grid-template-columns:40px 1fr;align-items:baseline;gap:25px;padding:28px 0;border-bottom:1px solid var(--line)}.process-steps li:first-child{padding-top:14px}.process-steps h3{font-size:26px;line-height:1.3;letter-spacing:-.03em}.process-note{max-width:850px;margin:124px auto 4px;font-size:clamp(1.7rem,3.25vw,2.7rem);line-height:1.35;letter-spacing:-.037em;text-align:center}.process-note span{color:#a1a5ab}.consultation{background:var(--navy);color:white}.consultation-inner{text-align:center;padding-block:102px 106px}.consultation h2{font-size:clamp(2.5rem,5.2vw,4.5rem);line-height:1.13;letter-spacing:-.045em}.button-white{color:var(--navy);background:white;margin-top:36px}.button-white:hover{color:var(--navy);background:#ecf1f5}
.footer{padding-top:75px}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:64px;padding-bottom:70px}.footer-brand .brand{width:184px}.footer-brand p{font-size:14px;color:var(--muted);line-height:1.65;margin-top:22px;max-width:270px}.footer h2{font-size:14px;font-weight:500;margin-bottom:26px}.contact{margin-bottom:21px}.contact span{display:block;font-size:13px;color:var(--muted);margin-bottom:8px;line-height:1.5}.contact a{font-size:15px;white-space:nowrap}.email-link{font-size:15px}.legal a,.legal button{display:block;font-size:13px;color:#666c74;line-height:1.5;margin-bottom:13px}.legal button{border:none;background:none;text-align:left;padding:0}.footer-bottom{border-top:1px solid var(--line);padding:24px 0 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-bottom small{font-size:12px;color:#858a91;line-height:1.6}.footer-bottom>a{border:1px solid var(--line);border-radius:50%;width:34px;height:34px;display:grid;place-items:center;flex-shrink:0}
dialog{border:1px solid #e4e7ea;border-radius:24px;padding:0;max-height:calc(100dvh - 40px);width:min(590px,calc(100% - 32px));box-shadow:0 40px 130px #101e3938;color:var(--ink);background:#fff}dialog::backdrop{background:#14283d5c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.dialog-panel{padding:42px;position:relative}.dialog-close{position:absolute;right:18px;top:16px;border:0;border-radius:50%;background:var(--wash);width:34px;height:34px;font-size:24px;line-height:1}.dialog-panel .eyebrow{margin-bottom:16px}.dialog-panel h2{font-size:34px;letter-spacing:-.04em;line-height:1.15;max-width:390px}.dialog-intro{margin:18px 0 28px;font-size:16px;line-height:1.55;color:var(--muted)}.consult-form label{display:flex;flex-direction:column;gap:9px;font-size:14px}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.consult-form em{font-style:normal;color:var(--muted);margin-left:5px}.consult-form input:not([type=checkbox]),.consult-form textarea{width:100%;border:1px solid #dce0e4;border-radius:9px;padding:13px;background:#fbfcfc;font-size:16px;color:var(--ink);min-height:47px}.consult-form textarea{resize:vertical;max-height:250px}.consult-form input::placeholder,.consult-form textarea::placeholder{color:#959ba2}.consult-form [aria-invalid=true]{border-color:#a93c39!important}.consult-form .optin{display:grid;grid-template-columns:17px 1fr;gap:11px;font-size:13px;line-height:1.6;color:#666d76;margin-top:18px}.optin input{accent-color:var(--navy);width:16px;height:16px;margin:3px 0 0}.privacy-notice{font-size:12px;line-height:1.65;color:#868c93;margin-top:18px}.privacy-notice a{text-decoration:underline;text-underline-offset:3px}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.submit-button{width:100%;margin-top:24px}.call-link{display:block;text-align:center;font-size:13px;margin-top:17px;color:#69717a}.form-error{font-size:14px;line-height:1.5;color:#a33a38;margin-top:18px}.consult-done{text-align:center;padding-block:28px}.consult-done h2{margin:18px auto}.consult-done p{line-height:1.6;color:var(--muted)}.consult-done .button{margin-top:25px}.success-icon{display:grid;place-items:center;width:54px;height:54px;margin:auto;background:#e9eff3;color:var(--navy);border-radius:50%;font-size:28px}.cookie-dialog{width:min(510px,calc(100% - 32px))}.cookie-dialog p{font-size:16px;line-height:1.6;color:var(--muted);margin-top:20px}.cookie-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:26px;padding-block:20px;border-block:1px solid var(--line);font-size:14px;line-height:1.5}.cookie-row strong{font-size:12px;color:var(--muted);font-weight:400}.cookie-policy{display:block;font-size:13px;margin:24px 0}.cookie-dialog .button{width:100%}
.hero-art-caption{font-size:16.8px;font-weight:500;line-height:1.5;letter-spacing:.035em;color:var(--navy);margin:0 0 32px;text-align:center}
.hero-role-line{display:inline-flex;align-items:baseline;white-space:nowrap}.hero-role{position:relative;display:inline-block;text-align:left;transition:width .4s cubic-bezier(.22,1,.36,1)}.hero-role-word{position:absolute;left:0;top:0;display:inline-block;white-space:nowrap;opacity:0;transform:translateY(.09em);transition:opacity .4s ease,transform .4s cubic-bezier(.22,1,.36,1)}.hero-role-word.is-current{position:relative;opacity:1;transform:translateY(0)}.hero-role-word.is-leaving{transform:translateY(-.09em)}
@media(min-width:1450px){.hero{padding-top:68px}.hero-art{height:350px;width:610px}}
@media(max-width:1080px){.wrap{width:calc(100% - 72px)}.header-inner{gap:24px}.desktop-nav{gap:23px;margin-right:0}.header-cta{font-size:12px;gap:9px}.brand{width:160px}.service{grid-template-columns:40px 1.5fr 1fr}.service h3{font-size:32px}.service p{padding-left:10px;font-size:16px}.footer-grid{gap:30px}.case-grid{gap:45px}.process-grid{gap:40px}.process-steps h3{font-size:24px}}
@media(max-width:760px){html{scroll-padding-top:85px}.wrap{width:calc(100% - 44px)}.header-inner{min-height:74px;gap:16px}.brand{width:151px}.desktop-nav,.header-cta{display:none}.menu-button{display:block}.hero{padding-top:32px}.hero-tagline{font-size:14px;margin-bottom:20px}.hero h1{font-size:clamp(2.25rem,7.8vw,3.7rem);letter-spacing:-.05em;line-height:1.12}.hero-description{font-size:16px;line-height:1.65;margin-top:24px;max-width:340px;margin-inline:auto}.desktop-break{display:none}.hero-button{font-size:14px;gap:22px;margin-top:25px;min-height:52px;padding:15px 23px}.hero-art{height:255px;width:450px;margin:9px auto 0}.clients{padding-top:14px;padding-bottom:32px}.client-track{gap:24px;padding-top:20px}.client{width:120px;min-width:120px;height:48px}.client img{max-width:110px;max-height:39px}.client-square img{max-height:48px}.clients h2{font-size:12px}.section{padding-block:76px}.section-heading{margin-bottom:30px}.section h2{font-size:34px}.section-index{font-size:12px}.service{grid-template-columns:28px 1fr;gap:0 15px;padding-block:26px;min-height:auto;align-items:baseline}.service h3{font-size:clamp(1.5rem,6.1vw,2rem);line-height:1.2}.service p{grid-column:2;padding:12px 0 0;font-size:15px;line-height:1.6;max-width:290px}.number{font-size:12px}.case-section{padding-block:58px}.case-grid{grid-template-columns:1fr;gap:34px}.case-overview{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0 30px}.case-overview .eyebrow{grid-column:1/-1;font-size:13px}.case-logo{margin-top:0;width:145px}.case-stat{margin-top:22px;align-items:flex-end}.stat-number{font-size:136px}.stat-caption{font-size:14px;margin-top:0}.case-steps{padding:0}.case-steps li{padding:23px 0;grid-template-columns:25px 1fr;gap:18px}.case-steps p{font-size:18px;max-width:none}.case-steps li:first-child{padding-top:22px;border-top:1px solid #dfe2e5}.process-grid{grid-template-columns:1fr;gap:34px}.process-grid>h2{padding:0}.process-steps li{grid-template-columns:26px 1fr;gap:18px;padding:23px 0}.process-steps h3{font-size:23px}.process-note{margin-top:72px;font-size:27px;line-height:1.4;text-align:left;letter-spacing:-.035em}.consultation-inner{padding-block:72px 76px}.consultation h2{font-size:clamp(2.2rem,8.5vw,3.8rem)}.button-white{font-size:14px;gap:20px;margin-top:29px;padding:16px 22px}.footer{padding-top:52px}.footer-grid{grid-template-columns:1fr 1fr;gap:44px 24px;padding-bottom:46px}.footer-brand{grid-column:1/-1}.footer-brand p{max-width:360px;font-size:14px}.footer h2{margin-bottom:22px}.contact a,.email-link{font-size:13px}.contact span{font-size:12px}.legal a,.legal button{font-size:12px}.footer-bottom small{font-size:12px;max-width:260px}.dialog-panel{padding:32px 24px}.dialog-panel h2{font-size:30px;padding-right:16px}.dialog-intro{font-size:15px}.form-fields{gap:12px}.dialog-panel .eyebrow{font-size:13px}.cookie-row{font-size:13px}.cookie-row strong{white-space:nowrap}}
@media(max-width:380px){.wrap{width:calc(100% - 36px)}.hero h1{font-size:30px}.hero-art{height:220px}.hero-button{font-size:13px;gap:18px}.service h3{font-size:23px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer h2{margin-bottom:16px}.form-fields{grid-template-columns:1fr}.stat-number{font-size:116px}.case-logo{width:130px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.button:hover{transform:none}}

/* Product navigation shared with the local Notabot entry point. */
.products-menu{position:relative}.products-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px}.products-menu summary::-webkit-details-marker{display:none}.products-menu summary:focus-visible{outline:2px solid #326fbc;outline-offset:5px}.products-panel{position:absolute;top:calc(100% + 16px);left:-20px;min-width:250px;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 28px #14283d0d}.products-panel a{display:block;font-size:16px}.products-panel span{display:block;font-size:12px;color:var(--muted);margin-top:4px}.mobile-menu .products-menu summary{padding:14px 0;font-size:20px}.mobile-menu .products-panel{position:static;box-shadow:none;margin-bottom:12px;min-width:0}.mobile-menu .products-panel a{padding:0;font-size:18px}@media(min-width:761px) and (max-width:1050px){.desktop-nav{gap:20px;margin-right:0}.header-inner{gap:20px}}

@media(max-width:1000px){.desktop-nav,.header-cta{display:none}.menu-button{display:block}.header-inner{justify-content:space-between}}
