@font-face{font-family:Manrope;src:url('assets/manrope-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-800.ttf') format('truetype');font-weight:800;font-display:swap}
@font-face{font-family:Arabic;src:url('assets/arabic-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Arabic;src:url('assets/arabic-700.ttf') format('truetype');font-weight:700 800;font-display:swap}
:root{--yellow:#f2cf52;--ink:#24271f;--paper:#f8f7ef;--muted:#555b4c;--rule:#d9dbcd;--gutter:clamp(22px,4.4vw,76px);--ease:cubic-bezier(.23,1,.32,1);font-family:Manrope,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth;scrollbar-color:var(--ink) var(--yellow)}
*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}button:disabled{cursor:wait}::selection{background:var(--ink);color:var(--yellow)}:focus-visible{outline:3px solid currentColor;outline-offset:5px}h1,h2,h3,p{margin:0}p{line-height:1.65}h1,h2,h3{text-wrap:balance}h1{font-size:clamp(62px,7.6vw,116px);line-height:1.04;letter-spacing:-.055em;font-weight:800}h2{font-size:clamp(34px,4.5vw,64px);line-height:1.12;letter-spacing:-.04em}h3{font-size:23px;line-height:1.35;letter-spacing:-.025em}section{scroll-margin-top:28px}a{text-decoration-thickness:1px;text-underline-offset:5px}a:hover{text-decoration-thickness:2px}.wrap{max-width:1600px;margin-inline:auto;padding-inline:var(--gutter)}.icon{display:inline-block;flex:none;width:22px;height:22px;stroke:currentColor;stroke-width:1.6;fill:none}.skip{position:absolute;inset-block-start:-100px;inset-inline-start:20px;padding:12px;background:var(--ink);color:white;z-index:20}.skip:focus{inset-block-start:12px}.top{background:var(--yellow)}header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #24271f66;gap:30px}.brand{text-decoration:none;display:inline-flex;flex-direction:column;align-items:center;line-height:1;direction:ltr;flex:none}.brand strong{font-size:44px;letter-spacing:-.065em;font-weight:800}.brand em{font-size:10px;font-style:normal;letter-spacing:.44em;margin-top:8px;margin-left:7px}.nav{display:flex;align-items:center;gap:34px}.nav a{text-decoration:none;font-size:14px;font-weight:600}.nav a:hover{text-decoration:underline}.language{background:transparent;border:0;border-inline-start:1px solid #24271f66;padding:12px 0 12px 25px;min-height:44px;font-size:14px}.language b{font-weight:800}.language span{margin-inline:6px}.menu{display:none;background:none;border:0;min-height:44px;min-width:44px}.hero{position:relative;min-height:760px;isolation:isolate;padding-top:72px;padding-bottom:90px;overflow:hidden}.hero-copy{position:relative;z-index:2;max-width:1080px;pointer-events:none}.hero-copy a{pointer-events:auto}.hero h1{max-width:1000px}.hero p{max-width:550px;font-size:20px;line-height:1.5;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:27px;background:var(--ink);color:var(--paper);text-decoration:none;border:1px solid var(--ink);border-radius:6px;padding:18px 23px;font-weight:600;font-size:15px;min-height:54px;transition:background .18s,color .18s,transform .15s var(--ease)}.button:hover{background:#3d4434;text-decoration:none}.button:active{transform:scale(.98)}.hero .button{margin-top:32px}.cord{position:absolute;width:78%;max-width:1170px;height:auto;inset-inline-end:-5%;top:150px;z-index:0;pointer-events:none}.cord-note{position:absolute;right:8%;bottom:125px;font-size:14px;transform:rotate(-5deg)}.proof-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:24px;border-top:1px solid #24271f66;font-size:14px}.proof-strip strong{font-weight:800;font-size:20px}.proof-strip p{margin-inline-end:auto}.text-link{display:inline-flex;align-items:center;gap:14px;font-weight:600;text-decoration:none}.text-link:hover{text-decoration:underline}.section{padding-block:110px}.section-heading{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:60px;margin-bottom:60px}.section-heading p{max-width:410px;color:var(--muted);font-size:17px}.services{border-top:1px solid var(--rule)}.service{border-bottom:1px solid var(--rule)}.service summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr 1.3fr auto;gap:30px;align-items:center;padding-block:27px;min-height:90px}.service summary::-webkit-details-marker{display:none}.service summary .category{font-size:13px;color:var(--muted);font-weight:600}.service summary strong{font-size:clamp(20px,2.2vw,29px);font-weight:600;letter-spacing:-.025em}.plus{font-size:28px;line-height:1;font-weight:400;width:24px;transition:transform .2s var(--ease)}.service[open] .plus{transform:rotate(45deg)}.service-body{max-width:640px;margin-inline-start:43.5%;padding-block:0 28px;color:var(--muted)}.service-body p{font-size:16px;margin-bottom:15px}.service-body a{color:var(--ink);font-size:14px}.project{background:var(--ink);color:var(--paper);overflow:hidden}.project-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.project h2{margin-top:22px;font-size:clamp(36px,4.2vw,60px)}.project-name{font-size:20px;font-weight:800;color:var(--yellow)}.project-copy p{margin-top:25px;color:#d5d8cb;font-size:17px;max-width:520px}.project-copy .text-link{margin-top:30px;color:var(--yellow)}.demo{background:var(--paper);color:var(--ink);padding:32px;border-radius:8px}.demo-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.demo-head strong{font-size:24px;letter-spacing:-.025em}.demo-head span{font-size:11px;background:#e8e9dc;padding:6px 9px;border-radius:4px}.search-label{font-size:13px;display:block;font-weight:600;margin-bottom:8px}.search-wrap{position:relative}.search-wrap .icon{position:absolute;inset-inline-end:13px;top:14px;opacity:.7}.demo input{width:100%;padding:14px 46px 14px 14px;border:1px solid #bdc3ae;background:white;color:var(--ink);border-radius:5px;min-width:0;font-size:14px}.invoice-list{min-height:236px;margin-top:12px}.invoice{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--rule);padding-block:18px}.invoice .file{width:33px;height:40px;border:1px solid #9ba18e;display:grid;place-items:center;border-radius:3px}.invoice strong{display:block;font-size:14px}.invoice small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.invoice b{margin-inline-start:auto;font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.empty{padding:35px 0;color:var(--muted);font-size:14px}.demo-note{font-size:11px!important;line-height:1.5;margin-top:17px;color:var(--muted)!important}.demo-status{font-size:12px;color:var(--muted);margin-top:10px}.process-head{max-width:700px;margin-bottom:60px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;counter-reset:steps}.step{border-top:1px solid #aeb5a0;padding-top:22px}.step::before{counter-increment:steps;content:'0' counter(steps);font-size:12px;display:block;margin-bottom:40px}.step p{font-size:15px;color:var(--muted);margin-top:17px}.faq-section{padding-top:10px}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-layout h2{font-size:42px;max-width:400px}.faq{border-bottom:1px solid var(--rule)}.faq:first-child{border-top:1px solid var(--rule)}.faq summary{cursor:pointer;list-style:none;padding-block:24px;display:flex;justify-content:space-between;gap:24px;font-size:18px;font-weight:600}.faq summary::-webkit-details-marker{display:none}.faq p{padding-bottom:24px;color:var(--muted);font-size:15px}.faq[open] .plus{transform:rotate(45deg)}.contact{background:var(--yellow)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact h2{font-size:clamp(42px,5vw,72px);max-width:600px}.contact-intro{font-size:18px;max-width:420px;margin-top:25px}.prototype-note{margin-top:35px;border-top:1px solid #24271f55;padding-top:20px;max-width:420px;font-size:13px;line-height:1.6}.prototype-note strong{display:block;margin-bottom:5px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}label{display:block;font-size:13px;font-weight:600;margin-bottom:23px}form input,form textarea{display:block;width:100%;margin-top:9px;border:0;border-bottom:1px solid #24271f88;border-radius:0;background:transparent;min-height:48px;padding:10px 0;color:var(--ink);caret-color:var(--ink);font-weight:400;font-size:16px}form textarea{resize:vertical;min-height:116px}form input::placeholder,form textarea::placeholder{color:#5b5435;opacity:1}.form-result{margin-top:15px;font-size:14px;min-height:23px}footer{background:var(--ink);color:var(--paper);padding-block:38px}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-row .brand strong{font-size:33px}.footer-row p{font-size:12px;color:#c1c5b5}.footer-row a:not(.brand){font-size:13px}.case-top{background:var(--yellow);padding-block:50px 70px}.case-back{margin-bottom:55px;font-size:14px}.case-top h1{font-size:clamp(60px,9vw,130px)}.case-top p{font-size:clamp(24px,3vw,40px);line-height:1.35;max-width:870px;margin-top:28px;letter-spacing:-.025em}.case-summary{display:grid;grid-template-columns:1fr 2fr;gap:80px}.case-summary h2{font-size:38px}.case-summary p{font-size:20px;max-width:700px}.case-points{margin:35px 0 0;padding:0;list-style:none}.case-points li{padding-block:18px;border-bottom:1px solid var(--rule);font-size:16px;display:flex;gap:18px}.case-points .icon{color:#5b6b30}.case-proof{background:#edeee3}.case-proof .demo{max-width:620px;margin:45px auto 0;border:1px solid var(--rule)}.case-proof h2{text-align:center;max-width:850px;margin-inline:auto}.case-proof>div>p{text-align:center;max-width:650px;margin:25px auto 0;color:var(--muted)}.case-outcomes{max-width:1000px}.case-outcomes p{margin-top:28px;font-size:18px}.case-outcomes small{display:block;margin-top:20px;color:var(--muted);font-size:13px}.case-cta{margin-top:40px}.reduced{animation:none!important}
[dir=rtl]{font-family:Arabic,Manrope,sans-serif}[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3,[dir=rtl] .service summary strong,[dir=rtl] .case-top p{letter-spacing:0;line-height:1.45}[dir=rtl] h1{font-size:clamp(54px,6vw,91px)}[dir=rtl] .brand{font-family:Manrope,sans-serif}[dir=rtl] .language{padding-inline:25px 0}[dir=rtl] .hero-copy{max-width:900px}[dir=rtl] .hero p{line-height:1.8;max-width:570px}[dir=rtl] .hero{min-height:810px}[dir=rtl] .cord{transform:scaleX(-1)}[dir=rtl] .cord-note{right:auto;left:8%}[dir=rtl] .hero-copy .button{position:relative;z-index:3}[dir=rtl] .demo input{padding-inline:14px 46px}[dir=rtl] .step::before{font-family:Manrope,sans-serif}
@media(min-width:1600px){.hero{min-height:810px}.cord{top:100px}.hero h1{max-width:1100px}}
@media(max-width:1000px){.nav{gap:22px}.hero{min-height:700px;padding-top:55px}.hero h1{max-width:790px}.cord{width:93%;top:240px;inset-inline-end:-15%}.cord-note{bottom:65px}.hero p{max-width:470px;font-size:18px}.section{padding-block:80px}.section-heading{gap:35px}.project-inner{gap:35px}.demo{padding:23px}.contact-grid{gap:45px}.faq-layout{gap:40px}.steps{gap:28px}[dir=rtl] .hero{min-height:830px}[dir=rtl] .cord{top:355px}}
@media(max-width:700px){header{height:87px;gap:15px}.brand strong{font-size:33px}.brand em{font-size:8px}.nav{margin-inline-start:auto;gap:12px}.nav>a{display:none}.language{font-size:13px;border:0;padding-inline:0!important}.menu{display:inline-flex;align-items:center;justify-content:center}.nav.open{position:absolute;left:0;right:0;top:86px;background:var(--yellow);padding:24px var(--gutter);z-index:10;display:flex;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--ink)}.nav.open>a{display:block;padding:10px 0}.nav.open .language{text-align:start}.hero{padding-top:42px;min-height:610px;padding-bottom:230px}.hero h1{font-size:clamp(53px,10.5vw,72px);letter-spacing:-.055em;line-height:1.08;max-width:620px}.hero p{font-size:16px;max-width:350px;margin-top:25px}.hero .button{margin-top:26px;padding:16px 18px;font-size:14px;gap:20px}.cord{width:138%;max-width:none;top:auto;bottom:-40px;inset-inline-end:-29%;}.cord-note{bottom:76px;right:9%;font-size:12px}.proof-strip{flex-wrap:wrap;padding-block:21px;gap:8px 18px}.proof-strip strong{font-size:18px}.proof-strip p{order:3;flex-basis:100%;font-size:12px}.proof-strip .text-link{font-size:12px;margin-inline-start:auto}.proof-strip .icon{width:17px}.section{padding-block:65px}.section-heading{display:block;margin-bottom:35px}.section-heading h2{font-size:38px;max-width:440px}.section-heading p{margin-top:22px;font-size:15px}.service summary{grid-template-columns:1fr auto;gap:8px 20px;padding-block:23px}.service summary .category{grid-column:1;font-size:11px}.service summary strong{grid-column:1;font-size:22px}.service summary .plus{grid-column:2;grid-row:1 / span 2}.service-body{margin-inline-start:0;padding-bottom:24px}.service-body p{font-size:15px}.project-inner{grid-template-columns:1fr;gap:36px}.project h2{font-size:38px}.project-copy p{font-size:15px}.demo{padding:22px 18px}.demo-head strong{font-size:22px}.invoice strong{font-size:12px}.invoice b{font-size:11px}.invoice{gap:9px}.invoice-list{min-height:235px}.demo-head span{font-size:10px}.process-head{margin-bottom:38px}.steps{grid-template-columns:1fr;gap:27px}.step{position:relative;padding-inline-start:47px}.step::before{position:absolute;inset-inline-start:0;top:26px}.step p{margin-top:10px}.step h3{font-size:22px}.faq-layout{grid-template-columns:1fr;gap:30px}.faq-layout h2{font-size:38px}.faq summary{font-size:16px}.contact-grid{grid-template-columns:1fr;gap:40px}.contact h2{font-size:44px}.contact-intro{font-size:16px}.prototype-note{margin-top:25px;font-size:12px}.form-row{grid-template-columns:1fr;gap:0}.footer-row{flex-wrap:wrap}.footer-row p{order:3;flex-basis:100%}.case-top{padding-block:30px 45px}.case-back{margin-bottom:40px}.case-top h1{font-size:clamp(42px,10vw,65px);letter-spacing:-.055em}.case-top p{font-size:26px}.case-summary{grid-template-columns:1fr;gap:26px}.case-summary h2{font-size:32px}.case-summary p{font-size:17px}.case-proof h2{font-size:33px}.case-proof>div>p{font-size:15px}.case-outcomes h2{font-size:34px}.case-outcomes p{font-size:16px}[dir=rtl] .hero{min-height:680px;padding-bottom:260px}[dir=rtl] .hero h1{font-size:47px;line-height:1.5}[dir=rtl] .hero p{font-size:16px}[dir=rtl] .cord{top:auto;bottom:-10px}[dir=rtl] .hero .button{font-size:13px}[dir=rtl] h2{font-size:34px}[dir=rtl] .case-top h1{font-size:48px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}


/* The portfolio supports the services without dominating the homepage. */
.service-note{margin-top:28px;font-size:15px;color:var(--muted)}
.work-section{padding-block:0 70px}
.work-section>h2{font-size:32px;margin-bottom:32px}
.work-entry{display:grid;grid-template-columns:1fr 1.25fr;gap:60px;align-items:center;border-block:1px solid var(--rule);padding-block:32px}
.work-cover{background:var(--ink);color:var(--paper);min-height:220px;padding:32px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative;direction:ltr}
.work-cover>span:first-child{font:800 clamp(26px,3.3vw,48px)/1.1 Manrope,sans-serif;letter-spacing:-.04em;color:var(--yellow)}
.cover-caption{position:absolute;bottom:24px;font:400 11px Manrope,sans-serif;color:#d5d8cb}
.work-description h3{font-family:Manrope,sans-serif;font-size:28px;text-align:start}
.work-description .work-type{font-size:13px;margin-top:7px;color:var(--muted)}
.work-description>p:not(.work-type){font-size:17px;max-width:520px;margin-top:20px}
.work-description .text-link{margin-top:24px;font-size:14px}
@media(max-width:700px){.work-section{padding-bottom:25px}.work-entry{grid-template-columns:1fr;gap:26px;padding-block:24px}.work-cover{min-height:170px;padding:26px}.work-cover>span:first-child{font-size:32px}.work-section>h2{font-size:29px;margin-bottom:22px}.work-description>p:not(.work-type){font-size:15px}.work-description h3{font-size:25px}.service-note{font-size:14px}}
[dir=rtl] .work-description h3{text-align:right}

.project-media{aspect-ratio:16/9;background:var(--ink);color:var(--paper);overflow:hidden;min-width:0;border-radius:8px}.project-media video{display:block;width:100%;height:100%;object-fit:contain}.video-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px}.video-placeholder strong{font-size:26px;font-family:Manrope,sans-serif;letter-spacing:-.035em;color:var(--yellow)}.video-placeholder>span:last-child{font-size:12px;color:#d5d8cb}.video-frame{width:40px;height:40px;color:var(--yellow)}.video-frame svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.3;fill:none}.work-entry+.work-entry{border-top:0}.case-video{max-width:1050px;padding-top:60px}.case-video .video-placeholder strong{font-size:clamp(25px,4vw,48px)}.office-section{display:grid;grid-template-columns:1fr 1.25fr;gap:70px;align-items:center;padding-block:75px}.office-copy h2{font-size:38px}.office-copy p{margin-block:20px;color:var(--muted);max-width:340px}.map-card{border:1px solid var(--rule);border-radius:8px;overflow:hidden;background:#edeee3}.map-card iframe{display:block;width:100%;height:300px;border:0}.map-card>a{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;background:var(--paper);font-size:13px;text-decoration:none}.map-card>a:hover{text-decoration:underline}@media(max-width:700px){.office-section{grid-template-columns:1fr;gap:30px;padding-block:55px}.office-copy h2{font-size:32px}.map-card iframe{height:270px}.case-video{padding-top:35px}.video-placeholder strong{font-size:25px}}
/* Motion is feedback. No scroll interception, delayed pointer or hidden content. */
:root{--motion-fast:160ms;--motion-ui:220ms}
.button .icon,.text-link .icon,.map-card>a .icon{transition:transform var(--motion-ui) var(--ease)}
.service summary,.faq summary{transition:background var(--motion-fast) ease}
.nav a{position:relative}.nav a:after{content:'';position:absolute;inset-inline:0;bottom:-7px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--motion-ui) var(--ease)}
[dir=rtl] .nav a:after{transform-origin:right}
form input,form textarea{transition:border-color var(--motion-fast) ease,background var(--motion-fast) ease}
form input:focus,form textarea:focus{border-color:var(--ink);background:#ffffff1a}
@media(hover:hover) and (pointer:fine){
 body{cursor:url('assets/cursor.svg') 4 3,auto}
 a,button,summary{cursor:url('assets/cursor-link.svg') 4 3,pointer}
 input,textarea{cursor:text}video,iframe{cursor:auto}
 .button:hover .icon,.text-link:hover .icon,.map-card>a:hover .icon{transform:translate(3px,-3px)}
 .nav a:hover:after{transform:scaleX(1)}.nav a:hover{text-decoration:none}
 .service summary:hover,.faq summary:hover{background:#24271f06}
 .language:hover{opacity:.7}
}
@media(prefers-reduced-motion:no-preference){
 .page-ready .hero-copy{animation:hero-arrive 500ms var(--ease) both}
 @keyframes hero-arrive{from{transform:translateY(12px)}to{transform:translateY(0)}}
}
@media(prefers-reduced-motion:reduce){.button:hover .icon,.text-link:hover .icon,.map-card>a:hover .icon{transform:none}.page-ready .hero-copy{animation:none}}
@media(forced-colors:active){body,a,button,summary{cursor:auto}.loading-line:after{background:CanvasText}}

/* Fixed wordmark geometry, with no font loading shift. */
.brand .wordmark{display:block;width:148px;height:auto}.brand .wordmark-light{display:none}
footer .brand .wordmark-dark{display:none}footer .brand .wordmark-light{display:block;width:118px}
@media(max-width:700px){.brand .wordmark{width:111px}.nav{gap:8px}header{gap:8px}.language{min-width:78px}.work-description .text-link,.office-copy .text-link{min-height:44px}.service-body a{display:inline-flex;align-items:center;min-height:44px}.service-body{padding-bottom:16px}}
@media(max-width:360px){.hero h1{font-size:48px}.hero{min-height:620px}.hero p{font-size:15px}.brand .wordmark{width:101px}.language{min-width:70px;font-size:12px}[dir=rtl] .hero h1{font-size:43px}}

/* Supplied transparent yarn artwork; keep the ball clear of the copy. */
.cord{width:65%;max-width:900px;top:230px;inset-inline-end:-5%}
@media(min-width:1600px){.cord{top:200px}}
@media(min-width:701px) and (max-width:1000px){.cord{width:76%;top:330px;inset-inline-end:-9%}[dir=rtl] .cord{top:410px}}
@media(max-width:700px){.hero{min-height:760px}.cord{width:116%;top:auto;bottom:-16px;inset-inline-end:-20%}[dir=rtl] .hero{min-height:790px}[dir=rtl] .cord{top:auto;bottom:-16px}.cord-note{bottom:36px}[dir=rtl] .cord-note{bottom:36px}}
/* Standalone safe areas preserve zoom and document scrolling. */
body{padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
footer{padding-bottom:calc(38px + env(safe-area-inset-bottom))}
button{user-select:none}
.install-app{background:transparent;border:1px solid #c1c5b5;color:var(--paper);padding:12px 16px;border-radius:6px;font-size:13px;min-height:44px}
.install-app[hidden],.connection-status[hidden]{display:none}
.connection-status{position:fixed;bottom:calc(12px + env(safe-area-inset-bottom));inset-inline:16px;max-width:540px;margin-inline:auto;z-index:50;background:var(--ink);color:var(--paper);border:1px solid var(--paper);padding:12px 18px;border-radius:8px;font-size:13px;line-height:1.6;pointer-events:none}
.offline-map{display:none}.is-offline .map-card iframe{display:none}.is-offline .offline-map{display:grid;place-content:center;min-height:270px;padding:30px;text-align:center;color:var(--muted)}
@media(hover:none){.button:hover{background:var(--ink)}.button:hover .icon,.text-link:hover .icon{transform:none}}
.cord-note{display:none}
@media(max-width:700px){.hero{min-height:700px}[dir=rtl] .hero{min-height:730px}}

/* Reveal the complete yarn tip, including its transparent image margin. */
.hero-stage{overflow:hidden}
.hero{overflow:visible}
.cord{inset-inline-end:calc(-1 * max(var(--gutter), (100vw - 1600px) / 2 + var(--gutter)))}
.language{display:inline-flex;align-items:center;direction:ltr;flex:none;padding:0 0 0 20px;min-width:0;white-space:nowrap}
.language button{border:0;background:transparent;font:inherit;color:inherit;min-height:44px;padding:0 5px;font-weight:400}
.language button[aria-pressed=true]{font-weight:800}
.language span{margin:0 1px;font-size:12px}
[dir=rtl] .language{padding:0 20px 0 0}
@media(hover:hover){.language:hover{opacity:1}.language button:hover{text-decoration:underline;text-underline-offset:4px}}
@media(max-width:700px){.language{padding:0!important;font-size:12px}.nav.open .language{align-self:flex-start}}
@media(max-width:360px){.menu{min-width:32px}}

/* Keep the complete supplied illustration inside the hero. */
[dir=rtl] .cord{transform:none}
.cord{width:74%;max-width:1030px;top:320px;inset-inline-end:calc(24px - max(var(--gutter), (100vw - 1600px) / 2 + var(--gutter)))}
@media(min-width:701px) and (max-width:1000px){.cord{width:78%;top:390px}}
@media(max-width:700px){.hero{min-height:0;padding-bottom:28px}[dir=rtl] .hero{min-height:0;padding-bottom:28px}.cord{position:relative;display:block;width:100%;max-width:none;inset-inline-end:auto;margin-inline:0;margin-top:28px;top:auto;bottom:auto}[dir=rtl] .cord{top:auto;bottom:auto}}

/* Restrained interaction pass: feedback, state changes and one-shot entry motion. */
:root{--ease-in-out:cubic-bezier(.77,0,.175,1);--motion-reveal:480ms}
.brand .wordmark,.service summary strong,.case-points .icon,.menu,.language button,.install-app{transition:transform var(--motion-ui) var(--ease),opacity var(--motion-fast) ease}
.motion-ready [data-reveal]{opacity:0;transform:translateY(12px);transition:opacity var(--motion-reveal) var(--ease),transform var(--motion-reveal) var(--ease);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}
.motion-ready [data-reveal][data-visible]{opacity:1;transform:translateY(0);will-change:auto}
@media(hover:hover) and (pointer:fine){
 .button:hover,.install-app:hover{transform:translateY(-2px)}
 .button:active,.install-app:active{transform:translateY(0) scale(.98)}
 .brand:hover .wordmark{transform:translateY(-2px)}
 .service summary:hover strong{transform:translateX(5px)}
 [dir=rtl] .service summary:hover strong{transform:translateX(-5px)}
 .service:not([open]) summary:hover .plus,.faq:not([open]) summary:hover .plus{transform:rotate(90deg)}
 .case-points li:hover .icon{transform:translate(2px,-2px)}
 .menu:hover,.language button:hover{transform:translateY(-1px)}
 .menu:active,.language button:active{transform:scale(.96)}
}
@media(prefers-reduced-motion:no-preference){
 .page-ready .cord{animation:hero-art-arrive 560ms var(--ease) both}
 @keyframes hero-art-arrive{from{opacity:0;transform:translateY(10px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}
}
@media(prefers-reduced-motion:reduce){
 [data-reveal],[data-reveal][data-visible]{opacity:1!important;transform:none!important}
 .page-ready .cord{animation:none!important}
}

/* Mobile navigation keeps the language switch in place while the menu opens below it. */
.header-actions{display:flex;align-items:center;gap:34px;margin-inline-start:auto}
.footer-identity{display:flex;align-items:center;gap:16px;direction:ltr}
.footer-mark{display:block;width:58px;height:58px;border-radius:10px;flex:none}
.menu{position:relative;transition:transform var(--motion-fast) var(--ease)}
.menu-icon{position:relative;display:block;width:22px;height:18px}
.menu-icon span{position:absolute;left:1px;width:20px;height:2px;border-radius:999px;background:currentColor;transform-origin:center;transition:transform var(--motion-ui) var(--ease-in-out),opacity var(--motion-fast) ease}
.menu-icon span:nth-child(1){top:2px}
.menu-icon span:nth-child(2){top:8px}
.menu-icon span:nth-child(3){top:14px}
.menu[aria-expanded=true] .menu-icon span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu[aria-expanded=true] .menu-icon span:nth-child(2){opacity:0;transform:scaleX(.55)}
.menu[aria-expanded=true] .menu-icon span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.menu:active{transform:scale(.94)}
button,.brand,.button,.text-link,.nav a{-webkit-user-select:none;-webkit-touch-callout:none}
@media(max-width:700px){
 .header-actions{gap:8px}
 .nav,.nav.open{position:absolute;left:0;right:0;top:86px;background:var(--yellow);padding:20px var(--gutter) 24px;z-index:10;display:flex;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--ink)}
 .nav{visibility:hidden;opacity:0;transform:translateY(-10px);pointer-events:none;transition:opacity var(--motion-ui) var(--ease),transform var(--motion-ui) var(--ease),visibility 0s linear var(--motion-ui)}
 .nav.open{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto;transition:opacity var(--motion-ui) var(--ease),transform var(--motion-ui) var(--ease),visibility 0s}
 .nav>a,.nav.open>a{display:block;padding:11px 0;opacity:0;transform:translateY(-6px);transition:opacity 180ms var(--ease),transform 180ms var(--ease)}
 .nav.open>a{opacity:1;transform:translateY(0)}
 .nav.open>a:nth-child(1){transition-delay:30ms}
 .nav.open>a:nth-child(2){transition-delay:60ms}
 .nav.open>a:nth-child(3){transition-delay:90ms}
 .footer-identity{gap:12px}
 .footer-mark{width:52px;height:52px;border-radius:9px}
}
@media(pointer:coarse){
 .service summary:active,.faq summary:active{background:#24271f09}
 .button:active,.text-link:active{opacity:.84}
}
