:root{--blue:#3448ff;--ink:#141622;--muted:#5e6375;--line:#e3e5ec;--soft:#f5f6fa;--white:#fff;--radius:22px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--white);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
a,button{touch-action:manipulation}
a:focus-visible,button:focus-visible{outline:3px solid #ff9c46;outline-offset:5px}
button{font:inherit}
img{display:block;max-width:100%}
svg{display:block;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:600;line-height:1.08;letter-spacing:-.045em}
.wrap{width:min(1320px,calc(100% - 112px));margin-inline:auto}
.blue-text{color:var(--blue)}
.skip-link{position:fixed;z-index:100;left:20px;top:-80px;background:var(--blue);color:white;padding:12px 20px;border-radius:8px}
.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}
.header-inner{height:100px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;align-items:center;gap:14px;flex-shrink:0}
.wordmark{font-size:3.5rem;font-weight:800;line-height:1;letter-spacing:-.075em}
.wordmark>span{color:var(--blue)}
.brand-description{font-size:0.75rem;font-weight:700;line-height:1.4;letter-spacing:.085em;margin-top:8px;border-left:1px solid #c8cbd5;padding-left:14px}
.desktop-nav{display:flex;gap:36px;margin-left:70px;font-size:0.875rem;font-weight:600}
.desktop-nav a{position:relative;padding:12px 0}
.desktop-nav a:after{content:"";position:absolute;bottom:7px;left:0;width:0;height:2px;background:var(--blue);transition:width .18s}
.desktop-nav a:hover:after{width:100%}
.button{display:inline-flex;gap:24px;align-items:center;justify-content:center;min-height:56px;padding:16px 24px;background:var(--blue);color:white;border:1px solid var(--blue);border-radius:6px;font-size:0.9375rem;font-weight:600;line-height:1.3;transition:background .18s,transform .18s}
.button svg{width:20px;height:20px;stroke-width:1.7;flex-shrink:0}
.button:hover{background:#2335dc;transform:translateY(-2px)}
.button-small{min-height:48px;padding:12px 18px;font-size:0.875rem;gap:23px;background:var(--ink);border-color:var(--ink)}
.button-small:hover{background:var(--blue);border-color:var(--blue)}
.menu-toggle{display:none;border:1px solid var(--line);width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:6px;background:white;border-radius:6px;cursor:pointer}
.menu-toggle span{width:19px;height:2px;background:var(--ink);transition:transform .18s}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mobile-nav{padding:8px 24px 22px;border-top:1px solid var(--line)}
.mobile-nav:not([hidden]){display:grid}
.mobile-nav a{padding:12px 0;font-weight:600}
.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:56px;align-items:center;padding-top:50px;padding-bottom:56px}
.eyebrow{font-size:0.75rem;font-weight:700;letter-spacing:.09em;line-height:1.5;display:flex;align-items:center;gap:12px}
.short-line{height:2px;width:23px;background:var(--blue);flex-shrink:0}
h1{font-size:clamp(3.625rem,6.1vw,5.5rem);line-height:.99;letter-spacing:-.062em;margin-top:31px}
.hero-intro{max-width:430px;color:var(--muted);font-size:1.062rem;line-height:1.75;margin-top:28px;margin-bottom:28px}
.hero-note{font-size:0.8125rem;color:var(--muted);margin-top:28px;display:flex;align-items:center;gap:12px}
.note-marker{font-size:1.438rem;color:var(--blue);line-height:1}
.hero-visual{height:620px;max-height:calc(100vw * .46);position:relative;border-radius:var(--radius);overflow:hidden;background:var(--blue);color:#fff}
.hero-visual>img{height:100%;width:100%;object-fit:cover;object-position:52% 50%}
.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,14,84,.16),transparent 25%,transparent 66%,rgba(9,12,80,.4));pointer-events:none}
.visual-top,.visual-bottom{position:absolute;left:32px;right:32px;z-index:1;display:flex;align-items:center;justify-content:space-between}
.visual-top{top:26px;font-size:0.75rem;letter-spacing:.13em;font-weight:600}
.visual-top>span:last-child{font-size:1.562rem;font-weight:400}
.visual-bottom{bottom:31px;font-size:1.438rem;line-height:1.25;letter-spacing:-.035em}
.visual-index{font-size:0.8125rem;letter-spacing:0;align-self:flex-end;opacity:.8}
.service-strip{border-block:1px solid var(--line)}
.strip-inner{min-height:88px;display:flex;gap:26px;align-items:center;justify-content:space-between;font-size:0.875rem;font-weight:500}
.strip-plus{font-size:1.25rem;color:var(--blue);font-weight:400}
.section-space{padding-top:104px;padding-bottom:108px}
.section-heading{display:grid;grid-template-columns:220px 1fr;gap:42px;margin-bottom:50px}
.section-label{padding-top:9px;align-self:start;color:var(--muted)}
.heading-content{display:flex;align-items:end;justify-content:space-between;gap:40px}
h2{font-size:clamp(2.25rem,3.5vw,3.125rem);line-height:1.09;letter-spacing:-.052em}
.heading-content h2{flex-shrink:0}
.heading-content>p{max-width:310px;color:var(--muted);font-size:1rem;line-height:1.7}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.service-card{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:27px 25px 25px;display:flex;flex-direction:column;transition:background .2s,border-color .2s,transform .2s}
.service-card:hover{background:#f0f2ff;border-color:#c3cafd;transform:translateY(-4px)}
.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:42px}
.service-number{font-size:0.8125rem;color:var(--muted);font-variant-numeric:tabular-nums}
.service-icon{color:var(--blue);width:38px;height:38px;stroke-width:1.5}
.service-card h3{font-size:1.5rem;letter-spacing:-.04em;line-height:1.15;margin-bottom:18px}
.service-card>p{font-size:1rem;line-height:1.7;color:var(--muted);margin-bottom:30px}
.tags{display:flex;align-items:start;gap:7px;flex-wrap:wrap;list-style:none;padding:0;margin:auto 0 0}
.tags>li{border:1px solid #d8dbe6;border-radius:4px;padding:5px 8px;font-size:0.875rem;line-height:1.35;color:#454b61;background:rgba(255,255,255,.5)}
.approach{background:var(--soft);border-block:1px solid var(--line)}
.steps{padding:0;margin:66px 0 0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:60px}
.step-top{display:flex;align-items:center;gap:20px;margin-bottom:25px}
.step-number{color:var(--blue);font-size:1rem;font-weight:600}
.step-line{background:#d5d9e8;height:1px;width:100%}
.steps h3{font-size:1.688rem;letter-spacing:-.04em;margin-bottom:17px}
.steps p{color:var(--muted);font-size:1rem;line-height:1.75;max-width:350px}
.about{display:grid;grid-template-columns:1fr 1.13fr;gap:120px;align-items:center}
.about-word{border:1px solid #dce0f8;border-radius:12px;background:#f1f3ff;min-height:340px;display:flex;align-items:center;justify-content:center;position:relative;font-size:clamp(100px,14vw,190px);line-height:1;font-weight:800;letter-spacing:-.09em;color:var(--blue);padding-bottom:40px}
.about-word>span{color:var(--ink)}
.about-word>p{font-size:0.75rem;letter-spacing:.1em;line-height:1.6;font-weight:600;position:absolute;bottom:30px;left:32px;color:#4e577c}
.about-copy .eyebrow{color:var(--muted);margin-bottom:25px}
.about-copy h2{margin-bottom:26px}
.about-copy>p:not(.eyebrow){font-size:1rem;line-height:1.75;color:var(--muted);margin-top:18px}
.about-footnote{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:23px;margin-top:26px;font-size:0.8125rem;line-height:1.8;color:var(--muted)}
.contact{background:var(--blue);color:white;padding:80px 0 27px}
.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:48px}
.contact .eyebrow{color:#d4d9ff;margin-bottom:27px}
.contact h2{font-size:clamp(2.75rem,5.3vw,4.75rem);line-height:1.05;letter-spacing:-.053em}
.contact h2 span{color:#c8d1ff}
.contact-inner>div>p:last-child{font-size:1.062rem;line-height:1.7;color:#e0e4ff;margin-top:26px}
.contact-circle{border-radius:50%;width:180px;height:180px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:19px;background:white;color:var(--blue);flex-shrink:0;margin-right:65px;font-size:0.875rem;font-weight:600;transition:transform .2s,background .2s}
.contact-circle:hover{transform:rotate(-7deg);background:#edf0ff}
.contact-circle svg{width:52px;height:52px;stroke-width:2}
.contact-email{border-top:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:60px;padding-top:25px;font-size:0.875rem}
.contact-email>span{color:#d8dfff}
.contact-email>a{display:flex;align-items:center;gap:22px;font-weight:600}
.contact-email>a:hover{text-decoration:underline;text-underline-offset:5px}
.contact-email>a>span{font-size:1.375rem;font-weight:400}
.site-footer{padding-top:50px}
.footer-top{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-bottom:40px}
.footer-top>p{font-size:0.9375rem;line-height:1.65;color:var(--muted);margin-left:auto;margin-right:50px}
.company-details{display:flex;flex-direction:column;font-size:0.75rem;line-height:1.9;color:var(--muted)}
.company-details strong{font-weight:600;color:var(--ink);font-size:0.8125rem}
.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--muted);font-size:0.75rem;padding:24px 0}
.footer-bottom a{display:flex;align-items:center;gap:18px}
.footer-bottom a:hover{color:var(--blue)}
.footer-bottom a>span{font-size:1.25rem}
@media(min-width:1600px){.hero{gap:75px}.hero-visual{height:650px}.hero h1{font-size:6rem}}
@media(max-width:1190px){.wrap{width:calc(100% - 72px)}.header-inner{height:86px}.desktop-nav{margin-left:0;gap:25px}.hero{gap:34px}.hero h1{font-size:4.375rem}.hero-visual{height:570px;max-height:none}.eyebrow{font-size:0.75rem}.hero-intro{font-size:1rem}.section-heading{grid-template-columns:170px 1fr;gap:30px}.heading-content{gap:25px}.heading-content>p{max-width:260px;font-size:1rem}.heading-content h2{font-size:2.438rem}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.service-card{padding:28px}.card-top{margin-bottom:30px}.service-card>p{font-size:1rem;max-width:380px}.steps{gap:34px}.about{gap:70px}.about-copy h2{font-size:2.438rem}.contact-circle{margin-right:10px}.footer-top>p{margin-right:10px}}
@media(max-width:860px){.wrap{width:calc(100% - 48px)}.desktop-nav{display:none}.menu-toggle{display:flex}.header-contact{margin-left:auto}.hero{grid-template-columns:1.03fr 1fr;gap:28px;padding-top:34px;padding-bottom:38px}.hero h1{font-size:3.625rem;margin-top:24px}.hero-intro{font-size:1rem;line-height:1.65;margin-top:24px}.hero .eyebrow{font-size:0.75rem;gap:7px;letter-spacing:.04em}.hero .short-line{width:13px}.hero-note{font-size:0.75rem;line-height:1.5;align-items:start}.hero-visual{height:515px}.visual-top,.visual-bottom{left:22px;right:22px}.visual-top{font-size:0.75rem}.visual-bottom{font-size:1.25rem}.strip-inner{font-size:0.875rem;gap:14px;min-height:72px}.section-space{padding-block:74px}.section-heading{display:block}.section-label{padding-top:0;margin-bottom:24px}.heading-content h2{font-size:2.562rem}.heading-content>p{max-width:280px}.steps{gap:28px;margin-top:46px}.steps h3{font-size:1.5rem}.steps p{font-size:1rem}.about{gap:38px}.about-word{min-height:330px}.about-copy h2{font-size:2.125rem}.about-copy>p:not(.eyebrow){font-size:1rem}.contact-circle{width:150px;height:150px}.footer-top{flex-wrap:wrap}.footer-top>p{margin-right:0}.company-details{width:100%}}
@media(max-width:620px){html{scroll-padding-top:90px}.header-inner{height:80px;gap:12px}.wordmark{font-size:2.812rem}.brand{gap:11px}.brand-description{font-size:0.75rem;padding-left:11px}.header-contact{display:none}.menu-toggle{display:flex}.hero{grid-template-columns:1fr;gap:33px;padding-top:33px;padding-bottom:30px}.hero-copy{padding-top:1px}.hero h1{font-size:clamp(3.625rem,13.7vw,4.938rem);margin-top:23px;line-height:1}.hero .eyebrow{font-size:0.75rem;letter-spacing:.065em;gap:9px}.hero .short-line{width:20px}.hero-intro{font-size:1rem;max-width:430px;margin-top:23px;margin-bottom:22px;line-height:1.7}.hero-note{margin-top:22px;font-size:0.75rem}.hero-visual{height:auto;aspect-ratio:1.12;border-radius:16px}.visual-top{top:17px;font-size:0.75rem}.visual-bottom{bottom:22px;font-size:1.375rem}.visual-index{font-size:0.75rem}.strip-inner{padding-block:24px;display:grid;grid-template-columns:1fr 1fr;gap:15px 18px;align-items:start;font-size:0.875rem;line-height:1.5}.strip-plus{display:none}.strip-inner>span:not(.strip-plus){padding-left:13px;border-left:2px solid var(--blue)}.section-space{padding-block:59px}.section-heading{margin-bottom:32px}.section-label{font-size:0.75rem;margin-bottom:18px}.heading-content{display:block}.heading-content h2{font-size:2.438rem}.heading-content>p{max-width:none;font-size:1rem;margin-top:22px}.service-grid{grid-template-columns:1fr;gap:15px}.service-card{padding:25px}.card-top{margin-bottom:25px}.service-card h3{font-size:1.625rem}.service-card>p{font-size:1rem;margin-bottom:25px}.tags>li{font-size:0.875rem}.steps{grid-template-columns:1fr;gap:33px;margin-top:37px}.steps h3{font-size:1.688rem;margin-bottom:14px}.steps p{font-size:1rem;max-width:none}.step-top{margin-bottom:20px}.about{grid-template-columns:1fr;gap:33px}.about-word{min-height:275px;font-size:10.62rem}.about-copy h2{font-size:2.438rem}.about-copy>p:not(.eyebrow){font-size:1rem}.about-footnote{font-size:0.8125rem}.contact{padding-top:55px;padding-bottom:23px}.contact-inner{align-items:flex-start;flex-direction:column;gap:30px}.contact h2{font-size:clamp(2.5rem,9.7vw,3.563rem)}.contact .eyebrow{font-size:0.75rem;margin-bottom:21px}.contact-inner>div>p:last-child{font-size:1rem;margin-top:24px}.contact-inner>div>p:last-child br{display:none}.contact-circle{width:104px;height:104px;margin:0;gap:7px;font-size:0.75rem}.contact-circle svg{width:30px;height:30px}.contact-email{margin-top:32px;padding-top:21px;align-items:start;gap:8px;flex-direction:column;font-size:0.8125rem}.contact-email>a{font-size:1rem}.site-footer{padding-top:34px}.footer-top{gap:26px;padding-bottom:27px}.footer-top>p{margin:0 0 0 auto;font-size:0.75rem}.company-details{font-size:0.75rem}.footer-bottom{font-size:0.75rem;gap:12px;padding-block:20px}.footer-bottom a{gap:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Language navigation and the contact form extend the original design. */
.language-switch{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line);border-radius:7px;margin-left:auto;flex-shrink:0}
.language-switch a{display:flex;align-items:center;justify-content:center;min-width:35px;min-height:37px;font-size:.875rem;font-weight:600;border-radius:4px;color:var(--muted)}
.language-switch a:hover{background:var(--soft);color:var(--blue)}
.language-switch a[aria-current="page"]{background:var(--blue);color:white}
.header-inner{gap:24px}.desktop-nav{margin-left:20px;gap:28px}.header-contact{flex-shrink:0}
.heading-content h2{flex-shrink:1;min-width:0}.service-card h3,.about-copy h2{overflow-wrap:break-word}
.contact{padding-bottom:80px}.contact-layout{display:grid;grid-template-columns:.88fr 1.12fr;align-items:start;gap:80px}
.contact-copy{padding-top:20px}.contact-copy>p:last-child{font-size:1.0625rem;line-height:1.75;color:#e0e4ff;margin-top:28px;max-width:430px}
.contact h2{font-size:clamp(2.5rem,4vw,3.875rem);overflow-wrap:break-word}
.contact-form{background:white;border-radius:16px;padding:35px;color:var(--ink);min-width:0}
.contact-form h3{font-size:1.5rem;line-height:1.2;letter-spacing:-.035em}.form-hint{font-size:.875rem;color:var(--muted);margin:10px 0 25px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field{display:flex;flex-direction:column;min-width:0;margin-bottom:18px}
.form-field label{font-size:.875rem;font-weight:600;margin-bottom:7px;line-height:1.6}.form-field label span{font-weight:400;color:var(--muted)}
.form-field input,.form-field textarea{font:inherit;font-size:1rem;line-height:1.5;width:100%;min-width:0;padding:12px 13px;color:var(--ink);border:1px solid #c8cddb;border-radius:6px;background:#fff;transition:border-color .15s,box-shadow .15s}
.form-field input{min-height:48px}.form-field textarea{resize:vertical;min-height:130px}.form-field textarea::placeholder{color:#687084}
.form-field input:focus,.form-field textarea:focus{outline:2px solid var(--blue);outline-offset:2px;border-color:var(--blue)}
.form-field [aria-invalid="true"]{border-color:#b42318}.field-error{color:#b42318;font-size:.875rem;line-height:1.4;margin-top:7px}.field-error:empty{display:none}
.form-privacy{color:var(--muted);font-size:.875rem;line-height:1.65;margin-bottom:21px}.form-submit{width:100%;cursor:pointer;font-family:inherit}.form-submit:disabled{cursor:wait;opacity:.75;transform:none}
.form-status{font-size:1rem;padding:16px;border-radius:7px;margin-top:20px;line-height:1.6}.form-status.is-success{background:#eaf6ef;color:#155a35}.form-status.is-error{background:#fff0ee;color:#8b271d}.form-status[hidden]{display:none}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:1190px){.header-inner{gap:18px}.desktop-nav{gap:22px;margin-left:0}.contact-layout{gap:45px}.contact-form{padding:28px}.form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:1080px){.desktop-nav{display:none}.menu-toggle{display:flex}.header-contact{margin-left:0}.language-switch{margin-left:auto}}
@media(max-width:860px){.contact-layout{grid-template-columns:1fr 1.1fr;gap:30px}.contact-form{padding:24px}.contact h2{font-size:2.625rem}.contact-copy>p:last-child{font-size:1rem}.header-inner{gap:15px}}
@media(max-width:700px){.contact-layout{grid-template-columns:1fr;gap:32px}.contact-copy{padding-top:0}.contact-copy>p:last-child{max-width:520px}.contact-form{padding:27px}.contact{padding-bottom:55px}.form-row{grid-template-columns:1fr 1fr;gap:16px}}
@media(max-width:620px){.header-inner{gap:10px}.header-inner .brand-description{display:none}.header-inner .wordmark{font-size:2.75rem}.language-switch a{min-width:31px;min-height:35px;font-size:.8125rem}.language-switch{gap:1px;padding:2px}.menu-toggle{width:40px;height:40px;flex-shrink:0}.contact h2{font-size:clamp(2.4rem,9vw,3.3rem)}.contact-form{padding:23px}.form-row{grid-template-columns:1fr;gap:0}.hero .eyebrow{font-size:.75rem}.contact-form h3{font-size:1.375rem}}
@media(max-width:360px){.contact-form{padding:20px}.header-inner .wordmark{font-size:2.5rem}.language-switch a{min-width:29px}}

.confirmation-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px;background:var(--soft)}.confirmation-card{width:min(620px,100%);padding:clamp(28px,7vw,60px);background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.confirmation-card .brand{margin-bottom:45px}.confirmation-card h1{font-size:clamp(2.25rem,7vw,3.25rem);margin:0 0 25px;line-height:1.12}.confirmation-card p{color:var(--muted);font-size:1rem;margin-bottom:30px}
