@charset "UTF-8";
:root{--paper:#ffffff;--ink:#181919;--muted:#686b6c;--rule:#d9dad6;--soft:#edede7;--header-h:88px;--ease:cubic-bezier(.22,.68,0,1);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Helvetica,Arial,sans-serif;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:112px}body{margin:0}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}button{color:inherit}button:disabled{cursor:default}p{line-height:1.6}h1,h2,h3,p,figure{margin:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #586e7e;outline-offset:6px}input:focus,select:focus,textarea:focus{outline:2px solid #6b8090;outline-offset:3px}::selection{background:#d8e2e8}button,summary{touch-action:manipulation}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.skip-link{position:fixed;left:20px;top:12px;background:var(--ink);color:white;padding:12px 20px;border-radius:30px;z-index:100;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;top:0;z-index:30;height:var(--header-h);background:rgba(255,255,255,.87);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}.site-header.scrolled{border-bottom-color:rgba(217,218,214,.7)}.header-inner{max-width:1520px;padding:0 54px;height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;gap:11px;flex-shrink:0}.brand img{width:44px;height:44px;object-fit:contain}.brand span{font-size:23px;font-weight:610;letter-spacing:-.75px}.desktop-nav{display:flex;gap:35px;align-items:center;margin-left:15px}.desktop-nav a{font-size:14px;line-height:28px;position:relative}.desktop-nav a:after{content:"";height:1px;position:absolute;left:0;right:100%;bottom:0;background:var(--ink);transition:right .25s}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{right:0}.header-actions{display:flex;align-items:center;gap:28px}.language{font-size:12px;letter-spacing:.06em}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:52px;padding:14px 26px;border:1px solid var(--ink);border-radius:99px;background:var(--ink);color:#fff;font-size:15px;font-weight:500;line-height:1.4;transition:transform .25s,background .25s,box-shadow .25s;white-space:normal}.button:hover{background:#333536;transform:translateY(-2px);box-shadow:0 5px 15px #1b22200e}.button span{font-size:20px;font-weight:400}.button-small{min-height:42px;padding:9px 26px;font-size:14px}.button-outline{color:var(--ink);background:transparent;border-color:#c5c7c5}.button-outline:hover{background:#fff;box-shadow:none}.text-link,.inline-link{display:inline-flex;align-items:center;gap:18px;font-size:15px;line-height:1.5}.text-link span,.inline-link span{transition:transform .2s}.text-link:hover span,.inline-link:hover span{transform:translate(2px,-2px)}.inline-link{width:fit-content;border-bottom:1px solid #a9adac;padding-bottom:5px}.menu-toggle{display:none;border:0;background:none;width:40px;height:40px;position:relative}.menu-toggle span{position:absolute;left:9px;right:9px;height:1.5px;background:var(--ink);top:16px;transition:transform .25s}.menu-toggle span+span{top:23px}.menu-toggle[aria-expanded="true"] span{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span+span{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{display:none}
.focus-hero{--progress:0;position:relative;height:calc(100svh + 330px);min-height:1080px;max-height:1460px}.hero-stage{position:sticky;top:var(--header-h);height:calc(100svh - var(--header-h));min-height:735px;max-height:1080px;padding-top:42px;overflow:hidden;display:flex;flex-direction:column;align-items:center}.hero-copy{text-align:center;position:relative;z-index:3;padding:0 24px;transform:translateY(calc(var(--progress)*-9px));will-change:transform}.focus-hero h1{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Helvetica,Arial,sans-serif;font-size:clamp(52px,5.9vw,92px);line-height:1.08;font-weight:580;letter-spacing:-.065em;display:flex;align-items:center;flex-direction:column;gap:8px}.focus-line{display:flex;align-items:center;justify-content:center;min-width:4.45em;min-height:1.13em;padding:0 .31em .07em;background:linear-gradient(145deg,#fbfbf7,#f1f1eb);border:1px solid #d8d9d4;border-radius:17px;box-shadow:0 7px 23px #292c3003;letter-spacing:-.06em;overflow:hidden}.focus-line span{transition:opacity .16s,transform .28s var(--ease)}.focus-line.changing span{opacity:0;transform:translateY(12px)}.hero-description{font-size:clamp(17px,1.65vw,22px);line-height:1.4;letter-spacing:-.03em;color:#4b4e50;margin:20px auto 22px}.hero-actions{display:flex;align-items:center;justify-content:center;gap:28px}.hero-gallery{--pointer-x:0;position:relative;margin-top:34px;width:min(1220px,94%);flex:1;min-height:320px;max-height:490px;isolation:isolate}.hero-gallery:before{content:"";position:absolute;inset:1% -15% -14%;background:radial-gradient(ellipse at 50% 60%,#cbdde151,transparent 67%);z-index:-1}.image-card{position:absolute;border:7px solid #fff;border-radius:22px;overflow:hidden;box-shadow:0 20px 48px #263b4d0b,0 0 0 1px #18282b0b;background:#ecece7;will-change:transform;transform-origin:50% 90%;transition:box-shadow .35s}.image-card img{width:100%;height:100%;object-fit:cover}.card-center{z-index:3;left:34%;width:32%;height:100%;top:0;transform:translateY(calc(var(--progress)*6px));}.card-center img{object-position:center 50%}.card-left{z-index:1;left:6%;width:34%;height:87%;top:10%;transform:translateX(calc(var(--progress)*-40px + var(--pointer-x)*-6px)) rotate(calc(-7deg + var(--progress)*5deg))}.card-right{z-index:2;right:6%;width:34%;height:87%;top:10%;transform:translateX(calc(var(--progress)*40px + var(--pointer-x)*6px)) rotate(calc(7deg - var(--progress)*5deg))}.image-card figcaption{position:absolute;left:0;right:0;bottom:0;padding:32px 19px 17px;display:flex;gap:10px;align-items:center;color:#fff;background:linear-gradient(transparent,#111b21a6);font-size:12px;letter-spacing:.015em;opacity:0;transform:translateY(5px);transition:opacity .3s,transform .3s}.image-card:hover figcaption{opacity:1;transform:none}.hero-bottom{width:min(1320px,calc(100% - 108px));display:flex;align-items:center;justify-content:space-between;gap:15px;padding:25px 0 17px;color:#73787a;font-size:12px;letter-spacing:.015em}.scroll-cue{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:13px;color:#4e5356}.motion-control{display:flex;align-items:center;gap:8px;font-size:12px;border:0;background:transparent;padding:8px 0;color:#6a6f70}.motion-icon{font-weight:600;letter-spacing:-2px;min-width:12px}.motion-control:hover{color:var(--ink)}
.section{max-width:1396px;margin:0 auto;padding:105px 54px}.section-marker{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:24px;border-top:1px solid var(--rule);margin-bottom:64px;font-size:11px;letter-spacing:.12em;color:#6b6e6f}.section-marker span+span{text-transform:none;letter-spacing:.015em;font-size:13px;color:#747778}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:#777b7d;margin-bottom:21px}.services-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:95px;align-items:start}.section-intro{position:sticky;top:145px}.section-intro h2,h2{font-size:clamp(34px,3.55vw,54px);line-height:1.08;font-weight:520;letter-spacing:-.055em}.section-intro>p:not(.eyebrow){font-size:17px;color:var(--muted);max-width:365px;margin-top:25px;line-height:1.65}.availability{display:inline-block;font-size:12px;line-height:1.5;color:#767b7c;margin-top:38px;padding-top:18px;border-top:1px solid var(--rule)}.service-detail{border-bottom:1px solid var(--rule)}.service-detail:first-child{border-top:1px solid var(--rule)}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.service-detail summary{display:flex;align-items:center;gap:19px;padding:25px 0}.service-detail h3{font-size:24px;line-height:1.25;letter-spacing:-.035em;font-weight:470}.detail-symbol{width:16px;height:16px;position:relative;display:block;flex:none;margin-left:auto}.detail-symbol:before,.detail-symbol:after{content:"";position:absolute;left:0;right:0;height:1px;top:8px;background:#565b5d;transition:transform .25s}.detail-symbol:after{transform:rotate(90deg)}details[open]>summary .detail-symbol:after{transform:rotate(0)}.detail-body{padding:0 23px 27px 0;animation:detail-in .35s var(--ease)}.detail-body p{font-size:15px;color:var(--muted)}.detail-body ul{list-style:none;padding:0;margin:17px 0 24px}.detail-body li{font-size:13px;line-height:1.65;margin:5px 0;padding-left:14px;position:relative;color:#5b6061}.detail-body li:before{content:"·";position:absolute;left:0}.detail-body .inline-link{font-size:13px}.additional-services{display:grid;grid-template-columns:.95fr 1.05fr;gap:95px;margin-top:85px}.additional-heading h3{font-size:26px;font-weight:480;letter-spacing:-.04em}.additional-heading .eyebrow{margin-bottom:13px}.additional-list{border-top:1px solid var(--rule)}.additional-list details{border-bottom:1px solid var(--rule)}.additional-list summary{display:flex;align-items:center;gap:12px;padding:18px 0;font-size:16px}.additional-list p{font-size:14px;color:var(--muted);padding:0 30px 14px 0}.additional-list .inline-link{margin-bottom:20px;font-size:13px}
.software-section{padding-top:40px;padding-bottom:74px}.software-section .section-marker{margin-bottom:42px}.software-panel{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;padding:70px 75px;background:linear-gradient(112deg,#eaece8,#efefea 58%,#e7eaeb);border:1px solid #e1e3df;border-radius:28px;position:relative;overflow:hidden}.status-label{display:inline-block;border:1px solid #cbd0ca;background:#ffffff35;border-radius:50px;color:#626b6c;padding:6px 12px;font-size:11px;line-height:1.4;letter-spacing:.02em}.software-panel h2{font-size:clamp(55px,7.8vw,110px);font-weight:500;letter-spacing:-.075em;line-height:1.1;margin:30px 0 17px}.period{color:#6e7e88}.software-tagline{font-size:27px;line-height:1.23;letter-spacing:-.04em;color:#3f474b}.software-description>p{font-size:19px;line-height:1.55;letter-spacing:-.02em;color:#4e5659;max-width:370px}.software-description>p.subtle{font-size:13px;margin:22px 0 29px;letter-spacing:0;color:#717879}.software-description .button{font-size:14px;min-height:48px}.future-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;padding-top:16px;padding-bottom:107px}.future-section{padding-right:66px;scroll-margin-top:120px}.future-section+ .future-section{padding-right:0;padding-left:66px;border-left:1px solid var(--rule)}.future-section .section-marker{border:0;padding-top:0;margin-bottom:37px}.future-section h2{font-size:clamp(31px,3vw,42px);margin:28px 0 22px;letter-spacing:-.05em}.future-section>p{font-size:16px;color:var(--muted);max-width:440px;line-height:1.65}.future-section .inline-link{margin-top:28px;font-size:14px}
.contact-section{padding-top:45px;padding-bottom:95px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:95px}.contact-intro h2{font-size:clamp(44px,4.3vw,66px);letter-spacing:-.06em}.contact-intro>p{font-size:18px;color:var(--muted);line-height:1.5;margin:24px 0 32px}.contact-email{display:block;width:fit-content;font-size:clamp(16px,1.6vw,21px);letter-spacing:-.025em;border-bottom:1px solid var(--rule);padding-bottom:5px}.contact-phone{display:block;width:fit-content;margin-top:14px;font-size:16px;color:#5b6264}.contact-intro address{font-style:normal;font-size:13px;line-height:1.7;color:#777e7f;margin:34px 0 20px}.copy-email{border:0;border-bottom:1px solid #b6bcba;padding:0 0 4px;background:transparent;font-size:12px;color:#697072}.copy-feedback{display:block;min-height:22px;margin-top:10px;font-size:12px;color:#556b75}.contact-form{display:flex;flex-direction:column;gap:22px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form label{display:flex;flex-direction:column;gap:10px;font-size:13px;position:relative;line-height:1.4}.optional{font-size:11px;color:#898e8f;position:absolute;right:0}.contact-form input,.contact-form select,.contact-form textarea{min-width:0;width:100%;border:1px solid #d5d9d5;border-radius:10px;background:#fbfbf6;color:var(--ink);padding:13px 14px;line-height:1.4;font-size:15px}.contact-form input{height:47px}.contact-form textarea{resize:vertical;min-height:126px;max-height:430px}.contact-form select{appearance:none;padding-right:35px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23656b6d' stroke-width='1.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.contact-form ::placeholder{color:#959a9b}.contact-form .form-note{font-size:12px;color:#777f80;line-height:1.6;margin-top:-7px}.contact-form>.button{align-self:flex-start}.email-fallback{font-size:13px;border-top:1px solid var(--rule);padding-top:20px}.email-fallback p{margin-bottom:15px;color:var(--muted)}.email-fallback a{text-decoration:underline}.email-fallback textarea{font-size:13px;background:transparent}.email-fallback .inline-link{border:0;border-bottom:1px solid #aab0af;background:none;padding:5px 0;margin-top:10px;font-size:13px}.email-fallback [role="status"]{font-size:12px;margin-left:12px}
.site-footer{max-width:1396px;margin:auto;padding:0 54px 24px}.footer-top{border-top:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;gap:30px;padding:32px 0 37px}.footer-top .brand img{width:36px;height:36px}.footer-top .brand span{font-size:17px;letter-spacing:-.4px}.footer-top>p{font-size:13px;color:#777c7e}.back-top{font-size:12px;display:flex;gap:18px;align-items:center}.back-top span{font-size:18px}.footer-bottom{display:flex;align-items:center;gap:25px;padding-top:20px;border-top:1px solid var(--rule);font-size:11px;line-height:1.5;color:#858a8b}.footer-bottom .image-note{margin-left:auto}.footer-bottom a{color:#5c6466}.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.js-motion .reveal.is-visible{opacity:1;transform:none}@keyframes detail-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.hero-stage{padding-top:55px}.hero-gallery{margin-top:42px}.hero-description{margin:24px auto 28px}}
@media(max-height:800px) and (min-width:901px){.hero-stage{min-height:850px;padding-top:20px}.focus-hero h1{font-size:clamp(52px,5.5vw,80px)}.hero-description{font-size:18px;margin:15px auto 18px}.hero-gallery{margin-top:28px;min-height:425px}.hero-bottom{padding-top:20px}}
@media(max-width:1100px){.header-inner{padding:0 32px}.desktop-nav{gap:23px}.header-actions{gap:20px}.brand span{font-size:20px}.focus-hero{min-height:1080px;height:calc(100svh + 280px)}.hero-stage{min-height:750px}.hero-gallery{width:99%;max-height:440px}.section{padding-left:38px;padding-right:38px}.services-layout,.additional-services,.contact-layout{gap:55px}.hero-bottom{width:calc(100% - 76px)}.software-panel{padding:55px 48px;gap:45px}.future-section{padding-right:42px}.future-section+ .future-section{padding-left:42px}.site-footer{padding-left:38px;padding-right:38px}}
@media(max-width:850px){:root{--header-h:76px}.header-inner{padding:0 24px;gap:20px}.desktop-nav{display:none}.menu-toggle{display:block}.header-actions{gap:18px}.brand img{width:39px;height:39px}.brand span{font-size:21px}.language{display:none}.button-small{min-height:39px;padding:8px 22px}.mobile-nav{display:flex;position:fixed;top:var(--header-h);bottom:0;left:0;right:0;flex-direction:column;gap:0;padding:32px;background:var(--paper);overflow-y:auto}.mobile-nav>a{display:flex;justify-content:space-between;align-items:center;padding:19px 0;font-size:32px;letter-spacing:-.04em;border-bottom:1px solid var(--rule)}.mobile-nav>a span{font-size:12px;color:#929797;letter-spacing:0}.mobile-nav p{margin-top:30px;font-size:13px;color:var(--muted)}.focus-hero{height:auto;min-height:0;max-height:none}.hero-stage{position:relative;top:0;height:auto;max-height:none;min-height:0;padding-top:54px}.hero-copy{transform:none!important}.focus-hero h1{font-size:clamp(44px,7.7vw,65px)}.hero-description{font-size:19px;margin:22px auto}.hero-gallery{flex:none;height:460px;min-height:0;margin-top:46px;width:100%}.card-center{left:30%;width:40%}.card-left{left:-2%;width:40%;height:83%;top:12%}.card-right{right:-2%;width:40%;height:83%;top:12%}.hero-bottom{padding:32px 0 20px}.motion-control{display:none}.scroll-cue{position:static;transform:none}.section{padding:72px 32px}.section-marker{margin-bottom:42px}.services-layout,.additional-services,.contact-layout{grid-template-columns:1fr;gap:36px}.section-intro{position:static}.section-intro h2{font-size:43px}.section-intro>p:not(.eyebrow){max-width:520px}.availability{margin-top:22px;padding-top:14px}.services-layout .service-list{margin-top:14px}.additional-services{gap:26px;margin-top:56px}.additional-list{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.additional-list summary{font-size:15px;min-height:61px}.software-section{padding-top:24px;padding-bottom:50px}.software-panel{padding:42px;grid-template-columns:1fr 1fr;gap:30px}.software-panel h2{font-size:70px}.software-tagline{font-size:24px}.software-description>p{font-size:16px}.software-description .button{padding:12px 19px;font-size:13px;gap:12px}.future-grid{grid-template-columns:1fr 1fr;padding-top:16px}.future-section{padding-right:30px}.future-section+ .future-section{padding-left:30px}.future-section h2{font-size:30px}.future-section>p{font-size:15px}.contact-section{padding-top:10px}.contact-layout{gap:42px}.contact-intro h2{font-size:54px}.contact-intro address{margin:24px 0 16px}.contact-form{max-width:none}.footer-top{flex-wrap:wrap;gap:22px}.footer-top>p{order:3;width:100%}.site-footer{padding-left:32px;padding-right:32px}}
@media(max-width:520px){:root{--header-h:72px}html{scroll-padding-top:92px}.header-inner{padding:0 19px}.brand{gap:8px}.brand img{width:35px;height:35px}.brand span{font-size:18px;letter-spacing:-.6px}.header-actions{gap:9px}.button-small{padding:8px 16px;font-size:12px;min-height:36px}.hero-stage{padding-top:40px}.hero-copy{padding:0 16px}.focus-hero h1{font-size:clamp(34px,8.7vw,46px);letter-spacing:-.059em;gap:7px}.focus-line{border-radius:12px;padding:.025em .3em .085em}.hero-description{font-size:16px;line-height:1.5;margin:22px auto 23px;letter-spacing:-.02em}.hero-actions{gap:17px}.hero-actions .button{padding:12px 18px;min-height:46px;font-size:12px;gap:14px}.hero-actions .text-link{font-size:12px;gap:7px}.hero-gallery{height:350px;margin-top:34px;width:100%}.image-card{border-width:5px;border-radius:17px}.card-center{left:22%;width:56%;height:100%}.card-left{left:-16%;width:48%;height:80%;top:13%;transform:rotate(-9deg)!important}.card-right{right:-16%;width:48%;height:80%;top:13%;transform:rotate(9deg)!important}.image-card figcaption{display:none}.hero-bottom{width:calc(100% - 42px);font-size:10px;letter-spacing:0;padding:25px 0 12px}.scroll-cue{gap:7px}.section{padding:62px 23px}.section-marker{font-size:10px;letter-spacing:.1em;gap:15px;margin-bottom:34px;padding-top:19px}.section-marker span+span{font-size:11px;letter-spacing:0;max-width:145px;text-align:right}.section-intro h2{font-size:38px}.section-intro>p:not(.eyebrow){font-size:16px;line-height:1.65;margin-top:21px}.eyebrow{font-size:10px;margin-bottom:16px}.availability{font-size:11px}.service-detail summary{padding:23px 0;gap:14px}.service-detail h3{font-size:22px}.detail-body{padding-left:0;padding-right:12px}.detail-body p{font-size:14px}.detail-body li{font-size:12px}.additional-services{margin-top:45px}.additional-list{grid-template-columns:1fr}.additional-list summary{font-size:16px}.additional-list p{font-size:14px}.additional-heading h3{font-size:26px}.software-section{padding-top:10px;padding-bottom:38px}.software-panel{padding:34px 28px;grid-template-columns:1fr;gap:35px;border-radius:21px}.software-panel h2{font-size:72px;margin-top:23px}.software-tagline{font-size:26px}.software-description>p{font-size:17px}.software-description>p.subtle{margin:16px 0 24px}.future-grid{padding-top:16px;grid-template-columns:1fr;gap:40px;padding-bottom:58px}.future-section,.future-section+ .future-section{padding-left:0;padding-right:0;border-left:0}.future-section+ .future-section{border-top:1px solid var(--rule);padding-top:38px}.future-section .section-marker{margin-bottom:27px}.future-section h2{font-size:35px;margin-top:22px}.future-section>p{font-size:16px}.future-section .inline-link{margin-top:23px}.contact-section{padding-top:14px}.contact-intro h2{font-size:45px}.contact-intro>p{font-size:17px}.contact-email{font-size:19px}.contact-form{gap:22px}.form-row{grid-template-columns:1fr;gap:22px}.contact-form label{font-size:13px}.contact-form input,.contact-form select,.contact-form textarea{font-size:16px}.site-footer{padding:0 23px 23px}.footer-top{padding:25px 0;gap:20px}.footer-top .brand span{font-size:16px}.footer-top>p{font-size:12px}.footer-bottom{flex-wrap:wrap;gap:10px 16px;font-size:10px}.footer-bottom>span:first-child{width:100%}.footer-bottom .image-note{margin-left:0}.footer-bottom a{margin-left:auto}.back-top{font-size:11px}}
.focus-hero h1{letter-spacing:-.045em;word-spacing:.07em}h2{word-spacing:.03em}.card-center{left:35%;width:30%}.card-center img{object-position:center top}.hero-gallery:before{pointer-events:none}.hero-bottom{position:relative;z-index:4}.draft-actions{display:flex;gap:25px;align-items:center}.draft-actions a{text-decoration:none}
@media(min-width:851px){.hero-stage{min-height:870px}.hero-gallery{min-height:430px}}
@media(max-width:850px){.card-center{left:30%;width:40%}.mobile-nav{bottom:auto;height:calc(100vh - var(--header-h));height:calc(100dvh - var(--header-h))}}
@media(max-width:520px){.card-center{left:22%;width:56%}}
html.motion-paused .hero-copy,html.motion-paused .image-card{will-change:auto}html.motion-paused .reveal{opacity:1;transform:none;transition:none}html.motion-paused{scroll-behavior:auto}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.focus-hero{height:auto;min-height:0}.hero-stage{position:relative;top:0;min-height:850px;height:auto}.hero-gallery{flex:none;height:450px}.hero-copy{transform:none!important}.image-card{will-change:auto}.card-center{transform:none!important}.card-left{transform:rotate(-7deg)!important}.card-right{transform:rotate(7deg)!important}.js-motion .reveal{opacity:1;transform:none;transition:none}.focus-line span{transition:none}.button{transition:none}.detail-body{animation:none}.motion-control{display:none}}
@media(prefers-reduced-motion:reduce) and (max-width:520px){.hero-stage{min-height:0}.hero-gallery{height:350px}}

/* Shared Focus chrome for the existing multi-page website. */
body.focus-site{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}
.focus-site h1,.focus-site h2,.focus-site h3{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Helvetica,Arial,sans-serif}
.focus-site .site-header{display:block;padding:0;min-height:0;height:var(--header-h);border-bottom:1px solid #dfdfd780;background:rgba(255,255,255,.93);box-shadow:none}
.focus-site .header-inner{max-width:1500px;width:100%;gap:32px}
.focus-site .brand{min-width:0;gap:10px;white-space:nowrap;color:var(--ink)}
.focus-site .brand img{width:44px;height:44px;border:0;border-radius:0;filter:none;box-shadow:none}
.focus-site .brand span{font-size:22px;letter-spacing:-.7px;line-height:1;font-weight:610;display:block}
.focus-site .main-nav{display:flex;align-items:center;justify-content:center;gap:28px;margin-left:auto;padding:0;background:none;border:0;box-shadow:none;position:static;transform:none}
.focus-site .main-nav a{display:inline-flex;padding:7px 0;font-size:14px;font-weight:450;line-height:1.6;color:var(--ink);border-radius:0;border-bottom:1px solid transparent;background:none;white-space:nowrap}
.focus-site .main-nav a:hover,.focus-site .main-nav a.active{border-bottom-color:var(--ink);background:none}
.focus-site .main-nav a.nav-contact{padding:10px 25px;background:var(--ink);color:#fff;border-radius:40px;border:1px solid var(--ink)}
.focus-site .main-nav a.nav-contact:hover{background:#333}
.focus-site .main-nav a.mobile-secondary{display:none}
.focus-site .header-actions{gap:18px;flex-shrink:0}
.focus-site .lang-switch{display:flex;align-items:center;gap:7px;margin:0;padding:0;white-space:nowrap}
.focus-site .lang-switch a{min-width:0;padding:4px 0;border:0;background:none;border-radius:0;color:#848681;font-size:11px;line-height:1.5;font-weight:450}
.focus-site .lang-switch a.active{color:var(--ink);font-weight:600}
.focus-site .lang-switch span{font-size:10px;color:#bbbdb8}
.focus-site .nav-toggle{display:none;width:40px;height:40px;padding:0;position:relative;border:0;background:none;border-radius:0;flex-shrink:0}
.focus-site .nav-toggle span{display:block;position:absolute;left:9px;right:9px;top:16px;width:auto;height:1.5px;margin:0;background:var(--ink);transition:transform .2s}
.focus-site .nav-toggle span+span{top:23px}
.focus-site .nav-toggle[aria-expanded="true"] span{transform:translateY(3.5px) rotate(45deg)}
.focus-site .nav-toggle[aria-expanded="true"] span+span{transform:translateY(-3.5px) rotate(-45deg)}
.focus-site .button.primary{background:var(--ink);color:white;border:1px solid var(--ink);border-radius:99px;box-shadow:none}
.focus-site .button.secondary{background:transparent;color:var(--ink);border:1px solid #c8cac5;border-radius:99px;box-shadow:none}
.focus-site .site-footer{display:block;background:var(--paper);color:var(--ink);border:0;max-width:1396px;margin:0 auto;padding:0 54px 28px}
.focus-site .site-footer a{display:inline-flex;margin:0;color:inherit}
.focus-site .footer-top{display:flex;align-items:center;gap:30px;border-top:1px solid var(--rule);padding:30px 0}
.focus-site .footer-top .brand img{width:36px;height:36px}
.focus-site .footer-top .brand span{font-size:17px}
.focus-site .footer-top>p{margin:0;color:var(--muted);font-size:12px}
.focus-site .footer-links{display:flex;gap:28px;font-size:13px}
.focus-site .footer-links a:hover{text-decoration:underline;text-underline-offset:5px}
.focus-site .footer-contact{display:flex;justify-content:space-between;gap:25px;padding:0 0 28px;font-size:12px;line-height:1.8;color:#707571}
.focus-site .footer-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:22px;font-size:11px;color:#6e736f;padding-top:18px}
.focus-site .footer-bottom .back-top{margin-left:auto}
.focus-site .footer-bottom .image-note{margin-left:0}
.focus-site .all-services{display:flex;margin-top:25px;font-size:14px}
.focus-site .home-contact{padding-bottom:120px}
.focus-site .home-contact .contact-intro{text-align:center;max-width:720px;margin:0 auto}
.focus-site .home-contact .contact-intro>p{margin:25px auto 28px;max-width:450px}
.focus-site .home-contact-email{display:block;margin-top:24px;font-size:15px;color:var(--muted)}
/* Compact, non-modal cookie bar shared by every page. */
.focus-site .cookie-consent{position:fixed;z-index:80;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:none;margin:0;padding:12px max(24px,calc((100vw - 1288px)/2));padding-bottom:max(12px,env(safe-area-inset-bottom));border:0;border-top:1px solid #e7e8e7;border-radius:0;background:#fff;color:var(--ink);box-shadow:none}
.focus-site .cookie-consent[hidden]{display:none}
.focus-site .cookie-consent__content{max-width:none;min-width:0;flex:1}
.focus-site .cookie-consent h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.focus-site .cookie-consent p{font-size:12px;line-height:1.5;font-weight:400;color:#626865;margin:0}
.focus-site .cookie-consent a{color:var(--ink);font-weight:400;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.focus-site .cookie-consent__actions{display:flex;align-items:center;flex:0 0 auto;gap:8px;margin:0}
.focus-site .cookie-consent__button{min-width:88px;min-height:44px;width:auto;padding:10px 18px;font:inherit;font-size:12px;line-height:1.4;font-weight:500;border-radius:24px;border:1px solid #cbd0cc;background:#fff;color:var(--ink);white-space:nowrap;cursor:pointer}
.focus-site .cookie-consent__button:hover{background:#f5f6f5;border-color:#8d9690}
.focus-site .cookie-consent__button:focus-visible,.focus-site .cookie-settings-link:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.focus-site .cookie-settings-link{appearance:none;border:0;padding:0;background:none;color:inherit;font:inherit;cursor:pointer;text-underline-offset:3px}
.focus-site .cookie-settings-link:hover{text-decoration:underline}
@media(max-width:600px){
 .focus-site .cookie-consent{flex-direction:column;align-items:stretch;gap:10px;padding:12px 20px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
 .focus-site .cookie-consent__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .focus-site .cookie-consent__button{width:100%}
}
@media print{.focus-site .cookie-consent,.focus-site .cookie-settings-link{display:none}}
@media(max-width:1050px){
 .focus-site .header-inner{padding:0 28px;gap:20px}.focus-site .header-actions{margin-left:auto}
 .focus-site .nav-toggle{display:block}.focus-site .main-nav{display:none}
 .focus-site .main-nav.open{display:flex;position:fixed;top:var(--header-h);left:0;right:0;height:calc(100dvh - var(--header-h));bottom:auto;overflow-y:auto;overscroll-behavior:contain;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:24px 30px 80px;background:var(--paper);border:0}
 .focus-site .main-nav a,.focus-site .main-nav a.nav-contact{display:block;padding:14px 0;border:0;border-bottom:1px solid var(--rule);border-radius:0;background:none;color:var(--ink);font-size:32px;letter-spacing:-.04em;line-height:1.35;white-space:normal}
 .focus-site .main-nav a.nav-contact:hover{background:none}
 .focus-site .main-nav a.mobile-secondary{display:block;font-size:18px;padding:16px 0;color:var(--muted)}
 .focus-site .main-nav a.active{color:#626d72;border-bottom-color:var(--rule)}
 body.focus-site.nav-open{overflow:hidden}
}
@media(max-width:700px){.focus-site .footer-contact{flex-direction:column;gap:12px}.focus-site .footer-top{flex-wrap:wrap;justify-content:space-between}.focus-site .footer-top>p{order:3;width:100%}.focus-site .footer-links{gap:18px;font-size:12px}.focus-site .site-footer{padding:0 24px 24px}.focus-site .footer-bottom{font-size:10px;gap:12px}.focus-site .footer-bottom .image-note{display:none}.focus-site .footer-bottom>span:first-child{width:100%}}
@media(max-width:520px){.focus-site .header-inner{padding:0 19px;gap:12px}.focus-site .brand img{width:35px;height:35px}.focus-site .brand span{font-size:18px}.focus-site .header-actions{gap:10px}.focus-site .lang-switch{gap:6px}.focus-site .lang-switch a{font-size:10px}.focus-site .nav-toggle{width:33px}.focus-site .main-nav a{font-size:29px}.focus-site .home-contact{padding-bottom:72px}.focus-site .footer-top .brand span{font-size:15px}.focus-site .footer-links{gap:14px;font-size:11px}html[lang="hu"] .focus-hero h1{font-size:clamp(34px,8.4vw,44px)}}
@media(prefers-reduced-motion:reduce){.focus-site *, .focus-site *::before,.focus-site *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Clear legacy navigation decoration at intermediate widths. */
.focus-site .main-nav{flex-direction:row}
.focus-site .main-nav a,.focus-site .main-nav a.active{box-shadow:none}
.focus-site .main-nav a::before,.focus-site .main-nav a::after{display:none}
.focus-site .lang-switch{background:transparent;border:0;border-radius:0;box-shadow:none}
.focus-site .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:1}
@media(max-width:1050px){.focus-site .main-nav.open{flex-direction:column}}
.focus-site .motion-control{scroll-margin-top:calc(var(--header-h) + 28px);scroll-margin-bottom:28px}

/* Give the additional Home link room before the mobile menu takes over. */
@media(min-width:1051px) and (max-width:1200px){.focus-site .header-inner{padding-inline:34px;gap:22px}.focus-site .main-nav{gap:20px}.focus-site .main-nav a{font-size:13px}.focus-site .main-nav a.nav-contact{padding-inline:20px}}

/* Official company artwork: frame the transparent source margins without altering the PNG. */
.focus-site .brand .brand-mark{position:relative;display:block;flex:none;width:calc(44px * 920 / 1040);height:44px;overflow:hidden}
.focus-site .brand .brand-mark img{position:absolute;left:-50.543478%;top:-17.980769%;width:217.391304%;height:135.961538%;max-width:none;object-fit:fill}
.focus-site .brand .brand-name{display:flex;align-items:baseline;gap:.3em;font-size:22px;line-height:1.1;letter-spacing:-.7px;font-weight:610}
.focus-site .brand-name small{display:block;text-transform:none;font-size:17px;font-weight:450;letter-spacing:-.3px;line-height:1.15}
.focus-site .footer-top .brand .brand-mark{width:calc(36px * 920 / 1040);height:36px}
.focus-site .footer-top .brand .brand-name{flex-direction:column;align-items:flex-start;gap:4px;font-size:17px;letter-spacing:-.4px}
.focus-site .footer-top .brand-name small{font-size:12px;letter-spacing:0}
@media(max-width:1250px){
 .focus-site .brand .brand-name{flex-direction:column;align-items:flex-start;gap:4px;font-size:21px}
 .focus-site .brand-name small{font-size:12px;letter-spacing:0}
}
@media(max-width:520px){
 .focus-site .brand{gap:8px}
 .focus-site .brand .brand-mark{width:calc(35px * 920 / 1040);height:35px}
 .focus-site .brand .brand-name{font-size:18px;gap:3px;letter-spacing:-.5px}
 .focus-site .brand-name small{font-size:10px;letter-spacing:0}
 .focus-site .header-actions{flex-shrink:0}
 .focus-site .footer-top .brand .brand-name{font-size:17px}
}

/* English-only navigation for the initial release; the language switch can be restored later. */
@media(min-width:1051px){.focus-site .header-actions:has(.lang-switch[hidden]){display:none}}
